roboforum.ru

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

Алгоритм - обход пылесосом территории

Автомат, адаптивный автомат ... разум

Re: Алгоритм - обход пылесосом территории

Сообщение EdGull » 03 апр 2008, 12:02

Посмотрим, но зато мне сейчас понятно в каком направлении мне двигаться.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Алгоритм - обход пылесосом территории

Сообщение magdanoz » 01 июн 2008, 00:36

Всем привет!
Попал в руки iRobot-пылесос. Разобрал, чтобы выучить его конструкцию. Очень прост - 2 датчика, следящие за лестницой. Датчик на колесиках - если робот перевернулся или поднят, он выключаеться. Какой-то сонар, следящий за припядствиями впереди (некруто работает). Контактный датчик для столкновения. Алгоритм - случайного прохождения комнаты (был дешевый вариант...При более дорогих вариантах - есть карта помещения).

А сейчас по теме: Решен ли алгоритм движения робота? Случайным ли будет, или в памети будет установлена карта? Или другой метод? Не все ясно еще. У меня сейчас самaя "живая" проблемма - устройство пылесоса и как его сделать в домашних условиях. :)
Пока все...
До встречи! :)
if (AVR>PIC) {
ILoveAVR = true;
} else {
ILovePIC = false;
}
Аватара пользователя
magdanoz
 
Сообщения: 35
Зарегистрирован: 16 ноя 2006, 17:54
Откуда: г.София, Р. Болгария
прог. языки: Atmel C, C++, Pascal, Arduino, PHP, MySQL и др.
ФИО: Марчовски Борислав

Re: Алгоритм - обход пылесосом территории

Сообщение EdGull » 01 июн 2008, 19:00

я буду делать на локациях ИК-маяков, без карты как таковой.
Утюжить буду ковровым бомбометанием....
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Алгоритм - обход пылесосом территории

Сообщение loid » 17 июн 2008, 14:39

EdGul, что значит "утюжить" - поясни.
У моего робота будет ориентация в пространстве на датчиках припятствия и энкодерах. ВЕрнее энкодеры и БАЗА, на которой будет запраывляться и заряжаться робот. Планирую сделать чтобы он не зависел от помещения, так сказать готов к уборке сразу же в любом новом помещении. Проблемка на данном этапе как запоминать куда ехал, где был, т.е. думаю нужно создавать файл и сохранять в него ранные в "путешествии" робота. ДУмаю не обойдётся без подключения карты памяти, чего пока не делал. ТАк же нужно обжумать формат карты местности (в файле) каким алгоритмом (или как ещё назвать) заносить информацию. Возможно это будут координаты векторов иил двумерный массив. В общем думать надо. Если у кого есть идуи - предлагайте.
Аватара пользователя
loid
 
Сообщения: 349
Зарегистрирован: 16 окт 2007, 11:57
Откуда: Минycинck

Re: Алгоритм - обход пылесосом территории

Сообщение EdGull » 17 июн 2008, 16:18

я уже объяснял
ствавим 4 шарпа на каждуую сторону пылесосу, и едем на одинаковом расстоянии от стены пока почти не упремся, потом "хитрый" разворот на 180 градусов и поехали обратно и так пока не проедем всю локацию
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Алгоритм - обход пылесосом территории

Сообщение SkyStorm » 17 июн 2008, 17:10

EdGull писал(а):я уже объяснял
ствавим 4 шарпа на каждуую сторону пылесосу, и едем на одинаковом расстоянии от стены пока почти не упремся, потом "хитрый" разворот на 180 градусов и поехали обратно и так пока не проедем всю локацию

Дальность Шарпа 80 см, вывод комната в идеале должна быть шириной 160 см )))
потому как если оно будет 170 см и от пылесоса докаждой их стенок будет более 80 см ориентация будет потеряна.
Никто кроме нас!!!
4Robots.ru - Все для роботов!
Аватара пользователя
SkyStorm
 
Сообщения: 2687
Зарегистрирован: 05 фев 2008, 15:33
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович

Re: Алгоритм - обход пылесосом территории

Сообщение EdGull » 17 июн 2008, 19:39

ну какие вы все настырные... УЗ же еще никто не отменял для дальних дистанций
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Алгоритм - обход пылесосом территории

Сообщение Redallex » 17 июн 2008, 20:04

В доме где пылесос с УЗ нибудет ни собак, ни кошек, ни мышей, вообще одни глухие люди :D
"Сначала похвали, а потом критикуй!"
Аватара пользователя
Redallex
 
Сообщения: 247
Зарегистрирован: 13 янв 2008, 22:05
Откуда: Пермь
ФИО: Александр

Re: Алгоритм - обход пылесосом территории

Сообщение EdGull » 17 июн 2008, 20:11

у меня нет ни собак, ни кошек, ни мышей один я старый и глухой... :D
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Алгоритм - обход пылесосом территории

Сообщение loid » 18 июн 2008, 10:02

