APP下载

机械臂运动学建模及解算方法综述

2019-12-03居鹤华

宇航学报 2019年11期
关键词:杆件运动学约束

冷 舒,吴 克,居鹤华

(1. 南京航空航天大学航天学院,南京 210016;2. 北京空间飞行器总体设计部,北京 100094)

0 引 言

随着机械臂在工业、航天等多个领域的广泛应用[1-2](见图1),提高机械臂运动控制系统的精度引起了相关研究人员的广泛关注,其中机械臂运动学建模及求解是决定运动精度的重要一环。运动学从功能上可分为正运动学及逆运动学,正运动学通过给定机械臂的关节角度获取机械臂杆件某一点的位置及姿态。逆运动学通过给定机械臂末端的位置及姿态计算机械臂各关节的运动量,其中逆运动学是运动学建模及求解的难点。机械臂正运动学模型为机械臂递归动力学控制的每一步提供了杆件质心位置及关节位置,而机械臂逆运动学与机械臂运动规划是密不可分的。图2体现了机械臂运动学在整个机械臂力位控制系统中的作用。

工程中绝大多数机械臂都是串联结构,故本文主要调研该类型结构的运动学建模方法。求解方法主要分为解析法、数值解法及人工智能法。

图1 航天机械臂及工业机械臂Fig.1 Manipulators in aerospace and industry

图2 机械臂运动学在力位控制系统中的作用Fig.2 Manipulator kinematics in the control system

1 机械臂运动学建模的数学基础

对机械臂运动学建模时通常采用两种坐标系。其一是1965年Denavit及Hartenberg在文献[3]中提出的DH系,其二是结合零位参考系的POE模型。

1.1 DH系

DH系及DH参数表示了用关节连接的相邻两根杆件间的坐标系及坐标参数。其中ak,ck,αk为结构参数,定义了相邻两个关节间的固定值,φk为运动参数,表示关节的运动量。Craig在专著[4]中介绍了建立改进DH系的方法。改进DH系与传统DH系的不同之处在于,DH参数与杆件之间的对应关系成为主要目标,而DH参数与关节之间的对应关系被视为次要因素。改进DH系在理论推导时物理意义更加明确,方便工程人员应用。后文介绍的各正逆运动学建模及求解方法时,都是以改进DH系为基础进行推导的。因此本文直接将改进DH系称为DH系,其定义如图3所示:

图3 DH系及DH参数Fig.3 DH frame and DH parameter

给定关节k-1及关节k,改进DH系的建系过程如下:

1)令zk-1及zk分别为关节k-1及关节k的转动轴。

2)做zk-1及zk的公垂线,定义为xk,其中xk与zk-1交点定义为Ok*,xk与zk交点定义为Ok。

3)点Ok-1与点Ok*的距离记为ck。

4)点Ok*与Ok的距离记为ak。

5)轴zk-1与轴zk间的夹角为αk。

DH系在机械臂运动学建模及求解中起到重要作用,但其存在一个缺点,即建系时相邻杆件间的DH系旋转不连续,故在相邻两系的z轴平行时,DH系存在奇异性。

1.2 POE模型

文献[5]中介绍了第二种坐标系,该方法将系统各关节的运动轴矢量统一到同一个笛卡尔坐标系下,该笛卡尔坐标系作为整个系统的参考坐标系,也称零位参考系。进一步以李群为数学基础,用指数坐标形式描述刚体的转动,用旋量描述刚体在三维空间中的六自由度运动。刚体转动示意图如图4所示,其中ω是刚体转动的转动轴。该坐标系不存在DH系的缺点,在求解过程中不存在奇异过程。

图4 刚体上一点绕ω轴的转动[5]Fig.4 A point in the rigid body rotate around axis ω[5]

2 机械臂正运动学

求解n自由度机械臂正运动学时,已知机械臂所有关节角组成的矢量φ,机械臂杆件k末端位姿矢量为sk,s={s1,…,sk}。则系统正运动学模型用公式描述:

s=f(φ)

(1)

因机械臂具有串联构型,由文献[4]可知其末端位姿能通过运动学的正向传播求得,故首先建立相邻杆件间的关节运动学模型。假设关节k及杆件k对应的DH系为Fk,关节k绕zk转动φk时,Fk-1转动至Fk的旋转变换阵为:

(2)

其中,λk=cos(φk),μk=sin(φk),而Fk系原点Ok的运动值相对于Fk-1的原点Ok-1为:

(3)

用齐次变换阵k-1Tk描述体k运动,记为:

(4)

若使用文献[5]中介绍的基于POE模型的刚体运动学表示法,则关节k转动φk时,k-1Qk表示为:

1+sin(φk)ωk+(1-cos(φk))(ωk)2

(5)

刚体的平移值k-1rk=[xk,yk,zk]是k系原点在k-1系下的坐标,如图5所示。

图5 POE模型中的平移Fig.5 Translation in the POE-based model

对于机械臂的任意杆件l,其末端位置sl表示为:

(6)

3 机械臂逆运动学

与式(1)类似,nDOF机械臂逆运动学模型也可用一个通式表示:

φ=f-1(s)

(7)

其中,s={s1,…,sn,q1,…,qn},表示机械臂的末端位置及姿态。

3.1 几何法

最早出现的求机械臂逆解的方法是几何法,该方法不建立关节及杆件的DH系及DH参数,而是根据杆件间的平面几何关系建立机械臂关节角与末端位置的约束方程。文献[7]中提出了平面二自由度机械臂的逆运动学求解,如图6所示。其中两杆件的长度分别为l1,l2,两个关节角度分别为θ1,θ2,根据系统的几何关系列写机械臂的运动学方程,从而得到机械臂末端位置与关节角的关系。在实际应用中,根据已知的机械臂末端平面位置,反解两个关节的角度分别为:

(8)

(9)

图6 平面2DOF机械臂的几何法解示意图Fig.6 Geometry approach for a planer 2DOF manipulator

文献[8]针对冗余自由度的平面机械臂提出了利用几何法求机械臂逆解的方案,其定位方程为:

xtp=l1cos(θ1)+l2cos(θ1+θ2)+…+

lncos(θ1+…+θn)

ytp=l1sin(θ1)+l2sin(θ1+θ2)+…+

lnsin(θ1+…+θn)

(10)

为求解方程,假设θ1=α,θ2=θ3=…=θn=θ,引入两个参数

(11)

其中,s只与θ相关,而γ用来求解α。从而得到相应的解。该机械臂构型及求解示意图如图7所示。

图7 nDOF平面机械臂及其求解示意[8]Fig.7 Geometry approach for a planer nDOF manipulator[8]

几何法为解析法在平面上的特例,部分文献将其归结至解析法中,也有文献将其单独作为一种方法介绍。从上文中的两个例子可知其实用性较弱,下文将介绍工业及航天领域中最多应用的两种求机械臂逆运动学解的方法—解析法及数值法。

3.2 解析法

利用解析法求机械臂逆运动学解时,首先需要分析机械臂的关节个数及其结构。在工业及航天领域中,三轴到七轴的机械臂都得到大量应用,其中三轴到五轴机械臂主要用于深空探测任务中[9],如我国嫦娥三号机械臂为三轴机械臂[10],美国的洞察号安装了四自由度机械臂,勇气号与机遇号火星巡视器安装了五轴机械臂[11-12]。工业机械臂与空间站机械臂通常具有六到七个关节。其中六自由度机械臂因具有工作空间大、运动灵活、非冗余等特点成为研究的首要目标。而超过六轴的机械臂为冗余机械臂,常看作6+m构型,七轴机械臂通常用6+1构型研究。因此本文主要介绍六自由度(DOFs)机械臂的逆运动学解法。对于关节个数3

0T6=0T1·1T2·2T3·3T4·4T5·5T6

(12)

接着根据末端位置矢量0r6E及姿态四元数0q6,确定机械臂腕心位置0r3C,再根据腕心位置确定前三轴角度φ1,φ2,φ3,如式(13)所示。得到前三轴的姿态四元数0q3后,先根据0q6确定后三轴的姿态四元数3q6,再根据姿态对齐求得后三轴角度φ4,φ5,φ6。

图8 机械臂分类Fig.8 Classification of the manipulator

(13)

(14)

最后将六个关节的所有角度组合在一起,得到16个实数解。具体流程如图9所示。

图9 6R机械臂逆运动学求解流程图Fig.9 The flowchart for solving inverse kinematics of6R manipulators

解耦机械臂是一种理想构型,但因机械加工及机构装配存在误差,实际应用中几乎不存在解耦构型的机械臂。用上述方法求非解耦机械臂的逆解会导致关节角存在计算误差,从而在实际应用出现定位精度偏低等问题,进而可能出现碰撞等严重问题。此时求通用机械臂逆运动学的解析法应运而生。

斯坦福大学的Raghavan及Roth[13]提出了一种通用六轴机械臂的消元法,该方法首先列出如式所示的机械臂定位方程组,其中每个方程是一个六元二次多项式方程。作者先将方程变为:

(15)

根据0T6最后两列与φ6无关的特点可以将φ6消元。此时等式左侧只有φ1,φ2等式右侧有φ3,φ4,φ5,表达式如式所示:其中s1表示sin(θ1),c1表示cos(θ1)。

(16)

其中,P是14×8阶常数矩阵,而B是含φ3的14×9阶矩阵。此时φ1,φ2可以用φ3,φ4,φ5进行替换,接着再消元φ4,φ5得到一个只有φ3的16阶多项式。求解该多项式得到φ3的所有解,最后将φ3依次代入式中,迭代求得其他各关节的所有解。仿真结果表明该方法对于六轴通用机械臂依然成立。Manocha等[14]在文献[13]的基础上优化了求解该方程的方法。将式消元φ1,φ2后得到。

(17)

其中,Axy为3×3的矩阵,b为12×1的矢量,0为3×3的零矩阵。A中的每一个元素都只含有φ3,φ3为A的特征根。式成立的条件为det(A)=0,其中det(A)表示矩阵A的行列式。det(A)=0也可得到一个只有φ3的16阶多项式,求解得到φ3的所有值。利用该方法求解速度可提升至11ms。上述两种方法都以DH系为数学基础建立了逆运动学模型,但由DH系的缺陷可知,它们在求解过程中存在奇异性。

随着双四元数概念[15]的提出,Husty等[16]利用双四元数结合Segre流型求通用6R机械臂的逆解。他们将一个6R串联机械臂从中间分开变为二个开环的3R串链,断点左右的两个坐标系ΣL=ΣR。上述3R串链都是只用一个参数表示的Segre流型,每个流型由四个超平面组成。两个Segre流型的16个交点表示机械臂逆运动学的16个逆解,超平面方程由四个参数化表示的矢量的行列式等于零得到。数值仿真结果表明,16个逆解中有二个为实数解而其他14个为虚数解。北京邮电大学的Qiao等[17]利用双四元数表示机械臂的定位方程,使得该方程变为关节角组合的多重线性型,并通过Dixon结式求解该定位方程。其数值仿真结果表明,16个解中有四个解是实数解有12个解为虚数解。上述方法求解速度较快,但表达式比较复杂,在实践中需要工程人员有很强的数学基础才能顺利求解。

对于上文提到的解析法,在实际应用中有比较成熟的开源库解决上述问题。如文献[20]中提到用Matlab的Robotics Toolbox库求解6R机械臂的逆运动学解,其平均计算时间为0.27 ms。文献[21]中用ikfast软件库计算机器人逆运动学。图10展示了可用ikfast计算逆运动学的机器人种类,表1介绍了每种机器人计算逆解的时间及经过10000次随机试验得到的计算成功率。由表1可知,ikfast可以成功求得任意六轴机械臂的逆解,精度达10-7m。在求解七轴机械臂时精度仍能保持在10-7m,但无法保证成功率达到100%。

虽然用解析法求机械臂逆运动学解能高效地得到机械臂在期望位姿的全部逆解,但现有的方法都存在两个缺陷。(1)在求解过程中无法满足避障约束,需要在求得所有解后对其进行后处理,筛选出可行解。(2)该方法很难处理在动态环境下的机械臂逆运动学求解。在深空探测任务中,行星车不断接近探测目标时,二者之间的相对位姿是时刻变化的,在不同时间点求得机械臂的期望位姿是不同的。因此应用该方法执行任务时,必须等到行星车与探测目标相对静止后,再用解析法求机械臂逆运动学解,最后实现机械臂运动路径规划。

图10 文献[21]中用ikfast计算逆运动学的机械臂Fig.10 The manipulator inverse kinematic calculatedby ikfast[21]

机械臂类型DOFs求解时间/(μs)成功率PA1067100%Barrett WAM66100%Puma Arm66100%Manus Arm66100%HRP27699.5%HRP37699.5%Kuka R85065100%Willow Garage PR27698.2%

3.3 数值法

多刚体逆运动学有多种数值解法,如雅可比迭代法、牛顿法及混合逆运动学法等,但在机械臂求逆解时几乎都采用雅可比迭代法。因此本文提到的数值解法专指雅可比迭代法的研究现状。雅可比迭代法[22]对于机械臂的关节数及结构没有特别要求,且适用于机械臂基座与目标间存在相对运动的系统的逆运动学求解,因此在六轴空间机械臂[23]、n轴空间机械臂[24]及深空探测[25]等领域的理论及工程实践中有不少应用。用数值法可以得到机械臂从起始位姿到目标位姿的一个包含运动路径的逆解,因此一般直接用数值法进行运动规划。在数学上无法证明该逆解是最优解,推测求得的解是次优解或最优解的逼近。

雅可比迭代法的基本公式仍为式,主要原理为通过雅可比矩阵J线性逼近一个可行解,

(18)

(19)

进一步可以得到关节角度微小变化Δφ对机械臂末端位置变化Δs的影响。

Δs≈J(φ)Δφ

(20)

因在机械臂规划过程中,机械臂末端位置与期望位置之间存在误差e,通过对微小角度的变化进行迭代求解,可以逐步缩小误差逼近期望位置。

e=J(φ)Δφ

(21)

由于机械臂末端位置是一个三维矢量,而机械臂关节数量不定,故雅可比矩阵J不一定是方阵。而迭代求解关节位置时需要求J-1,非方阵的J无法求逆。针对该问题,研究人员们想出多种解决方案。Unzueta等[26]提出雅可比转置法,通过引入一个与雅可比矩阵相关的常数α与雅可比矩阵的转置JT相乘的结果近似J-1,保证关节变量与末端位置之间的关系如式所示。式中〈x,y〉表示矢量x,y的内积。

(22)

数值仿真结果表明α应取较小值,否则系统末端将存在震荡或不连续性。Buss[27]提出利用雅可比矩阵的伪逆近似雅可比矩阵的求逆。

Δφ=J†e

(23)

其中,J†表示为J的伪逆矩阵。伪逆方法虽然解决了非方阵的雅可比矩阵的求逆问题,但在奇异点附近存在不稳定性。因此当目标位置在奇异点附近时,利用上述方法会导致求解结果无法收敛。Liegeois[28]及Maciejewski等[29]采用零空间法改进前文提到的伪逆法,他们将矩阵(I-J†J)投影至J的零空间上,I为单位阵。即对任意矢量v,J(I-J†J)v=0n,则方程改写为

Δφ=J†e+(I-J†J)v

(24)

该方法通过选择不同的v有一定几率求出另一个解。虽然它提高了伪逆算法的实用性,但其在奇异点附近稳定性依然很差。

为了改善伪逆算法在奇异点处稳定性差的缺陷,Wampler[30]提出了Levenberg-Marquardt(LM)算法,Nakamura等[31]采用阻尼最小二乘法(DLS)。

Δφ=JT(JJT+λ2I)-1e

(25)

上述方法不但可以减轻机械臂运动中的抖动,还可以改善伪逆算法在奇异点附近的表现。文献[32]用试验表明LM算法优于雅可比转置法及伪逆求解法,但其存在收敛速度慢且对于目标的跟踪精度较差的缺点。

也有不少学者针对雅可比矩阵采用了奇异值分解法(SVD),文献[33]通过SVD法对伪逆矩阵进行分解

其中,σi=0是奇异条件。Maciejewski[34]结合SVD法改进了DLS法,他利用SVD方法分解阻尼最小二乘矩阵:

JT(JJT+λ2I)-1=VEUT=

(26)

结果表明,在奇异点附近利用SVD方法计算机械臂的运动路径比利用伪逆法得到的结果平滑许多,弥补了伪逆求解法的不足。

此外在实际工程中,机械臂的关节存在角度约束,运动空间内存在碰撞约束等。Welman等[35]提出了解决关节角度约束的方法。文献[36]及[37]分别提出了零空间饱和法,该方法有效的解决了关节角度约束及运动空间内碰撞的问题,上述方法是结合了优化方法的雅可比迭代法。

文献[38]中通过一个仿真试验对比了雅可比矩阵转置法与阻尼最小二乘法之间的区别,虽然选择的研究对象不是串联机械臂而是更为复杂的并联结构。但该示例仍可说明数值解法的特点。图11展示了Y型及双Y型结构的示意图,计算时间如表2所示。从结果可知雅可比转置法比阻尼最小二乘法计算时间更短。

图11 研究对象[32]Fig.11 The Y type and double-Y type structures[32]

到目前为止,结合优化算法的雅克比迭代法已逐渐成为研究热点。在实际应用中存在成熟的开源软件库及商业软件库用数值法结合优化算法求解机械臂逆运动学,几种常见的软件库及其所用的算法如表3所示。其中KDL(Kinematics and dynamics library)中主要用KDL算法[39]及其改进算法KDL-RR(KDL-Random Restarts),TRAC-IK库[40]中应用的TRAC-IK算法。商业软件Optimization库中用SQP(Sequential quadratic programming)算法[41]的改进算法SQP-DQ[42](SQP-double quadratic)及SQP-SS[41](SQP-sum of squares)等。

文献[40]中比较了几种软件库中不同算法对于机器人逆运动学的求解成功率及平均解算时间。

分别选取五种人形机器人(如图12所示)的串联机械臂作为求逆运动学解的对象,用不同算法求逆解的结果如表4所示。其中TRAC-IK库具有最高的求解成功率及最快的平均解算时间,KDL库中KDL算法的求解成功率最低。SQP-DQ算法的平均解算时间最长。

表2 两种方法的计算时间对比[32]Table 2 The runtime of the two approaches[32]

表3 数值法求机械臂逆解所用的软件库及其算法Table 3 Illustration of source libraries and their algorithms innumerical method

图12 测试用的五种机器人[40]Fig.12 The five robot models used for testing[40]

运动串链求机械臂逆运动学的数值算法机器人的机械臂DOFsKDLKDL-RRSQP-DQSQP-SSTRACK-IK求解率/%解算时间/ms求解率/%解算时间/ms求解率/%解算时间/ms求解率/%解算时间/ms求解率/%解算时间/msRobonaut2785.820.6191.210.597.760.8898.850.6499.540.4TRACBot778.880.3990.130.5999.850.9399.880.7599.950.44Atlas2013675.530.1590.660.2599.710.699.110.4399.850.26Atlas2015775.390.3985.50.5598.980.7899.320.6599.450.42Valkyrie744.830.682.11.1699.050.999.610.6299.830.51

从结果来看,虽然运用各种数值算法求逆解的位置误差与姿态误差都可达到1e-6(m)及1e-6(deg),但其平均计算误差是解析法计算结果的10倍,且该方法也存在着一个不可避免的缺陷:没有一种算法的求解率可以达到100%。即使是六轴机械臂,其求解率无法像解析法那样每次都能找到逆解。造成该问题的原因在于数值法的非线性优化过程过于依赖人为设置或随机猜想的初始种子。数值法的核心是梯度下降,而种子决定着梯度下降的方向,若种子设置合理,则可以高效地求得理想的结果,若种子设置不合理,甚至会出现无解的情况。

3.4 人工智能方法

近几年,随着人工智能热潮的掀起,一些学者尝试采用人工智能的方法求解机械臂逆运动学,期望能用该方法求解特殊结构的机械臂逆运动学。具有特殊结构的机械臂大多用来处理某类特定问题,且该问题无法用常见的机械臂解决,因此无论是航天领域还是工业领域,都有一定的应用价值。

文献[44]采用传统遗传算法及连续遗传算法求机械臂逆解,遗传算法的迭代过程中可以得到机械臂的运动路径。实验结果表明连续遗传算法及传统遗传算法都可以得到机械臂的逆解,但用第一种方法得到的运动路径比第二种方法更加平稳。文献[45]提出了利用人工神经网络求机械臂逆运动学解的方法。其输入为机械臂的末端位姿T,输出为机械臂的关节角度φ。

(27)

结果表明,经过大量训练后,训练集Strain的理论正逆互验精度可以达到10-7m。利用测试集Stest进行测试的结果表明该方法的泛化能力在理论上可以接受,但无法用于工程中。文献[46]结合了遗传算法与神经网络求机械臂逆运动学解。神经网络的输入及输出与文献[45]一致,但神经网络的权重值由遗传算法进行优化。这项改进提高了神经网络的训练速度,保证末端位姿误差能以更快的时间降到目标误差以下。

文献[47]介绍了基于Sarsa(λ)强化学习的空间机械臂求逆解及路径规划的研究,机械臂的每根杆件都被视作一个可决策的智能体,通过感知机械臂末端与目标的偏差及各杆件和障碍物的距离程度,人工设计奖励函数,并对各杆件转动动作进行强化训练。形成了各智能体的状态-动作函数表,作为指导机械臂在线运动规划的依据。结果表明该方法可以指导机械臂在求逆解中满足避障约束及位置约束。但其无法保证机械臂满足姿态约束,需要对运动空间进行更细的划分及设计更完善的奖励函数才能实现。

到目前为止,人工智能求解机械臂逆运动学的方法还很不成熟。所有人工智能方法都是离线算法,无法实现在线求机械臂逆运动学解及运动规划。对于神经网络方法,仿真结果表明训练后的模型对于训练集Strain中的数据求逆解的效率及精度都能达到实际应用的标准,但训练集中并未给出工作空间内的所有点,由于泛化能力较弱,对于不在训练集内的点的计算效果不佳。此外即使是同一类型的两台机械臂A,B,也会有稍许不同,通过训练机械臂A得到的机械臂逆运动学模型A,很难泛化到机械臂B中。若在实际应用中,将模型A求的逆解作为机械臂B的输入控制其运动,可能会带来无法挽回的后果。对于强化学习方法主要存在两个问题,(1)该方法是基于对环境采样的算法,机器人所处的环境复杂,采样效率较低。(2)强化学习的采样中伴随着探索,在不确定性很强的环境空间中进行探索,容易损坏机器人。特别是在航天领域,机器人成本很高,因此损坏机器人是无法接受的。所以对于人工智能方法,还需要后续科研工作者继续努力研究。

4 机械臂运动学中需解决的关键科学问题

4.1 正运动学

目前机械臂正运动学建模及解算方法在理论方面非常成熟。在工程中对机械臂进行正运动学建模时,若输入的机械臂结构参数与工程模型的实际结构参数之间的误差小于系统要求的最大精度,则对于机械臂末端位姿的理论计算结果与工程测量结果间的误差也可以满足系统的精度。因此,提高机械臂正运动学计算精度的核心是寻找提高机械臂结构参数的精密测量方法。

4.2 逆运动学

目前许多科研人员仍对机械臂逆运动学建模与解算进行研究,他们在不同程度上都取得了一定的成果,为机械臂在航天及工业领域的应用奠定了理论及实践基础。但求机械臂逆运动学解的工程意义在于为机械臂运动规划提供输入。因此尚有以下几个方面的问题值得关注。

4.2.1解析法的理论研究

建立一套新的满足机械臂碰撞约束及角度范围约束的运动学模型。用解析法求机械臂逆运动学解时只需要满足位置及姿态约束,这两个约束都是等式约束,因此解一个非线性方程组的根即可得到全部解。但机械臂的工作空间会给予它碰撞约束或角度范围约束,这些约束是关于杆件位姿的不等式约束。因此在求逆解的过程中,解析法并未考虑与环境的碰撞约束或机械臂的关节角度约束。用该方法求得的逆运动学解中有一个或多个位姿可能与环境发生碰撞。对于该问题,一般是在计算方程组的根后通过解不等式筛除不满足约束的解,得到满足各项约束的解,增加了求逆运动学解的计算时间。建立有关机械臂碰撞约束或角度约束的逆运动学模型,将上述模型添加至原来的数学模型中,得到满足姿态约束的新模型。

4.2.2数值法的工程实践研究

考虑复杂环境约束下的快速在线求逆解。在航天领域对机械臂的应用中,主要需要考虑在复杂环境的约束中求机械臂的逆运动学解。该约束主要考虑机械臂底座与目标之间存在相对运动的情况,如空间站携带的机械臂抓捕与空间站存在相对运动的物体或行星车在星表对感兴趣的地貌进行在线探测。此时不但需要考虑机械臂的位置及姿态约束,避障约束,还需要考虑机械臂底座与探测目标之间的速度约束或加速度约束[48]。因此任务空间约束常包括以下几种,如路径奇异点规避的约束,在未知环境中运动时,机械臂运动路径中避障的约束,以及时间、能量等性能最优的约束。对于上述约束,将每一个约束都可表示为一个等式或不等式,对于非凸的约束方程,将其用连续多个凸函数进行分段逼近[49-50]。如运动约束方程中,平动是凸函数,旋转变换阵为非凸函数,将旋转变换阵用凸函数逼近,得到一系列凸的约束方程组。利用凸优化[51]的方法求解该运动方程组,得到满足约束的最优路径。

4.2.3机械臂逆运动学求解率的理论研究

任务空间[52]约束下的全局逆运动学求解率研究。任务空间约束是对机械臂末端位姿的约束,主要做用于机械臂抓取任务以及抓取后的行为。在任务空间约束下,机械臂求逆解失败可能有两种原因。其一是环境约束或运动学约束。如机械臂在抓取目标时无法避免与目标之外的环境碰撞,或在数值法求解的所有运动路径中,被机械臂抓取物体都无法保证固定姿态,从而导致任务失败,这种情况也称为全局求解失败。其二是初始种子设置不合理导致的求逆解失败,也称作局部求解失败。确定机械臂求解失败的种类具有十分重要的理论意义,许多科研人员都在研究能识别全局求解失败的方法。虽然有人提出当求解失败时,通过多试几个不同的初始种子再观测是否存在成功求解,但并无法证明测试的不同种子的数量与求解失败种类之间存在必然的联系。该问题的核心在于猜测非线性非凸系统优化的初始邻域方向。将非凸约束放宽至用凸函数逼近,并将非线性旋转变换阵Q∈SO(3)的乘法运算通过POE模型转化为指数系统exp(·)∈SO(3)的线性相加,系统转化为李代数中的线性系统。上述两方面是求解该问题的重点。

近年来,随着凸优化算法成功应用于机械臂逆运动学求解及运动路径规划。针对不同约束构造不同的凸函数,解决相应的问题已成为研究热点。本文提到的解析法及数值法都可与凸优化算法结合。对于解析法,先求解机械臂的逆运动学,再将可行解作为凸优化的终止条件对机械臂进行路径规划,最后可得满足约束条件的最优路径。对于数值解法,在4.2.2节与4.2.3节中已经介绍了其与凸优化结合可解决的各种问题。利用上述思路,预期可以获得更多科研成果。

5 结 论

机械臂运动学建模及求解在航天及工业领域都有广泛的应用。因解析法具有鲁棒性更强的特点,广泛的应用于机械臂基座不运动的工业任务或机械臂基座与目标相对静止的航天任务中。而对于机械臂基座与目标有相对运动的空间站任务及深空探测任务,因数值解法物易于实现,且对于动基座问题具有更好的适应性,受到研究人员的青睐。人工智能的方法也逐渐应用于该领域,但在理论中还存在诸多问题,并不足以在实际工程中应用,需要科研人员们对该问题进一步研究。本文在总结当前国内外机械臂运动学建模与求解的基础上,还指明了该领域还需要解决的科学问题,为后续科研工作者提供了研究思路。

猜你喜欢

杆件运动学约束
“碳中和”约束下的路径选择
基于临时支撑结构的杆件初弯曲对其轴压性能的影响
塔式起重机拼装式超长附着杆设计与应用
基于MATLAB的6R机器人逆运动学求解分析
约束离散KP方程族的完全Virasoro对称
基于D-H法的5-DOF串并联机床运动学分析
KD379:便携折叠式衣架
某网架杆件弯曲的原因分析及处理
基于运动学原理的LBI解模糊算法
适当放手能让孩子更好地自我约束