Робот по черной линии на основе LEGO EV3

Робот по черной линии на основе LEGO EV3

Эта задача является классической, идейно простая, она может решаться много раз, и каждый раз вы будете открывать для себя что-то новое.
Существует множество подходов для решения задачи следования по линии. Выбор одного из них зависит от конкретной конструкции робота, от количества сенсоров, их расположения относительно колёс и друг друга.


















Так же, для примеров нам понадобятся, датчики света-цвета EV3. Эти датчики света, как никакие другие, наилучшим образом подходят для нашей задачи, при работе с ними, нам не придётся забоится о интенсивности окружающего света. Для этого датчика, в программах мы будем использовать режим отражённого света, при котором оценивается количество отражённого света красной подсветки датчика. Границы показаний датчика 0 - 100 единиц, для «отсутствия отражения» и «полного отражения» соответственно
Для примера мы разберём 3 примера программ для движения по чёрной траектории изображённой на ровном, светлом фоне:
Один датчик, с П регулятором.

Один датчик, с ПK регулятором.

Два датчика.

Пример 1. Один датчик, с П регулятором.

Конструкция

Датчик света устанавливается на балку, удобно расположенную на модели.





















Алгоритм

Действие алгоритма основано на том, что в зависимости от степени перекрытия, пучка подсветки датчика чёрной линией, возвращаемые датчиком показания градиентно варьируются. Робот сохраняет положение датчика света на границе чёрной линии. Преобразовывая входные данные от датчика света, система управления формирует значение скорости поворота роботаТак как на реальной траектории датчик формирует значения во всём своём рабочем диапазоне (0-100), то значением к которому стремиться робот, выбрано 50. В этом случае значения передаваемые функции поворота формируются в диапазоне -50 - 50, но этих значений недостаточно для крутого поворота траектории. По этому следует расширить диапазон в полтора раза до -75 - 75.
итоге, в программе, функция калькулятора является простым пропорциональным регулятором. Функция которого ( (a-50)*1.5 ) в рабочем диапазоне датчика света формирует значения поворота в соответствии с графиком: