工程科学与技术   2020, Vol. 52 Issue (2): 121-129
一种四足磁吸附爬壁机器人运动学分析及仿真
吕志忠, 张成维, 钟功祥, 张伟杰     
西南石油大学 机器人工程与智能制造南充市重点实验室,四川 成都 610500
基金项目: 南充市市校科技战略合作项目(19SXHZ0034);石油天然气装备教育部重点实验室项目(2017sts03)
摘要: 为实现爬壁机器人在不同曲率的铁基壁面上可靠吸附和自由运动,设计了一种能够全方位运动的四足磁吸附爬壁机器人。首先,运用修正的Grübler–Kutzbach(G–K)公式对机器人进行了自由度分析。然后,采用Denavit–Hartenbery(D–H)法建立了机器人行走腿的连杆坐标系,分析了行走腿的正逆运动学。接着,将机器人视为并联机构,分析了运载平台的正逆运动学,给出了逆运动学的解析解,并使用了一种基于牛顿法求解含有冗余方程的数值算法得到了正运动学的数值解,建立了完整的机器人运动学数学模型。为了验证所建数学模型的正确性,使用 MATLAB根据所建数学模型编写计算程序,在 MATLAB和Adams中分别做了相同的正逆运动学仿真对比验证。最后,使用螺旋理论得到了机器人的雅可比矩阵,结合Grassmann线几何理论分析了机器人的正逆运动学奇异位形,并验证了非冗余驱动时的一种正运动学奇异位形,给出了避免奇异性发生的方法。自由度分析结果表明,运载平台具有6个自由度,能够完成空间全方位运动,机器人的结构设计合理;MATLAB和Adams的仿真结果一致,并且正逆运动学能够相互验证,说明了所建的数学模型的正确性,为机器人的运动控制、轨迹规划提供了理论基础;奇异性分析得出了机器人的奇异位形,为避免机构奇异性的发生提供了方向,利用逆运动学奇异性实现了无功耗静止。
关键词: 四足机器人    并联机器人    运动学    数值解    螺旋理论    奇异性    
Kinematics Analysis and Simulation of a Quadruped Magnetic Adsorption Wall-climbing Robot
LYU Zhizhong, ZHANG Chengwei, ZHONG Gongxiang, ZHANG Weijie     
Nanchong Key Lab. of Robotics Eng. and Intelligent Manufacturing, Southwest Petroleum Univ., Chengdu 610500, China
Abstract: A quadruped magnetic absorbing wall-climbing robot with omni-directional motion was designed to achieve reliable adsorption and free movement on the iron-based wall with different curvatures. Firstly, the modified Grübler–Kutzbach (G–K) formula was used to analyze the degree of freedom (DOF) of the robot. Then the Denavit–Hartenbery (D–H) method was used to establish the linkage coordinate system of the robot walking legs, and the forward and inverse kinematics of the walking legs were analyzed. Then the robot was regarded as a parallel mechanism, the forward and inverse kinematics of the carrier platform were analyzed, the analytic solution of the inverse kinematics was given, and a numerical algorithm based on Newton’s method was used to solve the redundant equations to obtain the numerical solution of the forward kinematics, the complete kinematics mathematical model of the robot was established. To verify the correctness of the model, the calculation program was compiled in MATLAB according to the model, and the same kinematics simulation was performed in MATLAB and Adams respectively to make comparisons. Finally, the Jacobian matrix of the robot was obtained by the screw theory, and the singularity of the robot was analyzed by combining the Grassmann line geometry theory. A forward kinematics singularity in non-redundant driving was verified. The results of DOF analysis showed that the carrier platform has six-DOF, so it can complete the omnidirectional motion in the space, and the structure design of the robot is reasonable. The simulation results of MATLAB and Adams are consistent and the forward and inverse kinematics can mutually verify each other, which illustrates the correctness of the mathematical model, and provides an a theoretical basis for the motion control, trajectory planning of the robot. The singularity of the robot is obtained, which provides an approach to avoid it. No power consumption still is achieved by utilizing the inverse kinematics singularity.
Key words: quadruped robot    parallel robot    kinematics    numerical solution    screw theory    singularity    

石化行业使用了大量的油气储罐及作业罐,采用人工对罐体进行检测、维护和焊接等作业存在效率低、成本高和安全隐患大等问题,因此利用爬壁机器人携带工具代替人工完成特定的任务成为一个必然的趋势[1]

爬壁机器人按移动方式不同可分为轮式、履带式和足式爬壁机器人。轮式爬壁机器人[2]运动灵活、控制简单,但存在吸附力不足、负载质量低的缺点;履带式爬壁机器人[3]吸附力大,但存在运动灵活性差、转向阻力大、易对壁面造成磨损的缺点。而足式爬壁机器人具有吸附力大、负载能力强、易于越障等优点[4],已引起了国内外学者的一些研究[5-6]。其中具有代表性的有西班牙自动化研究所研制的六足磁吸附爬壁机器人REST Ⅰ[7]、韩国成均馆大学研制的四足负压吸附爬壁机器人MRWALLSPECT Ⅳ[8]。以上研究在对机器人进行运动学分析时仅对行走腿进行了运动学分析,而没有对运载平台进行运动学分析。

作者设计了一种磁吸附爬壁机器人,并将其视为并联机构,分析了运载平台的运动学,去除了部分冗余驱动,使关节驱动的结构得到简化,并使用螺旋理论分析了机构的奇异性。

1 机械结构设计

机器人采用四足并联结构,其结构简图如图1所示,由运载平台、行走腿和吸附足组成。行走腿连接在运载平台上,其末端通过球铰连接吸附足。运载平台上装有控制系统,同时还可搭载各种执行装置来完成对储罐壁面的焊接、检测、清洗等作业。每条行走腿由电机1、足臂1、电机2、足臂2和电动缸组成,电机1固定在运载平台上驱动足臂1转动,电机2固定在足臂1上驱动2足臂转动,电动缸与足臂2固连,电动缸末端通过球铰连接吸附足。

图1 机器人结构简图 Fig. 1 Sketch structure of robot

为保证机器人高效灵活地运行,吸附足所产生的吸附力必须可调[5]。吸附足的结构简图如图2所示,由步进电机、丝杠螺母、永磁体、外壳1、外壳2组成。外壳1通过螺钉连接外壳2,步进电机装在外壳1内部。通过步进电机驱动丝杠螺母使永磁体在外壳2内上下移动,从而调节吸附足的吸附力。当吸附足吸附于壁面时,永磁铁与壁面直接接触,因此能产生很大的吸附力;当吸附足需要脱离壁面时,永磁铁远离壁面,吸附足能轻松地脱离壁面。

图2 吸附足结构简图 Fig. 2 Sketch structure of adsorption foot

2 机构自由度

为了认识机器人能够完成的运动,对机器人运载平台的自由度进行计算。

根据修正的G–K公式[9]得到:

$F = \lambda (n - p - 1) + \sum\limits_{i = 1}^p {{f_i}} + p' - F'$ (1)

式中, $F$ 为机构的自由度, $\lambda $ 为空间自由度, $n$ 为构件数目(包括机架), $p$ 为运动副数目, ${f_i}$ 为第 $i$ 个运动副具有的自由度, $p'$ 为冗余约束, $F'$ 为局部自由度。

机器人在运动过程中,存在4条腿都处于站立状态和只有3条腿处于站立状态两种情况。当4条腿都处于站立状态时,构件数为18,8个转动副、4个移动副、4个球铰、4个固定副。其中,转动副和移动副都提供1个自由度,球铰提供3个自由度,没有冗余约束和局部自由度。由式(1)得:

$F = 6 \times (18 - 20 - 1) + (12 \times 1 + 4 \times 3) + 0 - 0 = 6{\text{。}}$

当只有3条腿处于站立状态时,另一条腿为摆动腿,摆动腿上的自由度与运载平台的运动无关,可视为局部自由度。与4条腿都是站立腿相比,固定副变为3个,局部自由度为6。由式(1)得:

$F = 6 \times (18 - 19 - 1) + (12 \times 1 + 4 \times 3) + 0 - 6 = 6{\text{。}}$

综上可知,无论是3条站立腿还是4条站立腿驱动运载平台,运载平台都具有6个自由度,这6个自由度即为3维平动和3维转动,所以,该机器人具有很高的灵活性,能够完成空间全方位运动。

3 运动学分析 3.1 行走腿运动学分析

对行走腿进行运动学分析不仅用于确定和规划立足点的位置,也是对运载平台进行运动学分析的基础。

图3所示,在运载平台中心C处建立坐标系{C},其x轴方向平行于 ${A_2}{A_1}$ y轴方向平行于 ${A_4}{A_1}$ 。以行走腿 ${A_1}{B_1}$ 为例,坐标系{O}建立在电机1转轴与运载平台的交点 ${A_1}$ 处,其坐标轴的方向与坐标系{C}一致,其他连杆坐标系按照D–H法[10]建立,末端坐标系建立在球铰中心 ${B_1}$

图3 机器人坐标系 Fig. 3 Coordinates of robot

设电机1、2的转角分别为 ${\alpha _1}$ ${\;\beta _1}$ ,连杆1、2、3的长度为 ${l_1}$ ${l_2}$ ${h_1}$ ,行走腿 ${A_1}{B_1}$ 的D–H参数见表1

表1 D–H参数 Tab. 1 D–H parameter

${}_{\;\;\;\;i}^{i - 1}{{T}}$ 表示连杆坐标系{i}相对于{i–1}的齐次变换矩阵, ${}_{\;\;\;\;i}^{i - 1}{{T}}$ 表示为[11]

$\begin{array}{l} {}_{\;\;\;\;i}^{i - 1}{{T}} = Rot(x,{\alpha _{i - 1}})T\!rans(x,{a_{i - 1}})Rot({\textit{z}},{\theta _i})T\!rans({\textit{z}},{d_i}) = \\ \!\! \left[ {\begin{array}{*{20}{c}} \!{\cos\;{\theta _1}}\!\!\!&{ - \sin\;{\theta _1}}\!\!\!&0\!\!\!&{{a_{i - 1}}} \\ \!\!\!\!\!\!{\sin\;{\theta _i}\cos\;{\alpha _{i - 1}}}\!\!\!&{\cos\;{\theta _i}\cos\;{\alpha _{i - 1}}}\!\!\!&{ - \sin\;{\alpha _{i - 1}}}\!\!\!&{ - {d_i}\sin\;{\alpha _{i - 1}}} \\ \!\!\!\!\!\!\! {\sin\;{\theta _i}\sin\;{\alpha _{i - 1}}}\!\!\!&{\cos\;{\theta _i}\sin\;{\alpha _{i - 1}}}\!\!\!&{\cos\;{\alpha _{i - 1}}}\!\!\!&{{d_i}\cos\;{\alpha _{i - 1}}} \\ \!\!\!\!\!\!0\!\!\!&0\!\!\!&0\!\!\!&1 \end{array}} \!\!\!\!\!\right] \\ \end{array} $ (2)

表1的参数代入式(2)即可求得 ${}_1^0{{T}}$ ${}_2^1{{T}}$ ${}_3^2{{T}}$ ${}_4^3{{T}}$ 。末端坐标系到坐标系{O}的总齐次变换为:

