课件15张PPT。方圆之间
——“转向”模块与正边形设计任务导航
“九州方圆”、“地阔方圆” ……人们在描述地域的广阔时总是用到“方圆”二字,方和圆之间到底存在什么样的关系呢?让机器人告诉我们吧!
本课,我们将利用“执行器模块库”中的“直行”模块和“转向”模块、“控制模块库”中的“多次循环”模块等,让机器人走出一些简单的基本图形,如图2.1所示。(a)机器人走正方形 (b)机器人走圆形
图2.1 机器人走出的简单图形 ④在场地的任意位置单击后,机器人在这个位置上开始执行程序,如图2.2所示。
⑤根据机器人行走留下的轨迹和机器人停下时的方向,决定是否需要返回流程图编辑界面修改程序。
图2.2 机器人的“单边行走”轨迹 步骤3:编辑、修改“单边行走”程序。
①在仿真环境中单击“退出”按钮,返回流程图编辑界面。
②在“转向”模块上右击,在弹出的“转向模块”对话框中修改转向时间,如图2.3所示。单击“确定”按钮后,“转向”模块变为“右转”模块。图2.3 修改转向时间 由于受机器人运动速度的影响,所以需要经过反复的调试才能
确定机器人转90°所用的时间。
单击工具栏中的“JC代码”按钮,我们可以看到“单边行走”程序流程图所对应的VJC代码,如图2.4所示。流程图中的每一个模块都对应一段JC程序代码,如果我们了解它们之间的对应关系,就可以从代码中看出各模块的参数设置 。智多星图2.4 机器人“单边行走”程序 通过对“右转”模块的参数设置及“右转”模块对应的JC程序代码的比较,我们可以看出代码drive(0,80)中的80是对电机右转功率的设置,代码wait(0.298000)的0.29800是对转弯时间的设置,代码stop()是停止电机的命令。
2、机器人走正方形
我们知道正方形的4条边相等、4个角都是直角,所以机器人走正方形的程序可以通过执行4次“单边行走”的程序来实现。如果一个动作要重复执行若干次,我们就可以使用仿真系统“控制模块库”中的“多次循环”模块来完成。
步骤1:让正方形的“单边行走”程序循环执行4次。
①将“单边行走”程序中的“前进”模块以后的程序拖至旁边。 ②从“控制模块库”中将“多次循环”模块拖至主程序的下边并连接。
③拖动旁边放置程序中的“结束”模块,使其与上面的“右转”模块分离。
④拖动“前进”模块,将“单边行走”程序段拖动至“多次循环”模块的循环过程中作为重复循环的内容。
⑤将“结束”模块连接到流程图末尾,如图2.5所示。
⑥在“多次循环”模块上右击,在弹出的“多次循环模块”对话框中将循环次数改为4后,单击“确定”按钮,如图2.6所示。图2.5 用“多次循环”模块控制循环 图2.6 修改循环次数 修改后的机器人走正方形程序的流程如图2.7所示。图2.7 机器人走正方形的程序流程 如果把程序流程中被重复执行的程序内容称为“循环体”,我们可以看出“多次循环”模块控制循环的过程是:当循环变量的值小于要循环的次数时,程序进入循环执行“循环体”;否则退出循环控制,执行循环体后面的程序内容,如图2.8所示。图2.8 循环模块的控制流程 步骤2:程序编写完成后,进入仿真环境中运行机器人走正方形的程序。
将以上机器人走正方形的程序改写为机器人走正六边形和正十边形的程序,机器人在仿真环境中走正n边形的运动轨迹如图2.9所示。
提示:由于正多边形的边数改变,若使机器人走完一个正n边形后停在起点处,关键是要调整“单边行走”程序中的转弯功率(速度)和转弯时间。DIY(a)机器人走正六边形 (b)机器人走正十边形
图2.9 机器人走正n边形的运动轨迹 视野拓展
JC代码小知识
驱动电机函数:
格式: drive(x,y)
功能:控制两个电机转动的函数。
说明:函数的两个参数x、y的取值范围是100到-100之间的整数。x用来控制前进的速度和方向,y用来控制转弯的速度和转弯的方向。x和y的取值同时决定了电机的功率级别。其中:
左电机功率级别=x+y
右电机功率级别=x-y
当电机功率级别大于0时,电机控制的轮子向前转动;当电机功率级别小于0时,电机控制的轮子向后转动。代表电机功率级别数值的绝对值越大转速越快,绝对值越小转速越慢。 创作天地
当边数足够多,适当缩短“单边行走”的距离,合理调整转弯的时间,你会发现机器人走正多边形的轨迹近似于圆。请编写机器人走正十五边形的程序,机器人在仿真环境中的运动轨迹如图2.10所示。图2.10 机器人走正十五边形的运动轨迹谢 谢