朱大昌,崔翱东,杜宝林,盘意华
(广州大学机械与电气工程学院,广东广州 510006)
目前,机械臂控制往往采用单通道独立控制方 式, 由于各关节运动协同性的缺失, 导致机械臂末端受力不均衡, 关节磨损加剧, 从而降低了机械臂的整体性能。
为解决机械臂多关节的同步控制问题,KOREN提出了交叉耦合控制方法,通过共享各关节位置传感信息,产生相应控制信号,构建同步误差模型, 以实现多关节的同步控制。交叉耦合控制方法在多自由度机器人控制系统中得到较为广泛的应用。 一般情况下,研究者将同步误差定义为关节变量误差之差, 在满足同步误差收敛的同时, 计算简单、 易于实现,并应用于多关节机械臂同步控制器设计。
多自由度机械臂是一种典型的非线性、强耦合系统,以上同步误差定义方式难以满足其对于复杂轨迹跟踪性能的要求。针对这一问题,文献[6]中采用操作空间轮廓误差在关节空间的映射值来表征机械臂各关节之间的同步性能, 提出轮廓误差同步(Contour Error Synchronization,CES)控制器,提高了机械臂各关节同步性能,有效降低末端轮廓误差, 取得了良好的效果。然而, 目前轮廓误差同步控制大多采用传统PID算法,难以满足多自由度机械臂对快速性和精确性的要求,而机械臂控制中广泛应用的计算力矩控制算法(CTC)则对机械臂模型精度有较高的要求。
模型预测控制(Model Predictive Control,MPC)是一种对模型精度要求不高、在线计算方便、可以直接处理系统输入输出或状态约束、控制综合质量好的新型控制算法。相对于CTC,MPC对模型精度要求低,有着更好的控制效果。近年来,模型预测控制在机器人控制领域得到了广泛的发展。
本文作者提出了一种机械臂轮廓误差同步预测控制策略。首先利用轮廓误差转换矩阵求解操作空间的轮廓误差,并利用机械臂雅可比矩阵将操作空间轮廓误差映射到关节空间;再根据各个关节的跟踪误差和操作空间轮廓误差在关节空间的映射值重新定义了关节空间耦合误差,各关节的耦合误差包含了自身的信息和其他所有关节的信息,提高了各关节的协调性;最后利用耦合误差的离散化模型设计了轮廓误差同步预测控制器。为解决常规预测控制器不能保证系统稳定的问题,进一步提出了双模同步预测控制。试验结果表明:所设计的控制器能在保证跟踪误差收敛的同时有效减小轮廓误差并提高各关节之间的协调性,使得控制力矩相比常规预测控制更为柔和。
采用拉格朗日能量法,自由度机械臂的动力学方程表示为
(1)
机械臂的动力学方程(1)难以直接用于MPC控制器的设计。采用泰勒展开法,机械臂动力学方程线性化、离散化处理过程如下:
(2)
式中:
()=()
记采样周期为,当前时刻为,由泰勒展开式可以得到+1时刻的状态为
(3)
进一步地,可以将式(3)写成更简洁的形式:
(+1)=()+()+
(4)
(+1)=(+1)-(+1)=()+()+-(+1)
(5)
为了计算各个轴的同步误差,需首先计算机械臂操作空间的轮廓误差,再将操作空间的轮廓误差映射到关节空间,最后将操作空间轮廓误差在关节空间的映射值作为各个轴的同步误差。操作空间轮廓误差定义为末端实际位置与期望轨迹轮廓最近点的差值。为了减小计算量,用轮廓最近点的估计值代替实际值,轮廓最近点估计值定义为实际位置到期望位置切线的垂足,具体如图1所示。
图1 操作空间轮廓误差
=·
(6)
式中:为轮廓误差转换矩阵:
通过式(6)可以由操作空间的轨迹跟踪误差得到操作空间的轮廓误差。实际应用中机械臂操作空间的轨迹跟踪误差难以直接测量得到,可以利用雅可比矩阵将关节空间的位置跟踪误差映射到操作空间:
=·
(7)
式中:∈×表示机械臂的雅可比矩阵,表示笛卡尔空间自由度数。
设操作空间轮廓误差在关节空间的映射值为∈×1,此映射值可以通过雅可比矩阵的逆矩阵求解得到:
=·
(8)
式中:表示雅可比矩阵的逆矩阵。联立式(6)(7)(8)可以得到:
=···
(9)
通过式(9)可以得到操作空间轮廓误差在关节空间的映射值。文中将定义为关节空间同步误差,进行了同步控制器的设计。
为了同时考虑关节空间的跟踪误差和同步误差,需定义关节空间的耦合误差。常见耦合误差的定义方式为
=+λ
(10)
式中:∈×1为关节耦合误差;∈×1为关节跟踪误差;∈×1为关节同步误差;为耦合系数,耦合系数越大,关节同步性能越好。
=-
(11)
式中:表示关节空间的耦合误差;为当前实际状态。可通过下式求解:
(12)
式中:、分别为关节目标修正位置和速度;为只考虑同步误差时的关节目标修正位置;为耦合系数。可以看出始终位于和之间,耦合系数越大,越接近,同步性能越好。通过式(11)定义的耦合误差包含了关节的位置、速度跟踪误差信息和位置同步误差信息,所起到的效果与式(10)近似,且推导出的离散化表达式更为简单,便于预测控制器的设计。
根据式(4)(11),可以得到耦合误差的离散化表达式为
(+1)=()+()+-
(13)
再将式(11)代入式(13),可以将式(13)改写成如下形式:
(+1)=()+()+-(+)
(14)
定义系统时刻综合性能指标为
(15)
参照文献[10],记
根据式(4)可以得到:
=++
式中:
所以,式(15)等价于:
(16)
式中:
=-(+)(+-)
(17)
由于预测控制采用了滚动优化的控制策略,在时刻,只取中的第一项()作用到机械臂上,在+1时刻,则重新求解并取第一项(+1)作用到机械臂上。
上一小节设计的预测控制器容易求解得到控制力矩的解析表达式,但难以保证系统的稳定性。文献[11]总结了预测控制稳定性设计的三大要素即终端集、终端代价函数和局部控制率,并概括了保证预测控制稳定性的基本途径。作者提出了一种双模预测控制器,重新定义了系统的性能指标函数,并给出了三大要素的表达式,通过在有限时域内将系统状态驱动到终端集内,之后再切换到局部控制率,将系统状态稳定在终端集内,保证了系统的稳定性。
带有终端集约束和终端代价函数的双模预测控制,时刻的优化问题表示为
(18)
在控制时域内,通过求解优化问题式(18)将(+|)控制到终端集内,然后通过局部控制率镇定系统。下面设计局部控制率:
首先,利用输入变换,设
(19)
式中:表示机械臂实际输入力矩。
(+1)=()+()
然后设计局部控制率:
()=(|)
式中:∈×2。
在局部控制率的作用下,将式(21)代入式(20)得到:
(+1)=(+)()
(22)
机械臂的实际输入力矩可以通过求解式(19)(21)得到。
对于终端集和局部控制率,要求所构造的和要使(++1|)落在终端集内,即要求:
由于
所以,所设计的控制器必须满足需满足条件1:
(+)(+)-≤0
(23)
首先假设条件1满足。设时刻最优性能指标为(),()和()分别是最优解和最优状态轨迹。设+1时刻的一个可行解为
(+1)=(+1|+1),…,(+|+1),
(++1|+1)
注意到(+1)仅为可行解而并非最优解,所以由此可行解得到的(+1)满足:(+1)≥(+1),式中(+1)表示+1时刻的最优性能指标。
+1时刻的性能指标函数表示为
(++1|+1)=(+)(+|)
所以:
又由于:
所以:
故而,若满足条件2:
+(+)(+)-≤0
则可证得:
()≥(+1)≥(+1)
(25)
式(25)表示综合性能指标是不断收敛的,稳定性得以证明。由于条件2覆盖条件1,所以只需满足条件2即可证明控制器稳定。
另外,为了求解和,可以将式(24)改写成LMI形式:记=,=,式(24)可改写为
--(+)(+)>0
再将上式进一步改写成LMI形式:
(26)
通过求解此LMI可以得到和。
所以,机械臂的双模预测控制算法的步骤为
步骤1,获取当前机械臂的状态。
步骤2,根据LMI表达式(26)求解得到和,从而得到具体的优化问题表达式。
步骤3,求解优化问题(18)并得到最优控制序列。
步骤4,将最优控制序列的第一个控制率施加给机械臂。
步骤5,返回步骤1进行下一时刻的流程。
以二自由度机械臂为对象,将本文作者设计的轮廓误差同步预测控制器(CES-MPC),与传统的预测控制器(MPC)以及计算力矩控制器(CTC)进行了对比。
CTC控制算法的表达式为
预测控制算法的表达式为
二自由度机械臂实验平台如图2所示,实际实验中的关节输出力矩约束为=-=5 N·m,=-=0.5 N·m。实验结果如图3—图5所示。
图2 二自由度机械臂实验平台
图3 末端直线轨迹 图4 关节1输出力矩
图5 关节2输出力矩
为了更好地分析实验结果,将实验中3种算法下末端轨迹的跟踪误差和轮廓误差值进行了对比,末端轨迹误差比较见表1。
表1 末端轨迹轮廓误差比较
通过对比3种算法的实验结果可以看出:在末端存在初始误差的情况下,所设计的CES-MPC算法相比CTC算法和MPC算法,能更加有效地减小末端轮廓误差,且相比常规MPC算法,关节输出力矩波动较小,有着良好的控制效果。
为了提高机械臂末端轨迹精度和轮廓精度,并增强各轴之间的协调性,在基于操作空间轮廓误差模型的机械臂轮廓误差同步控制的基础上,引入了预测控制策略,提出了一种基于预测控制的机械臂轮廓误差同步控制。为了保证控制系统的稳定性,进一步引入了双模预测控制的概念。二自由度机械臂实验的实验结果表明:本文作者设计的控制器在保证机械臂末端跟踪精度的同时,能显著提高末端轮廓精度,并且增强了各轴之间的协调性,使各关节的输出力矩更为柔和,在末端轨迹存在初始误差的情况下仍然有良好的控制效果。