【中学生创客.虚拟机器人】2.3精准停靠

第三节 精准停靠

一、任务初探

同学们一定乘坐过快速公交车吧,每次进公交车站时,公交车能非常准确地将车门对准 站台入口,惊叹驾驶员的车技!而动车、高铁更是精确无误地将车门对准月台上的排队线并 停止车辆。我们是否也能让我们的机器人小车在道路上行驶并精准地停留在虚拟的公交车站呢?如果需要完成这样的任务除了基本的小车部件以外还需要其他部件吗?或者说如何让机器人小车知道自己到达了车站?

接下来先看看本节课的任务吧,在本节课中机器人小车将运行一段较长的路程,如图

 

             

图2-3-1从起点出发并行驶到公路上          图2-3-2在蓝色区域停留5秒后继续前进

 

本节课中,需要让机器人小车从起点出发,行驶到公路上后向右转弯,然后沿着公路一 直向前行驶,直到到达公交车站并停留5秒后再继续前进。在这个任务中,最为关键的就是 寻找能让机器人小车判断到达车站的参照点,仔细的同学应该会发现在车站里有一个广告牌高出地面并在公路的边上,或许这个就可以成为机器人小车的利用障碍传感器去检测的目标。


二、知识汲取

在本节课中,我们将学习障碍传感器与条件循环语句的使用,从而能让机器人小车完成精准停靠的任务。 

(一)什么是障碍传感器 障碍传感器是机器人运行过程中所常用的传感器,看名字就可以理解它的功能,它是用来检测障碍的,它是一个数字传感器,故其检测结果的值只有0和1,0表示没有检测到障碍,而1是检测到障碍了。如图2-3-3所示。当然它也是有检测的距离范围,在此虚拟环境中,障碍传感器的检测范围为500,当障碍超过它的检测范围将会被忽略,在程序设计过程中我们可以根据需要,对障碍传感器的检测范围进行适当地调整,以满足任务的需求。

在机器人活动中,障碍传感器往往被用在检测物体是否存在的程序段中,而是否有物体被检测到将成为程序的 变换点,也可以通俗地理解为当没有物体被检测到时执行 某个动作直到检测到物体后执行另外一个动作。

(二)条件循环 在第二节中我们已经使用了次数循环模块,极大地减少了程序的重复编写。而条件循环模块在未知地形却有明 确任务终点时有着很大的用武之地。在程序编辑窗口中查看条件循环模块图标,如图2-3-4所示,我们可以通俗地理解为:“一直【运行某个动作】直到【足某个条件】之 后运行【另一个动作】”。

 

图2-3-4 条件循环


在条件循环模块图标的右边,我们可以设置相应的条件,可以触发的条件非常多,可以是灰度的变化、光线的变化、海拔的变化、距离的变化等等,在本节课中我们将设置障碍传感器是否检测到物体。

 

三、实践验证 

在今天的课中,我们将第一次进行传感器的应用,让我们的机器人小车更智能地去感知 外部环境的变化。 

(一)搭建机器人 如果需要用障碍传感器检测广告牌,则需要在机器人小车上安装障碍传感器,打开机器

人编辑窗口,为了避免机器人小车本身的结构部件干扰传感器的检车,我们可以将障碍传感 器搭建地略微高些,避免例如车轮等部件挡住传感器的检测,此时则需要用到长方体的安装块,安装方法与本章第一节中所学的一样,同时当传感器安装成功后调整传感器位置,使得检测口对准机器人小车的右侧,因为我们需要检测的广告牌在公路的右侧。如图2-3-5所示。安装完成后别着急保存退出,需要让控制器控制障碍传感器的工作还需要设置障碍传感器的属性,在此我们将障碍传感器设置为31号数字端口,并设置其检测距离为350,最后将机器人小车以“机器人_出色的驾驶员_2_3”为文件名进行保存。

 

图2-3-5 搭建完成的机器人小车 

【小技巧】 由于是三维的编辑界面,可能会发生无法正确选择安装部件的安装点,而在机器人搭建窗口中,我们可以选中对象后按空格键使其旋转,同学们可以使用这个方法调整对象的位置,直到找到合适的安装点为止,同时也可以用相同的方法调整传感器的位置。

 

(二)设计程序 

1.任务动作分析并绘制流程图分析一下机器人小车完成任务所需要的动作,我们可以发现,从起点出发只需使用延时使其到达公路,然后进行直角转弯即可,这段程序在第二节课中已经使用过了。而在公路上行驶时,则需要一直判断是否到达车站,利用广告牌作为判断点,那么我们核心的程序思路即可如图2-3-6所示,使用条件循环模块利用障碍传感器一直判断右侧是否障碍即可,如果 没有障碍就一直前进,如果有就跳出条件循环。

2.程序编写按照流程图的思路进行程序的编写,有了多次循环模块的编辑经验,对于条件循环模块的编辑应该学会类比,它们的 编辑方式非常类似,在条件循环开始前的一段程序则是前进与 直角转弯动作,在此不再详解。条件循环的循环体则是直行动作,其判断的条件是31号端口的障碍传感器是否检测到物体,当检测到物体后退出循环并做停止动作,然后继续前进完成任务。如图2-3-7所示。最后将程序以“机器人_出色的驾驶员_2_3”为文件名进行保存。

(三)程序图标参考值提示在此提示的程序参考值仅为条件循环部分,其余的内容请同学们自行调试完成。如表2-3-1所示。

表2-3-1条件循环模块各图标参考值

序号

功能模块

参考值

1

循环体内多直流电机驱动

6(1~4端口均为正转)

2

循环条件为障碍传感器

31端口,值为1

  

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

1.如果机器人小车未能在公路上沿直线行走,请查看转弯是否正确?

2.经过了车站未能停止,请查看障碍传感器所对的方向是否是右侧,以及其端口设置是否与程序中的端口匹配。

3.若还有其他问题,请仔细检查程序中是否有漏写的内容。

  

四、课后提升 

1.尝试提高速度以完成任务。

2.仔细观察虚拟环境中,障碍传感器的检测方向有一条直线,该直线的作用是什么?


网友留言(0 条)

发表评论

验证码