Кегельринг

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

Произвольное движение

Самый простой алгоритм движения - это случайное движение внутри круга.

Действия повторяются в цикле:
1. Робот движется до границы круга
2. Отъезжает назад
3. Поворачивается на произвольный угол

Движение по траекториям

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

Действия повторяются в цикле 8 раз:
1. Робот движется до границы круга
2. Отъезжает назад до центра
3. Поворачивается на угол 45 градусов используя энкодер
Алгоритм диагональ по энкодеру

Действия повторяются в цикле 4 раза:
1. Робот движется вперед по энкодеру
2. Робот движется задним ходом по энкодеру
3. Робот движется в центр по энкодеру
3. Поворачивается на угол 45 градусов используя энкодер
Алгоритм квадрат

Действия повторяются в цикле 5 раза:
1. Робот движется до границы круга
2. Отъезжает назад
3. Поворачивается на угол 135 градусов используя энкодер

Поиск кеглей

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

Действия повторяются в цикле:
1. Робот вращается пока не заметит кеглю
2. Робот движется до границы круга
3. Отъезжает назад до центра
Алгоритм поиска

Действия повторяются в цикле:
1. Робот вращается пока не заметит кеглю
2. Робот движется до границы круга
3. Робот отъезжает назад

Движение по спирали

Спираль можно представить как окружность или дугу, у которой с течением времени изменяется радиус. Для дифференциального робота радиус дуги определяется разностью скоростей моторов. Для постепенного увеличения радиуса круга достаточно увеличивать скорость одного мотора.
Алгоритм поиска
1. Робот движется вперед
Действия повторяются в пошаговом цикле изменяя скорость V:
2. Робот едет (Правый мотор скорость 100, левый мотор скорость V)
3. Промежуток движения (100 мм)