本站首页 开源机器人 虚拟机器人 竞赛探究 技术课标 电子技术 相关资料 相关照片 相关下载 留言板
您现在的位置: 江苏省句容高级中学机器人创新教育基地 >> 虚拟机器人 >> 培训教程 >> 正文 今天是:
第五章  机器人灭火程序分析
作者:佚名    文章来源:转载    点击数:1095    更新时间:2013-1-7    
        ★★★ 【字体:

教学目标

掌握3D仿真虚拟机器人平台各部分的综合使用、机器人程序的编写,掌握机器人越障,巡线,灭火的基本原理及各功能程序在整个程序里的作用、判断,循环语句的熟练使用。

教学重点和难点

1、教学重点:机器人巡白线、机器人越障碍物、机器人灭火。

2、教学难点:掌握各传感器参数设置以达到巡线、绕障、灭火的工作原理。

教学过程

一、2009年广州市3D仿真虚拟机器人大赛小学组场景

展示小学组大赛场景,让大家了解机器人所需要完成的任务,在展示任务的同时提出问题,引导大家分析机器人需要完成的任务。

(一)场景里面的任务是什么?

在本程序中,我们的任务是要让机器人跟着白线走,当发现障碍物的时候,要想方法绕过障碍物,如果遇到火源,需要将火扑灭。

(二)比赛的成绩计算

目前的计算方法:完成任务的前提下,完成任务的时间越短为优胜,按完成任务的时间最短排序。

(三)结论:

首先是想办法完成任务;其次是想尽可用的办法,缩短完成任务的时间。

二、任务的完成

(一)巡线(如图1

巡线任务是机器人首先要完成的任务,此任务贯穿于整个灭火的过程。

1、光电传感器

本程序要用到两个光电传感器:分别设置在机器人的前左下和前右下(iLight_1iLight_2);两个光电传感器的端口设置为12;光电传感器返回值大于20即为发现白线。

2、光电传感器的程序

本巡线程序需要对两个光电传感器分别进行假设,分析机器人的五种状态:十字路口、左轮压线、右轮压线、两轮夹线、出线五种情况。并让程序在这五种情况下分别作出处理动作。

3、机器人的起点设置

机器人的起点位置必须设置在白线中,让至少其中一个光电传感器(或两个传感器)压线,机器人调用巡线运动。

 

1 巡线

 

 

(二)机器人绕障(如图2

1本程序用一个超声波传感器放置于机器人正前正中的位置(iDist_1),端口设置为3

2超声波传感器程序

超声波传感器最远感应距离为20;故在机器人运动过程中,不断地对机器人的前方是否有障碍物进行判断。

3有障碍物时机器人的反应

在机器人遇到障碍物的时候,机器人必须作出处理:旋转->直走->旋转->直走->旋转->直走->旋转->巡线运动

 2

4需要注意的问题

在机器人旋转时的方向、机器人旋转后所走的距离要保证能越过障碍物、要确保机器人越障后能回归到白线继续执行巡线的运动。

(三)机器人灭火(如图3

1)红外传感器:本程序中用到2个红外传感器,分别放置于机器人的前左上和前右上位置。(iInfrared_1iInfrared_2)端口分别为45

2)红外传感器的程序:

    通过对其中一个红外传感器进行判断,如果发现火源,即进行比较:比较两个红外传感器差的绝对值。如果绝对值小于某一设定的值,即说明消防水枪离火源的距离和角度准确,能灭火。否则能发现火源不能灭火。

3)机器人发现火源的反应

比较两个红外传感器的差值绝对值。比较后判断是否停车,灭火。

 3

    4)需要注意的问题

机器人与火源的距离必须足够近,水枪才能将火扑灭;灭火后要跳出循环让全部成效停止运动。

三、作业

1、机器人遇到障碍物的时候,请用“移动”模块绕过障碍物。

2、动手实现一个障碍物、一个火源的机器人灭火程序,要求尽可能短的时间完成灭火任务。

 

附上机操作步骤

点击“场景”标签,选择“打开”按钮,在打开的文件导航里面,选择虚拟机器人软件安装所在的目录下面的“Scenes”“广州市赛”“小学”“小学.sce”场景。

 

机器人模型的建立:

1.      点击“场景”标签,选择“打开”按钮,在打开的文件导航里面,选择“广州市赛”小学场景。

2.      点击“模型”标签,点击“新建”,在机器人模型中,找到“I_F_L_D”,在传感器栏目选择“光电”,端口选择为“1”,方向设置为“下”。

3.      在机器人模型中,找到“I_F_R_D”,在传感器栏目选择“光电”,端口选择为“2”,方向设置为“下”。

4.      在机器人模型中,找到“I_F_M_M”,在传感器栏目选择“超声波”,端口选择为“3”,方向设置为“前”。

5.      在机器人模型中,找到“I_F_L_U”,在传感器栏目选择“红外”,端口选择为“4”,方向设置为“左前”。

6.      在机器人模型中,找到“I_F_R_U”,在传感器栏目选择“红外”,端口选择为“5”,方向设置为“右前”。

7.      点击“保存”,将机器人模型命名为“小学灭火”,保存于自己的文件夹中。

 

机器人程序的设置:

1.      点击“程序”标签,选择“新建”,在弹出的对话框中,选择你要保存程序的文件夹。给程序起名为“小学灭火程序”

2.      点击“执行”,在“执行”里面选择“移动”,将鼠标放置于图形化编程界面区,将“移动”模块连接于“START”的下方红色小点处;

3.      点击“流程”,在“流程”里面选择“循环”,连接于“移动”模块下面的小红色点处;

4.      点击“传感器”,在“传感器”里面选择“超声波传感器”,连接于“循环”下方的小红点处;在右上角“属性”栏目里面,在端口下拉中选择“3

 

以下是设置绕障的步骤:

5.      点击“流程”,在“流程”里面选择“分支”,连接于“超声波传感器”模块下面的小红色点处;在右上角“属性”栏目里面,变量下拉菜单选择“iDist_1”,比较类型选择“<”,比较值填“12

6.      点击“执行”,在“执行”里面选择“旋转”,连接于“分支”的左边,在右上角“属性”栏目里面,设置角度为“-90

7.      点击“执行”,在“执行”里面选择“移动”,连接于“旋转”下边的小红点处,在右上角的属性栏里设置“持续类型”为“时间”,在下面的“持续”填写“2

8.      点击“执行”,在“执行”里面选择“旋转”,连接于“移动”下边的小红色点处,在右上角“属性”栏目里面,设置角度为“90

9.      点击“执行”,在“执行”里面选择“移动”,连接于“旋转”下边的小红点处,在右上角的属性栏里设置“持续类型”为“时间”,在下面的“持续”填写“4

10.  点击“执行”,在“执行”里面选择“旋转”,连接于“移动”下边的小红色点处,在右上角“属性”栏目里面,设置角度为“90

11.  点击“执行”,在“执行”里面选择“移动”,连接于“旋转”下边的小红点处,在右上角的属性栏里设置“持续类型”为“时间”,在下面的“持续”填写“2

12.  点击“执行”,在“执行”里面选择“旋转”,连接于“移动”下边的小红色点处,在右上角“属性”栏目里面,设置角度为“-90

 

以下是设置发现火源并灭火的程序设置:

13.  在“传感器”里面选择两个“红外传感器”,将两个红外连接好后,连接于第一个“分支”的右边小红点处。分别选中两个传感器,将上面那个红外传感器的属性栏里端口设置为“4”,下面那个红外传感器的属性栏里端口设置为“5

14.  点击“流程”,在“流程”里面选择“分支”,连接于红外传感器下面的小红处,在右上角“属性”栏里面设置“变量”为“iInfrared_1”,“比较类型”设置为“>”,“比较值”设置为50

15.  点击“数据”,在“数据”里面选择“变量”连接于第二个“分支”左边的红点处,在“数据”里面选择“计算”,在属性栏目里面点击“”然后在弹出的对话框中,Variable的下拉菜单中选择mVar_1,选择计算器里面的“=”,再选择计算器里面的“abs”,在选择计算器中的“(”,再选择Variable的下拉菜单中的“iInfrared_1”,再选择计算器中的“-”,再选择Variable的下拉菜单中的iInfrared_2,再选择计算器中的“)

16.  点击“流程”,在“流程”里面选择“分支”,将“分支”连接于“计算”的小红点处,在其属性面板的“变量”里面选择“mVar_1”,“比较类型”选择“<”,“比较值”输入10.

17.  点击“流程”里面的“停止”将其连接于第三个“分支”的左边红色点处。在“执行”模块里面选择“水枪”,连接于“停止”下面的小红点处,在“流程”里面选择“Break”连接于“水枪”下面的红色点处。

 

 

以下是设置机器人巡线的程序:

18.  在“传感器”里面选择两个“光电传感器”,将两个光电传感器连接号好后,连接于第二个“分支”的右边,分别选中上面的光电传感器,在属性面板里面选择端口为“1”,将下面的光电传感器端口设置为“2”。

19.  点击“流程”,在“流程”里面选择“分支”,选择分支的属性栏里面的“变量”设置为“iLight_1”,比较类型设置为“>”,比较值设置为“20

20.  点击“流程”,在“流程”里面选择“分支”,选择分支的属性栏里面的“变量”设置为“iLight_2”,比较类型设置为“>”,比较值设置为“20

21.  点击“执行”,在“执行”里面选择“移动”,选择分支的属性栏里面的“功率”设置为“10”,方向设置为“-40

22.  点击“流程”,在“流程”里面选择“分支”,放置于第四个分支的右边,选择分支的属性栏里面的“变量”设置为“iLight_2”,比较类型设置为“>”,比较值设置为“20

23.  点击“执行”,在“执行”里面选择“移动”,连接在第六个分支的左边,选择分支的属性栏里面的“功率”设置为“10”,方向设置为“40

24.  点击“执行”,在“执行”里面选择“移动”,连接在第六个分支的右边,选择分支的属性栏里面的“功率”设置为“100

25.  点击“保存”,“编译”。

 

演示机器人灭火:

26.  回到“场景”标签,设置好起点位置后,点击“机器人控制”下面的机器人,加载刚才设置保存好的机器人“小学灭火.ive”,点击“机器人控制”下面的“程序”,给机器人加载以上编写好的程序。点击“启动”即可观看到机器人巡线、绕障、灭火的过程。

文章录入:admin    责任编辑:w 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)