← Все вопросы

Как робот едет точно по линии с помощью датчика линии?

Задан 8 месяцев назад1.7к просмотров2 ответа
11

Классическое задание — робот едет по чёрной линии на белом поле и не съезжает. Какой датчик это видит и как написать логику, чтобы он держался линии и не вилял?

2 ответа

15
✓ Принятый ответ — помог автору

«Езда по линии» — классика робототехники, и в основе лежат ИК-датчики линии.

Как датчик видит линию: ИК-светодиод светит на пол, а фотоприёмник ловит отражение. Белое отражает сильно, чёрное — слабо. Так датчик отличает «я над белым полем» от «я над чёрной линией».

Простой вариант — два датчика (слева и справа от линии). Логика:

оба на белом      → линия по центру → ехать прямо
левый на чёрном    → съезжаем вправо → доворот влево
правый на чёрном   → съезжаем влево  → доворот вправо

Работает, но робот при этом дёргается («рыскает») — это релейное управление.

Плавный вариант — линейка из 5-8 датчиков + ПИД-регулятор. Датчики дают «позицию линии под роботом» как число (ошибку отклонения от центра). ПИД из ошибки считает, насколько подвернуть, и плавно держит робота на линии без виляния. Именно так ездят роботы на соревнованиях по линии — быстро и ровно.

Частые ошибки:

  • датчики высоко над полом → плохо различают цвет (держи 3-8 мм);
  • внешний свет/блики мешают → калибруй пороги под конкретную трассу;
  • на двух датчиках хотят высокой скорости → без ПИД на скорости робот слетает с линии.

Стартуй с двух датчиков, потом переходи на линейку с ПИД.

6

Суть: датчик линии — это «глаз», который отличает чёрное от белого по силе отражённого ИК-света. Дальше два пути. Простой — пара датчиков и правило «вижу чёрное слева — рули налево». Серьёзный — линейка датчиков + ПИД, который превращает «насколько съехал» в плавный доворот. Первый делается за вечер и дёргается; второй едет ровно и быстро, но требует настройки коэффициентов.

Ваш ответ

Войдите, чтобы ответить на вопрос.