APP下载

空间桁架在轨装配机器人的运动规划方法

2024-01-30李海锋王明明罗建军

系统工程与电子技术 2024年2期
关键词:代价障碍物桁架

刘 聪, 李海锋, 王明明, 罗建军

(1. 中国航空工业集团公司西安飞行自动控制研究所, 陕西 西安 710076;2. 空军装备部驻西安地区第五军事代表室, 陕西 西安 710065;3. 西北工业大学航天学院, 陕西 西安 710072)

0 引 言

随着太空探索的逐步深入,由于运载火箭体积和能力的限制,研究需要用到的大型空间结构无法以整体完成发射,需要在轨完成组装。目前,亟待进一步开发在轨装配技术,通过分批次发射航天器部件入轨,利用先进的测量导航、交会对接、灵巧机械臂等技术,在轨装配规模更大、结构更灵活和功能更强大的航天器系统[1]。空间在轨装配作为一项重要的技术,不仅为人类开展空间在轨服务奠定了基础,使空间在轨服务能够更可靠、更有效地完成,而且还为保卫国家安全,增强空间安全性提供重要的支持[2]。当下和未来研究需要用到的空间大型载荷很多都以桁架系统作为主要的支撑结构,例如大型空间站、空间大尺寸天线[3]、空间大尺寸光学载荷[4]、空间太阳能电站[5]、太空中转站[6]、地外太空基地等。美国航空航天局(National Aeronautics and Space Administration, NASA)在2018年指出,未来的大型太阳能电力推进系统、长时间太空服务平台、大型恒星遮光板等都要用到桁架系统[7],因此桁架系统的在轨装配技术是未来各类大型空间基础设施在轨构建的重要技术之一,对未来空间科学研究和太空探索起着至关重要的作用。

利用机器人完成自动化的工业生产大大提高了生产效率,解放了劳动力,在未来利用机器人完成危险的空间任务也会成为在轨服务技术的发展趋势。通过自主机器人完成空间桁架的装配将成为在轨装配的主要技术手段。目前,各国提出很多利用机器人完成在轨装配任务的技术方案[8-11],但对其中机器人具体规划问题的深入研究较少。由于空间桁架结构复杂,机器人在装配操作过程中的无碰安全运动规划十分重要。

Ratlif等[24]提出基于协变哈密尔顿优化的运动规划(covariant Hamilton optimization motion planning, CHOMP)方法,利用协方差梯度技术提高采样轨迹的质量来进行轨迹的优化,可以得到平滑优化的机器人运动轨迹,并验证了该方法在六自由度机械臂操纵规划中的有效性,但该方法容易陷入局部极小值,且需要获取代价函数的梯度;Kalakrishnan等[25]提出一种随机轨迹优化框架下的运动规划方法STOMP,其随机性使其能克服局部极小值,并且可以处理不可微的约束,但其优化过程往往需要较多次数的轨迹叠加,在求解的快速性方面有所不足。

由于高自由度机器人的C空间难以构造,几何构造和图搜索算法的使用受到限制。智能规划算法通常将机器人的运动规划问题转化成非线性优化的求解问题,但高自由度机器人难以将复杂的障碍物约束加入其中。基于采样的规划算法适用于高维度的规划问题,无需对机器人C空间进行构建,规划效率较高,但其往往无法找到最优解,并且得到的轨迹往往需要进行二次处理;随机轨迹优化框架下的运动规划(stochastic trajectory optimization for motion planning, STOMP)算法可以在多目标和多约束条件下得到平滑的轨迹。装配机器人在桁架中的规划,除了需考虑完成运动动作的轨迹规划,还需考虑在复杂桁架结构中运动的避障问题,这类具有随机探索思想的运动规划算法具备规划效率高的应用优势。

本文针对空间桁架结构中机器人的运动规划问题,设计了装配机器人和空间桁架系统,并以此为基础提出一种基于运动步态优化的无碰运动规划方法。在系统设计方面,本文设计了一种结构对称且具有双末端执行器的装配机器人;在机器人无碰运动规划方面,利用STOMP算法进行机器人无碰运动规划,并针对其中随机叠加轨迹方向不确定导致的规划效率低的问题,提出启发式STOMP(heuristically STOMP, hSTOMP)算法,引入基于代价函数变换关系的启发信息导引规划方向,最后通过障碍物环境中的仿真验证了本文方法的有效性。

1 机器人系统设计

