Технический форум по робототехнике.
Angel71 » 15 окт 2012, 21:38
как раз именно через эти моторы пробрасывать контакты не очень сложно. кто куда расходится? на диод трубку или по трубке.
от мыши? тем, что только один импульс за круг. насколько это плохо или хорошо зависит только от вашего кода. имхо удобней, когда импульсов слегка побольше, чем 1.
citizen » 15 окт 2012, 22:06
Там энкодер - диск с прорезями от мыши! Его видно в самом центре на этой фотографии:
http://fotki.yandex.ru/users/iliasam1/view/667036/Дает 60 импульсов на оборот.
И как вы собираетесь пробрасывать провода через BLDC? Самая проблема - скользящий контакт, который, как оказалось, дает сильный дребезг.
Angel71 » 15 окт 2012, 22:30
а, точно, пропустил упоминание в
этом сообщении.
а без него по фоткам нормально видна только оптопара с боку.
хз, почему у вас сильный дребезг, но при желании это поправимо. да и есть второй вариант "не хотите прокидывать, тогда круг с разметкой на неподвижное основание, а для оптопара вниз через дыдрочки во вращающейся платформе". хотя с поправкой на ветер о 60-ти импульсах это уже не имеет значения. 60 это приятно.
citizen » 21 окт 2012, 23:03
Начал изучать ROS, удалось переделать драйвер лазерного дальномера для neato под свой дальномер.
Получившийся результат:
Теперь надо думать, как реализовать локализацию робота на имеющейся карте комнаты.
wirusoal » 22 окт 2012, 06:00
citizen писал(а):Начал изучать ROS, удалось переделать драйвер лазерного дальномера для neato под свой дальномер.
Получившийся результат:
111.png
Теперь надо думать, как реализовать локализацию робота на имеющейся карте комнаты.
Что за OS используется?
То-есть сейчас вам надо на 3D пространстве показать расположение робота?да?я бы сделал по 4 сторонам робота замеряя расстояние слева,справа,спереди,сзади и благодаря этим данным можно было бы поставить и точку робота на в 3D пространстве.Хотя не знаю,может есть лучше варианты
RootAdmin » 22 окт 2012, 10:07
4 дальномера будут конечно работать. Только при известной ориентации платформы.
noonv » 22 окт 2012, 10:28
citizen писал(а):Начал изучать ROS, удалось переделать драйвер лазерного дальномера для neato под свой дальномер.
Получившийся результат:
111.png
Теперь надо думать, как реализовать локализацию робота на имеющейся карте комнаты.
супер! для локализации робота можно использовать готовые алгоритмы ROS-а, туртлбот, использует
gmapping, но кроме лазерного дальномера, ему ещё требуется одометрия (энкодеры на колёса)
Build a map with SLAM
citizen » 22 окт 2012, 11:24
SLAM - это ведь еще и построение карты на ходу. А я могу и сам нарисовать карту комнаты. В ROS есть пакеты amcl и costmap_2d, еще толком не разобрался, но им вроде одометрия не обязательна.
В любом случае, я планировал устанавливать дальномер на Roomba, а они ROS поддерживаются и одометрия в них есть.
noonv » 22 окт 2012, 17:10
citizen писал(а):В любом случае, я планировал устанавливать дальномер на Roomba, а они ROS поддерживаются и одометрия в них есть.
именно
Кирилл Дмитриенко » 27 окт 2012, 23:42
Отличный проект!
citizen » 05 ноя 2012, 17:58
Что-то не удается использовать готовые пакеты ROS для локализации. То-ли одометрия с Roomba 400 слишком неточная, то ли низкая частота вращения дальномера и ошибки определения расстояния мешают.
gmapping - карта совсем кривая получается, hector_slam - получше, но через некоторое время тоже карта начинает рассыпаться, amcl - как будто вообще не может сопоставить данные с дальномера и готовую карту.
Пробовал CGR_localization - там векторная карта используется, но тоже не пошло, но там совсем документации мало.
Остается еще Flirtlib - должно работать без одометрии, но там совсем нет документации.
Похоже, придется придумывать свою собственную реализацию. Думаю, начать надо с векторизации данных дальномера.
Angel71 » 05 ноя 2012, 19:16
а в исходниках эти пакеты есть?
citizen » 05 ноя 2012, 19:33
Там все из исходников собирается.
sub_null » 06 ноя 2012, 22:26
Попробуйте поискать другие алгоритмы здесь
http://openslam.org. Еще, как вариант, можно написать собственную простую программу локализации, что бы разобраться в сути проблемы. Базовых операций в СЛАМ не так много, вот описание с примером на javascript:
http://rogerstuckey.com/simulation/javascript/slam-html5/
citizen » 06 ноя 2012, 23:34
За ссылки спасибо, кое-что показалось интересным, правда на
http://openslam.org вроде только SLAM и рассматривают, причем везде используют MATLAB, с которым я совершенно не знаком. Также обычно используют качественные дальномеры.
В моем случае требуется именно определение положения робота на карте, причем желательно без начального указания положения.