Движение по линии
робот-следопыт
Это понятие впервые встречается на программе «Проектная инженерная база» — примерно 9-10 лет (3-4 класс).
Задание для робота: ехать вдоль чёрной линии на полу. Датчик смотрит вниз, замечает линию, и робот всё время подруливает, чтобы с неё не съехать.
Идёшь по бордюру: чуть качнулся — сразу переставляешь ногу обратно. Робот так же без остановки подправляет свой путь.
Пройти вдоль линии малярного скотча, глядя строго вниз через трубку из свёрнутого листа; рассказать, в какие моменты приходилось подправлять шаг.
Классическая задача робототехники и соревнований: робот с инфракрасными датчиками, глядящими в пол, различает трассу — чёрная линия отражает мало света, белое поле много. Съехал датчик на белое — программа меняет обороты моторов, и робот подруливает обратно. Это обратная связь: измерить — сравнить — подправить.
Поставить робота-следопыта на белое поле без линии, затем на трассу «против хода»; предсказать поведение в обоих случаях, проверить запуском и объяснить результат через цикл «измерить — сравнить — подправить».
Модельная задача управления: линейка ИК-датчиков даёт положение линии под роботом, регулятор превращает ошибку — отклонение от центра — в разность скоростей колёс. Релейный регулятор («линия слева — руль влево») виляет; пропорциональный правит соразмерно ошибке; ПИД добавляет накопленную ошибку и скорость её изменения. Краевые случаи: перекрёстки, разрывы линии, инверсия цветов, засветка — против них калибровка порога и алгоритм поиска потерянной линии.
Запрограммировать на Arduino релейный и пропорциональный регуляторы для одной трассы; сравнить время круга и виляние и подобрать коэффициент, при котором робот перестаёт раскачиваться.
Частое заблуждение
«Робот заранее знает трассу, как навигатор — маршрут». Нет: карты у него нет — робот каждый миг видит только яркость пятна под датчиком и тут же подруливает.