Поворот робота

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем tyz, 4 июн 2014.

  1. tyz

    tyz Нерд

    Всем привет,

    Столкнулся с такой задачей:
    Необходимо повернуть робота в направлении определенного объекта (например другой робот). Но важно, чтобы поворот был сделан по минимальной траектории. Насколько я понимаю задача сводится к определению в какую сторону начинать поворот, но не могу понять какими датчиками можно получить необходимую для этого информацию.

    Возможно ли решение этой задачи или стоит отказаться от затеи?

    Спасибо
     
  2. danik130

    danik130 Нуб

    Чтобы робот из ардуино ходил по кругу посмотрите видео:

     
  3. NR55RU

    NR55RU Гик

    В данном случае если я вас правильно понял, то очень важный фактор будет то в каком окружении находится робот и на каком расстоянии он должен определять другого робота.

    Если к примеру на чистой площадке только 2 работа и на сравнительно не большом расстоянии, то найти второго робота можно фактически покрутив на 360 градусов датчиком препятствия.
    Но тут есть и проблемы, все что угодно может быть воспринято роботом как другой робот, так что датчик не идентифицирует робота а лишь некое препятствие, если вам надо идентифицировать робота среди препятствий то тут уже все становится намнооооооого сложнееееее. :)

    А определить в какую сторону повернуть робота проще некуда, если другой робот обнаружен в диапазон 1-180 градусов (правая полусфера) - поворачиваться вправо, 181 -359 градусов (левая полусфера) - поворачиваться влево.
    0/360 - ехать прямо :)
    Причем значения около 180 градусов могут быть обработаны иначе, например просто ехать задом ну если такой вариант приемлем :)

    В то же время поворота датчик препятствия будет постоянно корректировать информацию о расположение другого робота, таким образом поворот может быть окончен когда работ окажется в районе 360/0 градусов.
    Даже если другой робот будет шустрым и обкатит быстро сзади и окажется уже в другой полусфере, алгоритм тут же сменит вправление поворота на противоположно, то есть на кратчайшие.

    В идеале датчик препятствия найдя другого робота может вовсе постоянно "смотреть" на него .. и в случае "потери" из вида проводить либо "покачивание влево-вправо" на десяток другой градусов чтобы найти сместившегося противника либо делать стандартный поисковый обход на 360 градусов.

    Таким образом во время поворота, работ должен постоянно проверять в каком направлении находится другой робот и при выходе другого робота в противоположную полусферу - изменить направление поворота. :)

    Хотя в место датчика препятствия наверное лучше использовать например инфракрасный дальномер, он и робота "увидит" и расстояние до него определить сможет :)
    А еще при использовании дальномера можно сделать доп фитчу, искать только движущиеся препятствия, то есть робот будет "бегать" только за тем что шевелится :)

    В общем все зависит от того что, где и ка вы желаете вообще сделать :)
     
    tyz нравится это.
  4. tyz

    tyz Нерд

    Спасибо за развернутый ответ. Проблема как раз состоит в том чтобы идентифицировать робота среди препятствий на расстоянии в несколько метров, при этом достаточно быстро, чтобы не получилось что поворачивать в произвольную сторону быстрее :)

    Как я себе это вижу: Робот2 посылает некий широковещательный сигнал, а робот1 принимает его определяет приблизительно направление откуда пришел сигнал и разворачивается. Возможно ли это реализовать при помощи УЗ-дальномера или ИК-дальномера? Т.е. использовать его не как дальномер а именно как приемник внешнего сигнала? Или тут требуется нечто принципиально другое?
     
  5. vvr

    vvr Инженерище

    На одном роботе постоянно горят ик диоды - второй их ловит
     
  6. tyz

    tyz Нерд

    ИК-диоды были первой идеей, но мне кажется на расстоянии несколько метров они будут незаметны для второго робота. Или я ошибаюсь?
     
  7. Megakoteyka

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

    Телевизор же как-то ловит ИК-сигналы от пульта на расстоянии нескольких метров.
     
  8. tyz

    tyz Нерд

    Логично, что-то я не сообразил сразу :) Буду пробовать этот путь решения. Я так понимаю единственной помехой будут углы обзора приемника в данном случае.

    Всем спасибо за помощь
     
  9. Megakoteyka

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

    С углами можно попробовать бороться, насадив на приемник трубку нужной длины.