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