APP下载

基于AMESim的前馈控制算法研究

2022-05-24王祥瑞郭金中张国健

机械工程与自动化 2022年2期
关键词:传递函数被控控制算法

王祥瑞,梁 全,郭金中,张国健

(沈阳工业大学 机械工程学院,辽宁 沈阳 110870)

0 引言

工业机器人最常用的控制方案是基于关节的比例、积分和微分(PID)伺服控制[1],虽然该方案易于实现,并且能够在稳态下将机器人移动到所需的位置,但由于关节间的动态耦合和质量矩阵的变化会使PID控制失效,因此,这类机器人只能在稳态下执行精度的调节任务。所以对于需要有跟踪精度的任务,如弧焊、材料切割、装配以及动态环境中的运动协调,关节PID控制通常并不充分。因此研究人员长期以来一直在寻找能够获得更高控制性能的先进控制方法,其中一个解决方案是使用基于动态的前馈控制[2]。

1 基于动态的前馈控制

图1为一种典型的基于前馈加PID反馈控制(简称基于动力学的控制)系统,其中,F(s)为前馈模块,C(s)为反馈模块,G(s)为被控系统,r(s)为输入信号,x(s)为输出信号,u(s)为偏差信号。

图1 基于前馈加PID反馈控制系统

求解图1所示系统的传递函数则需要将右侧的相加点左移合并,如图2所示。由古典控制理论可知[3],该系统的传递函数为:

(1)

由公式(1)可以得出,如果F(s)=1/G(s)无限成立,即前馈传递函数恰好取被控系统的逆动力学函数,那么理想传递函数x(s)/r(s)=1可以得到。这个结果意味着,只要设计了合适的前馈控制,“无限”控制带宽是可能的。在这种方法中,前馈项主要用于提高控制精度,而反馈项主要用于克服不确定性、保持稳定性和处理过渡问题。

图2 根据控制理论整理后的前馈控制

与PID控制方法相比,图1所示的基于前馈加 PID反馈控制方法的优点如下:

(1) 图1中F(s)的设计完全基于机器人逆动力学函数,可以独立于反馈控制器C(s)获得。这些逆动力学函数可以从著名的拉格朗日和牛顿-欧拉公式中获得。

(2) 基于前馈加 PID反馈的控制方法通常适用于高度耦合的非线性系统,如机器人。

总之,基于前馈加 PID反馈控制方法能够在不依赖于反馈增益的情况下实现高带宽控制。拥有高带宽控制至少会对应用程序产生两个积极的影响:①它允许精确执行一些动态挑战性的任务,如高速切割、研磨、去毛刺和抛光,而使用PID控制的机器人是不可能的;②它允许以低得多的速度去快速执行以前由PID控制的机器人执行的任务。

2 前馈控制的基本思想

由于前馈项F(s)的传递函数是被控系统的倒数,因此需要知道被控系统的近似模型,只有这个模型及其接近真实系统,前馈控制的效果才会更好。

假定一个被控系统的模型为:

(2)

其中:A、B、M均为常数。

由于前馈控制器取被控系统的倒数,那么前馈控制器的传递函数(输入输出表达式)为[4]:

(3)

对式(3)进行离散化得:

(4)

其中:k为当前时刻;T为采样周期。

经过以上的推导可以看出,前馈控制器的输出与当前值、前一刻的值、前两刻的值有关,所以如果设定值长时间不变,前馈控制器则会失效。

3 质量块系统传递函数离散化

因为前馈控制器要求前馈环节是控制系统模型的倒数,不过在AMESim软件中无法建立分子的阶数大于分母阶数的传递函数模型,所以需要对传递函数进行离散化。以质量块系统为例,对其传递函数进行z变换,运用一阶向前差分方法对传递函数进行离散化[5]。质量块系统的动态方程为:

(5)

其中:F0(t)为输入合外力;b为黏性摩擦因数;m为质量块质量。

整理成传递函数为:

(6)

其中:X(s)为输出合力。

由此可得前馈控制环节的传递函数为:

F0(s)=ms2+bs.

(7)

(8)

X(z)[m(z2-2z+1)+bT(z-1)]=T2F0(z).

(9)

其中:F0(z)为离散时间序列f(k)的z变换;X(z)为离散时间序列x(k-n)的z变换,可以看作是复变量z平面上的劳伦级数。

4 模型搭建及仿真

在AMESim软件中,分别在PID控制和前馈控制下对质量块系统进行模型的搭建及仿真。质量块质量为10 kg, 黏性摩擦因数为5 N/(m/s)。

在AMESim软件中搭建的PID控制下的质量块系统模型如图3所示。本实验中给定阶跃信号的值为0.1 m,仿真时间设定为1 s,采样时间为0.001 s。选取PID控制的比例系数Kp=100、积分系数Ki=80、微分系数Kd=40进行仿真,输出的时间-位移曲线如图4所示,证明了PID控制器设计的正确性和合理性。

图3 PID控制下的质量块系统模型

图4 PID控制下的时间-位移曲线

图5 前馈控制下的质量块系统模型

图6 前馈控制下的时间-位移曲线

对比图4与图6可知,相比于PID控制,基于前馈加PID反馈对于系统的控制效果更好,响应时间更短,控制效果更加平稳,也使系统的工作效率得到了提升。

5 Visual Studio与AMESim联合仿真

应用Visual Studio与AMESim联合仿真,用C语言对前馈控制算法进行编程,在AMESim中搭建的仿真模型如图7所示。

图7 联合仿真下的质量块系统仿真模型

C语言部分程序如下:

double xk[3] ={ 0.0,

0.0,

0.0 };

double T = 0.001;

double m = 10;

double b = 5;

xk[2] = xk[1];

xk[1] = xk[0];

xk[0] = output[2];

input[2] = m * (xk[0] - 2 * xk[1] + xk[2]) / (T * T) + b * (xk[0] -xk[1]) / T;

程序中,xk[0]为当前的采样值,xk[1]为前一时刻的采样值,xk[2]为前两时刻的采样值,output[2]为交换值,input[2]为输入质量块系统的值。经仿真计算,结果与图6完全一致。

6 结语

对于复杂的机器人系统,由于传统的控制方法并不能对其进行有效的控制,所以需要寻求一种基于动态的控制。本文在AMESim仿真软件中,分别在PID控制和前馈控制下对质量块系统进行模型的搭建及仿真,并且对前馈控制算法进行了C语言编程,实现了Visual Studio与AMESim联合仿真。在仿真中不但对前馈控制器设计的正确性和合理性进行了验证,而且在与PID控制对比中体现出了这种基于前馈加 PID反馈控制方法的有效性以及优越性。

猜你喜欢

传递函数被控控制算法
多尺度土壤入渗特性的变异特征和传递函数构建
长江上游低山丘陵区土壤水分特征曲线传递函数研究
基于模型预测控制算法的智能密度控制系统在选煤厂的应用
PSS2A模型在水泥余热机组励磁中的实现与应用
港警在“修例风波”中拘捕近万人
高精度位置跟踪自适应增益调度滑模控制算法
基于航迹差和航向差的航迹自动控制算法
一种基于专家知识的动力定位控制算法及试验