合肥工业大学 计算机与信息学院 机器人足球仿真 实 验 报 告
班级: 计算机科学与技术 11-1 班 姓名: 魏慷 学号: 20112425 2012 年 12 月 5 日 1
实验一 机器人足球比赛编程预备知识 1. 实验目的
掌握 RoboCup 仿真机器人足球比赛相关知识点,具体内容如下: (1) Linux 操作系统的熟悉及了解其基本操作。 (2) 掌握 Linux 下如何进行 C++编程,了解 gcc 编译器以及一些简单编辑工 具,如:vi、emacs、gedit、Anjuta、Kdevelope 等。 (3) 启动 RoboCup 仿真(2D)足球队的比赛。 2. 实验设备
硬件环境:PC 机 软件环境:操作系统 linux 3. 实验内容
文件或目录处理 格式:ls [-atFlgR][name] Linux 一些常用的命令 第一项是一(1) 掌握 些语法加量。第二项是文件名。 常用的方法有: ls 列出当前目录下的所有文件。 ls –a 列出包括以 .开始的隐藏文件的所有文件名。 ls –t 依照文件最后修改时间的顺序列出文件名。
ls –F 列出当前目录下的文件名及其类型。以/结尾表示为目录名、以* 结尾表示未可执行文件、以@结尾表示为符号连接。 ls –l 列出目录下所有文件的权限、所有者、文件大小、修改时间及名 称。 ls –lg 同上,并显示出文件的所有者工作组名。 ls –R 显示出目录下
以及其所有子目
改变工作目录 格式:: cd [name] name :
目录名、路径或目录缩写。 常用的方录的文件名。法有: cd 改变目录位置至用户登录时的工作目录。 cd dirl 改变目录位置至 dirl 目录下。
cd ~user 改变目录位置至用户的工作目录。 cd .. 改变目录位置至。 cd ../user 改变
目
user 的目 复制 改变目录位置至绝对路径的目录位置下。
录下。 cd /../.. 录位置至相对路径 文件 格式:cp [-r] 源地址 目的地址 2
常用的方法有: cp file1 file2 将文件 file1 复制成 file2 cp file1 dir1 将文件 file1 复制到目录 dir1 下,文件名仍为 file1。 cp /tmp/file1 将目录/tmp 下的文件 file1 复制到当前目录下,文件名仍为 file1。 cp /tmp/file1 file2 将目录/tmp 下的文件 file1 复制到当前目录下,
文件名 仍
file2 cp -r dir1 dir2 复制整个目录。为
目录名称 格式:mv 源地址 目。 移动或更改文件、
的地址 常用的方法有: mv file1 file2 将文件 file1 更名为 file2。 mv file1 dir1 将文件 file1
转
建立新dir1 更改为目录 dir2 mv dir1 dir2 将目录 移 。
到目录 dir1 下,文件名仍为 file1。目录 格式:mkdir 目录名 删除目录 格式:rmdir [目录
名|文件名] 常用的方法有: rm –r dir1
列出当前所在的目录位置 及其子目录下的所有文件。格式:查看文件内删除目录 dir1
文件权限的设定 格式:chmod [-R] mode name name:文件名或目录名。容 格式: cat 文件名
mode:3 个或 8 个数字或 rwx 的组合。r-read(读权限)、w-write(写权限)、 x-execute(执行) 常
用
文件的打包和解压缩 格式: file1 全部的权限。tar 的
方法有:chmod 777 file1 给所有用户[option] [file] gzip[option] [file] tar 主要来进行打包而不压缩,而 gzip 则进行压缩。 option 主要有: -c — 创建一个新归档。 -f — 当与 -c 选项一起使用时,创建的 tar 文件使用该选项指定的文件名; 当与-x 选项一起使用时,则解除该选项指定的归档。 -t — 显示包括在 tar 文件中的文件列表。 -v — 显示文件的归档进度。 -x — 从归档中抽取文件。 -z — 使用 gzip 来压缩 tar 文件。 如使用:tar -cvf filename.tar
/home/mine/work /home/mine/school 上面的命令把 /home/mine 目录下的 work 和 school 子目录内的所有文件 3
都放入当前目录中一个叫做 filename.tar 的新文件里。 (2) 完成以下操作: 1. 如何找到用户主目录的绝对路径名?在自己的系统上,用户主目录的绝对 路径名是什么? 执行 cd;执行 pwd;即显示用户主目录的绝对路径名。 用户主目录的绝对路径名是”/home/username” 2. 将当前工作目录从 或/home/Tsinghua cd ? 如何显示当前目录? 需要使用什么命令/home/Tsinghua 转到A /home/UV.
cd ../Tsinghua 3. 如何在当前目录下建立子目录 RoboCup? mkdir Robcup 4. 如何删除子目录 RoboCup? rmdir Robcup 5. 如何查看当前目录下的内容? ls 6. 如何将文件 start.sh 的权限设定为:start.sh 属于可读、可写、可执行? 可读:chmod g+rr start.sh 可写:chmod g+rw start.sh 可执行:chmod g+rx start.sh 7. 如何将当前目录包括所有子目录全部做备份文件,备份文件名为 first.tar? tar
czvf first.tar dir1 8. 如何将目录/home 下每一个文件压缩成.gz 文件? tar -cvf store.tar dir1 9. 如何把上例中每个压缩的文件解压,并列出详细的信息? tar xvf store.tar ls -lg 4. 启动球队上场比赛 完成以下操作: rcssserver rcsslogplayer 在球队路径下: ./start.sh 在本地启动第二个球队: ./start.sh localhost aaa
实验二 Demeer5 基本动作 1 1. 实验目的
(1) 了解 Demeer5 的工作原理 4
(2) 学会对 Demeer5 进行简单的修改 2. 实验设备 硬件环境:PC 软件环境:Linux 3. 实验内容
(1) Demeer5 的工作原理: Demeer5 函数是整个球队的核心,它最终返回一个可以执行的动作,底层的 模块负责将此动作发送给 server,然后由 server 执行。可以说,Demeer5 就是我 们想法的体现,是一支球队的大脑。在 Demeer5 中有一系列的判断来决定每个 周期的动作。下面对 Demeer5
进行简要的分析. Demeer5()是一个决策函数,在策略上使用的是下面这个简单的策略: 如果球可踢,则用最大力量踢球; 如果球不可踢且我是队友中最快到球的队员,则去截球; 其他情况按战略点跑位。 我们现在只要看一下球可踢时的代码: else if( WM->isBallKickable()) // 如果球可踢 {
//确定踢向的点
VecPosition posGoal( PITCH_LENGTH/2.0, -1+2*(WM->getCurrentCycle()%2))* 0.4 * SS->getGoalWidth() ); //调用踢球的动作
soc = kickTo( posGoal, SS->getBallSpeedMax() ); // kick maximal //将动作放入命令队列中
ACT->putCommandInQueue( soc );
完整word版机器人足球仿真实验报告
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)