roboforum.ru

Технический форум по робототехнике.

Сканирующий лазерный дальномер

Re: Сканирующий лазерный дальномер

Angel71 » 15 окт 2012, 21:38

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

Re: Сканирующий лазерный дальномер

citizen » 15 окт 2012, 22:06

Там энкодер - диск с прорезями от мыши! Его видно в самом центре на этой фотографии: http://fotki.yandex.ru/users/iliasam1/view/667036/
Дает 60 импульсов на оборот.
И как вы собираетесь пробрасывать провода через BLDC? Самая проблема - скользящий контакт, который, как оказалось, дает сильный дребезг.

Re: Сканирующий лазерный дальномер

Angel71 » 15 окт 2012, 22:30

а, точно, пропустил упоминание в этом сообщении. :pardon: а без него по фоткам нормально видна только оптопара с боку.
хз, почему у вас сильный дребезг, но при желании это поправимо. да и есть второй вариант "не хотите прокидывать, тогда круг с разметкой на неподвижное основание, а для оптопара вниз через дыдрочки во вращающейся платформе". хотя с поправкой на ветер о 60-ти импульсах это уже не имеет значения. 60 это приятно.

Re: Сканирующий лазерный дальномер

citizen » 21 окт 2012, 23:03

Начал изучать ROS, удалось переделать драйвер лазерного дальномера для neato под свой дальномер.
Получившийся результат:
111.png


Теперь надо думать, как реализовать локализацию робота на имеющейся карте комнаты.

Re: Сканирующий лазерный дальномер

wirusoal » 22 окт 2012, 06:00

citizen писал(а):Начал изучать ROS, удалось переделать драйвер лазерного дальномера для neato под свой дальномер.
Получившийся результат:
111.png


Теперь надо думать, как реализовать локализацию робота на имеющейся карте комнаты.


Что за OS используется?
То-есть сейчас вам надо на 3D пространстве показать расположение робота?да?я бы сделал по 4 сторонам робота замеряя расстояние слева,справа,спереди,сзади и благодаря этим данным можно было бы поставить и точку робота на в 3D пространстве.Хотя не знаю,может есть лучше варианты :)

Re: Сканирующий лазерный дальномер

RootAdmin » 22 окт 2012, 10:07

4 дальномера будут конечно работать. Только при известной ориентации платформы.

Re: Сканирующий лазерный дальномер

noonv » 22 окт 2012, 10:28

citizen писал(а):Начал изучать ROS, удалось переделать драйвер лазерного дальномера для neato под свой дальномер.
Получившийся результат:
111.png


Теперь надо думать, как реализовать локализацию робота на имеющейся карте комнаты.

супер! для локализации робота можно использовать готовые алгоритмы ROS-а, туртлбот, использует gmapping, но кроме лазерного дальномера, ему ещё требуется одометрия (энкодеры на колёса)
Build a map with SLAM

Re: Сканирующий лазерный дальномер

citizen » 22 окт 2012, 11:24

SLAM - это ведь еще и построение карты на ходу. А я могу и сам нарисовать карту комнаты. В ROS есть пакеты amcl и costmap_2d, еще толком не разобрался, но им вроде одометрия не обязательна.
В любом случае, я планировал устанавливать дальномер на Roomba, а они ROS поддерживаются и одометрия в них есть.

Re: Сканирующий лазерный дальномер

noonv » 22 окт 2012, 17:10

citizen писал(а):В любом случае, я планировал устанавливать дальномер на Roomba, а они ROS поддерживаются и одометрия в них есть.

именно :)

Re: Сканирующий лазерный дальномер

Кирилл Дмитриенко » 27 окт 2012, 23:42

Отличный проект! :good:

Re: Сканирующий лазерный дальномер

citizen » 05 ноя 2012, 17:58

Что-то не удается использовать готовые пакеты ROS для локализации. То-ли одометрия с Roomba 400 слишком неточная, то ли низкая частота вращения дальномера и ошибки определения расстояния мешают.
gmapping - карта совсем кривая получается, hector_slam - получше, но через некоторое время тоже карта начинает рассыпаться, amcl - как будто вообще не может сопоставить данные с дальномера и готовую карту.
Пробовал CGR_localization - там векторная карта используется, но тоже не пошло, но там совсем документации мало.
Остается еще Flirtlib - должно работать без одометрии, но там совсем нет документации.
Похоже, придется придумывать свою собственную реализацию. Думаю, начать надо с векторизации данных дальномера.

Re: Сканирующий лазерный дальномер

Angel71 » 05 ноя 2012, 19:16

а в исходниках эти пакеты есть?

Re: Сканирующий лазерный дальномер

citizen » 05 ноя 2012, 19:33

Там все из исходников собирается.

Re: Сканирующий лазерный дальномер

sub_null » 06 ноя 2012, 22:26

Попробуйте поискать другие алгоритмы здесь http://openslam.org. Еще, как вариант, можно написать собственную простую программу локализации, что бы разобраться в сути проблемы. Базовых операций в СЛАМ не так много, вот описание с примером на javascript: http://rogerstuckey.com/simulation/javascript/slam-html5/

Re: Сканирующий лазерный дальномер

citizen » 06 ноя 2012, 23:34

За ссылки спасибо, кое-что показалось интересным, правда на http://openslam.org вроде только SLAM и рассматривают, причем везде используют MATLAB, с которым я совершенно не знаком. Также обычно используют качественные дальномеры.
В моем случае требуется именно определение положения робота на карте, причем желательно без начального указания положения.


Rambler\'s Top100 Mail.ru counter