EI、Scopus 收录
中文核心期刊

存在关节死区的空间机器人无扰快速终端滑模控制

张智豪, 于潇雁

张智豪, 于潇雁. 存在关节死区的空间机器人无扰快速终端滑模控制. 力学学报, 2022, 54(3): 778-786. DOI: 10.6052/0459-1879-21-494
引用本文: 张智豪, 于潇雁. 存在关节死区的空间机器人无扰快速终端滑模控制. 力学学报, 2022, 54(3): 778-786. DOI: 10.6052/0459-1879-21-494
Zhang Zhihao, Yu Xiaoyan. Reactionless terminal sliding mode control of space robot with joint dead-zone. Chinese Journal of Theoretical and Applied Mechanics, 2022, 54(3): 778-786. DOI: 10.6052/0459-1879-21-494
Citation: Zhang Zhihao, Yu Xiaoyan. Reactionless terminal sliding mode control of space robot with joint dead-zone. Chinese Journal of Theoretical and Applied Mechanics, 2022, 54(3): 778-786. DOI: 10.6052/0459-1879-21-494
张智豪, 于潇雁. 存在关节死区的空间机器人无扰快速终端滑模控制. 力学学报, 2022, 54(3): 778-786. CSTR: 32045.14.0459-1879-21-494
引用本文: 张智豪, 于潇雁. 存在关节死区的空间机器人无扰快速终端滑模控制. 力学学报, 2022, 54(3): 778-786. CSTR: 32045.14.0459-1879-21-494
Zhang Zhihao, Yu Xiaoyan. Reactionless terminal sliding mode control of space robot with joint dead-zone. Chinese Journal of Theoretical and Applied Mechanics, 2022, 54(3): 778-786. CSTR: 32045.14.0459-1879-21-494
Citation: Zhang Zhihao, Yu Xiaoyan. Reactionless terminal sliding mode control of space robot with joint dead-zone. Chinese Journal of Theoretical and Applied Mechanics, 2022, 54(3): 778-786. CSTR: 32045.14.0459-1879-21-494

存在关节死区的空间机器人无扰快速终端滑模控制

基金项目: 国家自然科学基金(51741502), 福建省自然科学基金(2020J01450)和福建省工业机器人基础部件技术重大研发平台(2014H21010011)资助项目
详细信息
    作者简介:

    于潇雁, 教授, 主要研究方向: 空间机器人动力学与控制、多体系统动力学. E-mail: cool@fzu.edu.cn

  • 中图分类号: TP241

