Пропорциональное управление роботом lego mindstorms

Обновлено: 02.05.2024

Алгоритм линейного пропорционального регулятора с двумя датчиками

Для более надежного движения по черной линии робота ev3 используется пропорциональный регулятор с двумя датчиками освещенности. Движение с двумя датчиками освещенности по черной линии с помощью линейного регулятора осуществляется по следующему алгоритму. В бесконечном цикле считываются показания левого и правого датчика освещенности, рассчитывается разность между показаниями правого и левого датчиков. Разность показаний датчиков освещенности умножается на коэффициент усиления. Чем больше эта разность, тем больше мы заехали левым датчиком на черную линию и соответственно нужно сильнее повернуть направо, чтобы съехать с черной линии. И наоборот если отклонение отрицательное то робот заехал правым датчиком на черную линию и соответственно нужно сильнее повернуть налево, чтобы съехать с черной линии
Формулы для определения мощности моторов ev3 линейного пропорционального регулятора с двумя датчиками
Мощность правого мотора = Мощность вперед – разность показаний правого и левого датчика*коэффициент усиления
Мощность левого мотора = Мощность вперед + разность показаний правого и левого датчика *коэффициент усиления
разность показаний правого и левого датчика = данные правого датчика цвета- данные левого датчика цвета
Коэффициент усиления линейного регулятора при движении по линии и скорость движения вперед задаются в программе для робота ev3 исходя из крутизны траектории. Чем круче повороты на траектории, тем больше должен быть коэффициент усиления линейного регулятора

Программа для робота ev3 для движения по черной линии линейный регулятор с двумя датчиками

Введем переменную коэффициент усиления k, переменную для движения вперед v и переменную. Вся программа пишется в бесконечном цикле.


Сначала вычисляется разность между показаниями датчиков, разность умножается на коэффициент усиления данное выражение записывается в переменную otkl. Математические вычисления осуществляются в программе ev3 с помощью блока Математика с помощью расширенного режима ADV .

Скорость левого мотора рассчитывается по формуле к скорости вперед прибавляется отклонение

Скорость правого мотора рассчитывается по формуле от скорости вперед отнимается отклонение


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

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

Доброго времени суток!
Я очень благодарен за вашу работу и за вклад развитие в сфере робототехники в стране.
Можете подсказать в этом примере как и в предыдущим все поместим в общий бесконечный цикл?
или на разделитель делим? Заранее спасибо за ответ!

Добрый день! В начале программы записываются значения в переменные k и vp, далее все остальные блоки записываются в бесконечный цикл

Пропорциональное управление роботом Lego Mindstorms EV3

Цена бумажного варианта: 400 руб.

Овсяницкая, Л.Ю. Пропорциональное управление роботом Lego Mindstorms EV3 / Л.Ю. Овсяницкая, Д.Н. Овсяницкий, А.Д. Овсяницкий. – М.: Издательство «Перо», 2015. – 188 с.

Книга распространяется в бумажном и в электронном виде.

Внимание! Иллюстрации в печатном варианте книги выполнены в черно-белом варианте!

В теории автоматического управления более 100 лет назад был разработан автоматический регулятор (лат. regulo – привожу в порядок, налаживаю) – устройство, с помощью которого осуществляется автоматическое регулирование различных процессов. С помощью датчик ов измеряется регулируемая величина и, в соответствии с заданным законом, вырабатывается управляющее воздействие на различные системы робототехнического комплекса.

Благодаря простоте реализации алгоритма пропорционального управления в среде програ ммирования Lego Mindstorms EV3, он приобрел заслу женную популярн ость.

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


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

- движение вдоль стены на заданном расстоянии;

- поис к и определение направления движущегося в зоне видимости робота предмета, слежение за ним;

- следован ие робота за маячком;

- дви жение робота по линии;

- движение робота по заданному курсу;

- удержание тяжелого груза в требуемом положении;

- реализация плавного разгона и торможения робота.

В книге подробно рассмотрен пример очень красивого и эффектного проекта «Робо-подсолнух», имитирующего эффект гелиотропизма – поворота растений в сторону солнца. На основе алгоритма пропорционального управления созданный робо-подсолнух будет поворачивать цветок в сторону более яркого света в горизонтальной и вертикальной плоскости.

Решение каждой задачи содержит подробный алгоритм и программный код. Приведены схемы сборки приведенных моделей роботов.

Третья глава, написанная совместно с кандидатом технических наук, доцентом А.Е. Васильевым, посвящена научному подходу к изучению элементов систем автоматического управления. В главе приведена полностью адаптированная к среде Lego Mindstorms EV3 методика Циглера-Николса, позволяющая теоретически рассчитать параметры ПИД‑регулятора и на практике увидеть полученные результаты.

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

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

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

Данная книга предполагает начальные знания основ алгоритмизации и умений работы со средой программирования Lego Mindstorms EV3. Рекомендуем предварительно ознакомиться с книгой «Курс программирования робота Lego Mindstorms EV3 в среде EV3: основные подходы, практические прим еры, секреты мастерства», авторы – Л.Ю. Овсяницкая, Д.Н. Овсяницкий, А.Д. Овсяницкий.

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

