Занятие № 4. Датчик цвета
Задание № 1. Определение цвета
1.3 Движение по меткам
Поведение робота должно определяться цветом, который видит датчик. Движение и повороты робота определяются следующими цветами:
- белый - движение прямо;
- красный - поворот налево на 90 градусов (поворот на месте);
- синий - поворот направо на 90 градусов (поворот на месте);
- нет цвета - остановка.
Используйте цветовые метки, чтобы провести робота по лабиринту из коробок.
Задание № 2. Движение по линии
Реализуем релейный алгоритм движения по линии.
Для движения по линии нужно определить среднюю точку - значение количества отражённого света, после которого робот будет менять своё состояние.
Включите режим просмотра портов:
Кликните по изображению датчика цвета и выберите режим Яркость отраженного света:
Поставьте робота на белую часть поля и запишите показания датчика \(d_1\):
Поставьте робота на линию и запишите показания датчика \(d_2\). Найдите среднее значение между \(d_1\) и \(d_2\). Это и будет значение средней точки \(M\). Используйте это значение в следующем алгоритме.
2.2 Пропорциональный алгоритм движения по линии
Составьте следующую программу для движения по линии. Значение средней точки \(M\) возьмите из предыдущих заданий.
В этом алгоритме, чем больше робот отклоняется от линии, тем больше будет разность мощностей левого и правого моторов - пропорциональный алгоритм.
Значение количества отражённого света получим с помощью блока Датчик освещённости. Блок Математика переключим в режим ADV. Введите выражение в текстовое поле. Значения из одного блока в другой передаём с помощью шин.
Величину поворота \(X\) рассчитаем по формуле: \[ \class{var_r}{X} = (\class{var_p}{M} - \class{var_a}{s}) \cdot \class{var_b}{k} \] \(М\) - средняя точка, \(s\) - показания датчика, \(k\) - коэффициент коррекции. Разность в скобках принято называть ошибкой или рассогласованием.
Подберите такое значение коэффициента \(k\), чтобы движение по линии было плавным, без рывков.
Дополнительные задания
3. Грузоперевозки
Задача робота - передвинуть коробки за пределы чёрной линии. Робот едет прямо, пока не заметит площадки зелёного цвета. Слева от них находятся коробки, которые нужно передвинуть. После перемещения коробки, робот должен вернуться к метке и продолжить движение до следующей площадки зелёного цвета.
- Белый цвет - двигаться прямо;
- Зелёный цвет - повернуть налево и немного проехать прямо;
- Чёрный цвет - развернуться на месте и немного проехать прямо.
4. Линия с препятствиями
На линии в случайных позициях могут стоять препятствия. Дополните алгоритм на рисунке 2 и реализуйте объезд преграды. Объезд начинайте, как только препятствие находится на расстоянии 10 см от робота.







