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

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

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

Сообщение =DeaD= » 11 мар 2008, 17:20

Master писал(а):А что у вас в комнатах нету мебели :) , поставьте туда 2 табуретки и посмотрите что будет.
Алгоритм лучше отладить на симуляторе.

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

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

Сообщение mandigit » 11 мар 2008, 18:34

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

по пп.2 что-бы особо уделить внимание грязным участкам около стен нужно ввести умение двигаться вдоль стены, а такой функционал недоступен.

1. Если старт из любой точки - почему он большие области не оставит без внимания и когда останавливаться?
2. Как быть с обычно самыми грязными участками рядом со стенами? У вас их игнорировать будет робот при езде под углом?[/quote]
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

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

Сообщение =DeaD= » 11 мар 2008, 19:01

mandigit писал(а):по пп.1 большие области не останутся без присмотра, потому что после достижения края, которое определяется по уменьшению времени прохода идет разворот, покрывающий область в обратном направлении, но перепендикулярно предыдущему проходу. Останавливаться, когда время закончилось.

по пп.2 что-бы особо уделить внимание грязным участкам около стен нужно ввести умение двигаться вдоль стены, а такой функционал недоступен.

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

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

Сообщение mandigit » 11 мар 2008, 19:09

2EdGull
С помощью ИК бамперов можно выравниваться по отношению к стене?


=DeaD= писал(а):
mandigit писал(а):по пп.1 большие области не останутся без присмотра, потому что после достижения края, которое определяется по уменьшению времени прохода идет разворот, покрывающий область в обратном направлении, но перепендикулярно предыдущему проходу. Останавливаться, когда время закончилось.

по пп.2 что-бы особо уделить внимание грязным участкам около стен нужно ввести умение двигаться вдоль стены, а такой функционал недоступен.

Вроде ИК-бамперы же есть спереди 2 штуки, по ним теоретически можно выравниваться.
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

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

Сообщение EdGull » 11 мар 2008, 20:03

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

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

Сообщение mandigit » 11 мар 2008, 20:46

Если возможность выравнивания при подходе к стене существует - алгоритм Dead'а - правильный
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

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

Сообщение EdGull » 11 мар 2008, 20:52

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

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

Сообщение mandigit » 11 мар 2008, 23:30

:P
Так это - соскочить - это всегда пожалуйста

В свое время (года 3 назад) делал первого минисумоиста. Датчиков никаких типа нет - что делать.
Потом посчитал: ринг 80 см в диаметре - если сумоист будет просто случайно бродить -он наткнется на противника (а впереди у него контактный бампер) и тогда сможет его вытолкать!
В рамках известных условий я-бы остановился на случайном блуждании (только реально случайном, а не поворот все время в одну сторону). По сути пылесос может заниматься уборкой все время, что ему разрешено. Остальные решения требуют очень хороших условий - стирильная комната без мебели, строго прямоугольная, с аккуратно выложенным внизу орнаментом, имеющем качественное отражение (такая комната может привидится только во сне, хотя видя тесты нациков можно засомневаться :))
Следующим шагом можно предположить запоминание пути, по которому шел робот, возврат в предыдущую точку (построение дерева решений) - это не теоретический вариант, а вполне реальный. В свое время, разрабатывая способ выполнения команды поиск устройства, удалось разместить дерево на 64 позиции в 8 байт. Такое решение можно реализовать, но вопрос в том, какую ошибку позиционирования будет бот накапливать. Боюсь, что больше глубины 2-3 возврата он не осилит.
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

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

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

такая комната может привидится только во сне, хотя видя тесты нациков можно засомневаться

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

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

Сообщение mandigit » 12 мар 2008, 00:21

Все тесты (движение по прямой) и фотка, как нацики комплектуются, проходят практически в идеальной комнате. У меня такой бардачище, что роботу нужен искуственный интеллект, что-бы выжить :)
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

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

Сообщение EdGull » 12 мар 2008, 00:25

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

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

Сообщение mandigit » 12 мар 2008, 10:35

Змейка, как у Dead - вполне рабочая, если удастся в квадратной комнате периодически подстраивать азимут по стене (то есть змейка - алгоритм с периодической коррекцией азимута).
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

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

Сообщение Master » 13 мар 2008, 12:39

По поводу симуляторов, здесть кто-то выкладывал программу со скриптами на С, там можно стенки рисовать и т. д. Или можно Деда попросить у него хорошо програмить получается :)
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

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

Сообщение -= Александр =- » 13 мар 2008, 18:40

Не читал всю тему, но вот советую глянуть вот эту мою конструкцию: http://alex.piter-furry.ru/works/files/work2/video2.zip
Тут робот ездит по енкодерам и дальномеру. Слева обнаруживает тупик и едет вдоль правой стенки.
Имея дальномер можно калибровать направление по стене! У всех нас скорее всего все комнаты строго прямоугольные, так что можно каждый раз доезжая до стены отъезжать немножко в бок и брать довольно точно угол 90 градусов, чтоб ехать по змейке! :wink:

Отдельный вопрос - кучи хлама и табуретки, но их уже надо рассматривать локально - объехал и вернулся на траекторию. Отличить просто: все что имеет не прямой контур - считать хламом, все что прямой - стенами.

С шарповским дальномером мне удавалось обрабатывать контуры длиной в метр на расстоянии около метра. Дальномер стоял прямо на валу шаговика.

С другой стороны - можно сделать робота довольно быстроходным - тогда даже при случайном блуждании он обойдет 90% поверхности скажем за пару часов... :roll:
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

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

Сообщение =DeaD= » 13 мар 2008, 21:07

-= Александр =- писал(а):С другой стороны - можно сделать робота довольно быстроходным - тогда даже при случайном блуждании он обойдет 90% поверхности скажем за пару часов... :roll:

Дык вроде пылесосить еще надо, это на дикой скорости не сделаешь :)

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

Пред.След.

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

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

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