当前位置: 首页 > >

(参考)基于运动学原理的仿真机器人运动预测模型研究

发布时间:

基于运动学原理的仿真机器人运动预测模型研究
史豪斌 李伟华 王涤飞 严建峰 (西北工业大学计算机学院, 西安 )%"")!)
*+,’-.: /0123’4(-/5346,’-.$74,
摘 要 在仿真足球机器人比赛中, 考虑到策略程序对机器人运动控制的时效性问题, 对球和机器人运动进行预测是提

高球队整体实力的一个必需并且有效的办法。该文提出并分析了 8-,9:4846 %%;2%% *台中的机器人和球的运动学模型, 并且在此基础上提出了一种有效并且实用的预测方法, 其有效性已在实验中得到验证。 关键词

8-,9:4846 %%;2%%

运动学模型

预测方法 文献标识码 > 中图分类号 ?@!=

(!""# ) 文章编号 %""!+&<<%+ %&+""=&+"<

!"#$% &’ ()*$+,"+&- .&$*/ +- "0* !+1#)&!&" 234*$ &- 5+-*13"+,4 60*&)%
!0+ 73&8+- 9+ :*+0#3 :3-; <+’*+ =3- >+3-’*-; (A0B’:6,0/6 4C D4,B960: 87-0/70 , E4:6310260:/ @4.F6073/-7’. G/-;0:2-6F , H-I’/ )%"")!)
?84")3,": D4/2-J0:-/K 630 :0’.+6-,0 B0:C4:,’/70 4C ,46-4/ 74/6:4. ’770B60J -/ 630 26:’60KF 4C 8-,9:4846, B:0J-76-4/ 4C 630 ,46-4/ 4C 630 :4(46 ’/J 630 (’.. -2 ’ /07022’:F ’/J 0CC076-;0 1’F 64 -,B:4;0 630 B0:C4:,’/70 4C 630 60’, -/ 630 ,’673$L’20J 4/ 630 M-/0,’6-72 ,4J0.2 4C 630 (’.. ’/J 630 :4(46 -/ 630 B.’6C4:, 4C 8-,9:4846 %%;2%% -/6:4J970J ’/J ’/’.FN0J, ’ ;’.-J ’/J B:’76-7’. ,0634J 64 B:0J-76 630 ,46-4/ 4C 630 :4(46 ’/J 630 (’.. -2 B96 C4:1’:J, 630 ;’.-J-6F 4C 13-73 3’2 (00/ B:4;0J -/ 630 0OB0:-,0/62$ 5*%@&)$4: 8-,9:4846%%;2%% , P-/0,’6-72 ,4J0., @:0J-76-4/ ,0634J

%

引言
仿真足球机器人比赛是足球机器人比赛中的实验*台, 实

能根据小球当前的运动轨迹找出小球将要经过的某一点, 并且 能 预 测 出 该 进 攻 队 员 到 达 这 个 点 所 需 的 周 期 数 (以 下 简 称 拍 数) , 然后比较进攻队员需要的拍数和球到达需要的拍数, 如果 相同, 那么机器人就可以让它预先就朝着这个点前进, 最终将 (( ) ) 。 在该点碰到球。 (如图 %
F

物的足球机器人因为控制难度大, 实时性要求高和硬件的一系 列问题等, 现在还很难做出很有技术性的动作。先进的控制方 法、 队形和战术战略在仿真足球机器人比赛中远先于实物足球 机器人得到应用和检验。要让足球机器人实现战术策略, 首先 要有好的运动控制。 类似人类足球比赛中, 如果一个球员, 虽然 他有很好的配合思想, 但是他永远接不到从本方队友那里踢过 来的球, 那他绝不能算是一个好队员。 如果队中球员个个如此, 那么这个球队就永远不可能赢球。足球机器人比赛更是这样, 试想如果防守机器人不能准确地到达它应该站的防守位置, 那 再好的防守策略也只能是纸上谈兵。

4

O

F

!

问题的提出
在仿真足球机器人比赛中, 策略的多样性, 以及相对较高

的机器人和小球的运动速度, 使得场上形势瞬息万变, 要让机 器人队员准确地完成预定的技术动作, 对机器人和球的运动轨 迹预测必不可少。举一个很简单的例子来说明这个问题, 某个 进攻队员要将球踢向对方球门,而球正在以一定的速度运动, 同时机器人从另一个方向过来。要让机器人追上球, 如果策略 程序在当前周期只让机器人运动到球所在的坐标点, 那么到了 下一拍, 机器人还没有靠*球, 但是球的位置已经发生了变化, 因此机器人又要朝着新的方向运动。很明显可以看出, 这是一 (’ ) ) 如果策略程序 种被动的让机器人去追球的方法。 (如 图 % 比较这两种方法容易看出, 第一种方法看似合理, 但相较 于第二种, 就很可能贻误了进攻队员的进攻时机。 但是, 从第二种 方法中可以看出, 要实现这样的控制, 必须对机器人和球的运动
图% 机器人追球的两种方法
4 O

基金项目: 国家部委 “十五” 预研项目; 青年教师创新基金项目: 机器人足球系统的设计和开发; 陕西省自然科学基金项目: 面向产品协同设计的智 能决策支持技术研究

=&

!""#$%& 计算机工程与应用

都要实现一定程度上的精确预测。该文讨论在 ’()*+,’,-%%./%% 中 对球和机器人运动的预测模型。

0$0

关于机器人和球之间碰撞的运动模型
球在场上的运动都是由机器人碰撞产生的, 要想让球到达

某个指定点, 即驱动球按一定的方向运动, 必须要知道球的初

0

仿真*台中的运动学模型
国 际 比 赛 中 ’()*+,’,-%%.%% 比 赛 采 用 的 是 哈 工 大 的 仿 真

始速度和被撞后速度之间的关系。*台中球被视为弹性体, 碰 撞时间很短, 碰撞过程中摩擦力与瞬间的冲撞作用力相比可以 可以看成碰撞过程在碰撞方向上满足 忽略不计, 如图 0 所示, 动量守恒和能量守恒定理。关系式如下: (: ) % ., ! 9 % (, ! 5 % ., /! 9 % (, /! . (% . (% ! ! ! ! 其中, . 为机器人的质量, ( 为小球的质量, , ( 和 , /( 分 别为小球的碰前和碰后速度, 其中 , (% 和 , /(% 分别是 , ( 和 , /( 在碰撞方向上的投影, , (! 和 , /(! 分别为 , ( 和 , /( 在垂直于碰 撞方向上的投影, ,. 为机器人的碰前速度, , /. 为 机 器 人 的 碰 就得出了 后 速 度 。 解 出 , /(% 后 将 , / (% 与 , (! 进 行 矢 量 合 成 ,

*台。要对球和机器人进行预测, 首先应该搞清楚*台中的运 动学模型是怎样建立的, 即机器人和球它们本身的运动规律是 怎样的。结合对*台的技术测试, 分析如下:

0$%

球的运动学模型
%%./%% 规 则 中 指 出 比 赛 中 的 足 球 应 采 用 一 个 半 径 为 # 像

!

., . -(, (% "., /.-(, /(%

素的桔黄色高尔夫球。球应该各向同性, 即对于任何方向的运 动表现应一致。从球的运动中看出, 该*台中将球定位成一个 完全的弹性体, 球在运动过程中如果碰到*锷希 那么该碰 撞过程符合完全弹性碰撞的规律, 并且球的入射方向和出射方 向关于碰撞面的法线方向完全对称,且碰撞前后速度大小不 变。这里的*锇ㄇ矫婧突魅说牟嗝妫 但不包括机器人 的 正 前 面 和 正 背 面 。 机 器 人 主 动 碰 撞 球 的 情 况 详 见 下 面 0$0 节。正常情况下, 球保持静止或以一定的初速度作匀减速直线 运动。这里必须考虑到*台的摩擦力作用, 由物理学公式可知 因 !"!#$, ! 是摩擦力, ! 是动摩擦因数, $ 是接触面间正压力, 此匀减速运动的加速度公式为:

, /(。

%"&! ’ ("&!#$ ’ ("&!#() ’ ("&!)

(% )

0$!

机器人的运动学模型
机器人是 %" 像素 1%" 像素的正方形小车,机器人有唯一

的一个正面, *台每个周期返回机器人的质心坐标以及正面的 朝向角。如图 ! 所示, * 是小车左右轮之间的距离, + 是小车转 弯的半径, , 是小车前进方向速度, " 是小车转弯的角速度,
图0 机器人和球的碰撞模型

, *, , + 分别是小车左右轮的速度。有如下运动学关系:
(+&* 2 ! ) , +"" (+-* 2 ! ) , *"" (, +-, *) , "% 2 !3 (, *&, +) "5 ’* (, +-, *) (, *&, +) +"* ’ 6! 7 (! ) (0 ) (4 ) (# ) (8 )

4 ’()*+,’,- %%./%% 中预测模型的建立
根据上面提出的这些运动模型, 建立了相应的预测模型。

4$%

球的预测模型
由前面运动模型知道, 球在被机器人撞击后, 以一定的初

速度开始做匀减速直线运动, 且加速度大小为常值。从这样的 理想角度出发,直接利用当前球和前两拍球的 位 置 , 0 个数据 逐差, 得出当前速度和当前加速度, 再利用匀加速直线运动公 式, 直接就可以计算出未来有限拍后的球的位置, 这种方法从 理论上说是完全正确的, 但运用到 实 际 ’()*+,’,- %%./%% 的 * 台中就很不合适, 预测出来的值和实际值比较, 偏差值已经超 出了允许的误差范围。究其原因, 是 因 为 ’()*+,’,- %%./%% 的 *台发回的全是截取后的整型数据,这就造成如果只用一、 两 拍内球走的距离作为运动的初速度, 结果就可能导致出错。要 得到尽可能准确的初速度,应该利用尽可能多的球的历史位 置, 求出多拍位移的*均值, 作为递推的初速度。 新的方法又产 生了新的问题,并不仅仅是多记录一些历史数据就可以解决 的, 关键是要确定这些数据中哪些是有效的, 因为比赛过程中 球不停地被机器人撞来撞去, 必须要从记录的历史数据中找到 可以利用的有效值, 即找出球在当前位置前的最*一次被某个 机器人的碰撞点。通过对实验测试的数据分析, 可以得出如果 球不被机器人撞击, 则球任意两拍走的位移之间, 满足一定的 关系如下:

图!

机器人的运动学模型

可以看出,通过控制左轮速和右轮速就能控制小车的运 动。当左轮速和右轮速一致时, 机器人走直线; 如 + 为无穷大, 机器人作圆周运动, 圆心在机器人右侧; 如 , * 小于 , * 大于 , +, 机器人作圆周运动, 圆心在机器人左侧。实际比赛中, 机器 , +, 人的左右轮速每个周期都可能设定完全不同的值,可以发现, 机器人每个周期内的位移只与这个周期所设定的轮速有关, 因 此每个周期内机器人的运动可以视为是一个瞬时圆周运动中 的一小段圆弧, 在此基础上可以进行有效的预测。

"2 ! 01&01/ 03&03/"2

(; (/ < =,>/-<>-)

(& )

从这个关系出发, 很容易就能找到了碰撞点, 对于球撞到 计算机工程与应用 !""#$%&

4?

*锶缓蠓吹呐鲎驳悖 这也是适用的。计算从碰撞点开始 到当 前 点 * 均 速 度 , 假 设 可 以 利 用 的 有 到 当 前 为 止 的 ! 拍 数 则可以利用以下关系: 据, 由此预测未来 " 拍的位置,
! ! ’ "#$%& ("(! ) ! ) (! ) ("(! ) ! ) - % *’./0 ’ $ # ! $ !

’$)

实验分析结果
在机器人足球仿真 %% 对 %% *台上实际应用后, 发现预测

的精确程度相当高。 下面是一个关于预测机器人到达某点需要 多少拍的例子, 实验结果中机器人到达某点实际需要的拍数和 (* ) 预测所需要的拍数比较如图 # 所示。

! ’ ("(! ) ! ) (! ) ("(! ) ! ) #+%& - % *’012 ’ + ! %
#

其中 ! 代表球的运动方向角, #$ 和 #+ 分 别 是 球 在 $ 和 + 方向上的位移, * 代表球的加速度。 除此之外, 还要考虑的就是, 如果预测的拍数比较多, 会出 现预测出的球的坐标超出边界以外或者对应预测点的球的最 而这是不可能的, 需要分别进行相应处理。处 终速度已小于 " , 理方法此处略。

’$!

机器人的预测模型
要精确预测机器人到达某点需要多少拍, 必须要能够精确
图# 预测机器人到达顶点需要的拍数实验

预测出机器人在有限拍内走的位移。先看机器人一拍内的情 况, 由前所述, 将机器人的运动视为是一拍之内的瞬时圆周运 其中 * 是机器人的当前方向角, 动。如图 ’ 所示, ! 是机器人在 一拍之内转过的圆心角, #$ 和 #+ 是 机 器 人 在 一 拍 内 分 别 在 $ 和 + 方向上走的位移, ! 是机器人转过的弧长, 用 弧 长 * 似 代 替弦长, 得出如下计算公式: ("3! ) "#$%,’!’./0
#

实验中, 收 集 了 *"" 对 数 据 , 每对数据都包含了预测机器 人到达目标点需要的时间以及机器人到达该目标点实际需要 并且表 % 给出了第一个 的时间。 把这 *"" 对数据分成了 +" 组, 组的所有数据对及其对应的误差信息。 统计信息中包 同时, 表 ! 列出了 +" 组数据对的统计信息。 最小误差、 每一组的数学期望以及 括了 +" 组数据的最大误差、

("3! ) $#+%, 4!4012 %!5#4%
#

(%" )

方差。
表%
编号

第一组数据表
预测拍数 误差

实际拍数

% ! ) ’ # + , & * %" %%

#" ’# ’" )# )! )" !& !, !# !! !" %& %+ %’ %!

’& ’’ )* )# )! !* !& !+ !’ !! !" %, %+ %’ %!

’$"( !$!( !$#( "$"( "$"( )$)( "$"( )$,( ’$"( "$"( "$"( #$+( "$"( "$"( "$"(

图’

机器人运动的精确预测模型

%! %) %’ %#

关键是要得出机器人转 动 半 径 以 , 及 转 过 的 圆 心 角 ! 和 左右轮速之间的关系, 这可以由 (# ) 和 (+ ) 式得到。 从中可以发现, 要预测机器人一拍内的位移, 必须要知道 机器人这一拍的左右轮速, 两者是相辅相成的。因此如果试图 预测多拍后机器人的位置, 必须要确切地知道机器人在这未来 的多拍内每拍的左右轮速。这看似不太可能, 但实际上从分析 策略可以发现, 策略中每拍设定的左右轮速通常又是和各拍机 器人的位置和角度状态有直接关系的, 因此可以建立这样一个 递推的算法, 确定一个目标点, 计算出本拍的左右轮速, 预测出 下一拍的机器人的位置和角度, 将预测出来的下一拍的机器人 信息作为下一拍的参数传递回本拍用来计算的函数, 计算出下 一拍的轮速, 再递推出下下一拍的位置。 根据这种递推算法, 就 可以在一拍之内完成对机器人多拍运动的虚拟, 这样, 最终完 成对多拍后位置的预测。 同样, 也可以在这个基础上, 预测出机 器人到达确定点需要多少拍。 至此, 完整的机器人预测模型和球的预测模型就建立了起 来。
最大值 *均值

表!

+" 组数据误差的统计信息
最小误差 数学期望 方差

(单位: () 最大误差

#$, %$,"

!$% %$#*

)$’! %$+’

"$%+) "$"!&#

从这些实验数据中, 可以看出预测机器人到达定点有一个 很 高 的 精 度 。 最 大 误 差 保 持 在 #$,( 之 内 , 数 学 期 望 不 超 过

%$,( 。 误 差 的 数 学 期 望 和 方 差 表 明 了 这 种 误 差 的 范 围 相 对 较
小, 并且根据理论, 只要严格按照该*台的运动学模型设计相 应的预测模型, 还可以获得更高的精度。 当然可能由于*台始终将数据截断成整型的原因, 误差始 终存在, 但可以控制在允许的范围之内。

#

总结
该 文 在 提 出 和 分 析 了 仿 真 足 球 机 器 人 61789/6/: %%;0%% (下转 &" 页)

#"

!""#$%& 计算机工程与应用

(4 ) 实验原图

(: ) 阈值化 H<.:;3H 反色 H 细化图

(A ) 顶点搜索法

(6 ) 直线段提取 图R

(; ) 矩形重构法

步骤 R : 用*行线及其垂线的 R 个交点作为 矩 形 的 R 个 顶 点, 这样就由 R 个顶点构成的 R 条线段将矩形重构出来; 在重构的矩形的基础上, 可以计算出此矩形对角 步 骤 #: , 以及对角线与轴之间的夹角 ! 。 线中点的坐标 (! , ") 它们 !、 "、 ! 这 M 个参数 就 能 表 达 出 * 面 矩 形 的 位 姿 参 数 , 可以被进一步应用到机械手的对矩形目标控制与跟踪中去。

有更高的精度。 (收稿日期: !""R 年 & 月)

参考文献
清华大学出版社, %$ 章毓晋 $ 图像处理与分析 =->$ 北京: !""" : !M%X!M! 刘桂雄, 阎华等 $ 机器人视觉在自动装配线中的应用 =P>$ 光学 !$ 郑时雄, 精密工程, (% ) : %ZZ& ; Y Z"XZR

O ) S4:D$G01;48 9;4/D8; ;\/84A/0.1 416 6;<A80U/0.1=P>$ M$) V;[4/04 ,

R

算法实验结果
实际应用中,为了更好地进行直线段提取和矩形重构, 要

7.@UD/;8 (84U?0A< 416 C@45; 28.A;<<015 , %Z&" ; %M : !#]X!YZ R$P S SD81< , L ) Q41<.1 , ’ - )0<;@41$’\/84A/015 </8405?/ 301;<=P>$ C’’’ +841< .1 24//;81 L143B<0< 416 -4A?01; C1/;3305;1A; , %Z&Y ;
(R ) : %& R!#XR##

对边缘图像进行预处理: 首先利用中值滤波的方法去除原图像 中的噪声, 其次进行阈值化处理和边缘提取, 然后应用数学形 态学的方法细化轮廓的边缘。在图像预处理之后, 再运行该文 算法。 下面给出了使用该方法和顶点搜索法进行目标位姿参数 提取的对比实验, 实验结果表明: 在矩形目标边缘二值图像不 理想的情况下, 该算法提取出的矩形对角线及其中点更接*于 真实情况, 这主要归功于文章算法针对缺损和变形的矩形做出 了相应的处理,与顶点搜索法直接在原图上提取参数相比, 具

#$- S.36/ ;/ 43$+.E;1H:4<;6 ;\/84A/0.1 .9 </8405?/ 301;<=P>$C’’’ +841< .1 *B</;@ , -41 , 416 7B:;81;/0A<, %Z&Z ; %Z : %#&%X%#ZR
张正友 $ 计算机视觉 H 计算理论与算法基础 =->$ 北京: 科学出 Y$ 马颂德, 版社, %ZZ& ; R#X#Y , %"YX%"]

]$,@0/8B G45D1.[<EB , *;85;B L:34@;BE.$*/8405?/H301;H:4<;6 U80@0/0[; ;\/84A/0.1 01 58;BH<A43; .:I;A/ 8;A.510/0.1=P>$24//;81 );A.510/0.1 G;/H /;8< , %ZZZ ; !" : %""#X%"%R

(上接 #" 页) *台中的机器人和球的运动模型之后, 提出了一种精确预测机 器人和球的运动的办法。通过实验证明, 这种办法是实用并且 有效的, 同时所预测数据的误差也在可以接受的范围之内。从 文章开头的例子就可以说明, 预测方法的应用必将改进对仿真 比赛中机器人的动作设计, 同时可以乐观地估计, 在不久的将 来, 预测方法的应用很可能会在实物机器人的发展过程中产生 一定的积极影响。 (收稿日期: !""# 年 % 月)

-4/?;@4/0A< ).B43 C1</0/D/; .9 +;A?1.3.5B */.AE?.3@ , !""" !$FD G0HI041 , J?415 7?D1H?D0 , KD K01H?;$L1 L//4AE */84/;5B 01 ).:./ *.AA;8 *B</;@=7>$C1 : 28.A;;6015 .9 /?; M86 L*77=<$3$> : =<$1$> , !""" M$J?415 F;0 , J?415 ,4HN?0$L );AD88;1A; L35.80/?@ 9.8 L//4AE 24/? 416 O0AE 2.</D8; .9 *.AA;8 ).:./=P>$P.D8143 .9 Q48:01 C1</0/D/; .9 +;A?1.3.5B , !""R R$Q.15 S015H8.15 , (4. TD41H<?;15 , 7?D Q40H/4.$).:./ *.AA;8 *0@DH 34/0.1 7.@U;/0/0.1 234/9.8@ S4<;6 .1 -D3/0 H L5;1/ = P > $ P.D8143 .9
(V;W *;80;<) , (M ) : Q48:01 C1</0/D/; .9 +;A?1.3.5B !""% ; & !"MX!"Y

参考文献
%$’(’)*+’,+ -$-./0.1 23411015 416 7.1/8.3 .9 -.:03; ).:./<=,>$

&"

!""#$%& 计算机工程与应用




友情链接: