当前位置:首页 >> 学科竞赛 >> AI-RCJ虚拟足球教程阅读须知

AI-RCJ虚拟足球教程阅读须知


教程阅读须知
本套装附带的《AI-RCJ 图形化编程教程》和《AI-RCJ C 语言教程》均是基于较早的 V3.0 软件版本而编写的。由于本套装的软件已经升级为 V4.0 版本,功能相应增加不少,某些操 作界面及名称也有所变化,故读者在阅读该两册教程时须留意以下新旧版本的差别。

软件名称
V3.0 仿真平台的软件名称为 AIROBOT;V

4.0 仿真平台的软件名称为 AI-RCJ 4.0。

AI-RCJ 图形化编程教程

新建机器人
V3.0 “机器人快车 RoboExp”中新建机器人程序时可指定机器人所属的“包名”; V4.0“机器人 快车 RoboExp”中新建机器人程序时无需指定机器人的包名, 新创建的机器人在编译后自动 存放在 default 包中。若需更改此机器人的名字和包名,可在 AI-RCJ 4.0 的“工具\机器人 管理”中对机器人进行编辑。

打开例子机器人
在机器人快车中选择 文件->打开测试程序,然后选择相应的机器人就可以直接打开。

启动 AI-RCJ
4.0 版在完成对机器人程序的编译后,可通过工具->外部工具->AI-RCJ 运行平台启动 AI-RCJ 运行平台。

例子机器人修正
在 4.0 版本中,随着机器人编程接口的改进,例子机器人也有一些变动。 7.2 节,while 循环中自动嵌入的 delay 语句已经没有了(由系统自动调用)。 8.3 到 8.5 节,使用了将球踢到指定的点 模块,简化了机器人程序。

模块变化
V4.0“机器人快车 RoboExp”重新对模块进行了分组,模块的功能和使用基本没有变化。3.0

1

版本中的常用函数和自身动作合并成了机器人控制,探测自身,探测足球,探测环境合并成 了自身信息和其它信息。部分模块的函数原型也进行了修改。4.0 版本的模块如下: 机器人控制 模块名
前进距离

功能
向前移动指定的距离(当撞墙或撞到 机器人时函数提前返回)

函数原型
void DoMoveAhead(double dis); void DoMoveBack(double dis); void DoMoveTo(double x, double y); void DoTurnLeft (double angle); void DoTurnRight (double angle); void DoTurn(double angle); void DoTurnTo (double hea); void void velocity); void SetMoveTo(double x,double y) void SetKickBallTo(double x, double y);

后退距离

向后移动指定的距离(当撞墙或撞到 机器人时函数提前返回)

移动到某位置

移动到指定的点(当撞墙或撞到机器 人时函数提前返回)

左转指定的角度 右转指定的角度 转动指定的角度

向左转动指定的度数 向右转动指定的度数 转动指定的角度,angle>0 逆时针旋 转,angle<0 顺时针旋转

转动到某方向 移动速度设置

转动到指定的方向上 设置移动的速度

SetMoveVelocity ( double
SetTurnVelocity(double

velocity);

转动速度设置

设置转动的速度 设置目标点,向目标点移动 将球踢到指定的点

向某点移动 将球踢到某点

自身信息模块 模块名
自己 X 坐标 自己 Y 坐标 自己方向 自己移动速度 自己进攻方向

功能
得到自己的 X 坐标 得到自己的 Y 坐标 得到自己的方向 得到自己的速度 得到代表自己进攻方向的整数, 大于 0 向右进攻,小于 0 向左进攻

函数原型
double GetX(); double GetY(); double GetHeading(); double GetMoveVelocity(); int GetAttack(); double GetSorce(); double GetLose();

自己得分 对手得分

得到自己的得分 得到对手的得分

其他信息 模块名
球的 X 坐标 球的 Y 坐标 球的移动方向

功能
返回球的 X 坐标 返回球的 Y 坐标 返回球的移动方向

函数原型
double GetBallX(); double GetBallY(); double GetBallHeading();

2

球的移动速度 场地的宽 场地的高 球门的大小 碰撞他人检测 碰撞墙检测 碰撞球检测

返回球的移动速度 得到场地的宽 得到场地的高 得到球门的大小 判断当前是否撞到了其它机器人 判断当前是否撞到了墙 判断当前是否撞到了球

double GetBallVelocity(); double GetCourtWidth(void); double GetCourtHeight(void); double GetGoalSize(); int IsHitRobot(); int IsHitWall(); int IsHitBall();

时钟模块 模块名
系统时钟 系统延时

功能
返回当前的系统时间 延时指定的时间

函数原型
long GetTime(); void DelayTimes(long time);

调试模块 模块名
输出整数 输出实数 画线

功能
在控制台输出一个整数 在控制台输出一个实数 在比赛场地上画一条线

函数原型 void PrintLong(long l)
void PrintDouble(double d) void AddLineView( long showTime, int color, double beginX, double beginY, double endX, double endY);

画椭圆

在比赛场地上画一个椭圆

void AddEllipseView( long showTime, int color, double yRadius, int fill, double x, double y); xRadius, double

画方形

在比赛场地上画一个方形

void AddRectangleView( long showTime, int color, double width, double height, int fill, double x, double y);

数学模块 模块名
两点间距离 计算两点间的距离 两点连线的方向 计算两点联机的方向((x1,y1)指向 (x2,y2)的方向) 两方向间角度 计算 heading 相对 base 的夹角 正弦函数 余弦函数 计算 angle 的正弦值 计算 angle 的余弦值

功能
double

函数原型
GetDistance(double x1, double y1, double x2, double y2); double GetLineHeading(double x1, double y1, double x2, double y2); double GetBearing(double heading, double base); double Sin(double angle) double Cos(double angle) 3

正切函数 反正弦函数 反余弦函数 反正切函数

计算 angle 的正切值 计算 angle 的反正弦值 计算 angle 的反余弦值 计算 angle 的反正切值

double Tan(double angle) double Asin(double angle) double Acos(double angle) double Atan(double angle)

AI-RCJ

C 语言教程

创建项目
在 3.0 版本中,创建机器人项目的时候选择的项目类型为 C(Sequence),4.0 中选择的项目类 型为 C。

机器人程序框架
3.0 版本中系统自动生成的机器人程序框架如下: #include <airobot/c/SeqRobot.h> /** * 机器人程序入口 */ void robotMain() { /*在这里添加控制机器人的代码*/ } 4.0 版本中机器人程序框架如下: #include <airobot/c/SimpleRobot.h> /** * 机器人执行函数 */ void run() { /*在这里添加控制机器人的代码*/ } 其中机器人程序所包含的头文件变为了 airobot/c/SimpleRobot.h, 作为程序入口的 robotMain 函数由机器人执行函数 run 代替。

4

函数原型变动
为了加强函数名的语意,4.0 版本中用于控制机器人运动的设置式函数都加上了 set 前缀, 与任务式函数的 do 前缀对应。 3.0 版本 move turn moveTo turnTo kickBallTo delayTimes getGoalSize 4.0 版本 setMoveVelocity setTurnVelocity setMoveTo setTurnTo setKickBallTo executeTimes getGoalWidth

系统函数表
airobot/c/Robot.h 函数原型 void run(void); 功能 机器人的执行函数,通过实现该函数,就可 以制定自己的机器人。该函数在比赛开始时 由系统调用,如果在一轮比赛结束之前该函 数返回,那么在新的一轮比赛开始时系统会 重新调用该函数。

airobot/c/Operate.h 函数原型 void setMoveVelocity(double velocity); 功能 设置车身的移动速度, 用于控制车身的移动。 当设置了想要达到的速度之后,机器人会通 过加速或减速在一定时间内达到这个速度。 注意如果你设置了一个比系统设定的最大速 度还大的速度,机器人不能达到这个速度, 只能达到系统设定的最大速度;如果你设置 了一个比系统设定的最小速度还小的速度, 机器人不能达到这个速度,只能达到系统设 定的最小速度。 设置车身的转动速度, 用于控制车身的转动。 转动速度没有加速度的设定,只要你设置的 速度在允许范围内,立即就能达到此速度。 正的转动速度使机器人逆时针旋转,负的转 动速度使机器人顺时针旋转。注意如果你设 置了一个比系统设定的最大速度还大的速 度,机器人不能达到这个速度,只能达到系 统设定的最大速度;如果你设置了一个比系
5

void setTurnVelocity(double velocity);

统设定的最小速度还小的速度,机器人不能 达到这个速度,只能达到系统设定的最小速 度。 void execute(void); 执行当前所设置的动作。当机器人调用 setFire,setMoveVelocity 等函数的时候,这些 函数是立即返回的,机器人并没有立刻执行 相应的动作,只有用户在调用 execute 函数 后,这些动作才会得到执行,机器人的状态 才会发生改变。该函数的执行需要耗费一个 单位时间。

airobot/c/TaskOperateToolkit.h 函数原型 void doMoveAhead(double dis); void doMoveBack(double dis); void doTurnRight(double angle); void doTurnLeft(double angle); void doMoveTo(double x, double y); void doTurnTo(double hea); airobot/c/BaseOperateToolkit.h 函数原型 void setMoveToward(double x, double y, double velocity); 功能 设置机器人的移动和转动速度,使机器人以 指定的速度向指定的目标点移动。根据当前 的车身方向,会自动选择前进或后退。注意, 这个函数会同时控制车身的转动和移动,不 能和其他控制车身的函数(如 setTurnTo)混 用。 设置机器人的移动和转动速度,使机器人移 动到目标点。根据当前的车身方向,会自动 选择前进或后退。注意,这个函数会同时控 制车身的转动和移动,不能和其他控制车身 的函数(如 setTurnTo)混用。 设置转动的速度,使车身转动到指定的方向 上。 设置机器人的移动和转动速度,将球踢向指 定的坐标点. 该函数会根据机器人和球的当 前位置来控制机器人的运动,达到运球的目 的。注意,这个函数会同时控制车身的转动 和移动,不能和其他控制车身的函数混用。 连续执行当前所设置的动作(如果执行过程
6

功能 向前移动指定的距离(当撞墙或撞到机器人 时函数提前返回) 向后移动指定的距离(当撞墙或撞到机器人 时函数提前返回) 向右转动指定的度数 向左转动指定的度数 移动到指定的点(当撞墙或撞到机器人时函 数提前返回) 转动到指定的方向上

void setMoveTo(double x, double y);

void setTurnTo(double heading); void setKickBallTo(double x, double y);

void executeTimes(long times);

中碰到一轮结束,则提前返回) airobot/c/SelfInfoToolkit.h 函数原型 double getHeading(void); double getX(void); double getY(void); double getMoveVelocity(void); double getTurnVelocity(void); double getScore(void); int getAttack(void); 功能 得到自己的方向 得到自己的 X 坐标 得到自己的 Y 坐标 得到自己的移动速度 得到自己的转动速度 得到自己的得分 得到代表自己进攻方向的整数, 1 表示从左向 右攻,-1 表示从右向左攻

airobot/c/BaseDebugToolkit.h 函数原型 void println(char* message); void printLong(long l); void printSL(char* message, long l); void printDouble(double d); void printSD(char* message, double d); 功能 打印并回车 打印一个整数,并回车 打印一个字符串加一个整数,并回车 打印一个浮点数,并回车 打印一个字符串加一个浮点数,并回车

7


更多相关文档:

AI-RCJ虚拟足球教程阅读须知

AI-RCJ虚拟足球教程阅读须知_学科竞赛_高中教育_教育专区。AI-RCJ虚拟足球教程阅读须知教程阅读须知本套装附带的《AI-RCJ 图形化编程教程》和《AI-RCJ C 语言教程...

AI-RCJ虚拟足球系统在中小学信息技术课的应用研究

应用普遍,将 AI-RCJ 虚拟足球系统应用于教学实践中,以寓教于乐的教学方式,在传播编程知识的同 时提高学生的逻辑思维和判断能力,创新力,激发了学生创造发明天性和...

2013中山市青少年机器人虚拟足球竞赛规则

暂无评价|0人阅读|0次下载|举报文档2013 年中山市青少年机器人竞赛规则虚拟机器人足球比赛一、项目分组 比赛使用 AI-RCJ 智能足球软件平台,比赛分为小学组、初中组...

虚拟足球机器人教学经验谈

AI-RCJ 虚拟足球机器人系统突破了实物 机器人限制,可以在有电脑室的学校就可以开展机器人活动,极大的提高了机器 人教学的普及率。而且让学生从原来枯燥无味的教学...

虚拟机器人足球竞赛指南

虚拟机器人足球竞赛指南虚拟机器人足球竞赛指南隐藏>> 竞赛指南——虚拟机器人足球...比赛虚拟环境参数规定: 比赛虚拟环境参数规定: 术语说明: ●比赛时间:AI-RCJ ...

VBox简明教程及须知--百度文库--赵语凌

13 1 VBox 安装配置简明教程以及用户使用须知一、VBox 安装以及配置(主要针对技术人员) 1.概要虚拟系统文件格式 2.安装 2.1 虚拟机版本号 VirtualBox-4.0.8-...

AI-RCJ虚拟足球机器人软件教学随笔

——AI-RCJ虚拟足球机器人软件教学随笔 刚接触到 AI-RCJ 虚拟足球机器人软件时,感觉和 3.0 以上版本的机器人快 车相差无几,认真摸索以后发现区别还是很大的。 ...

AI制作足球教程

暂无评价|0人阅读|0次下载|举报文档AI制作足球教程_计算机软件及应用_IT/计算机_专业资料。AI 制作足球教程一. 打开 adobe illustrator,新建,置入图片。选择直线工具...

机器人实验指导书

AI-RCJ虚拟足球机器人软件... 6页 免费 广茂达机器...验证性 实验指导教材: 《AI-RCJ C 语言教程教材》...加入阅读会员!获取下载券 登录百度文库,专享文档复制...

智能足球攻防战(一)

本文以 AI-RCJ 智能足球虚拟机器人教学系统为基本平台,通过两个简单的例子,探讨程序设计教学, 借以抛砖引玉。 智能足球攻防战使用浅例( )— AI-RCJ 使用浅例(...
更多相关标签:
rcj足球 | ai rcj | 足球场入场须知 | 足球场地使用须知 | 足球场使用须知 | 虚拟足球 | 虚拟足球e球彩 | 虚拟足球e球彩走势图 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com