1、引言
碰撞检测(CollisionDetection控制工程网版权所有,CD)是用于判定一对或多对物体在给定的时间域的某一时刻是否占有相同区域。目前,常见的实时性好的碰撞检测算法都是离散碰撞检测算法。这些算法大致又可以分为基于图形和基于图像的碰撞检测算法。基于图形的实时碰撞检测算法主要分为层次包围盒法(HierarchicalBoundingBolumes)和空间分割法(SpaceDecomposition)两类。层次包围盒方法的核心思想是用体积略大而几何特性简单的包围盒来近似地描述复杂的几何对象,从而只需对包围盒重叠的对象进行进一步的相交测试。此外,通过构造树状层次结构可以越来越逼近对象的几何特性。典型的层次结构树有AABB(axis2alignedboundingbox)层次树、包围球(spheres)层次树、OBB(orien2tedboundingbox)层次树和κ2DOPs(discreteorientationpolytope)层次树等。
为了提高碰撞检测效率,常用一些简单的几何体去逼近机械手臂进而研究出更有效的算法来快速检测机械手与机械手之间、机械手与障碍物之间是否碰撞。如,有些学者将机器人关节简化为球类实体模型,用一组球和球台来逼近机器人系统。另外有些学者将机器人关节简化为圆柱体两端带半球的实体模型,利用最小距离算法进行干涉检测。
2、多自由度机器人关节实体简化建模
多自由度机器人关节间的碰撞检测主要是各级机械臂之间的碰撞检测,为了降低碰撞检测算法的复杂度,提高检测效率,在不影响检测结果的前提下,我们可以考虑对各关节杆件进行简化,建立各关节的简化模型。一般来说,机械臂的各关节可以视为由圆柱状的杆件组成,因此,我们可以将关节杆件简化为半径为r的圆柱体和两端半径为r的半球组成的实体。简化后的模型如图1所示。
3、三维干涉问题转化为二维干涉问题
为了将三维干涉问题转化为二维干涉问题CONTROL ENGINEERING China版权所有,我们可以先求出简化后关节杆件实体的在xoy平面的正投影www.cechina.cn,如图2所示。
在三维坐标系中,简化后的关节杆件实体Q(R,C1www.cechina.cn,C2)是一个圆柱和两个半径为r的半球相连的实体,该实体可能的状态是垂直、水平或倾斜;相对应的正投影,即在平面直角坐标系中也就可能是圆或者矩形与两圆并集。为了便于描述,我们在平面直角坐标系中对这两种情况进行定义。如果是圆,我们定义为C′(x0,y0,r),其中圆心坐标为(x0,y0),半径为r;如果是矩形与两圆并集,我们定义为Q′(R′,C′1www.cechina.cn,C′2),其中R′(A′,B′,|A′B′|,2r,θ)为矩形,A′(x′1www.cechina.cn,y′1)、B(x′2,y′2)是矩形两端中点坐标www.cechina.cn,|A′B′|、2r为矩形长和宽,θ为矩形长与x轴的夹角。C′1(x′1www.cechina.cn,y′1www.cechina.cn,r)、C′2(x′2,y′2,r)为两端的圆。