roboforum.ru

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

Пришло время убирать !!!

Re: Пришло время убирать !!!

=DeaD= » 14 июл 2011, 13:53

Составление карты давно уже не входит в сферу ИИ :)

Re: Пришло время убирать !!!

Vovan » 14 июл 2011, 13:57

Ну почему же ИИ? Да и карта это не ИИ. То что никто не построил - это другой вопрос, вдруг мне это удастся :wink:.
Без карты в роботе я мыслю: достаточно роботу знать какой именно маяк он видит - вступает в силу подпрограмма в видимости этого маяка. А уж как маяки расставить и сколько их нужно - с этим пусть ПК справляется и выдает нам готовый результат: на кухне поставить три маяка там-то и там-то, а в прихожей только 2 на входе и выходе... Ну как-то так... коряво наверное :oops: Но стремление пропылесосить всю территорию с минимальными затратами ИМХО задача №1 для робота :wink:

Re: Пришло время убирать !!!

=DeaD= » 14 июл 2011, 14:15

Можно попробовать сделать что-нибудь типа NorthStar :)

Это когда в помещении ставятся ИК-проекторы специального изображения на потолок, а на роботе - камера с МК.

Re: Пришло время убирать !!!

Vovan » 14 июл 2011, 14:20

Да, спасибо =DeaD= :) про "ориентирование по звездам" я тоже не забываю (как-то ужЕ упоминалось).

Re: Пришло время убирать !!!

Gelios » 14 июл 2011, 14:43

Прочитал четыре страницы текста . Чуть об стену не убился . :D Валера , всё то что ты спрашивал действительно есть выше . Просто это ещё найти нужно , а лучше взять горячую чашечку чая и прочитать всё обсуждения и предложения . Глядишь и вопросы отпадут сами собой .
Насчет общего алгоритма для наших роботов , полностью поддерживаю даже где то писал об этом выше . Но алгоритм , придется адаптировать под каждый робот отдельно . У нас у всех разное количество датчиков . Я выбрал вариант , из за особенности конструкции , контактный бампер + 2 ИК бампера .

Насчет датчика запыленности СВ+ФД , для роботов уборщиков не лучший вариант . Делал по такому принципу , для знакомых , датчик задымленности , принцип тот же , но в свое время он не как не засоряется .

Насчет ШИМа , вот у меня на роботе стоят тоже два разных двигателя . Вчера целый день мучился с ШИМом , чтобы равноускорено ( медленно стартует и постепенно ускоряясь едет прямо )запускать оба двигателя . Программно реализовать получилось .

Насчет ориентирования по карте . Если уже и делать , то придется ставить эндекодеры , писать куча букв в программе .
Но в любом случаи придется усложнять конструкцию .

Работа над роботом возобновилась :Yahoo!:
И все же , при наладке робота без дисплея очень тяжко , поставил дисплей , терь не парюсь . Намного проще стало отлаживать робота .

Re: Пришло время убирать !!!

yak-40 » 14 июл 2011, 22:42

Gelios писал(а):И все же , при наладке робота без дисплея очень тяжко , поставил дисплей , терь не парюсь . Намного проще стало отлаживать робота

Точно! А потом его можно и демонтировать.
Vovan писал(а):Однако в сторону случайного блуждания мне ужЕ не интересно смотреть,

IMHO Это зря. Свободное блуждание в сумме со случайным углом отъезда очень даже выручает.
Есть такие места в квартире, где оно (блуждание) просто необходимо.

Добавлено спустя 6 минут 8 секунд:
Ну вот например, узкий корридор. В спираль развернуться негде, вдоль плинтуса проехался и всё, до середины корридора никогда не доберётся. А включается свободное блуждание(предлагаю для краткости СвоБлу или СБ) и практически вся территория покрыта(ну почти :) )

Re: Пришло время убирать !!!

Vovan » 14 июл 2011, 22:46

Да мне не интересно потому что ничего кроме случайного блуждания из случайного блуждания не выжмешь :wink: А он у меня итак случайно бродит :) только неинтересно это, потому что это фсё что он может :( И будет бродить случайно до тех пор пока что-то новое не придумается - вот по этому не интересно.
Согласен на СвоБлу :good:, можно даже своблу или слублу, а то в СБ трудновато "въехать" ИМХО...
Я всю жизнь мечтал поесть трюфели... а поел и теперь неинтересно... другой деликатес интересно было бы отведать...

Re: Пришло время убирать !!!

Michael_K » 14 июл 2011, 23:18

проехаться по периметру - прочистить плинтуса, края ковролинов и попытаться вычислить периметр и оценить площадь помещения (тупо по временам - без энкодеров). По ним можно оценить время уборки и приблизительную "диагональ" (расстояние от стены до стены) комнаты, например.

Покататься ксониксом со случайными углами отскока. Вычислить среднюю "диагональ". Уточнить время уборки.

Если встретится предмет, а до стены еще предположительно далеко (ножка стола, например), попытаться обсосать его со всех сторон.

Если при случайном "ксониксе" получилась длинная диагональ (длиннее средней), можно попытаться откатиться назад по ней же, оказаться предположительно в середине комнаты и начать крутить спираль.

Да мало ли что можно придумать. И это безо всяких дальномеров и карт...

Re: Пришло время убирать !!!

yak-40 » 14 июл 2011, 23:36

Michael_K писал(а):проехаться по периметру - прочистить плинтуса, края ковролинов и попытаться вычислить периметр и оценить площадь помещения (тупо по временам - без энкодеров).

Интересно, а как пылесос поймёт что он проехал весь периметр, а не ушел на второй круг, или не уехал в случайно открытую дверь?
Michael_K писал(а):Покататься ксониксом со случайными углами отскока. Вычислить среднюю "диагональ"

Вот это да, хорошая мысль.
Michael_K писал(а):Если встретится предмет, а до стены еще предположительно далеко (ножка стола, например),
Опять вопрос, а как он это определит?
Michael_K писал(а):Да мало ли что можно придумать
Да! Придумать можно много чего. А вот реализовать...

Re: Пришло время убирать !!!

Michael_K » 14 июл 2011, 23:46

yak-40 писал(а):Интересно, а как пылесос поймёт что он проехал весь периметр
Сделает круга три и поймет - автокорреляция там, и все такое :)
yak-40 писал(а):
Michael_K писал: Если встретится предмет, а до стены еще предположительно далеко (ножка стола, например)

