十一节导盲机器人(二).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一节 导盲机器人(二) 我们为机器人编写了程序,使它能够带着小明上下学 。可是在编写程序后发现,我们写的程序对于机器人的出发点要求非常高,一旦出发点发生了改变,就很有可能无法完成任务了。我们有没更好的方法解决呢? 我的问题 是否可以写一个程序,让机器人对于出发点的要求不那么严格? 能不能写一个可以完成所有上下学任务的通用程序? 活动建议 仔细想一想人在在走路的时候是如何判断道路的各种情况的,然后分析小明要走的每条道路的情况。 利用“地面探测传感器”探测地面颜色是否为白色的方法来完成导盲任务。 程序完成后应进行多次调试,并在调试中找出发现的问题或者程序里还不完善的地方。 操作指南 上节课我们运用机器人指定步长的方法使其为小明导盲,这种方法对于机器人的出发点要求很严格,如果出发点靠前或靠后都可能使得机器人无法到达学校。为了更好的解决这个问题,我们将利用机器人的“眼睛”——地面探测传感器来完成这个任务。有了“眼睛”的机器人可以通过探测出地面颜色的灰度变化来辨别道路,这样你就不用担心机器人的出发点是不上靠前或靠后了。我们甚至可以利用它写出一个程序,使机器人无论是走线路一,还上线路二,都可以顺利到达学校。 一、利用地面探测传感器设计线路一程序 分析 首先对场地进行分析,由图2—24可知:路是由白色构成的。利用地面探测传感器能够探测颜色灰度这一特性,我们可以让机器人在出发后边(走一定距离)边检测路面情况(探测地面颜色),即随时判断路面的颜色是不是白色。如故是白色,就说明机器人正在路上走;而如果当机器人探测到地面的颜色不是白色的时候,说明机器人已经走到A段路的尽头。这时让机器人右转90度,之后再让机器人边走边检测。我们可以用如图2—26所示的流程图表示这一过程。 图2—26 操作 判断是否停止可用“永久循环”模块。将“控制模块库”中的“永远循环”添加到主程序中。 添加“地面检测”传感器并进行相应的设置。 1)将“传感器模块库”中的“地面探测”传感器添加到主程序中(如图2—27)(a)所示)。 2)在“地面检测”模块上单击鼠标右键,在如图2—27)(c)所示的对话框中,单击“检测完成后,进行条件判断”按钮;在如图2-27(d)所示的对话框中选择下拉表框中的“==”,再将右边文本框中的数值改为“0”(白色),单击“确定”按钮。 这时主程序就变成了如图2-27(b)所示。它表示的意思是让地面探测传感器探测地面是不是等于白色,如果是则让机器人做一件事,如果不是则让机器人做另一件事。 (b) (d) 图2—27 根据地面检测情况,让机器人选择应对。 根据任务的分析,在地面检测模块中,当地面为白色时让机器人前进,而当地面颜色不是白色时则右转。因此,分别在主程序的“地面检测”模块的左右分别添加“前进”模块和“右转”模块,如图2—28所示。 图2—28 提示: 1 直行模块和转向模块分别应放在地面检测模块的哪一边? 2 在对直行模块中的 速度和时间进行设置时,要注意设置的值不应该使机器人一次走的太多。你能想出为什么吗? 这样,利用地面探测传感器让机器人走线路一的程序就完成了。到仿真环境中试一试,看看机器人能不能很好的完成任务? 利用地面探测传感器设计线路二程序 由于从线路一到学校只要拐一个湾,所以只要路面的颜色不是白色的时候就右转。而在线路二中(如图2—29)既有右转又有左转,利用线路一的程序就不能够完成任务了。 图2—29 分析 1)线路二有一个左转90度的弯 两个右转90度的弯。利用线路一的程序很容易解决右转的 问题,所以我们依然以线路一的程序为基础,通过对程序进行扩充,使它能够“左转”。 2)当机器人到达B处时,按照程序机器人将右转90度,转弯后的机器人将判断C处的颜色。这时我们可以再加入一个判断:如果地面颜色时白色就前进(和以前的功能一样);当探测到的颜色依然不是白色时,那就让机器人右转180度(直接掉转方向),这样机器人就又会按照线路行走了。 如图2—30所示的流程图表示了这一过程。 图2—30 2、操作 1)打开线路一程序 2)添加“地面检测”模块,在“地面检测”模块上单击鼠标右键,在弹出的“地面检测”对话框中,单击“检测完成后,进行条件判断”按钮;在弹出的对话框中选择下拉表框中的“==”,再将右边文本框中的数值改为“0”,单击“确定”按钮。(如图2—31所示)。 3)根据地面检测情况,让机器人选择应对。 在地面检测模块中,当地面的颜色是白色时让机器人前进,否则当地面颜色不是白色时则右转180度,如图

文档评论(0)

phl805 + 关注
实名认证
文档贡献者

建筑从业资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月12日上传了建筑从业资格证

1亿VIP精品文档

相关文档