Таллиннский Технический Университет Домашняя Работа № 2 по предмету “Automaatjuhtimissüsteemid” Автопилот автомобиля на основе оптимального регулятора Студент: LAS 52 Преподаватель: A. Rähni Таллинн 2002 Описание работы: Необходимо вычислить такой регулятор, чтобы все параметры системы не превышали допустимые значения и при этом имели запас не менее 30%. Выяснить при каком отклонении получится реализовать данные настройки автопилота. Выяснить допустимое значение помехи. Исходные данные модели: U – скорость движения автомобиля вперёд; Cf, Cr – коэффициенты трения покрышек; X(t) характеризует состояние системы в момент времени t. x1 – угол поворота передних колёс; х2 – скорость, перпендикулярная направлению движения; х3 – скорость поворота; х4 – положения центра тяжести относительно желаемой траектории; х5 – угол поворота автомобиля; Пояснение параметров, использованных в эксперименте: X(0) – состояние системы в начальный момент времени. Все значения X(0) равны нулю, кроме отклонения от желаемой траектории, х4 = 4 м Xs – состояние системы, которое необходимо получить. Все значения Xs равны нулю. Ограничения системы: Максимальный угол поворота передних колёс х1 20; Отклонение от желаемой траектории x4 4 м; Угол поворота автомобиля x5 20; Максимальное управляющее напряжение U = 24 В; Пояснения к работе: Матрица А – это матрица состояния, матрица В – входная, матрица С – выходная, матрица G – входная матрица помехи состояния (olekuhäiringu sisendmaatriks), матрица D – матрица прямой связи, в данной системе отсутствует, матрица Ad – матрица состояния для дискретной системы, матрица Вd – входная для дискретной системы, td – шаг дискретизации. Значения всех матриц приведены далее (распечатка из MATLAB’а). Регулятор находится при помощи функции lqr для постоянной системы и dlqr для дискретной, K = lqr(A, B, Q, R), Kd = dlqr(Ad, Bd, Q, R). Матрицы А и В даны, Q и R подбираются опытным путём. Ad и Bd находятся при помощи команды [Ad, Bd] = c2d(A, B, td). Восстановитель состояния вычислялся при помощи функции place, L = place(A’, C’, [Pot])’ Результат: В результате проведённых экспериментов были получены следующие данные: Eksperimentides saavutatud väärtused |20|, |4|, Valitud ja arvutatud väärtused |24| kiireim [rad] |20| [V] [º], [m], [º] q11,…q55 r11 U1 max Y1,3, 4 max treg dx5 max /Z1,2,3,4,5 -1.1158 -11.9145 300; 0; -0.02220.03i -1.7899 4 0; 1; 50 5 2.1655 0.015 -10.0349 -0.01240.0107i -0.0007 -11.62 300; 0; 0.5 4 2.2 0.013 -0.64200.2872i -0.2667 0; 1; 50 -10.027 -0.83470.1221i -1 -9.55 -1 0.5 -0.1759 4 3.827 -3.17932.8996i -12.953 -15.2857 В первой строке значения, полученные для системы с постоянным временем, вторая для дискретной системы, третья для системы с восстановителем состояния. Для восстановителя состояния была так же получена таблица значений x1 и x2 для собственных значений матрицы А, смещённых на определённую величину: ex^(t) max ex^(t) koondumise kiirus Olekutaastaja arvutuse 300; 0; 0; 1; 50 valikud Х1 Х2 OT1,2,3,4,5 eig(A) – 1 10.2385 -55.614 3.1 6.7 eig(A) – 0.99 -250.87 76.48 5.8 1.8 eig(A) – 1.01 59.385 -53.98 4.8 5.5 Вычисления: Необходимый результат мы можем получить, выбирая соответствующие весовые коэффициенты R и Q. Пользуясь правилом qii 1/xi2 max , rii 1/Uj2 max можно выбрать соответствующие коэффициенты, учитывая все требования и ограничения. Опытным путём для системы постоянного времени были подобраны следующие коэффициенты: 300 0 0 0 0 0 0 0 0 0 Q 0 0 0 0 0 R 5 0 0 0 50 0 0 0 0 0 1 При помощи команды K = lqr(A, B, Q, R) был найден регулятор: K При данном регуляторе выполняются все условия и ограничения, описанные в задании. При помощи схемы для системы с постоянным временем были получены графики, которые прилагаются к отчёту. Значения матриц А и В прилагаются к отчёту на отдельном листе. Y1 11.9145 20 Y3 4 m 4 m Y4 10.0349 20 При этом для углов поворота существует запас более 30 %, что так же соответствует условию, приведённому в задании. Вычисления регулятора для дискретной системы делается так же, только значение R другое: 300 0 0 0 0 0 0 0 0 0 Q 0 0 0 0 0 R 0.5 0 0 0 50 0 0 0 0 0 1 Для вычислений используется команда Kd = dlqr(Ad, Bd, Q, R). Значения Ad и Bd так же прилагаются к отчёту. Kd 0.4778 0.0339 0.1355 0.0637 1.4919 При помощи схемы для дискретной системы были получены графики, которые прилагаются к отчёту. При данном регуляторе выполняются все условия и ограничения, указанные в задании: Y1 11.62 20 Y3 4 m 4 m Y4 10.027 20 Так же все углы поворота имеют запас более 30 %. Вычисление восстановителя состояния: Восстановитель вычисляется при помощи команды place. L = place(A’, C’, [Pot]), Pot – это собственные значения матрицы А, смещённые на единицу (eig(A) – 1). 0 0.2051 0.036 2.9377 0.6108 0.3114 8.3651 0 L 0.3873 0.0276 1.4362 0 0.0251 3.0478 0.4363 0.0026 0 0.0175 0 0.2668 При восстановителе состояния так же выполнены все условия и ограничения задания. Y1 9.55 20 Y3 4 m 4 m Y4 12.953 20 Выводы: При синтезе регулятора для системы с постоянным временем и дискретной системы были получены практически одинаковые результат (не смотря на разницу весового коэффициента R). Все условия задания были выполнены. Следовательно, в данном случае можно использовать как систему с постоянным временем, так и дискретную систему. Максимальная возможная помеха при постоянной системе была Xh = 0.015 rad, при дискретной системе Xh = 0.013 rad. Опыт с восстановителем состояния был выполнен без помехи. Для восстановителя состояния были проведены три опыта со смещением собственных значений матрицы А. Нужный результат был получен только при смещении на единицу (eig(A) - 1), при смещении на 0.99 и 1.01 условия задания уже не выполнялись – значение Х1 выходило за допустимые пределы, что и видно в вышеприведенной таблице.