【中学生创客.虚拟机器人】3.2穿越浮桥
第二节 穿越浮桥
机器人历尽艰辛,终于从神秘的迷宫里转出来了,离寻到宝藏近了一步。但是,出现在它眼前的是一段飘渺的悬浮桥,可千万不要向下看哦,桥的两边是无尽的深渊,可怕的是, 这桥竟然没有栏杆,掉下去就,就……,不敢想象。机器人不禁打起退堂鼓来。
一、任务初探
这个任务要求机器人从悬浮桥的一段出发,安全的穿越悬浮桥,到达另一端。规则中设定好只要机器人到达另一端,任务即成功,机器人停止运行,所以我们不需要判断机器人何时到达终点。机器人起始方向为起始位置上标注的箭头所示方向;
同学们,想想看,你们有什么办法帮助机器人安全的穿过这段可怕的悬浮桥呢?
图 3-2-1 机器人起始点
图 3-2-2 悬浮桥全貌
二、知识汲取
双灰度传感器走线法:在机器人的前部位置装上左右两个灰度传感器,这两个灰度传感器的间距要大于线的宽度。走线方法如下:
当左灰度传感器检测到线时,机器人向左转;
当右灰度传感器检测到线时,机器人向右转;
两个传感器都没检测到线时,机器人直行。
三、实践验证
(一)任务分析
我们观察任务地图,发现悬浮桥的中间是一条土路,土路的两边是草地,土路和草地有明显的颜色区别。在以前的课中,我们曾经学习了利用单个灰度传感器检测双黄线沿线走的方法。这里是否也可以试一下呢?有兴趣的同学可以自己研究一下。但根据我们以前得到的经验,利用单个灰度传感器沿线走,机器人左右摆动的很厉害,而且,稍微速度快一点,机器人就有可能脱离地下的线的束缚,像无头苍蝇一样找不着南北了。
在上节课机器人走迷宫的任务中,我们给机器人装上了三个障碍传感器,检测迷宫上的墙壁,那么,在这里我们能否也多装一些灰度传感器,让机器人走的更稳定一些呢?我们可以给机器人的前部安装两个灰度传感器,利用“双灰度传感器走线法”完成任务。
在本任务中,我们要先测出土路和草地的灰度值。测灰度值的方法在前面的课中曾经学习过,这里就不加以描述。在这里,我们测出草地的灰度值如图 3-2-3 所示,土路的灰度值
如图 3-2-4 所示,取色点在不同的位置可能会有微小的区别,所以我们可以取两个灰度值的中间值来作为它们的分界值,这里取为 103。
图 3-2-3 草地灰度值
图 3-2-4 土路灰度值
(二)搭建机器人
进入搭建机器人平台,我们还是可以先从模版里拖出一个初始机器人,初始机器人包括了基本的主机和马达。我们这次要添加的主要是两个灰度传感器。
1.灰度传感器的搭建方法给以前的课相同,因为要保证两个灰度传感器的间距大于土路的宽度,所以需要在主机的前部添加一些安装块,如图 3-2-5 所示:安装好后设置左灰度的端口为 40,右灰度的端口为 41(可以根据需要自己定)。
图 3-2-5 灰度传感器安装
2.检查一下四个马达的端口号,确认左边马达端口为 1 号和 2 号,设置为“反转电机”,右边马达端口号为 3 号和 4 号。另存该机器人名称为“机器人_魔幻寻宝_3_2”。
(三)设计程序
1.任务动作分析并绘制流程图
因为规则中已经设定好穿过悬浮桥后机器人会自动停止运行,所以我们可以用一个无限循环。在无限循环体内,判断左右灰度值,并做如下动作:
当左灰度检测到土路时,机器人向左转;
当右灰度检测到土路时,机器人向右转;
两个都没检测到土路时,机器人直行。程序流程图如图 3-2-6 下:
图 3-2-6 灰度传感器安装
2.程序编写
在离线主界面中点击【编写程序】进入程序编辑窗口,单击【新建】按钮新建程序,选择机器人为“机器人_魔幻寻宝_3_2”。
根据流程图,我们进行程序的编写。左转、右转,直行时各个马达的能量值需要进行多次调试, 保证我们机器人安全的情况下,更快速的通过悬浮桥。
图 3-2-7 判断土路程序
表 3-2-1 第一个判断模块判断 “左灰度传感器”是否检测到土路
序号 |
功能模块 |
参考值 |
1 |
判断条件为左灰度传感器 |
40 端口,值小于 103 |
2 |
当值小于 103(检测到土路) |
直流电机向左偏转运行(具体值请自行调试) |
3 |
当值大于 103(没用检测到 土路) |
进入第二个判断模块 |
表 3-2-1 第二个判断模块判断 “右灰度传感器”是否检测到土路
序号 |
功能模块 |
参考值 |
1 |
判断条件为右灰度传感器 |
41 端口,值小于 103 |
2 |
当值小于 103(检测到土路) |
直流电机向右偏转运行(具体值请自行调试) |
2 |
当值大于 103(没用检测到 土路) |
直行 |
最后将程序以“机器人_魔幻寻宝_3_2”为文件名保存起来。
(四)进入仿真
单击【开始仿真】并选择【新建仿真】,并以此选择任务、机器人、程序,并输入仿真包文件名,以便下次可以快速的打开这个项目,最后单击【保存进入】按钮进入到仿真界面。
紧张激动的时刻就要来了,看到机器人不停的调整方向动作,大家是不是有种揪心的感觉。如果机器人不幸摔下了万丈深渊,大家也不要太失落,振作精神,点击【复位】按钮让可爱的机器人复活吧,当然,你可不能马上再把它往死路里推,一定要检查修改一下机器人的搭建和程序,再让机器人踏上新的征程哦。
四、课后提升
1.为了稳定,我们在一开始调试机器人的时候,总是会把电机的速度调的比较低。大家在完成了任务后,可以逐步增加电机的速度,争取以最少的时间完成任务。
2.请同学修改两个灰度传感器的间距,看看机器人的运行状态会有哪些变化。
3.如果我们给机器人前部的中间也加一个灰度传感器,并让它也参与检测土路和草地, 大家能编写程序,让机器人完成任务吗?如果能,大家说说稳定性与速度上有没有比安装两个灰度传感器的机器人有优势。
<< 上一篇
下一篇 >>
网友留言(0 条)