导盲机器人(三)
活动任务
上节课我们解决了用一个程序同时完成从路线一和路线二上学和放学问题,但是依然存在一些不足,如到学校后或者回家后机器人不能够停下来了,有时机器人不能够按照预想运动。我们应该寻找一个更好的方法来解决这些问题。
我的问题
我发现地面五颜六色,是否可以利用探测地面不同颜色的方法来解决导盲问题?
如何探测地面的不同颜色?
利用探测地面颜色的方法是不是就可以解决机器人到达学校或家后无法停下的问题?
资料
利用地面探测传感器探测地面不同的颜色,而每一种颜色都有固定的数值。在编写程序让机器人导盲的过程中,机器人什么时候左转、什么时候右转是一个比较难的地方。而地面探测传感器可以探测地面的不同颜色,利用这一点是不是可以很容易地解决机器人转向问题呢?请仔细观察图1-33中机器人需要右转的地方的场地颜色,需要左转的地方的场地颜色,利用机器人识别不同颜色的方法,不但可以轻松地判断出何处转弯、向哪个方向转弯,也可以判断出学校、家在哪里,什么时候应该让机器人停止运动。
操作指南
检测地面颜色的方法:
(1)将“传感器模块库”中的“地面检测”模块添加到主程序中。
(2)将“执行器模块库”中的“显示”模块添加到主程序中,如图1-34所示。
(3)设置“显示模块”显示内容。
①在“显示模块”上单击鼠标右键。
②按如图1-35所示操作。
(4)在仿真环境中探测场地颜色。
进入仿真环境后,单击“运行”按钮,并将机器人放在需要探测的地方,探测后的颜色值就会在右上角显示,如图1-36所示。
分别检测场地各部分的颜色值,并记录在表1-2中备用。
{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}
家
路
学校
绿地
超市
其他
颜色值
表1-2
二、探测地面颜色判断转向
我们以线路二为例让机器人通过地面颜色来判断左转或右转。
1.分析
线路二无论是从家出发去学校还是从学校回家,在应该左转处都有绿地。这时我们就可以:
(1)让机器人走一段距离就判断一次地面颜色是否是白色,如果是白色则继续前进一段距离,再判断地面颜色。
(2)如果机器人探测地面的颜色不是白色时,可以让机器人继续判断地面是否是绿色(即草地的颜色),如果是则左转,如果不是则右转,然后循环这个过程。
2.按照操作提示,自己完成程序的编写
提示
对第一个“地面检测”模块进行设置条件判断,应该判断是否为“白”;对第二个“地面检测”模块进行设置条件判断,应该判断是否为“绿色”。
三、到学校或到家后机器人自动停下
原程序已经解决了在路上行走的问题,但是不能到目的地就停下。那么我们以刚才的程序为基础,稍微进行更改,便可使机器人能够自动停下。机器人通过颜色的判断可以左转或者是右转,由此我们同样可以通过判断地面颜色来决定机器人停止还是继续前进。
1.分析
(1)判断地面颜色是否为白色(路面)。如果是,则前进一段距离后继续判断地面颜色;如果不是,则继续下面的判断。
(2)判断地面颜色是否为蓝色(学校)。如果是,则机器人停止运行;如果不是,则机器人继续下面的判断。
(3)判断地面颜色是否为粉红色(家)。如果是,则机器人停止运行;如果不是,则机器人继续下面的判断。
(4)判断地面颜色是否是绿色(绿地)或者橘红色(超市)。如果是,则机器人左转90度;如果不是,则右转90度。
2.根据上面的分析自己画出流程图,并在虚拟环境中实现
谢 谢