Как моему роботу ориентироваться в пространстве, кроме дальномеров?

Тема в разделе "Проводная и беспроводная связь", создана пользователем SerhioRamos, 12 май 2015.

  1. SerhioRamos

    SerhioRamos Нуб

    Необходимо решить задачу с ориентацией моего робота в пространстве, относительно базы, на которую робот должен будет возвращаться на подзарядку, нужно чтобы робот знал конкретное направление.
     
  2. ANV

    ANV Гуру

    Зависит от того, сколько у Вас есть энтузиазма и денег.
    Варианты:
    1. Лидар http://www.seeedstudio.com/depot/RP...-Scanner-Development-Kit-p-1823.html?cPath=14
    2. indoor rf навигация https://www.terraelectronica.ru/news_utr.php?ID=80
    3. RFID метки под полом
    4. Линия на полу и следование по ней
    5. Камера под потолком отслеживающая перемещение.
    6. Лазерная указка и катафоты на стенах.

    Я бы делал систему двухступенчатой: грубое приближение к базе, а потом точное наведение по линии на полу.
     
  3. geher

    geher Гуру

    7. Радио или световой маяк(и) (можно выделить на общем фоне специфическими частотами в спектре).
    Еще в древние годы, когда компьютеры были настолько большими, что в игрушечную машинку их никак было не установить, а мощность их была как у одной микросхемы МК в ардуинке, были проекты роботов, подъезжающих к "электрокормушке" по световому маяку. Реализация была исключительно аналоговой и неприлично простой, насколько я помню, в основу была положена модель мотылька, летящего на лампу (возбуждение "глаза" с одной стороны вызывало повышенную активность "крыла" на другой стороне).
    8. Комбинированная система, когда вращающийся лазер (хотя бы лазерная указка) попадает на датчик "кормушки" и/или промежуточных навигационных пунктов, те посылают роботу по какой-нибудь радиотехнологии (WIFI, NRF24, ZigBee, неважно) свой пакет-метку. Соответственно фиксируется азимут, а по содержимому пакета определяется, что за объект с известными координатами в том направлении. Для точного определения координат будет достаточно, если в зоне видимости робота будет хотя бы два навигационных пункта. Для успешного движения к цели достаточно видеть большую часть времени только один навигационный пункт, и иногда видеть другие, что позволит проложить какой-нибудь маршрут к "кормушке"
    9. Движение "по счислению", используется в реальной жизни (был практически единственным методом в авиации и мореплавании до изобретения GPS). Только в непосредственной близости от крупных объектов осуществляется коррекция по маякам (включая просто заметные объекты). При этом просто оценивается, сколько оборотов намотали колеса робота, в результате прогнозируется его положение относительно известного начального пункта. Данные можно слегка корректировать путем анализа показаний акселерометра, гироскопа и компаса.
    Слабое место счисления - робота можно "одурачить", перенеся с места на места и не введя новые координаты.
     
  4. iglooshtosser

    iglooshtosser Гик

    По поводу пункта 7. В детстве читал интереснейшую книгу "Юный кибернетик", Детская литература, 1978. Там описавылся робот, работающий на этом принципе. Книжка, кстати, прикольная.
     
  5. SerhioRamos

    SerhioRamos Нуб

    Варианты:
    3. RFID метки под полом
    4. Линия на полу и следование по ней
    5. Камера под потолком отслеживающая перемещение.
    6. Лазерная указка и катафоты на стенах.

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

    Vad33 Капитан-оригинал

    А чем не нравится маячок на инфракрасных светодиодах, который постоянно подает сигнал
    определенной частоты во все стороны?
    Робот ловит инфракрасный сигнал, сверяет частоту и едет в нужном направлении.
     
  7. Grey

    Grey Нуб

    Я бы всё это сделал программно. При движении запоминал бы скорость и углы поворота. Ну, а там обработать полученные данные и найти путь до базы. Либо если робот будет в одном помещении вообще сделал бы карту помещения.
     
  8. Vad33

    Vad33 Капитан-оригинал

    Не сработает. Погрешности у датчиков довольно значительные при сложной траектории..
    И что, после получаса езды, нужно будет еще полчаса ездить обратно? :D
    Определить кратчайшую траекторию возврата на большом кмпьютере
    не простая задача, а уж на МК и подавно
     
  9. Grey

    Grey Нуб

    Зачем ездить по то же траектории обратно? Это не правильно. Просто при каждом повороте нужно вычислять точку базы. Просто надо знать угол поворота и пройденное расстояние. А дальше элементарная геометрия - наука о движении в пространстве ))).
     
  10. Grey

    Grey Нуб

    Как вариант использовать компас http://amperka.ru/product/triple-axis-compass и вычислять расстояние. Тогда отпадает необходимость вычислять углы. И работать будет точнее.
     
  11. Vad33

    Vad33 Капитан-оригинал

    Это все теоретические рассуждения для идеальных условий.
    Без привязки к местным ориентирам все это будет неточно. Иначе не мучились
    бы с запуском GPS и Глонасс.
    Не, ну если есть желание изобретать собственный велосипед, почему бы и нет?
    Заодно и в тригонометрии можно под натаскаться. :)
     
  12. SerhioRamos

    SerhioRamos Нуб

    Так и не решен вопрос, однозначно есть какой-то простой способ, чтоб не покупать сложнейшие и дорогостоящие модули, неужели никто не решал вопрос с ориентацией в пространстве двух точек относительно друг друга с возможным изменением местоположения?
     
  13. vvr

    vvr Инженерище

    в том то и дело, что простого способа вероятно нет:)
     
  14. Vad33

    Vad33 Капитан-оригинал


    Был бы простой способ, не было бы ни GPS, ни штурманов.
     
    Последнее редактирование: 21 июн 2015
  15. geher

    geher Гуру

    Простой способ - это упрощенное счисление (по оборотам колеса или времени движения с учетом поворотов). Но оно очень не точное (а скорее даже совсем не точное), особенно для авиа и водной техники. Ну и для сухопутных моделей без энкодера точность тоже хромать будет очень сильно.

    В старые времена, когда GPS еще не было, самолеты и корабли по счислению ходили.
    Так там простое счисление гарантировало эффективную возможность заблудиться, приходилось дополнительно учитывать ветер, течения, волнение и прочие факторы, влияющие на снос с курса и скорость передвижения.
     
  16. SerhioRamos

    SerhioRamos Нуб

    Так, а как роботы пылесосы встают на зарядку? они явно не снабжены gps модулем, да иего погрешность не дала бы ему вставать на базу самостоятельно...
     
  17. geher

    geher Гуру

    Не скажу за все, но по крайней мере некоторые пользуются инфракрасным маяком зарядного устройства, который передает определенный код. Сначала пылесос начинает случайно шариться по территории, пытаясь попасть в угол излучения маяка, а потом уже идет прямо на маяк. А когда он упирается в маяк, он чисто механически оказывается на контактах ЗУ
     
  18. Tomasina

    Tomasina Сушитель лампочек Модератор

    Не сработает, неважно тем же путем возвращаться, или кратчайшим. Нужна дополнительная корректировка.
    Как пример - у меня робопылесос запоминает маршрут по пройденной траектории. Но иногда попадается более скользкий участок пола, где одно из колес чуть проскальзывает - траектория незначительно изменяется, причем это программно не отследить ни датчиком оборотов колеса (оба сделали одинаковое число оборотов, но одно проскользило 0,5 сек), ни акселерометром (много других более сильных толчков и вибраций), ни камерой (очень малый угол отклонения от исходного). В результате на каждые 5 м ширины комнаты погрешность все усиливается.
    Зарядку (мой по крайней мере) ищет очень просто - останавливается и медленно вращается. Если луч от базы не пойман, отъезжает на другое место (в теории в точку, которая была в десятке секунд после первичного старта от базы, но из-за погрешности иногда промахивается). Если луч пойман, то едет по лучу и периодически подруливает (по-видимому, в пылесосе 4 или 6 ИК-приемников, т.е. надо повернуться так, чтобы луч был между центральными). Когда уже у самой базы, то снизу наезжает на контакты и мееедленно забирается и "усаживается".
     
  19. SerhioRamos

    SerhioRamos Нуб

    вот, вот это вариант и решение проблемы, что сразу то никто не сказал?) буду пробовать...
     
  20. Vad33

    Vad33 Капитан-оригинал

    Это все говорили, но вы не читаете. Например в 6 сообщении написано следующее: