基于三维环境模型的启发式路径规划算法
陈宏钧,陈伟,田丰
(哈尔滨工业大学电气工程系,黑龙江哈尔滨15000)
摘 要:针对多自由度机器人手臂在未知环境中实时连障的问题,提出了一种基于环境信息的连杆机器人买时路径规划方法。采用笛卡尔空间内的障碍物检测信息建立了障碍物的空间模型,并依据该模型设计一种基于启发式规则的机器人路径规划算法。该算法不断猜测和修正路径,通过模糊推理得到下一位姿点,通过曲线拟舍得到到达该位姿点的路径:在MaLlab下利用机器人工具箱建五了PUMA560型机器人的运动学模型,并在运动空间设置障碍物,对该算法进行仿真分析,分析结果说明所提出的路径规划算法可以在较短时间内完成避障运动,具有较好的实时性,同时运动关节的角度变化曲线比较平滑,运动中冲击力较小,这些特点使其便于在实际工程中使用
关键词:机器人;路径规划;环境模型;启发算法
中图分类号:TP 27 文献标识码iA
1、引 言
机器人路径规划是根据要达到的目标姿态及周围障碍物信息,控制机器人避开障碍物达到目标姿态。路径规划主要包括全局规划和局部规划两类方法。全局规划是在W E.Howden提出的栅格法。基础上发展起来,此方法要知道完整的环境信息,应用范围有限。局部路径规划包括障碍物模型映射到结构空间的C-space方法和建立人工势场2种方法。但它们都存在一定的问题,由Latombe首先提出的C-space方法随着关节连杆个数的增加复杂度成几何级数上升,Vladimir Lumelskv将该理论应用于多自由度机器人PUMA560,并取得很好的控制效果,但仍存在关节个数增加后控制算法极度复杂的问题。由Khatib提出的人工势场计算量小,实时性好且产生的路径比较平滑,但会陷入局部平衡点而停止运动。现代机器人路径规划思想集中于对智能控制方法的研究,尤其是基于模糊控制规则的路径规划越来越受到重视,陆续提出了直接基于传感器信息和环境模型的路径规划思想,但是问题在于随着障碍物数量和关节个数的增加,出现模糊决策规则爆炸的问题。
本文讨论了一种基于环境信息的实时路径规划方法,根据传感器获得的环境信息在三维空间中直接建立障碍物模型,并应用启发式的算法,即采用基于模糊决策的猜测修正式的控制规则,在含有多个障碍物的路径规划问题上,有较好效果。
2机器人运动系统的描述
1)机械臂连杆的描述本文采用由Denavit和方面的教学与科研工作Hartenberg提出的通用D-H方法,用一个4×4阶的齐次变换矩阵描述相邻两连杆的空间关系。机械臂连杆,如图1所示。
定义如下4个参数:
将各连杆变换ii-1T(i=1,2,…,n)相乘得到:
式中,onT为操作臂变换矩阵,表示末端连杆坐标系{n}相对于基坐标系的描述。
基于变换矩阵,再根据各个关节位置传感器的输出,得到各个关节变量qi(i=l,2,…,n)的值,即可求出onT。
2) PUMA560杌器人运动学模型根据前述内容,可建立Unimat/on公司的六自由度转动关节操作臂PUMA560的运动学模型。机械臂结构此处不再给出,连杆参数,见表1。
经过计算可求出机械臂主要的运动学方程如式(3)所示。它说明如何计算机器人坐标系{3}相对于坐标系{0}的位姿。
式中,c5为cosθ5的缩写;s5为siriθ5的缩写等。
进一步应用Matlab的机器人工具箱,可建立PUMA560机器人的运动学模型,如图2所示。
3环境模型的建立
对含有未知障碍物的环境空间,机器人路径规划关键问题就是获得环境信息并建立环境模型。这里把障碍物分为垂直多面体、圆柱和圆锥等典型形状,如图3所示。
为研究万便,首先给出如下定义:
① 空间和职子空间这里形空间定义为机器人的工作空间,也就是在笛卡尔空间中由机器人连杆的坐标点构成的集合,而形子空间是Ⅳ空间的一个子集,相当于连杆i的工作空间。
②Gi平面和t平面Gi平面是工作空间中由Xi和yi坐标轴展开所成的平面,K平面是包含工作连杆i的与Gi平面垂直的另一平面。
③Wi轴和Wi线wi轴是Gi平面和vi平面的交线,在Gi平面内li连杆的投影是形线,该线也在职轴上。
④vGi和Vvi角 Vgi是xi轴和Wi轴之间的夹角,Vvi是wi轴和机器人连杆li的夹角。
对障碍物与连杆位置关系的检测,每个连杆的分析方法完全一致,故只需考虑一个连杆。可把三维笛卡尔空间中的障碍物和连杆之间的关系映射到2个二维平面上来。一个连杆在2个平面中的投影和位置关系,如图4所示。
连杆li在Gi平面内的眠线上的投影可表示为
同理,在Vi平面内,li可以表示为
下面针对三类障碍物分析其各自的描述方法。
1)垂直多面体在Gi平面内的投影可以通过边缘轮廓来描述的多边形,满足下式:
连杆li和垂直多边形障碍物发生碰撞的条件是wi线和Gi平面内的多边形相交,此时,多边形的几个顶点应分布在形线两侧。为了实现测量,必须考虑各顶点到职线距离的符号。该距离可表示为
发生碰撞时,职线和多边形边的2个交点可用下式表示:
而发生碰撞的条件是Lgi≠φ。
同时vi平面给出了另一个关于连杆和障碍物是否发生碰撞的信息,垂赢多面体在”面上的投影为一个长方形,为了方便分析,考虑设汁一个围绕长方形顶端的圆,这样发生碰撞时满足的条件为
Kt为所引进的圆的切线斜率。因此机器人连杆li与垂直多边形发生碰撞的全部条件为
2)圆柱障碍物对圆柱障碍物的分析,如图5所示
它在G,平面内的投影为一个圆,这个圆可以用式(Il)描述。
若连杆li和圆发生接触,有2个接触点可表示为
同样,G,平面内的碰撞条件为Lgi≠φ。
从形状上看垂直方向上的投影和垂直多边形在v平面内的投影一致,故可以采用同样的检测过程。
3)圆锥障碍物圆锥形障碍物在c平面内的投影和圆柱形障碍物的相同,故可采用相同的办法,式(11)和式(12)可以直接应用到圆锥形障碍物在Gi平面的投影:在Gi平面内,圆锥形障碍物的投影为一双曲线或者一个三角形,如图6右侧所示。
它满足下式:
参数ak,bk,Ck和m。可通过ci平面内的参数获得,hk为圆锥形障碍物的高。如果Ck =0,那么在Vi平面内的投影为一个三角形,可以知道连杆li和vi平面的投影双曲线(或三角形)发生碰撞的条件为LvinHvi≠φ。
对于各类障碍物,都可以根据上述分析方法得到2个平面内的投影,进一步可以确定障碍物的空间形状和位置数据。根据这些数据,可以确定机器人连杆和障碍物的位置关系。在实物实现时,可通过机械臂表面的红外传感器和视觉装置检测障碍物的位置信息,来获得障碍物与机械臂的位置关系;在仿真过程中,障碍物由人为设定,其在空间中的具体位置已知,这样通过机械臂的正向运动学方程计算出当前状态下各个关节连杆的位置,从而获得与障碍物的位置关系。
4控制算法及仿真
针对各类障碍物,可以采用相同的控制策略,即不断猜测和修正路径的启发式控制策略。根据当前机械臂位置,通过模糊推理得到一个角度增量,其代表末端执行器可行的下一个位姿点,依此求出各个关节的角度,并预测该角度与障碍物的关系,若不碰撞,则通过曲线拟合得到一条到该位姿点的路径,代人关节的机械运动方程中,得到输出转矩,驱动末端执行器前进到该位姿点,然后进行下一次猜测;若发生碰撞,则需修正路径,重新进行模糊推理得到新的角度增量,直到不再发生碰撞为止。现实中障碍物的类型一般不会超出前面概括的三大类范围,一些复杂的障碍物可以分解为若干典型障碍物的组合。但是障碍物的复杂度会对发生碰撞时的距离检测产生影响,障碍物结构越复杂,其边数和顶点数越多,计算和规划所花时间也越长。采用启发式控制策略的系统框图,如图7所示。
其中障碍物和连杆位置关系判断可通过查询描述连杆和障碍物关系的表格实现。根据上节讨论的集合关系,可以建立这样的表格来表示是否发生碰撞。表示机器人和障碍物不会发生碰撞。这样可以得到一个关系简表,见表2。
其中,np,nz,nk表示多边形障碍物、圆柱障碍物和圆锥障碍物的个数。
对于模糊控制器,对每个连杆,选取障碍物和连杆信息以及当前角度与目标角度的差作为输入量,角度的增量作为输出。可根据前述碰撞关系表格确定连杆和障碍物信息输入量,并进行编码。考虑到实际应用的问题,本文假设一个空间中存在多个障碍物时,同时有3个及以下的障碍物和运动连杆发生关系是比较正常的情况,故障碍物信息可以量化为0~7的二进制编码.即“000-111”,“O”表示运动空间中不存在障碍物,而每出现一个“1”,表示空间中的障碍物增加一个。
角度差和输出角度增量均采用三角形隶属度函数,分5个隶属度:左大( LB)、左小(LS)、零(ZE)、右小(RS)、右大(RB)。相应的隶属度函数曲线,如图8所示。
针对机械臂的运动方式,提出的机械臂运动原则如下:
①当目标姿态在机器人左侧时,控制机器人向左侧移动;反之,控制机器人向右侧移动。
②若目标侧障碍物离机器臂很近,关节输出为零。
③避免碰撞的前提下,每一步尽量接近目标姿态。
③优先考虑和末端执行器连接的连杆,如不能完成避障要求,再依次考虑下一级连杆。
连杆l1的避障控制规则,见表3。
连杆l2和l2的模糊决策规则和了相似,只是控制优先级偏低。
控制系统仿真结构图,如图9所示。
其中 fuzzy子模块为系统模糊控制器,输入为目标角度差和障碍物信息,输出为角度增量,rubot子模块为机器的运动系统模型,包含机器人轨迹拟合函数、转矩输出函数和机器人本体结构模块,可输出机器人的角度q,角速度qd和角加速度qdd;dtest为障碍物检测和实际转角检测输出模块;plot为机器人图形输出模块。
对该控制系统进行仿真时,在机械臂的运动空间设定了3个标准障碍物棱柱、圆柱和圆锥,设定机械臂运动的目标点角度坐标为(-π,-π/3,-π/2),最终机械臂顺利完成避障运动并到达目地。
3个关节的运动角度变化曲线,如图11所示。
机械臂完成上述避障过程所需时间为24 s左右,平均每个循环时间为0.2 s,对比文献[7]中0 5 s的循环时间,该系统实时性更好。文献中只通过距离信息来描述关节连杆与障碍物的值置,障碍物的形状没有完整的描述,所以表现为走一步算一步,并且可能发生倒退;而本算法考虑了完整的环境信息,包括障碍物的大小、形状和具体位置,并通过曲线拟合得到一系列可行的连续路径点,从而减少了运动过程中模糊推理的次数,且路径点均可行,不存在倒退的问题,因此提高了机器人的运动效率。同时角度变化曲线比较平滑,对机械臂的运动产生的冲击较小,充分完成了路径规划的要求。
5结语
本文讨论了一种基于环境信息的机器人实时路径规划方法,相比传统的方法具有运算简单、执行效率高的有点。但是由于采用启发式路径规划思想,在一些复杂条件下,可能无法得到优化的路径或者无法到达设定的目标点,这方面还需要进一步改进。
|