REACTIONLESS TERMINAL SLIDING MODE CONTROL OF SPACE ROBOT WITH JOINT DEAD-ZONE

  • 摘要: 针对机械臂一般操作过程中运动学的非完整特性进行运动规划时没有考虑机械臂与待抓取目标之间的关系与关节的实际特性, 研究了存在关节死区的漂浮基平面三连杆空间机械臂拦截目标前最后阶段的载体无扰动空间规划与控制. 首先根据拉格朗日第二类方程, 建立存在关节死区的载体位姿均不受控的漂浮基平面三连杆空间机械臂的动力学模型, 推导出三连杆空间机械臂反作用零空间的数学模型, 并对反作用零空间进行向量范数约束算法研究; 进而提出了一种具有抗干扰性与高收敛性的非奇异快速终端滑模控制算法实现系统的姿态无扰控制, 该方法采用变系数双幂次趋近率与非奇异快速终端滑模面相结合的方式, 提高系统状态收敛速度与抗干扰性. 为了消除机械臂关节存在的死区特性, 设计了自适应死区补偿器, 通过自适应控制来逼近死区特性的上界, 以消除关节死区对系统带来的影响, 确保跟踪控制的有效执行. 最后基于Lyapunov函数法证明了系统的稳定性, 并通过系统数值仿真结果验证了存在死区情况下机械臂的各关节角跟踪上无反应空间下的期望轨迹的同时载体的姿态处于稳定状态, 验证了所提方法的有效性.
    Abstract: As the present reaction null space planning for the incomplete kinematic properties of the space manipulator during the general operation involvesn either the impact of joint dead-zones on the system nor the relationship between the manipulator and the target to be grasped, it can not ensure the effectiveness of the tracking control in the presence of joint dead-zone. In this paper, the study of reaction null space planning and control in the final period before intercepting a target of a free-floating three-link space manipulator with joint dead-zone is focused. First, the dynamic model of a free-floating three-link space manipulator with joint dead-zone is established by the second Lagrange equation, in which the position and attitude of the carrier are uncontrolled. Then, the reaction null space mathematical model of the free-floating three-link space manipulator with joint dead-zone is derived, and the vector norm constraint algorithm of the reaction null space is studied. Furthermore, a nonsingular fast terminal sliding mode control algorithm with anti-interference and high convergence is proposed, in which it combines the double power reaching rate of variable coefficient with the nonsingular fast terminal sliding mode surface to improve the convergence speed and interference immunity. The dead-zone of the joint may reduce the control accuracy of the space robot system. In order to eliminate the influence of the free-floating three-link space manipulator’s joint dead-zone, an adaptive dead-zone compensator is designed. This compensator can approach the upper bound of dead-zone characteristics by self-adaptive control to eliminate the effect of the joint dead-zone on the system and to ensure the effectiveness of the tracking control. Finally, based on the Lyapunov function method the stability of the system is proved, and numerical simulation is carried out. The simulation results show the desired reactionless trajectories are tracked with the base’s attitude reactionless and the effectiveness of the proposed planning and control algorithm is demonstrated.
  • 随着空间技术的发展, 空间机械臂的应用越来越广泛[1-6]. 由于在太空微重力环境中载体自由浮动, 空间机械臂系统中载体与臂杆之间存在强动力学耦合, 这会使得载体的姿态在工作过程中难以保持稳定, 影响臂杆的正常工作[7-11]. 载体的姿态控制一般可以通过主动姿态控制系统ACS来实现[12-15], 但为了节省燃料, ACS系统常常处于关闭状态, 如何通过臂杆的运动规划来减小载体的姿态变化就有了现实意义.

    Dubowskys等[16-17]提出基于增强扰动图EDM的关节运动规划来减小机械臂运动对载体姿态的扰动. Nenchev等[18]采用基于定姿态雅克比矩阵FARJM的方法进行空间机械臂的零扰动规划. Huang等[19]利用双臂空间机器人中一个机械臂补偿来另一个机械臂运动造成的载体扰动. 戈新生等[20-22]研究了通过机械臂运动对载体进行姿态调整的问题. 张福海等[23-24]提出了一种笛卡尔空间的载体姿态无扰的空间机器人非完整路径规划方法. Nguyen-Huynh和Sharf[25]研究了系统捕获非合作目标后的运动规划问题, 提出了自适应姿态无扰路径规划方案. Yoshida[26]通过指定自由向量来规划机械臂的运动, 实现手臂对基座的零反作用力. Zhang等[27]研究了基于随机快速搜索树的一种运动规划算法, 能够在不需要求解逆运动学的情况下完成规划任务并保留姿态约束.

    上述方法[16-27]均是针对机械臂一般操作过程中运动学的非完整特性进行运动规划, 没有考虑机械臂与待抓取目标之间的关系与关节的实际特性, 而实际的空间机械臂关节通常都会存在“死区”特性. “死区”是指关节的输入力矩大小达到某个特定值之前, 其输出力矩为零的输入−输出关系. 当输入信号经由死区作用范围时, 其会有一定的损失, 从而造成系统控制精度的偏差. 若不能消除其影响, 除造成输出精度降低外, 还会对系统造成极限环振荡, 甚至导致控制失效, 从而无法完成空间作业[28-30].

    本文研究了存在关节死区的漂浮基平面三连杆空间机械臂拦截目标前最后阶段的无扰动空间规划与控制问题. 首先针对载体位姿均不受控条件下, 建立存在关节死区的三连杆空间机械臂系统的拉格朗日动力学模型, 推导出三连杆空间机械臂反作用零空间的数学模型, 并对反作用零空间进行向量范数约束算法研究. 进而提出了一种具有抗干扰性与高收敛性的终端滑模控制算法实现系统的姿态无扰控制, 该方法采用变系数双幂次趋近率与非奇异快速终端滑模面相结合的方式, 提高系统状态收敛速度与抗干扰性, 同时考虑机械臂关节存在的死区特性, 设计了自适应补偿器, 通过自适应控制来逼近死区特性的上界, 以确保跟踪控制的有效执行. 最后基于Lyapunov 函数法证明了系统的稳定性, 并通过系统数值仿真验证了所提方法的有效性.

    图1所示为一平面三连杆空间机械臂系统与一待抓取旋转的目标卫星. 该空间机械臂系统由自由漂浮的刚性载体${B_0}$, 系统的刚性臂${B_1}$, ${B_2}$, ${B_3}$组成, 其中$P$是待抓取的目标.

    图  1  漂浮基三杆空间机器人与待抓取目标
    Figure  1.  Floating based three-bar space robot and target to be grasped

    假设该系统在xOy平面内作平面运动. 空间机械臂系统沿着轨道以速度$v$运动, 由于轨道曲率半径很大, 在短时间的运动内, 可以把轨道近似看成一条直线. 被抓取目标为以角速度${\dot \theta _p}$绕质心旋转的圆柱形物体, 抓手手柄距离质心${r_h}$. 机器人系统轨道相对于x轴位置角为$\psi $, 它与目标质心的距离为$d$. 在抓取点, 机械臂末端抓手与目标手柄之间的速度差为$\Delta v$.

    建立各分体${B_i}\left( {i = 0,1,2,3} \right)$的连体平动坐标系${O_i}{x_i}{y_i}$, 其中${O_0}$${B_0}$的质心$ {O_{c0}} $重合, ${O_{{c} 1}}$, ${O_{c2}}$${O_{{c} 3}}$分别为机械臂${B_1}$, ${B_2}$${B_3}$的质心. 各分体${B_i}$之间以刚性旋转副进行铰接, 其中, ${O_i}\left( {i = 1,2,3} \right)$为旋转中心, ${x_i}\left( {i = 0,1,2,3} \right)$分别为机械臂${B_i}$的对称轴.

    其他参数符号如下:

    ${l_{\text{0}}}$—— ${O_{\text{1}}}$${x_0}$轴上与${O_0}$的距离;

    ${l_i}$—— ${B_i}$沿${x_i}$轴的长度$\left( {i = 1,2,3} \right)$;

    ${b_i}$—— ${O_i}$到质心${O_{ci}}$之间的距离$\left( {i = 1,2,3} \right)$;

    ${m_i}$—— 各分体的质量$\left( {i = 0,1,2,3} \right)$;

    ${J_i}$—— 各分体的中心转动惯量$\left( {i = 0,1,2,3} \right)$;

    ${O_c}$—— 系统总质心;

    ${\theta _0}$—— ${B_{\text{0}}}$${x_0}$轴相对x轴的载体姿态角;

    ${\theta _i}$—— 机械臂的关节角$\left( {i = 1,2,3} \right)$.

    忽略微重力的影响, 由拉格朗日第二类方程, 可得到载体位姿均不受控的漂浮基空间机器人系统的动力学方程

    $$ {\boldsymbol{D}}({\boldsymbol{q}}){\boldsymbol{\ddot q}} + {\boldsymbol{H}}({\boldsymbol{q}},{\dot{\boldsymbol q}}){\dot{\boldsymbol q}} = \left[ {\begin{array}{*{20}{c}} {\boldsymbol{0}} \\ {\boldsymbol{\tau }} \end{array}} \right] $$ (1)

    其中, $ {\boldsymbol{q}} = {[\begin{array}{*{20}{l}} {{x_0}}&{{y_0}}&{{\theta _0}}&{{\theta _1}}&{{\theta _2}}&{{\theta _3}} \end{array}]^{\text{T}}} $为系统广义坐标, ${\boldsymbol{D}}\left( {\boldsymbol{q}} \right) \in {{\boldsymbol{R}}^{6 \times 6}}$为系统的对称惯性矩阵; ${\boldsymbol{H}}\left( {{\boldsymbol{q}},{\dot{\boldsymbol q}}} \right){\dot{\boldsymbol q}} \in $$ {{\boldsymbol{R}}^{6 \times 1}}$为包含科里奥力、离心力的列向量; ${\boldsymbol{\tau }} = $$ {[ {{{\tau }_1}}\;\;\;{{{\tau }_2}}\;\;\;{{{\tau }_3}} ]^{\rm{T}}} \in {{\boldsymbol{R}}^{{\text{3}} \times {\text{1}}}}$, ${{\tau }_i}\;(i = 1,2,3)$为通过死区后关节i的输出力矩.

    由于机械设计与制造方面的原因, 系统关节通常都会存在“死区”特性, 影响系统的输出精度. 关节死区特性对控制系统造成的影响可以用图2来表示. 其中u代表控制输入, τ代表关节输出, 一般情况下两者并不相同.

    图  2  关节死区特性图
    Figure  2.  Characteristic diagram of joint dead-zone

    一般情况下, 系统的关节死区特性可用控制输入u与系统输出τ之间的关系来描述

    $$ {{{{\tau }}_ i = }}\left\{ {\begin{array}{*{20}{l}} {{{{k}}_{{{ri}}}}({{{u}}_{{i}}}{{ - }}{{{d}}_{{{i + }}}}){{,\qquad }}{{{u}}_{{i}}} \geqslant {{{d}}_{{{i + }}}}} \\ {{{ }}0{{,\qquad }}{{{d}}_{{{i - }}}}{{ < u_i < }}{{{d}}_{{{i + }}}}} \\ {{{{k}}_{{{li}}}}({{u_i - d_{i -} }}){{,\qquad }}{{{u}}_{{i}}} \leqslant {{{d}}_{{{i - }}}}} \end{array}} \right. $$ (2)

    其中d i+ > 0, d i- < 0, kri=kli=ki > 0为死区的左右斜率且为常数, 则可将系统的输出分为如下两部分

    $$ {\boldsymbol{\tau }} = {\boldsymbol{ku}} + {\boldsymbol{\delta }}({\boldsymbol{u}}) $$ (3)

    其中${\boldsymbol{\delta }}({\boldsymbol{u}})$代表系统的关节死区特性, ${\boldsymbol{ku}}$代表执行机构的对控制输入的响应, ${\boldsymbol{k}} = {{\rm{diag}}} ({{{k}}_{{i}}})$, 则有

    $$ {\delta_{{i}}}({{u}}){{ = }}\left\{ {\begin{array}{*{20}{l}} {{{ - }}{{{k}}_{{{ri}}}}{{{d}}_{{{i + }}}}{{,\qquad u}} \geqslant {{{d}}_{{{i + }}}}} \\ {{{ - }}{{{k}}_{{i}}}{{u,\qquad }}{{{d}}_{{{i - }}}}{{ < u}} < {{{d}}_{{{i + }}}}} \\ {{{ - }}{{{k}}_{{{li}}}}{{d}}{}_{{{i - }}}{{,\qquad u}} \leqslant {{{d}}_{{{i - }}}}} \end{array}} \right. $$ (4)

    其中${\delta_{{i}}}({{u}})$${\boldsymbol{\delta }}({\boldsymbol{u}})$中的元素, ${i = 1,2,3}$.

    存在死区的空间机器人动力学方程可以写为

    $$ {\boldsymbol{D}}({\boldsymbol{q}}){\boldsymbol{\ddot q}} + {\boldsymbol{H}}({\boldsymbol{q}},{\dot{\boldsymbol q}}){\dot{\boldsymbol q}} = \left[ {\begin{array}{*{20}{c}} {\boldsymbol{0}} \\ {{\boldsymbol{ku + \delta }}{\text{(}}{\boldsymbol{u}}{\text{)}}} \end{array}} \right] $$ (5)

    一般漂浮基空间机器人系统(5), 在全局范围内死区特性均有界, 即

    $$ \left| {{\delta _{{i}}}\left( {{u}} \right)} \right| \leqslant {\delta _{{{i}}\max }}{\text{ }}\left( {{{i = }}1,{\text{ }}2,{\text{ }}3} \right) $$ (6)

    其中${\delta _{{{i}}\max }}\left( {{{i}} = 1,{\text{ }}2,{\text{ }}3} \right)$为未知的正常数, 是向量${{\boldsymbol{\delta }}_{{\text{max}}}} \in {{{\boldsymbol{R}}} ^{3 \times 1}}$中的元素, ${{\boldsymbol{\delta }}_{\max}}$代表死区的实际上界.

    由式(5)可将空间机器人系统动力学方程写为

    $$ \left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{D}}_{{{bb}}}}}&{{{\boldsymbol{D}}_{{{bm}}}}} \\ {{\boldsymbol{D}}_{{{bm}}}^{{\rm{T}}} }&{{{\boldsymbol{D}}_{{{mm}}}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{{{\boldsymbol{\ddot X}}}_{{b}}}} \\ {{{{\boldsymbol{\ddot q}}}_{{b}}}} \end{array}} \right]{\text{ + }}\left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{H}}_{{b}}}} \\ {{{\boldsymbol{H}}_{{m}}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\boldsymbol{ 0}} \\ {{\boldsymbol{ku + \delta (u)}}} \end{array}} \right] $$ (7)

    其中${{\boldsymbol{D}}_{{{bb}}}} \in {{\boldsymbol{R}} ^{3 \times 3}}$${{\boldsymbol{D}}_{{{bm}}}} \in {{\boldsymbol{R}} ^{3 \times 3}}$${{\boldsymbol{D}}_{{{mm}}}} \in {{\boldsymbol{R}} ^{3 \times 3}}$; ${\boldsymbol{H}}({\boldsymbol{q}},{\dot{\boldsymbol q}}){\dot{\boldsymbol q}} = $$ {[{{\boldsymbol{H}}_{{b}}}^{\rm{T}}{\text{ }}{{\boldsymbol{H}}_{{m}}}^{\rm{T}}]^{\rm{T}}}$${{\boldsymbol{H}}_{{b}}} \in {{\boldsymbol{R}} ^{3 \times 1}}$${{\boldsymbol{H}}_{{m}}} \in {{\boldsymbol{R}} ^{3 \times 1}}$; Xb表示载体的基座坐标与姿态角, 且存在关系${{\boldsymbol{X}}_{{b}}} = {[\begin{array}{*{20}{c}} {{{{x}}_0}}&{{{{y}}_0}}&{{\theta _0}} \end{array}]^{{\rm{T}}} }$; ${{\boldsymbol{q}}_{{b}}}$表示机器人连杆的关节角, 且存在关系${{\boldsymbol{q}}_{{b}}} =$$ {[\begin{array}{*{20}{c}} {{\theta _1}}&{{\theta _2}}&{{\theta _3}} \end{array}]^{\rm{T}}}$.

    系统耦合矩阵${{\boldsymbol{D}}_{{{bm}}}}$

    $$ {{\boldsymbol{D}}_{{{bm}}}} = \left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{D}}_{14}}}&{{{\boldsymbol{D}}_{15}}}&{{{\boldsymbol{D}}_{16}}} \\ {{{\boldsymbol{D}}_{24}}}&{{{\boldsymbol{D}}_{25}}}&{{{\boldsymbol{D}}_{26}}} \\ {{{\boldsymbol{D}}_{34}}}&{{{\boldsymbol{D}}_{35}}}&{{{\boldsymbol{D}}_{36}}} \end{array}} \right] $$ (8)

    本文基座姿态无扰动的同时允许基座的平移运动, 故将其中反映机械臂关节角与基座姿态关系的第三行提取出来, 记为修正耦合惯性矩阵${{{\tilde {\boldsymbol D}}}_{{{bm}}}}$, 同时也降低了计算复杂度, 即

    $$ {{\tilde{\boldsymbol D}}_{{{bm}}}} = \left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{D}}_{34}}}&{{{\boldsymbol{D}}_{35}}}&{{{\boldsymbol{D}}_{36}}} \end{array}} \right] $$ (9)

    此时rank(${{\tilde{\boldsymbol D}}_{{{bm}}}}$)=1, n${{\boldsymbol{D}}_{{{bm}}}}$列数或臂杆部分的自由度数, 此时n=3, 根据反作用零空间存在定理[31-32], 此时存在反作用零空间. 由系统动力学方程可知

    $$ {{\boldsymbol{H}}_{{b}}}{\boldsymbol{ = }}{{\dot{\boldsymbol D}}_{{{bb}}}}{{\dot{\boldsymbol X}}_{{b}}}{\boldsymbol{ + }}{{\dot{\boldsymbol D}}_{{{bm}}}}{{\dot{\boldsymbol q}}_{{b}}} $$ (10)

    忽略太空中的微重力, 对式(1)第一行积分可得系统的线动量$ {\boldsymbol{P}} $与角动量$ {\boldsymbol{L}} $[33-34], 此时空间机器人系统的广义动量为

    $$ \left[ {\begin{array}{*{20}{c}} {\boldsymbol{P}} \\ {\boldsymbol{L}} \end{array}} \right] = {{\boldsymbol{D}}_{{{bb}}}}{{\dot{\boldsymbol X}}_{{b}}}{\boldsymbol{ + }}{{\boldsymbol{D}}_{{{bm}}}}{{\dot{\boldsymbol q}}_{{b}}} = {{\rm{const}}}. $$ (11)

    其中${{\boldsymbol{D}}_{{{bb}}}}{{\dot{\boldsymbol X}}_{{b}}}$表示空间机器人系统中载体的动量. 定义${{\boldsymbol{\varGamma }}_{{m}}} = {{\boldsymbol{D}}_{{{bm}}}}{{\dot{\boldsymbol q}}_{{b}}}$为机械臂运动所产生的耦合动量. 对其关于时间t求导, 可得臂杆作用在载体上的反作用力

    $$ {{\boldsymbol{F}}_{{m}}}{\boldsymbol{ = }}{{\dot{\boldsymbol \varGamma }}_{{m}}}{\boldsymbol{ = }}{{\boldsymbol{D}}_{{{bm}}}}{{\boldsymbol{\ddot q}}_{{b}}}{\boldsymbol{ + }}{{\dot{\boldsymbol D}}_{{{bm}}}}{{\dot{\boldsymbol q}}_{{b}}} $$ (12)

    若机械臂运动所产生的耦合动量${{\boldsymbol{\varGamma }}_{{m}}}$为常数, 则此时作用在基座上的反作用力与力矩${{\boldsymbol{F}}_{{m}}}$为0. 当机械臂的自由度大于机器人系统载体的自由度时, 若要满足耦合动量为常数, 则机械臂关节角速度解为

    $$ {{\dot{\boldsymbol q}}_{{b}}}{\boldsymbol{ = D}}_{{{bm}}}^{{ + }}{{\boldsymbol{\varGamma }}_{{m}}}{{ + }}\left( {{\boldsymbol{E - D}}_{{{bm}}}^{{ + }}{{\boldsymbol{D}}_{{{bm}}}}} \right){\boldsymbol{\xi }} $$ (13)

    其中, E为单位矩阵, ${\boldsymbol{D}}_{{{bm}}}^{\text{ + }}$${{\boldsymbol{D}}_{{{bm}}}}$伪逆矩阵, ${\boldsymbol{\xi }} = {[\begin{array}{*{20}{c}} {{\xi _1}}&{{\xi _2}}&{{\xi _3}} \end{array}]^{\rm{T}}}$为一3阶任意列向[35], ${\boldsymbol{\xi }}$能够对关节角速度进行一定的调整以符合相应的约束条件. 若耦合动量${{\boldsymbol{\varGamma }}_{{m}}} = 0$, 且只考虑载体姿态时, 可引入修正耦合惯性矩阵${{\tilde{\boldsymbol D}}_{{{bm}}}}$, 则有

    $$ {\left( {{{{\dot{\boldsymbol q}}}_{{b}}}} \right)_{{\rm{RNS}}}}{\boldsymbol{ = }}\left( {{{{\boldsymbol{E}} - \tilde {\boldsymbol{D}}}}_{{{bm}}}^ + {{{\tilde{\boldsymbol D}}}_{{{bm}}}}} \right){\boldsymbol{\xi }} $$ (14)

    当控制系统按式(14)运动, 此时机械臂的运动不会扰动载体姿态的运动, 从而达到了无扰动状态.

    根据反作用零空间的定义, ${\boldsymbol{\xi }}$是一个任意向量, 适当的${\boldsymbol{\xi }}$可以确保无反应空间角速度、角加速度满足某些约束条件. 为了计算出实际的反作用零空间轨迹, 需要计算出具体的${\boldsymbol{\xi }}$数值. 考虑实际的空间机器人运行环境, 设定两个约束条件:

    (1)机械臂运动对载体的耦合力矩约等于0;

    (2)整个运动过程, 各个关节的角速度、角加速度在一个合理的范围内.

    在满足这两个条件下, 求解满足条件的${\boldsymbol{\xi }}$, 则有

    $$ \left.\begin{gathered} \left\| {{{\left( {{{{\dot{\boldsymbol q}}}_{b} }} \right)}_{{\text{int}}}}} \right\| = \left\| {{\boldsymbol{B\xi }}} \right\| \hfill \\ \left\| {{{\left( {{{{\boldsymbol{\ddot q}}}_b}} \right)}_{{\text{int}}}}} \right\| = \left\| {\frac{{{\text{d}}{\boldsymbol{B}}}}{{{\text{d}}t}}{\boldsymbol{\xi }}} \right\| \end{gathered} \right\}$$ (15)

    式中$ \Vert ·\Vert $为范数. 其中${\boldsymbol{B}} = \left( {{{{\boldsymbol{E}} - \tilde {\boldsymbol{D}}}}_{{{bm}}}^ + {{{\tilde{\boldsymbol D}}}_{{{bm}}}}} \right){\boldsymbol{\xi }}$ , ${({{\dot{\boldsymbol q}}_{{b}}})_{\rm{int} }}$表示抓取点对应的机械臂关节角速度向量, ${({{\boldsymbol{\ddot q}}_{{b}}})_{\rm{int} }}$表示抓取点对应的机械臂关节角加速度向量, 取$[{({{\boldsymbol{\ddot q}}_{{b}}})_{\rm{int} }}]{\text{ = }}{[\begin{array}{*{20}{c}} {0.05}&{0.05}&{0.05} \end{array}]^{\rm{T}}}$$(单位\text{: °}/{{\rm{s}}}^{2})$.

    将其推广至机械臂运动的全过程, 则每个时刻应满足

    $$ \left. {\begin{array}{*{20}{l}} {\left\| {{{\left( {{{{\dot{\boldsymbol q}}}_b}} \right)}_{{\text{RNS}}}}} \right\| = \left\| {{\boldsymbol{B\xi }}} \right\|} \\ {\left\| {{{\left( {{{{\boldsymbol{\ddot q}}}_b}} \right)}_{{\text{RNS}}}}} \right\| = \left\| {\dfrac{{{\text{d}}{\boldsymbol{B}}}}{{{\text{d}}t}}{\boldsymbol{\xi }}} \right\|} \end{array}} \right\} $$ (16)

    其中${({{\dot{\boldsymbol q}}_{{b}}})_{{\rm{RNS}}}}$为机械臂反作用零空间关节角速度向量, ${({{\boldsymbol{\ddot q}}_{{b}}})_{{\rm{RNS}}}}$为机械臂反作用零空间关节角加速度向量.

    根据式(12)反作用零空间运动的反作用力与力矩为

    $$ {{\boldsymbol{F}}_{{\rm{RNS}}}} = {{\boldsymbol{D}}_{bm}}{\left( {{{{\boldsymbol{\ddot q}}}_b}} \right)_{{\text{RNS}}}} + {{\dot{\boldsymbol D}}_{bm}}{\left( {{{{\dot{\boldsymbol q}}}_b}} \right)_{{\text{RNS}}}} $$ (17)

    ${\left( {{{{\dot{\boldsymbol q}}}_b}} \right)_{{\text{RNS}}}} = {\boldsymbol{B\xi }}$$ {\left( {{{{\boldsymbol{\ddot q}}}_b}} \right)_{{\text{RNS}}}} = \dfrac{{{\text{d}}{\boldsymbol{B}}}}{{{\text{d}}t}}{\boldsymbol{\xi }} $代入式(17), 与式(16)联立得

    $$ \left. {\begin{array}{*{20}{l}} {{{\left\| {{{\left( {{{{\dot{\boldsymbol q}}}_b}} \right)}_{{\rm{RNS}} }}} \right\|}_2} = {{\left\| {{\boldsymbol{B\xi }}} \right\|}_2}} \\ {{{\left\| {{{\left( {{{{\boldsymbol{\ddot q}}}_b}} \right)}_{{\rm{RNS}} }}} \right\|}_2} = {{\left\| {\dfrac{{{\text{d}}{\boldsymbol{B}}}}{{{\text{d}}t}}{\boldsymbol{\xi }}} \right\|}_2}} \\ {{{\left\| {{{\boldsymbol{F}}_{{\rm{RNS}} }}} \right\|}_2} = {{\left\| {\left( {{{\boldsymbol{D}}_{bm}}\dfrac{{{\text{d}}{\boldsymbol{B}}}}{{{\text{d}}t}} + {{{\dot{\boldsymbol D}}}_{bm}}{\boldsymbol{B}}} \right){\boldsymbol{\xi }}} \right\|}_2}} \end{array}} \right\} $$ (18)

    式中$ {\Vert ·\Vert }_{2} $为欧几里德范数, 则有

    $$ \left. {\begin{array}{*{20}{l}} {A_1} = {c_1}\xi _1^2 + {c_2}\xi _2^2 + {c_3}\xi _3^2 + 2{c_{12}}{\xi _1}{\xi _2}{\text{ + }} \hfill \\ \qquad 2{c_{23}}{\xi _2}{\xi _3} + 2{c_{13}}{\xi _1}{\xi _3} \hfill \\ {A_2} = {d_1}\xi _1^2 + {d_2}\xi _2^2 + {d_3}\xi _3^2 + 2{d_{12}}{\xi _1}{\xi _2}{\text{ + }} \hfill \\ \qquad 2{d_{23}}{\xi _2}{\xi _3} + 2{d_{13}}{\xi _1}{\xi _3} \hfill \\ {A_3} = {e_1}\xi _1^2 + {e_2}\xi _2^2 + {e_3}\xi _3^2 + 2{e_{12}}{\xi _1}{\xi _2}{\text{ + }} \hfill \\ \qquad 2{e_{23}}{\xi _2}{\xi _3} + 2{e_{13}}{\xi _1}{\xi _3} \end{array}} \right\} $$ (19)

    其中${A_1} = \left\| {{{\left( {{{{\dot{\boldsymbol q}}}_b}} \right)}_{{\text{RNS}}}}} \right\|_2^2$, ${A_2} = \left\| {{{\left( {{{{\boldsymbol{\ddot q}}}_b}} \right)}_{{\text{RNS}}}}} \right\|_2^2$, ${A_3} = \left\| {{{\boldsymbol{F}}_{{\text{RNS}}}}} \right\|_2^2$, cde是已知系数.

    该算法通过求解式(19)对${\boldsymbol{\xi }}$进行迭代, 再由${\boldsymbol{\xi }}$求得无扰动期望轨迹.

    在由${\boldsymbol{\xi }}$求得无扰动规划轨迹后, 则可以按照求得的轨迹进行控制, 定义系统的增广输出误差向量e

    $$ {\boldsymbol{e}} = {\boldsymbol{q}} - {{\boldsymbol{q}}_d} $$ (20)

    其中${{\boldsymbol{q}}_d} = {[{x_0}{\text{ }}{y_0}{\text{ }}{\theta _0}{\text{ }}({{\boldsymbol{q}}_{{b}}})_d^{\rm{T}}]^{{\rm{T}}} }$为系统的增广期望运动轨迹, ${({{\boldsymbol{q}}_{{b}}})_{d} }$为由式(14)得到反作用零空间期望轨迹, ${{\boldsymbol{q}}_{{b}}} = {[\begin{array}{*{20}{c}} {{\theta _1}}&{{\theta _2}}&{{\theta _3}} \end{array}]^{{\rm{T}}} }$, 则有

    $$ {\boldsymbol{e}} = {\left[ {{\boldsymbol{0}}{\text{ }}{\boldsymbol{e}}_c^{\text{T}}} \right]^{\text{T}}} $$ (21)
    $$ {\dot{\boldsymbol e}} = {\left[ {{\boldsymbol{0}}{\text{ }}{\dot{\boldsymbol e}}_c^{\text{T}}} \right]^{\text{T}}} $$ (22)

    其中${{\boldsymbol{e}}_{{c}}} = {{\boldsymbol{q}}_{{b}}} - {\left( {{{\boldsymbol{q}}_{{b}}}} \right)_{d} }$, ${{\dot{\boldsymbol e}}_c} = {{\dot{\boldsymbol q}}_{{b}}} - {\left( {{{{\dot{\boldsymbol q}}}_{{b}}}} \right)_{d} }$.

    选取滑模面为

    $$ {\boldsymbol{s}} = {\boldsymbol{e}} + {{\boldsymbol{\alpha }}^{ - 1}}{\left| {\boldsymbol{e}} \right|^{\frac{{{p}}}{{{q}}}}}{{\rm{sgn}}} ({\boldsymbol{e}}) + {{\boldsymbol{\beta }}^{ - 1}}{\left| {{\dot{\boldsymbol e}}} \right|^{\frac{{{m}}}{{{n}}}}}{{\rm{sgn}}} ({\dot{\boldsymbol e}}) $$ (23)

    式中${\boldsymbol{\alpha }} = {{\rm{diag}}} \left( {{\alpha _i}} \right)$, ${{ }}{\boldsymbol{\beta }} = {{\rm{diag}}} \left( {{\beta _i}} \right)$, 其中$\left( {i = {{1, 2,}}\cdots{{, 6}}} \right)$, ${\alpha _i}$${\beta _i}$均为正的控制器参数; mnpq均为正奇数, 并且满足$2{{ > }}{{{m}} \mathord{\left/ {\vphantom {{{m}} {{n}}}} \right. } {{n}}}{{ > }}1$, ${{{p}} \mathord{\left/ {\vphantom {{{p}} {{q}}}} \right. } {{q}}}{{ > }}{{{m}} \mathord{\left/ {\vphantom {{{m}} {{n}}}} \right. } {{n}}}$.

    对式(23)求导可得

    $$ {\dot{\boldsymbol s}} = {\dot{\boldsymbol e}} + {{\boldsymbol{\alpha }}^{ - 1}}\frac{{{p}}}{{{q}}}({\left| {\boldsymbol{e}} \right|^{\frac{{{p}}}{{{q}}} - 1}}){\dot{\boldsymbol e}} + {{\boldsymbol{\beta }}^{ - 1}}\frac{{{m}}}{{{n}}}({\left| {\boldsymbol{e}} \right|^{\frac{{{m}}}{{{n}}} - 1}}){\boldsymbol{\ddot e}} $$ (24)

    由式(5)可得

    $$ \begin{gathered} {\boldsymbol{\ddot e}} = {\boldsymbol{\ddot q}} - {{{\boldsymbol{\ddot q}}}_d} =\hfill \\ \qquad{\text{ }} {{\boldsymbol{D}}^{ - 1}}\left( {\left[ {\begin{array}{*{20}{c}} {\boldsymbol{0}} \\ {{\boldsymbol{ku + \delta (u)}}} \end{array}} \right] - {\boldsymbol{H}}({\boldsymbol{q}},{\dot{\boldsymbol q}}){\dot{\boldsymbol q}} - {\boldsymbol{D}}{{{\boldsymbol{\ddot q}}}_d}} \right) \end{gathered} $$ (25)

    进而式(24)可演化为

    $$ \begin{split}& {\dot{\boldsymbol s}} = {\dot{\boldsymbol e}} + {{\boldsymbol{\alpha }}^{ - 1}}\frac{{{p}}}{{{q}}}({\left| {\boldsymbol{e}} \right|^{\frac{{{p}}}{{{q}}} - 1}}){\dot{\boldsymbol e}} + {{\boldsymbol{\beta }}^{ - 1}}\frac{{{m}}}{{{n}}}({\left| {\boldsymbol{e}} \right|^{\frac{{{m}}}{{{n}}} - 1}}) \cdot \hfill \\& \qquad {{ }}{{\boldsymbol{D}}^{ - 1}}\left( {\left[ {\begin{array}{*{20}{c}} {\boldsymbol{0}} \\ {{\boldsymbol{ku + \delta }}({\boldsymbol{u}})} \end{array}} \right] - {\boldsymbol{H}}({\boldsymbol{q}},{\dot{\boldsymbol q}}){\dot{\boldsymbol q}} - {\boldsymbol{D}}{{{\boldsymbol{\ddot q}}}_{d} }} \right) \hfill \\ \end{split} $$ (26)

    定义

    $$ \begin{split} & {\boldsymbol{F}} \buildrel \Delta \over = {\dot{\boldsymbol e}} + {{\boldsymbol{\alpha }}^{ - 1}}\frac{{{p}}}{{{q}}}({\left| {\boldsymbol{e}} \right|^{\frac{{{p}}}{{{q}}} - 1}}){\dot{\boldsymbol e}} + {{\boldsymbol{\beta }}^{ - 1}}\frac{{{m}}}{{{n}}}({\left| {\boldsymbol{e}} \right|^{\frac{{{m}}}{{{n}}} - 1}}) \cdot \hfill \\ &\qquad {{ }}{{\boldsymbol{D}}^{ - 1}}( - {\boldsymbol{D}}{{{\boldsymbol{\ddot q}}}_d} - {\boldsymbol{H}}({\boldsymbol{q}},{\dot{\boldsymbol q}}){\dot{\boldsymbol q}}) \hfill \end{split} $$ (27)
    $$ {\boldsymbol{N}} \buildrel \Delta \over = {{\boldsymbol{\beta }}^{ - 1}}\frac{{{m}}}{{{n}}}({\left| {\boldsymbol{e}} \right|^{\frac{{{m}}}{{{n}}} - 1}}){{\boldsymbol{D}}^{ - 1}} $$ (28)

    ki=1, ${{\boldsymbol{\delta }}_{{d}}} = {\left[ {\begin{array}{*{20}{c}}{\boldsymbol{0}}^{\rm{T}}&{{{\boldsymbol{\delta}}{({\boldsymbol{u}})} ^{\rm{T}}}}\end{array}} \right]^{\rm{T}}}$则有

    $$ {\dot{\boldsymbol s}} = {\boldsymbol{F}} + {\boldsymbol{N}}\left[ {\begin{array}{*{20}{c}} {\boldsymbol{0}} \\ {\boldsymbol{u}} \end{array}} \right] + {\boldsymbol{N}}{{\boldsymbol{\delta }}_{{d}}} $$ (29)

    其中${\boldsymbol{N}}{{\boldsymbol{\delta }}_{{d}}}$代表了非线性死区特性对控制系统造成的影响.

    采用带有变系数的双幂次趋近率

    $$ \begin{split} {\dot{\boldsymbol s}} =& - \left( {{{\boldsymbol{\mu }}_1}{{\rm{dig}}} \left( {{{\left| {\boldsymbol{s}} \right|}^{{{{r}}_1}}}} \right){\text{ + }}{{\boldsymbol{\mu }}_2}{{\rm{dig}}} \left( {{{\left| {\boldsymbol{s}} \right|}^{{{{r}}_2}}}} \right)} \right) \cdot \hfill \\ & {\text{ }}\left( {2{\boldsymbol{I}}{\text{ + }}2\left\| {\boldsymbol{e}} \right\|} \right){{\rm{sgn}}} ({\boldsymbol{s}}){\text{ }} \hfill \\ \end{split} $$ (30)

    其中I为单位矩阵; ${{\boldsymbol{\mu }}_1}{{ = }}{{\rm{dig}}} [{\mu _{11}},{{ }}{\mu _{12{{ }}}},\cdots,{{ }}{\mu _{16}}] , {{\boldsymbol{\mu }}_2}{{ = }}$ ${{\rm{dig}}} [{\mu _{21}},{{ }}{\mu _{22}},\cdots,{{ }}{\mu _{26}}]$, ${{\boldsymbol{\mu }}_{1 i}}$${{\boldsymbol{\mu }}_{{{2}}i}}$均为正常数; $\left\| {\boldsymbol{e}} \right\| = {{\rm{dig}}}$ $[\max \left( {\left| {{{\boldsymbol{e}}_1}} \right|\left| {{{{\dot{\boldsymbol e}}}_1}} \right|} \right),\max \left( {\left| {{{\boldsymbol{e}}_2}} \right|\left| {{{{\dot{\boldsymbol e}}}_2}} \right|} \right), \cdots,\max \left( {\left| {{{\boldsymbol{e}}_6}} \right|\left| {{{{\dot{\boldsymbol e}}}_6}} \right|} \right)]$; ${{{r}}_1}{{ = }}{{{{{p}}_1}} \mathord{\left/ {\vphantom {{{{{p}}_1}} {{{{q}}_1}}}} \right. } {{{{q}}_1}}}$, ${{{r}}_2}{{ = }}{{{{{m}}_1}} \mathord{\left/ {\vphantom {{{{{m}}_1}} {{{{n}}_1}}}} \right. } {{{{n}}_1}}}$, ${{{p}}_1}$${{{q}}_1}$${{{m}}_1}$${{{n}}_1}$均为正奇数且满足$ {{{r}}_1}{{ > }}1{{ }} $, $ 0{{ < }}{{{r}}_2}{{ < }}1 $; 在趋近运动阶段, 当系统状态远离滑模面($\left| {{{\boldsymbol{s}}_i}} \right| \geqslant 1$)时, ${{\boldsymbol{\mu }}_1}{{{\rm{dig}}(}}{\left| {\boldsymbol{s}} \right|^{{r_1}}}{{)(}}2{\boldsymbol{I}} + 2\left\| {\boldsymbol{e}} \right\|{{){\rm{sgn}}(}}{\boldsymbol{s}}{{)}}$能够以较大速度趋近滑模面, 当系统接近滑模面($\left| {{{\boldsymbol{s}}_i}} \right| < 1$)时, ${{\boldsymbol{\mu }}_2}{{{\rm{dig}}(}}{\left| {\boldsymbol{s}} \right|^{{{r} _2}}}{{)(}}2{\boldsymbol{I}} + 2\left\| {\boldsymbol{e}} \right\|{{){\rm{sgn}}(}}{\boldsymbol{s}}{{)}}$依然能够保证足够的趋近速度, 两部分可以保证趋近运动全程保持足够的收敛速度.

    为了弥补死区特性对控制系统造成的影响, 本文在非奇异快速终端滑模控制的基础上, 设计了自适应死区补偿器(adaptive dead-zone compensator, ADC), 其结构图见图3.

    图  3  带有自适应死区补偿器的控制系统
    Figure  3.  Control system with ADC

    系统的控制力矩为

    $$ \left[ {\begin{array}{*{20}{c}} {\boldsymbol{0}} \\ {\boldsymbol{u}} \end{array}} \right] = {{\boldsymbol{u}}_{{1}}} + {{\boldsymbol{u}}_{{2}}} + \left[ {\begin{array}{*{20}{c}} {\boldsymbol{\sigma }} \\ {\boldsymbol{ 0 }} \end{array}} \right] $$ (31)

    其中${{\boldsymbol{u}}_{\text{1}}}$${{\boldsymbol{u}}_2}$分别为

    $$ \left. {\begin{array}{*{20}{l}} {{\boldsymbol{u}}_1}{{ = }} - {{\boldsymbol{N}}^{{{ - }}1}}[{\boldsymbol{F}} + {{\boldsymbol{D}}^{{{ - }}1}}\left( {{{\boldsymbol{\mu }}_1}{{\rm{dig}}} ({{\left| {\boldsymbol{s}} \right|}^{{{{r}}_1}}}){{ + }}{{\boldsymbol{\mu }}_2}{{\rm{dig}}} ({{\left| {\boldsymbol{s}} \right|}^{{{{r}}_2}}})} \right) \cdot \hfill \\ \qquad \left( {2{\boldsymbol{I}} + 2\left\| {\boldsymbol{e}} \right\|} \right){{\rm{sgn}}} ({\boldsymbol{s}}) - {{\boldsymbol{D}}^{{{ - }}1}}{\boldsymbol{H}}({\boldsymbol{q}},{\dot{\boldsymbol q}}){\boldsymbol{s}}] \hfill \\ {{{\boldsymbol{u}}_2}{{ = }} - {{\rm{dig}}} ({{\rm{sgn}}} ({{\boldsymbol{s}}^{\rm{T}}}{\boldsymbol{DN}})){{{\boldsymbol{\hat \delta }}}_{{{{{d}}}}\max }}} \end{array}} \right\} $$ (32)

    其中, ${\boldsymbol{\sigma }} \in {{\boldsymbol{R}}^{3 \times 1}}$保证载体姿态${\theta _0}$以及位置${x}_{0}$${y}_{0} $所对应的控制力矩为0 , ${{\boldsymbol{\hat \delta }}_{{{d}}\max }} = {[\begin{array}{*{20}{c}} {{{\boldsymbol{0}}^{\rm{T}}}}&{{\boldsymbol{\hat \delta }}_{\max }^{\rm{T}} } \end{array}]^{\rm{T}} }$为估测的死区最大值, 且${{\boldsymbol{\hat \delta }}_{\max }} \in {{\boldsymbol{R}}^{3 \times 1}}$. ${{\boldsymbol{u}}_1}$为终端滑模控制器的输出控制指令, 实现跟踪误差在有限时间内到达滑动模态面以及镇定作用. ${{\boldsymbol{u}}_2}$为控制自适应死区补偿器的输出, 用来消除死区对系统跟踪精度的影响. 其参数的更新律设计如下

    $$ {{{\dot{ \hat {\boldsymbol \delta }}}}_{{{d}}\max }}{\text{ = }} - \varepsilon {\left| {{{\boldsymbol{s}}^{\rm{T}} }{\boldsymbol{DN}}} \right|^{\rm{T}} } $$ (33)

    该自适应死区补偿器能够从估计的死区最大值逼近实际的死区值, 有效的消除死区所带来的影响.

    引入如下的Lyapunov函数

    $$ {{V}} = \frac{1}{2}\left( {{{\boldsymbol{s}}^{\rm{T}}}{\boldsymbol{Ds}} + \frac{1}{\varepsilon }{\tilde{\boldsymbol \delta }}_{{{{{d}}}}\max}^{{\rm{T}}} {{{\tilde{\boldsymbol \delta }}}_{{{{{d}}}}\max}}} \right) $$ (34)

    其中${{\tilde{\boldsymbol \delta }}_{{{{{d}}}}\max}} = {{\boldsymbol{\hat \delta }}_{{{{{d}}}}\max}} - {{\boldsymbol{\delta }}_{{{{{d}}}}\max}}$, ${{\boldsymbol{\delta }}_{{{{{d}}}}\max}} = {[\begin{array}{*{20}{c}} {{{\boldsymbol{0}}^{\rm{T}} }}\;\;{{\boldsymbol{\delta }}_{\max }^{^{\rm{T}} }} \end{array}]^{\rm{T}} }$ , ${{\tilde{\boldsymbol \delta }}_{{{{{d}}}}\max }}$代表对死区特性上界的估计误差.

    式(34)对时间t求导可得

    $$ \begin{split} {{\dot V}} &= \frac{1}{2}{{\boldsymbol{s}}^{{\rm{T}}} }{\dot{ {\boldsymbol{Ds}}}} + {{\boldsymbol{s}}^{{\rm{T}}} }{\boldsymbol{D\dot {\boldsymbol{s}}}} + \frac{1}{\varepsilon }{\tilde{\boldsymbol \delta }}_{{{{{d}}}}\max}^{{\rm{T}}} {{{\dot{ \hat{\boldsymbol \delta} }}}_{{{{{d}}}}\max}} = \hfill \\ & {{ }} {{\boldsymbol{s}}^{{\rm{T}}} }{\boldsymbol{H}}({\boldsymbol{q}},{\dot{\boldsymbol q}}){\boldsymbol{s}} + {{\boldsymbol{s}}^{{\rm{T}}} }{\boldsymbol{D\dot s}} + \frac{1}{\varepsilon }{\tilde{\boldsymbol \delta }}_{{{{{d}}}}\max}^{{\rm{T}}} {{{\dot{ \hat {\boldsymbol\delta} }}}_{{{{{d}}}}\max}} \end{split} $$ (35)

    利用式(29)、式(31)和式(35)可变为

    $$ \begin{split} {\rm{\dot V}} =& {{\boldsymbol{s}}^{\mathop{\rm T}\nolimits} }\Bigg[ {{\boldsymbol{H}}({\boldsymbol{q}},{\boldsymbol{\dot q}}){\boldsymbol{s}}{\rm{ + }}{\boldsymbol{D}}\Bigg({\boldsymbol{N\delta }}_d{\rm{ + }}{\boldsymbol{N}}{{\boldsymbol{u}}_1}{\rm{ + }}} \Bigg.\Bigg.\\ & \Bigg. {\Bigg. {{\boldsymbol{N}}{{\boldsymbol{u}}_2}{\rm{ + }}{\boldsymbol{F}} + {\boldsymbol{N}}\left[ {\begin{array}{*{20}{c}} {\boldsymbol{\sigma }}\\ {\boldsymbol{0}} \end{array}} \right]} \Bigg)} \Bigg]{\rm{ + }}\frac{1}{\varepsilon }{\boldsymbol{\tilde \delta }}_{{{{{d}}}}\max}^{\mathop{\rm T}\nolimits} {{{{\dot {\hat {\boldsymbol{\delta}}} }}}_{{{{{d}}}}\max}} \end{split} $$ (36)

    由控制器(32)可得

    $$ \begin{split} {{\dot V}} = & - {{\boldsymbol{s}}^{\rm{T}} }\left[ {({{\boldsymbol{\mu }}_1}{{\rm{dig}}} ({{\left| {\boldsymbol{s}} \right|}^{{{{r}}_1}}}) + {{\boldsymbol{\mu }}_2}{{\rm{dig}}} ({{\left| {\boldsymbol{s}} \right|}^{{{{r}}_2}}}))}\cdot \right. \hfill \\ & {{ }} \left. {\left( {2{\boldsymbol{I}} + 2\left\| {\boldsymbol{e}} \right\|} \right){{\rm{sgn}}} ({\boldsymbol{s}})} \right] + {{\boldsymbol{s}}^{\rm{T}} }{\boldsymbol{DN \delta }}_d -\hfill \\ & {{ }} {{\boldsymbol{s}}^{\rm{T}} }{\boldsymbol{DN}}{{\rm{dig}}} ({{\rm{sgn}}} ({{\boldsymbol{s}}^{\rm{T}}}{\boldsymbol{DN}})){{{\hat{\boldsymbol \delta }}}_{{{{{d}}}}\max }}{{ + }}\frac{1}{\varepsilon }{\tilde{\boldsymbol \delta }}_{{{{{d}}}}\max}^{\rm{T}} {{{\dot{ \hat {\boldsymbol\delta} }}}_{{{{{d}}}}\max}} \end{split} $$ (37)

    注意到 ${{\boldsymbol{s}}^{{\rm{T}}} }{\boldsymbol{DN}}{{\rm{dig}}} ({{\rm{sgn}}} ({{\boldsymbol{s}}^{\rm{T}}}{\boldsymbol{DN}}){\text{ = }}\left| {{{\boldsymbol{s}}^{{\rm{T}}} }{\boldsymbol{DN}}} \right|$且有 ${{\boldsymbol{s}}^{\rm{T}}}$ ${\boldsymbol{DN}}{{\boldsymbol{\delta }}_{{d}}} \leqslant \left| {{{\boldsymbol{s}}^{{\rm{T}}} }{\boldsymbol{DN}}} \right|{{\boldsymbol{\delta }}_{{{d}}\max}}$, 则 ${{\dot V}}$满足

    $$ \begin{split} & {{\dot V}} \leqslant - {{\boldsymbol{s}}^{\rm{T}}}\left\{ {\left( {{{\boldsymbol{\mu }}_1}{{\rm{dig}}} \left( {{{\left| {\boldsymbol{s}} \right|}^{{{\text{r}}_1}}}} \right) + {{\boldsymbol{\mu }}_2}{{\rm{dig}}} \left( {{{\left| {\boldsymbol{s}} \right|}^{{{\text{r}}_2}}}} \right)} \right) \cdot } \right. \hfill \\ &\qquad {\text{ }}\left. {{\text{ }}\left[ {2\left( {{\boldsymbol{I}} + \left\| {\boldsymbol{e}} \right\|} \right)} \right]{{\rm{sgn}}} ({\boldsymbol{s}})} \right\}{\text{ + }} \hfill \\ &\qquad {\text{ }}{\tilde{\boldsymbol \delta }}_{{{d}}\max}^{{\rm{T}}} \left( {{{\left| {{{\boldsymbol{s}}^{{\rm{T}}} }{\boldsymbol{DN}}} \right|}^{\rm{T}}}{\text{ + }}\frac{1}{\varepsilon }{{{\dot{ \hat {\boldsymbol\delta} }}}_{{{d}}\max}}} \right) \end{split} $$ (38)

    利用自适应更新率(33), 则得

    $$ \begin{split} & \dot V \leqslant - {{\boldsymbol{s}}^{\text{T}}}\left[ {\left( {{{\boldsymbol{\mu }}_1}{\text{dig}}\left( {{{\left| {\boldsymbol{s}} \right|}^{{r_1}}}} \right) + {{\boldsymbol{\mu }}_2}{\text{dig}}\left( {{{\left| {\boldsymbol{s}} \right|}^{{r_2}}}} \right)} \right) \cdot } \right. \hfill \\ &\qquad {\text{ }}\left. {2\left( {{\boldsymbol{I}} + \left\| {\boldsymbol{e}} \right\|} \right)} \right]{\text{sgn}}({\boldsymbol{s}}) < 0 \end{split} $$ (39)

    V有下界且为0, 则有$ \mathop {\lim }\limits_{t \to \infty } {\boldsymbol{s}}{\text{ = }}{\boldsymbol{0}} $, $\mathop {\lim }\limits_{t \to \infty } {\tilde{\boldsymbol \delta }}_{{{d}}\max}^{}{\text{ = }}{\boldsymbol{0}}$, 系统是闭环稳定, 即实现机械臂各关节的跟踪与关节死区特性参数的估计.

    为了验证无扰动空间规划与该控制方法的有效性, 对图1所示的做平面运动的漂浮基刚性三杆空间机器人系统接近抓取目标过程进行无扰动空间规划与控制. 关节死区的实际上限为$\delta _{\text{max1}} = 35$, $\delta _{\max 2} = 45$, $\delta _{\max 3} = 15$; 其他系统参数如表1所示.

    表  1  空间机器人系统参数
    Table  1.  space robot system parameters
    Length/mMass/kgInertia moment
    /(kg∙m2)
    0.5014307090
    0.36350.42
    0.8622.50.94
    0.642.190.63
    下载: 导出CSV 
    | 显示表格

    控制器参数分别为${{{p}} \mathord{\left/ {\vphantom {{{p}} {{q}}}} \right. } {{q}}} = {5 \mathord{\left/ {\vphantom {5 3}} \right. } 3}$, ${{{m}} \mathord{\left/ {\vphantom {{{m}} {{{n}} = {{11} \mathord{\left/ {\vphantom {{11} 9}} \right. } 9}}}} \right. } {{{n}} = {{11} \mathord{\left/ {\vphantom {{11} 9}} \right. } 9}}}$, ${\boldsymbol{\alpha }} = $$ {{{\rm{diag}}}}(2, 2, 2, 2, 2, 2)$ , $\; {\boldsymbol{\beta }} = {{{\rm{diag}}}}(4{{, }}\;5{{, }}\;6{{, }}\;5{{, }}\;4.5{{, }}\;5)$.

    采样间隔为$L = 0.01{\text{ }}{{\rm{s}}}$. 机械臂系统沿轨道运行速度为${v} = 0.1\;{\rm{m/s}}$, 载体姿态角${\theta _0} = - {{\text{π}} }/6$, 机器人系统轨道相对于x轴位置角为$\psi = {{\text{π}} /3}$. 目标物体P与轨道之间的距离d为2.3 m, 其自转速度${\omega _p}{\text{ = }} $$ 0.13\;{\text{ }}{{{{\rm{rad}}} } / {{\rm{s}}} }$, 设定末端执行器与目标物体P之间速度差满足$\Delta v \leqslant 0.02\;{\rm{m/s}}$, 对关节角加速度进行范数约束, 初始参数设定为${\boldsymbol{\xi }}\left( {\text{0}} \right){\text{ = [0}}{\text{.03 0}}{\text{.02 0}}{\text{.02}}{{\text{]}}^{{\rm{T}}} }$, 从系统运行开始到抓取到目标共用时66 s.

    设机械臂系统初始状态为${\theta _1} = 0.8{\text{ rad}}$, ${\theta _2} = $$ 1.7{\text{ rad}}$, ${\theta _3} = - 2.65{\text{ rad}}$, 系统仿真结果如图4~图10所示. 其中, 图4~图6为关闭自适应死区补偿器时关节角变化曲线, 系统关节角无法跟踪上无反应期望轨迹. 为了展示自适应补偿器的性能, 关节死区的估测上限为$\hat \delta _{\max 1} = 50$, $\hat \delta _{\max 2 }= 50$, $\hat \delta _{\max 3} = 20$. 图7~图10为开启自适应死区补偿器时的反作用零空间轨迹追踪曲线.

    图  4  关节角1轨迹曲线(关闭死区补偿器)
    Figure  4.  Trajectory curve of joint angle 1 (closing ADC)
    图  5  关节角2轨迹曲线(关闭死区补偿器)
    Figure  5.  Trajectory curve of joint angle 2 (closing ADC)
    图  6  关节角3轨迹曲线(关闭死区补偿器)
    Figure  6.  Trajectory curve of joint angle 3 (closing ADC)
    图  7  关节角1轨迹曲线(开启死区补偿器)
    Figure  7.  Trajectory curve of joint angle 1 (opening ADC)
    图  8  关节角2轨迹曲线(开启死区补偿器)
    Figure  8.  Trajectory curve of joint angle 2 (opening ADC)
    图  9  关节角3轨迹曲线(开启死区补偿器)
    Figure  9.  Trajectory curve of joint angle 3 (opening ADC)
    图  10  姿态角轨迹曲线(开启死区补偿器)
    Figure  10.  Attitude angle trajectory curve (opening ADC)

    当末端抓手接触到目标手柄时, $\Delta v = $ ${\text{8.635\;5}}\;{\rm{mm/s}}$. 图10表明空间机械臂接近目标过程中, 自适应死区补偿器能够补偿死区造成的影响, 姿态角在轨迹追踪开始时有较小变化, 4 s之后一直保持在$- {{\text{π}} /6 }$, 实现了载体姿态无扰动; 同时图7~图9中表明各关节角渐进追踪上无扰动空间期望轨迹, 5 s之后一直保持在姿态无扰轨迹运行. 与图4~图6的对比可以表明自适应死区补偿器能够有效补偿死区造成的影响, 使姿态角的轨迹稳定, 关节角能够有效的追踪.

    (1) 针对载体位姿均不受控情况下, 存在关节死区的刚性三杆空间机械臂在抓取旋转目标过程中, 引入反作用零空间概念, 建立反作用零空间机器人系统动力学模型, 提出零空间机械臂系统的向量范数约束法, 实现了载体姿态无扰动空间规划.

    (2) 在反作用零空间规划的基础上考虑关节死区特性, 设计自适应死区补偿器, 对死区特性进行补偿.

    (3) 通过理论分析与仿真结果证明了该控制方法在关节死区情况下, 机械臂的各关节角仍能跟踪上无反应空间下的期望轨迹, 同时载体的姿态处于稳定状态.

  • 图  1   漂浮基三杆空间机器人与待抓取目标

    Figure  1.   Floating based three-bar space robot and target to be grasped

    图  2   关节死区特性图

    Figure  2.   Characteristic diagram of joint dead-zone

    图  3   带有自适应死区补偿器的控制系统

    Figure  3.   Control system with ADC

    图  4   关节角1轨迹曲线(关闭死区补偿器)

    Figure  4.   Trajectory curve of joint angle 1 (closing ADC)

    图  5   关节角2轨迹曲线(关闭死区补偿器)

    Figure  5.   Trajectory curve of joint angle 2 (closing ADC)

    图  6   关节角3轨迹曲线(关闭死区补偿器)

    Figure  6.   Trajectory curve of joint angle 3 (closing ADC)

    图  7   关节角1轨迹曲线(开启死区补偿器)

    Figure  7.   Trajectory curve of joint angle 1 (opening ADC)

    图  8   关节角2轨迹曲线(开启死区补偿器)

    Figure  8.   Trajectory curve of joint angle 2 (opening ADC)

    图  9   关节角3轨迹曲线(开启死区补偿器)

    Figure  9.   Trajectory curve of joint angle 3 (opening ADC)

    图  10   姿态角轨迹曲线(开启死区补偿器)

    Figure  10.   Attitude angle trajectory curve (opening ADC)

    表  1   空间机器人系统参数

    Table  1   space robot system parameters

    Length/mMass/kgInertia moment
    /(kg∙m2)
    0.5014307090
    0.36350.42
    0.8622.50.94
    0.642.190.63
    下载: 导出CSV
  • [1] 高峰, 郭为忠. 中国机器人的发展战略思考. 机械工程学报, 2016, 52(7): 1-5 (Gao Feng, Guo Weizhong. Thinking of the development strategy of robots in China. Journal of Mechanical Engineering, 2016, 52(7): 1-5 (in Chinese) doi: 10.3901/JME.2016.07.001
    [2]

    Yu XY. Hybrid-trajectory based terminal sliding mode control of a flexible space manipulator with an elastic base. Robotica, 2020, 38(3): 550-563 doi: 10.1017/S0263574719000857

    [3] 于潇雁, 陈力. 漂浮基柔性两杆空间机械臂基于状态观测器的鲁棒控制及振动控制. 机械工程学报, 2016, 52(15): 28-35 (Yu Xiaoyan, Chen Li. Observer based robust control and vibration control for a free-floating flexible space manipulator. Journal of Mechanical Engineering, 2016, 52(15): 28-35 (in Chinese) doi: 10.3901/JME.2016.15.028
    [4]

    Aghili F. Optimal trajectories and robot control for detumbling a non-cooperative satellite. Journal of Guidance, Control, and Dynamics, 2020, 43(5): 981-988 doi: 10.2514/1.G004758

    [5]

    Virgili-Llop J, Zagaris C, Zappulla R, et al. A convex-programming-based guidance algorithm to capture a tumbling object on orbit using a spacecraft equipped with a robotic manipulator. The International Journal of Robotics Research, 2019, 38(1): 40-72 doi: 10.1177/0278364918804660

    [6]

    Meng QL, Liang JX, Ma O. Identification of all the inertial parameters of a non-cooperative object in orbit. Aerospace Science and Technology, 2019, 91: 571-582 doi: 10.1016/j.ast.2019.05.047

    [7]

    Zong L, Emami MR, Luo J. Reactionless control of free-floating space manipulators. IEEE Transactions on Aerospace and Electronic Systems, 2020, 56(2): 1490-1503 doi: 10.1109/TAES.2019.2934371

    [8] 孙加亮, 田强, 胡海岩. 多柔体系统动力学建模与优化研究进展. 力学学报, 2019, 51(6): 1565-1586 (Sun Jialiang, Tian Qiang, Hu Haiyan. Advances in dynamic modeling and optimization of flexible multibody systems. Chinese Journal of Theoretical and Applied Mechanics, 2019, 51(6): 1565-1586 (in Chinese))
    [9] 朱安, 陈力. 配置柔顺机构空间机器人双臂捕获卫星操作力学模拟及基于神经网络的全阶滑模避撞柔顺控制. 力学学报, 2019, 51(4): 1156-1169 (Zhu An, Chen Li. Mechanical simulation and full order sliding mode collision avoidance compliant control basedon neural network of dual-arm space robot with compliant mechanism capturing satellite. Chinese Journal of Theoretical and Applied Mechanics, 2019, 51(4): 1156-1169 (in Chinese) doi: 10.6052/0459-1879-18-407
    [10] 艾海平, 陈力. 基于柔性机构捕捉卫星的空间机器人动态缓冲从顺控制. 力学学报, 2020, 52(4): 975-984 (Ai Haiping, Chen Li. Dynamic buffer compliance control of space robot based on flexible mechanism capturing satellite. Chinese Journal of Theoretical and Applied Mechanics, 2020, 52(4): 975-984 (in Chinese)
    [11] 付晓东, 陈力. 全柔性空间机器人运动振动一体化输入受限重复学习控制. 力学学报, 2020, 52(1): 171-183

    Fu Xiaodong, Chen Li. An input limited repetitive learning control of flexible-base two-flexible-link and two-flexible- joint space robot with integration of motion and vibration Chinese Journal of Theoretical and Applied Mechanics, 2020, 52(1): 171-183 (in Chinese)

    [12] 赵龙泽, 佘浩平, 黄良伟, 黄龙飞. 一种基座姿态可控空间机器人的通用避奇异算法[J]. 北京航空航天大学学报, 2021, doi: 10.13700/j.bh.1001-5965.2020.0603

    Zhao Longze, she Haoping, Huang Liangwei, Huang Longfei. A general singularity avoidance algorithm for base attitude controllable space robot [J]. Journal of Beijing University of Aeronautics and Astronautics, 2021, doi: 10.13700/j.bh.1001-5965.2020.0603(in Chinese))

    [13] 黄登峰, 陈力. 漂浮基柔性空间机械臂关节运动的分块神经网络控制及柔性振动模糊控制. 工程力学, 2012, 29(5): 230-236, 250 (Huang Dengfeng, Chen Li. Block neural network control and flexible vibration fuzzy control of floating base flexible space manipulator joint motion. Engineering Mechanics, 2012, 29(5): 230-236, 250 (in Chinese)
    [14] 程靖, 陈力. 闭链双臂空间机器人动力学建模及力矩受限情况下载荷运动自适应控制. 工程力学, 2017, 34(2): 235-241 (Cheng Jing, Chen Li. Dynamic modeling and load adaptive control of closed chain dual arm space robot with limited torque. Engineering mechanics, 2017, 34(2): 235-241 (in Chinese)
    [15] 谢立敏, 陈力. 输入力矩受限情况下漂浮基空间机械臂的鲁棒自适应混合控制. 工程力学, 2013, 30(3): 371-376 (Xie Limin, Chen Li. Robust adaptive hybrid control of floating space manipulator with limited input torque. Engineering Mechanics, 2013, 30(3): 371-376 (in Chinese)
    [16]

    Dubowsky S, Papadopoulos E. Kinematics, dynamics, and control of free-flying and free-floating space robotic systems. IEEE Transactions on Robotics and Automation, 1993, 9(5): 531-543 doi: 10.1109/70.258046

    [17]

    Dubowsky S. Path planning for space manipulators to minimize spacecraft attitude disturbances//IEEE International Conference on Robotics & Automation, IEEE, 2007

    [18]

    Nenchev DN, Yoshida K, Uchiyama M. Reaction null-space based control of flexible structure mounted manipulator systems//Proceedings of 35th IEEE Conference on Decision and Control, IEEE, 2002

    [19]

    Huang P, Xu Y. Attitude Compensation of Space Robots for Capturing Operation. Intech Open Access Publisher, 2006

    [20] 戈新生, 孙鹏伟. 自由漂浮空间机械臂非完整运动规划的粒子群优化算法. 机械工程学报, 2007, 43(4): 34-38 (Ge Xinsheng, Sun Pengwei. Nonholonmic motion planning of space manipulator system using particle swarm optimization. Journal of Mechanical Engineering, 2007, 43(4): 34-38 (in Chinese) doi: 10.3321/j.issn:0577-6686.2007.04.006
    [21] 崔浩, 戈新生. 自由漂浮空间机器人运动规划的多项式插值法. 北京信息科技大学学报, 2019, 34(4): 17-23, 29

    Cui Hao, Ge Xinsheng. Polynomial interpolation method for motion planning of free floating space robot. Journal of Beijing Information Science & Technology University, 2019, 34 (4): 17-23, 29 (in Chinese))

    [22] 姚其家, 戈新生. 基于伪谱法的自由漂浮柔性空间机器人姿态运动规划与反馈控制. 振动与冲击, 2019, 38(7): 20-27 (Yao Qijia, Ge Xinsheng. Attitude motion planning and feedback control of free floating flexible space robot based on pseudo spectral method. Journal of Vibration and Shock, 2019, 38(7): 20-27 (in Chinese)
    [23] 张福海, 付宜利, 王树国等. 载体姿态无扰的自由漂浮空间机器人运动规划. 清华大学学报(自然科学版), 2008, 48(11): 1911-1914, 1918 (Zhang Fuhai, Fu Yili, Wang Shuguo, et al. Motion planning of a free floating space robot having zero-disturbance spacecraft attitude. Journal of Tsinghua University (Science and Technology) , 2008, 48(11): 1911-1914, 1918 (in Chinese) doi: 10.3321/j.issn:1000-0054.2008.11.010
    [24] 张福海, 付宜利, 王树国. 一种笛卡儿空间的自由漂浮空间机器人路径规划方法. 机器人, 2009, 2: 93-98 (Zhang Fuhai, Fu Yili, Wang Shuguo. A path planning method for free-floating space robot in Cartesian space. Robot, 2009, 2: 93-98 (in Chinese)
    [25]

    Nguyen-Huynh TC, Sharf I. Adaptive reactionless motion and parameter identification in postcapture of space debris. Journal of Guidance, Control, and Dynamics, 2013, 36(2): 404-414 doi: 10.2514/1.57856

    [26]

    Yoshida K. Engineering test satellite VII flight experiments for space robot dynamics and control: theories on laboratory test beds ten years ago, now in orbit. The International Journal of Robotics Research, 2003, 22(5): 321-335 doi: 10.1177/0278364903022005003

    [27]

    Zhang HW, Zhu ZX. Sampling-based motion planning for free-floating space robot without inverse kinematics. Applied Sciences, 2020, 10(24): 9137

    [28] 黄小琴, 陈力. 基座、臂杆全弹性空间机器人抗死区动态面控制. 哈尔滨工程大学学报, 2019, 40(12): 2063-2069 (Huang Xiaoqin, Chen Li. Anti-dead-zone control based on dynamic surface for space robot with flexible links and elastic base. Journal of Harbin Engineering University, 2019, 40(12): 2063-2069 (in Chinese)
    [29] 黄小琴, 陈力. 存在死区的双柔杆空间机器人有限时间控制与抑振. 中国机械工程, 2019, 30(10): 1212-1218 (Huang Xiaoqin, Chen Li. Finite time control and vibration suppression of double flexible link space robot with dead zone. China Mechanical Engineering, 2019, 30(10): 1212-1218 (in Chinese) doi: 10.3969/j.issn.1004-132X.2019.10.011
    [30]

    Lu Y, Liu JK, Sun FC. Actuator nonlinearities compensation using RBF neural networks in robot control system//Proc. 4th CESA Multi-Conference on Computation Engineering in Systems Application. Beijing, 2006, 1: 231-238

    [31]

    Piersigilli P, Sharf I, Misra AK. Reactionless capture of a satellite by a two degree-of-freedom manipulator. Acta Astronaut, 2010, 66: 183-192 doi: 10.1016/j.actaastro.2009.05.015

    [32]

    Fukazu Y, Hara N, Kanamiya Y, et al. Reactionless resolved acceleration control with vibration suppression capability for JEMRMS/SFA//IEEE Interantional Conference on Robotics and Biomimetics, Piscataway, NJ, USA, 2008: 1359-1364

    [33]

    Nenchev DN, Yoshida K, Vichitkulsawat P, et al. Reaction null-space control of flexible structure mounted manipulator systems. IEEE Transactions on Robotics and Automation, 2000, 15(6): 1011-1023

    [34]

    Nenchev DN, Yoshida K, Uchiyama M. Reaction null-space based control of flexible structure mounted manipulator systems//Proceedings of 35th IEEE Conference on Decision and Control, IEEE, 2002

    [35]

    Roman S. Advanced linear algebra. The Mathematical Gazette, 1992, 79(484): xvi,482

  • 期刊类型引用(3)

    1. 朱泽,朱战霞. 一类二阶非线性系统的准滑模无模型自适应控制. 控制与决策. 2024(08): 2663-2670 . 百度学术
    2. 雷荣华,付晓东,陈力. 基于加幂积分法的空间机器人二阶滑模全局固定时间控制. 控制与决策. 2024(10): 3270-3278 . 百度学术
    3. 高鼎峰,顾秀涛,郭毓,刘辽雪. 全状态约束下柔性关节自由飞行空间机器人有限时间指令滤波鲁棒跟踪控制. 南京理工大学学报. 2024(05): 556-567 . 百度学术

    其他类型引用(5)

图(10)  /  表(1)
计量
  • 文章访问数:  725
  • HTML全文浏览量:  310
  • PDF下载量:  78
  • 被引次数: 8
出版历程
  • 收稿日期:  2021-09-24
  • 录用日期:  2022-01-09
  • 网络出版日期:  2022-01-10
  • 刊出日期:  2022-03-17

目录

/

返回文章
返回