Pull to refresh

Comments 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 на русском языке понятным образом.
Sign up to leave a comment.