Рассмотрим простейший алгоритм движения по черной линии на одном датчике цвета на EV3.
Данный алгоритм является самым медленным, но самым стабильным.
Робот будет двигаться не строго по черной линии, а по ее границе, подворачивая то влево, то вправо и постепенно перемещаясь вперед.
Алгоритм очень простой: если датчик видит черный цвет, то робот поворачивает в одну сторону, если белый — в другую.
Реализация в среде Lego Mindstorms EV3
В обоих блоках движения выбираем режим «включить». Переключатель настраиваем на датчик цвета — измерение — цвет. В нижней части не забудьте изменить «нет цвета» на белый. Также, необходимо правильно указать все порты.
Не забудьте добавить цикл, без него робот никуда не поедет.
Проверьте. Для достижения лучшего результата попробуйте изменить значения рулевого управления и мощности.
Движение с двумя датчиками:
Вы уже знаете алгоритм движения робота по черной линии с использованием одного датчика. Сегодня рассмотрим движение по линии с использованием двух датчиков цвета.
Датчики нужно установить таким образом, чтобы черная линия проходила между ними.
Алгоритм будет следующий:
• Если оба датчика видят белый цвет – двигаемся вперед;
• Если один из датчиков видит белый, а другой черный – поворачиваем в сторону черного;
• Если оба датчика видят черный цвет – мы на перекрестке (например, остановимся).
Для реализации алгоритма нам потребуется отслеживать показания обоих датчиков, и только после этого задавать движение роботу. Для этого будем использовать переключатели, вложенные в другой переключатель. Таким образом, мы опросим сначала первый датчик, а потом, независимо от показаний первого, опросим второй датчик, после чего зададим действие.
Подключим левый датчик к порту №1, правый – к порту №4.
Программа с комментариями:
Не забывайте, что моторы запускаем в режиме «Включить», чтобы они работали столько, сколько необходимо исходя из показаний датчиков. Также, часто забывают о необходимости цикла — без него программа сразу завершится.
Ссылка на сайт, откуда взята информация, и на котором можно найти еще много интересных объяснений:
http://studrobots.ru/
Эта же программа для модели NXT:
Задание:
Изучить программу движения. Запрограммировать робота. Переслать видео тестирования модели