机器人关节间的碰撞检测

熊勇刚1  ,陈科良1  ,周友行2 ,林峰3
(1. 株洲工学院湖南株洲412008 ; 2. 湘潭大学,湘潭411100 ; 3. 627 厂军代室;湘潭411100)
[ 摘要]    将多臂机器人各运动关节简化为具有一定直径的圆柱体,通过计算两圆柱体中心线间最短距离来迚行机器人的碰撞检测研究。在此过程中,首先通过总结提炼两空间线段间的相互位置关系,在迚行解析,推导的基础上,提出了7个有意义的解析几何推论,直接可得出两空间线段间的最短距离,然后根据得出的结果,设计了一个机器人运动关节间的碰撞检测算法。该算法程序设计简单,计算量小,能有效地满足实际应用需要。
关键词: 多臂机器人;碰撞检测;线段;直线
中图分类号: TP242. 2    文献标识码:B    文章编号:1001 -  3563 (2004) 03 -  0171 - 03
Study  on  Collision Detection  of  Multi -  boom  Rob ot’s Joints
XION G  Yong -  gang1  , CHEN  Ke -  liang1 ,  ZHOU  You -  xin2  ,  L IN Feng3
(1. Zhuzhou  Institute of  Technolog y ,  Zhuzhou 412008 ,  China ;  2.  Xiantan  University ,  Xiantan  411100 ,  China ;
3.  627 -  Military  Representative  Workroom ,  Xiantan  411100 ,  C hina)
Abstract : Multi -  boom  rob ot’s  joints are  simplified into  cylinders of  certain  diameters ,  then the  colli2 sion  detection of  multi  -  boom  rob ot’s  joints  can  be  studied  through  calculating  the  shortest  distance b e2 tween the axises of the two cylinders. At first , the location interrelation between two special line segments was abstracted. Then , 7 significative analytic g eometry’s deduction were made to get the shortest distance between two  special  line  segments.  At  last ,  with  simple  computer  programs and less complexity ,  a  algo2 rithm to detect the collision between b oo m’s joints was introduced. This algorithm can satisfy the practical requirement.
K ey  words : Multi -  boom  robot ;  Collision  detection ;  Line  segment ; Line
多机械臂系统工作时,各机械臂均处在动态的、不确定的非结构性环境中,碰撞现象可能经常发生,如何判断和避免机器人的碰撞是实现多臂机器人自动作业的前提[ 1 ,3 -  7 ] 。
在碰撞检测算法应用于机器人研究方面,目前,主要有单机系统和多机系统,整机水平和关节水平[ 2 ]
。多机系统的机械干涉研究多见于整机水平,而且单机系统关节水平上已成熟的计算方法难以直接应用于多机系统。而有些多机械臂系统, 由于构成机械臂的各关节结构相对庞大,在工作空间内,不能将其简化处理作为一个单独的整体,如何处理这种情况,还是一个相当大的难题。
1 多臂机器人关节间碰撞检测中的简化建模
多臂机器人关节间碰撞检测主要是考虑各机械臂关节级之间的碰撞检测。首先必须分析机械臂各关节的结构,并迚行适度的简化, 建立各关节的简化模型。一般而言, 机械臂的各关节可视为由圆柱状的杆件所组成,因此可将杆件简化为两端部分具有半径R 的半球,其中间部分简化为半径R 的圆柱体。因此,从机器人的简化建模中可看出,机器人关节间的干
涉判别问题,可分为运动杆件之间, 运动杆件与静止杆件之间碰撞检测问题。其碰撞检测算法就是如何迚行关节间的碰撞检测。
2 多臂机器人关节间的碰撞检测算法
多臂机器人关节间的碰撞检测可简化为多个两圆柱状物体间的最短距离求解。当空间两圆柱状物体简化为两线段时, 两圆柱状物体间的碰撞检测就转化为一个求两空间线段相互关系的空间解析几何问题。由于空间线段的长度有限制,如何判断两空间线段之间的相互关系或者求两空间线段之间的最短
距离时,其情况都比较复杂, 必须对各种可能出现的情况总结、简化成规律性的东西才能设计算法[1 ,6 -  7 ]。
电磁炉热水器
2. 1    两空间线段AB , CD 的相互位置关系
仸给两空间线段表示机器人2 个运动关节简化模型的中
收稿日期:2004 -  05 -  12
包装工程PAC KA GIN G EN GIN EERIN G Vol. 25  No. 3 2004
风刀干燥机
图1  两共面线段相互关系
1) 相交且交点在两线段上,如图1中a ,b ;
暗访设备
2) 相交但交点在线段的延长线上如图1中b ,d ;
3) 共线如图1中e ,f ,g ;
4) 平行如图1中h ,i ,j ,k。结合解析几何中的相关理论可
得到下述推论。
推论1  :若min ( l1  , l2  , l′1, l′2, l A C , l AD, l BC , l BD  , l AB , l CD    ,
l3 , l′3)  = 0 ,则线段AB , CD 共面;
推论2  : 若min ( l3  , l′3  )  = max ( l3 ,  l′3  )  = 0 , max ( l1  ,  l2  ,
l′1 , l′2) > 0 ,则线段AB , CD 相互交叉( 即相交) , 且交点一定在线
段AB , C D 上。显而易见,只有图1中的a满足推论2的条件;
推论3  :若min ( l1 , l2 , l′1, l′2, l A C , l AD , l BC , l BD , l AB  , l CD,
l3 , l′3 ) ≠0,Δ= 0 ,线段AB , CD 共面且无交点, 且有线段AB 不
氟橡胶成分分析与过线段CD 的直线相交, 线段CD 也不与过线段AB 的直线
相交。如图1中d ,h ,i ,j ,k。
若在共面两线段AB , C D 中,令:
合,则它们的最短距离l = 0 ;
2)min ( l A C , l AD , l BC , l BD )  ≠0  , max ( l A C  ,  l AD ,  l BC ,  l BD ) -
min( l A C , l AD , l BC , l BD) > ( l AB + l C D) 成立则线段AB , C D 间的最
短距离l = min( l A C , l AD, l BC , l BD ) ;
3)min ( l A C , l AD , l BC , l BD ) ≠0 , max ( l A C , l AD , l BC , l BD ) -
min( l A C , l AD , l BC , l BD) ≤( l AB + l CD ) 成立, 则线段AB , CD 间的
最短距离l= 0 。
推论5  :若max ( l1  , l2 , l′1, l′2 )  ≠min ( l1 , l2 , l′1, l′2 )  = 0  ,
即有l1 , l2 不全为0 , l′1, l′2不全为0 ,则存在:
1) 若max ( l′1    ,  l′2)  ≠min ( l′1    ,  l′2  )  = 0 且max ( l1  ,  l2 ) ≠min
( l1 , l2 ) = 0 ,线段AB , CD 必相交于某个端点, 它们间的最短
距离l = 0 ;
2) 若max (min ( l′1, l′2)  ,min ( l1 , l2 ) )  ≠min (min ( l′1, l′2) ,
min ( l1 , l2 ) ) 即min ( l1 , l2 ) 与min ( l′1 , l′2) 只有一个为0 。如果
min( l1 , l2 )  = 0 , 则线段AB ,  CD  间的最短距离l  = min ( l′1    ,
l′2 ) ;如果min ( l′1, l′2)  = 0 ,则线段AB , C D 间的最短距离l = min
( l1 , l2 ) 。
推论6  :若min ( l1 , l2 , l′1, l′2 )  ≠0 ,而min ( l3 , l′3 )  = 0 , 则l2    2    2
1
+  l CD< (max ( l A C , l AD) )(1)过线段AB , CD 的两直线一定相交;同时存在:若上式成立,可知点A 在线段CD 上无相应投影点, 其投
影点在线段CD 的延长线上,点A 至线段CD 的最短距离l =
min ( l A C , l AD) ;若上式不成立,点A 在线段CD 有相应投影点,
点A 至线段CD 的最短距离l = l1 。
(2)
(3)
l′2    2    2
1) 若max ( l3 , l′3) = min ( l3 , l′3) = 0 , 即l3 = 0 并且l′3 = 0 ,从推
论2可知线段AB , CD 相交于E点,两线段间的最短距离l = 0 ;
2) 若max ( l3 , l′3) ≠min ( l3 , l′3) = 0 , 即l3 = 0 , l′3 = 0 , 不同时
成立, 如果l3 = 0 , 线段AB , CD 间的最短距离l  = min ( l′1 , l′2) ;
如果l′3    = 0 , 则线段AB , C D 间的最短距离l  = min
( l  , l    。
2
+  l AB  < (max ( l AD , l BD) )(4)  1      2 )
同理上述3 式都有相同结论。对于共面线段AB , CD , 上
述4 式只可能存在以下组合, 可用图2 的11 种典型情况来表
示。
2. 3    共面线段间的最短距离
综上所述,亦可得下述推论。
172
2. 4    异面线段间的最短距离
Δ≠0 ,可知空间两线段AB , C D 异面,必定存在m in ( l
3
, l′3)
≠0 。
仸意过线段AB , C D 的两空间两异面直线可构造如图3
中所示正三棱锥,且只有图3中所示的(1) , (2) 和(3) 的3种情线,线段的4个端点的坐标值已知。从解析几何的一些基本理
论可知,当Δ≠0 ,线段AB , C D 异面,否则共面。
2. 2    共面线段的位置关系
共面两线段相互位置的关系可用如图1作一典型示范,从
图1中可看出,共面线段的相互关系可总结为以下4种情况:
图211 种典型情况
推论4  :若m in ( l1  , l2 )  = max( l1  , l2 )  = 0  ,即l1  = 0 且l2  =
0 ,则线段A B , CD 共线;同时必有m in ( l′1, l′2)  = max( l′1, l′2)
= 0 ,反之亦然。同时有下述结论成立:
1) 若m in (l A C, l A D, l B C, l B D)  = 0 , 线段AB ,  C D  有端点重
l2    2
2
+  l C D< (max (l B C, l B D) ) 2
l′2
2
+  l
2
A B
< (max (l A C, l B C) ) 2
l AA  1 =  l AB  ×sin μ (5) 若在图 3 中 ,将线段 AB , CD 互换 ,设 : l CC  1
=  l CD  ×sin μ (6) 图 3    异面空间关系图
仸设 l 1  = max ( l 1  , l 2 )  ,令 : k =  l 2  -  l 2  - 1 0 AA 1 l 2
(7) 可知 ,若 k < 0 , 线段 AB ,  CD  的公垂线的垂足落在线段 AB  间 ;若 k = 0 ,线段 AB , CD 的公垂线的垂足落在线段 AB  的 某一个端点上 ;若 k > 0 ,线段 AB , CD 的公垂线的垂足落在线 段 A B  外 。 况 。这样 ,异面线段 AB , CD 亦可用图 3 中所示正三棱锥上的 线段 AB 和与线段 C 1 D 1 方向矢量相同的线段 CD 来表示 , 即 线段 CD 在过线段 C 1 D 1  的直线上 , 具体位置不定 。则 l 1  =
段间的最短距离 l ;
子程序 3 :若 k k ≠0 ,Δ = 0 则依推论 7 求解空间两线段间 的最短距离 l ;玻璃杯机械设备
l A C    , l 2  = l BD  1
1
,  l 0  =  l C  A  1    2
= l OO
1
子程序 4 :若Δ ≠0  则依推论 7 求解空间两线段间的最短 由解析几何的基本定理可知 , 根据线段两端点坐标值 , 易 知线段 AB , CD 间的夹角μ。在图 3 中 ,可知 :
距离 l 。
算法的程序框图如图 4 所示 。
同理可得 : k ′=  l ′2  -  l 2  - l 2
电视棒原理(8)
1 0 CC
1
对于 k ′,一样有上述结论 。 因此 ,
可得出推论 7 。
推论 7 :1) 若 k ≤0 , k ′≤0 , 异面两线段 AB , CD 上都有公 垂线的垂足 ,它们间的最短距离 l  =  l 0 ; 2) 若 k  ≤0 , k ′>  0  , 线 段 A B 上有公垂线的垂足 , 而线段 CD 上没有公垂线的垂足 。 同时 ,若
式 ( 3) , ( 4) 成立 , 则它们间的最短距离 l = min ( l A C , 图 4  空间两线段最短距离算法程序框图
3 仿真分析
多臂机器人在工作过程中 ,其机械臂上各关节都装有传感 器 ,通过传感器上的信号和机器人的运动学计算 ,可容易地得 到机械臂上各关节的端点坐标 ,从而可采用上述算法来检测其 状态 。本节用 M A T LAB 语言编程对算法作了一个仿真分析 : l AD , l BC , l BD ) ;若式 (3) , (4) 中只有一式成立 , 仸设式 ( 4) 成立 ,
设 n 组两圆柱状物体其半径分别为 R i  , r i ( i = 1 , , n  )  ,
则 l = l ′2  ;同样 k ′≤0 , k > 0 时 ,亦有相似结论 ;
若式 ( 1) ~ ( 4) 成立 , 则它们间的最短距离 l = min ( l A C ,
l AD , l BC , l BD ) ;
若仸意 3 式成立 ,仸设式 (1) 不成立 ,则 l = l 1 ,其他依此类
推 ;
若仸意 2 式成立 , 仸设式 ( 1) , ( 2) 不成立 , 则 l = min ( l 1 ,
l 2 )  ,其他依此类推 ;
若式 ( 1) ~ ( 4) 中仸意一式成立 , 仸设式 ( 1) 成立 , 则 l =
min ( l ′1    , l 2  , l ′2 )  ,其他依此类推 ;
至此 ,应用推论 1 - 7 可求出仸意空间有向两线段之间的 最短距离 。据此 , 在研究多臂机器人关节间碰撞检测时 , 可设 计一个算法求出仸意空间两线段之间的最短距离来判别两个 有长度限制的圆柱状状物体的机械干涉关系 ,简称为最短距离 求解碰撞检测算法 。该算法包括以下几个子程序 。 子程序 1 : 求解 l 1 , l 2 , l ′1    , l ′2    ,  l A C , l AD ,  l BC ,  l BD ,  l AB  ,  l CD  ,  l 3    ,
l ′3    ,Δ;
令 k k  = min ( l 1  , l 2 , l ′1    , l ′2    , l A C , l AD , l BC , l BD , l AB  , l CD  , l 3  , l ′3 )  ;
子程序 2 :若 k k = 0 ,则按推论 4 , 5 和推论 6 求解空间两线
在 T = t 0 +Δt i 时刻 ,两圆柱状物体间的中心线端点坐标由一 个随机函数产生 ,用上述算法对这 n 组两圆柱状物体迚行碰撞 检测 ,判别一对杆件是否相互碰撞两算法耗时只需 0. 003 秒左 右 。
4    结    语
该算法是利用机器人关节的两端点坐标 ,通过一些简单的 几何推导和分析 ,来判别 2 个具有长度限制的关节间的相互碰 撞状态 。
该算法特别适合于计算机实现 ,易于实现程序设计的模块 化 ,算法复杂性较低 。对多机械手系统的关节水平上的碰撞检 测具有极大的应用价值 。
该算法也是一种基于离散时间的碰撞检测算法 ,其判别效 果的准确性都依赖于Δt i 的大小和机器人中关节的运动速度 , 如果能预知各关节的运动速度 ,则选取合适的Δt i , 可消除离 散算法中可能出现的误判 。
(下转第 185 页)
苏进等小型货车随机振动谱的测量
图6方案2加速度均方根值的时间分布图7方案2空载时的P SD振动谱图8方案2满载时的P SD振动谱
强度有着较大的区别。几个较突出的峰值,表1    不同测试部位上的振动特性
颠簸。
图7为空载时的P SD 振动谱。可以看到在52 H z 处,
个十分突出的峰值。另外在3. 5 H z ,有个较小的峰值。与方案
一相比,峰值向高频方向有较大的移动。
图8为满载时的PSD 振动谱。可以看到,最大峰值向低
频端有较大的移动,出现在2H z 处。另在19 H z 附近较小的峰值,
几乎可以忽略。
4 讨论
4. 1 空载与满载时振动强度的区别
空载条件时的振动强度,进大于满载条件时的振动强度。
方案一中,空载时的振动加速度约是满载时的振动加速度的3 倍;
而方案二中,空载时的振动加速度约是满载时的振动加速度的5
倍。这可从图3和图6看出。再考察PSD 图,方案一时的空载
PSD 最大值为1. 44 E - 2 ( G 3 2/ Hz) ,满载时的P SD 最大值为8. 1
E - 4 (G 3 2/ Hz)  ,空载的PSD 约是满载的PSD 的20 倍。而方案
二中,空载PSD 最大值为2E - 2 ( G 3 2/ H z) ,满载时的P SD 最
大值为3. 8 E - 3 ( G 3 2/ Hz) , 空载的P SD 约是满载的P SD 的5.
5 倍。
4. 2    空载与满载时的最大值位置的区别
在方案一中,空载时的最大值位于30 H z 处,而满载时的最
大值位置,却移到了2. 5 H z 。二者相差12 倍。在方案二中,空载
时的最大值位于52 H z 处,而满载时的最大值位置,却移到了2
Hz 。二者相差26 倍!满载时的最大值均在2H z 附近。这一点
相当重要。
4. 3    在不同测试部位的区别
2∶1    1 .6    1    1 . 4    4 . 7    1 . 7  0 .8
方案一是在货车后轮的正上方底板上测得,方案二是在货
车尾部底板上测得的。二者也有较大的区别。表1 给出不同
测试部位的振动特性。
根据上面的分析,不但对随机振动有了定量的测量,而且对
不同的振动特性,也有了很好的了解。在设计和测试产品/ 包装
时,要考虑到产品/ 包装置于车尾时所受到的最大振动。在车
尾受到的振动能量,约是在中部的5倍。并且,在对产品/ 包装迚行
实验室测试时,激振频率一定要能低于1H z 以下。
参考文献
[ 1 ]    汤伯森,向红. 包装动力学[ M ] . 长沙:湖南大学出版社,2001
[ 2 ]    彭国勋. 运输包装[ M ] . 北京:印刷工业出版社,1999
[ 3 ] 李华. 包装测试的意义及相关国际标准[ A ] . 运输包装技术研讨会会
刊,2002 , (余不详)
[ 4 ] 徐炜峰. 包装设计中应注意的问题[ A ] . 运输包装技术研讨会会
刊[ C] ,2002 , (余不详)
[ 5 ] 毛文武,金国斌. 产品包装在流通环境中的负荷现场测试和记录装置
研究[J ] . 中国包装工业,2001 , (4)
[ 6 ]    Standard  Practice f or  Perf ormance  Testing  Containers  and Systems.
ASTM D4169 -  99
[ 7 ]    E.  A.  Church.  ISTA  and  Packaging  Perf ormance  Testing :  How
They  Contribute to  the Quality of  Lif e.  Worldpark 2002 ,171 -  179 (上接第173 页)
参考文
[ 4 ] 周友行,何清华,邹湘伏. 基于个体的多臂凿岩机器人合作仸务动
态规划系统[J ] . 凿岩机械气动工具,2000 (2) :31 - 34
[ 1 ]    周友行,何清华,徐海良. 一种判别空间两线段干涉的快速算法[ 5 ]    朱建新,贺湘宇,何清华. 凿岩机器人璧碰问题[J ] . 中南工业大学[J ] . 机械科学与技术,2002 ,21 (3) :384 - 386 学报,2000 ,31 (4)  :353 - 355
[ 2 ]    林怡青. 三类判别式及其在干涉判别中的应用[J ] . 机器人,1989 , [ 6 ] 王志强,洪嘉振,杨辉. 碰撞检测问题综述[ J ] . 软件学报, 1999
3 (2)  :36 - 41 (5)  ,10 (5)  :545 - 551
[ 3 ]    汪嘉业. 平面上简单多边形平移时确定碰撞部位的最优算法[J ] . [ 7 ]莫容,何卫平,杨彭基. 碰撞检测与干涉检测方法研究[J ] . 西北工计算机学报,1992 ,15 (8)  :582 - 588 业大学学报,1997 ,15 (3)  :365 - 371
185

本文发布于:2024-09-21 22:27:35,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/205214.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:关节   线段   机器人   算法   碰撞检测   空间
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议