除了直行,转弯也是智能小车必备的基本功能之一。本课我们就来研究如何让小车从A点直行到B点后,能顺利转弯并直行到C点。
要让智能小车转弯,可以通过控制左右两个轮子的速度来实现。两个轮子的速度差不一样,小车转弯时的状态也不同,常见的有以下三种:
请先编写如下图3-2所示的程序:
然后根据下方表格中的数据分别设置电机输出值,接着下载到智能小车中运行,观察不同参数下的运动状态,最后将观察结果记录到表格中。
注意:运行程序前请确认小车的左电机和MA端口连接,右电机和MB端口相连。
要让智能小车从A点经B点到达C点,可以分三个步骤来完成:首先小车从A点直行到B点,然后在B点转弯,最后从B点直行到C点。
具体程序流程图如下所示:
在上图3-3所示的程序流程图中,“右转弯”又可细化成哪几个执行动作?请你把“右转弯”右边的流程图填写完整。
智能小车从A点直行到B点,执行的是与第2课类似的“直线行走”的任务。具体的程序脚本如下图3-4所示:
由于智能小车都不相同,因此请根据实际情况调整“等待”指令的参数值,使得智能小车从A点直行到B点时刚好停在B点附近。
智能小车到达B点后,要向C点行驶,需要向右旋转。理论上三种常见的转弯方式都可以让小车实现右转功能。下面以绕轮子的中心轴原地转弯为例,在如上图3-4所示的程序基础上继续编程:
在“等待”指令下方插入一个“设置双电机”指令,设置指令的第一个参数为“MB”、第二个参数为“-150”,使得智能小车的右电机反向转动,从而带动轮子向C点右转。
在刚添加的指令下方再插入一个“等待”指令,让右电机反向转动持续一段时间,当智能小车车头正对C点的方向时停下。具体的等待时间,可以根据实际情况调整。
具体的程序脚本如下图3-5所示:
右电机反向转动的输出值除了“-150”,还可以是其它值吗?如果改为其它数值,程序应该如何调整?
智能小车在B点成功转向C点方向后,只要继续直行,就可以到达C点。可以在如上图3-5所示的程序基础上再插入一个“设置双电机”指令和一个“等待”指令。并根据实际情况调整新添加“等待”指令的参数值。
具体的程序脚本如下图所示:
会转弯的智能小车还可以走出很多花样轨迹。请选择下列图形中的一个,编写程序让智能小车移动的轨迹与所选图形相同。