Алгоритмы движения по линии ev3

Алгоритмы движения по линии ev3

Описание презентации по отдельным слайдам:

“Алгоритм движения по черной линии с одним датчиком цвета” Кружок по «Робототехнике» Педагог до Езидов Ахмед Элиевич При МБУ ДО «Шелковской ЦТТ»

Для изучения алгоритма движения по черной линии, будет использоваться робот Lego Mindstorms EV3 с одним датчиком цвета

Датчик цвета Датчик цвета различает 7 цветов и может определить отсутствие цвета. Как и в NXT, он может работать как датчик освещенности. Поле для соревнований роботов "Линия S" Предлагаемый полигон с трассой в форме буквы "S" позволит вам провести еще одно интересное тестирование созданных роботов на скорость и реакцию.

Рассмотрим простейший алгоритм движения по черной линии на одном датчике цвета на EV3. Данный алгоритм является самым медленным, но самым стабильным. Робот будет двигаться не строго по черной линии, а по ее границе, подворачивая то влево, то вправо и постепенно перемещаясь вперед Алгоритм очень простой: если датчик видит черный цвет, то робот поворачивает в одну сторону, если белый — в другую.

Движение по линии в режиме яркости отраженного света с двумя датчиками Иногда датчик цвета недостаточно эффективно может различить черный и белый цвета. Решение этой проблемы заключается в использовании датчика не в режиме определения цвета, а в режиме определения яркости отраженного света. В этом режиме мы, зная значения датчика на темной и светлой поверхности, самостоятельно можем говорить, что будет считаться белым, а что черным.

Теперь определим значения яркости на белой и черной поверхностях. Для этого в меню блока EV3 находим вкладку «Приложения модуля» Теперь вы находитесь в окне просмотра портов и можете увидеть показания всех датчиков на текущий момент.

наши датчики должны подсветиться красным, что означает, что они работают в режиме определения яркости отраженного света. Если же они светят синим – в окне просмотра портов на нужном порте нажимаем центральную кнопку и выбираем режим COL-REFLECT. Теперь поставим робота так, чтобы оба датчика располагались над белой поверхностью. Смотрим на цифры в портах 1 и 4. В нашем случае, значения 66 и 71 соответственно. Это и будут значения белого у датчиков.

Теперь поставим робота так, чтобы датчики располагались над черной поверхностью. Снова посмотрим значения портов 1 и 4. У нас 5 и 6 соответственно. Это – значения черного.

Дальше, мы изменим предыдущую программу. А именно – изменим настройки переключателей. Пока у них установлено Датчик цвета -> Измерение -> Цвет.

Читайте также:  Daewoo power products dacs 4516

Нам же требуется установить Датчик цвета -> Сравнение -> Яркость отраженного света Теперь мы должны установить «тип сравнения» и «пороговое значение». Пороговое значение – это значение некоторого «серого», значения меньше которого мы будем считать черным, а больше – белым. Для первого приближения удобно использовать среднее значение между белым и черным каждого датчика.

Таким образом, пороговое значение первого датчика (порт №1) будет (66+5)/2=35.5. Округлим до 35. Пороговое значение второго датчика (порт №4): (71+6)/2 = 38.5. Округлим до 38. Теперь выставляем эти значения в каждом переключателе соответственно. Вот и все, блоки с движениями остаются на своих местах без изменений, так как, если мы ставим в «типе сравнения» знак « 12 слайд

Это было краткое руководство по программированию робота Lego ev3, для движения по черной линии, с одним и двумя датчиками цвета

  • Езидов Ахмед ЭлиевичНаписать 22687 27.02.2017

Номер материала: ДБ-231854

    27.02.2017 402
    27.02.2017 931
    27.02.2017 338
    27.02.2017 634
    27.02.2017 215
    27.02.2017 275

Не нашли то что искали?

Вам будут интересны эти курсы:

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.

Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако редакция сайта готова оказать всяческую поддержку в решении любых вопросов связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.

На данном уроке мы разберем движение робота Ev3 вдоль черной линии.

Напишем программу для движения робота по черной линии для Lego Ev3. Познакомимся с логическими операциями Ev3.

Для того, чтобы робот Ev3 двигался постоянно вдоль черной линии в программе используется бесконечный цикл в нем происходит считывание данных с датчиков цвета, освещенности, анализ данных датчиков и соответсвующие маневры робота. В нашем роботе левый датчик цвета подключен к порту 3, правый датчик подсоединен к порту 1. Левый мотор подключен к порту В, правый мотор к порту А.

Читайте также:  Makita 2704 отзывы владельцев

На рисунке показан блок считывания данных с датчика освещенности.

Если значение меньше 5 (знак сравнения 4) , то значит датчиком мы заехали на черную линию.

Если значение больше 5 (знак сравнения 2), то заехали на белое поле

Алгоритм движения по черной линии для робота с двумя датчиками следующий.

Если робот заехал левым датчиком на черную линию, то робот сворачивает (съезжает с линии) налево. Если робот заехал правым датчиком на черную линию, то поворачивает направо. Если обоими датчиками видит белое поле, то робот едет вперёд. Если обоими датчиками он видит чёрную линию, то это перекрёсток, он едет вперёд и съезжает с перекрестка.

Чтобы обрабатывать одновременно данные с нескольких датчиков, необходимо использовать логические операции. Для того чтобы выполнялись оба условия, используется логическая операция И.

Напишем программу для движения вдоль черной линии для робота Ev3.

У нашего робота левый датчик освещенности подключен к порту 3, правый датчик освещенности подключен к порту 1.

1 действие. Считываем данные с датчиков освещенности заходим в яркость, отраженного света Записываем их в логический блок И ( Красный блок)

2 действие. Соединяем логический блок с переключателем, который выставлен в логическое значение.

3 действие. В условие ставим поворот налево. Смотри урок 1 Повороты Ev3

4 Действие. Повторяем считывание датчиков освещенности и логический блок

Значение датчика освещенности 1 становится меньше 5, а датчика с портом 3 больше 5. В этом случае чёрную линию видит правый датчик. Поворот делается направо, поэтому правый мотор (порт А) вращается назад , мощность со знаком минус, а левый мотор (порт B) вращается вперед. Осуществляется поворот направо. В цикле движения выставите не очень большое время порядка 0,1 секунды, чтобы робот реагировал быстрее на изменение траектории.

5 действие. Если оба датчика освещенности фиксируют белое поле, то робот движется вперед. Опять считываем данные с обоих датчиков. Ставим в считывании датчиков знак больше, мощность обоих моторов положительная.

6 действие. . Если оба датчика освещенности фиксируют чёрную линию, то движемся вперёд. Считывание датчиков, для обоих датчиков ставим меньше 5, для обоих моторов выставляем движение вперед

Для изменения скорости движения по черной линии необходимо поменять мощность моторов при движении вперед. Если траектория будет слишком крута и робот будет слетать с черной линии, необходимо уменьшить мощность при движении вперед и увеличить мощность при поворотах.

Читайте также:  Базальтовая вата paroc extra

Вернуться к содержанию Перейти к уроку Движение по линии до перекрестка

Рассмотрим простейший алгоритм движения по черной линии на одном датчике цвета на EV3.

Данный алгоритм является самым медленным, но самым стабильным.

Робот будет двигаться не строго по черной линии, а по ее границе, подворачивая то влево, то вправо и постепенно перемещаясь вперед.

Алгоритм очень простой: если датчик видит черный цвет, то робот поворачивает в одну сторону, если белый — в другую.

Реализация в среде Lego Mindstorms EV3

В обоих блоках движения выбираем режим «включить». Переключатель настраиваем на датчик цвета — измерение — цвет. В нижней части не забудьте изменить «нет цвета» на белый. Также, необходимо правильно указать все порты.

Не забудьте добавить цикл, без него робот никуда не поедет.

Проверьте. Для достижения лучшего результата попробуйте изменить значения рулевого управления и мощности.

Движение с двумя датчиками:

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


Алгоритм будет следующий:
• Если оба датчика видят белый цвет – двигаемся вперед;
• Если один из датчиков видит белый, а другой черный – поворачиваем в сторону черного;
• Если оба датчика видят черный цвет – мы на перекрестке (например, остановимся).

Для реализации алгоритма нам потребуется отслеживать показания обоих датчиков, и только после этого задавать движение роботу. Для этого будем использовать переключатели, вложенные в другой переключатель. Таким образом, мы опросим сначала первый датчик, а потом, независимо от показаний первого, опросим второй датчик, после чего зададим действие.
Подключим левый датчик к порту №1, правый – к порту №4.

Программа с комментариями:

Не забывайте, что моторы запускаем в режиме «Включить», чтобы они работали столько, сколько необходимо исходя из показаний датчиков. Также, часто забывают о необходимости цикла — без него программа сразу завершится.

Ссылка на сайт, откуда взята информация, и на котором можно найти еще много интересных объяснений:

Эта же программа для модели NXT:

Изучить программу движения. Запрограммировать робота. Переслать видео тестирования модели

Ссылка на основную публикацию
Adblock detector