Алгоритмы и программы движения по линии робота lego mindstorms ev3 pdf
Рассмотрим простейший алгоритм движения по черной линии на одном датчике цвета на 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.
Робот и человек по разному видят черную линию. У человека границы черного и белого четко различимы. Робот же видит размытую картину границы черного и белого. Для того, чтобы более точно определить линию, датчик робота должен быть расположен на границе черной линии и белого поля посередине.
При этом высота расположения датчика над линией должна быть около 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
Читайте также: