第26页
3.3 足球机器人动作设计 3.3.1足球机器人动作设计的目的
动作是决策系统的最终体现,是决策的基础和保证,机器人动作完成的好坏是系统整体性能的最好验证。动作是比赛活动的基本单元,任何精彩激烈的比赛都是由球员的一系列动作构成的。可以说动作设计与完成的水平在是比赛胜负的关键因素,因此全面规范的动作设计,准确有效的动作实现在足球机器人决策系统设计中就显得尤其重要。一支球队如果球员动作粗糙,即使有超级教练指挥,也是难以赢得比赛的。
动作设计主要有两种途径:一是向人类足球比赛模仿学习,进行抽象得到动作定义;二是分析机器人足球比赛的特点,以目标为引导,采用自顶向下逐层分解的方法,按照功能划分机器人的动作。例如,最顶层目标是比赛胜利,即多进球,少输球,那么就要有能完成进攻和防守功能的两类动作:再逐层分解下去,直至基本动作单元为止。动作设计完成后,还要在仿真和实际的比赛中不断的改进完善。
3.3.2足球机器人动作的特点分析
机器人的动作是对人类智能行为的一种模拟,可以在功能上模仿人类的射门动作、拦截动作等。机器人通过动作来改变环境和自身的状态,每个动作都具有发生的条件和发生后的效果。总的来说足球机器人的动作有如下特点:
1)各种动作都是通过机器人的速度、位移和轨迹来实现的。如机器人转身动作需要有角速度控制来完成,再如障碍回避动作是由轨迹来体现的,而射门、防守等动作要控制机器人的速度和进行轨迹规划。
2)所有的动作最终都是由机器人小车的速度控制来体现的。速度包括线速度和角速度,足球机器人小车常采用双轮差动结构,因此这里的机器人小车速度控制也就是左、右轮速(VL , VR)函数的设计。
3)由于机器人在矩形场地进行足球比赛,实际上是机器人小车在平面上自主运动,这使得问题描述被极大地简化了。动作设计的主要问题也就非常清晰了,即如何设计快速平滑控制算法使得机器人从初始状态(初始位姿,初始速度)运动到期望状态(期望位姿,期望速度)。
4)动作设计和实现可行方案很多,颇具有灵活性。精彩激烈和富于变化的足
第27页
球比赛(包括人类和实际的机器人比赛)是足球机器人动作设计灵感的主要源泉。有关射门、传球配合等动作设计既可以体现创造性,又能结合受非完整约束机器人各种轨迹规划和控制的应用研究,这也正是足球机器人的魅力所在。
动作的结构化分层设计,应满足动作在不断发展的需要,当比赛规则、车体结构或驱动方式发生改变时,只需要改变底层动作控制。对人类足球训练过程进行抽象,即基本动作、技术动作以及战术动作。基本动作对应于运动员的基本素质训练,包括跑位(到定点)、转身(转角)等;技术动作包括射门、守门、传球以及大脚破坏等技巧性动作;战术动作是指由两个或两个以上的机器人通过相互配合完成的动作,如一传一射、二过一以及底线传中等。可以看出技术动作是在基本动作基础之上的,而战术动作又是以技术动作为基础的,动作空间组成如图3.6所示。
动作空间
战术动作
技术动作
基本动作
图3.6 动作空间组成示意图
一、 基本动作函数
基本动作函数对应的是底层控制中的位置控制和角度控制,位置控制就是到一个固定点;角度控制就是转向固定角度或转向一固定点。根据距离偏差和角度偏差利用模糊PID控制算法来控制左右轮速度。
1. TurnToAngle (dbROBOTPOSTURE *pRobot, double dbAngle, dbLRWheel Velocity *pSpeed)
函数功能:其基本思想也是误差消除法,将机器人与指定角度之间的误差消除为0。根据传入的小车位姿和指定角度,快速使小车转动到指定角度。 基本算法:
? 计算机器人Robot角度和期望角度dbAngle的差值theta; ? 将theta转换为(-90?,90?)之间的值,因为机器人是正方形,前后是对称的,因此以正方向或反方向为参考来转动效果相同。 ? 调用模糊PID控制算法,算出的左右轮速值。
第28页
?2 ???2??1 其中?=角度差 ??1:为指定的角度, ?1 ?2:为机器人的角度
图3.7转角动作图
2. ToPosition(dbROBOTPOSTURE* PROBOTPOSTURE, dbPOINT Target, dbLRWheelVelocity* pSpeed)
dx
函数功能:根据目标机器人的位姿和所要到机器人方 目标点 向角 dy 的目标点坐标值,可算出机器人移动到目标? d?dx2?dy2 点时实时的左右轮速值。
机器人 图3.8到定点动作图
基本算法:
? 计算机器人Robot角度与Robot坐标和目标点Target连线的角度值的差值theta,然后再将差值theta转化为(-90?,90?)之间的值。
? 判断theta绝对值如果大于60?,则调用原地转角函数TurnToAngle。 ? 根据theta判断机器人所应采取的运动方式:正转或反转、正向移动还是反向移动。
? 调用模糊PID控制算法,算出左右轮速度。
3. Move2pt(dbROBOTPOSTURE *pROBOTPOSTURE, dbPOINT Target, dbLRWheelVelocity* pLRWheelVelocity)
第29页
4. ToPositionNew(dbROBOTPOSTURE* robot, ballInformation ball, dbPOINT directionpt, double samespeed, int Endprocess, dbLRWheelVelocity* pSpeed) 函数功能:其基本思想也是误差消除法。根据传入的机器人位姿、球的信息、定点和同向速度使机器人迅速到达定点,并使其方向对准directionpt。 五、技术动作函数
技术动作函数是基于基本动作函数之上的。它是模仿真实世界里的足球运动员的动作设计出来的动作集合,包括:射门、防守、守门、边界处理、大脚解围等等。
5. Vect_midshoot1(dbROBOTPOSTURE*Robot,BallInformation &ball, dbPOINT Target ,dbLRWheelVelocity *pSpeed) 函数功能:传入参数Robot,ball,Target的实时信息值可算出并返回机器人的运动目标点N的坐标值和机器人左右轮速度。
本文设计了基于中分线的射门方法,机器人中分线射门算法的基本思想是:如果将机器人当前位置与球的位置连线,取这条连线的中分线,这条中分线与球和球门中点的直线有一个交点,假设在当前系统运行周期内,机器人向这个交点运动,而在下一个系统周期里,按同样的方法计算出新的交点,机器人再向新的交点运动,这样,机器人走出了一条平滑的曲线进行射门,如图3.10所示。
基于中分线的射门算法有两种,其一是基于角度的算法求出机器人应该运动的方向,调用机器人移动动作算法沿目标方向运动;其二是基于直线交点的射门算法,算法求出机器人射门需要设定的目标点,然后调用机器人到定点动作使机器人向目标点运动。在此我们利用第二种方法来研究中分线射门算法。基于中分线的轨迹规划方法,如图3.10,将小球B作为目标点,对
图3.9定向运动图
函数功能:根据传入的机器人小车位姿和指定角度,使机器人转到指定的角度向前移动,使机器人迅速到达定点,到定点时不减速。
第30页
方球门G作为方向点。调用中分线轨迹规划,得到规划目标点Ti作为机器人移动的目标点。经过N个周期规划点系列?T1,T2,T3.......Tn?引导机器人沿一条平滑轨迹线完成射门动作。
在利用中分线算法时,根据机器人、球和球门的位置,有两种情况:一是机器人在比较有利的位置如图3.10(设为状态S1),这时中分线与球和球门的连线的交点在球的后方;二是非有利位置,如图3.11(设为状态S2),此时中分线与射门线交点在球的前方。在第二种情况下,我们先让机器人运动到有利位置A点,然后按第一种情况处理。 Ti B B Ti T1 T 1 G G Ci Ci C C R R A
图3.10中分线射门方法示意图1 图3.11中分线射门方法示意图2
由图3.6可见,C为R与B的中点,关键是计算出T点的坐标。
直线BG的方程为:y?k1x?b1 (3-1) 直线CT的方程为:y?k2x?b2 (3-2)
则交点T坐标为:x?(b2?b1)(k1?k2) y?(k1b2?k2b1)(k1?k2) (3-3) 6. Vect_ midshoot2(dbROBOTPOSTURE*Robot, BallInformation &ball, dbPOINT Target ,dbLRWheelVelocity *pSpeed) 函数功能:传入参数Robot,ball,Target的实时信息值可算出并返回机器人的运动目标点N的坐标值和机器人左右轮速度。
本文设计了另一个关于切入圆算法的射门函数,球点B、射门目标点T(对方球门的中点)和机器人点R,连接TB直线,在TB延长线上确定一点M,使MB长为L,以M为切点,以R为半径作圆,此圆即为机器人进
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库足球机器人的决策子系统研究及其MATLAB仿真-精品(6)在线全文阅读。
相关推荐: