基于OpenGL的小型组机器人足球仿真平台设计

合集下载

机械设计制造及自动化毕业设计_基于OpenGL的机器人三维仿真环境设计

机械设计制造及自动化毕业设计_基于OpenGL的机器人三维仿真环境设计

SHANGHAI UNIVERSITY毕业设计(论文)UNDERGRADUATE PROJECT (THESIS)题目:基于OpenGL的机器人三维仿真环境设计学院: 机电工程与自动化学院专业: 机械工程及自动化学号:学生姓名:指导教师:起讫日期:目录摘要:-----------------------------------------------------------------------------------------------------1 ABSTRACT-------------------------------------------------------------------------------------------------1 1第一章绪论------------------------------------------------------------------------------------------4 2第二章基于OpenGL的三维仿真图形设计---------------------------------------------------8 3第三章仿人机器人的三维建模-----------------------------------------------------------------19 4第四章仿人机器人运动学仿真-----------------------------------------------------------------29 5第五章总结-----------------------------------------------------------------------------------------466 致谢---------------------------------------------------------------------------------------------------477 参考文献---------------------------------------------------------------------------------------------48基于OpenGL的机器人三维仿真环境设计摘要仿真技术是机器人研究领域中的一个重要部分,随着机器人研究的不断深入,机器人仿真系统作为机器人设计和研究过程中安全可靠灵活方便的工具,发挥着越来越重要的作用。

RoboCup 机器人足球仿真比赛开发设计

RoboCup 机器人足球仿真比赛开发设计

RoboCup机器人足球仿真比赛开发设计* 郭叶军熊蓉吴铁军(浙江大学控制科学与工程学系工业控制技术国家重点实验室杭州 310027)E-mail: yjguo@摘要:机器人世界杯足球锦标赛(The Robot World Cup),简称RoboCup,通过提供一个标准任务来促进分布式人工智能、智能机器人技术及其相关领域的研究与发展。

本文在介绍RoboCup仿真环境的基础上,系统完整地介绍了客户端程序的开发设计流程,阐述了其中涉及到的一些主要问题和算法,最后简要综述目前国际上的典型高层算法结构。

关键词: RoboCup 机器人足球比赛多智能体系统随着计算机技术的发展,分布式人工智能中多智能体系统(MAS:Multi-agent System)的理论及应用研究已经成为人工智能研究的热点。

RoboCup1则是人工智能和机器人技术的一个集中体现,被认为是继深蓝战胜人类国际象棋冠军卡斯帕洛夫后的又一里程碑式挑战,目标是到2050年完全类人的机器人足球队能够战胜当时的人类足球冠军队伍。

RoboCup包括多种比赛方式,主要分为软件仿真比赛和实物系列的机器人足球比赛。

由于软件仿真比赛无需考虑实际的硬件复杂性,避免硬件实现的不足,可以集中于研究多智能体合作与对抗问题,因此,目前参加仿真组比赛的队伍数目最多。

本文的内容涉及RoboCup仿真比赛,系统地介绍了client程序开发设计完整流程,可以作为是开发完整的RoboCup仿真程序的入门指南。

1.RoboCup仿真比赛介绍2 RoboCup仿真比赛提供了一个完全分布式控制、实时异步多智能体的环境,通过这个平台,测试各种理论、算法和Agent体系结构,在实时异步、有噪声的对抗环境下,研究多智能体间的合作和对抗问题。

仿真比赛在一个标准的计算机环境内进行,采用Client/Server 方式,由RoboCup联合会提供Server系统rcsoccersim(版本8之前名为soccerserver),参赛队编写各自的客户端程序,模拟实际足球队员进行比赛。

基于OpenGL的三维建筑设计组件的设计与实现

基于OpenGL的三维建筑设计组件的设计与实现

算 法, 实现 了基 于 Opn e GL的支特 三 堆虚 拟场景、 建模和运动 仿真的组件设计 , 述 了妾体的运动层次犍接 关 系和数 描
据 鲒掬 . 实 现 了虚拟 环 境 的 建 兢 物 建模 和运 动 仿 真 . 井 关 键 词 : eG Opn L} 件 ;软 件复 用 }三 维 交 互 组 中 围分 类 号 t P 9 . l 3 1 4 T 文 棘 标 识 码 A
APl

的工 作量 大大降低 . 而且对 于三维场景 中物体 的过程运 动便
于控 制 和 管 理 , 以在 不 同 的集 成开 发 环 境 中重 复 利 用 . 可
2 O eG p n L与组 件技 术
2- O p nG L 1 e
图 1 利 用 组 件 构造 应 用 软 件的 过 程
维普资讯
第2 3卷 第 6期 20 0 2年 6月
文 章 螭 号 :0 0l 2 (0 2 0 —7 60 1 0一2 0 2 0 ) 60 6—3
小 型 微 型 计 算 机 系 统
MI —MI NI CRO S TEM YS
V0 . 3 1 2 No 6 .
开发工具时要着重考虑两个问题 : 如何创建组 件库?② 组 ①
件 的程 序 形 式 是 什 么 ? 组 件 来 源 于对 问题 域 ( o i ) 抽象 . 井 不 是 任 意 一 D ma 的 n 但
的3 D应用程 序采 用 Opn L作为支撑库 . p n eG O eGL提供 了数 百个库 函数 . 可方便地 绘制具有真实感 的 3 D图形 但是在开
J n 0 2 u e 2 0
基 于 Op n e GL的 三 维 建 筑 设 计 组件 的 设计 与 实现

基于Coppeliasim与MATLAB的机器人建模与运动仿真

