turboCherepaha

ROB-76198


 

Робот сделан на базе микроконтроллера Arduino Nano. используемые элементы: микромоторы (6В, 300 об\мин), оптические энкодеры на каждом колесе, понижающий стабилизатор для питания моторов, драйвер моторов на TB6612, два оптических датчика IR-08H. Питание: два LI-pol аккумулятора формата 18650. Габаритные размеры робота: 130х130 мм. 

Робот использует алгоритм Заливки (Floodfill): Изначально робот считает, что в лабиринте нет стен, кроме тех, что ограничивают сам лабиринт.
Проезжая одну ячейку робот проверяет наличие стен вокруг него. На основе полученных данных робот строит карту следующим образом:
Будем считать ячейку финиша за 0 (расстояние до ячейки финиша), тогда расстояние из соседних клеток(крест накрест) будет равняться 1. Далее повторяем процедуру(расстояние будет увеличиваться на 1) для всех клеток удаляясь от центра. Также необходимо проверять находил ли робот стенку между соседними клетками по мере расчёта расстояния (если есть стена, то мы не можем увеличивать расстояние на 1). Таким образом будет строиться карта, где каждой ячейке лабиринта будет присвоен "вес", который означает расстояние до финиша. При выборе направления робот будет искать соседнюю клетку с наименьшим значением