




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、校赛仿真2D第二次培训技术部分,向server发送得命令,在SoccerTypes.h里面得commandT有着向server发送得所有得命令种类 不是所有得命令都需要用到,大概有一半得指令不会涉及到,是关于代码得底层定位得,大家不用深究 最有用得命令型:CMD_DASH,CMD_TURN, CMD_TURNNECK, CMD_KICK, CMD_TACKLE等.,CMD_ILLEGAL,故名思意,是非法得命令,如 SoccerCommand soc(CMD_ILLEGAL); 那么这个soc就是一个空的命令,如果执行ACT-putCommandInQueue(soc); 那么代码会自行处理掉
2、这个soc,就好像没有运行过这句指令一样,下面解释一下关于ACT-putCommandInQueue(soc);,Soc就像前面定义得是一个命令 那么我们如何让agent(球员)运行这个命令呢,我们只要 ACT-putCommandInQueue(soc); 就可以了. (每一周期只能发送一个主命令,后面在具体说),CMD_DASH,这个命令是让球员能跑起来得核心命令 当一个球员发送dash100时,那么他就朝着身体朝向得到一个加速度,(具体参数看技术手册),然后得到相应得速度, 也就是说一直发送dash100得话球员会一直向着身体朝向向前跑 当一个球员发送dash-100时,那么他就朝着身体
3、朝向得反方向得到一个加速度,CMD_TURN,这个命令是用来转身得指令,但是注意了如果发CMD_TURN,180,并不是说是转身180度,他和自身相应得速度还有一定得关系 最大转身角度为180到-180,跑动:跑向一点,比如我们让球员跑向(0,0)点,可以用命令函数moveToPos(VecPosition(0,0),7.0) 实际上moveToPos这个函数就是组合了CMD_DASH和CMD_TURN而达到了跑动得目的. 大致就是先转向那个要跑得点然后dash,CMD_TURNNECK,这个命令是这次校赛和首届校赛得最大不同之处,因为现在是局部视觉,所以需要通过agent不断得转动脖子来尽量
4、多得看到有用得信息 首先说明一下CMD_TURNNECK和CMD_TURN得不同 CMD_TURNNECK是转动脖子朝向 CMD_TURN是转动身体朝向,这是两个不同得方向,主命令与复命令,CMD_TURNNECK这是讲到得第一个副命令 主命令一周期只能发一个,比如一个周期同时发送CMD_DASH和CMD_TURN的话,只会执行一个命令. 不同得复命令一周期可以发送多个,比如CMD_TURNNECK和CMD_SAY这两个可以在一周起同时发送,当我们发送CMD_TURN得命令时,如果不发送CMD_TURNNECK命令时,脖子朝向会和身体得转动而相应得转动 turnNeck还有其他得一些限制,如脖
5、子和身体的夹角不能大于90度等 关于turnNeck得使用可以看一下turnNeckToPoint这个函数,CMD_CHANGEVIEW,这个命令是改变视觉得角度得命令 由于这个命令得使用比较复杂,涉及到一些底层问题,所以我们已经在程序内部做了一定得处理(大家不用管) 视觉得模式是2次narrow(45度视角),一次normal(90度视角) 这是最好得视觉模式,大家不用改,只需要控制agent得脖子转向就可以了,CMD_CATCH,这是守门员的专门命令 Catch的范围是和守门员中心距离2米的一个圆,CMD_KICK,这个命令的目的就是发给球一个加速度 如果想要把球踢向(0,0),只要执行k
6、ickTo(VecPosition(0,0),2.7)就可以了,2.7指得是球到达(0,0)后想要的速度,CMD_MOVE,这是在开场前,以及守门员抓住球后可以发的瞬时移动得命令.,CMD_SAY,通讯时候用的命令,可以不用管,在通讯中已经做了处理,CMD_TACKLE,铲球命令 虽然在上一界校赛中没有人用过,但是是一个非常有用的命令,不过对于初期代码的开发帮助不大 具体的用法可以查技术手册,CMD_ATTENTIONTO,可以说是听谁的命令 只要会用listenTo命令就可以了 比如listenTo(一号队员),命令的介绍就到这里 其他命令可以不用管,没有帮助,带球方法介绍,UVA底层得带球
7、函数dribble Dirbble函数可以选择带球角度和带球方向,可以说是一个比较实际,好用的带球函数 Dribble主要思想就是向带球方向发送kick命令,然后再去截球,这就实现了带球. 当然这种带球方法完全没有考虑对手,其他带球思想介绍,人球一体 特点:每周期都可以选择发送kick或者dash命令,具体做法比较复杂,也没有最好的算法,有兴趣的可以找一下今年10月苏州robocup 2D我们ZJUBase的比赛录像,从中发现、学习点什么。,传球策略,传球动作实际上就是由kickTo这一函数来实现的,比如kickTo(我方一号的位置),那么表现就为传球给了一号球员 至于如何判断能否传这个球,有
8、很多的判断的方法,希望大家自己多研究,传球条件判断思路-截球周期差,传球队员假设以速度V给接球队员传球 接球队员截到球的周期为N 对方所有球员最快截到球的周期为M 如果NM的情况,尽管是不安全的,但是对于前场的情况可能也要传。,不论是带球,截球,传球,都是一系列kick,turn,dash命令得一个组合,不同得组合就可以得到截然不同得效果,通讯,通讯的程序在CommunicationSystem.h和CommunicationSystem.cpp中,具体用法见以后发布的文档,这里说明一下原理. 首先,每2个agent之间是不能私自进行通讯的,但是可以通过通讯的命令来使得agent之前可以有一定
9、的通讯. 通讯发送的是10个字符,每个字符有74种状态,我们需要对所要发送的内容先编码,接收者再解码,已达到通讯的目的,关于通讯得限制,信道的限制 1.听到的信息是延迟一周期 2.只能听到50米内的人说话 3.每个周期一个人只能说一句话,每个人也只能听到一句话 4.比如1号队员listenTo了2号队员,如果2号队员说话了,那么他能听到,如果2号没有说话,那么1号会听到其他说话队员中随机的一个 5.如果不发送listenTo,听到随机的一个,其他可能遇到得问题,关于confidence Confidence在当前周期看到时为1.0 当没有看到时Confidence每周期减0.01 比如getC
10、onfidence(OBJECT_BALL) =0.90,说明已经10周期没有看到球了,视觉的限制说明,视觉的得到是存在视觉误差的,如距离10米的人的视觉误差最大有1米 每次视觉的角度是不同的,现在的视觉模式是2次narrow(45度),一次normal(90度),只能看见在视角范围内的信息 20米内能看清所有人的号码 20米到40米号码可能看不清楚,但队名可以看清 40米以外一定看不见号码,且队名可能看不清楚 60米以外不能分辨敌友,比较重要的一些函数的简单说明,1。moveToPos这个函数就是移动到一点的函数 2。Intercept,就是截球的函数 3。kickTo,踢球的函数,无论是传球还是带球都可以用这个函数来实现 4。turnBodyToPoint把身体朝向转向一点 5。turnNeckToPoint把脖子朝向转向一点 6。Dribble,带球函数 7。SearchBall,找球函数,此过程脖子不要转动 (以上是在BasicPlayer.cpp中比较重要的函数,其他一些相关的函数可以自己研究),8。getGlobalPosition,得到位置的函数 9。getOffSideX得到越位线坐标的函数 10。getConfidence,得到一个球员可信度高低的函数 11。getStrategicPosition,得到基本策略点的函数 等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西师范大学《篮球》2023-2024学年第二学期期末试卷
- 池州学院《智能采油装备》2023-2024学年第二学期期末试卷
- 哈尔滨信息工程学院《人力资源开发与管理》2023-2024学年第二学期期末试卷
- 南京医科大学《铁路与轨道交通车站工程》2023-2024学年第二学期期末试卷
- 内江职业技术学院《Photoshop海报设计》2023-2024学年第二学期期末试卷
- 金肯职业技术学院《学前教育统计学》2023-2024学年第二学期期末试卷
- 广东女子职业技术学院《安装工程预算》2023-2024学年第二学期期末试卷
- 湖南农业大学《材料的腐蚀与防护》2023-2024学年第二学期期末试卷
- 新乡学院《人权法》2023-2024学年第二学期期末试卷
- 杭州万向职业技术学院《高级管理研究》2023-2024学年第二学期期末试卷
- 建筑力学(绪论)课件
- excel表格水池侧壁及底板配筋计算程序(自动版)
- DB1301∕T 369-2021 设施蔬菜有机肥替代化肥技术规程
- 商业写字楼运营费用
- 完整版:美制螺纹尺寸对照表(牙数、牙高、螺距、小径、中径外径、钻孔)
- FEMA:潜在的失效模式及影响分析解析课件
- 三腔二囊管的应用和护理--PPT课件 (3)
- 流体力学第二版蔡增基课件
- 英语书写模板
- 湖北省机关事业单位劳动合同制工人
- 云南省普通初中学生成长记录.doc
评论
0/150
提交评论