本文基于仿生学的理念[29],参考动物的爬行动作,设计了一种具有双末端执行器、可在桁架上爬行移动的机器人,本文将其称为装配机器人,其构型如图1所示。装配机器人具有7个活动关节,其两个末端执行器都可以稳定抓住桁架结构,通过两个末端的交替抓取可以实现在桁架结构中的爬行移动;当只有一端抓紧时,抓紧的一端可以视为机器人的基座,另一端可以进行桁架元素的抓取和装配等操作。装配机器人的结构设计对称,当装配机器人的不同末端抓住桁架进行操作时,这样的设计大大降低了连续攀爬过程中规划与控制问题的求解难度。

图1 装配机器人结构示意图Fig.1 Schematic diagram of assembly robot’s structure

在常见的空间桁架构建方式中,可安装结构因其发射包装紧凑、通用性好、装配灵活且具备构建大型桁架的能力而成为目前主流的在轨装配项目采取的装配方案。本文采用可安装形式构建空间大型桁架结构,图2展示了六面体桁架单元装配成的空间桁架结构,这种类型的空间桁架可以作为大型空间站、空间太阳能电站、空间大型天线等大型空间基础设施的主支撑结构。

图2 六面体单元空间桁架结构Fig.2 Hexahedron element space truss structure

2 机器人无碰运动规划算法

要控制装配机器人在桁架结构中完成运动,首先应当完成装配机器人的轨迹规划。机器人轨迹规划技术的发展已经相对成熟,利用多项式插值技术可以保证规划轨迹的平滑连续,这种方法也被广泛应用于工业机器人的轨迹规划中。然而,空间桁架结构中桁杆较多,结构往往比较复杂,且空间桁架组成后可能在其上安放各种仪器设备来执行任务,仅针对机器人完成轨迹规划无法达到机器人在复杂结构中的运动需求。因此,本文将针对装配机器人考虑避障的运动规划问题开展研究。

2.1 STOMP算法

STOMP是一种使用随机轨迹优化框架进行机器人运动规划的算法,该算法通过生成的“噪声轨迹”来探索初始轨迹的附近空间,将两种轨迹叠加后生成新的轨迹以满足使指定代价函数成本更低的要求。该算法使用的初始轨迹是通过随机指定或简单线性插值得到的,本文利用多项式插值法完成装配机器人典型动作的轨迹规划工作,这些轨迹在作为STOMP算法初始轨迹并进行规划时将十分方便。

机器人的运动规划问题定义为从起始构型到目标构型寻找无碰撞运动轨迹的问题,STOMP算法将运动规划作为一个优化问题,来寻找光滑的轨迹,使碰撞和约束的代价最小化。以下对一维轨迹的算法进行介绍,在实际应用中可以拓展到多个维度。将一维离散轨迹表示为向量θ∈RN,由N个轨迹点组成,STOMP算法通过对这个离散轨迹的迭代优化完成运动规划过程,考虑以下优化问题:

(1)

(2)

(3)

(4)

STOMP算法建立了对式(1)的梯度估计,借助随机最优控制框架的思想,通过对状态施加采样控制(在针对机器人轨迹规划问题时为噪声轨迹),将采样控制量通过与代价函数成反比的概率函数叠加并生成新的轨迹,这样可以保证使代价函数更低的路径在最终结果里占比更高, STOMP算法的流程如算法1所示。

算法 1 STOMP算法重复以下流程直到代价函数收敛:1) 生成K条噪声轨迹,θ~1,θ~2,…,θ~K(θ~K=θ+εK),其中εK=N(0,Σ)2) For k=1,2,…,K,计算a) S(θ~k,i)=q(θ~k,i);b)P(θ~k,i)=e-1λS(θ~k,i)∑Kl=1 e-1λS(θ~l,i) 3) For i=1,2,…,N-1,计算[δθ~]i=∑Kk=1P(θ~k,i)[εk]i4) 计算δθ=Mδθ~5) 更新θ←θ+δθ6) 计算轨迹代价Q(θ)=∑Ni=1q(θi)+12θTRθ

2.2 基于距离场的碰撞检测算法

要完成机器人的无碰运动规划任务,碰撞检测是首先需要考虑的问题,机器人的碰撞检测是指对机器人在一定构型下是否和障碍物发生碰撞做出判断。常用的方法有基于图像空间的检测算法和基于几何空间的检测算法,采用何种碰撞检测算法需要综合考虑使用的运动规划方法和算法的碰撞检测效率,当下包围盒技术在机器人碰撞检测技术中最为常用,但它往往只能判断两个几何体之间是否发生了碰撞,对发生碰撞情况下几何体之间的相交程度缺少评估。STOMP算法是采用距离场[30]描述几何体碰撞关系的碰撞检测方法,可对装配机器人运动过程和环境的碰撞和碰撞程度进行判断。

距离场能够提供物体在空间中的两种信息,分别是符号信息和距离信息,符号信息用来判断物体所在区域是否和障碍物发生碰撞,而距离信息可以提供物体在障碍物当中的穿透深度或距离障碍物边界的最近距离,来评估物体的碰撞程度或和障碍物的接近程度。距离场的描述是对空间环境的处理,对机器人本身也需要进行处理,来完成碰撞检测过程。本文利用一组相互重叠的球体来包络住机器人的整体外形,使用的球体越多,球体半径在能完全包络住机器人的情况下越小,包络对机器人的近似越精确。

对空间环境和装配机器人完成描述和近似后,建立障碍代价函数来表示机器人和障碍物的相对关系,用以完成算法的避障优化过程。本文要求机器人距离障碍物至少有一段安全距离,将这个安全距离转化至对近似球体的约束,即要求每个球体中的所有点距离障碍物至少一段距离。将该约束简化为每个球体中心距离障碍物至少ε+r,其中r是球体半径,ε是安全距离。将障碍代价函数定义为如下形式:

(5)

2.3 启发式运动规划算法

利用STOMP算法进行运动规划的过程中存在规划失败的情况,原因是随机叠加噪声轨迹的过程使得机器人规划结果不一定朝着预期方向运动。实际上给定足够的时间,最终这个随机探索过程一定会收敛,但随机探索的不稳定性导致收敛时间可能很长,本文期望为这个收敛过程引入启发式信息,来加快算法的整体收敛过程。

在路径规划领域提出过很多种搜索算法,例如深度优先搜索、广度优先搜索、Dijkstra算法、原始的RRT算法等,这一类搜索算法也被叫做盲目式搜索算法,因为其搜索过程是地毯式的遍历,如果环境信息完全未知,只能用盲目式搜索法来遍历环境;与之相对地,如果在搜索过程中利用到了环境信息来指导搜索过程,那么这种算法叫做启发式搜索算法,这时候启发信息来自环境信息。

原始的STOMP算法是在初始轨迹附近,通过随机探索不断将新轨迹叠加其中而完成运动规划的任务,这种随机探索过程的效率不高,本文期望加入启发信息,将轨迹的探索过程向更容易避开障碍物的方向引导。这个引导目标比较抽象,不像典型的启发式算法中的目标点或特定引导域那样具体。从距离场中障碍物位置与轨迹点的相对坐标关系可以判断出轨迹点距离障碍物的哪个方位或哪些面更近,将随机探索过程向这些方位引导,这种引导思路对于移动机器人的规划而言是可行的,但对于本文研究的装配机器人来说,随机探索的轨迹是机器人的关节空间,而当这种相对坐标关系表示在笛卡尔空间当中,二者难以简单对应,因此难以将几何关系作为启发信息。

距离场对环境空间的描述有一个优势,即除了能够判断是否碰撞之外,还能得到当前轨迹在障碍物中的穿越深度,式(5)计算出的障碍代价函数对这样一个深度有了数值上的评估。计算出的代价值越高,表示该轨迹在障碍物中穿越的距离越深,可以利用计算出的总成本值的变化情况对噪声轨迹的叠加方向进行引导。

本文在原始STOMP算法的第3步之后增加一个步骤,计算代价函数比例因子来调节噪声轨迹的叠加幅:

(6)

算法 2 hSTOMP算法重复以下流程直到代价函数收敛:1) 生成K条噪声轨迹,θ~1,θ~2,…,θ~K(θ~K=θ+εK),其中εK=N(0,Σ)2) For k=1,2,…,K计算a) S(θ~k,i)=q(θ~k,i); b)P(θ~k,i)=e-1λS(θ~k,i)∑Kl=1 e-1λS(θ~l,i) 3) For i=1,2,…,N-1,计算[δθ~]i=∑Kk=1P(θ~k,i)[εk]i4) 计算pnew=1-Qnew-QoldQmax-Qold

δθ~=pnew·δθ~5) 计算δθ=Mδθ~6) 更新 θ←θ+δθ7) 计算轨迹代价Q(θ)=∑Ni=1q(θi)+12θTRθ

3 仿真校验

为验证所提运动规划算法的有效性,本文以7自由度装配机器人在有障碍空间的运动为仿真场景。假设在装配机器人利用翻转步态进行爬行时,路径上存在障碍物阻挡机器人的运动,如图3所示,障碍物设置成一个50 mm×200 mm×50 mm的六面体。装配机器人初始构型q0=[0,π/3,0,π/3,0,π/3,0],装配机器人目标构型qn=[0,-π/3,0,-π/3,0,-π/3,0],整体的规划空间是1 000 mm×1 200 mm×900 mm。从图3可以看出,在利用翻转步态爬行时,机器人的轨迹和障碍物发生碰撞,在该初始条件下应用STOMP运动规划算法。

图3 仿真环境设置Fig.3 Simulation environment settings

3.1 STOMP算法仿真

采用100×120×90个网格对空间障碍环境进行距离场的描述,将有障碍物的网格标记为1,将没有障碍物的网格标记成0,生成一个100×120×90的三维矩阵,该矩阵反映了空间环境的障碍物分布情况。本文采用30个相互重叠的球体来包络装配机器人,设置的安全距离是5 mm,迭代次数为50次,每次迭代叠加20条随机轨迹。

利用STOMP算法得到的运动规划结果如图4所示,从图4中机器人各关节连杆的运动轨迹可以看出,机器人在运动过程中避开了障碍物。图5是在整个规划过程中计算出的与机器人运动轨迹相关的代价函数随迭代次数的变化。从图5可以看出,经过一定次数的迭代探索,代价函数很快下降并收敛,反映在机器人上的运动情况就是其运动轨迹逐渐从障碍物中向外移动,并最终避开了障碍物,满足对规划轨迹无碰的要求。

图4 机器人无碰运动图Fig.4 Robot motion diagram without collision

图5 代价函数随迭代次数的变化(成功)Fig.5 Cost function changes with the number of iterations (success)

在利用STOMP算法进行运动规划过程中,并不是每一次都能成功。在设置的迭代次数之内有时会出现如图6所示的情况,机器人的代价函数曲线始终发散,在50次迭代到达时仍然没有完成收敛,最终规划任务失败。

图6 代价函数随迭代次数变化(失败)Fig.6 Cost function changes with the number of iterations (failure)

这是因为机器人的初始轨迹并非处于障碍物的正中,在某些方向能更容易地避开障碍物。而STOMP算法当中的噪声轨迹是随机叠加在初始轨迹上的,如果开始的几组叠加轨迹使得机器人有了向更难离开障碍物一侧移动的趋势,在整个规划过程中机器人会试图从该侧离开障碍物以完成避障,这时整个规划任务的收敛过程会大大延长。

3.2 仿真对比与分析

选取和第3.1节中相同的仿真场景对启发式STOMP算法的规划效果进行仿真验证。对两种算法都进行了50次的仿真实验,两种算法的代价函数随迭代次数的变化曲线如图7所示。从图7可以看出,STOMP算法有多次代价函数发散的情况发生,此时对应规划任务失败,而hSTOMP算法的代价函数基本全部收敛,说明启发式信息的引入提高了规划算法的规划成功率。

图7 两种算法代价函数随迭代次数变化(50次仿真)Fig.7 Cost function changes with the number of iterations of two algorithms (50 simulations)

对50次实验两种算法的成功率、平均迭代次数、平均代价函数等数值进行统计,结果如表3所示。统计结果表明,hSTOMP算法的成功率相比原始算法显著提高。二者的总体平均迭代次数相当,而成功情况下STOMP的平均迭代次数比hSTOMP算法低,这是因为hSTOMP算法把本会失败的情况通过启发式信息的引入导引成功,这些情况下代价函数收敛的平均迭代次数通常较多,因此hSTOMP算法在成功情形下平均所需的迭代次数较高。从另一方面讨论,只要给予足够长的规划时间和足够多的迭代次数,算法总会规划成功,此时STOMP算法中那些当前失败的规划情形的迭代次数会远远大于50,而hSTOMP算法将大部分这些情形在50的迭代次数内规划成功,说明hSTOMP算法提高了算法运动规划的效率。两种算法得到的成功情形下的平均代价函数值大小相当,说明启发式信息的引入不会影响代价函数的最终收敛值。

表3 50次实验下STOMP和hSTOMP算法的结果对比

4 结 论

本文提出利用机器人完成空间桁架在轨装配的设计方案,针对其中机器人的无碰运动规划问题,提出一种引入启发信息的运动规划方法。首先,设计了装配机器人和空间桁架系统,用于完成空间桁架的在轨装配任务;其次,针对空间中存在障碍物的情况引入STOMP算法进行机器人无碰运动规划,仿真表明规划结果符合要求但存在失败概率;随后,针对STOMP算法中随机叠加轨迹方向不确定导致的规划效率低的问题,提出hSTOMP运动规划算法。该算法引入基于代价函数变换关系的启发信息导引规划方向,指引规划过程向着代价函数更容易减小的方向进行。50次的平行仿真实验表明,hSTOMP算法中启发信息的引入显著提高了算法的规划成功率和规划效率。

猜你喜欢

代价障碍物桁架
桁架式吸泥机改造
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
摆臂式复合桁架机器人的开发
爱的代价
Loader轴在双机桁架机械手上的应用
代价
矮寨特大悬索桥钢桁架安装
成熟的代价
土钉墙在近障碍物的地下车行通道工程中的应用