Robots #10 Энкодеры и точные измерения


Как при помощи энкодеров можно использовать точные измерения?

Для того, чтобы проехать определённое расстояние, нам нужно знать:
1) количество оборотов колеса (их нам возвращает энкодер). Для нашего мотора 50:1 один полный проворот колеса на 360 градусов равен 617,4 показаниям с энкодера.
2) диаметр колеса (у нашего робота он равен 4 см)
3) несколько базовых волшебных геометрических формул:

Таким образом, рассчитаем, какое расстояние наш робот проедет, если сделает один прокрут колеса:
L =  π * D = 3.14*4 = 12.56 (см)
Как мы увидели выше, один полный прокрут колеса равен 617,4 показателям энкодеров. Перемещение на 1 см означает, что робот должен снять определённое количество данных с энкодера. Это количество равное 617.4/12.56 (почти 50).

Задачи

Задача 1. Робот едет 125,6 см вперёд, после останавливается.
Задача 2. Робот едет 1 метр, мигая жёлтой лампочкой. Потом едет ещё 1 метр назад, мигая красной лампочкой. После всё повторяется.
Задача 3. Робот едет вперёд, пока не приблизится к стене максимально близко. В этот момент он останавливается и показывает на экранчике расстояние (в см), которое он проехал до стены
Задача 4. Робот едет по траектории квадрата со стороной, равной 50 см. Подсказка: здесь вам снова понадобится волшебная геометрическая формула.
Задача 5. Робот едет по такой траектории:

Задача 6 "Лабиринт v2". Робот едет прямо. Если перед ним есть объект, он разворачивается вправо и продолжает движение, пока не пройдёт лабиринт.

Комментарии