$\!\!\begin{array}{l} {}_4^0{{T}} = {}_1^0{{T}}{}_2^1{{T}}{}_3^2{{T}}{}_4^3{{T}}= \\ \!\! \left[ {\begin{array}{*{20}{c}} \!\!\!\! {\cos({\alpha _1} \!+\! {\beta _1})}\!\!\!\!&{ - \sin({\alpha _1} \!+\! {\beta _1})}\!\!\!&0\!\!\!&{{l_1}\cos{\alpha _1} \!+\! {l_2}\cos({\alpha _1} \!+\! {\beta _1})} \\ \!\!\!{\sin({\alpha _1} \!+\! {\beta _1})}\!\!\!\!&{\cos({\alpha _1} \!+\! {\beta _1})}\!\!\!&0\!\!\!&{{l_1}\sin{\alpha _1} \!+\! {l_2}\sin({\alpha _1} \!+\! {\beta _1})} \\ \!\!\! 0\!\!\!\!&0\!\!\!&1\!\!\!&{ - {h_1}} \\ \!\!\!0\!\!\!\!&0\!\!\!&0\!\!\!&1 \end{array}}\!\!\!\!\! \right] \\ \end{array} $ (3)

设行走腿末端在坐标系{ $O $ }的位置为 ${}^{A_1}{{{P}}_{B_1}} = $ $ {[{P_x},{P_y},{P_{\textit{z}}}]^{\rm{T}}}$ ,则

${}^{A_1}{{{P}}_{B_1}} = \left[\!\!\!\! {\begin{array}{*{20}{c}} {{P_x}} \\ {{P_y}} \\ {{P_{\textit{z}}}} \end{array}} \!\!\!\!\right] = \left[\!\!\!\! {\begin{array}{*{20}{c}} {{l_1}\cos\;{\alpha _1} + {l_2}\cos({\alpha _1} + {\beta _1})} \\ {{l_1}\sin\;{\alpha _1} + {l_2}\sin({\alpha _1} + {\beta _1})} \\ { - {h_1}} \end{array}}\!\!\!\! \right]$ (4)

同理,其他行走腿的末端坐标 ${}^{A_i}{{{P}}_{B_i}}$ 为:

${}^{A_i}{{{P}}_{B_i}} = \left[\!\!\!\! {\begin{array}{*{20}{c}} {{l_1}\cos\;{\alpha _i} + {l_2}\cos({\alpha _i} + {\beta _i})} \\ {{l_1}\sin\;{\alpha _i} + {l_2}\sin({\alpha _i} + {\beta _i})} \\ { - {h_i}} \end{array}} \!\!\!\!\right],i = 1,2,3,4$ (5)

根据式(4)可求得行走腿逆运动学解为:

$\left\{ \!\!\!\! {\begin{array}{*{20}{l}} {{\alpha _1} \!=\! \arctan\; t}, \\ {{\beta _1} \!=\!\! A\tan 2({P_y}\cos\;{\alpha _1} \!-\! {P_x}\sin\;{\alpha _1},{P_x}\cos\;{\alpha _1} \!+\! {P_y}\sin\;{\alpha _1}\! -\! {l_1})}, \\ {{h_1} \!=\! - {P_{\textit{z}}}} \end{array}} \right.$ (6)

式中, $t \!=\! \dfrac{{2{l_1}{P_y} \pm \sqrt {(P_x^2 \!+\! P_y^2 \!-\! {{({l_1} \!+\! {l_2})}^2})({{({l_1} \!+\! {l_2})}^2} \!-\! P_x^2 \!-\! P_y^2)} }}{{l_1^2 \!-\! l_2^2 \!+\! P_x^2 \!+\! P_y^2 \!+\! 2{l_1}{P_x}}}$ ,其加减号的确定与行走腿的配置有关,当 ${\;\beta _i}$ 为正时取“–”,反之则取“+”。同理,可完成其他3条行走腿的逆运动学计算。

3.2 运载平台运动学分析

运载平台的空间运动通过站立腿的协同动作来实现,此时机器人包含闭环运动链,属于并联机器人。与串联机器人不同,并联机器人的逆运动学计算通常比较简单,给定运载平台的位置,各关节变量可以独立计算。然而,并联机器人的正运动学计算一般非常复杂,它通常需要求解相互耦合的非线性方程组,一般得不到封闭解和唯一解[12]

图3所示,将基坐标系{O}固定在地面上,初始位置时与坐标系{C}重合,机器人的矩形运载平台边长分别为2a和2b。设坐标系{C}相对于基坐标系{O}的旋转矩阵为 ${{R}}$ ${}^O{{{P}}_C}$ 表示运载平台上C点的位置。为了方便与Adams仿真进行对比, ${{R}}$ 采用Adams使用的 $u - v - w$ 欧拉角,表示为[13]

${{R}} \!\!=\!\! \left[ {\begin{array}{*{20}{c}} \!\!\!\!\!\!\!\!{\cos\;\beta \cos\;\gamma }\!\!\!\!\!\!&{ \!-\! \cos\;\beta \sin\;\gamma }\!\!\!\!\!\!\!\!&{\sin\;\beta } \\ \!\!\!\!\!\!\!\!\!{\begin{array}{c} \sin\;\alpha \sin\;\beta \cos\;\gamma + \\ \cos\;\alpha \sin\;\gamma \end{array} }\!\!\!\!\!\!\!\!&{\begin{array}{c} \!-\! \sin\;\alpha \sin\;\beta \sin\;\gamma + \\ \cos\;\alpha \cos\gamma \end{array} }\!\!\!\!\!\!\!\!\!\!\!&{ - \sin\;\alpha \cos\beta } \\ \!\!\!\!\!\! { - \cos\;\alpha \sin\;\beta \cos\;\gamma }\!\!\!\!\!\!\!&{\begin{array}{c} \!\!\cos\;\alpha \sin\;\beta \sin\gamma + \\ \sin\;\alpha \cos\;\gamma \end{array}}\!\!\!\!\!\!\!\!\!\!&{\cos\;\alpha \cos\;\beta } \end{array}}\!\!\!\!\! \right]$ (7)

式中, $\alpha $ $\;\beta $ $\gamma $ 为欧拉角参数。

在运载平台逆运动学求解时可以独立计算每个支链,以支链 ${A_1}{B_1}$ 为例,在图3中存在如下关系:

${}^O{{{P}}_{B_1}} = {}^O{{{P}}_C} + {{R}}({}^C{{{P}}_{A_1}} + {}^{A_1}{{{P}}_{B_1}})$ (8)

${{R}}$ 是正交矩阵,于是

${}^{A_1}{{{P}}_{B_1}} = {{{R}}^{\rm{T}}}({}^O{{{P}}_{B_1}} - {}^O{{{P}}_C}) - {}^C{{{P}}_{A_1}}$ (9)

式中, ${}^C\!{{{P}}_{A_1}} = {[a,b,0]^{\rm{T}}}$ ,将 ${}^{A_1}{{{P}}_{B_1}}$ 代入式(6)即可求出 ${\alpha _1}$ ${\;\beta _1}$ ${\alpha _i}$ 。同理,可以求解其他支链的关节变量。

下面进行运载平台正运动学计算,并联机器人通常包含冗余驱动,由于运载平台自由度为6,所以机器人所有驱动中最多只有6个独立驱动[14],其他为冗余驱动。在设计驱动的过程中可以灵活地选择主动驱动去除某些冗余驱动,由于去掉的冗余驱动不承载运载平台上的负载,只需要驱动行走腿进行定位,所以这种驱动的电机尺寸和功率可以大大减小,这对关节驱动的设计具有重要指导意义。为了简化电机2处的结构,选取 ${\alpha _i}$ ${h_i}(i = 1,2,3,4)$ 作为主动关节变量。于是运载平台正运动学问题描述为已知各关节变量 ${\alpha _i}$ ${h_i}$ 及立足点 ${}^O{{{P}}_{B_i}}$ ,求机器人运载平台的位姿 ${}^O{{{P}}_C}$ ${{R}}$ 及从动关节变量 ${\;\beta _i}$

与式(8)同理可得:

${}^O{{{P}}_{B_i}} = {}^O{{{P}}_C} + {{R}}({}^C{{{P}}_{A_i}} + {}^{A_i}{{{P}}_{B_i}}),i = 1,2,3,4$ (10)

式中, ${}^C{{{P}}_{A_2}} \!\!=\! {[ - a,b,0]^{\rm{T}}}$ ${}^C{{{P}}_{A_3}} \!\!=\! [ - a, - b,0]$ ${}^C{{{P}}_{A_4}} \!\!=\! [a, - b,0]$ 。设 ${}^O{{{P}}_{B_1}} = {[{x_{O1}},{y_{O_1}},{{\textit{z}}_{O_1}}]^{\rm{T}}}$ ${}^O{{{P}}_{B_2}} = {[{x_{O2}},{y_{O_2}},{{\textit{z}}_{O_2}}]^{\rm{T}}}$ ${}^O{{{P}}_{B_3}} = $ $ {[{x_{O_3}},{y_{O_3}},{{\textit{z}}_{O_3}}]^{\rm{T}}}$ ${}^O{{{P}}_{B_4}} = {[{x_{O4}},{y_{O_4}},{{\textit{z}}_{O_4}}]^{\rm{T}}}$ ,用式(10)中的第1个公式分别与其他3个公式相减,并利用 ${{{R}}^{ - 1}} = $ ${{{R}}^{\rm{T}}}$ 将与R相乘的未知变量矩阵分离,结合式(5)可得:

$\left\{\!\!\!\! {\begin{array}{*{20}{c}} \begin{array}{l} \!\!\!\!\!\!\!\!\!\!\!{{{R}}^{\rm{T}}}\left[\!\!\!\! {\begin{array}{*{20}{c}} {{x_{O_1}} - {x_{O_2}}}\\ {{y_{O_1}} - {y_{O_2}}}\\ {{\textit{z}_{O_1}} - {\textit{z}_{O_2}}} \end{array}}\!\!\!\! \right] - \\ \,\left[\!\!\!\! {\begin{array}{l} {2a + {l_1}c{\alpha _1} - {l_1}c{\alpha _2} + {l_2}c({\alpha _1} + {\beta _1}) - {l_2}c({\alpha _2} + {\beta _2})}\\ \;\;\;\begin{array}{c} {l_1}s{\alpha _1} - {l_1}s{\alpha _2} + {l_2}s({\alpha _1} + {\beta _1}) - {l_2}s({\alpha _2} + {\beta _2})\\ - {h_1} + {h_2} \end{array} \end{array}}\!\!\!\! \right] = {{\textit{0}}}, \end{array} \\ \begin{array}{l} \!\!\!\!\!\!{{{R}}^{\rm{T}}}\left[\!\!\!\! {\begin{array}{*{20}{c}} {{x_{O_1}} - {x_{O_3}}}\\ {{y_{O_1}} - {y_{O_3}}}\\ {{\textit{z}_{O_1}} - {\textit{z}_{O_3}}} \end{array}}\!\!\!\! \right] - \\ \;\;\;\left[\!\!\!\! {\begin{array}{*{20}{l}} \;{2a + {l_1}c{\alpha _1} - {l_1}c{\alpha _3} + {l_2}c({\alpha _1} + {\beta _1}) - {l_2}c({\alpha _3} + {\beta _3})}\\ \!\!\!\begin{array}{l} 2b + {l_1}s{\alpha _1} - {l_1}s{\alpha _3} + {l_2}s({\alpha _1} + {\beta _1}) - {l_2}s({\alpha _3} + {\beta _3})\\ \;\;\;\;\;\;\;\;\quad\quad\quad\quad\quad\;\;\; - {h_1} + {h_3} \end{array} \end{array}} \!\!\!\!\!\!\! \right] = {{\textit{0}}}, \end{array} \\ \begin{array}{l} \!\!\!\!\!\!{{{R}}^{\rm{T}}}\left[\!\!\!\!\! {\begin{array}{*{20}{l}} {{x_{O_1}} - {x_{O_4}}}\\ {{y_{O_1}} - {y_{O_4}}}\\ {{\textit{z}_{O_1}} - {\textit{z}_{O_5}}} \end{array}}\!\!\!\!\! \right] - \\ \;\;\;\left[\!\!\!\!\!\!\! {\begin{array}{*{20}{l}} \;\;\;\;\;\;{{l_1}c{\alpha _1} - {l_1}c{\alpha _4} + {l_2}c({\alpha _1} + {\beta _1}) - {l_2}c({\alpha _4} + {\beta _4})}\\ \begin{array}{l} 2b + {l_1}s{\alpha _1} - {l_1}s{\alpha _4} + {l_2}s({\alpha _1} + {\beta _1}) - {l_2}s({\alpha _4} + {\beta _4})\\ \quad\quad\quad\quad\quad\quad\quad - {h_1} + {h_4} \end{array} \end{array}} \!\!\!\!\!\!\!\right] = {{\textit{0}}} \end{array} \end{array}} \right.$ (11)

式(11)为含有7个未知变量和9个方程的非线性耦合方程组,求解时一般将其化为高阶的单变量多项式[15],其过程通常非常复杂,即使求出多项式的解析式也难以确定满足机器人运动状态的唯一解。

而数值解法能方便地求出非线性方程组的1个解,但是解是不是唯一解取决于迭代初始值,如果初始值选取不当,数值解法很可能收敛到其他解。

采用牛顿迭代法[16]求取数值解,令 ${{x}} = \left( {\alpha ,\beta ,\gamma ,} \right. $ ${\left. {{\beta _1},{\beta _2},{\beta _3},{\beta _4}} \right)^{\rm{T}}}$ ,式(11)可写成 ${{F}}({{x}}) = {{\textit{0}}}$ ,使用牛顿法计算时先求解线性方程组:

${{F}}'({{{x}}_k})\Delta {{{x}}_k} = - {{F}}({{{x}}_k}),k = 0,1, \cdots,{{n}} $ (12)

式(12)为含有两个冗余方程的超定方程,超定方程可以使用左伪逆解[17]

$\Delta {{{x}}_k} = {{F}}'{({{{x}}_k})^\dagger }( - {{F}}({{{x}}_k})),k = 0,1, \cdots,{{n}}$ (13)

式中, ${{F}}'{({{{x}}_k})^\dagger }$ ${{F}}({{{x}}_k})$ 的左逆, $\Delta {{{x}}_k} = {{{x}}_{k + 1}} - {{{x}}_k}$ 。从而得到含有冗余方程的牛顿法迭代公式:

${{{x}}_{k + 1}} = {{{x}}_k} + {{F}}'{({{{x}}_k})^\dagger}( - {{F}}({{{x}}_k})),k = 0,1, \cdots,{{n}} $ (14)

$\left| {\Delta {{{x}}_k}} \right| < {({\varepsilon _1},{\varepsilon _2}, \cdots ,{\varepsilon _7})^{\rm{T}}}$ ${\varepsilon _1},{\varepsilon _2}, \cdots ,{\varepsilon _7}$ 为允许误差)时,结束迭代, ${{{x}}_{k + 1}}$ 收敛于方程组 ${{F}}({{x}}) = {{\textit{0}}}$ 的解 ${{{x}}^*}$

求解出 ${{x}} = {(\alpha ,\beta ,\gamma ,{\beta _1},{\beta _2},{\beta _3},{\beta _4})^{\rm{T}}}$ 后,由式(8)即可求出 ${}^O{{{P}}_C}$

3.3 运载平台运动学仿真

根据上述计算过程编写 MATLAB程序进行运载平台运动学仿真。另外,为了直观反映仿真过程中机器人的运动状态,并与 MATLAB的仿真结果做对比,以验证其正确性,在Adams中建立虚拟样机模型,如图4所示,也进行相应的运动学仿真。在Adams仿真中进行轨迹规划和参数测量时需要建立一些坐标系,所建坐标系与图3一致。

图4 虚拟样机模型 Fig. 4 Virtual prototyping model

仿真初始时刻 ${\alpha _1}$ ${\alpha _2} $ ${\alpha _3} $ ${\alpha _4} $ 分别为60°、120°、120°、60°, ${\;\beta _1} $ ${\;\beta _2} $ ${\;\beta _3} $ ${\;\beta _4} $ 分别为60°、–60°、120°、–120°, ${h_1}$ ${h_2} $ ${h_3} $ ${h_4} $ 都为300 mm。机器人的几何尺寸参数见表2

表2 机器人的几何尺寸参数 Tab. 2 Geometry parameters of robot

在逆运动学仿真时,为不失一般性,规划运载平台在6个自由度上都产生运动。采用摆线插值[18] 方法,取计算步长为0.01 s,规划运载平台上C点10 s内在xy ${\textit{z}}$ 轴方向的位移 $x_C $ $y_C $ ${\textit{z}}_C$ 从0分别运动25 mm、100 mm、10 mm,运载平台的3个欧拉角 $\alpha $ $\;\beta $ $\gamma $ 分别从0°变为–4°、8°、10°,如图5所示。

图5 运载平台规划轨迹 Fig. 5 Planning trajectory of carrier platform

在 MATLAB和Adams中分别进行逆运动学仿真,得到各关节变量的结果一致,表明了 MATLAB逆运动学计算的正确性。其中 ${\alpha _i}$ 的仿真结果如图6所示。

图6 ${{{\alpha}} _{{i}}}$ 的逆运动学解 Fig. 6 Inverse kinematics solution of ${{{\alpha}} _{{i}}}$

在 MATLAB中进行正运动学仿真时,有可能得到错误的数值解,为了验证所得数值解的正确性,将逆运动学得到的主动关节变量作为已知量,进行正运动学仿真,如果得到的结果与逆运动学中所规划的运动平台轨迹一致,则说明数值解是正确的。

设置计算步长仍为0.01 s,各变量的允许误差 $\varepsilon $ 都为1×10–10。在迭代的过程中,每次迭代都将初始迭代值设置为上一次迭代得到的解,以避免数值解的剧烈变化并提高收敛速度。最后,仿真得出运载平台的位姿与预期逆运动学规划的位姿一致,图7给出了运载平台位姿正运动学仿真结果与预期值的偏差。

图7 MATLAB正运动学仿真结果 Fig. 7 Forward kinematics simulation results in MATLAB

图7中可以看出,位置和姿态偏差都非常小,最低精度达1×10–11,这说明正运动学的数值解是正确的,同时也验证了 MATLAB正逆运动学求解的正确性。

在Adams中进行正运动学仿真时,将 MATLAB的逆运动学解导入Adams中作为关节的驱动,由于Adams中的motion在仿真初始时刻为0,所以,应先将 MATLAB中求解出的关节变量值都减去0时刻的值再写入txt文件;然后导入Adams中,建立spline;最后通过3次拟合函数CUBSPL添加到motion驱动对应的关节[19]。在仿真过程中没有出现过约束的情况,测量运载平台的位姿,得到的结果如图8所示,这与图5中逆运动学规划的轨迹一致,说明 MATLAB逆运动学的计算结果是正确的并且具有较高的精度。

图8 Adams正运动学仿真结果 Fig. 8 Forward kinematics simulation results in Adams

4 雅可比矩阵及奇异性分析 4.1 雅可比矩阵

获得雅可比矩阵的方法主要有求导法和螺旋理论法。求导法[20]通过求非线性方程组的偏导数来获得雅可比矩阵,是一种比较直接的方法,但对于多自由度的并联机构,它的求解结果复杂且难以明确其中的几何意义。而利用螺旋理论法求取的雅可矩阵能结合Grassmann线几何理论[21]进行分析,这样即使不给出雅可比矩阵的结果也能分析机器人的奇异位形。

图9所示,坐标系{S}与图3的基坐标方向相同,其原点与C点重合。以行走腿A1B1为例说明各关节的单位运动旋量: ${{{\xi }}_{1,1}}$ ${{{\xi }}_{1,2}}$ 是线矢量,它们分别通过电机1、2的转轴; ${{{\xi }}_{1,3}}$ 是偶量,它的偶部矢量的方向沿电动缸伸缩方向; ${{{\xi }}_{1,4}}$ ${{{\xi }}_{1,5}}$ ${{{\xi }}_{1,6}}$ 为3个正交于球铰中心的线矢量。

图9 运动旋量坐标系 Fig. 9 Motion screw coordinate system

运载平台的瞬时速度旋量可写成各关节单位运动旋量的线性组合[22],即

$ {{{\xi }}_P} = \left[ {{{w}};{{{v}}_C}} \right] = - \sum\limits_{i = 1}^6 {{{\dot {{q}}}_{j,i}}} {{{\xi }}_{j,i}},i = 1,2, \cdots ,6 $ (15)

式中, ${{{\xi }}_P}$ 为运载平台的速度旋量, ${{w}}$ ${{{v}}_C}$ 分别为运载平台的角速度和C点的速度, ${\dot {{q}}_{j,i}}$ 为第 $j$ 条行走腿的第 $i$ 个关节的速度, ${{{\xi }}_{j,i}}$ 为第 $j$ 条行走腿的第 $i$ 个关节的单位运动旋量。

式(15)中的被动关节旋量可以通过与它们的反旋量做互易积运算消去,由于每条行走腿中有两个主动关节,因此每条行走腿都需要寻找两个这样的反旋量 ${{{\xi }}_{j,r1}}$ ${{{\xi }}_{j,r2}}$ 。显然,这些反旋量可以为通过球铰中心且与 ${{{\xi }}_{j,2}}$ 共面的任意线矢量,选取 ${{{\xi }}_{j,r1}}$ 为通过球铰中心与 ${{{\xi }}_{j,2}}$ 相交且正交于 ${{{\xi }}_{j,4}}$ 的直线, ${{{\xi }}_{j,r2}}$ ${{{\xi }}_{j,4}}$ ,其他线矢量可由这两个线矢量线性表示出。

式(15)两边同时与 ${{{\xi }}_{j,r1}}$ ${{{\xi }}_{j,r2}}$ 做互易积运算可得:

$\left[\!\!\! {\begin{array}{*{20}{c}} {{{{J}}_{r1}}} \\ {{{{J}}_{r2}}} \\ {{{{J}}_{r3}}} \\ {{{{J}}_{r4}}} \end{array}}\!\!\! \right]\left[\!\!\! {\begin{array}{*{20}{c}} {{{{v}}_C}} \\ {{w}} \end{array}}\!\!\! \right] = - {\rm{diag}}({{{J}}_{q1}},{{{J}}_{q2}},{{{J}}_{q3}},{{{J}}_{q4}}){{\dot q}}$ (16)

式中, ${{{J}}_{rj}} = \left[ {{{{\xi }}_{j,r1}};{{{\xi }}_{j,r2}}} \right],{{{J}}_{qj}} = \left[\!\!\! {\begin{array}{*{20}{c}}{{{{\xi }}_{j,r1}} \circ {{{\xi }}_{j,1}}}&{{{{\xi }}_{j,r1}} \circ {{{\xi }}_{j,3}}}\\{{{{\xi }}_{j,r2}} \circ {{{\xi }}_{j,1}}}&{{{{\xi }}_{j,r2}} \circ {{{\xi }}_{j,3}}}\end{array}}\!\!\! \right]$

$\begin{aligned}[b] &\;\;\;\;{{{J}}_r}= \left[ {{{{J}}_{r1}};{{{J}}_{r2}};{{{J}}_{r3}};{{{J}}_{r4}}} \right],\\ &{{{J}}_q} = -{\rm{diag}}({{{J}}_{q1}},{{{J}}_{q2}},{{{J}}_{q3}},{{{J}}_{q4}}){\text{。}} \end{aligned} $

${{{J}}_r}$ 不满秩时,机器人存在正运动学奇异性;当 ${{{J}}_q}$ 不满秩时,机器人存在逆运动学奇异性;当 ${{{J}}_r}$ ${{{J}}_q}$ 都不满秩时则存在混合奇异性[23]。机器人在运动过程中必须避免出现奇异性,如果处于奇异位形,将会导致机器人不可控、驱动力突然变大,甚至毁坏机械装置的后果。

${{{J}}_q}$ 非奇异时,

${{\dot q}} = {{J}}\left[ {{{{v}}_C};{{w}}} \right]$ (17)

式中, ${{J}} = {{{J}}_q}^{ - 1}{{{J}}_r}$ ,为机器人的总雅可比矩阵。

4.2 正运动学奇异性

通过螺旋理论法计算得到的Jr相对于求导法求解的结果已经简化了很多,但仍然比较复杂,难以直接判断矩阵的奇异性,由于矩阵长度太长,这里没有列出。由式(16)可知, ${{{J}}_r}$ 由4对共面的线矢量组成,它具有明显的几何意义,直接分析这些线矢量所构成线簇的维数小于6的情况就能找出机器人的正运动学奇异位形。

当机器人不含冗余驱动时,驱动腿为3条,Jr中线矢量的个数为6,它们构成3个平面线簇,根据Grassmann线几何理论,存在3种特殊的几何条件使得线簇的维数减少:

1)3个平面线簇中存在两个共面;