Опять вопрос, а как он это определит?

Ну примерные размеры помещения же он у нас оценил уже :). Примерную диагональ узнал. Даже если ошибется - ничего страшного.

Ну и в конце концов даже если тупо сделать:
двадцать секунд "по стенке", а потом отскок от нее в случайную сторону, то он и ножки будет более-менее обсасывать и на стенках не залипать.

yak-40 писал(а):Да! Придумать можно много чего. А вот реализовать...

Ну, вроде бы я как раз стараюсь предлагать более-менее реальные штуки (это ж не ИИ с видео, системой маяков и построением пиксельных карт). :pardon:

Re: Пришло время убирать !!!

yak-40 » 14 июл 2011, 23:51

Michael_K писал(а):Ну, вроде бы я как раз стараюсь предлагать более-менее реальные штуки (это ж не ИИ с системой маяков и построением пиксельных карт).

Согласен ИИ нам не подходит. :)
Я вот тут накалякал схему одной из своих комнат(спальню). Так вот кроме плинтуса и своблу в ней сложно что-то применить. Во всяком случае оценить её площадь и вычислить диагональ пылесос вряд ли сможет :D
1.GIF
1.GIF (4.56 КиБ) Просмотров: 2539

Re: Пришло время убирать !!!

Vovan » 15 июл 2011, 00:27

yak-40 писал(а):Во всяком случае оценить её площадь и вычислить диагональ пылесос вряд ли сможет :D
+100500!
Да ерунда это (да простит меня Michael_K). Ничего по временным фишкам не выйдет. Вот если НАШИ датчики надеть на человека (классное правило!) и с ЕГО МОЗГАМИ попробовать перекрыть площадь - всё равно заблудится и опять своблу :D
Вот это:
Michael_K писал(а):Ну примерные размеры помещения же он у нас оценил уже :). Примерную диагональ узнал. Даже если ошибется - ничего страшного.
Какую именно диагональ? и диагональ ли это? Да конечно ничего страшного - снова своблу :D
2yak-40: а что даст ввод случайности в величину угла отъезда? своблу^2 :wink: Да своблу оно и в Африке своблу - ничего кроме слублу хоть в какой степени :roll: Ведь направление подъезда к стене он и так регулярно меняет, то так врежется, то эдак - и ни разу одинаково, т.к. его траектория своблу.
Я ж писал что: const*своблу=своблу*своблу=const*своблу^18=своблу :D

Re: Пришло время убирать !!!

Michael_K » 15 июл 2011, 03:23

Vovan писал(а):Да ерунда это (да простит меня Michael_K). Ничего по временным фишкам не выйдет.

возможно... но я бы попробовал :)
Vovan писал(а): а что даст ввод случайности в величину угла отъезда? Ведь направление подъезда к стене он и так регулярно меняет

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

Добавлено спустя 6 минут 48 секунд:
В коллекцию:
Алгоритм "веер"
- находишь впуклый угол
- катишься от него по прямой до препятствия и обратно
- поворачиваешь немного (по ширине робота можно оценить и по длине пробега)
- повторяешь пункты 2 и 3 пока не упрешься сразу в стенку
- едешь по этой стенке до следующего впуклого угла

Углы и плинтуса будут вычищены идеально :)))

Добавлено спустя 2 часа 36 минут 46 секунд:
В коллекцию:
Алгоритм "оверлок":
- едем, поворачивая направо по дуге радиусом R
- когда втыкаемся в препятствие, поворачиваем налево (можно на случайный угол 90-180 градусов например)
- повторяем шаги 1 и 2, постепенно увеличивая радиус

Можно сделать R адаптивным в зависимости от длины пробега, например. Или сначала увеличивать радиус, потом начать уменьшать, потом опять увеличивать и т.п.
Последний раз редактировалось Michael_K 15 июл 2011, 04:10, всего редактировалось 1 раз.

Re: Пришло время убирать !!!

Radist » 15 июл 2011, 04:09

Отлично! Столько идей. Описываем их языком Лого, запускаем черепашку в комнату и смотрим результат. И никакой возни с реальным пылесосом. Жаль времени маловато - руки чешутся попробовать. Написать программу для пылесоса - не проблема, проблема хороший алгоритм придумать.

Re: Пришло время убирать !!!

Michael_K » 15 июл 2011, 04:25

Оверлок
Код: Выделить всёРазвернуть
фон = path.gif
переменная а
цвет 14
перо 1
опустить перо
а = 10
повторять пока а > 1
{
     поднять перо
     вперед 3
     если датчик > 50 то
          назад 3
          опустить перо
          вперед 3
          налево а
          а = а / 1.0002
     иначе
          назад 3
          направо 90 + случайный * 90
     конец условия
}
пиши "конец"


Rambler\'s Top100 Mail.ru counter