机器人足球程序设计的练习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018年6月4日
成绩:
教
师
评
语
一、实验目的及要求
1. 熟悉机器人仿真平台AI-RCJ的安装、组成
2. 掌握机器人仿真平台的系统参数设置。
3. 学会简单的机器人程序的设计与调试方法。
二、实验原理与内容
1. 机器人仿真平台AI-RCJ的安装
2. 机器人仿真平台的系统参数设置。
3. 简单的机器人程序的设计。
三、实验软硬件环境
安装AI-RCJ机器人仿真平台的PC机
四、实验过程(实验步骤、记录、数据、分析)
实验指导教材:《AI-RCJ C语言教程教材》. 中鸣公司. 《AI-RCJ 图形化编程教材》. 中鸣公司. 实验步骤:
1、机器人仿真平台的系统参数设置练习。新建一场比赛,通过观察不同参数值时的比赛,掌握各参数的作用。
2、编写一个简单行走的机器人。机器人不断重复以下运动:先后退500个单位距离,再前进500个单位距离。
14、编写一个能够在自己球门前来回移动的机器人。
#include
void run() {
double j,x,y,ballwidth;
j = getAttack();
if(j==1)
x = getCourtWidth();
else
x=0;
ballwidth = getGoalWidth();
y = getCourtCenterY();
doMoveTo(getCourtWidth(),0);
while(1){
doMoveTo(x,y + ballwidth);
doMoveTo(x,y - ballwidth);
}
}
15、编写一个能够进行简单进攻的机器人。如图1所示,A点是机器人当前的位置,B点是足球当前的位置,P点是进攻球门中心。要求机器人移动到C点后,一直往前推球以使其进入球门。
图1 机器人的简单进攻图
#include
void run() {
double px,py;
px = getOpponentGoalCenterX();
py = getOpponentGoalCenterY();
double bx,by;
bx = getBallX();
by = getBallY();
double bc = getBallRadius() + getRadius() + 10;
double pbheading = heading(px,py,bx,by);
double cx = bx+cos(pbheading)*bc;
double cy = bx+sin(pbheading)*bc;
doMoveTo(cx,cy);
doTurnTo(toRadians(pbheading));
heading = -heading;
modifyInCourt(ballx, bally, getBallRadius());
}
}
}
五、测试/调试及实验结果分析
题3由“构建”→“编译文件”→“构建项目”成功如下:
“编译文件”成功如下:“构建项目”成功如下:
“新建比赛”机器人运行结果如下: