进攻?防守? ——AI-RCJ虚拟足球机器人软件教学随笔 刚接触到 AI-RCJ 虚拟足球机器人软件时,感觉和 3.0 以上版本的机器人快车相差无几,认真摸索以后发现区别还是很大的。 普通的机器人快车软件每一个图标都是和机器人实际的电子动作和感应部件相关联,譬如说控制一个马达转动、发射红外线、检测触碰传感器等,而 RCJ 4.0 中没有具体的机器部件需要控制而改为直接说明一个运动或检测功能的图标。具体举个例子,在普通的机器人快车里若需使机器人直走,那么需要两个马达控制图标设置左右两边马达转向及速度,需要控制直走多长距离还要设置时间延时,而在 RCJ 4.0 中只需设置前进距离就可以了。在 RCJ4.0 上还多了数学上各种测量三角函数及点线距离和画圆、线、方型的图标。也就是说,RCJ4.0 中设计主要面向解决问题的思路上而不在于具体实施上,这样便于初学者训练逻辑解决问题的方法而不再受到各种具体实施繁琐的硬件设置束缚。 大体上知道 RCJ4.0 有以上的特征,真正要熟识还需通过教学实践。 RCJ4.0 是图形化虚拟足球编程软件,当然以编出各种各样进攻和防守的机器人为主要任务。怎样教学使学生编出来呢? 我的学生在接触这个软件之前已经学习了 VB 及机器人快车,编程的过程、制作机器人的过程都有所了解。这个虚拟足球软件应该是这些二合为一,既需编程又需对真实的机器人的运动有所了解。制作真实的机器人过程是—— 功能需求分析——>制作机器人外观——>编程——>运行调试和优化。而我将这个制作过程中的“制作机器人外观“步骤删除剩下功能需求分析、编程、运行调试和优化。其中编程又细分为:摆列图标`——>连线——>设置属性——> 编译。 在教学生编出程序之前先让学生理解一个概念,就是怎样定义在一个平面上物体的位置,这个问题很重要,无论是控制机器人还是控制球、检测球都要用到。我就举了一个例子,在课件上划了几个圆,问同学怎样清楚描述几个圆的位置特征。同学们思考了良久但讲得都很模糊。我就引申前面在VB 中用数字 1、2、3来代替猜拳的石头、剪刀、布比较的方法提问能不能用同样的原理来处理。答案当然是肯定的。只是不再使用一个数字而是用 XY 坐标轴,分别测量平行方向和纵向离原点的距离来说明一个物体在一个平面的具体位置。在虚拟平台上这个原点就在场地的右下角。 虚拟进攻足球机器人 功能需求分析: 1、能够检测到球场的高和宽(因为我们要利用这些数值来定义出球场上各个物体...