Пр едставлены книги:

На этом сайте Вы можете заказать только наши книги.



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

/ Л.Ю. Овсяницкая, Д.Н. Овсяницкий, А.Д. Овсяницкий. 2-е изд., перераб. и доп – М.: Издательство «Перо», 2016. – 300 с.

Книга распространяется в бумажном и электронном виде.

В бумажном варианте иллюстрации в книге ч/б.

В электронном варианте файл для скачивания не доступен.



Овсяницкая, Л.Ю. Пропорциональное управление роботом Lego Mindstorms EV3 / Л.Ю. Овсяницкая, Д.Н. Овсяницкий, А.Д. Овсяницкий. – М.: Издательство «Перо», 2015. – 188 с.

В книге рассмотрено применение алгоритмов пропорционального управления роботом Lego Mindstorms EV3 с использованием различных датчиков: движение робота вдоль стены, слежение за движущимся предметом, следование за маячком, движение по линии и по заданному курсу, удержание тяжелого груза в требуемом положении, реализация плавного разгона и торможения, имитация эффекта гелиотропизма.

Отдельная глава посвящена реализации в среде Lego Mindstorms EV3 методики Циглера-Николса, позволяющей теоретически рассчитать оптимальные параметры управления, планировать и реализовывать научный эксперимент, позволяя раскрыть научный потенциал образовательной робототехники.

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

Книга распространяется в бумажном и электронном виде.

В бумажном варианте иллюстрации в книге ч/б.

В электронном варианте файл для скачивания не доступен.


Овсяницкая, Л.Ю. Алгоритмы и программы движения робота Lego Mindstorms EV3 по линии / Л.Ю. Овсяницкая, Д.Н. Овсяницкий, А.Д. Овсяницкий. – М.: Издательство «Перо», 2015. – 168 с.

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

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

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

Книга распространяется в бумажном и электронном виде.

В бумажном варианте иллюстрации в книге ч/б.

В электронном варианте файл для скачивания не доступен.


Овсяницкая, Л.Ю. Машинное зрение в среде Lego Mindstorms EV3 с использованием камеры Pixy (CMUcam5) /

Л.Ю. Овсяницкая, Д.Н. Овсяницкий, А.Д. Овсяницкий. – Электронная книга, 2016. – 168 с.

Книга посвящена реализации машинного зрения в среде Lego Mindstorms EV3 с использованием камеры Pixy (CMUcam5). Рассмотрено современное видение понятия «машинное зрение». Указаны особенности выбора версии камеры, совместимой с роботом EV3. Рассмотрены настройки камеры и среды, позволяющие виртуозно использовать все доступные реализованные разработчиками камеры встроенные возможности.

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

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

Книга распространяется только в электронном виде. Файл для скачивания не доступен.


Овсяницкий, Д.Н. Шагающий робот – Шагозавр. Серия «Ожившая механика» на базе конструктора Lego Mindstorms EV3. Инструкция по сборке / Д.Н. Овсяницкий, Л.Ю. Овсяницкая, А.Д. Овсяницкий. – Электронная книга, 2015. – 168 с.

В книге представлен вариант сборки шагающего робота на базе конструктора Lego Mindstorms EV3. Базовая конструкция представленного робота позволяет устанавливать на него различное оборудования для игр и спортивных соревнований.

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

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

Книга распространяется только в электронном виде. Файл для скачивания не доступен.


Овсяницкий Д.Н. Сторожевая башня – «Единорог». Серия «Ожившая механика» на базе конструктора Lego Mindstorms EV3. Инструкция по сборке / Д.Н. Овсяницкий, Л.Ю. Овсяницкая, А.Д. Овсяницкий. – Электронная книга, 2015. – 78 с.

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

Внешний вид и внутреннее содержание робота напоминает Единорога и позволяет роботу «волшебным» образом следить за пространством вокруг себя, поворачиваясь на 360°, отслеживать и сопровождать движущиеся цели, определять направление движения цели, а в случае приближения ближе установленного расстояния – «уничтожить» её. Установленное «орудие» позволяет вести контролируемую стрельбу: один оборот – один выстрел. Книга также содержит программу управления роботом на базе пропорционального регулятора (П-регулятора).

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

Книга распространяется только в электронном виде. Файл для скачивания не доступен.


Овсяницкий, Д.Н. Часы «Веселая карусель». Инструкция по сборке / Д.Н. Овсяницкий, Л.Ю. Овсяницкая, А.Д. Овсяницкий. – Челябинск: Электронная книга, 2016. – 107 с.

Предлагаем вашему вниманию третью книгу из серии «Ожившая механика». В книге представлен вариант сборки робота – часов на базе конструктора Lego Mindstorms EV3.

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

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

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






Пропорциональный интегральный дифференциальный ПИД-регулятор в робототехнике Lego Mindstorms. Пропорциональный регулятор.

