Алгоритмы и программы движения по линии робота lego mindstorms ev3 pdf

Обновлено: 17.05.2024

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

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

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

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

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

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

Также, необходимо правильно указать все порты.

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

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

Алгоритм:

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

Так как на реальной траектории датчик формирует значения во всём своём рабочем диапазоне (0-100), то значением к которому стремиться робот, выбрано 50. В этом случае значения передаваемые функции поворота формируются в диапазоне -50 - 50, но этих значений недостаточно для крутого поворота траектории. По этому следует расширить диапазон в полтора раза до -75 - 75

Более устойчиво алгоритм работает, если использовать моторы с управлением скоростью –100. 100.

В этом случае есть возможность отрегулировать плавность поворота в соответствии с кривизной линии

Так как на реальной траектории датчик формирует значения во всём своём рабочем диапазоне (0-100), то значением к которому стремиться робот, выбрано 50. В этом случае значения передаваемые функции поворота формируются в диапазоне -50 - 50, но этих значений недостаточно для крутого поворота траектории. По этому следует расширить диапазон в полтора раза до -75 - 75

Алгоритмы и программы движения робота Lego Mindstorms EV3 по линии, Овсяницкая Л.Ю., Овсяницкий Д.Н., Овсяницкий А.Д., 2015.

В книге рассмотрены алгоритмы движения робота Lego Mindstorms EV3 по линии от простых до профессиональных, предназначенных для скоростного движения по сложным траекториям. Представлены варианты прохождения инверсии, перекрестков, штрих-кодов, прерывистой линии и объезда препятствий. Все алгоритмы сопровождаются подробным объяснением и программным кодом.
Книга будет полезна педагогам начального, среднего, высшего и дополнительного образования, учащимся, студентам и всем, интересующимся вопросами робототехники.

Калибровка датчиков.
Калибровка датчиков является первым шагом реализации алгоритма движения по линии.
Датчик цвета, работая в режиме измерения количества отраженного света, освещает светодиодом поверхность и фиксирует по 100-значной шкале количество отраженного от нее света. Если 100 % света, созданного датчиком, отразится, то датчик передает значение 100. Если от поверхности ничего не отразится, то значение датчика будет равно 0 (рис. 2.1.1).

Поскольку датчик цвета в указанном режиме фиксирует только процент отраженного света, то получаемые значения удобно сравнивать со шкалой градаций серого цвета. Можно сказать, что датчик различает 100 градаций серого цвета.

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

Оглавление.
ВВЕДЕНИЕ.
1. ОСОБЕННОСТИ КОНСТРУИРОВАНИЯ РОБОТА ДЛЯ ДВИЖЕНИЯ ПО ЛИНИИ.
2. АЛГОРИТМЫ ДВИЖЕНИЯ ПО ЛИНИИ.
2.1. Калибровка датчиков.
2.2. Особенности использования датчиков цвета и освещенности NXT.
2.3. Дискретная система управления.
2.3.1. Алгоритм движения по линии «Зигзаг» с одним и двумя датчиками цвета.
2.3.2. Алгоритм «Волна».
2.3.3. Алгоритм автоматической калибровки. Создание блоков подпрограмм.
2.4. Пропорциональное управление.
2.4.1. Адаптация алгоритмов пропорционального управления к среде Lego Mindstorms EV3. Принцип работы блока рулевого управления.
2.4.2. Пропорциональный регулятор (П-регулятор).
2.4.3. Добавление кубической составляющей к П-регулятору.
2.4.4. Реализация П-регулятора на основе грех датчиков с дискретным изменением коэффициента н скорости.
2.4.5. Реализация П-регулятора на основе независимого управления моторами.
2.4.6. Встроенный режим калибровки (нормализации).
2.4.7. Пропорциональный интегральный регулятор (ПИ-регулятор).

Курс программирования робота EV3 в среде Lego Mindstorms EV3, Овсяницкая Л.Ю., Овсяницкий Д.Н., Овсяницкий А.Д., 2016.

Книга посвящена программированию робота EV3 в среде Lego Mindstorms EV3. Работа является результатом многолетнего опыта непосредственного участия авторов в региональных, всероссийских и международных состязаниях по робототехнике и педагогической деятельности, направленной на подготовку учителей, преподавателей и тренеров по данной тематике.
Книга будет полезна педагогам начального, среднего, высшего и дополнительного образования, учащимся, студентам и всем, интересующимся вопросами робототехники.

Создание первого проекта.
Проект - это новая составляющая среды программирования, которая отсутствовала в предыдущих версиях. Проект содержит:
- программы;
- объекты, используемые в программах проекта:
- подпрограммы;
- звуки, изображения, видеоролики, текстовые файлы;
- переменные;
- константы.

Можно привести сравнение проекта с книгой MS Excel, которая состоит из листов. Причём листы могут быть автономны или содержать информацию, относящуюся к общей теме книги. При сохранении книги сохраняются все листы, при сохранении проекта в среде Lego Mindstorms EV3 сохраняются все входящие в него программы и используемые в них объекты.

Программы, содержащиеся в проекте EV3, могут относиться к выполнению одного задания для робота (например, варианты прохождения лабиринта или захват определённых предметов в зависимости от их расположения) или быть совершенно не связанными друг с другом.

ОГЛАВЛЕНИЕ.
Введение.
Глава 1. Характеристики робота. Создание и запуск первого проекта.
1.1. Краткая характеристика роботизированных платформ. Обзор среды программирования Lego Mindstorms EV3.
1.2. Способы подключения робота к компьютеру. Обновление прошивки блока EV3. Загрузка программ в блок EV3.
Глава 2. Программирование робота.
2.1. Моторы. Программирование движений по различным траекториям.
2.2. Работа с подсветкой, экраном и звуком.
2.2.1. Работа с экраном.
2.2.2. Работа с подсветкой кнопок на блоке EV3.
2.2.3. Работа со звуком.
2.3. Программные структуры.
2.3.1. Структура Ожидание.
2.3.2. Структура Цикл.
2.3.3. Структура Переключатель.
2.4. Работа с данными.
2.4.1. Типы данных. Проводники.
2.4.2. Переменные и константы.
2.4.3. Математические операции с данными.
2.4.4. Другие блоки работы с данными.
2.4.5. Работа с массивами.
2.4.6. Логические операции с данными.
2.5. Работа с датчиками.
2.5.1. Датчик касания.
2.5.2. Датчик цвета.
2.5.3. Гироскопический датчик.
2.5.4. Ультразвуковой датчик.
2.5.5. Инфракрасный датчик и маяк.
2.5.6. Датчик Вращение мотора (определение угла/количества оборотов и мощности мотора».
2.5.7. Кнопки управления модулем.
2.6. Работа с файлами.
2.7. Совместная работа нескольких роботов.
2.7.1. Соединение роботов кабелем USB.
2.7.2. Связь роботов с помощью Bluetooth-соединения.
2.8. Полезные блоки и инструменты.
2.8.1. Блок «Поддерживать в активном состоянии».
2.8.2. Блок «Остановить программу».
2.8.3. Создание подпрограмм.
2.8.4. Запись комментариев.
2.8.5. Использование проводного ввода порта.
Глава 3. Основные виды соревнований и элементы заданий.
3.1. Соревнования Сумо.
3.2. Кегельринг.
3.3. Слалом (объезд препятствий).
3.4. Программирование движения полиции.
3.4.1. Алгоритм движения по линии «Зигзаг» с одним и двумя датчиками цвета.
3.4.2. Алгоритм «Волна».
3.4.3. Алгоритм автоматическом калибровки датчика цвета.
3.5. Пропорциональное линейное управление.
3.5.1. Движение но линии на основе пропорционального управления.
3.5.2. Поиск и подсчёт перекрёстков при пропорциональном управлении движением по линии.
3.5.3. Проезд инверсии.
3.5.4. Движение робота вдоль стены.
3.6. Поиск цели в лабиринте.
Глава 4. Обновление встроенного ПО и перезапуск блока EV3.
Глава 5. Использование сторонних датчиков.
5.1. Работа с HiTech датчиком цвета.
5.2. Использование других датчиков.
Заключение.

Одним из часто встречающихся видов соревнований является соревнование “Движение робота вдоль черной линии”. В последнее время активно развивается робототехника, открывается множество кружков. Как следствие проводится множество соревнований и конкурсов по робототехнике различного уровня. Это направление называется соревновательная робототехника.

Движение робота по линии

Это соревнование проводится в разных номинациях и категориях. Есть движение по широкой линии (5 см), по узкой линии (1,5 см), включают в движение по линии участки с прерывистой линией. Часто еще используется объезд роботом препятствий (например объезд кирпича) или преодоление препятствий (например, качающийся мост). После преодоления препятствий робот должен вернуться на линию и успешно финишировать.

Так как сейчас есть много типов робототехнических конструкторов, то соревнования также разделяют по категориям. Т.е. движение по линии Lego EV3, отдельно движение по линии Arduino и т.д. Побеждает робот, преодолевший дистанцию за минимальное время не потеряв трассу.

Алгоритмы движения робота

Есть несколько основных алгоритмов движения робота вдоль черной линии с использованием различных типов регуляторов:

  • Релейный регулятор
  • Пропорциональный регулятор
  • Пропорциональный дифференциальный регулятор
  • Кубический регулятор
  • Пропорциональный интегральный регулятор
  • Пропорциональный интегральный дифференциальный регулятор

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

Зрение робота EV3

Робот EV3 не обладает зрением и может воспринимать информацию о линии при помощи датчика цвета EV3.

Зрение робота Lego EV3

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

Расположение датчика цвета над линией

При этом высота расположения датчика над линией должна быть около 1 см. Но это рекомендуемая высота. На соревнованиях встречаются различные варианты расположения датчика и подбираются они участниками индивидуально.

Калибровка датчика цвета

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

  • ручной способ — все вычисления проводятся самостоятельно
  • автоматическая калибровка — вычисления производятся при помощи блоков операций с данными

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

На практике нужно измерить значение белого цвета, затем черного цвета, суммировать их и разделить на два. Т.е. если обозначить пороговое значение буквой C, значение белого цвета буквой A и значение черного цвета буквой B, то формула будет выглядеть следующим образом:

С = ( A + B ) / 2

Измерить значение белого и черного цвета можно просто поочередно расположив датчик над белой и черной линией и записать значения.

Ручной режим калибровки датчика цвета EV3

В ручном режиме делается это просто, при помощи меню, расположенном на экране блока Lego EV3. Для этого нужно на экране блока EV3 зайти в третью вкладку и открыть первое приложение из пяти. Это приложение называется представление порта.

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

Для примера установлю датчик цвета в порт под номером 3 и сниму показания на белом поле.

Пример калибровки датчика

На экране блока EV3 отобразилось показание в 43 условных единицы. Таким же образом определяем показания датчика на черной линии. Например показания будут 3 условных единицы. Подставляем эти значения в формулу.

С = ( A + B ) / 2 = (43 + 3) / 2 = 46 / 2 = 23

В результате получаем пороговое значение 23 условных единицы.

Автоматическая калибровка датчика цвета

Таким же точно образом измеряем пороговое значение (его еще называют значение серого) при автоматической калибровке, но на этот раз значение записывается в переменную. Назовем переменную, например, porog. В среде программирования Lego EV3 пишем программу для калибровки.

Программа с автоматической калибровкой датчика цвета

В первой части программы нужно расположить датчик над белым фоном. Датчик касания расположен в 1 порту. В программе используется блок ожидания действия с датчиком касания. В данном случае установлен параметр “щелчок” — цифра 2 в нижней части блока ожидания. Т.е. нужно нажать и отпустить кнопку датчика.

После этого датчик цвета в режиме отраженного света измеряет значение белого цвета и значение записывается в переменную A.

Во второй части программы нужно расположить датчик над черной линией и также нажать на кнопку датчика касания. Значения черного цвета записываются в переменную B.

В третьей части программы мы считываем значения датчиков из переменной A и B и передаем их значения в блок математики, который находится в режиме “Дополнения”. В этом блоке происходит вычисление по формуле С = ( A + B ) / 2 ирезультат вычисления записывается в переменную С.

Теперь значение переменной С можно использовать в качестве порогового значения серого для дальнейшего использования в алгоритмах движения по линии.

Движение по тонкой линии Arduino

Фрагмент соревнований по робототехнике «Движение по тонкой линии». Также это соревнование называют «Тонкий Триал». Этот очень быстрый робот в номинации роботов Arduino является победителем региональных соревнований.

По условиям соревнований робот Arduino должен совершить объезд кирпича и преодолеть качающийся мост. После преодоления препятствий робот должен вернуться на линию и финишировать не сойдя с трассы. Тонкий триал есть и в категории Lego EV3 роботов.

Прикрепленное изображение

Lego Mindstorms EV3 [31313]

(третье поколение - 2013 г.)
домашняя версия
Официальный портал Lego

Техническое описание модуля EV3:

Операционная система — LINUX
Контроллер - ARM9 300 МГц
Флэш-память — 16 МБ
Оперативная память — 64 МБ
Разрешение экрана модуля — 178x128/черно-белый
Связь с главным ПК через шину USB 2.0 — до 480 Мбит/с
Связь с главным ПК через шину USB 1.1 — до 12 Мбит/с
Карта памяти Micro SD — поддерживает SDHC, версия 2.0, макс. 32 ГБ
Порты мотора и датчика
Коннекторы — RJ12 (со смещенным фиксатором)
Поддержка автоматической идентификации
Питание — 6 батарей типа AA
Поддержка Bluetooth - есть
Поддержка Wi-Fi - есть (модуль приобретается отдельно)


Внешний вид упаковки и деталей набора:

Прикрепленное изображение
Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение


SPIK3R инструкция сайт

Прикрепленное изображение


R3PTAR инструкция сайт

Прикрепленное изображение


GRIPP3R инструкция сайт

Прикрепленное изображение


EV3RSTORM инструкция оф. сайт

Прикрепленное изображение


TRACK3R инструкция сайт

Прикрепленное изображение


BOBB3E инструкция сайт

Прикрепленное изображение


BANNER PRINT3R инструкция сайт

Прикрепленное изображение


RAC3 TRUCK инструкция сайт

Прикрепленное изображение


DINOR3X инструкция сайт

Прикрепленное изображение


KRAZ3 инструкция сайт

Прикрепленное изображение


EV3D4 инструкция сайт

Прикрепленное изображение


EL3CTRIC GUITAR инструкция сайт

Прикрепленное изображение


EV3MEG инструкция сайт

Прикрепленное изображение


MR. B3AM инструкция сайт

Прикрепленное изображение


ROBODOZ3R инструкция сайт

Прикрепленное изображение


WACK3M инструкция сайт

Прикрепленное изображение

Lego Education EV3 [45544], [45560]

(третье поколение - 2013 г.)
образовательная версия

Техническое описание модуля EV3:

Операционная система — LINUX
Контроллер - ARM9 300 МГц
Флэш-память — 16 МБ
Оперативная память — 64 МБ
Разрешение экрана модуля — 178x128/черно-белый
Связь с главным ПК через шину USB 2.0 — до 480 Мбит/с
Связь с главным ПК через шину USB 1.1 — до 12 Мбит/с
Карта памяти Micro SD — поддерживает SDHC, версия 2.0, макс. 32 ГБ
Порты мотора и датчика
Коннекторы — RJ12 (со смещенным фиксатором)
Поддержка автоматической идентификации
Питание — 6 батарей типа AA
Поддержка Bluetooth - есть
Поддержка Wi-Fi - есть (модуль приобретается отдельно)

Внешний вид упаковки и деталей наборов:

Прикрепленное изображение

Прикрепленное изображение

Основной набор Lego Education 45544 - 541 шт. скачать pdf

Прикрепленное изображение

Прикрепленное изображение

Ресурсный набор Lego Education 45560 - 853 шт. скачать pdf

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение


Гоночная машина формула 1 | Видео | Инструкция и описание

Прикрепленное изображение


Мойщик пола | Инструкция, демократ программа и видео

Прикрепленное изображение

Прикрепленное изображение


Приводная платформа на гусеничном ходу | Автор: Алексей Валуев | Видео | Инструкция и описание

Прикрепленное изображение


Валли (WALL-E) | Автор: Алексей Валуев | Видео - 1, 2, 3 | Инструкция и описание

Прикрепленное изображение


Часы со стрелками | Автор: Алексей Валуев | Видео | Инструкция и описание

Прикрепленное изображение


Ice's Giant | Автор: Ice Yam | Видео | Описание | Демопрограмма | Инструкция | Сайт

Прикрепленное изображение


Riley Rover | Автор: Damien Kee | Инструкция | Сайт

Прикрепленное изображение

Прикрепленное изображение


BT-R3MOTE | Автор: Dimitri Dekyvere | Видео - 1 и 2 | Инструкция (файл LDD) | Сайт

Прикрепленное изображение


EduTankBot | Автор: Dimitri Dekyvere | Видео | Инструкция (файл LDD) | Сайт

Прикрепленное изображение

Прикрепленное изображение


Гимнаст | Видео | Инструкция

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение


Build and Program Your Own LEGO Robots By Marziah Karch

Прикрепленное изображение


Exploring LEGO Mindstorms. Eun Jung (EJ) Park

Прикрепленное изображение


LEGO MINDSTORMS EV3 Discovery Book. Laurens Valk

Прикрепленное изображение


LEGO Mindstorms EV3 Laboratory. Daniele Benedettelli

Прикрепленное изображение


The Art of LEGO Mindstorms EV3 Programming. Terry Griffin

Прикрепленное изображение


Beginning LEGO MINDSTORMS EV3

Прикрепленное изображение


The LEGO Technic Idea Book Simple Machines

Прикрепленное изображение


Thе LЕGО MINDSTОRMS ЕV3 Idеа Bооk

Прикрепленное изображение


Технология и физика. Книга для учителя

Прикрепленное изображение


Технология и физика. Книга для учителя

Прикрепленное изображение


Doug Stillinger - Lego Crazy Action Contraptions - 2008

Прикрепленное изображение


Lego Technic. Tora no Maki

Прикрепленное изображение

Прикрепленное изображение


Официальные инструкции Lego Technic за 1970-2015

Прикрепленное изображение


Любительские инструкции Lego Technic

Занимательная робототехника
NiNoXT
Технический форум по робототехнике
Lego Engineering
NXT STEP Blog
Lego Mindstorms Robots

Lego Mindstorms NXT

(второе поколение - 2008 г.)

Техническое описание модуля модуля:

FAQ на phantoms.su
Обзор набора
Комплектация набора
Видео по ремонту дисплея модуля
Wi-Fi модуль
Подборка книг для NXT
Подборка инструкций к NXT, NXT 2.0

Lego Mindstorms RXT

(первое поколение - 1998 г.)

Техническое описание модуля:

Сыну 9-летнему заказал на ДР (и себе тоже :) ), "домашнюю" версию. Теперь вот голову ломаю чем его питать - батарейки жрет ведь безбожно, а фирменный аккум 5тыр стоит у нас.

А для чего эта приставка нужна??

Игры аля 90-е можно и на планшете поиграть. Там есть эмулятор Денди, Сега, Nintendo, Sony PS1

Читайте также: