机械臂以其作业的准确性和对环境的适应性[1], 在现代工业和生产生活中起着重要作用.由于其关节内部结构的复杂性和长期服役过程中可能存在的工作环境恶劣性, 如空间机械臂工作环境具有高低温交变、高辐射、强辐照等特点, 关节故障时有发生.机械臂关节故障发生后, 锁定故障关节是一种简单而有效的处理方法[2].机械臂故障关节锁定后自由度数减小会导致其原有运动学模型不再适用, 进而可能导致原定任务失败.因此, 为保证机械臂故障关节锁定后仍能继续完成原定任务, 亟需开展故障机械臂运动学模型重构与容错路径规划的研究.
常用的机械臂运动学建模方法为D-H参数法[3], Xu等[4]基于该方法针对特定构型机械臂分析了不同关节锁定对D-H参数的影响, 实现了机械臂运动学模型重构, 但若其构型改变, 则需重新分析关节锁定对D-H参数的影响.王卓等[5]基于旋量理论建立了可重构机械臂的通用运动学模型, 该方法针对不同构型机械臂的建模具有通用性, 但其适用对象为常态机械臂, 未考虑关节故障对运动学模型的影响.综上所述可知, 基于D-H参数法能够完成单关节故障机械臂的运动学模型重构, 但若机械臂构型改变则需要重新建模.因此, 本文基于旋量理论提出一种针对单关节故障机械臂的通用模型重构方法, 能够实现任意构型机械臂关节故障后的运动学模型重构.
针对机械臂容错路径规划, 国内外学者已进行了相关研究.Ralph等[6]和赵京等[7]分别以不同容错性能指标为约束进行了容错路径规划, 结果表明机械臂在故障发生时能够锁定在具备容错能力的关节构型.She等[8]分析出故障状态下机械臂容错性能较优的构型集, 并进行了故障时刻的关节构型调整.Li等[9]基于雅克比矩阵摄动法对故障瞬间机械臂的速度和角速度突变进行抑制, 避免了故障瞬间由于运动学模型切换导致的运动参数突变.以上研究主要集中于机械臂故障前容错性能分析和故障瞬间的应急处理, 但由于机械臂故障后其工作空间发生退化, 即使锁定在具备容错能力的关节构型也极有可能导致原任务失败.为了解决这一问题, 亟需开展故障机械臂在退化工作空间内的轨迹规划研究.A*算法[10]具有自主性强、能够有效规避不可达区域的特点, 常用于解决机械臂轨迹规划问题.由于机械臂故障后运动性能显著下降, 为提高机械臂运动学性能以避免奇异现象发生, 本文通过在代价函数中增加运动性能项改进传统A*算法, 使其可在退化工作空间中搜索出满足任务要求的轨迹.
综上所述, 本文针对单关节故障机械臂提出基于旋量理论的运动学模型重构方法, 分析机械臂的退化工作空间, 并以运动性能平稳为约束对其进行栅格化处理.通过在代价函数中增加运动性能项改进传统的A*算法, 并在退化工作空间中搜索出满足任务要求的轨迹.所提出运动学模型重构方法能够实现任意构型机械臂单关节故障后的运动学模型重构, 基于改进的A*算法搜索出的容错任务轨迹, 在保证机械臂末端可达的同时使运动性能满足要求.
1 单关节故障机械臂运动学模型重构机械臂发生单关节故障后, 由于自由度数退化, 其原有运动学模型不再适用, 若需机械臂仍能继续工作, 则首先需要对其进行运动学模型重构.文献[4-5]等提出的方法不适用于任意构型机械臂关节故障后的运动学模型重构, 因此本文基于旋量理论提出一种适用于任意构型机械臂的运动学模型重构方法.
1.1 机械臂关节标号规则说明为了便于该方法的阐述, 首先定义机械臂关节标号规则.定义非故障状态下机械臂关节标号从基础坐标系ΣS到工具坐标系ΣT依次为1~ n.当机械臂关节Jk故障锁定时, 为了同非故障状态下机械臂关节标号加以区分, 规定关节Jk以外关节的相关符号均增加上标“~”, 且位于关节Jk与工具坐标系ΣT间关节的角标在原基础上减1, 即全部健康关节的标号为
对于n自由度机械臂, 根据旋量理论指数积(POE)公式可得其正向运动学方程
|
(1) |
其中:θ =(θ1 θ2 … θn)T ∈ Rn为各关节转角; gst(0) ∈ R4 × 4为机械臂初始位形时工具坐标系ΣT相对于基础坐标系ΣS的位姿矩阵; 
|
(2) |
ωi为第i关节的运动旋量轴线方向相对于基坐标系的单位矢量, 
当机械臂关节Jk(k = 1, 2, ·, n)故障锁定在θk时, 为了便于分析, 假设Jk以外的健康关节仍位于初始位形.此时位于ΣS与Jk之间的关节的运动旋量不受影响, 但是, 由于关节Jk绕其轴线ωk转过θk并在此处锁定, 位于故障关节Jk与工具坐标系ΣT之间的关节运动旋量会受故障关节转角的影响, 需要重新建立关节旋量坐标, 且可得重新建立的旋量参数为
|
(3) |
其中Rk为旋转矩阵通式, 具体表达式为
|
(4) |
vk=1-cos θk, ck=cos θk, sk=sin θk, Jk的轴向ωk=[ωk1 ωk2 ωk3]T, ωkij=ωkiωkj(i, j=1, 2, 3).此时机械臂末端工具坐标系相对于基坐标系的位姿矩阵为
|
(5) |
通过式(2)和(3)可得重构的运动旋量
|
(6) |
通过以上对单关节故障状态下机械臂运动学模型重构的分析, 能够确保任意构型n自由度机械臂在任一关节发生故障锁定时均能重新建立其运动学模型, 为机械臂关节故障后的控制奠定基础.
2 单关节故障机械臂容错路径规划机械臂故障关节的锁定会造成其工作空间退化, 这可能使原规划轨迹的部分路段不可达, 从而导致故障机械臂无法完成原定任务.为了使机械臂在发生关节故障后仍能完成原定任务, 需要在机械臂退化工作空间内实现容错路径规划.本文在基于蒙特卡洛法[11]进行故障机械臂退化工作空间求解的基础上, 以运动性能平稳为约束将工作空间栅格化, 进而提出了一种改进A*算法, 能够解决满足运动性能要求的故障机械臂任务轨迹规划.
2.1 基于蒙特卡洛法求解机械臂工作空间根据式(1)给出的正向运动学方程, 采用蒙特卡洛法遍历机械臂各关节转角qi∈ [qimin, qimax], 得到正常机械臂工作空间W, 即
|
(7) |
其中Q为机械臂位形空间.
当n自由度机械臂中第k个关节发生故障并锁定在θk时, 设其余关节转角为
|
(8) |
为了进行机械臂的容错路径规划, 需要对工作空间进行栅格化处理.若栅格内各点处的运动性能波动过大, 则栅格的平均运动性能不能代表栅格内各散点的运动性能.已知机械臂在其退化工作空间内的运动性能变化连续[8], 栅格边长的大小会影响栅格内各散点整体运动性能的变化幅度.本节以栅格内运动性能平稳为约束进行退化工作空间的栅格边长分析.作为机械臂常用的性能分析指标, 可操作度能够表征机械臂处于某一给定位形时位置或姿态的调整能力[12], 本文利用退化可操作度表征机械臂退化工作空间内各点处的运动性能, 其表达式为
|
(9) |
为了保证栅格内运动性能的平稳性, 需要定义反应栅格内各点退化可操作度波动的指标.鉴于变异系数多用于比较不同数量级变量间的离散程度, 且不同栅格内的退化可操作度相差较大, 选择变异系数作为衡量栅格退化可操作度波动的指标.
利用长方体V外包机械臂的退化工作空间, 设栅格边长初值为
|
其中:a、b、c为V的长、宽、高, α为确定栅格边长时的比例初值, 

规定pi(i = 1, 2, ·, P)为各栅格, Ni为栅格pi内的散点数量.由式(9)可得pi内各散点退化可操作度wj(j = 1, 2, ·, Ni, 则pi的退化可操作度变异系数表示为
|
(10) |
其中:si为栅格内各散点对应的退化可操作度的标准差; Mi为栅格内各散点所对应退化可操作度的平均值, 其表达式为
|
(11) |
栅格退化可操作度变异系数的计算是实现栅格运动性能变化幅度评估的基础, 若根据式(10)计算出栅格pi的变异系数C·Vi小于阈值μ, 则认为该栅格内运动性能平稳性满足要求.另一方面, 当机械臂处于工作空间边缘区域时, 其运动性能变化明显, 该区域的栅格不易满足C·Vi小于阈值μ的要求, 但是考虑到机械臂一般不会运动到边缘区域, 因此当符合阈值要求的栅格数量P'所占百分比满足式(12)时, 视为完成了栅格划分, 有
|
(12) |
其中χ为符合阈值要求的栅格比例系数.若以边长初值Δl1进行栅格化不能满足上述比例要求, 则以β· Δl1为间隔减小栅格边长(β为栅格边长间隔减小系数), 重复上述步骤, 直至满足式(12)为止, 此时所对应的栅格边长Δle = [1-(e-1)·β]Δl1(e = 1, 2, ·, 1/β)即为最终栅格边长, 且可获得此时每个栅格的可操作度平均值Mi.
2.3 基于改进A*算法的容错路径规划单关节故障后机械臂自由度退化, 整体运动性能明显下降, 为解决运动性能降低导致的奇异问题, 本文对A*算法进行改进, 将栅格的平均退化可操作度融入代价函数中.基于此搜索出的容错轨迹能够在满足末端可达性的同时, 提高机械臂的运动性能.此外, 当机械臂最低运动性能有限制时, 也可通过修改代价项搜索出满足要求的轨迹.
传统A*算法以估价函数f(i) = g(i) + h(i)作为空间内第i个栅格的轨迹搜索选点指标.其中:g(i)为从起始栅格到当前栅格的代价值; h(i)为从当前栅格到目标栅格的代价值, 轨迹搜索时总是选择估价函数最小的值作为下一步栅格.为了提高故障机械臂运动性能, 在A*算法估价函数中增加栅格退化可操作度代价项.改进后的估价函数为
|
(13) |
其中m(i)代表栅格可操作度的代价值, 与栅格化过程中所求的各栅格可操作度Mi成反比, 即m(i) = σ /Mi, σ为可操作度的代价系数, 在确定σ时需使其所对应的代价值m(i)与g(i)、h(i)处于同一数量级.增加σ可在轨迹搜索时选择可操作度较大的栅格, 以提高规划所得路径的运动性能; 反之, 减小σ可搜索出距离较短的轨迹, 但规划所得路径运动性能较差.
当对路径最低退化可操作度有限制时, 规定路径的最低可操作度为ζ.若pi的平均退化可操作度Mi < ζ, 则将该栅格的退化可操作度代价项m(i)设置为无穷大.基于此, m(i)可表示为
|
(14) |
基于m(i)即可完成对A*算法的改进, 利用改进A*算法即可实现单关节故障机械臂容错路径规划.
3 仿真实验 3.1 七自由度机械臂运动学模型重构以如图 1(a)所示七自由度机械臂为研究对象开展模型重构仿真验证.已知机械臂杆长l0 ~ l8分别为[0.6, 0.5, 0.5, 5, 0.5, 5, 0.5, 0.5, 0.6]m, 初始位形时, 机械臂各关节的运动旋量参数如表 1所示, ΣS与ΣT的变换关系为
|
(15) |
|
图 1 机械臂构型图 |
| 表 1 机械臂各关节旋量参数 |
当J3锁定在θ3时, 重构旋量系如图 1(b)所示, ΣS保持原有方向, ΣT的方向发生变化, 产生变化的旋量参数为


|
(16) |
由式(3)可得重构的旋量参数如表 2所示.
| 表 2 关节3锁定后重构机械臂旋量参数 |
利用蒙特卡洛法对七自由度机械臂进行工作空间分析, 规定其各关节运动范围为[-270° , 270°], 随机遍历500000组关节角, 可得工作空间如图 2(a)所示, 外表面包络为球形.通过获取其切面图(如图 2(b)所示), 可知除中心区域外, 其余区域均为可达区域.当J3锁定在θ3 = 30°时, 可得退化工作空间如图 2(c)所示, 其外表面包络仍为球形, 但是通过获取其切面图可知其内部存在不可达区域, 如图 2(d)所示.若原定任务轨迹经过图中空洞, 则任务无法完成, 因此需要重新规划机械臂运行轨迹.
|
图 2 机械臂工作空间及其对应切面图 |
根据理论分析, 在基于A*算法进行机械臂容错路径规划前, 需要进行工作空间栅格划分.
针对常态下的机械臂, 以长宽高分别为22m、22m、21m的长方体包络工作空间.设置栅格边长初始比例为α = 1/5, 可得初始栅格边长为Δ l1 = 
|
图 3 工作空间栅格化仿真结果 |
当J3锁定在θ3 = 30°时, 同样以长宽高分别为22m、22m、21m的长方体包络工作空间.由于此时机械臂由七自由度退化为六自由度, 可操作度发生明显退化, 需要降低初始栅格边长.设置栅格边长初始比例为α = 1/15, 进而可得初始栅格边长Δ l1 = 
通过上述分析能够看出, 关节锁定前后, 满足性能平稳要求的栅格边长分别为0.7m和0.35m, 若在关节锁定后仍以锁定前的栅格边长进行工作空间划分, 则可能导致规划出的路径不满足运动性能要求.
3.4 A*算法改进前后搜索轨迹对比分析本文提出的单关节故障机械臂容错路径规划算法能够解决单关节故障后机械臂仍需完成原定任务的问题, 本节将对这一算法加以仿真验证.
针对具体的仿真任务, 设置机械臂末端初始点为[0.5m, 5.5m, 4.5m], 期望点为[0.5m, -5.5m, 7.5m], 该轨迹在常态下工作空间内可达.若机械臂J3故障锁定在θ3 = 30°时机械臂仍按照原规划轨迹进行直线规划, 则通过原任务轨迹在退化可操作度分布空间切面图(如图 4中虚线所示)能够看出, 原轨迹中存在明显不可达路段, 因此依据原规划路径无法完成任务, 需要进行容错路径规划.
|
图 4 机械臂在退化可操作度分布空间内的轨迹搜索结果 |
根据图 3(b)确定机械臂退化工作空间的栅格边长为Δ l =0.35m, 设置最低退化可操作度ζ = 10.基于改进A*算法进行容错路径规划时, 设置可操作度代价系数σ = 50.通过改进A*算法搜索出的机械臂末端轨迹如图 4中实线所示, 轨迹中各拐点对应栅格的平均退化可操作度如图 5(a)所示.由图 5(a)可见, 基于改进A*算法规划所得路径的退化可操作度主要集中在10~20>ζ的范围.
|
图 5 A*算法改进前后搜索轨迹可操作度对比 |
作为对比, 本文基于未增加改进项的传统A*算法对相同的任务进行路径规划, 所得轨迹如图 4中“点划线”所示, 轨迹中各拐点对应栅格的平均退化可操作度如图 5(b)所示.轨迹所覆盖的栅格存在平均退化可操作度小于ζ的情况, 没有达到任务所需运动性能的要求.
综上所述, 基于改进A*算法搜索出的路径能够选择具有较高退化可操作度的栅格, 并能有效规避退化可操作度不满足要求的栅格, 从而使得规划所得路径能够满足运动性能的要求, 因此该方法能够有效解决单关节故障机械臂容错路径规划问题.
仿真结果表明:本文所提出的运动学模型重构方法能够实现单关节故障七自由度机械臂的运动学模型重构; 故障关节锁定后, 七自由度机械臂的工作空间相比于常态机械臂发生退化, 存在不可达区域; 通过常态及退化工作空间的栅格边长分析, 能够验证工作空间退化前后不能以相同栅格边长划分工作空间; 通过增加退化可操作度代价项对A*算法进行改进, 能够搜索出满足性能要求的容错路径.综合以上仿真结果能够验证本文所提出基于运动学模型重构的容错路径规划方法的正确性和有效性.
4 结论本文针对机械臂单关节故障问题, 提出基于旋量理论的通用运动学模型重构方法, 能够实现任意构型机械臂单关节故障后的运动学模型重构.通过分析机械臂的退化工作空间, 并以运动性能平稳为约束对其进行栅格化, 能够保证各栅格平均运动性能可代表栅格内各散点的运动性能.通过在估价函数中增加各栅格的平均可操作度代价项, 实现了对传统A*算法的改进, 基于改进A*算法能够在退化工作空间中搜索出满足性能要求的轨迹.最后以七自由度机械臂为研究对象进行仿真实验, 验证了所提出模型重构方法及容错路径规划算法的正确性和有效性.
| [1] |
巩敦卫, 耿娜, 张勇. 多地貌环境下的移动机器人路径规划研究[J]. 控制与决策, 2012, 27(5): 708-712. (Gong D W, Geng N, Zhang Y. Robot path planning in environment of many terrains[J]. Control and Decision, 2012, 27(5): 708-712.) |
| [2] |
唐世明, 张启先. 冗余度机器人容错控制研究[J]. 机械工程学报, 2000, 36(7): 34-38. (Tang S M, Zhang Q X. Research on the fault-tolerant control of redundant robots[J]. Chinese J of Mechanical Engineering, 2000, 36(7): 34-38.) |
| [3] |
Ben-Gharbia K M, Maciejewski A A, Roberts R G. Modifying the kinematic structure of an anthropomorphic arm to improve fault tolerance[C]. IEEE Int Conf on Robotics and Automation. Sattle: IEEE, 2015: 1455- 1460.
|
| [4] |
Xu W, She Y, Xu Y. Analytical and semi-analytical inverse kinematics of SSRMS-type manipulators with single joint locked failure[J]. Acta Astronautica, 2014, 105(1): 201-217. DOI:10.1016/j.actaastro.2014.09.003 |
| [5] |
王卓, 赵杰, 王卫忠. 基于旋量理论的可重构机器人运动学的研究[J]. 机械与电子, 2004, 7: 13-17. (Wang Z, Zhao J, Wang W Z. Kinematics research of reconfigurable robots based on the screw theory[J]. Machinery and Electronics, 2004, 7: 13-17.) |
| [6] |
Ralph S K, Pai D K. Computing fault tolerant motions for a robot manipulator[C]. IEEE Int Conf on Robotics and Automation. Detroit IEEE, 1999: 486-493.
|
| [7] |
赵京, 缪萍, 荆红梅. 冗余度机械臂关节运动和末端运动的同步容错规划[J]. 机械工程学报, 2003, 39(3): 53-57. (Zhao J, Miao P, Jing H M. Synchronous fault tolerant planning of joint motion and end-effector motion for redundant manipulator[J]. Chinese J of Mechanical Engineering, 2003, 39(3): 53-57.) |
| [8] |
She Y, Xu W, Su H, et al. Fault-tolerant analysis and control of SSRMS-type manipulators with single-joint failure[J]. Acta Astronautica, 2016, 120(1): 270-286. |
| [9] |
Li K, Zhang Y. Fault-tolerant motion planning and control of redundant manipulator[J]. Control Engineering Practice, 2012, 20(3): 282. DOI:10.1016/j.conengprac.2011.11.004 |
| [10] |
Elhalawany B M, Abdel-Kader H M, Tageldeen A, et al. Modified A* algorithm for safer mobile robot navigation[C]. Int Conf on Modelling, Identification and Control. Cairo: IEEE, 2013: 74-78.
|
| [11] |
李保丰, 孙汉旭, 贾庆轩, 等. 基于蒙特卡洛法的空间机器人工作空间计算[J]. 航天器工程, 2011, 20(4): 79-85. (Li B F, Sun H X, Jia Q X, et al. Calculation of space robot workspace by using Monto Carlo method[J]. Spacecraft Engineering, 2011, 20(4): 79-85.) |
| [12] |
Abdi H, Nahavandi S, Frayman Y. A class of optimal fault tolerant Jacobian for minimal redundant manipulator based on geometric symmetry[C]. IEEE Int Conf on System, Man, and Cybernetics. Anchorage: IEEE, 2011: 1532-1537.
|
2018, Vol. 33