Что то не пойму, где тут умный обход территории, если тупо ездим до стены и поворачиваем на 180 градусов. :D
Аватара пользователя
loid
 
Сообщения: 349
Зарегистрирован: 16 окт 2007, 11:57
Откуда: Минycинck

Re: Алгоритм - обход пылесосом территории

Сообщение Myp » 18 июн 2008, 10:23

это для тебя тупо

а для куска пластика на колёсиках это достаточно интеллектуально :D
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Алгоритм - обход пылесосом территории

Сообщение EdGull » 18 июн 2008, 11:13

loid писал(а):Что то не пойму, где тут умный обход территории, если тупо ездим до стены и поворачиваем на 180 градусов. :D

вот привяжи к своему боту кусок мокрой тряпки и покажи как протрет всю комнату, а потом буудем говорить умный у тебя обход или нет :wink:
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Алгоритм - обход пылесосом территории

Сообщение omlin » 18 июн 2008, 12:10

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


Этап №1

1. Едем вдоль стенки (стенка, предположим, слева), лучше - слегка касаясь ее.
2. Если обнаружили проем (поворот стены налево) - поворачиваем налево
3. Если обнаружили выемку (поворот стены направо, или препятствие) - поворачиваем направо
4. С помощью энкодеров запоминаем (ясное дело, примерно) пройденное расстояние, и направление движения.
Если линии на построенной таким образом виртуальной карте - сошлись, тогда переходим к этапу №2, иначе - см. п.1

Этап №2

1. Делим получившуюся карту на прямоугольные области.
Делается это достаточно просто: все линии продляются до ближайшего пересечения.
Пример:
cleaner_1.gif
Карта, сформированная роботом, с выделенными прямоугольными областями
cleaner_1.gif (4.32 КиБ) Просмотров: 7325


2. Те прямоугольники, которые не касаются "стен", соединяем с первыми прямоугольниками.
3. Продолжаем движение "по стеночке" до ближайшего угла любой из выделенных прямоугольных областей
4. Если прямоугольник очень маленький по длине или ширине - просто единожды проезжаем по нему. Иначе, начинаем объезжать прямоугольник: например, любимой здесь змейкой, тщательно отмечая на виртуальной карте виртуально пройденный путь.
5. В случае обнаружения препятствия на пути!!! Объезжаем это препятствие по кругу (см. этап 1), отмечая границу препятствия на карте.
Затем - достраиваем карту (т.е. по сути, идем в п. 1 этапа 2).
Вот пример движения робота в случае обнаружения препятствия:
cleaner_2.gif
Обработка препятствий сложной формы
cleaner_2.gif (7.56 КиБ) Просмотров: 7314

6. Начало и конец объезда будет в углу текущего прямоугольника, т.е. скорее всего около стеночки. Стеночка, кстати, и ее повороты - являются в данном алгоритме регулирующим и корректирующим фактором, заменяя маяки. В общем, после окончания обработки одного прямоугольника, по стеночке движемся до угла следующего необработанного прямоугольника, и переходим к п.4

Замечание: в случае наличия непрямых углов, вписываем непрямоугольные геометрические фигуры в прямоугольники.
Например:
cleaner_3.gif
Непрямые углы
cleaner_3.gif (5.15 КиБ) Просмотров: 7290

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

Преимущества подхода:
1. Чаще всего будут пылесоситься пространства около стен и в углах - т.е., как раз наиболее запыленные участки
2. С помощью такого алгоритма могут быть пропылесосены даже очень захламленные помещения, типа наших русских квартир :)

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


Требования к роботу:
1. Выставленный чуть влево датчик касания, фиксирующий движение вдоль плинтуса
2. Энкодеры
3. Бамперы для объезда препятствий
4. Возможность поворота на месте (!!!, это возможно, например, при использовании гусеничного хода) на строго заданный угол


P.S. Сильно не пинать, особенно ногами! Алгоритм придуман навскидку за 5 минут и нисколечко не протестирован.
Но если кто-то полагает, что написать такого рода программу будет очень сложно - могу только посоветовать отказаться от микроконтроллеров и заставить роботов "думать" чем-нибудь помощнее :)
Мой блог "Роботы и робототехника": http://insiderobot.blogspot.com
omlin
 
Сообщения: 39
Зарегистрирован: 31 окт 2007, 14:25
Откуда: Кострома

Re: Алгоритм - обход пылесосом территории

Сообщение EdGull » 18 июн 2008, 12:44

на сколько я помню это первое такое документированние обхода территории
респект! :Bravo:
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Алгоритм - обход пылесосом территории

Сообщение =DeaD= » 18 июн 2008, 12:59

2omlin: Сейчас ваши хрустальные мечты разобьются о чугунную попу реальности -

Вы видели карту составленную по энкодерам в сложном помещении достаточно небольшим роботом (чтобы он мог вообще что-то пылесосить заезжая в углы) ?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Пред.След.

Вернуться в Алгоритмы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3