机器人足球实验报告15页

上传人:文库****9 文档编号:179785374 上传时间:2021-04-13 格式:DOC 页数:15 大小:1.35MB
返回 下载 相关 举报
机器人足球实验报告15页_第1页
第1页 / 共15页
机器人足球实验报告15页_第2页
第2页 / 共15页
机器人足球实验报告15页_第3页
第3页 / 共15页
机器人足球实验报告15页_第4页
第4页 / 共15页
机器人足球实验报告15页_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《机器人足球实验报告15页》由会员分享,可在线阅读,更多相关《机器人足球实验报告15页(15页珍藏版)》请在金锄头文库上搜索。

1、计 算 机 与 信 息 学 院机器人足球实验报告计算机科学与技术实验一一、实验目的掌握RoboCup仿真机器人足球比赛相关知识点,具体内容如下: (1)Linux操作系统的熟悉及了解其基本操作。(2)掌握Linux下如何进行C+编程,了解gcc编译器以及一些简单编辑工具,如:vi、emacs、gedit、Anjuta、Kdevelope等。(3)启动RoboCup仿真(2D)足球队的比赛。二、实验设备硬件环境:PC机软件环境:操作系统linux三、实验内容(1)掌握 Linux 一些常用的命令a)如何找到用户主目录的绝对路径名?在自己的系统上,用户主目录的绝对路径名是什么? pwd /home

2、/student(2)将当前工作目录从/home/UVA 转到/home/Tsinghua 需要使用什么命令?如何显示当前目录?cd /home/Tsinghua(3)如何在当前目录下建立子目录 RoboCup?mkdir Robcup(4)如何删除子目录 RoboCup?rmdir Robcup(5)如何查看当前目录下的内容?ls(6)如何将文件 start.sh 的权限设定为:start.sh 属于可读、可写、可执行?chmod 777 start.sh(7)如何将当前目录包括所有子目录全部做备份文件,备份文件名为 first.tar?tar xvf dir1 first.tar(8)如何

3、将目录/home 下每一个文件压缩成.gz 文件?tar -zcwf store.tar (9)如何把上例中每个压缩的文件解压,并列出详细的信息?tar xvf store.tarLs -lg实验二1、 实验目的(1)了解Demeer5的工作原理(2)学会对Demeer5进行简单的修改二、实验设备硬件环境:PC软件环境:Linux三、实验内容(1)如果可踢球就用最大力踢球 else if( WM-isBallKickable() / 如果球已知,而且当前球在我脚下(可踢) VecPosition pos=( PITCH_LENGTH/2.0,(-1 + 2*(WM-getCurrentCycl

4、e()%2) * 0.4 * SS-getGoalWidth() ); soc=kickTo(pos,SS-getBallSpeedMax(); ACT-putCommandInQueue( soc ); / 放入命令队列 ACT-putCommandInQueue( turnNeckToObject( OBJECT_BALL, soc );(2)如果球不可踢且我是队友中最快到达球的队员,则去截球 else if( WM-getFastestInSetTo( OBJECT_SET_TEAMMATES, OBJECT_BALL, &iTmp ) = WM-getAgentObjectType()

5、 & !WM-isDeadBallThem() )/ 如果球不在我的控制范围下,但是当前能最快抢到球的是我,那我就去执行抢球动作 Log.log( 100, I am fastest to ball; can get there in %d cycles, iTmp ); soc = intercept( false ); ACT-putCommandInQueue( soc ); ACT-putCommandInQueue( turnNeckToObject( OBJECT_BALL, soc );(3)其他情况按战略点跑位else if( posAgent.getDistanceTo(WM

6、-getStrategicPosition() 1.5 + fabs(posAgent.getX()-posBall.getX()/10.0) / 到了这里就是其他距离球相对远一点的人了,如果离自己的阵形点太远,就跑回 自己的阵形点去。 if(WM-getAgentStamina().getStamina()SS-getRecoverDecThr()*SS-getStaminaMax()+800) soc = moveToPos(WM-getStrategicPosition(),PS-getPlayerWhenToTurnAngle(); ACT-putCommandInQueue( soc

7、 ); ACT-putCommandInQueue( turnNeckToObject( OBJECT_BALL, soc ) ); (4)将球踢向对方球门 else if( WM-isBallKickable() / 如果球已知,而且当前球在我脚下(可踢) VecPosition pos=( PITCH_LENGTH/2.0, (-1 + 2*(WM-getCurrentCycle()%2) * 0.4 * SS-getGoalWidth() ); /得到对方球门的坐标 soc=kickTo(pos,SS-getBallSpeedMax();ACT-putCommandInQueue( so

8、c ); ACT-putCommandInQueue( turnNeckToObject( OBJECT_BALL, soc );(5)将球踢向距自己最近的球员 else if( WM-isBallKickable() / 如果球已知,而且当前球在我脚下(可踢)VecPosition vec=WM-globalPosition(WM-getClosestInSetTo(OBJECT_SET_TEAMMATES,posAgent); soc=kickTo(vec,2.0);ACT-putCommandInQueue(soc); ACT-putCommandInQueue( turnNeckToO

9、bject( OBJECT_BALL, soc );(7)用不同的带球模式带球 dribble(vec,DRIBBLE)分别用DRIBBLE_FAST 快速带球 DRIBBLE_SLOW 慢速带球 DRIBBLE_WITHBALL 安全带球的模式带球(8)向对方球门带球 else if( WM-isBallKickable() AngDeg ang=0.0; soc=dribble(ang,DRIBBLE_FAST);ACT-putCommandInQueue(soc); ACT-putCommandInQueue( turnNeckToObject( OBJECT_BALL, soc );(

10、9)不同的带球组合else if( WM-isBallKickable() if(WM-isInTheirPenaltyArea(WM-getBallPos() VecPosition pos=( PITCH_LENGTH/2.0,(-1 + 2*(WM-getCurrentCycle()%2) * 0.4 * SS-getGoalWidth() ); soc=kickTo(pos,SS-getBallSpeedMax(); else AngDeg ang=0.0;soc=dribble(ang,DRIBBLE_FAST); AngDeg ang=0.0; soc=dribble(ang,DR

11、IBBLE_FAST); ACT-putCommandInQueue( soc ); / 放入命令队列 ACT-putCommandInQueue( turnNeckToObject( OBJECT_BALL, soc ); 实验三一、.实验目的 熟悉demeer5并学会demeer5的基本使用方法,具体内容如下: (1)理解UVA程序的的么而内容 (2)能修改demeer5 (3)能进行底层动作的组合二、实验设备:硬件设备:pc机软件设备:操作系统linux三、实验内容(1)如果在对方禁区内就射门,否则,如果时7、8、9号队友就超前方带球,其他队友传球给9号 else if( WM-isBa

12、llKickable() if(WM-isInTheirPenaltyArea(WM-getBallPos() VecPosition pos=( PITCH_LENGTH/2.0, (-1 + 2*(WM-getCurrentCycle()%2) * 0.4 * SS-getGoalWidth() ); soc=kickTo(pos,SS-getBallSpeedMax(); else if(WM-getAgentObjectType()=OBJECT_TEAMMATE_7|WM- getAgentObjectType()=OBJECT_TEAMMATE_8|WM-getAgentObjectType()=OBJECT_TEAMMATE_9) AngDeg ang=0.0; soc=dribble(ang,DRIBBLE_FAST); else soc=leadingPass(OBJECT_OPPONENT_9,1); AngDeg ang=0.0; soc=dribble(ang,DRIBBLE_FAST); ACT-putCommandInQueue( soc ); ACT-putCommandInQueue( turnNeckToObject( OBJECT_BALL, soc ); (2)如果队

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号