Технический форум по робототехнике.
Romeo » 13 янв 2014, 02:26
Хотел сделать лазерный дальномер, но из-за сложности механики и настройки решил построить альтернативный вариант. Т.е. вместо лазера использовать сонар Maxbotix LV-MaxSonar-EZ0.
В качестве привода использовал шаговый униполярный двигатель от струйного принтера (не большой, а маленький, который с чернилами возится). Через редуктор понижаю обороты. Питание на вращающуюся платформу подаётся через гибкие пластины, которые ездят по диску. Через них же снимается аналоговый сигнал с сонара. В выходной шестерне редуктора с края просверлено отверстие. На шестерню установлена оптопара, которая ловит начало отсчёта.
Корпус редуктора и щёточный узел напечатаны на 3D-принтере. Управляется всё это Orduino Nano. Скетч уже дописан и изменяться не будет. Данные идут на комп, где и обрабатываются. Прога дописана процентов на 60. Осталось научить комп запоминать карту и устранить баги с приёмом данных.
Думаю и такой проект имеет право быть. Может что и получится.
- Вложения
-
Step1.rar
- Скетч ардуины
- (672 байт) Скачиваний: 0
-

-

loox » 13 янв 2014, 15:11
Romeo
При использовании MAXSonar, столкнулся с проблемой помех при отражении от поверхности ( например пола)
Скажи пожалуйста: какие объекты видишь, на каком расстоянии и прочее
Спасибо Loox
Romeo » 13 янв 2014, 16:15
c отражением от пола пока не сталкивался. сонар поднят над полом на высоту 20 см. Помехи буду фильтровать. По-поводу объектов и расстояния... ножку стула на 2 метра видит. И вообще, я показания загрубляю, смысл выводить места, куда робот заехать не сможет. И в процессе построения карты шумы сгладятся и уйдут.
loox » 14 янв 2014, 00:14
Romeo
Почему я задал Вам вопросы:
1. Судя по "картинкам" которые Вы представили, Вами не учитывается диаграмма излучения передатчика и Вы учитываете
только точку перпендикулярно оси MAXSonara
Вероятно, у меня не правильный сонар, или не достаточно знаний( что весьма более вероятно), то ножку стола( на расстоянии 2 м) вы должны видеть в пределах весьма большого угла поворота вашего сонара.
Прошу Вас, если не затруднит, каким образом вы фиксируете препятствие?
Спасибо Loox
Romeo » 14 янв 2014, 01:05
Правильно. Диаграмму излучения не учитываю. Показания от сонара никак не корректирую. Просто беру, что даёт.
А препятствие "проявляется" за несколько проходов радара. Если пошаманить с фильтрами и прочим, то можно хорошую картинку получить.
Поставил перед радаром фотоштатив (толщина 8 см). Прогнал радаром несколько раз. Отчёт на картинке.
Размер клетки - 5 см. Видно, что объект (обведён синим) сначала большой и довольно размазан.
Но потом, становится лучше. Понятно, что с размером радар врёт. Но для робота габаритами 20х20 см. этого вполне достаточно.
- Вложения
-

- Чем темнее клетка, тем вероятнее нахождение препятствия.
loox » 14 янв 2014, 20:42
Romeo
Что обозначает "пошаманить фильтрами"?
Спасибо Loox
Romeo » 15 янв 2014, 00:20

попробовать математическими методами убрать шумы, обработать конечную карту. Со SLAM можно ознакомиться, там похожие задачи.
Фильтр Калмана:
forum6/topic6189.html?hilit=%D0%BA%D0%B0%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0Я изначально и не расчитывал, что сонар даст мне хорошие результаты без последующей их обработки.
MEXAHuK » 15 янв 2014, 05:30
Калманом фильтровать входной сигнал, а для выделения объектов можно использовать двумерные линейные фильтры.
Расчетов там довольно много, но действия простые - сложение и умножение. Для нерекурсивных фильтров используется один движок, меняются только маски. А маски есть на любой вкус - выделение вертикальных/горизонтальных/диагональных линий, выделение малоразмерных деталей из шумов, и т.д.
Romeo » 15 янв 2014, 16:24
Спасибо. Как раз занялся формированием карты из одиночных сканов. Слышал про линейные фильтры, надо попробовать.
loox » 17 янв 2014, 11:58
Romeo
Извини
Я так и не понял как Вы фильтруете сигнал - какова идея.
Моя остойчивость вызвана тем, что я пытался делать подобную задачу, но кроме того, что робот смог обходить препятствия ( искать выход, прокладывать себе маршрут) ничего не вышло - карты я не построил.
У сонара большой угол "завсветки".
Поскольку я могу делать сонары, то сейчас пробую сделать сонар на подобии эхолота - измерять расстояния до всех объектов, попадающих в поле зрения сонара. Я полагаю что в таком случае вероятнее всего можно будет оценить картину окружающего пространства в конкретной точке.
Спасибо Loox
Romeo » 17 янв 2014, 16:37
Механик посоветовал фильтровать входной сигнал. Калмана я не освою, поэтому решил использовать линейную свёртку сигнала (прогоняю её с ядром 3 и одинаковыми коэффициентами 12 раз). Получая несколько кадров, накладываю их друг на друга. Пока что нахожу среднее арифметическое между картой и текущим кадром. Но результат мне не очень нравится. Думаю над другим методом.