Как стать автором
Обновить

Комментарии 24

Отлично.
Спасибо.
Вот и начали появляться адекватные статьи по ROS на русском языке.
Хотелось бы поинтересоваться, а на каком микроконтроллере реализовано считывание данных и передача в Ubuntu с сонаров?
А также, 3 сонара дают более точную картину, чем один, закрепленный на сервоприводе (так называемый, «лазерный дальномер для бездных»)?
Спасибо за интерес к проекту.

Сонары так же подключены к Arduino Uno. На сонаре располагаются два цифровых пина: Trig — для испускания сигнала, Echo — для приема эха. Небольшой хак позволил считывать данные сонара с использованием только 1 порта Arduino, таким образом экономим порты). Для этого порт сначала переключается на вывод OUTPUT для испускания сигнала, а потом переключается на ввод INPUT для ожидания приема эха.

Касательно сравнения 3 сонаров против одного «лазерного дальномера для бедных», сравнительных тестов не делали, т.к. решили сразу использовать несколько дальномеров. Однако, давайте порассуждаем:
— у каждого сонара есть сектор охвата 30 градусов, если расположить их таким образом чтобы их зоны действия перекрывались — увеличим точность одназначно, хотя потеряем в общем охвате где-то градусов 15(если вести речь о 3 сонарах и перекрытием в 5 градусов);
— 3 сонара дадут нам информацию о перманентном состоянии окружающей среды в зонах охвата, чего не сделает один (особенно это актуально при быстром перемещении).
— также необходимо учитывать геометрию расположения сонаров, т.к. существеут проблема при отражении сигнала от круглых и находящихся под углом предметов. При одном сонаре на серве мы будем принимать сигнал в одну единственную точку, а при трех соответственно в 3 разные.
image
— и конечно же экономическая составляющая по грубым подсчетам серва стоит порядка 300р, сонар 100 — 150р. И того «лазерного дальномера для бедных» = 1 серва + 1 сонар = 3 сонара.
Я правильно понял, что при круглых препятствиях вы считываете на 3 сонарах сигнал?
То есть перманентно вы испускаете импульс только одного сонара, а считываете на 3-х?
Нет. Имелось ввиду что мы будем иметь 3 независимые точки получения сигнала находящихся в разных местах.
В данный момент сонары используются для идентификации объектов(есть объект перед роботом — объезжаем, нет объекта — едем дальше), а не определения формы препятствия(про построение карты и форм объектов будет в следующей статье). Реализован алгоритм который последовательно запускает и опрашивает сонары, т.е. первый сонар испустил сигнал, принял отраженный сигнал, выдал результат, второй сонар и т.д.
Идея испускания сигнала одним, а прием всеми — очень интересная и над этим мы подумаем. Спасибо за мысль.
Серва «фонит» и искажает данные с сонара. Это тоже надо учитывать.
На первое фото изображен ваш робот? Если так, то почему вы не использовали Kinect для одометрии? В ROS есть неплохая имплементация RGBD слэма…
Мы уже используем Kinect, визуальную одометрию и SLAM. Этому будет посвящена следующая статьи, о чем сказано в конце этой (вы, наверно, не дочитали еще до туда).
Да, пардон не дочитал до туда когда писал коммент…
А еще ваш TOD до боли напоминает Turtle Bot от тех-же Willow Garage…
Да, это потому что при создании прототипа мы взяли конструкцию Turtle Bot за основу. :)
Спасибо за замечательную статью!

Исправьте, пожалуйста, небольшую неточность: колеса у автомобиля и у велосипеда — неголономные.

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

В таком случае верхний ярус платформы будет перекрывать обзор Kinect'a.
Не будет, у кинекта слепая зона около 50 см.
А на каком оборудовании располагается ROS и как соединяется с ардуино?
На данный момент используем ноутбук: Core 2 Duo 1.8 GHz, 2 Gb RAM. Для текущих испытаний его более чем достаточно, но необходимо учитывать и тот факт что с течением времени функционал будет расти, что скажется на потребляемых мощностях. И конечно же мы еще не производили оптимизации самого дистрибутива Ubuntu. В общем, выводы по железу можно будет сделать по окончательной реализации основных функциональных блоков и проведения нагрузочного тестирования.
Касательно соединения ардуино c ROS, есть два пакета rosserial и ros_arduino_bridge. Мы используем ros_arduino_bridge.
Правильно лия понимаю, что ноут располагается на шасси робота и кабелем соединен с ардуино?
Если об этом — ДА! Наша цель сделать робота максимально независимым и автономным. Соответственно все должно быть при нем)
А вы не думали использовать вместо Kinect устройство Leap Motion?
Сомневаюсь что данный девайс подойдет. Не удалось найти информации по поводу рабочей дистанции, думаю он ограничен 1,5м. Если мои рассуждения ошибочны — жду поправок.
Но за мысль спасибо!
Возможно вы найдете ответы на свои вопросы, а может и новые дельные советы, ознакомившись с нашей следующей статьей — Что роботу стоит карту построить?
Спасибо. Я прочитал ваш следующий пост, очень интересно. Подскажите для примера, какой лазерный дальномер рекомендуется использовать вместе с ros?
Я думаю в данном вопросе следует отталкиваться от суммы которую Вы готовы потратить на лазерный дальномер. Профессиональный дальномер начального уровня такой как Hokuyo URG-04LX-UG01, начинается от 1000$. Бюджетная альтернатива, с наилучшим соотношением цена качество, которая имеется на сегодняшний день — это Kinect.
В данный момент на ebay уже можно купить 2D-лидар до 100$, например от пылесоса Neato XV-11 www.ebay.com/itm/331137478720
Драйвер под ROS для него имеется. Тут подробнее robocraft.ru/blog/robots/725.html
Также он компактнее Kinect однозначно будет и по идее точность выше.
Но это все догадки и хотелось бы услышать мнения по этому поводу…
Да. Лидар от пылесоса Neato вещица интересная и наш взор периодически падал на него, но на тот момент на ebay были доступны только б\у модели в единичных экземплярах. Исходя из того материала который есть в сети, он очень хорош, но собственного опыта касательно этого продукта, к сожалению, не имеем. В связи с этим мы уже сделали заказ, около недели назад, для тестов и в скором будущем сделаем небольшой обзор.
Спасибо большое за хорошую статью! Это первая статья из мною прочтенных, которая описывает возможности ROS на русском языке понятным образом.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий