1、智能足球机器人系统智能足球机器人系统2022-8-31第7章 智能小型足球机器人系统的仿真研究平台陈万米 张冰 朱明 等上海大学大学生科技创新实验中心上海大学大学生科技创新实验中心上海上海,200072,wanmic,200072,com 2009.82009.8第一部分 智能小型足球机器人系统 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台目录 2022-8-327.1 路径规划仿真平台7.2 利用OpenGL构建3D智能足球机器人系统仿真平台7.3 碰撞检测7.4 机器人运动建模7.5 交互式设计7.6 仿真平台应用7.7 3D仿真平台演示 第第7
2、 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台2022-8-33平台的搭建平台的搭建 VC+6.0开发环境 判断鼠标点选位置:设置控制模式(自由模式、防守模式、队列模式)、选定机器人、设置跑位点 信息显示 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台仿真平台运行机制仿真平台运行机制 2022-8-34 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台多机器人队形防守多机器人队形防守 2022-8-35防守队形函数encircle()encircle(vector pTarge
3、t,vector pHold,bool door)vector:仿真平台定义的矢量类pTarget:防守对象pHold:需要保护对象的原点方向,即防守队形的中线door:边界控制标志 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台防守对象3号机器人距离己方球门较近时2022-8-36encircle(己方球门线中点,Vector Player3._Pos,true)4号机器人为守门员,0、1、2号机器人参与防守,3号机器人为防守对象(假想敌)。各机器人的运动轨迹分别用不同的色线表示。0-2号3个机器人以己方球门为圆心形成扇形队形,并根据防守对象(3号机
4、器人)做扇形位移 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台防守对象3号机器人距离己方球门有一定距离2022-8-37encircle(Vector Player3._Pos,己方球门线中点,false)当距离己方球门较远时,0-2号3个机器人以3号机器人为圆心形成扇形队形 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台防守对象3号机器人距离己方球门已经较远2022-8-38encircle(Vector Player3._Pos,己方球门线中点,false)当距离己方球门更远一些时,1号机器人战术后撤,0
5、、2号机器人仍以3号机器人为圆心作扇形防守 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台多机器人圆形队列算法多机器人圆形队列算法 2022-8-39谭民多机器人系统算法分为三步实现 基本跑位:BasicRun()、多边形边长调节:AngleAdjust()多边形内角调节:DistanceAdjust()步骤的跳转控制定义机器人当前位置与其目标点之间的距离控制可容误差 实现切换 niDespiPlayerPosiPlayeridist,1_._.errordesiredidist_ 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人
6、系统的仿真研究平台圆形队列算法演示2022-8-310 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台从仿真平台到决策子系统从仿真平台到决策子系统2022-8-311仿真平台是封闭运行的,决策子系统的信息渠道不是封闭的,它是整个智能机器人足球系统的一个环节 决策子系统接受的信息来自于视觉子系统在系统的开始部分,决策子系统主机通过Windows Sockets获取视觉子系统主机提供的场上信息决策子系统计算出的控制指令通过计算机的com口发送给机器人决策子系统中,控制指令作为决策计算部分和com通信部分的公共数据决策子系统每一周期对公共数据池中的控制指令作
7、更新com通信部分每一周期从公共数据池中读取控制指令发送给机器人 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台2022-8-312OpenGL技术技术OpenGL的特点:硬件无关性 建模方便 出色的编程特性OpenGL在Windows环境下的工作过程 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台仿真仿真平台平台3D3D建模建模2022-8-313 薄板型长方六面体:球门挡板,比赛场地 长圆柱体:球门柱,机器人 球体:比赛用球 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研
8、究平台 2022-8-314碰撞检测碰撞检测的目的是及时检测到碰撞并报告碰撞响应碰撞发生后,根据碰撞点和其他参数使发生碰撞的对象做出正确的动作,更新绘制结果按时间域角度分类 静态碰撞检测算法离散碰撞检测算法连续碰撞检测算法按空间域角度分类 基于实体空间的碰撞检测算法基于图像空间的碰撞检测算法 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台碰撞检测在仿真平台中的应用碰撞检测在仿真平台中的应用 2022-8-315F180_Simu仿真平台规则几何图形建模,结构简单虚拟场景内的物体处于高速运动状态,在连续的时间点上都需进行碰撞检测计算仿真平台利用射线追踪算
9、法进行碰撞检测和碰撞响应计算碰撞检测单元 质点与平面的碰撞检测算法球与场地、球与球门板、球与机器人顶部的碰撞检测 质点与圆柱面的碰撞检测算法球与球门柱、球与机器人侧面的碰撞检测 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台运动的质点与平面的碰撞检测运动的质点与平面的碰撞检测 2022-8-316通过一点及一条经过该点且垂直于该平面的法线就定义了一个平面 :平面上的一个点 :平面的法线 :坐标系的原点到法线平面的距离dmalPlane._NoritionPlane._PositionPlane._PosmalPlane._Nord 第第7 7章章 智能
10、小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台质点运动矢量方程2022-8-317定义质点运动矢量方程 将质点的运动视为一条由矢量描述的光线,包含:一个起点(质点的当前位置),一个描述光线通过方向的矢量(质点的运动方向)t=0时为起始点位置,t为其它值时获得光线所经路线上的其他相应位置如果一条光线与一个平面相交,那么光线上必定有点满足平面公式计算得t将t代入 即可求出撞击点特殊情况 d=0:光线和平面是平行的,不会有撞击点t0:撞击点在光线起始点的后面,即沿光线后退的方向撞击到平面,因此光线和平面没有交点onRaydirectitRaystartPointOnRayonR
11、aydirectimalPlane._NorRaystartitionPlane._PosmalPlane._NortdPointOnRaymalPlane._NoronRaydirectitRaystartPointOnRay 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台运动的质点与圆柱面的碰撞检测运动的质点与圆柱面的碰撞检测 2022-8-318对圆柱面的描述类似于光线:有一个起点、一个描述圆柱面轴的方向的矢量以及一个半径 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台2022-8-319n为两矢量的单位
12、化矢量积,如果n=0,即球的运动方向与圆柱面的轴方向平行,不存在碰撞的可能性;如果n0,计算d=|RCn|,若d小于圆柱面的半径,则存在碰撞的可能性PositionCylinder._tionBall._PosiRCAxisCylinder._ctionBall._DireUnitn 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台2022-8-320为求出碰撞点,须计算图中所示的两个关键变量t和sAxisCylinder._RCVAxisCylinder._RCRCVwithsinAxisCylinder._ctionBall._Direwith nV
13、tsin dRadiusCylinder._ssin22 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台求得t和s后,讨论四种碰撞情况2022-8-321t-s0,t+s0:质点位于圆柱面外,运动方向远离圆柱面,碰撞检测不成立t-s0,t0:质点位于圆柱面内,碰撞检测成立,碰撞点P1=t+st-s0,t0:质点位于圆柱面内,碰撞检测成立,碰撞点P2=t+s t-s0,t+s0,t0:质点位于圆柱面外,运动方向接近圆柱面,碰撞检测成立,碰撞点P1=t-s仿真平台中,球从外部撞击机器人,即碰撞情况4 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能
14、小型足球机器人系统的仿真研究平台从质点碰撞到球体碰撞2022-8-322为实现球体表面与平面或圆柱体表面的碰撞效果,将平面或圆柱体的表面沿法线方向偏移,原始图元由实线表示。这样碰撞将发生在球心与虚线表面的交点处,即在发生了偏移的表面和半径更大的圆柱面上进行碰撞检测。当球心发生碰撞时,就不会发生球穿进平面的情况,从而实现真实的碰撞效果 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台碰撞响应碰撞响应 2022-8-323物体在撞击点按照撞击点的法线发生镜面反射Vin:撞击发生前的速度单位矢量;N是撞击点的法线单位矢量;Vout:是撞击后的速度方向矢量将Vo
15、ut归一化后再乘上撞击前的速度矢量长度,就能获得正确的反弹后的运动矢量。为模拟真实的撞击运动,每次撞击还将消耗一部分能量ininoutVNNVV 2 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台2022-8-324定义初始速度的大小:定义归一化初始速度:单位速度撞击后的结果 最终得到的速度,其中k为损耗系数 V MagoldoldnewV UnitVnewnewnewVVNN UnitV2kMag VVnewnew 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台2022-8-325路径规划仿真系统采用人工势场
16、法作为基本的机器人路径规划方法踢、挑球以及带球功能仿真在机器人圆柱体表面设置一块区域作为控球区 动量正阈值E表征了机器人的控球能力处于控球状态的机器人收到踢球或者挑球命令时,给予球一个适当的速度矢量 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台 2022-8-326场景平移与视点转换 OpenGL的平移命令GLTRANSLATEF()实现场景的3D平移使用虚拟球模型实现鼠标对世界模型的旋转 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台可动对象的选取和互动2022-8-327利用OpenGL的拾取机制可在窗口
17、的选定区域内选取绘制的物体:在绘制每个备选物体前,都给它们分配一个适当的名字,当鼠标在屏幕上点选到相应对象时,拾取机制便会返回已定义的对象名鼠标实现三维场景中的坐标拾取 捕获鼠标的二维屏幕坐标值 根据捕获的坐标值用glReadPixels()函数获取屏幕上该坐标值对应的象素的深度坐标z 用gluUnProject()函数将屏幕三维坐标映射为世界三维坐标 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台2022-8-328比赛重演以及数据分析将图像子系统记录的比赛数据导入仿真平台,可以精确、生动地再现比赛的全过程 可从多角度观察并分析比赛中的某个场景仿真调
18、试功能裁判盒:在控制面板上整合了小型组机器人足球比赛中的裁判盒消息,方便决策调试并可以进行模拟比赛战术场景调试:包含了一系列可扩充和修改的战术场景。不同的应对策略以及参数设置往往会有不同的模拟结果。对特殊场景进行反复针对性调试,直到获得令人满意的结果实时参数修改:在控制面板上实现对引力系数、斥力系数、有效避障范围、机器人控球能力、踢挑球力度等参数的在线修改信息显示:可以显示场景中包括机器人和球在内的各种状态数据信息以及各种调试者操作信息 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台2022-8-329 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台2022-8-330 第第7 7章章 智能小型足球机器人系统的仿真研究平台智能小型足球机器人系统的仿真研究平台思考题思考题2022-8-3311.为什么要建立智能足球机器人系统的仿真平台?2.智能足球机器人系统的仿真平台如何建立?3.智能足球机器人系统的仿真平台可实现哪些方面的调试?4.在智能足球机器人系统的仿真平台中是如何解决碰撞问题的?5.智能足球机器人系统的仿真平台的扩展功能有哪些?