Интересная нестандартная задачка (но необязательная для решения)

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем DrProg, 9 сен 2015.

  1. DrProg

    DrProg Вечный нерд

    Имеется некий робот ползающий по ровной поверхности. Задача - оснастить его обратной связью с этой самой поверхностью, чтобы он знал куда ползет не только по движениям колес, но и опираясь на внешние ориентиры.

    Вроде бы на эту тему есть разработки и решается проблема достаточно легко. Вот пример с грызуном PS/2. Опять же если робот ползает строго по осям, в случае разворота задача усложняется в несколько раз. В два раза только потому, что нужно как минимум две мыши, плюс математика по вычислению положения и расположения (угол поворота) из этих показателей. Голову поломать есть где, но теоретически решить можно

    Еще немного усугубим задачу. Стоять мышам надо на роботе с не очень ровной поверхностью. Например, робот ползает по торговому залу или по цеху. Прижать обычную мышь к полу в таком случае будет неразумно, то есть нужна мышь с удлиненным фокусным расстоянием, хотя бы на пару см, а больше - лучше. Может быть есть уже готовые сенсоры, а я их не нашел? А может быть доработать обычную мышь вставив ей очки потолще?
     
    ИгорьК нравится это.
  2. Onkel

    Onkel Гуру

    есть ик сенсоры (они называются ик сенсоры на 10, 20...80 см) и ультразвуковые сенсоры. Логика там простая - излучается ик (или уз) промодулированный на десятке - другом кГц, и синхронно с этим генератором ловит, почти как в радаре. Тупо излучать /ловить не прокатит - помехоустойчивость будет нулевая. Цена вопроса от 100 до 800 руб в Хэйхэ , имхо должны и в местном магазе быть. Я видел рублей по 200- 300 в инет-магазине, каком не помню, может и тут.
     
  3. DrProg

    DrProg Вечный нерд

    Вы наверное не так поняли задачу. Нужно не определять расстояние до поверхности, а видеть смещение поверхности по ее текстуре. Так как это делается в оптических мышках.
     
    ИгорьК нравится это.
  4. Megakoteyka

    Megakoteyka Оракул Модератор

    Можно еще использовать мышь с шариком или сделать на ее основе свой датчик.
     
  5. DrProg

    DrProg Вечный нерд

    По грязному полу не долго поездит.
     
    ИгорьК нравится это.
  6. geher

    geher Гуру

    RPi, вебкамера (можно две, но хватит одной) и OpenCV?
     
  7. Radius

    Radius Гик

    Какую точность перемещения вы хотите получить? Можно просто использовать счетчик оборотов на колесе и электронный компас для направления движения. Есть радиосистемы которые меряют расстояние между объектами. Четыре стационарных базовых станций по углам помещения и электронную метку на робот. Зная расстояние до углов всегда можно вычислить свое положение - на пересечении радиусов от угловых станций. В геодезии используют такой метод.
     
  8. DrProg

    DrProg Вечный нерд

    Люди хотят робота для мойки/пылесосания производственных, складских и торговых помещений, точность особая не нужна. Пока что предлагаю алгоритм движения змейкой или вообще хаотичный, но не уверен что это хорошо. В любом случае для движения с обратной связью нужно знать карту помещения кмк, что уже не универсально.
     
    ИгорьК нравится это.
  9. Radius

    Radius Гик

    Попробуйте сделать самообучаемого робота. Как только натыкается на препятствие, понимает что это граница помещения, запоминает координату, поворачивается на 90 градусов и до следующего препятствия. Через некоторое время готова карта помещения. Можно двигаться змейкой или меандром, постепенно обходя всю площадь помещения.
     
  10. DrProg

    DrProg Вечный нерд

    Для такого составления карты нужно очень точно понимать где находишься относительно начальной точки. А как это сделать?
     
    ИгорьК нравится это.
  11. Radius

    Radius Гик

    Возможно, что для вашей задачи проще двигаться меандром сначала вдоль, а затем поперек помещения и не нужно составлять никаких карт.
     
  12. DrProg

    DrProg Вечный нерд

    Возможно да, но как заставить реального робота ехать строго прямо не имея обратной связи?
     
    ИгорьК нравится это.
  13. Radius

    Radius Гик

  14. DrProg

    DrProg Вечный нерд

    Очень он нежен, врет при малейшем приближении к любому электронному устройству, которых в торговом зале полно.
     
    ИгорьК нравится это.
  15. geher

    geher Гуру

    Строго по прямой без обратной связи - не реально. Можно только довести погрешность до минимума и периодически корректировать по ориентирам.
    Основа движения по счислению может быть разной.
    1. Энкодеры, подсчет оборотов колес. Если поверхность или тележка недостаточно точно сделаны, то погрешность будет достаточно большой.
    2. Гироскоп. Позволит отслеживать повороты и компенсировать их, если надо.
    3. Акселерометр - позволит вычислять путь по изменению сил, действующих по разным осям.
    Но по истечении некоторого времени все равно придется вносить коррекции. Например, при возвращении к базе для дозаправки осуществлять жесткую стыковку, которая сформирует некоторое начальное положение с приемлемой точностью.
    Если помещение строго прямоугольное, коррекцию можно производить при столкновении со стенами (восстанавливать ориентацию относительно стен и точное значение одной из координат).
     
    Последнее редактирование: 12 сен 2015