欢迎来到天天文库
浏览记录
ID:57334685
大小:1.35 MB
页数:15页
时间:2020-08-12
《机器人足球实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机与信息学院机器人足球实验报告计算机科学与技术实验一一、实验目的掌握RoboCup仿真机器人足球比赛相关知识点,具体内容如下:(1)Linux操作系统的熟悉及了解其基本操作。(2)掌握Linux下如何进行C++编程,了解gcc编译器以及一些简单编辑工具,如:vi、emacs、gedit、Anjuta、Kdevelope等。(3)启动RoboCup仿真(2D)足球队的比赛。二、实验设备硬件环境:PC机软件环境:操作系统linux三、实验内容(1)掌握Linux一些常用的命令a)如何找到用户主目录的绝对路径名?在自己的系统上,用户主目录的绝对路径名是什么?
2、pwd/home/student(2)将当前工作目录从/home/UVA转到/home/Tsinghua需要使用什么命令?如何显示当前目录?cd/home/Tsinghua(3)如何在当前目录下建立子目录RoboCup?mkdirRobcup(4)如何删除子目录RoboCup?rmdirRobcup(5)如何查看当前目录下的内容?ls(6)如何将文件start.sh的权限设定为:start.sh属于可读、可写、可执行?chmod777start.sh(7)如何将当前目录包括所有子目录全部做备份文件,备份文件名为first.tar?tarxvfdir1fir
3、st.tar(8)如何将目录/home下每一个文件压缩成.gz文件?tar-zcwfstore.tar(9)如何把上例中每个压缩的文件解压,并列出详细的信息?tarxvfstore.tarLs-lg实验二1、实验目的(1)了解Demeer5的工作原理(2)学会对Demeer5进行简单的修改二、实验设备硬件环境:PC软件环境:Linux三、实验内容(1)如果可踢球就用最大力踢球elseif(WM->isBallKickable())//如果球已知,而且当前球在我脚下(可踢){VecPositionpos=(PITCH_LENGTH/2.0,(-1+2*(WM
4、->getCurrentCycle()%2))*0.4*SS->getGoalWidth());soc=kickTo(pos,SS->getBallSpeedMax());ACT->putCommandInQueue(soc);//放入命令队列ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL,soc));}(2)如果球不可踢且我是队友中最快到达球的队员,则去截球elseif(WM->getFastestInSetTo(OBJECT_SET_TEAMMATES,OBJECT_BALL,&iTmp)==WM
5、->getAgentObjectType()&&!WM->isDeadBallThem())//如果球不在我的控制范围下,但是当前能最快抢到球的是我,那我就去执行抢球动作{Log.log(100,"Iamfastesttoball;cangettherein%dcycles",iTmp);soc=intercept(false);ACT->putCommandInQueue(soc);ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL,soc));(3)其他情况按战略点跑位elseif(posAgent.
6、getDistanceTo(WM->getStrategicPosition())>1.5+fabs(posAgent.getX()-posBall.getX())/10.0)//到了这里就是其他距离球相对远一点的人了,如果离自己的阵形点太远,就跑回自己的阵形点去。{if(WM->getAgentStamina().getStamina()>SS->getRecoverDecThr()*SS->getStaminaMax()+800){soc=moveToPos(WM->getStrategicPosition(),PS->getPlayerWhenToT
7、urnAngle());ACT->putCommandInQueue(soc);ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL,soc));}(4)将球踢向对方球门elseif(WM->isBallKickable())//如果球已知,而且当前球在我脚下(可踢){VecPositionpos=(PITCH_LENGTH/2.0,(-1+2*(WM->getCurrentCycle()%2))*0.4*SS->getGoalWidth());//得到对方球门的坐标soc=kickTo(pos,SS->g
8、etBallSpeedMax());ACT->putCommand
此文档下载收益归作者所有