【中学生创客.虚拟机器人】2.5遵守交规

第五节 遵守交规

一、任务初探

在现实生活的公路上,我们常常可以在路面中间位置看见双黄线,那么双黄线是干什么的呢?双黄线好比一堵无形的墙,将道路分割成双向车道,是严禁跨越的,比如超车、转弯、  掉头等。行车时没有特别情况就不应该越线。

那么在我们的虚拟场景的公路上中也有一条双黄线,如何控制我们的机器人小车不越过双黄线,在遵守交规的前提下安全行驶呢?

二、知识汲取

本节课将是上节课知识的拓展,在上节课中,我们利用了障碍传感器检测建筑物的方式来确定机器人小车距离建筑物的位置,从而及时地调整机器人小车的动作,使其一直与建筑物保持着适合的距离,并利用条件循环的方式使小车在公路上前行。

那么在这节课中,观察任务场景发现没有其余可以参照的物体,而双黄线是道路上一条明显的标记,如果我们的机器人小车能沿着双黄线前进,则既能保证遵守交规也能使得机器人小车的行驶方向保持正确。

利用相同的程序设计思路,但更换所需检测的对象或者说更换检测工具,让我们的机器人小车继续在公路上安全行驶吧。

三、实践验证

(一)明确我们的任务

在接下去的一段公路中,没有周边可以用于参照的建筑物,我们的障碍传感器就暂时无用武之地了,但公路中间的双黄线使得我们的灰度传感器可以发挥其特长。我们可以一直沿双黄线前进直到到达最后一站并靠右停靠即可完成任务。

(二)搭建机器人

由于双黄线在公路的中间,而为了遵守交规,我们的机器人小车不能越过双黄线,所以我们应该在机器人的左前方安装一个灰度传感器,且其最外延超过左侧的轮子,同时保留原有机器人小车上的其他所有传感器,因为机器人小车中间的灰度传感器需要检测公路上的灰色横线以得知即将到达车站,而右侧的障碍传感器还将继续检测广告牌以便准确地停靠在车站边。如图 2-5-1 所示。不要忘记给新添加的灰度传感器设置端口号。

图 2-5-1 搭建好的机器人小车

(三)设计程序

1.任务动作分析并绘制流程图本次任务可继续使用上节课中

的程序设计理念,唯一不同的地方在于不使用障碍传感器检测建筑物,而是用灰度传感器检测双黄线。但同样使用条件判断与条件循环的嵌套工作模式进行。如图 2-5-2 所示,其余的程序部分基本不变。

2.程序编写


在程序编写过程中首先要检测灰度值,以便在程序中有效地添加判断条件,而整个程序的结构几乎不需要更改就能很好地完成新的任务了。所以请各位同学养成保留程序的习惯,因为即便在不同的任务规则中,程序的使用往往是大同小异的,即便有不同的解决方法,原有的程序也会为发现解决方法提供思路,养成程序的注释与保存将使得各位同学在以后的学习里事半功倍。

图 2-5-2 程序流程图

 

(四)程序图标初始值提示

在此提示的程序初始值仅为条件循环及条件判断部分,其余的内容请同学们自行调试完成。如表 2-4-1 所示。当完成这段条件循环后,可以用多种方式到达车站并完成任务。


 

表 2-3-1 条件循环模块各图标初始值

序号

设备

初始值

1

循环条件为灰度传感器

32 端口,值为大于 60

2

判断条件为障碍传感器

31 端口,值为 1

3

当值为 1

直流电机向左偏转运行(具体值请自行调试)

4

当值为 0

直流电机向左偏转运行(具体值请自行调试)

(四)进入仿真

一切都设置好后即可进入仿真进行调试了,同学们可以调整各项数值以达到更高的得分。调试过程中如果出现问题请从以下几个方面进行分析。

1.如果机器人小车在转弯时穿过了双黄线,请调整判断模块中机器人小车转弯的幅度。

2.与利用单个障碍传感器行走一样,利用单个灰度传感器沿线走也会使得机器人小车在行走过程中出现小幅左右摆动,但如果出现大幅摆动,就需要查看程序撰写过程中是否有不合理的地方了。

四、课后提升

1.回顾本章所有内容,利用所学知识,尝试调整程序各个参数,使我们的机器人小车获得更高的积分。

网友留言(0 条)

发表评论

验证码