课件18张PPT。争创第一
—— “启动电机”模块和“延时等待”模块任务导航
同学们可能参加过车模比赛或者船模比赛,在这些比赛中一般都有一个规定动作竞赛——绕标。不同的比赛绕标的规则和要求是不一样的。
本课,我们先为机器人制作一个绕标场地,然后让机器人完成绕标游戏。
在图4.1所示的绕标场地中,左侧黄颜色矩形为机器人绕标的起点,右侧绿颜色矩形为机器人绕标的终点,两个圆形为障碍标志物体,虚线为机器人绕标时的行走轨迹。图4.1 机器人绕标游戏
1、机器人绕单标
为了更好地完成“多标”的绕标游戏,我们先来完成机器人绕单标的游戏,如图4.2所示。图4.2 绕单标场地及绕标轨迹 步骤1:在仿真环境中添加作为标杆的“障碍标志”。
①单击“环境编辑”栏中的“实体”按钮,在弹出的快捷菜单中选择“添加障碍物”→“圆形”选项。
②在场地的适当位置拖动出一个适当大小的“圆形障碍物”,如图4.3所示。图4.3 添加“圆形障碍物” 在如图4.3所示的仿真环境的左侧有一组环境编辑按钮,用于完成机器人场地的搭建和编辑。其中的“实体”按钮用于“立体障碍物”的设置和地面上“平面图带”的设置;“声源”按钮用于发声喇叭的设置;“光源”按钮以“火源”的方式提供了发光体的设置;“清除”按钮用于清除当前的“环境场地”。
智多星 步骤2:在仿真环境中添加表示起点的黄色图带,添加黄色图带的操作过程见图4.4。图4.4 添加“矩形”图带 为了将搭建的场地用于机器人项目中,在如图4.4所示的仿真环境的左侧有一组“文件”按钮,用于完成机器人场地文件的存储和调用。“加载”按钮用于调入保存的场地;“保存”按钮用于场地文件的存储;“新建”按钮用于建立场地文件;“删除”按钮用于删除场地文件。智多星 步骤3:将搭建的场地文件存盘。
①单击“文件”栏中的“保存”按钮,在弹出的“保存环境”对话框的“环境名称”文本框中输入场地环境文件的名称。
②单击“保存”按钮,则环境文件被保存到默认的文件夹中;若单击“导出”按钮环境,则文件被保存到指定的文件夹中。此处,我们单击“保存”按钮,如图4.5所示。图4.5 场地的保存 步骤4:在流程图编辑区编写如图4.6所示的“单标绕标”程序。图4.6 “单标绕标”程序 1、本课是通过“启动电机”模块、“延时等待”模块和“停止电机”模块来实现“绕标”的。三个模块参数的具体设置可参照图4.7、图4.8和图4.9。智多星图4.7 “启动电机”模块的设置图4.8 “延时等待”模块的设置图4.9 “停止电机”模块的设置
2、绕标的方法有多种,如图4.6所示的程序就是采用了让机器人绕标行走一个适当半径的圆来实现“单标绕标”的。常识告诉我们如果机器人两轮的电机功率相同时,机器人可以走出直线轨迹;而机器人的两轮电机功率若不相同时,机器人会走出曲线轨迹。一般来说,机器人两轮的速度之差越小,机器人走出的曲线半径越大;机器人两轮的速度之差越大,机器人走出的曲线半径越小。机器人要走出适当半径的圆,除了和两轮的速度设置有关外,还和机器人行走的时间有关。 步骤5:反复调试、修改程序,直至绕标效果最佳。
仿真系统里已经保存的环境文件(如单房间场地、标准灭火场地以及前面保存过的单标绕标场地等)只要加载到运行区就可以使用了。加载环境的方法是:单击“文件”栏中的“加载”按钮,在弹出的“选择环境”对话框中选择欲加载的场地环境,然后单击“进入环境”按钮,如图4.10所示。智多星图4.10 加载环境文件
2、机器人绕双标
机器人绕双标的要求是:从黄色图带为标志的起点出发,绕第一个标行走一个上半圆,再绕第二个标行走一个下半圆,然后在绿色图带为标志的终点停下。
步骤1:在仿真环境中设置双标绕标场地并将其保存。
步骤2:在流程图编辑界面将绕单标程序中的“延时等待”模块中的时间适当修改,使其成为机器人绕标走上半圆的程序,如图4.11所示。图4.11 机器人绕第一个标行走的半圆 步骤3:在程序的“结束”模块前添加与前三个模块相同的模块。
步骤4:将新添加的“启动电机”模块的参数适当修改,使其成为绕第二个标走下半圆的程序,如图4.12所示。
步骤5:反复修改、调试,直至绕标效果达到最佳,如图4.1所示。图4.12 机器人绕双标的程序 知识着陆
只要在“启动电机”模块中将机器人的左、右电机功率设置得适当,机器人就能进行曲线行走。此外,机器人行走的曲线轨迹的长短还与行走的时间有关。 视野拓展
JC代码小知识
1、启动电机函数
格式: motor(n,p)
功能:以功率级别p启动电机n。
说明:其中n为1时表示左电机,n为2时表示右电机,n为3时表示扩展电机。功率级别p为100到-100的整数,p值为正数时电机正向转动,p值为负数时电机反向转动。
例如: motor(1,80)表示左轮的电机功率为80,motor(2,60)表示右轮的电机功率为60。
2、延时等待函数
格式:wait(t)
功能:等待t秒后再执行后面的语句。
说明:参数t为实型数。
例如:wait(2.800)表示延时等待2.8秒。
3、停止电机函数
格式:sop()
功能:关闭左、右轮电机。 创作天地
在绕双标的场地中增加一个标,并编写机器人绕三个标的程序,如图4.13所示。
提示:机器人从起点出发绕第一个标杆,按照顺时针转一个半圆,接着绕第二个标杆,按照逆时针转一个半圆,最后绕第三个标杆,按照顺时针转一个半圆后在终点停下。由于计算机的速度不同,因此机器人行走半圆轨迹的大小和行走的时间需要耐心地反复调试。图4.13 三标绕标场地谢 谢