ACS 频率特性调查
在本例中,让我们考虑 Engee 环境研究 ACS 频率特性的功能。
结构转换
无人机系统的模型是一个结构图,其中包括典型的动态链接块。通过对这些链接的传递函数进行运算,就能找到自动控制系统的传递函数。
当串联连接时,链节的传递函数等于其传递函数的乘积:
一组并联链路的传递函数等于其传递函数之和:
如果传递函数为 的链路被一个反馈所覆盖,其中有一个链路 ,则闭环 的传递函数由公式确定:
分母中的正负号分别对应负反馈和正反馈。
让我们考虑一下ControlSystems.jl
库的功能,通过这些功能可以对电路进行结构转换。
Pkg.add(["ControlSystems"])
#Подключим библиотеку для работы с САУ
using ControlSystems
#Зададим передаточные функции
W1 = tf([1],[0.5, 1]);
W2 = tf([1],[1, 1]);
有一个函数 ControlSystemsBase.series
用于传递函数的连续相乘。
#Последовательное перемножение систем
series(W1,W2)
使用函数 ControlSystemsBase.parallel
可以确定一组并联链路的传递函数。
#Параллельное соединение звеньев
parallel(W1,W2)
要确定由一个反馈链路组成的环路的传递函数,可使用函数 ControlSystemsBase.feedback
。
#Если звено охвачено единичной обратной связью, вторым аргументом указывается 1
W3 = feedback(W1,1)
#Если обратная связь проходит через звено W2
W4 = feedback(W1,W2)
display([W3,W4])
使用ControlSystemsBase.feedback
函数时,默认情况下会形成负反馈连接。不过,也可以通过传递 -1 作为第二个参数来指定该连接应为正反馈。
#Звено охвачено единичной положительной обратной связью
feedback(W1, -1)
获取并研究 ACS 的频率特性
让我们设置 ACS 的传递函数,如下图所示。

#Зададим параметры САУ
Ku = 10;
Tu = 0.001;
Km = 3;
Tm = 0.1;
Te = 0.02;
Kp = 0.01;
#Задаем передаточные функции звеньев САУ
W_1 = Ku*tf([1],[Tu, 1]);
W_2 = Km*tf([1],[Tm*Te, 1, 1]);
W_3 = Kp*tf([1],[1, 0]);
display([W_1, W_2, W_3])
这些链路是串联的,因此我们可以利用熟悉的 ControlSystemsBase.series
,获得开环系统的整体传递函数。
#Получаем передаточную функцию разомкнутой системы
W = series(W_1, W_2)
W = series(W, W_3)
让我们绘制 AFCC 和 LAFCC 图。
#Получение АФЧХ
w = -100:0.1:100
nyquistplot(W,w,title="АФЧХ",label="W")
同时绘制开环系统的 LFCC,并显示稳定储备的振幅和相位。为此,我们使用函数 ControlSystemsBase.marginplot
。
#Определим запасы устойчивости по амплитуде и по фазе
marginplot(W,label="W")
稳定裕量显示在图表标题中。振幅裕度为 1111.76 dB,相位裕度为 73.89 度。LFCC 在 18.26 弧度/秒时越过 180 度,截止频率为 0.29 弧度/秒。您还可以在图表上移动光标,查看任意选定点的振幅、相位和频率值。
结论
在本例中,我们学习了 Engee 用于研究无人机系统频率响应的功能。我们还学习了如何使用库函数ContolSystems.jl
转换结构图。要了解绘制频率响应图的更多信息,请参阅绘图函数。