深圳市众为兴数控技术有限公司事业二部 汪洋
摘要:针对SCARA机器人在水平面内躲避障碍物的轨迹规划问题,基于几何学与人工智能学理论,提出一种智能控制算法,用于生成SCARA机器人避障路径上的关节坐标值序列。仿真结果表明,该控制算法能快速有效地实现SCARA机器人在X-Y平面内的二维避障,具有较强的工程实用性。
关键词:SCARA机器人; 二维避障; 智能控制; A*算法
1. 引 言
当前,SCARA机器人广泛应用于电子、汽车、塑料、食品等工业领域,其主要职能是完成搬运和装配工作。随着加工工艺的复杂性与精确性不断提升,SCARA机器人在流水线上经常需要与其他工业设备协同作业,难免会出现与障碍物发生碰撞的危险。因此,对工作范围内存在障碍物的SCARA机器人的运动轨迹进行规划便显得尤为重要。
轨迹规划(Path Planning)是指给定环境的障碍物条件,以及起始点和目标点位置,要求选择一条从起始点到目标点的路径,使SCARA机器人能安全、无碰撞地通过所有的障碍物。这种自主地躲避障碍物并完成作业任务是SCARA机器人研究中的一个重要内容。轨迹规划的实质是预先给定SCARA机器人作业路径上的关节坐标值序列,使其沿预定路径运动。对于四轴机器人而言,关节3的纵向运动与关节4的带夹具运动均具有较强的灵活性,可以根据实际情况用简单的运动指令实时控制以躲避障碍物;而关节1与关节2在水平面内的关联运动在很大程度上决定了SCARA机器人的主要位姿,是障碍物避碰的主导因素。所以,合理规划关节1与关节2在水平面内的关节坐标值序列是实现避障的前提和关键。本文即是针对SCARA机器人的二维避障问题,基于几何学与人工智能学理论,提出了一种智能控制算法并加以仿真验证。
2. 二维避障智能控制算法设计
工业现场的实际障碍物虽具有多种平面形状,但任何形状的障碍物均可用其外接圆柱体包围。为简化对问题的描述又不失一般性,文中假定实际障碍物为圆柱体结构,映射到X-Y水平面上即为一圆形区域。本算法的总体思路为:先将关节1与关节2构成的关节空间q1-q2栅格化为有限个小方块,并对每个小方块编号,设定坐标值;然后将直角坐标系X-Y下的圆形障碍区域转化为关节空间中不可达的小方块群,求出它们的编号,并给可达矩阵赋值;再采用人工智能理论中具有启发式搜索的A*算法在关节空间中求出避障路径点的编号序列;最后将该编号序列转换为对应的关节坐标值序列,关节1与关节2依次取对应的关节角度值运动即可实现二维避障控制.
2.1 关节空间q1-q2栅格化
假定SCARA机器人关节1和关节2的运动范围均为[-120 ,120 ],取细分精度为6 (可根据实际情况灵活选择细分精度),可将关节坐标轴q1、q2均划分为[120-(-120)] / 6 = 40条相等的小线段,分别在每条小线段的端点作q1轴与q2轴的平行线,所有平行线相交,可将关节空间平面划分为40*40 = 1600个面积相等的小方块,从而实现了关节空间q1-q2的栅格化,如图3所示。
然后,对每个小方块进行编号并设定关节坐标值,按照从左至右、从下至上依次增大的原则,编号取[1,1600]之间的整数,在图3中,左下角小方块编号为1,右上角编号为1600,1号小方块正上方的小方块编号为41,依此类推,可得出所有小方块的唯一相异编号值。
最后对每个小方块赋坐标值,为使坐标值分布均匀,取每个小方块的中心坐标(q1,q2)为其坐标值。则1号小方块的坐标值为(-117 ,-117 ),1600号小方块的坐标值为(117 ,117 ),41号小方块的坐标值为(-117 ,-111 ),依此类推,可得出所有小方块的唯一相异坐标值。
2.2 确定障碍区域
在图1中的直角坐标系下,O为坐标原点,OA2与A2B2分别为SCARA机器人的大臂与小臂,由右手螺旋法则易知,实线OA2B2表示本体处于关节坐标为(-117 ,-117 )的位姿,对应关节空间中的1号小方块;虚线OMN表示本体与X轴正向重合时的位姿;虚线OA1B1则表示本体处于关节坐标为(117 ,117 )的位姿,对应关节空间中的1600号小方块。图中蓝色与黑色虚线包围的空间即为本体的活动区域,在该区域内假设存在两个圆形障碍物圆K1与圆K2,两圆半径均已知。由于本算法要求在关节坐标系下规划避障路径,所以要先将直角坐标系下的障碍区域转换为关节坐标系下对应的编号群。