Есть робот пылесос, сейчас он упираясь в препятствия просто меняет курс, суть вот в чем хочу сделать так чтобы он ездил по комнате объезжаю всю площадь, , как сделать? Какое железо для этого понадобится? Сильно не пинать с ардуино работаю недавно.
Сперва нужно продумать алгоритм перемещения робота. Должен ли робот ориентироваться в окружающем пространстве и иметь карту помещения? Или же можно ограничиться простым набором правил, которые позволят роботу обойти всю площадь? Предполагается ли наличие препятствий (тапки, кот)?
Я склоняюсь к простому набору правил, из препятствий могут быть только тапки. А что понадобится чтобы робот имел карту помещений?
Гм. лично я предлагаю дальномер на сервомашинку посадить, тогда вы теоретически сможете сканировать 180 градусов, тоесть дальномер крутится на серво, когда видит припятствие смотрит на угол и корректирует движение) Надеюсь помог)
Вот тут обсуждался вопрос создания "карты" пространства. Поглядите может какую мысль интересную почерпнете.
Понадобится прежде всего как-то определять положение робота относительно этой карты, т.е. система навигации. Если набор правил - то проще всего ходить змейкой либо по спирали. Только придется добавить алгоритм объезда препятствий.
Допустим змейка он едет- едет, бац уперся, отъехал (объехал) и снова на маршрут? Я правильно понимаю?
Если уперся в стену - развернулся и поехал обратно. Если встретил тапок - объехал его и поехал дальше. Нужно учитывать пройденное расстояние либо уметь отличать мелкую преграду от стены.
Еще вопрос, реально ли реализовать следующие при включении робота он едет змейкой, а при нажатии на кнопку (не важно как либо на корпусе либо удаленно) робот начинает ехать по спирали?
На счет режима спирали: Vбк=V/R*(R-l/2); Vдк=V/R*(R+l/2) где Vбк - скорость ближнего колеса, Vдк- скорость дальнего колеса, V-линейная скорость всей конструкции, R - текущий радиус спирали, l - расстояние между колесами. За один полный оборот угла радиус должен возрастать на постоянный шаг. Как вообще это можно сделать на ардуине? Вроде просто, но что то не хватает.
Не хватает алгоритма поиска центра спирали и формулы расчета текущего радиуса спирали. На практике одно колесо проскользнет и вся спираль поломается. Нужно не только задавать правило перемещения, но и контролировать его каким-либо образом. Но сначала нужно реализовать просто перемещение в идеальных условиях, а затем плясать дальше с контролем.