2012年6月 中国空间科学技术 49 第 3期 Chinese Space Science and Technology 冗余空间机械臂粗捕获段无碰撞轨迹规划算法 王悦 贾英宏 徐世杰 (北京航空航天大学宇航学院,北京100191) 摘要 现有的基于c空间的无碰撞轨迹规划算法需要求解C空间以获得c空间障碍边 界。对于多自由度的冗余机械臂,求解过程需要消耗很大的计算量和内存,不适用于计算 资源紧张的空间机械臂轨迹的快速规划。文章提出了一种不需要求解c空间的试探性规划 算法,包含4个子算法:碰撞检测算法、无碰撞目标构型求解算法、无碰撞路径搜索算法 和路径平滑算法。已知期望的末端作用器位置和姿态,利用目标构型求解算法得到无碰撞 的目标构型,然后由路径搜索算法在c空间障碍边界未知的情况下,利用碰撞检测算法, 采用一定的试探规律,在C空间中搜索出一条无碰撞路径,最终由路径平滑算法使该路径 平滑,易于实现。仿真算例表明,该算法是快速有效的,适用于冗余空间机械臂粗捕获段 的快速轨迹规划。 关键词 冗余机械臂 轨迹规划 避碰 C空间 DOI:10.3z8o/j.issn.1000—758X.2O12.03.008 1 引言 空间机械臂在航天任务中得到重要和广泛的应用。空间机械臂与航天器本体存在动力学耦合, 捕获目标时要考虑目标的相对运动。可行的简化是将捕获分为粗捕获段和细捕获段,粗捕获段不考 虑目标相对运动,简化为固定基座机械臂的轨迹规划。规避障碍是轨迹规划的一个关键问题,冗余 机械臂因具有额外自由度用以规避障碍而得到重视。 冗余机械臂的无碰撞轨迹规划算法主要有伪逆算法、人工势场法和基于c空间的自由空间 法口]。伪逆算法利用雅克比矩阵t,的伪逆J 得到关节角速度,并由零空问投影(I—t,+t,)得到齐 次解来规避障碍E ],求解中易出现奇异l_3]。人工势场法存在局部最小值问题,且对于复杂问题,计 算量过大 ],较适用于移动机器人的轨迹规划l_4]。c空间即构型空间,构型点的坐标为机械臂的各 关节角。由运动学关系将作用器目标位姿和障碍物由工作空问映射到c空间,得到目标构型点和c 空间障碍,该障碍是机械臂与障碍物碰撞的构型集合。无碰撞轨迹规划即要在c空间中搜索出连 接初始和目标构型点且不经过障碍的路径。为了减小计算量,提出了多种方法:采用简化的机械臂 模型E ;基于c空间变换特性的C空间障碍边界高效计算方法 等。但上述方法都需求解c空间, 对于多自由度机械臂计算量很大,c空间障碍只能通过离散化得剑,为提高精度需占用大量内 存 ]。这导致算法无法应用于计算资源紧张的空间机械臂。而新近提出的基于神经网络 和增强现 实技术 的规划方法较为复杂,难以应用于航天任务。 为了将基于c空问的无碰撞轨迹规划算法应用于空间机械臂,以7 A由度机械臂为例,针对 国家自然科学基金(10872028)资助项目 收稿日期:2Ol1-07—12。收修改稿日期:2O11 09—13 § 主垦至 旦型堂垫 笙 旦 相对于本体静止的障碍物,提出一种试探性规划算法,该算法无需求解C空间,通过碰撞检测就 可以在C空间中找出无碰撞路径。该算法也可应用于月球车车载机械臂等航天任务。 2算法的结构 C空间中的轨迹规划,就是在C空间中找到一条始于初始构型点S到达目标构型点E,且不 穿过c空间障碍的运动轨迹。这个过程包括2个步骤(如图1所示): 1)找到一个满足作用器目标位姿,且不与障碍物相碰的目标构型点E。7自由度机械臂满足 目标位姿的构型在C空间中是一条曲线,如图1中的AB,可能会有某些构型是与障碍物相碰的, 这些构型点位于c空间障碍的内部,如曲线AB的虚线部分,显然,目标构型点E必须位于c空 间障碍之外。 2)在求得目标构型点E之后,要找到一条连接S和E,且不与C空间障碍相交的曲线SE, 这是一个7维空问中的路径搜索过程。现有算法的缺陷在于需要求解C空间,即求解C空间障碍 C1、C2的边界。 虽然求解C空间比较困难,但在已知工作空间中障碍物位置的情况下,检测在某种构型下机 械臂是否与障碍物相碰是很简单的,这样就可以尝试不求解C空间,在C空间中障碍分布未知的 情况下,通过碰撞检测算法,采用某种特定的算法不断试探,从而找到一条无碰撞的路径。 图2是算法的基本结构图,包含了4个子算法:碰撞检测算法、无碰撞目标构型求解算法、无 碰撞路径搜索算法和路径平滑算法。无碰撞目标构型求解算法完成步骤1,无碰撞路径搜索算法和 路径平滑算法完成步骤2,碰撞检测算法被这3个子算法调用。算法的输人为期望的末端作用器位 姿和当前机械臂构型,前者由操作任务给出,后者可由各关节角测量得到,算法的输出为需要的无 碰撞路径。无碰撞路径搜索算法和路径平滑算法是该算法的核心,这里简要介绍碰撞检测算法和无 碰撞目标构型求解算法。 图1 机械臂C空间轨迹规划不意 Fig.1 Collision-free motion planning in C—space 图2 轨迹规划算法的流程 Fig.2 Sequence of the motion planning algorithm 在一定的构型下,机械臂上各点相对于基座的位置容易求得,而障碍物相对于基座的位置也是 已知的,碰撞检测算法可以如此实现:对于凸障碍物可以用一个凸多面体包络代替,而非凸障碍物 总可以用多个凸多面体包络代替,然后将机械臂离散化,选取足够多的检测点,进而检测每个点是 否在障碍物包络内。这就简化为检测点是否在凸多面体内,这是计算几何的基础问题。可以在凸多 面体的每个面上选取一个点,然后计算由待检测点指向该点的矢量与凸多面体该面的外法向量的内 积。如果对于凸多面体的所有面,这样的内积全为正,则待检测点在凸多面体内部。只要存在一个 待检测点在其中一个凸多面体内,则认为该待检测点位于障碍物内部,即该构型下机械臂是与障碍 物碰撞的。 至 旦 主垦奎 型兰垫 § 无碰撞目标构型求解算法需要求解机械臂的逆运动学,再调用碰撞检测算法对逆运动学的解进 行判断,如果解是碰撞的,则需要求逆运动学的另一组解。这种对逆运动学解的搜索可以通过以下 方法实现:固定某一个关节转角为 ,然后求解其余6个关节角的逆运动学,那么就得到0 的一 个解,不断改变0 就能对逆运动学的解进行搜索,直至找到一个无碰撞的解。 3无碰撞路径搜索算法和路径平滑算法 以7自由度机械臂为例,详细介绍一种无需求解 c空间的试探性路径搜索算法和与之配合的路径平滑算 法。首先注意到在C空间有这样一种特殊的路径:连接 s点和E点的折线路径。如图3所示,折线路径由平行于 坐标轴的线段拼接而成,每个线段代表沿某个坐标轴的 1个子运动,这种子运动意味着机械臂的一个关节角在运 动,其余关节角保持不变。所以在这种折线路径上机械臂 总是只有一个关节角在运动。 显然,如果s和E之间存在无碰撞的路径,那么总可 以用一些足够小的子运动按合适的顺序拼接成一个折线形 图3 C空间中的无碰撞折线路径 的无碰撞路径。搜索算法的目的是找到这些子运动及其排 Fig.3 Collision-free perpendicular path in C—space 列顺序。进一步假设S和E之问存在无碰撞的直接路径 (该路径上各个关节角的运动都是单向的),则情况更加简单。此时令正整数N为路径分割常数, 将各个关节角从s点到E点的总转角均分成』\,份,关节角转过每份转角定义为一个子运动,就形 成了7N个子运动。那么只要N足够大,将路径分割得足够细,就可以用这7N个子运动按合适的 顺序拼接成一个无碰撞折线路径SE。 记第i个关节角的子运动为子运动i( 一1,2,…,7),搜索算法的任务是通过不断试探确定 这7N个子运动的顺序。即将总路径分成7N步,将7N个子运动以合适的顺序排列,形成一个7N 步的运动序列。 设定序号生成函数F( ),该函数由当前子运动序号i生成下一步要试探的子运动序号。F( ) 可以根据需要选取,如递增、递减或随机生成。用m表示步号,T表示试探总次数,T 表示可接 受最大试探次数,算法步骤如下: 1)初始化,m一1,T一1,选取i,设置T…。 2)若m===7N+1,算法成功结束,输出结果;否则利用碰撞检测算法,判断机械臂第 步执 行子运动i是否与障碍物碰撞。如果不碰撞,机械臂执行子运动i(这是在计算机中的模拟),并做 记录,执行步骤3);如果碰撞,执行步骤4)。 3)m—m+1,i—F( ),T—T+1,执行步骤6)。 4)判断第m步是否已经试探了所有可能的子运动,若是,执行步骤5);否则i—F( ),T=== T+1,执行步骤6)。 5)跳回第m一1步,令m—m一1。判断第m步是否已经试探了所有可能的子运动,若是重新 执行步骤5);否则令i—F( ( )), ( )指第 步原来采用的子运动序号,丁一T+1,执行步骤6)。 6)若T—T ,算法失败结束,否则执行步骤2)。 若该算法搜索失败,则可以采用不同的试探规律F( )或增大路径分割常数N重新搜索。试探规 律F( )可以有多种,若采用随机试探,每次试探的结果都会不同。试探规律的多样性,保证了搜索 算法的有效性。增大路径分割常数N则可以增大搜索的成功率,但是这是以增加计算量为代价的。 由前面的描述可知,该路径搜索算法的前提是将总路径分割成许多小段。并且从理论上来讲, 分割得越细,则无碰撞路径搜索的成功率就越高。然而,这种由许多小段组成的路径对于机械臂的 生旦窒回 兰堇 生 旦 后续控制是不利的。因为,即使每一个子运动的关节角运动规律采用高次多项式给出,由许多个子 运动组成的总路径的关节角的运动规律也是不够平滑的。并且在上面的折线路径上,机械臂总是只 有一个关节角在运动,导致操作时间会比较长。注意到,在实际操作中机械臂只有在某些段才会可 能与障碍物相碰。在远离障碍物的运动区域,不必要将运动分成很多段的子运动。所以,这里提出 种路径平滑算法,对上面搜索到的无碰撞折线路径进行平滑处理。 一算法的基本思路如下:尝试将上面搜索到的无碰撞折线路径中相邻的两个子运动合并成一个子 运动,然后检测合并后的子运动是否与障碍物相碰。如果不相碰,则将这两个子运动合并;若相碰 则取消合并。不断尝试,直至得到的运动序列中相邻的子运动无法进一步合并。 至此,已经得到了算法的两个核心子算法:无碰撞路径搜索算法和路径平滑算法,下面选取算 例对算法的有效性进行验证。 4 算例 首先以3维空问中的搜索为例,验证无碰撞路径搜索算法的有效性,然后以7自由度机械臂为 例验证无碰撞路径搜索算法和路径平滑算法的有效性。 4.1 3维空间无碰撞路径搜索 假定3维空间中的一个点,在不了解障碍物的分布只能 判断某一个运动是否与障碍物相碰的前提下,利用第3节 表1算例1的障碍物参数 Tab.1 Parameters of the obstacles Z O 8 6 提出的搜索算法,搜索一条由起始点S(0,0,0)到目标点 E(10,10,10)的无碰撞路径。障碍物为5个棱边与坐标轴 障碍物 32范围 y范围 .z范围 第1个长方体 O~6 2~5 2~4 1~7 2~8 平行的长方体,坐标范围见表1。取路径分割常数N一10。 第2个长方体 4~9 4~5若序号生成函数取为F( )一 +1,再对3求余,即递 第3个长方体 0~5.5 6~7 增试探,经65次试探,算法得到一个无碰撞的运动序列: 第4个长方体 6~10 2~9 1,2,3,1,2,1,2,1,1,1,1,3,1,3,1,3,1,2,2,2,2,2,2,2,3, 5~8 1~4 3,3,3,3,3。若函数F( )在子运动序号中随机选择,经 第5个长方体 4~8 8~9 37次试探算法得到一个无碰撞的运动序列:1,3,3,3,2,1,3,3,1,1,3,1,3,3,1,1,1,1,1,3,2,2,3, 2,2,2,2,2,2,2。需要注意,函数F( )采用随机选取时,算法每次给出的结果是不同的。这两个结 果分别如图4和图5所示。算例证实了试探性无碰撞路径搜索算法的有效性。 10 8 6 Z 4 2 0 10 O O 起始点 起始点 图4递增试探路径搜索过程 Fig.4 Path searching by sequential test 图5 随机试探路径搜索过程 Fig.5 Path searching by random test 2012年6月 中国空间科学技术 4.2 7自由度机械臂无碰撞轨迹规划 以美国“轨道快车”(Orbital Express)上的机械臂为原型,设计了一个7自由度机械臂。机 械臂的几何参数如表2所示,其中第1节臂安装点在基座坐标系中表示。各个关节角为0时的初始 构型以及各个转角的正方向见图6,此时基座坐标系和各节臂的体坐标系重合,见图中的坐标系 0一xyz。第7节臂即是末端作用器。下面以该机械臂为例验证本文算法的有效性。 表2各节臂的安装点位置参数 各节臂 安装点在前一节 臂体坐标系中的坐标/m 1节臂 2节臂 3节臂 4节臂 (0.65,0,0.6928) (0,0.12,0.1) (一1,0.12,O) (1.15,0.12,0) 5节臂 6节臂 7节臂 (0,0,一0.15) (0.15,0,0) (O,一0.1,O) 图6机械臂的初始构型和转轴正方向 Fig.6 Initial configuration and directions of joint axes 设机械臂的初始构型为q ,各关节角为(一1.570 7,3.141 4,1,0,0,0,0)rad。以下参 数在基座坐标系中描述:期望末端作用器端点位置为(2.0,0.3,0.5)m;期望末端作用器轴线 方向余弦为(O.469 9,一0.198 7,0.860 1);障碍物为一个棱边与坐标轴平行的长方体,z、Y、z 坐标范围分别为1.2~1.7m、0~0.5 1TI、0~0.5 m。注意,目标位姿对末端作用器沿轴线的旋转 没有约束,且第7节臂轴线与第7关节角转轴平行,所以第7关节角不会发生运动,实质上是一个 6自由度机械臂满足5自由度的末端作用器位姿要求。 作为对比,首先采用伪逆算法 一J。。 进行规划,其中 为末端作用器位姿变化率列向量, 为关节角速度列向量, 中各个量取为半个周期的正弦曲线,结果显示得到的路径是与障碍物相碰 的,见图7。图中显示了机械臂在空间扫过的区域,说明在该情况下,避障问题是需要考虑的。 下面采用本文提出的算法,首先由无碰撞目标构型求解算法,求解出一个满足末端作用器位姿 要求且不与障碍物相碰的目标构型qE,各关节角为(一0.0567,4.6127,1.4569,~2.1691, 0.9561,一0.3024,0)rad,求解过程这里不再详述。接着由无碰撞路径搜索算法搜索出一条不与 障碍物相碰的路径,路径分隔常数N一10,第7关节角转角没有变化,实质上是6维空间的搜索问 题,共分成6N一60个子运动,函数F( )采用递增试探。经过64次试探,找到一个无碰撞的运动 序列:1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3, 4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,2,3,4,5,6,2,3,4,5,6,2,3,4,5, 6,1,1,1。可以看到序列的前面部分与试探顺序相同,没有进行调整,在序列的后面算法对试探 顺序进行调整以避开障碍。机械臂的运动过程见图8,机械臂从底部绕过障碍物到达了目标构型, 验证了该算法的有效性。F( )尝试不同的试探方式可以提高搜索成功率,而路径分割常数N需要 在计算量和成功率之间权衡,这显示了该算法的灵活性。每一段子运动运动时间为4 S,关节角运 动规律采用多项式,使得每个子运动开始和结束时,关节角速度和角加速度为0。图9给出了各个 关节角的角速度曲线。从图9可以看出,关节角速度从总体来看是不够平滑的。从上面的搜索过程 看,在大部分运动过程中,机械臂不会与障碍物相碰。 54 中国空间科学技术 2012年6月 2 O l 5 1.0 O・5 0・O —O. 图7伪逆算法得到的碰撞路径 Fig.7 Collision path obtained by pseudo—inverse algorithm 图8本文算法平滑前的无碰撞路径 Fig.8 Collision—free path before being smoothed obtained by our algorithm l r l 0I ’ 5 I} l 1 ’ :: }一一 :l }一 一一. l1 J一 ~ : ; ' V 匿 一一 : ;ll Il 一一' I i… __—_—- —— 4 1一一 一 L -!i } . . 1 下¨ 0 图9本文算法平滑前的关节角速度 Fig.9 Joint angular velocities of the manipulator by our algorithm before being smoothed 下面采用路径平滑算法对上面得到的折线路径进行平滑。结果发现原有的6o个子运动组成的 序列只需分割成2步即可避开障碍物,第l步由初始构型运动至中间构型,第2步由中间构型至目 标构型,各构型见表3所示。机械臂的运动过程见图10所示。每一步运动时间设定为20 8,关节 角运动规律采用多项式,使得每一步开始和结束时,关节角速度和角加速度为0。图11给出了各 个关节角的角速度曲线。从图11可以看出,与图9相比,机械臂各个关节角的运动规律非常平滑, 易于实现,并且操作时间大大减小,便于对非合作目标的快速捕获。 表3平滑后路径上的3个关键构型 Tab.3 Three key configurations on the 初始构型 中间构型 一O.5109 目标构型 一O.O567 1.5707 3.1414 1 O 4.6127 1.4569 一2.1691 4.6127 1.4569 —2.1691 O O O O.9561 —O.2722 O O.9561 ——0.3024 O 图1O本文算法平滑后的无碰撞路径 Fig.10 Collision—free path after being smoothed obtained by our algorithm 2012年6月 中国空间科学技术 5 ’55 、 、、/、、、 ~ S 趟 0 拉 ~…~ 担 l_/ 础 啦 妞 堪 暴 \ / \ / 时间/s 时间/s (a)第1、2、3关节角速度 (b)第4、5、6关节角速度 图11本文算法平滑后的关节角速度 Fig.1 1 Joint angular velocities of the manipulator by our algorithm after being smoothed a 以上算法在同一台计算机上运行,伪逆算法耗时7.88 S,而在本文的算法中,路径搜索耗时 参一 g 6.68 S,路径平滑耗时6.45 S。可见,本文算法与伪逆算法相比,可以找到一条平滑的无碰撞路径, 计算量虽然有所增加,但计算量的增加是可以接受的。 考m o 文 5 结束语 献∞ m 印 针对冗余空间机械臂粗捕获段的无碰撞轨迹规划提出的试探性规划算法,与现有算法相比,不 ∞ C 需求解C空间,为航天工程应用提供了一种简单有效的方法。算例结果表明,该算法是实用和有 效的,得到的轨迹不仅能避免与障碍物相碰,还较为平滑,易于工程实现。 口 ]J 陋 E E E 1]LOZANOPEREZ T.Spatial planning 1983,32(2):108 12O. 锄 吐 S 阳 [2] ZHANG CHENGKuN,suN HANxu,JIA QINGxuAN,et a1.A nove1 division based self-motion algorithm 叫 for avoiding obstacles for redundant manipulators It]//Proceedings of the IEEE International Conference on Automation and I ogistics.Jinan:IEEE,2007:852 857. ∞ 盯 [3] ZHANG YuN0NG,WANG JUN.Obstacle avoidance for kinematically redundant manipulators using a 叫 B:Cyberdual neural network[J].IEEE Transactions on Systems,Man,and Cybernetics,Partnetics, 2004,34(1):752—759. 时 S [4] C0NKUR E S,BUCKINGHAM R,HARRIS0N A.The beam analysis algorithm for path planning for redundant manipulators[J].Mechatronics,2005,15(1):67-94. a1.Reduction of free-space-loss for good and rapid Es] BAI AGUER C,BARRIENTOS A,R0DRIGUEZ F J,et3D path planning of 6DOF robots[J].Journal of Intelligent and Robotic Systems,1995,13(3):263—278. [6] NEWMAN w S.Real—time configuration space transforms for obstacle avoidance rJ_.The Internationa1 Journal of Roboties Research,l991,10(6):650—667. E7] 黄献龙,梁斌,吴宏鑫.机器人避碰规划综述EJ].航天控制,2002,2O(1):34—40,46. HUANG XIANLONG,LIANG BIN,wu HONGXIN.A survey on robotics collision avoidance planning I-J]. Aerospace Contro1,2002,20(1):34—40,46. [8] CHONG J W S,ONG S K,NEE A Y C,et a1.Robot programming using augmented reality:an interactive method orf planning collision-free paths I-j].Robotics and Computer-Integrated Manufacturing,2009,25(3):689—701. 作者简介 王 悦 1987年生,2009年毕业于北京航空航天大学飞行器设计专业。现为北京航空航天大学 飞行器设计专业博士研究生,研究方向为基于几何力学和动力系统理论的天体力学和航天飞行力学。 56 中国空间科学技术 2O12年6月 Collision—free Motion Planning Algorithm for Redundant Space Manipulators during Coarse Target Capturing Wang Yue Jia Yinghong Xu Shij ie (School of Astronautics,Beihang University,Beij ing 1 00 1 9 1) Abstract The existing collision—free motion planning algorithms based on configuration space(C—Space) need to find the boundaries of C—space obstacles by solving C—space, which will cost much computation and memories for redundant manipulators with larger degrees of freedom(DOF).A nove1 algorithm was proposed to find the collision—free path in C—space by test ng motion directions without solving C-space.This algorithm contained four sul>algorithms:the co11ision detection algorithm,the collision—free target configuration solver,the collision—free Dath—searching algorithm and the path—smoothing algorithm. Given the desired position and attitude of the end-eftector,the target configuration solver calculated a collision—free target configuration.Then the path—searching algorithm found a collision—free path with C—space obstac1e boundaries unknown. Finally,the path—smoothing algorithm smoothed the obtained Dath. To verifv the effectiveness of the algorithm,two numerical examples were carried out・ And the resuits indicate that the algorithm is efficient and can be used in fast motion planning for redundant manipulators in space applications. Key words Redundant manipulators Motion planning Collision avoidance Configuration space (编辑:车晓玲) Y U U n (上接第48页) Y .一 Planar Search Algorithm for GPS Ambiguity Resolution .m , with Short Baseline Length Constraint Pang Chunlei Zhao Xiubin Lu Yan e Yan Yuguo X a n 7 l (Coilege of Telecommunication Engineering,Air Force Engineering O O 7 7 \, Abstract A new p1anar search method for GPS ambiguity resolution with short baseline length constraints was proposed.The integer ambiguity was fixed in the condition of least square error by searching the baseline elevation and azimuth angle.The model was established, the search principle and application process of the new algorithm were discussed, and the step of extensive search and intensive search was induced.Through the experiments and comparing with LAMBDA algorithm,the new method with simple algorithm and high efficiency was Droved. The error is no more than l cm in baseline precision, no more than 0.6。 in elevation Drecision and no more than 0.4。in azimuth precision.This method is also adaptive to attitude measurement. Key words Short baseline confinement Two dimensional searching Integer ambiguity Attitude measurement Spacecraft (编辑:杨婵)