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