roboforum.ru

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

Платформа для отработки алгортмов будующего пылесоса

Платформа для отработки алгортмов будующего пылесоса

julbu » 07 янв 2009, 23:07

Ну вот господа, сделал свою первую тележку :) Основная задача - отработка алгоритмов движения в замкнутом пространстве, для будущего пылесоса (жена просит). Код пока премитивный, набросал на скорую руку для проверки работоспособности. Обвес незатейливый: контроллер PIC16F876А с бутлоадером, драйвер двигателей L293D, драйвер шаговика ULN2003 и расширитель портов CD4028, датчик расстояния SHARP, есть радиоприемник 433мГц (чтобы была возможность самому порулить :) ). Есть пару энкодеров - светодиод и фототранзистор - установлены на просвет гусениц, и пока не используются. Управление двигателями - ШИМ. Вот пока ломаю голову, как сделать алгоритм обхода территории....пока остановился на двухмерном масиве, на манер карты, значениями ячеек массива - весовые значения, что-то вроде 0 - нет препятствий, 1 - препятствие со строны условно ЮГ, 2 - препятствие со строны ВОСТОК, 4 - препятствие по сторонам ЮГ-ВОСТОК, ну и т.д.
Видео тут: http://video.mail.ru/mail/julbu/1/4.html

Re: Платформа для отработки алгортмов будующего пылесоса

galex1981 » 07 янв 2009, 23:13

Сейчас дистанционное у него или автономное управление? Спереди что у него вращается из стороны в сторону? Как собираешься инициализировать массив направлений?

Re: Платформа для отработки алгортмов будующего пылесоса

julbu » 07 янв 2009, 23:19

На видео автономное управление. Вращается датчик расстояния Sharp (GP2D120XJ00). По массиву: думаю брать одну ячейку условно равную размерам необходимым для полного разворота бота, изначально робот условно в центре масива, памяти думаю хватит, у меня комната небольшая :D

Re: Платформа для отработки алгортмов будующего пылесоса

RoboTok » 07 янв 2009, 23:20

julbu
Сзади и спереди можно сонары поставить и если сонар засёк объект ближе 60см, запускать датчик ИК и крутить им.
А задним сонаром следить за возможным откатом назад для объезда препятствия.

И вообще классно вышло, ждём от вас рассказа :good:

Re: Платформа для отработки алгортмов будующего пылесоса

galex1981 » 07 янв 2009, 23:24

Да здоровская тележка :good: , очень хотелось бы схему посмотреть....

Re: Платформа для отработки алгортмов будующего пылесоса

RoboTok » 07 янв 2009, 23:25

julbu
ИМХО, бот должен знать начало отсчёта и от него строить карту.
По началу устранять ошибки координат и т.д.

Добавлено спустя 1 минуту 3 секунды:
galex1981 писал(а):....

Лучше программку ;)

Re: Платформа для отработки алгортмов будующего пылесоса

julbu » 07 янв 2009, 23:33

Схемы нет как таковой, да там ничего интересного и нет...типовые решения.
По алгоритму управления сейчас все примитивно:
1. Едем прямо на максимальной скорости.
2. Если появилось препятствие спереди на расстоянии ближе 15 см, переключаем шим на управление от расстояния (притормаживаем). Если ближе 7 см, останавливаем двигатели и вертим "башкой".
3. Сравниваем расстояни замеренные дальномером слева и справа, где большее расстояние, туда и поворачиваем на 90 гр.
4. Если расстояние слева и справа меньше 5 см, отьезжаем на корпус назад и поворачиваем по пункту 3.

Re: Платформа для отработки алгортмов будующего пылесоса

RoboTok » 08 янв 2009, 00:39

А почему PIC ?

Добавлено спустя 2 минуты 6 секунд:
А нельзя ли датчиком крутить заранее ?
Или вообще во время езды...
И почему так медленно крутится серва ?

Re: Платформа для отработки алгортмов будующего пылесоса

julbu » 08 янв 2009, 01:10

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

Re: Платформа для отработки алгортмов будующего пылесоса

Сергей » 08 янв 2009, 01:48

Мне у пиков не нравилась стандартная среда разработки, просто кусок.. А так прикольные камешки, шустрые. А щас можно вообще юзать PIC32. Так что зря вы так с PIC.

Re: Платформа для отработки алгортмов будующего пылесоса

ALHIMIK » 08 янв 2009, 10:14

А из чего ходовая часть ?

Re: Платформа для отработки алгортмов будующего пылесоса

Denis_Wozniak » 08 янв 2009, 15:05

Тележка - супер, на такой платформе можно классную вещь сделать.

Я тоже как-то думал о таком роботе, но всё закончилось на одних, но очень не плохих раздумьях...


Вот собственно алгоритм:
-робот едет, пока не уткнется в стену
-робот обьезжает по краю всю комнату, записывая контур в массив... (на гусеницы нужно будет установить датчик, считывающьий пройденное расстояние)
-если робот вернулся в исходную точку - закончить ехать по контуру
-теперь псевдо рекурсивной функцией объезжает всю комнату, записывая в массив то, что он уже прошёл
-если на пути препятствие - ... надоело писать там сами разберётесь

*псевдо рекурсивная функция - вы представляете алгоритм заливки какого либо пространства? если да то это не вызовет у вас труда...

Даа... Понаписал...

Удачи!..

Re: Платформа для отработки алгортмов будующего пылесоса

julbu » 08 янв 2009, 15:49

Спасибо, отличное решение. Так наверное и поступлю. Обход препятствий по часовой стрелке, только лучше будет тогда сделать векторное управление, т.к. на гусеницах уже стоят фотодатчики-энкодеры.
P.S. Ходовая: редукторы из чип-дипа, колеса и траки от какого-то китайского конструктора, остальное алюминиевые уголки, латунь, фторопласт и немного токарно-фрезерных работ.

Re: Платформа для отработки алгортмов будующего пылесоса

Master » 08 янв 2009, 16:07

Главное во время работы пылесоса дверь в комнату закрыть.

Re: Платформа для отработки алгортмов будующего пылесоса

Denis_Wozniak » 08 янв 2009, 23:08

Да, дверь точно нужно будет закрывать... Очень интересно что из этого получится... Буду ждать.

Я тут ещё крутой алгоритм придумал - тупой Randomize, и проверка врезался или нет. :D

А можно поточнее редукторы и сонар (и цену желательно), энкодеры - самодельные? радиоприёмник откуда?


Rambler\'s Top100 Mail.ru counter