понедельник, 9 марта 2015 г.

Езда по траектории. Часть I. Релейный регулятор

В данной статье мы рассмотрим действия, которые позволят нашему роботу ездить по черной линии (по траектории).  Мы рассматриваем данную задачу, так как она является ключевой во многих соревнованиях. Для её реализации нам понадобится датчик освещенности, который  включен в комплект базового набора  EV3. Для того чтобы понять как его использовать рассмотрим принцип его работы.

В основе данного датчика находятся два основных элемента: это фоторезистор или фототранзистор (полупроводниковые элементы способные преобразовывать световую энергию в электрический сигнал) и светодиод (создающий световой поток).  Свет, выпущенный этим элементом, отражается от поверхности и попадает обратно в светочувствительный элемент.  Из курса физики мы помним, что светлая поверхность (белая) хорошо отражает свет, а темная (черные) хорошо поглощает свет.  Уровень сигнала отраженного света от белой поверхности будет больше, чем от черной поверхности (линии), и это свойство мы будем использовать для достижения нашей цели.
Перед началом программирования, необходимо определить значение черного и значение белого, для этого необходимо поднести робота сначала к белой области, затем запомнив значение белого, поднести робота к черной области, так же запомнив значение черного. Значения отражённого света можно определить следующими способами:
Способ №1
1.        Когда робот включен, нажать кнопку №3 три раза выбрав третью вкладку.
2.        Нажимаем кнопку №1, выбрав Port View.
3.        Выбираем порт, в который включен датчик света, нажимая кнопки 2 и 3.
4.        Смотрим значения, запоминаем или записываем их.

Способ №2
1.      Подключаем включенного робота к компьютеру через USB кабель.
2.        Запускаем программу LEGO MINDSTORMS Education EV3.
3.        Заходи в кладку находящуюся в нижнем правом углу
4.        Смотрим значения датчика
Следующий этап является составление алгоритма, он достаточно прост.
1.        Робот поворачивает налево, если он находится на белом фоне (высокий уровень сигнала)
2.        Робот поворачивает направо, если он находится на черном фоне(низкий уровень сигнала)
В результате должна получится следующая траектория движения:
Реализуем наш алгоритм в среде LEGO MINDSTORMS Education EV3.
1. Так как робот должен выполнять заданные действия много раз, то нам понадобится цикл, для этого заходим в оранжевую в кладку и переносим иконку «цикл» в начало программы.
2. Затем нам нужно задать условие в зависимости, от которого робот должен поворачиваться то налево, то направо. Для этого переносим иконку переключатель из оранжевой вкладки внутрь цикла.
3. Заходим в свойства переключателя, и выбираем сравнение яркости отражённого света.
4.       Задаем условие, если меньше или равно значения черного цвета. Предварительно необходимо проверить какой порт (к которому подключен датчик света ) у вас стоит в окошке, если порт будет указан не правильно, программа работать не будет.
5.Переносим иконку «независимое управление моторами» из зеленой вкладки «действие» в истину и в лож. Так же проверив, какие порты (куда подключены моторы ) указаны в окошках.
Загружаем программу.
Наслаждаемся видом робота едущего по линии.

Комментариев нет:

Отправить комментарий