Отступлю чуть от темы, но прогодится...
Мужики, я тут подумал, а нафига мы делаем так, чтобы робот искал базу зарядки. Ну это конечно нужно когда робот у нас интелектуальный (типа сам еду ищет).
А почему бы, например, для пылесоса не сделать так?:
Алгоритм:
1. Ставим базу как на картинке. Роботу приделываем контакты зарядки, вписывающиеся в интерьер робота.
2. Зарядили 1 раз робота.
3. Ездит он себе, ездит. ездит произвольно, как обычно у нас. Комнаты не большие у нас, все равно в длину метров 6. И вот натыкается на базу. Появился ток. О! Сморим, зарядиться надо или все норм, если надо останавливаемся и заряжаемся, если нет - едем дальше.
так вот дальше, я написал небольшую прогу и проверил часто ли попадает робот на базу. Поставил базу виртуально, запустил...робот произвольно блуждает. Так вот комната 6*4 метра скорость робота 15-20 см в сек...
Оказалось, что робот почти в среднем каждые 10 минут(когда и 5 минут и меньше бывало) натыкается на базу....А какому роботу нужно заряжаться каждые 10 минут?))
Конечно, есть вероятность того , что робот никогда не попадет на базу, но судя по моим экспериментам она мала, хотя и есть.
А расположим базу в доступном месте, можно даже в углу попробовать...мож туда чаще робот заезжает...или как там
Теперь записываем в робота режим уборки и оставляем его жить.
P.S. Знаете, я бы заплатил за IRobot 20000 рублей , если бы он был моющим И имел базу с заливом чистой воды, со сливом грязной воды, и зарядкой. Подъехал, воды залил(водопровод), пошел полы помыл, приехал в канализацию слил, зарядился...и т.д.
Не надо ни мусор за ним выкидывать, не надо заливать, заряжать и т.п.