Подробности Автор: Коновалов Игорь Пропорциональный регулятор является усовершенствованием релейного регулятора . Главный минус релейного в том, что ему все равно, насколько текущие значения отличаются от нормального значения датчика. У него только два состояния - либо попытаться повысить значения датчика на определенное постоянное число, если они меньше нормального значения, либо повысить. Из-за этого происходят колебания с постоянной амплитудой, что очень неэффективно.
Намного более логично определять, насколько "далеко" находятся текущие показания от нормальных, и в зависимости от этого менять амплитуду. Чтобы стало более понятно, разберем на примере. Пример, как и в прошлой статье, тот же самый: робот из Lego Mindstorms EV3 едет по черной линии с помощью одного датчика цвета в режиме освещенности.


Робот пытается ехать вдоль границы между белым и черным, а там датчик показывает примерно 50 % освещенности. И чем дальше он от нормального положения, тем больше усилий прилагает робот, чтобы вернуться к 50 %.
Для написания программы воспользуемся терминами "ошибка", "управляющее воздействие". Ошибка - разность текущего показания датчика и нормального. В нашем случае, если сейчас робот видит 20 % освещенности, то ошибка равна 20-50= -30 %. Знак ошибки указывает, в какую сторону роботу стоит повернуть, чтобы избавиться от ошибки. Теперь мы должны указать моторам, в какую сторону роботу поворачивать, с какой скоростью и насколько резко. Нужно оказать управляющее воздействие на моторы, под которым подразумевается, насколько резко ему стоит возвращаться к нормальному положению. Управляющее воздействие (UP) рассчитывается как ошибка (error) умноженная на коэффициент пропорциональности (k). Этот коэффициент используется для усиления или уменьшения влияния ошибки на управляющее воздействие. Управляющее воздействие подается в рулевое управление, где устанавливается средняя скорость робота.
Как же настроить коэффициент пропорциональности? Опытным путем подбирать значения, для проезда траектории он может быть, например, от 0,2 до 1,5 в зависимости от скорости и конструкции робота. Если коэффициент слишком большой, то робот будет сильно вилять, если маленький - ехать плавно, но в какой-то момент на повороте съехать из-за недостаточной величины управляющего воздействия. Напишем две версии программы - с переменными (для тех, кто их уже изучал) и без.




Но и этот регулятор можно усилить с помощью введения пропорциональной и интегральной составляющей, описание будет в следующих статьях. До скорых встреч!






Пропорциональный интегральный дифференциальный ПИД-регулятор в робототехнике Lego Mindstorms. Пропорциональный регулятор.

Подробности Автор: Коновалов Игорь Пропорциональный регулятор является усовершенствованием релейного регулятора . Главный минус релейного в том, что ему все равно, насколько текущие значения отличаются от нормального значения датчика. У него только два состояния - либо попытаться повысить значения датчика на определенное постоянное число, если они меньше нормального значения, либо повысить. Из-за этого происходят колебания с постоянной амплитудой, что очень неэффективно.
Намного более логично определять, насколько "далеко" находятся текущие показания от нормальных, и в зависимости от этого менять амплитуду. Чтобы стало более понятно, разберем на примере. Пример, как и в прошлой статье, тот же самый: робот из Lego Mindstorms EV3 едет по черной линии с помощью одного датчика цвета в режиме освещенности.


Робот пытается ехать вдоль границы между белым и черным, а там датчик показывает примерно 50 % освещенности. И чем дальше он от нормального положения, тем больше усилий прилагает робот, чтобы вернуться к 50 %.
Для написания программы воспользуемся терминами "ошибка", "управляющее воздействие". Ошибка - разность текущего показания датчика и нормального. В нашем случае, если сейчас робот видит 20 % освещенности, то ошибка равна 20-50= -30 %. Знак ошибки указывает, в какую сторону роботу стоит повернуть, чтобы избавиться от ошибки. Теперь мы должны указать моторам, в какую сторону роботу поворачивать, с какой скоростью и насколько резко. Нужно оказать управляющее воздействие на моторы, под которым подразумевается, насколько резко ему стоит возвращаться к нормальному положению. Управляющее воздействие (UP) рассчитывается как ошибка (error) умноженная на коэффициент пропорциональности (k). Этот коэффициент используется для усиления или уменьшения влияния ошибки на управляющее воздействие. Управляющее воздействие подается в рулевое управление, где устанавливается средняя скорость робота.
Как же настроить коэффициент пропорциональности? Опытным путем подбирать значения, для проезда траектории он может быть, например, от 0,2 до 1,5 в зависимости от скорости и конструкции робота. Если коэффициент слишком большой, то робот будет сильно вилять, если маленький - ехать плавно, но в какой-то момент на повороте съехать из-за недостаточной величины управляющего воздействия. Напишем две версии программы - с переменными (для тех, кто их уже изучал) и без.




Но и этот регулятор можно усилить с помощью введения пропорциональной и интегральной составляющей, описание будет в следующих статьях. До скорых встреч!

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