基于Coppeliasim与MATLAB的机器人建模与运动仿真
根据以上 !2@参数表确定并写出络石机器人 F^1 的 总变换矩阵% 方法如下!
绕 #$ 轴旋转 $5$ "使得 %$ 和 %$5$ 互相平行"因为 !$ 和 !!5都是垂直于 #$ 轴"因此绕 #$ 旋转 $5$ 使它们平行' 并 且共面( % 绕 #$ 轴平移 "$5$ "使得 %$ 和 %$5$ 共线"因为 %$ 和 %$5$ 都是平行并且垂直于 #$ 轴"沿着 #$ 移动则可以使 它们重叠在一起% 绕 %$ 轴平移 "$5$ "使得 %$ 和 %$5$ 的原 点坐标相同% #$ 围绕 %$5$ 旋转 !$5$ "使得 #$ 轴和 #$5$ 轴处 在同一条线上"使得变换前后的坐标系完全重合% 通过上 述变换步骤"得到准确的坐标系变换,$$- %
',O7< J4P0?490?< 02>79R0?S7E@059?01-<D978-/75<456L5D9=9;9702M;90849=05@/=57D7M.4E78< 02-.=75.7D J=405=56-/75<456!&&%%&(
$,L5D9=9;9702T0P09=.D 45EL59711=6759345;24.9;?=56L550H49=05@/=57D7M.4E78< 02-.=75.7D J=405=56-/75<456&&%&(+
,HE$
h
E/-$
% %
lE/-$ ,HE$ ,HE$ ,HE$
E/-$ %
E/-$ E/-$ l,HE$ E/-$
,HE$ %
!$ '()$ !$ E/-$

FIRA机器人足球仿真策略技术报告

FIRA机器人足球仿真策略技术报告

•引言•FIRA机器人足球仿真系统概述•机器人足球策略技术研究•仿真实验及结果分析•FIRA机器人足球仿真策略优化建议目•结论与展望•参考文献录Fira是一个机器人足球比赛的仿真平台,用于模拟和测试各种足球策略技术。

随着人工智能和机器人技术的快速发展,Fira成为了研究和学习机器人足球策略的重要工具。

背景介绍VS研究目的与意义目的意义研究内容与方法研究内容本报告将介绍Fira机器人足球仿真平台的基本原理和各种策略技术,包括进攻、防守、传球、射门等。

方法本研究将采用理论分析和实验验证相结合的方法,对Fira机器人足球仿真平台中的各种策略技术进行深入研究和测试。

FIRA机器人足球仿真系统简介FIRA机器人足球仿真系统架构2. 机器人模拟1. 比赛场景模拟4. 数据收集与分析3. 比赛规则模拟该部分主要负责模拟机器人足球比赛的规则,包括比赛时间、犯规判FIRA机器人足球仿真关键技术1. 3D图形渲染使用3D图形技术渲染比赛场景和机器人模型,以提供更加真实的视觉体验。

2. 物理引擎使用物理引擎模拟机器人的运动和碰撞,以提供更加真实的比赛效果。

3. 人工智能算法使用人工智能算法模拟机器人的决策和行为,以提供更加智能的机器人行为。

4. 机器学习技术使用机器学习技术自动化调整策略和算法,以提供更加高效的比赛表现。

进攻策略研究030201防守策略研究人盯人防守区域盯人防守全场紧逼通过短传和跑动,将球带向对方球门。

短传控球通过长传将球转移到对方防线的弱点,寻找进攻机会。

长传转移利用盘带技巧,突破对方防线,制造进攻机会。

盘带突破控球策略研究实验设定与条件仿真环境Fira机器人足球仿真环境,包括球场、机器人模型、物理引擎等。

机器人模型基于开源机器人模型进行修改,具有高度逼真度和精细的运动学性能。

传感器与感知采用红外传感器和超声传感器,获取球场信息,实现目标识别和定位。

通信与决策基于Zigbee无线通信技术,实现机器人之间的信息交互和协同决策。

编程进行时——虚拟机器人之循迹足球

编程进行时——虚拟机器人之循迹足球
教学目標
知识与技能:了解各种传感器的用途和安装方法,重点掌握灰度传感器的安装与编程。
过程与方法:理解If判断和While循环语句,熟悉虚拟机器人项目步骤完成的过程。
情感态度与价值观:通过设计流程图、编写程序,提高思维能力,增强对编程的信心和兴趣。
教学过程
一、任务导入,自主尝试
师:我们已学习了虚拟机器人的简单编程,那么这节课我们继续学习新手任务——循迹足球。
师:下面大家尝试自己动手进行搭建,看看如何安装灰度传感器最好。(学生开始动手操作)
师:很多同学已经完成了灰度传感器的安装,我们一起来分析一下哪个安装位置更好、更合理。我们发现安装在小车的前面,并且左右2个最合理,宽度应该大于线的宽度就可以。那么下面将自己的机器人改进一下,尝试为传感器编写程序,让我们的小车循线走。(学生改进机器人,尝试编程)
教师打开代码界面,为学生讲解代码中的If判断结构和While循环结构(如图8)。
学生讨论,回答问题。
图8
四、课程小结
学生演示最终任务完成情况。教师:本节课我们学习了灰度传感器的使用方法,同时对循环和判断语句的概念进行了了解。While循环和If判断是编程中的重点内容,那么这两者之间如何更好地运用,简化我们的程序?我们下节课继续学习。
师:我发现有的小组讨论得很激烈,遇到什么问题了吗?生:小车走一点就不动了,原地转圈。师:那你们都采取了什么方法?生:添加延时,但是不能完成任务。师:大家看一下,控制模块中的哪个指令可以帮助你们?学生查找,并回答:永久循环。教师讲解While循环的作用和操作过程。(如图7)
图7
学生操作,并完成任务。
4.查看代码界面,分析代码
二、师生讨论,小组合作
活动一:传感器大比拼。
师:大家知道都有哪些传感器?在哪个模块中能找到传感器?比一比,哪个小组完成得最全最准确。请大家思考,哪种传感器可以用来帮助机器人循线走?(学生讨论交流完成任务,教师巡视,进行指导)

RoboCup小型机器人仿真系统

RoboCup小型机器人仿真系统

收稿日期:2005-01-24 第23卷 第4期计 算 机 仿 真2006年4月 文章编号:1006-9348(2006)04-0128-04RoboCup 小型机器人仿真系统孙鹏,陈小平(中国科学技术大学计算机科学与技术系,安徽合肥230027)摘要:通过对机器人硬件进行仿真,可以有效地提高控制软件的开发效率,并降低硬件的损耗。

该文实现了一个RoboCup 小型机器人仿真系统,该系统的仿真对象是机器人足球比赛中的所有硬件要素,包括机器人的运动学特性、击球和带球装置、视觉系统的噪声和盲区、以及无线通讯系统的延迟等。

该文还分析了真实系统中各仿真对象的物理特性及其实现难点,给出了仿真系统的软件架构和接口定义,描述了各仿真功能的具体实现。

通过分析仿真结果表明此系统达到了比较理想的效果,可以为其它相似系统提供有益的参考。

关键词:计算机仿真;多机器人系统;机器人足球中图分类号:TP242 文献标识码:ARoboCup Sma ll S i ze Robot S i m ul a ti on SystemS UN Peng,CHEN Xiao -Ping(Dep t .Computer Sci .&Tech .,University of Sci .&Tech .of China,Hefei Anhui,230027,China )ABSTRACT:A si m ulati on syste m of r obot hard ware can s peed up the devel opment of contr ol s oft w are and reduce hard ware l oss .This paper p resents a si m ulati on syste m of RoboCup s mall size r obot .It is designed t o si m ulate allhard ware parts of the game,such as dyna m ic model of the r obot,kicking and dribbling device,noise and blind area of the visi on syste m,and latency of the wireless syste m,etc .This paper als o discusses the physical feature of each real part,s oft w are architecture,interface definiti on and i m p le mentati on of each functi on .Result shows that it has very good perf or mance and can offer reference for other si m ilar syste m s .KE YWO R D S:Computer si m ulati on;M ulti -r obot syste m;Robot s occer1 引言RoboCup [1]机器人足球是人工智能与自主机器人研究的一个新领域。

机器人足球开发入门指南(FIRA 5 vs 5 仿真)

机器人足球开发入门指南(FIRA 5 vs 5 仿真)

目录第一章、5V5仿真组(Middle Simurosot)介绍Fira Simurosot Game1.1仿真型机器人足球介绍1.2仿真系统基本结构1.3仿真平台及系统特点1.4运行环境和开发工具1.5仿真平台的使用介绍第二章、仿真平台与策略关系及其运动策略开发指南2.1 什么是策略程序2.2 仿真平台与策略的运行关系2.3 仿真平台场地数据2.4 接口代码解析2.5 程序开发流程2.6 动作函数介绍2.7 在策略中调用动作的基本方法2.8 简单策略开发2.9 各种定位球第三章、比赛规则3.1 名词解释3.2 比赛规则3.3 犯规与处罚3.4 裁判3.5 环境3.6 其他第一章5V5仿真组(Middle League Simurosot)介绍FIRA SimuroSot Game1.1仿真型机器人足球介绍仿真型机器人足球(SimuroSot)SimuroSot 是一种仿真的软件系统,在该项比赛中,参赛的每个机器人不是实际的机器人,而是用计算机模拟的虚拟机器人,它主要研究比赛策略,以软件为主,忽略机器人的硬件相关的需求。

比赛中,我们仅关注的好似软件部分,主要研究用软件来实现既定的策略,完成给定的程序逻辑,主体的程序对语言要求很低,主要是要求拥有清晰的逻辑和编程思想。

换言之,SimuroSot 类型的比赛是智力与智力的碰撞。

1.2仿真系统基本结构仿真系统是有FIRA 提供的仿真程序,这个程序通过DLL(动态连接库)接收双方策略,决策系统由各队提供自己的DLL程序。

场上的数据由仿真程序计算给出,DLL接收处理并将要发给机器人的命令传给仿真程序。

1.3仿真平台及系统特点开发者:澳大利亚的Dr.Jun Jo 领导的Griffith大学信息技术学院RSS开发小组系统特点:1.机器人模型:Y ujin机器人的物理模型2.模拟精确:碰撞检测完全,碰撞处理精确(采用商业游戏引擎公司Havok的碰撞处理引擎)3.界面:3维(采用Direct设计界面,3D Max模型)1.4运行环境和开发工具仿真系统:3D Robot Soccer Simulator 1.5a编程语言:C/C++开发环境:MS Visual C++ 6.0 / MS VS2003模板:使用仿真系统提供的源程序模板程序模板说明:程序使用动态连接库(DLL)方式硬件需求:Pentiun III 600 MHz或其以上级别的显示卡256M系统内存具有32M以上显存的TNT2或其以上级别的显示卡能够支持800×600以上分辨率的显示器软件需求:Windows98或以上版本的操作系统DirectX 8.0或以上的版本1.5仿真平台的使用介绍1.5.1运行程序的方法1.先将自己编写好的代码编译成dll文件,黄队程序拷到C:\strategy\yellow,蓝队程序拷到C:\strategy\blue。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第20卷第3期系统仿真学报©V ol. 20 No. 3 2008年2月Journal of System Simulation Feb., 2008基于OpenGL的小型组机器人足球仿真平台设计张冰1,陈万米1,2,梁亮1,魏延钦1(1.上海大学机电工程与自动化学院, 上海 200072; 2.上海市电站自动化技术重点实验室, 上海 200072)摘要:机器人足球是人工智能与机器人领域的基础研究课题。

实现了基于OpenGL的小型组机器人足球仿真平台,并对其中的关键技术进行了讨论。

仿真平台建模简单、直观,使用射线追踪算法很好地实现了世界模型的碰撞检测,对机器人的运动以及控球性能也作了精确的模拟,并实现了多种人机交互功能。

三维仿真平台的应用能更好地协助实物机器人足球系统的先期调试,也为实际比赛后的数据分析提供了有利的工具。

关键词:机器人足球;OpenGL;仿真平台;碰撞检测中图分类号:TP391.9 文献标识码:A 文章编号:1004-731X (2008) 03-0724-05 Design of Simulation Platform for RoboCup Small Size LeagueBased on OpenGLZHANG Bing1, CHEN Wan-mi1,2, LIANG Liang1, WEI Yan-qin1(1. School of Mechanical Engineering & Automation, Shanghai University, Shanghai 200072, China;2. Shanghai Key Laboratory of Power Station Automation Technology, Shanghai 200072, China)Abstract: RoboCup is the basic research subject in the field of artificial intelligence and robotics. A simulation platform for RoboCup Small Size League was established based on OpenGL and some related key technologies were discussed, includinga simple modeling method, the ray tracing technique for collision detection, a precise simulation of the robot’s motion, andmanifold user interaction functions. The 3D simulation system helped a lot during early research process of the real robot soccer system, and it was also employed for game data analysis after a real match.Key words: RoboCup; OpenGL; simulation platform; collision detection引言机器人足球比赛是融机器人学、人工智能、模式识别、图象处理、自动控制、通讯、传感等多门学科的高技术对抗活动。

它是一个很好的研究多机器人合作与多智能体系统的实验载体。

机器人足球实物组硬件平台本身的诸多局限性使得很多相关的研究、分析、调试工作很难在硬件平台上顺利实施,因此仿真平台的建立是必须的。

同系统实验方法相比,系统仿真更快捷、更经济,也更易于实施,仿真实验的可重复性也大大方便了分析工作[1]。

针对实物组机器人比赛平台的仿真工作已经完成很多,但是已完成的方案中绝大多数只能作基于二维平面的仿真与数据处理[2,3]。

在近几年的RoboCup 比赛中,小型组足球机器人挑球装置的引入使比赛过程不再局限于二维平面,而是扩展到了三维空间。

显然,二维仿真平台已经无法适应对当前机器人足球系统的真实仿真。

OpenGL是开发多机器人三维仿真平台的有利工具。

文献[4]实现了可重构星球探测机器人系统三维仿真平台,为课题的深入研究提供了有力的支持。

小型组机器人足球仿真平收稿日期:2007-03-26 修回日期:2007-06-17基金项目:上海市重点学科建设项目 (T0103); 上海市教委发展基金资助项目 (04AB65).作者简介:张冰(1982-), 男, 上海人, 硕士生,研究方向为人工智能, 多智能体, 多机器人协调等;陈万米(1967-), 男, 浙江人, 高级工程师, 研究方向为智能机器人, 控制理论与控制工程等。

台“F180_Simu”系统也是基于OpenGL开发,在三维空间建立了机器人足球系统的世界模型,包括动画设计以及机器人、足球的运动模型和碰撞模型,并融入决策与战术的设计,逼真地模拟了5对5 RoboCup小型组机器人足球比赛。

仿真平台不但为决策系统的研究提供了有效手段,而且也可作为机器人足球比赛的效果演示。

1 仿真平台三维实体建模设计仿真平台动画界面如图1,其中静止对象:比赛场地,球门;可动对象:足球机器人、球。

图1 仿真平台动画界面比赛场地采用薄板型长方体建模,基于3D坐标的(x,z)平面。

根据RoboCup小型组机器人足球比赛规则,比赛场地为绿色,长宽分别为4900mm和3400mm,场地边缘各留有宽2008年2月 张 冰, 等:基于OpenGL 的小型组机器人足球仿真平台设计 Feb., 200830mm 的区域。

球门挡板也采用薄板型长方体建模,一方为黄色,一方为蓝色。

球门柱采用长圆柱体建模。

每队由五个机器人组成,双方机器人顶盖中央分别有黄色和蓝色的队标,同一队的机器人通过队标周围不同的色标排列方式区分。

机器人的体积必须限制在底面直径为180mm ,高为150mm (全局视觉)的圆柱体内,机器人的建模采用符合以上限制尺寸的圆柱体。

比赛用球采用直径40mm 的球体建模。

2 碰撞检测碰撞检测就是检测虚拟场景中不同对象之间是否发生了碰撞,涉及碰撞检测和碰撞响应两部分内容。

仿真系统的碰撞检测单元包括:球与场地的碰撞检测;球与机器人的碰撞检测;球与球门板的碰撞检测;球与球门柱的碰撞检测。

对于机器人之间以及机器人与球门的碰撞,可以通过机器人的路径规划算法来避免。

F180_Simu 仿真系统应用射线追踪算法进行碰撞检测计算。

运动的质点与平面的碰撞检测[5]:通过一个点以及一条经过该点且垂直于该平面的法线就可以定义一个平面:d mal Plane._Nor ition Plane._Pos =⋅ition Plane._Pos 是矢量,表示平面上的一个点;mal Plane._Nor 也是矢量,表示平面的法线;d 是两矢量的数量积,表示坐标系的原点到法线平面的距离。

将质点的运动视为一条由矢量描述的光线: on Raydirecti t Raystart PointOnRay ⋅+=t 取值从0到无穷大。

0=t 时获得起始点的位置,t 为其它值时获得在光线所经过路线上的其他相应位置。

如果一条光线与一个平面相交,那么光线上必定有点满足平面公式:d PointOnRay mal Plane._Nor =⋅计算得到参数t : (())()Plane._Normal Plane._Position Raystart t Plane._Normal Raydirection ⋅−=⋅t 是从光线起点沿着光线的方向到平面的距离,将t 代入光线公式即可算出撞击点。

还有几个特殊情况:0=d ,表明光线和平面是平行的,不会有撞击点;t 是负数,表明撞击点在光线起始点的后面,即沿光线后退的方向撞击到平面,光线和平面没有交点。

运动的质点与圆柱面的碰撞检测[5]:圆柱面的描述如图2所示,有一个起点、一个描述圆柱面轴的方向的矢量以及一个半径。

ction Ball._Dire 和Axis Cylinder._都是归一化后的单位向量。

图3是圆柱面碰撞检测计算的多角度示意图,为求出碰撞点,必须计算图3(b)所示的两个关键变量t 和s 。

Position Cylinder._tion Ball._Posi RC −= ()n Unit Ball._Direction Cylinder._Axis =×n 为两矢量的单位化矢量积,如果0=n ,即ction Ball._Dire 与Axis Cylinder._平行,不存在碰撞的可能性;如果0≠n ,图2 圆柱面与质点球n(a) 示意图1(b) 示意图2(c) 示意图3 图3 圆柱面碰撞检测计算n RC d ⋅=,若d 小于圆柱面的半径Radius Cylinder._,则存在碰撞的可能性。

Axis Cylinder._RC V ×=sin()with V RC RC Cylinder._Axis =⋅Axis Cylinder._ction Ball._Dire θwith = ()sin()V n t θ−⋅=2008年2月 系统 仿 真 学 报 Feb., 2008s 计算出t 和s 后,在图4所示的四类碰撞情况下,分别讨论碰撞检测结果并在碰撞检测成立的情况下求出撞击点。

图4中的箭头方向表示质点的运动方向。

(a) 碰撞情况1 (b) 碰撞情况2(c) 碰撞情况3 (d) 碰撞情况4图4 四类碰撞情况图4(a):0<−s t ,0<+s t ,质点位于圆柱面外,运动方向远离圆柱面,碰撞检测不成立;图4(b):0<−s t ,0>+s t ,0<t ,质点位于圆柱面内,碰撞检测成立,碰撞点1P t s =+;图4(c):0<−s t ,0>+s t ,0>t ,质点位于圆柱面内,碰撞检测成立,碰撞点2P t s =+;图4(d):0>−s t ,0>+s t ,质点位于圆柱面外,运动方向接近圆柱面,碰撞检测成立,碰撞点1P t s =−。

为实现球体表面与平面或圆柱体表面的碰撞效果,将平面或圆柱体的表面沿法线方向偏移,如图5(a)中虚线所示,原始图元由实线表示。

这样碰撞将发生在球心与虚线表面的交点处,即在发生了偏移的表面和半径更大的圆柱面上进行碰撞检测,就不会发生图5(b)中球穿进平面的情况,从而实现真实的碰撞效果。

(a) 修正后图元的实现效果 (b) 原始图元的实现效果图5 碰撞检测实现效果球与场地、球与球门板、球与机器人顶部的碰撞检测由质点与平面的碰撞检测算法实现;球与球门柱、球与机器人侧面的碰撞检测由质点与圆柱面的碰撞检测算法实现。

相关文档
最新文档