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

30 марта 2019 - Администратор

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

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


 

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

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

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

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

Вернуться к содержанию

 
Комментарии (2)
Макс # 3 декабря 2019 в 20:18 0
Доброго времени суток!
Я очень благодарен за вашу работу и за вклад развитие в сфере робототехники в стране.
Можете подсказать в этом примере как и в предыдущим все поместим в общий бесконечный цикл?
или на разделитель делим? Заранее спасибо за ответ!
Администратор # 10 декабря 2019 в 10:13 0
Добрый день! В начале программы записываются значения в переменные k и vp, далее все остальные блоки записываются в бесконечный цикл