2)同时平行于一个平面;

3)相交于一条公共交线(平行可视为相交与公共交线上无穷远点)。

当机器人含有冗余驱动时,驱动腿为4条,这时 ${{{J}}_r}$ 比3条驱动腿的情况增加了一个平面线簇,只会发生后两种奇异情况,并且要求新增的平面线簇也满足这样的几何条件,这表明冗余驱动的引入能减少奇异位形的发生。

对不含冗余驱动时的第3种情况进行验证,该情况容易出现且不易察觉,它其实已经在前面的运动学仿真中出现。

以前3条行走腿作为驱动腿为例。如图10所示,曲线姿态1为运动学仿真过程中det ${{{J}}_r}$ 的值,可以看到det ${{{J}}_r}$ 的值连续变化,在6.02 s时为正值,在6.03 s时为负值,因此奇异位形发生在6.02 s到6.03 s之间。在Adams中分别通过每条行走腿电机2的转轴及球铰中心创建一个平面并进行正运动学仿真,观察仿真过程中3个平面的汇交状况。如图11所示,3个平面的交线都集中在机器人的上侧,仿真过程中红色平面逆时针扫过黄色和绿色平面的交线,在6.02 s时红色平面位于这条交线的右侧,6.03 s位于其左侧,这两个时刻3条交线已经非常靠拢,则在6.02 s和6.03 s之间3条交线必然重合,成为一条垂直于运载平台的公共交线。由此验证了第3种情况确实是机器人的奇异位形。

图10 运动仿真中的det ${{{J}}_{{r}}}$ Fig. 10 Value of det ${{{J}}_{{r}}}$ in kinematics simulation

图11 奇异位形分析 Fig. 11 Singular configuration analysis

需要说明的是,上面的仿真过程在含有冗余驱动时并没有出现奇异位形,但是出现了4个平面的交线靠得较近的情况,接近于发生奇异性,这同样会使机器人的机械性能变坏,也应该被避免。

通过上面的分析,要避免正运动学奇异性的发生,必须分散4个平面的交线的位置,这可以通过改变行走腿的配置姿态来实现。如图12所示,在立足点位置不变的情况下改变机器人下方两条腿的配置姿态,此时交线分散在机器人的四侧,不容易发生汇交于一条线的情况,另外可以验证,这样也不容易发生第1、2种奇异状况。图10中曲线姿态2为改变配置姿态后运载平台完成同样的运动得出的det ${{{J}}_r}$ 值,它一直为正值,因此没有出现正运动学奇异性。该配置状态不容易发生奇异性,可作为一种基本配置使用。

图12 一种少奇异性位形 Fig. 12 A less singular configuration

4.3 逆运动学奇异性

使用旋量法计算得到的 ${{{J}}_q}$ 已经得到了充分化简,其结果为:

${{{J}}_q} = - {\rm{diag}}({l_1}\sin\; {\beta _1},1,{l_1}\sin \;{\beta _2},1, \cdots ,{l_1}\sin \;{\beta _4},1)$ (18)

由式(18)可知,当 ${\;\beta _i}$ 中为0°或180°时, ${{{J}}_q}$ 为降秩矩阵,机器人出现逆运动学奇异位形,机构的瞬时自由度减少,对应行走腿完全伸直或重合成一条直线,运载平台将不能沿着这条直线的方向完成微小运动。由于机械结构的限制, ${\;\beta _i}$ 的转角不会达到180°;而变为0°时行走腿完全伸直,运载平台处于其工作空间的边缘上。因此,通过合理的轨迹规划防止运载平台运动到其工作空间的边缘上,就能避免逆运动学奇异性。

另外,利用该机器人的逆运动学奇异性可以实现无功耗静止。如图13所示,当机器人4条行走腿都伸直时,将所有的驱动都断电,并选择能够自锁的电动缸,此时机器人相当于一个平面4–RRR机构,通过反螺旋理论容易得出只要满足4条行走腿不相交于一点或相互平行的条件,机器人的自由度为0,能保持静止不动。当机器人需要停止在壁面上某位置作业时,使用无功耗静止位形,可以减少机器人的功耗。

图13 一种无功耗静止位形 Fig. 13 A configuration of no power consumption still

5 结 论

1)设计了一种6自由度的四足磁吸附爬壁机器人结构,它满足空间全方位运动的要求,其结构设计合理。

2)将机器人视为并联机构,进行了完整的运动学分析,对比MATLAB与Adams仿真的结果验证了所建数学模型的正确性。仿真过程中规划运载平台在6个自由度方向都产生运动,仿真的顺利进行验证了运载平台具有6个自由度。

