Sliding mode tracking control of picking manipulator based on hyperbolic tangent function
-
摘要:目的
解决机械臂在农业领域应用中末端轨迹跟踪控制问题,确保农业采摘机器人采摘末端高精度轨迹跟踪和系统稳定运行。
方法提出一种基于双曲正切函数采摘机械臂的滑模跟踪控制方法。根据逆向运动学构建基于工作空间的机械臂动力学模型,设计双曲正切函数的滑模跟踪控制器,由Lyapunov函数保证控制系统的渐进稳定性。在MATLAB/Simulink环境中搭建机械臂仿真控制系统进行控制算法验证,分析滑模控制器对机械臂末端轨迹的跟踪效果。
结果仿真试验结果表明,与切换函数滑模控制器相比,基于双曲正切函数的滑模控制器能够实现高精度的轨迹跟踪和稳定控制,提高末端轨迹跟踪的收敛速度,减小机械臂末端轨迹跟踪控制误差,并使末端轨迹跟踪曲线的收敛时间减少50%,有效提高机械臂采摘系统的实时性和跟踪精度。
结论研究可为机械臂采摘的实际应用提供有效的控制方法。
Abstract:ObjectiveTo solve the problem of end trajectory tracking control in the application of mechanical arms in the agricultural field, and ensure the high-precision trajectory tracking and stable operation of the agricultural picking robot picking end.
MethodIt was suggested to use a hyperbolic tangent function-based sliding mode tracking control approach for a picking robot arm. A model of the manipulator dynamics based on the workspace was built using inverse kinematics, and a sliding mode tracking controller for the hyperbolic tangent function was created. The asymptotic stability of the control system was guaranteed by the Lyapunov function. The simulation control system of the manipulator was built in the MATLAB/Simulink environment to verify the control algorithm, and the tracking effect of the sliding mode controller on the end trajectory of the manipulator was analyzed.
ResultThe simulation test results showed that the sliding mode controller based on the hyperbolic tangent function achieved high-precision trajectory tracking and stable control, improved the convergence speed of the terminal trajectory tracking, reduced the robot end trajectory tracking control error, and reduced the convergence time of the terminal trajectory tracking curve by 50%, effectively improved the real-time performance and tracked accuracy of the robot picking system compared with the switching function sliding mode controller.
ConclusionThe research can provide an effective control method for the practical application of robotic arm picking.
-
农业机械的发展已逐步走向智能化、精细化。机器人技术在农业生产领域的应用将极大地改变农业生产作业方式,实现高效生产[1]。水果、蔬菜采收作业环境极其复杂、劳动强度高、季节性强,常因缺乏足够的劳动力而错失最佳采收时机。实现机器人采摘是果蔬实时采收和低成本收获的有效方案,并且可有效降低劳动强度、提高作业效率[2-4]。
在复杂农业作业环境中,未知干扰易造成农业机器人采摘机械臂末端轨迹的跟踪误差。针对机械臂末端轨迹跟踪控制精度问题,研究提出了PID控制、ADRC控制、滑模控制、鲁棒控制和神经网络控制等多种算法[5-9],但实际应用中往往是多种控制算法互取优势结合使用[10-11]。其中,滑模变结构控制算法[12-13]含有切换控制项函数,本质上是一种特殊的非线性控制算法,适用于属于多输入多输出的非线性系统的机械臂。张旭辉等[14]针对传统滑模控制算法在悬臂式掘进机轨迹跟踪控制中存在的缺陷问题,改进传统指数趋近律函数,并引入位姿偏差、增加幂次函数项,同时采用反步法设计新的切换函数代替符号切换函数,改进后的滑模控制器实现了系统的快速收敛并削弱了系统抖振。Baek等[15]在机械臂的控制研究中,采用延时估计技术提出一种自适应滑模控制器,在自适应律函数中添加有关速度的可调正增益和正设计参数,实现了良好的跟踪性能和较小的抖振效应。张蕾等[16]针对复合扰动对机械臂轨迹跟踪精度的影响,设计了基于非奇异积分终端滑模面的轨迹跟踪控制器,积分项提高了系统的鲁棒性,同时采用分数指数项来加快收敛速度。贾华等[17]针对机械臂模型未知且存在外界干扰时的跟踪控制问题,提出基于动力学模块分块逼近的神经网络终端滑模的控制方案,同时采用多组神经网络分块逼近动力学模型参数,实现模型重构和权值在线调整,与整体逼近算法相比,分块逼近使机械臂关节最大稳态误差减少83.7%,能够抵消末端负载变化情况。上述研究大多基于机械臂关节的控制角度进行,在实际工程应用中,机械臂的应用多关注于末端轨迹的跟踪控制。
在实际工程应用上,机械臂不仅要考虑外部干扰和不确定性问题,还需要考虑平滑、能耗及避障等方面。Lin等[18]在研究气动人工肌肉驱动的机械臂末端圆形轨迹跟踪时,在控制算法中采用遗传算法进行参数识别,设计出高阶滑模反馈控制算法以实现圆形轨迹跟踪,仿真结果表明控制器在抵抗外界干扰和建模不确定性方面具有更强的鲁棒性。Wang等[19]针对机械臂轨迹跟踪问题提出无模型自适应滑模控制策略,采用延时估计技术对未知动力学模型进行估计,同时设计自适应律来处理延时估计误差,在控制算法中引入改进的漏斗函数来控制跟踪误差,集成一种基于新型漏斗函数的非奇异快速终端滑模控制器以增强系统的跟踪控制性能。Zhao等[20]研究了在没有速度测量情况下的机械臂轨迹跟踪问题,提出一种由工作空间期望轨迹估计器、自适应律及速度观测器组成的协作跟踪控制方案,估计器用来产生期望轨迹,观测器可获得工作空间速度,并基于观测器和估计器设计出自适应控制律。倪元相等[21]研究了基于输出反馈式神经网络的三自由度机械臂轨迹跟踪控制问题,提出以B样条函数为基函数的人工神经网络,采用基于粒子群优化算法的离线训练方法确定控制器增益,并在关节空间和笛卡儿空间中验证了方案的可行性。
机械臂是一个复杂的非线性系统,而农业作业环境又极其复杂且作业对象物理特性复杂,诸如作业目标自然生长无序可循、每次作业目标位姿各不相同等,均会影响机械臂采摘作业的灵活性、反应速度和作业精度,易造成严重的动态扰动[22-23]。实现采摘机械臂灵活、高效、精准作业是研究机械臂跟踪控制的着眼点,本文针对机械臂在农业领域应用中的末端轨迹跟踪控制问题,提出基于双曲正切函数的控制策略。在MATLAB/Simulink仿真环境中搭建机械臂控制系统,验证所设计的控制器对轨迹跟踪的有效性。
1. 试验平台与设计
1.1 试验平台简介
果蔬采摘机器人主要由无人移动平台、视觉识别系统、机械臂操作系统和末端执行机构组成。基于此搭建实验室环境下的采摘平台,如图1所示。控制机械臂末端按期望轨迹到达采摘目标是农业采摘机器人的关键技术之一,本文针对其轨迹跟踪控制问题展开研究,以二自由度机械臂为模型来设计控制算法,并进行仿真验证。
1.2 坐标转换
数学分析中,机械臂的动力学模型通常是基于关节角度构建的,进而通过设计关节扭矩实现关节角度和角速度的跟踪。但在实际应用中,机械臂的控制重点是末端轨迹的稳定跟踪控制,因此需要建立工作空间中机械臂末端节点直角坐标的动力学模型。
如图2所示,根据几何关系计算出机械臂末端在工作空间中的位置为:
$$ \left\{\begin{array}{c}x={{l}}_{1}{\mathrm{cos}}q_1+{{l}}_{2}{\mathrm{cos}}\left({q}_{1}+{q}_{2}\right)\\ y={{l}}_{1}{\mathrm{sin}}{q}_{1}+{{l}}_{2}{\mathrm{sin}}\left({q}_{1}+{q}_{2}\right)\end{array}\text{,}\right. $$ (1) 式中:
$ x、y $ 分别为机械臂末端端点横坐标、纵坐标;$ {{l}}_{1}、{{l}}_{2} $ 分别为二自由度机械臂连杆OA、AB的长度;$ {q}_{1}、{q}_{2} $ 分别为连杆OA、AB的关节角度。依据直角三角形定理得:
$$ {x}^{2}+{y}^{2}={{l}}_{1}^{2}+{{l}}_{2}^{2}+2{{l}}_{1}{{l}}_{2}\mathrm{c}\mathrm{o}\mathrm{s}\left({q}_{2}\right)\text{,} $$ (2) 化简式(2)得:
$$ {q}_{2}=\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{c}\mathrm{o}\mathrm{s}\left(\frac{{x}^{2}+{y}^{2}-{{l}}_{1}^{2}-{{l}}_{2}^{2}}{2{{l}}_{1}{{l}}_{2}}\right)\text{,} $$ (3) 根据图2中几何关系可得:
$$ \alpha =\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}(y/x),x\geqslant 0\text{,} $$ (4) 或
$$ \alpha =\text{π}+\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}(y/x),x < 0\text{,} $$ (5) 在
$ \Delta OAB $ 中,根据三角形余弦定理得:$$ {{l}}_{2}^{2}={{l}}_{1}^{2}+\left({x}^{2}+{y}^{2}\right)-2{{l}}_{1}\sqrt{{x}^{2}+{y}^{2}}\mathrm{c}\mathrm{o}\mathrm{s}\beta \text{,} $$ (6) 由式(6)可求得:
$$ \beta =\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{c}\mathrm{o}\mathrm{s}\frac{{x}^{2}+{y}^{2}+{{l}}_{1}^{2}-{{l}}_{2}^{2}}{2{{l}}_{1}\sqrt{{x}^{2}+{y}^{2}}}\text{,} $$ (7) 从而有:
$$ {q}_{1}=\left\{\begin{array}{c}\alpha -\beta ,{q}_{2} > 0\\ \alpha +\beta ,{q}_{2}\leqslant 0\end{array}\right.\text{,} $$ (8) 定义
$ {\boldsymbol{z}}=\left[x\;y\right],{\boldsymbol{q}}=\left[{q}_{1}\;{q}_{2}\right] $ ,则
$$ \mathrm{d}{\textit{z}}=\frac{\partial {\textit{z}}}{\partial q}\mathrm{d}q\text{。}$$ (9) 定义
$$ {\boldsymbol{J}}=\frac{\partial {\textit{z}}}{\partial q}\text{,} $$ (10) 则
$$ \mathrm{d}{\textit{z}}={\boldsymbol{J}} \mathrm{d}q\text{,} $$ (11) 其中,
$ {\boldsymbol{J}}=\left[\begin{array}{cc}\dfrac{\partial x}{\partial {q}_{1}}& \dfrac{\partial x}{\partial {q}_{2}}\\ \dfrac{\partial y}{\partial {q}_{1}}& \dfrac{\partial y}{\partial {q}_{2}}\end{array}\right] $ ,$ {\boldsymbol{J}} $ 为机械臂末端端点速度与机械臂关节速度之间关系的雅可比矩阵。由式(1)可得:
$$ \frac{\partial x}{\partial {q}_{1}}=-{{l}}_{1}\mathrm{s}\mathrm{i}\mathrm{n}{q}_{1}-{{l}}_{2}\mathrm{sin}\left({q}_{1}+{q}_{2}\right)\text{,} $$ (12) $$ \frac{\partial x}{\partial {q}_{2}}=-{{l}}_{2}\mathrm{sin}\left({q}_{1}+{q}_{2}\right)\text{,} $$ (13) $$ \frac{\partial y}{\partial {q}_{1}}={{l}}_{1}\mathrm{c}\mathrm{o}\mathrm{s}{q}_{1}+{{l}}_{2}\mathrm{cos}\left({q}_{1}+{q}_{2}\right)\text{,} $$ (14) $$ \frac{\partial y}{\partial {q}_{2}}={{l}}_{2}\mathrm{cos}\left({q}_{1}+{q}_{2}\right)\text{,} $$ (15) 雅可比矩阵
$ {\boldsymbol{J}}\left({\boldsymbol{q}}\right) $ 则有如下表示:$$ {\boldsymbol{J}}\left({\boldsymbol{q}}\right)= \left[\begin{array}{cc}-{\mathrm{l}}_{1}\mathrm{s}\mathrm{i}\mathrm{n}{q}_{1}-{\mathrm{l}}_{2}\mathrm{s}\mathrm{i}\mathrm{n}\left({q}_{1}+{q}_{2}\right)& -{\mathrm{l}}_{2}\mathrm{s}\mathrm{i}\mathrm{n}\left({q}_{1}+{q}_{2}\right)\\ {\mathrm{l}}_{1}\mathrm{c}\mathrm{o}\mathrm{s}{q}_{1}+{\mathrm{l}}_{2}\mathrm{c}\mathrm{o}\mathrm{s}\left({q}_{1}+{q}_{2}\right)& {\mathrm{l}}_{2}\mathrm{c}\mathrm{o}\mathrm{s}\left({q}_{1}+{q}_{2}\right)\end{array}\right] \text{,}$$ 雅可比矩阵求导可得:
$$ \begin{aligned} &\dot{{\boldsymbol{J}}}({\boldsymbol{q}})=\\ &\begin{aligned} &{\left[\begin{array}{ll} -{{l}}_1 \cos q_1-{{l}}_2 \cos \left(q_1+q_2\right) & -{{l}}_2 \cos \left(q_1+q_2\right) \\ -{{l}}_1 \sin q_1-{{l}}_2 \sin \left(q_1+q_2\right) & -{{l}}_2 \sin \left(q_1+q_2\right) \end{array}\right] \dot{q}_1}+ \\ & \quad\left[\begin{array}{ll} -{{l}}_2 \cos \left(q_1+q_2\right) & -{{l}}_2 \cos \left(q_1+q_2\right) \\ -{{l}}_2 \sin \left(q_1+q_2\right) & -{{l}}_2 \sin \left(q_1+q_2\right) \end{array}\right] \dot{q}_2\text{,} \end{aligned} \end{aligned}$$ 根据
${\boldsymbol{ J}}\left({\boldsymbol{q}}\right) $ 和$ \dot{{\boldsymbol{J}}}\left({\boldsymbol{q}}\right) $ 可知,$ {\boldsymbol{J}}\left({\boldsymbol{q}}\right) $ 是由结构决定的,在此假设$ {\boldsymbol{J}}\left({\boldsymbol{q}}\right) $ 在有界的工作空间中是非奇异的。1.3 机械臂建模
基于关节角度的机械臂模型为:
$$ {\boldsymbol{D}}\left({\boldsymbol{q}}\right)\ddot{q}+{\boldsymbol{C}}\left({\boldsymbol{q}},\dot{{\boldsymbol{q}}}\right)\dot{q}+{\boldsymbol{G}}\left({\boldsymbol{q}}\right)=\tau \text{,} $$ (16) 式中:
$ {\boldsymbol{q}}\in {R}^{n} $ ,为关节变量向量;$ {\boldsymbol{\tau}} \in {R}^{n} $ ,为执行机构施加的关节扭矩向量;$ {\boldsymbol{D}}\left({\boldsymbol{q}}\right)\in {R}^{n\times n} $ ,为对称正定惯性矩阵;$ {\boldsymbol{C}}\left({\boldsymbol{q}},\dot{{\boldsymbol{q}}}\right)\in {R}^{n\times n} $ ,为哥氏力和离心力向量;$ {\boldsymbol{G}}\left({\boldsymbol{q}}\right)\in {R}^{n} $ ,为重力向量。在工程实际应用中,为实现机械臂末端轨迹的跟踪控制目标,需要将基于关节角度的动力学方程转换为基于直角坐标的动力学方程,即在直角坐标系下研究末端力与轨迹跟踪目标的数值关系。
在静态平衡状态下,机械臂末端力F与关节力矩
$ {\boldsymbol{\tau}} $ 之间存在线性映射关系,根据虚功原理可知其关系式如下:$$ {\boldsymbol{\tau}} ={{\boldsymbol{J}}}^{{\mathrm{T}}}\left({\boldsymbol{q}}\right)F\text{,} $$ (17) 变形得:
$$ F={{\boldsymbol{J}}}^{-{\mathrm{T}}}\left({\boldsymbol{q}}\right){\boldsymbol{\tau}} \text{。} $$ (18) 由公式(10)得:
$$ \dot{{\textit{z}}}={\boldsymbol{J}} \dot{q}\text{,} $$ (19) 则有:
$$ \dot{q}={{\boldsymbol{J}}}^{-1}\dot{{\textit{z}}}\text{,} $$ (20) $$ \ddot{{\textit{z}}}=\dot{{\boldsymbol{J}}}\dot{q}+{\boldsymbol{J}}\ddot{q}=\dot{{\boldsymbol{J}}}{{\boldsymbol{J}}}^{-1}\dot{{\textit{z}}}+{\boldsymbol{J}}\ddot{q}\text{,} $$ (21) 根据式(21)可得出关节角加速度
$(\ddot{q}) $ 为:$$ \ddot{q}={{\boldsymbol{J}}}^{-1}\left(\ddot{{\textit{z}}}-\dot{J}{{\boldsymbol{J}}}^{-1}\dot{{\textit{z}}}\right)\text{,} $$ (22) 将式(22)代入式(16),可得:
$$ {\boldsymbol{D}}{{\boldsymbol{J}}}^{-1}\left(\ddot{{\textit{z}}}-\dot{{\boldsymbol{J}}}{{\boldsymbol{J}}}^{-1}\dot{{\textit{z}}}\right)+{\boldsymbol{C}}{{\boldsymbol{J}}}^{-1}\dot{{\textit{z}}}+{\boldsymbol{G}}={\boldsymbol{\tau}} \text{,} $$ (23) 即:
$$ {\boldsymbol{D}}{{\boldsymbol{J}}}^{-1}\ddot{{\textit{z}}}-{\boldsymbol{D}}{{\boldsymbol{J}}}^{-1}\dot{J}{J}^{-1}\dot{{\textit{z}}}+{\boldsymbol{C}}{{\boldsymbol{J}}}^{-1}\dot{{\textit{z}}}+{\boldsymbol{G}}={\boldsymbol{\tau}} \text{,} $$ (24) 整理得:
$$ {\boldsymbol{D}}{{\boldsymbol{J}}}^{-1}\ddot{{\textit{z}}}+\left({\boldsymbol{C}}-{\boldsymbol{D}}{{\boldsymbol{J}}}^{-1}\dot{J}\right){{\boldsymbol{J}}}^{-1}\dot{{\textit{z}}}+{\boldsymbol{G}}={\boldsymbol{\tau}} \text{,} $$ (25) 等式两边同时乘以
$ {J}^{-T} $ 可得:$$ {{\boldsymbol{J}}}^{-{\mathrm{T}}}\left[{\boldsymbol{D}}{{\boldsymbol{J}}}^{-1}\ddot{{\textit{z}}}+\left({\boldsymbol{C}}-{\boldsymbol{D}}{{\boldsymbol{J}}}^{-1}\dot{{\boldsymbol{J}}}\right){{\boldsymbol{J}}}^{-1}\dot{{\textit{z}}}+{\boldsymbol{G}}\right]={{{J}}}^{-{\mathrm{T}}}{\boldsymbol{\tau}} \text{,} $$ (26) 同时,考虑建模不确定性,得到如下机械臂动力学模型:
$$ {{\boldsymbol{D}}}_{{\textit{z}}}\ddot{{\textit{z}}}+{{\boldsymbol{C}}}_{{\textit{z}}}\dot{{\textit{z}}}+{{\boldsymbol{G}}}_{{\textit{z}}}+\Delta \left(q,\dot{q},\ddot{q}\right)=F\text{,} $$ (27) 其中,
$ {{\boldsymbol{D}}}_{{\textit{z}}}={{\boldsymbol{J}}}^{-{\mathrm{T}}}{\boldsymbol{D}}{{\boldsymbol{J}}}^{-1} $ ,$ {{\boldsymbol{C}}}_{{\textit{z}}}={{\boldsymbol{J}}}^{-{\mathrm{T}}}\left({\boldsymbol{C}}-{\boldsymbol{D}}{{\boldsymbol{J}}}^{-1}\dot{{\boldsymbol{J}}}\right){{\boldsymbol{J}}}^{-1} $ ,$ {{\boldsymbol{G}}}_{{\textit{z}}}= {{\boldsymbol{J}}}^{-{\mathrm{T}}}{\boldsymbol{G}} $ ,$ \left\| {\Delta \left(q,\dot{q},\ddot{q}\right)} \right\|\leqslant \eta $ 。上述机械臂动态方程具有2个特性:惯性矩阵
$ {{\boldsymbol{D}}}_{{{{\boldsymbol{z}}}}} $ 对称正定;矩阵$ {\dot{{\boldsymbol{D}}}}_{{\boldsymbol{z}}}-2{{\boldsymbol{C}}}_{{\boldsymbol{z}}} $ 是斜对称的。1.4 控制目标
在二维直角坐标系中研究二关节机械臂末端轨迹跟踪控制问题,因此,控制器的控制对象是末端端点在横轴和纵轴上的位置和行速度。设横轴方向的位置为
$ x $ ,纵轴上的位置为$ y $ ,记为$ {\boldsymbol{z}}=\left[x\;y\right] $ 。末端轨迹为时间的函数,记为$ {\boldsymbol{z}}\left(t\right) $ 。假设$ {{\boldsymbol{z}}}_{d}\left(t\right) $ 是在工作空间中的理想轨迹,则$ {\dot{{\boldsymbol{z}}}}_{d}\left(t\right) $ 和$ {\ddot{{\boldsymbol{z}}}}_{d}\left(t\right) $ 分别是理想的速度和加速度。末端轨迹跟踪误差的定义如下:
$$ {e\left(t\right)={\boldsymbol{z}}}_{d}\left(t\right)-{\boldsymbol{z}}\left(t\right)\text{,} $$ (28) 末端速度跟踪误差计算公式为:
$$ {\dot{e}\left(t\right)=\dot{{\boldsymbol{z}}}}_{d}\left(t\right)-\dot{{\boldsymbol{z}}}\left(t\right)\text{。} $$ (29) 上述跟踪误差记为控制目标,设计控制器使控制对象能够快速稳定地跟踪期望目标
$ {{\boldsymbol{z}}}_{d}\left(t\right) $ 和$ {\dot{{\boldsymbol{z}}}}_{d}\left(t\right) $ ,即跟踪误差$ e\left(t\right)\to 0 $ ,$ \dot{e}\left(t\right)\to 0 $ 。1.5 控制器的设计
在传统的滑模控制器设计中,切换控制项通常采用一般切换函数——符号函数或滑模面函数,但此类切换函数会引起控制系统的抖振。为解决这一问题,采用连续的双曲正切函数代替一般切换函数,双曲正切函数的陡度可调节切换控制的切换程度。
双曲正切函数定义为:
$$ \mathrm{tanh}({{x'}}/\varepsilon)=\frac{{\mathrm{e}}^{{{x'}}/\varepsilon}-{\mathrm{e}}^{-{{x'}}/\varepsilon}}{{\mathrm{e}}^{{{x'}}/\varepsilon}+{\mathrm{e}}^{-{{x'}}/\varepsilon}}\text{,} $$ (30) 式中,
$ \varepsilon$ 为双曲正切函数的陡度且$ \varepsilon > 0 $ 。引理1:针对任意给定的实数$ {x'} $ ,存在下面的不等式:$$ {x'}\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\left( {{x'}}/\varepsilon \right) = \left|{x'}\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h} \left({{x'}}/\varepsilon\right)\right| = \left|{x'}\right|\left|\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\left({{x'}}/\varepsilon\right)\right|\geqslant 0\text{,} $$ (31) $$ 0\leqslant \left|{x'}\right|-{x'}\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\left({{x'}}/\varepsilon\right)\leqslant \mu \varepsilon \text{,} $$ (32) 式中,
$ \mu=0.278\;5 $ 。引理 2:假设
$ \mathrm{f},V:[0,\mathrm{\infty })\in \mathrm{R} $ ,如果存在$ \dot{V}\leqslant -\alpha V+\mathrm{f} $ ,$ \forall \mathrm{t}\geqslant {t}_{0}\geqslant 0 $ ,则:$$ V\left(t\right)\leqslant {\mathrm{e}}^{-\text{α }\left(t-{t}_{0}\right)}V\left({t}_{0}\right)+{\int }_{{t}_{0}}^{t}{\mathrm{e}}^{-\text{α }\left(t-{\boldsymbol{\tau}} \right)}\mathrm{f}\left({{\tau}} \right)\mathrm{d}{\boldsymbol{\tau}} \text{,} $$ (33) 式中,
$ \alpha $ 为任意实数。由轨迹跟踪误差公式得:
$$ {{\boldsymbol{z}}\left(t\right)={\boldsymbol{z}}}_{d}\left(t\right)-e\left(t\right)\text{,} $$ (34) 求导得:
$$ {\dot{{\boldsymbol{z}}}\left(t\right)=\dot{{\boldsymbol{z}}}}_{d}\left(t\right)-\dot{e}\left(t\right)\text{,} $$ (35) 定义
$$ {\dot{{\boldsymbol{z}}}}_{r}\left(t\right)={\dot{{\boldsymbol{z}}}}_{d}\left(t\right)+{{\boldsymbol{\varLambda}} }e\left(t\right)\text{,} $$ (36) 设计滑模函数为:
$$ s\left(t\right)={\dot{{\boldsymbol{z}}}}_{r}\left(t\right)-\dot{{\boldsymbol{z}}}\left(t\right)=\ddot{e}\left(t\right)+\boldsymbol{\varLambda }e\left(t\right)\text{,} $$ (37) 式中,
$ {\boldsymbol{\varLambda}} $ 为正定矩阵。根据机械臂动力学模型公式(27),设计一种具有光滑双曲正切切换的滑模控制器:
$$ {F=D}_{{\textit{z}}}{\ddot{{\textit{z}}}}_{r}+{C}_{{\textit{z}}}{\dot{{\textit{z}}}}_{r}+{G}_{{\textit{z}}}+Ks+\eta {\mathrm{tan}}{\mathrm{h}}({s}/{\varepsilon })\text{,} $$ (38) 式中,
$ K $ 表示控制器的增益且$ K > 0 $ 。综上分析,机械臂末端轨迹跟踪控制框图见图3。
2. 试验结果与分析
2.1 稳定性验证
通过构造Lyapunov函数来证明所设计的滑模控制器满足系统稳定性的要求。
将控制律式(38)代入式 (27)中,得:
$$ \begin{split} {{\boldsymbol{D}}}_{{\boldsymbol{z}}}\ddot{{\boldsymbol{z}}}+&{C}_{{\boldsymbol{z}}}\dot{{\boldsymbol{z}}}+{{\boldsymbol{G}}}_{{\boldsymbol{z}}}+\Delta \left(q,\dot{q},\ddot{q}\right)={{\boldsymbol{D}}}_{{\boldsymbol{z}}}{\ddot{{\boldsymbol{z}}}}_{r}+{{\boldsymbol{C}}}_{{\boldsymbol{z}}}{\dot{{\boldsymbol{z}}}}_{r}+\\&{{\boldsymbol{G}}}_{{\boldsymbol{z}}}+Ks+\eta {\mathrm{tanh}}({s}/{\varepsilon })\text{,} \end{split}$$ (39) 将
$ \dot{{\boldsymbol{z}}}\left(t\right)={\dot{{\boldsymbol{z}}}}_{r}\left(t\right)-s\left(t\right) $ ,$ \ddot{{\boldsymbol{z}}}\left(t\right)={\ddot{{\boldsymbol{z}}}}_{r}\left(t\right)-\dot{s}\left(t\right) $ 代入公式(39)得:$$ {{\boldsymbol{D}}}_{{\boldsymbol{z}}}\dot{s}+{{\boldsymbol{C}}}_{{\boldsymbol{z}}}s+Ks+\eta {\mathrm{tan}}{\mathrm{h}}({s}/{\varepsilon })-\Delta \left(q,\dot{q},\ddot{q}\right)=0 \text{。}$$ 由于
$ {{\boldsymbol{D}}}_{{\boldsymbol{z}}}\left({\boldsymbol{q}}\right) $ 为对称正定,则可定义Lyapunov函数为:$$ V=\frac{1}{2}{s}^{{\mathrm{T}}}{{\boldsymbol{D}}}_{{\boldsymbol{z}}}\left(q\right)s\text{,} $$ (40) 则有:
$$ \dot{V}={s}^{{\mathrm{T}}}{{\boldsymbol{D}}}_{{\boldsymbol{z}}}\dot{s}+\frac{1}{2}{s}^{{\mathrm{T}}}{\dot{{\boldsymbol{D}}}}_{{\textit{z}}}s\text{。} $$ (41) 由于矩阵
$ {\dot{{\boldsymbol{D}}}}_{{\boldsymbol{z}}}\left({\boldsymbol{q}}\right)-2{{\boldsymbol{C}}}_{{\boldsymbol{z}}}\left({\boldsymbol{q}},\dot{{\boldsymbol{q}}}\right) $ 是斜对称的,则$ {s}^{{\mathrm{T}}}{\dot{{\boldsymbol{D}}}}_{{\boldsymbol{z}}}- 2{{\boldsymbol{C}}}_{{\boldsymbol{z}}}s=0 $ ,即$ \dfrac{1}{2}{s}^{{\mathrm{T}}}{\dot{{\boldsymbol{D}}}}_{{\boldsymbol{z}}}s={s}^{{\mathrm{T}}}{{\boldsymbol{C}}}_{{\boldsymbol{z}}}s $ ,代入式(41)得:$$ \begin{split} \dot{V}&={s}^{{\mathrm{T}}}{{\boldsymbol{D}}}_{{\boldsymbol{z}}}\dot{s}+{s}^{{\mathrm{T}}}{{\boldsymbol{C}}}_{{\boldsymbol{z}}}s={s}^{{\mathrm{T}}}\left({{\boldsymbol{D}}}_{{\boldsymbol{z}}}\dot{s}+{{\boldsymbol{C}}}_{{\boldsymbol{z}}}s\right)\\&={s}^{{\mathrm{T}}}\left[-Ks-\eta \mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}({s}/\varepsilon)+\Delta \left(q,\dot{q},\ddot{q}\right)\right]\text{。} \end{split}$$ (42) 根据引理1,可得:
$$ \begin{split} {s}^{{\mathrm{T}}}& \left(-\eta \mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}{s}/{ \varepsilon}+\Delta \left(q,\dot{q},\ddot{q}\right)\right) =-\eta{s}^{{\mathrm{T}}}\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}({s}/\varepsilon){+s}^{{\mathrm{T}}}\Delta \left(q,\dot{q},\ddot{q}\right) \leqslant \\&-\eta \left\| {s} \right\|+\eta \mu s{+s}^{{\mathrm{T}}}\Delta \left(q,\dot{q},\ddot{q}\right)\leqslant \eta {\text{μ}}s,\\[-5pt]\end{split}$$ (43) 于是:
$$ \begin{split} \dot{V}\leqslant &-{s}^{{\mathrm{T}}}Ks+\eta\mu s\leqslant -\lambda _{\mathrm{m}\mathrm{i}\mathrm{n}}\left(K\right){s}^{{\mathrm{T}}}s+\eta\mu s =\\& -\frac{2{\lambda }_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(K\right)}{{\lambda }_{\mathrm{m}\mathrm{a}\mathrm{x}}\left({{\boldsymbol{D}}}_{{\boldsymbol{z}}}\right)}\frac{1}{2}{\lambda }_{\mathrm{m}\mathrm{a}\mathrm{x}}\left({{\boldsymbol{D}}}_{{\boldsymbol{z}}}\right){s}^{{\mathrm{T}}}s+\eta\mu s \leqslant -2\lambda V+b-\\&2{\lambda }V+b\text{,} \end{split} $$ (44) 式中,
$ \lambda_{\mathrm{m}\mathrm{a}\mathrm{x}}\left({D}_{x}\right) $ 为$ {D}_{x} $ 的最大特征值;$ \lambda_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(K\right) $ 为$ K $ 的最小特征值。$$ {\lambda }=\frac{{\lambda }_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(K\right)}{{{\lambda }}_{\mathrm{m}\mathrm{a}\mathrm{x}}\left({{\boldsymbol{D}}}_{{\boldsymbol{z}}}\right)}\text{,} $$ (45) $$ {b}=\eta\mu s\text{。} $$ (46) 根据
$ \dot{V}\leqslant -2{\lambda }V+b $ ,采用引理2,可得:$$ \begin{split} V\left(t\right)&\leqslant {{\mathrm{e}}}^{-2{\lambda }\left(t-{t}_{0}\right)}V\left({t}_{0}\right)+\mathrm{b}{{\mathrm{e}}}^{-2\lambda t}{\int }_{{t}_{0}}^{t}{{\mathrm{e}}}^{2\lambda t}{\mathrm{d}}{\boldsymbol{\tau}} =\\&{{\mathrm{e}}}^{-2\lambda \left(t-{t}_{0}\right)}V\left({t}_{0}\right)+\frac{\mathrm{b}{{\mathrm{e}}}^{-2\lambda t}}{2\lambda }\left({{\mathrm{e}}}^{2\lambda t}-{{\mathrm{e}}}^{2\lambda {t}_{0}}\right)=\\&{{\mathrm{e}}}^{-2{\lambda }\left(t-{t}_{0}\right)}V\left({t}_{0}\right)+\frac{\mathrm{b}}{2\lambda }\left(1-{{\mathrm{e}}}^{-2\lambda \left(t-{t}_{0}\right)}\right)\text{,}\end{split} $$ (47) 则:
$$ \underset{t\to \infty }{\mathrm{lim}}V\left(t\right)\leqslant {\eta\mu \varepsilon }/{2\lambda }\text{,} $$ (48) 根据式(48)可知,跟踪误差和误差导数渐进收敛,收敛精度取决于
$ \varepsilon $ 、$ \lambda $ 和$ \eta $ ,即$ \varepsilon$ 越小,$ K $ 越大,$ \Delta $ 越小,收敛效果就越好。2.2 仿真分析
为验证文中所设计的控制器的有效性和可靠性,以上述二自由度机械臂为控制对象,其动力学方程为式(13),经过计算可得出相关矩阵表达式如下:
$$ {\boldsymbol{D}}\left({\boldsymbol{q}}\right)=\left[\begin{array}{cc}{{p}}_{1}+{{p}}_{2}+2{{p}}_{3}\mathrm{c}\mathrm{o}\mathrm{s}{q}_{2}& {{p}}_{2}+{{p}}_{3}\mathrm{c}\mathrm{o}\mathrm{s}{q}_{2}\\ {{p}}_{2}+{{p}}_{3}\mathrm{c}\mathrm{o}\mathrm{s}{q}_{2}& {{p}}_{2}\end{array}\right]\text{,} $$ (49) $$ {\boldsymbol{C}}\left({\boldsymbol{q}},\dot{{\boldsymbol{q}}}\right)=\left[ \begin{array}{cc}-{{p}}_{3}{\dot{q}}_{2}\mathrm{s}\mathrm{i}\mathrm{n}{q}_{2}& -{{p}}_{3}\left({\dot{q}}_{1}+{\dot{q}}_{2}\right){\dot{q}}_{2}\mathrm{s}\mathrm{i}\mathrm{n}{q}_{2}\\ {{p}}_{3}{\dot{q}}_{1}\mathrm{s}\mathrm{i}\mathrm{n}{q}_{2}& 0\end{array} \right]\text{,} $$ (50) $$ {\boldsymbol{G}}\left({\boldsymbol{q}}\right)=\left[\begin{array}{c}{{p}}_{4}\mathrm{g}\mathrm{c}\mathrm{o}\mathrm{s}{q}_{1}+{{p}}_{5}\mathrm{g}\mathrm{c}\mathrm{o}\mathrm{s}\left({q}_{1}+{q}_{2}\right)\\ {{p}}_{5}\mathrm{g}\mathrm{c}\mathrm{o}\mathrm{s}\left({q}_{1}+{q}_{2}\right)\end{array}\right]\text{,} $$ (51) 式中,
$ {{p}}_{1}=\left({{m}}_{1}+{{m}}_{2}\right){{l}}_{1}^{2} $ ,$ {{p}}_{2}={{m}}_{2}{{l}}_{2}^{2} $ ,$ {{p}}_{3}={{m}}_{2}{{l}}_{1}{{l}}_{2} $ ,$ {{p}}_{4}= ({{m}}_{1}+ {{m}}_{2}){{l}}_{1} $ ,$ {{p}}_{5}={{m}}_{2}{{l}}_{2} $ ,$ {{m}}_{1} $ 、$ {{m}}_{2} $ 为连杆质量。在直角坐标系中,假设理想跟踪轨迹为
$ {x}_{{{d}}}= \mathrm{c}\mathrm{o}\mathrm{s}t $ ,$ {y}_{{{d}}}=\mathrm{s}\mathrm{i}\mathrm{n}t $ ,根据合成运动知识可知,该轨迹是一个半径为1.0,圆心为$ \left(\mathrm{0.0,0.0}\right) $ 的圆。设置机械臂末端轨迹的初始条件为$ {{\boldsymbol{z}}}=\left[1.0 \;1.0\right] $ ,$ \dot{{{\boldsymbol{z}}}}=\left[0.0 \;0.0\right] $ ,末端实际轨迹按逆时针方向进行跟踪。按式(3)和(8)将工作空间中的关节末端直角坐标$ \left(x,y\right) $ 转为关节角度坐标$ \left({q}_{1},{q}_{2}\right) $ 。采用工作空间模式公式(27)实现被控对象的描述,针对建模不确定性,取
$ \Delta \left(q,\dot{q},\ddot{q}\right)=10\mathrm{s}\mathrm{i}\mathrm{n}t $ ,滑模控制器取式(35),并通过虚功原理式(17)转化为控制关节角度的实际控制器。控制器的增益选为$ {\boldsymbol{K}}=\left[\begin{array}{cc}30& 0\\ 0& 30\end{array}\right] $ ,$ \boldsymbol{\varLambda }=\left[\begin{array}{cc}15& 0\\ 0& 15\end{array}\right] $ ,$ \eta=12 $ ,$ \varepsilon=0.10 $ 。为体现本文所用控制算法的有效性和优越性,再设计2种不同的控制算法与之进行对比试验。设计在工作空间中机械臂末端轨迹PD控制器和基于传统切换函数的滑模控制器。
PD控制器的控制律表达式为:
$$ {{F}_{{\mathrm{PD}}}={\boldsymbol{D}}}_{{\bf{z}}}{\ddot{{\boldsymbol{z}}}}_{{\mathrm{r}}}+{{\boldsymbol{C}}}_{{\bf{z}}}{\dot{{\boldsymbol{z}}}}_{{\mathrm{r}}}+{{\boldsymbol{G}}}_{{\bf{z}}}+{{\boldsymbol{K}}}_{{{{\mathrm{p}}}}}e+{{\boldsymbol{K}}}_{{{{\mathrm{d}}}}}\dot{e}\text{,} $$ (52) 式中,
$ {{\boldsymbol{K}}}_{{\mathrm{p}}} $ 、$ {{\boldsymbol{K}}}_{{\mathrm{d}}} $ 分别表示PD控制算法中的比例系数和微分系数矩阵,取
$ {{\boldsymbol{K}}}_{{\mathrm{p}}}=\left[\begin{array}{cc}30& 0\\ 0& 30\end{array}\right] $ ,$ {{\boldsymbol{K}}}_{{\mathrm{d}}}=\left[\begin{array}{cc}30& 0\\ 0& 30\end{array}\right] $ 。基于传统切换函数的滑模控制器的控制律表达式为:
$$ {{F}_{K}={\boldsymbol{D}}}_{{\boldsymbol{z}}}{\ddot{{\boldsymbol{z}}}}_{r}+{{\boldsymbol{C}}}_{{\boldsymbol{z}}}{\dot{{\boldsymbol{z}}}}_{r}+{{\boldsymbol{G}}}_{{\boldsymbol{z}}}+{K}s\text{,} $$ (53) 其中,
$ {K} > 0 $ 。基于以上3种控制器,在MATLAB/Simulink环境中搭建仿真系统,仿真结果如图4~6所示。
从图4机械臂末端轨迹跟踪图来看,机械臂末端在3种不同算法控制下均能在一定的误差范围内实现圆形轨迹跟踪。跟踪曲线明显表明本文所设计的基于双曲正切的滑模控制器使系统的收敛速度增大。
结合机械臂末端分运动轨迹跟踪图5A、5B和误差图5C、5D来分析,滑模控制算法在系统收敛时间方面明显优于PD控制算法。由图5B机械臂末端y轴跟踪结果可以看出,切换函数滑模控制器的跟踪开始时间为1.5 s,而双曲正切滑模控制器的跟踪开始时间在1.0 s,根据y轴的速度跟踪误差曲线(图6C)也可看出,双曲正切控制比切换函数控制在收敛速度方面提高了50%。
在机械臂末端速度轨迹跟踪曲线图6A、6B中,双曲正切滑模控制器相比另2个控制器来说,尽管其在初始时刻存在较大的误差,但其总体跟踪效果强于切换函数控制器和PD控制器,并且速度跟踪的收敛时间降低了50%,收敛速度相应提高了50%。观察图6C、6D中的跟踪误差曲线可知,本文所提的控制算法在收敛速度和稳定性方面体现了良好的控制性能,但在响应初始时刻,该算法有急剧突变,需要对控制算法进行优化以缩小初始变化的误差。
3. 结论
为实现采摘机器人中机械臂末端轨迹高精度跟踪控制,本文提出了一种基于双曲正切函数的滑模控制器。在Simulink环境中搭建机械臂控制系统并进行仿真验证,分析比较了3种控制器对轨迹跟踪的收敛性能和效果。结果表明:本文设计的滑模控制器能够实现高精度的轨迹跟踪和稳定控制,并使系统收敛时间减少50%,有效提高了系统收敛速度。研究为后续采摘机械臂设计奠定了基础。
-
-
[1] 刘成良, 贡亮, 苑进, 等. 农业机器人关键技术研究现状与发展趋势[J]. 农业机械学报, 2022, 53(7): 1-22. doi: 10.6041/j.issn.1000-1298.2022.07.001 [2] 陈青, 殷程凯, 郭自良, 等. 苹果采摘机器人关键技术研究现状与发展趋势[J]. 农业工程学报, 2023, 39(4): 1-15. doi: 10.11975/j.issn.1002-6819.202209041 [3] 赵春江, 范贝贝, 李瑾, 等. 农业机器人技术进展、挑战与趋势[J]. 智慧农业(中英文), 2023, 5(4): 1-15. [4] 孙成宇, 闫建伟, 张富贵, 等. 蔬菜采摘机器人及其关键技术研究进展[J]. 中国农机化学报, 2023, 44(11): 63-72. [5] LI J H, WANG J Z, PENG H, et al. Fuzzy-torque approximation-enhanced sliding mode control for lateral stability of mobile robot[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2022, 52(4): 2491-2500. doi: 10.1109/TSMC.2021.3050616
[6] TRAN D T, TRUONG H V A, AHN K K. Adaptive nonsingular fast terminal sliding mode control of robotic manipulator based neural network approach[J]. International Journal of Precision Engineering and Manufacturing, 2021, 22(3): 417-429. doi: 10.1007/s12541-020-00427-4
[7] AHMED S, WANG H P, TIAN Y. Adaptive high-order terminal sliding mode control based on time delay estimation for the robotic manipulators with backlash hysteresis[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2021, 51(2): 1128-1137. doi: 10.1109/TSMC.2019.2895588
[8] MA Y J, ZHAO H, LI T. Robust adaptive dual layer sliding mode controller: Methodology and application of uncertain robot manipulator[J]. Transactions of the Institute of Measurement and Control, 2022, 44(4): 848-860. doi: 10.1177/01423312211025330
[9] CHEN J X, LI J M. Fuzzy adaptive iterative learning coordination control of second-order multi-agent systems with imprecise communication topology structure[J]. International Journal of Systems Science, 2018, 49(3): 546-556. doi: 10.1080/00207721.2017.1412533
[10] 吴爱国, 刘海亭, 董娜. 机械臂神经网络非奇异快速终端滑模控制[J]. 农业机械学报, 2018, 49(2): 395-404. doi: 10.6041/j.issn.1000-1298.2018.02.051 [11] 李琦琦, 徐向荣, 张卉. 基于自适应神经网络的机械臂滑模轨迹跟踪控制[J]. 工程设计学报, 2023, 30(4): 512-520. doi: 10.3785/j.issn.1006-754X.2023.00.050 [12] 刘金琨. 滑模变结构控制MATLAB仿真: 先进控制系统设计方法[M]. 3版. 北京: 清华大学出版社, 2015: 192-195. [13] 刘金琨. 机器人控制系统的设计与MATLAB仿真: 基本设计方法[M]. 北京: 清华大学出版社, 2016: 246-250. [14] 张旭辉, 李语阳, 杨文娟, 等. 基于改进滑模控制的悬臂式掘进机轨迹跟踪控制[J]. 工程设计学报, 2024, 31(4): 491-501. [15] BAEK J, JIN M L, HAN S. A new adaptive sliding-mode control scheme for application to robot manipulators[J]. IEEE Transactions on Industrial Electronics, 2016, 63(6): 3628-3637. doi: 10.1109/TIE.2016.2522386
[16] 张蕾, 宋博雄, 田冬雨. 考虑输入饱和的机械臂轨迹跟踪滑模控制[J]. 西安工程大学学报, 2024, 38(2): 85-92. [17] 贾华, 刘延俊, 王雨, 等. 六轴机械臂神经网络自适应终端滑模控制[J]. 西安交通大学学报, 2022, 56(11): 21-30. doi: 10.7652/xjtuxb202211003 [18] LIN C J, SIE T Y, CHU W L, et al. Tracking control of pneumatic artificial muscle-activated robot arm based on sliding-mode control[J]. Actuators, 2021, 10(3): 66. doi: 10.3390/act10030066
[19] WANG H Z, FANG L J, SONG T Z, et al. Model-free adaptive sliding mode control with adjustable funnel boundary for robot manipulators with uncertainties[J]. Review of Scientific Instruments, 2021, 92(6): 0037054. doi: 10.1063/5.0037054.
[20] ZHAO J B, XIU B K, WANG J Z, et al. Adaptive task-space cooperative tracking control for manipulators with a desired trajectory estimator and a velocity observer[J]. International Journal of Robust and Nonlinear Control, 2022, 32(7): 4214-4235. doi: 10.1002/rnc.6017
[21] 倪元相, 刘芳. 输出反馈式神经网络的机械臂轨迹跟踪控制[J/OL]. 南京师范大学学报(自然科学版), (2023-09-19)[2024-12-27]. http://kns.cnki.net/kcms/detail/32.1239.n.20230918.1220.002.html. [22] 陈明. 基于阻抗模型的双机器人对等协作控制研究[D]. 南京: 东南大学, 2018. [23] 程志江, 李志文, 杜一鸣. 优化自抗扰的移动清洁机械臂轨迹跟踪控制[J]. 计算机集成制造系统, 2023, 29(12): 3993-4000.