3)使用螺旋理论求取了机器人的雅可比矩阵,分析了机器人的运动学奇异位形和避免奇异性发生的方法,给出了一种避免奇异位形的行走腿配置方式,并利用逆运动学奇异性说明了一种无功耗停止位形。

参考文献
[1]
Schmidt D,Berns K. Climbing robots for maintenance and inspections of vertical structures:A survey of design aspects and technologies[J]. Robotics & Autonomous Systems, 2013, 61(12): 1288-1305. DOI:10.1016/j.robot.2013.09.002
[2]
Zhang Dawei,Chen Jiapin,Li Zhenbo. An omni-directional wall-climbing microrobot with permanent-magnetic wheels actuated by electromagnetic micromotors[J]. Robot, 2011, 33(6): 712-718. [张大伟,陈佳品,李振波. 电磁微马达驱动全方位永磁轮式爬壁微机器人[J]. 机器人, 2011, 33(6): 712-718. DOI:10.3724/SP.J.1218.2011.00712]
[3]
Zhou Xinjian,Liu Xiangyong. The optimization design of adsorption structure using in large oil tank climbing robot[J]. Machinery Design & Manufacture, 2014(9): 181-184. [周新建,刘祥勇. 大型油罐爬壁机器人吸附结构的优化设计[J]. 机械设计与制造, 2014(9): 181-184. DOI:10.3969/j.issn.1001-3997.2014.09.054]
[4]
Zhu Peihua,Wang Wei,Li Xuepeng,et al. A path planning for bionic climbing robot based on GPL model[J]. China Mechanical Engineering, 2016(24): 3273-3277. [朱佩华,王巍,李雪鹏,等. 基于GPL模型的仿生爬壁机器人路径规划[J]. 中国机械工程, 2016(24): 3273-3277. DOI:10.3969/j.issn.1004-132X.2016.24.002]
[5]
Loc V G,Koo I M,Tran D T,et al. Improving traversability of quadruped walking robots using body movement in 3D rough terrains[J]. Robotics & Autonomous Systems, 2011, 59(12): 1036-1048. DOI:10.1016/j.robot.2011.08.007
[6]
Vidoni R,Gasparetto A. Efficient force distribution and leg posture for a bio-inspired spider robot[J]. Robotics & Autonomous Systems, 2011, 59(2): 142-150. DOI:10.1016/j.robot.2010.10.001
[7]
Chu B S,Jung K M,Han C S,et al. A survey of climbing robots:Locomotion and adhesion[J]. International Journal of Precision Engineering & Manufacturing, 2010, 11(4): 633-647. DOI:10.1007/s12541-010-0075-3
[8]
Loc V G,Roh S G,Koo I M,et al. Sensing and gait planning of quadruped walking and climbing robot for traversing in complex environment[J]. Robotics & Autonomous Systems, 2010, 58(5): 666-675. DOI:10.1016/j.robot.2009.11.007
[9]
Lu Wenjuan,Zhang Lijie,Xie Ping,et al. Review on the mobility development history with the understanding of overconstraints[J]. Journal of Mechanical Engineering, 2017, 53(15): 81-92. [卢文娟,张立杰,谢平,等. 以对过约束的认识看自由度分析的历史发展[J]. 机械工程学报, 2017, 53(15): 81-92. DOI:10.3901/JME.2017.15.081]
[10]
Ruan Peng,Yu Zhiwei,Zhang Hao,et al. Gait planning and simulation of gecko inspired robot based on Adams[J]. Robot, 2010, 32(4): 499-504. [阮鹏,俞志伟,张昊,等. 基于Adams的仿壁虎机器人步态规划及仿真[J]. 机器人, 2010, 32(4): 499-504. DOI:10.3724/SP.J.1218.2010.00499]
[11]
Hu Qiang.Structural design and analysis of robot kinematics gecko[M].Beijing:Beijing University of Posts and Telecommunications,2013.
虎强.仿壁虎机器人的结构设计与运动学分析[D].北京:北京邮电大学,2013.
[12]
Taghirad H D.Parallel robots:Mechanics and control[J].Boca Ration:CRC Press,2013.
[13]
Niku S,尼库,孙富春,等.机器人学导论:分析、控制及应用[M].北京:电子工业出版社,2013.
[14]
陈学东,孙翊,贾文川.多足步行机器人运动规划与控制[M].武汉:华中科技大学出版社,2006.
[15]
Merlet J P,Gosselin C,Huang T.Parallel mechanisms[M]. New York:Springer,2016.
[16]
李庆阳,王能超,易大义.数值分析[M].5版.北京:清华大学出版社,2008.
[17]
Gao Zhenzhen. Generalized inverse matrix and its application[J]. Joural of Yili Normal University(Natural Science Edition, 2011(4): 1-7. [高珍珍. 广义逆矩阵及其应用[J]. 伊犁师范学院学报(自然科学版), 2011(4): 1-7. DOI:10.3969/j.issn.1673-999X.2011.04.002]
[18]
宋伟刚.机器人学:运动学、动力学与控制[M].北京:科学出版社,2007.
[19]
郭卫东.虚拟样机技术与Adams应用实例教程[M].北京:北京航空航天大学出版社,2008.
[20]
黄真,赵永生,赵铁石.高等空间机构学[M].2版.北京:高等教育出版社,2014.
[21]
Merlet J P.Parallel robots[M].Dordrecht:Kluwer Academic Publishers,2000.
[22]
于靖军,刘辛军,丁希仑.机器人机构学的数学基础[M].2版.北京:机械工业出版社,2015.
[23]
Mazare M,Taghizadeh M,Najafi M R. Kinematic analysis and design of a 3-DOF translational parallel robot[J]. International Journal of Automation & Computing, 2017, 14(4): 1-10. DOI:10.1007/s11633-017-1066-y