《仿真灭火机器人教程.ppt》由会员分享,可在线阅读,更多相关《仿真灭火机器人教程.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、仿真平台介绍仿真平台介绍广茂达伙伴机器人有限公司开发的“能力风暴VJC1.5仿真版“VJC1.5开发版”简便易学的图形化编程风格。同时,用户能在PC机上对程序进行仿真,通过虚拟机器人模拟“能力风暴智能机器人”的行为,从而验证软件的正确性,提高程序设计与调试能力。平台的安装平台的安装安装:双击拷贝资料中如图所示的图标。用户可根据安装向导的提示进行安装,安装成功后,图形化交互式C语言开发库以及范例会自动安装到指定目录(默认为c盘)。模块库区1.执行模块执行模块执行模块库简介功能:“直行”模块主要用于控制机器人前进、后退。操作:用鼠标将“直行”模块移到流程图生成区并连接在程序中。设置时,右击“直行”
2、模块,在弹出的对话框中设置参数。设置参数说明:速度:可用两种方式进行设置。第一种方式,可在速度输入对话框中直接输入速度值。当输入值为正时,机器人前进;值为0时,机器人停止;值为负时,机器人后退。输入值的绝对值越大,机器人移动速度就越快。第二种方式,可以直接用鼠标拖动标尺上的游标,改变速度的大小。注意:“直行”模块的名称根据设置的不同速度而变化,如果设置正速度,模块名称为“前进”;如果设置负速度,模块名称为“后退”;如果设置速度为0,模块名称为“停止”。时间:在时间输入对话框中,输入机器人移动的时间,单位为秒。你也可以选中随机时间,得到小于输入值的随机时间。直行转向功能:“转向”模块主要用于控制
3、机器人转向。操作:用鼠标将“转向”模块移到流程图生成区并连接在程序中。设置时,右击“转向”模块,在弹出的对话框中输入速度和时间。设置参数说明:转向速度:可用两种方式进行设置。第一种方式,可在对话框中直接输入速度值。当输入值为正时,机器人右转;值为0时,机器人原地不动(停止);值为负时,机器人左转。输入值的绝对值越大,机器人转动速度就越快。第二种方式,也可以直接用鼠标拖动游尺上的游标,设置转向速度。注意:“转向”模块的名称根据设置的不同速度而变化,如果设置正速度,模块名称为“右转”;如果设置负速度,模块名称为“左转”;如果设置速度为0,模块名称为“停止”。转向时间:在对话框中输入机器人转向的时间
4、,单位为秒;你也可以选中随机时间,得到小于输入值的随机时间转向启动、停止电机功能:“启动电机”模块主要用于控制机器人移动,可以分别控制机器人左右两只电机的功率,得到“直行”和“转向”的各种组合。“停止电机”模块主要用于关闭两个电机。操作:用鼠标将“启动电机”模块移到流程图生成区,并连接在程序中。右击“启动电机”模块,在弹出的对话框中输入电机功率参数,可以实现左右两只主动轮按不同速度、不同方向行走。设置参数说明:左/右电机设置:可用两种方式进行设置。第一种方式,可在对话框中直接输入左/右电机功率值。当左右电机功率相同时,机器人直线行走。当左右电机功率不同时,机器人会走弧线。第二种方式,可拖动游标
5、设置电机功率。扩展电机设置:选中扩展电机即可。扩展电机的功率为100。启动、停止电机发音1)功能:“发音”模块主要用于让机器人发音,唱一个音符。(2)操作:用鼠标将“发音”模块移到流程图生成区并连接在程序中。右击“发音”模块,在弹出的对话框中选择音阶和节拍,也可直接输入音频与发声时间参数。(3)设置参数说明:时间:在对话框中输入机器人发音的持续时间,单位为秒。也可直接选择节拍,如二分之一音符发音0.5秒,四分之一音符发音0.25秒,以此类推。音频设置:音频对应于机器人唱的音阶,单位为赫兹。1,2,3等代表简谱音阶。休止符,表示不发声(静音),也须指定时间间隔。自定义,可在对话框中输入任意音频数
6、值,使机器人发出相应频率的声音。发音显示功能:“显示”模块主要用于在机器人LCD液晶显示屏上显示信息。操作:用鼠标将“显示”模块移到流程图生成区,并连接在程序中。设置时,右击“显示”模块,在弹出的对话框中输入显示信息(英文、数字等)。选择“引用变量”,可以显示出程序中各种全局变量。显示模块与传感器模块相配合,就可以显示各个传感器的检测值。显示信息设置:在对话框中直接输入要显示的英文信息。可以显示两行信息,每行最多16个字符。显示设置眼睛功能:模块主要用于设置机器人眼睛的颜色和状态,如:红、绿、黄、闪烁或者熄灭。操作:用鼠标将“设置眼睛”模块移到流程图生成区,并连接在程序中。右击“设置眼睛”模块
7、,在弹出的对话框中按你的想法设置机器人的眼睛。设置参数说明:眼睛参数:红色绿色黄色闪烁熄灭。先选中左眼或右眼,才可以对相应眼睛进行设置。设置眼睛计算功能:“计算”模块可用于加减乘除计算。操作:用鼠标将“计算”模块移到流程图生成区,并连接在程序中。右击“计算”模块,在弹出的对话框中输入计算表达式。设置参数说明:计算结果赋值设置:点击整型变量按钮,随之弹出“变量百宝箱”对话框,在“变量百宝箱”对话框中选择变量,用来存放计算结果。运算符号设置:在下拉列表框中选择运算符号。计算表达式设置:可以是数与数运算,引用变量与引用变量运算,也可以是数与引用变量运算。计算2.传感器块模传感器块模传感器块模简介传感
8、器块模简介红外测障:功能:红外传感器包括两个红外发射器和一个红外接收器,能够检测到机器人左/右/前方是否有障碍物。操作:将“红外测障”模块移到流程图生成区,并连接在程序中。右击“红外检测”模块,在弹出的对话框中设置相应的参数。设置参数说明:单功能模块“红外变量一”:存储红外传感器检测值的变量。若要更换存储变量,左键单击该按钮,可在弹出的变量百宝箱中选择其它两个变量,“红外变量二”和“红外变量三”。带判断功能的模块“红外变量一”:功能同上。条件判断表达式:左边的红外变量与右边的参数进行比较。例:“红外变量一=左”代表如果检测到障碍在左边,条件判断成功,执行“是”下面的模块;如果检测到其他任何情况
9、,条件判断失败,执行“否”下面的模块。例:“红外变量二!=无”代表如果检测到有障碍物(无论在左边、在右边还是在前面),条件判断成功,执行“是”下面的模块;如果检测不到障碍物,条件判断失败,执行“否”下面的模块。红外测障碰撞检测碰撞检测:功能:“碰撞检测”模块,主要用于检测机器人是否碰到障碍物,它能判断左/右/前/后等方向。操作:将“碰撞检测”模块移到流程图生成区,连接在程序中。右击“碰撞检测”模块,在弹出的对话框中设置相应的参数。设置参数说明:单功能模块“碰撞变量一”:存储碰撞传感器检测值的变量。若要更换存储变量,鼠标左键单击该按钮,可在弹出的变量百宝箱中选择其它两个变量,“碰撞变量二”和“碰
10、撞变量三”。带判断功能模块“碰撞变量一”按钮:功能同上。条件判断表达式:左边的碰撞变量与右边的参数进行比较。例例:“碰撞变量一=左”代表如果检测到左边发生碰撞,则判断成功,执行“是”下面的模块;如果检测到其他任何情况,条件判断失败,执行“否”下面的模块。例例:“碰撞变量三!=无”代表如果检测到有碰撞(无论在哪个方向),条件判断成功,执行“是”下面的模块;如果检测不到碰撞,条件判断失败,执行“否”下面的模块。碰撞检测亮度检测亮度检测:功能:“亮度检测”模块主要用于检测环境的光线明暗,传感器的返回值为0255,值越大,说明光线越暗。操作:将“亮度检测”模块移到流程图生成区,连接在程序中。右击“亮度
11、检测”模块,在弹出的对话框中设置参数。设置参数说明:单功能模块“方式”单选按钮:平均检测左右两个光敏,再取平均值左检测左侧光敏右检测右侧光敏偏差左亮度检测值与右亮度检测值的差值“亮度变量一”:存储光敏传感器检测值的变量。若要更换存储变量,可点击它,在弹出的变量百宝箱中可选择其它两个变量,“亮度变量二”和“亮度变量三”。带判断功能的模块“方式”单选按钮:功能同上。“亮度变量一”按钮:功能同上。条件判断表达式:左边的亮度变量与右边的参数进行比较。例例:“亮度变量一200”代表地面灰度的检测值大于200的时候,条件判断成功,执行“是”下面的模块;否则条件判断失败,执行“否”下面的模块。灰度检测3.控
12、制模块控制模块多次循环功能:“多次循环”模块允许多次执行同一组指令。操作:将“多次循环”模块移到流程图生成区,连接在程序中。右击“多次循环”模块,在弹出的对话框中输入循环次数,然后点击“确定”。在“多次循环”模块体内插入需重复处理的模块。范例:让机器人唱doremi三次。操作如下,如图5-1所示:先将“多次循环”模块移到流程图生成区,与主程序相连,并设置循环次数为3次;再将三个“发音”模块移入到循环体内部,分别设置音符;再将“结束”模块连接在程序的末尾。多次循环永远循环功能:“永远循环”模块可用于永远执行循环体内的同一组指令。操作:将“永远循环”模块移到流程图生成区,并连接在程序中的相应位置。
13、在循环体内插入需永远循环处理的模块。范例:要求机器人受到碰撞,则发音,如图5-2所示:先将“永远循环”模块移到流程图生成区,与主程序相连;再将“碰撞检测”模块移入到循环体内部,进行条件判断设置,如图5-2右上图所示:再将“发音”模块移入到碰撞检测模块中,进行设置,如图5-2右下图所示:再将“结束”模块连接在程序的末尾。永远循环条件循环功能:当设定条件成立,就进行循环。当设定条件不成立,就退出循环,执行后面的语句。操作:将“条件循环”模块移到流程图生成区并连接在程序的相应位置。右击“条件循环”模块,在弹出的对话框中输入判断条件表达式,然后点“确定”。在循环体内插入需重复处理的模块。范例:在周围很
14、安静的情况下,机器人一直重复进行声音检测。你一旦发出响一点的声音,机器人就开始运动。程序如图5-3所示:先将“条件循环”模块移到流程图生成区,与主程序相连;在模块上点击右键,打开参数设置对话框,在“整形变量一”处点击,就会出现变量百宝箱,点击声音图标,然后选择“声音变量一”(如图5-3右上图所示),确定后,再按照图5-3右下图设置条件;接着将“声音检测”模块移入到循环体内部;然后将“直行”模块放在循环体外,设置速度和时间;最后将“结束”模块连接在程序的末尾。运行结果:一发出响一点的声音,机器人就行动起来。条件循环条件判断功能:根据条件在两组指令中选择一组执行,可以对任何全局变量和传感器变量进行
15、判断,如果满足条件就执行左边“是”下面的指令,不满足条件就执行右边“否”下面的指令。操作:将“条件判断”模块移到流程图生成区并连接在程序的相应位置。右击“条件判断”模块,在弹出的对话框中输入判断条件,然后点“确定”。在“条件判断”体内插入其它执行模块。范例:机器人对外界的光线进行检测,如果外界光线很暗,就安静地呆着,如果光线足够亮,就旋转并发音(如图5-4所示)。要点如下:将“亮度检测”模块的参数设置为“亮度变量一”;将“条件判断”模块的条件判断表达式设置为“亮度变量一200”。条件判断控制模块的嵌套应用前面介绍的各种控制模块也可以嵌套使用,完成一个复杂任务。那么这些模块如何嵌套呢?下面用例子
16、来说明。例如:让机器人不断检测外界碰撞,没有碰撞时不作反应,当右方有碰撞时向左转;前方有碰撞就后退;左方有障碍物就唱“mi就右转”。我们先来看看这个程序(见图5-5)。不断的检测碰撞,要用到“永远循环”模块和“碰撞检测”模块。判断三个碰撞方向,要设置三个判断条件,条件判断表达式参考图5-6进行设置。控制模块的嵌套应用4.程序模块程序模块结束模块结束模块功能:用于给主程序或任务加一个结束标志,该模块不产生JC代码。“结束”模块后不能再连接其他模块。操作:用鼠标将“结束”模块移到流程图生成区,并连接在主程序或任务的结束位置。新建子程序功能:把需要重复使用的一组模块新建为“子程序”,便于主程序调用,
17、以精简程序。操作:新建子程序是一个特殊的模块,它是子程序调用的第一步。其操作如下:用鼠标点击“程序模块库”中的“新建子程序”模块,就会弹出一个“新建子程序”对话框。当从“子程序位置”组合框中选择“系统子程序“时,右边的列表框中会显示系统子程序模板。“跟人走”、“红外避障”、“边唱边跳”等均是系统提供的比较常用的子程序模板。用户可以直接调用这些模板,也可以在这些模板的基础上对子程序修改后调用。“自定义”子程序模板可用于建立一个新的子程序。使用任何一种系统子程序,都需要确定子程序名称。当从“子程序位置”组合框中选择“其它程序”时,会弹出一个文件打开对话框,如下图所示:新建子程序新建子程序在这里可以
18、选择任一流程图文件,点击“打开”。如果该流程图文件包括子程序,列表框中会出现存在的子程序名,用户也可调用这些子程序。根据以上步骤,新建子程序后,会自动进入子程序的编辑窗口,可以像编辑主程序一样编辑子程序。在子程序窗口中,点击“主程序”快捷按钮,可以返回到主程序编辑界面。新建子程序不能超过10个。主程序与子程序窗口之间的切换,选择菜单栏中“编辑主程序”或“编辑子程序”命令即可子程序功能:调用一个“子程序”。此模块只能只能在主程序中使用。只有在新建了子程序之后,这个模块才会在主程序编辑界面“程序模块库”中出现。操作:在主程序编辑界面“程序模块库”中,可以看到新建的子程序模块图标。子程序模块和其他模
19、块一样,可以移到流程图生成区,连接在主程序中使用。在子程序模块上点击右键,可打开子程序设置对话框,点击其中“编辑”按钮,即可进入子程序的编辑界面。为什么要用子程序在编程的过程中,经常会遇到某一段程序在主程序中使用多次的情况,这时,我们就可以把这一段程序编写成子程序。而在主程序界面中,子程序就是一个功能模块,调用起来很方便。子程序的使用能让整个程序很有条理,也便于多人分工编写程序。变量百宝箱变量百宝箱提供了42个变量,分为14类。按顺时针方向依次为红外、亮度、地面、声音、电量、整型数、浮点数、串行口、通用扩展卡输入、模拟输入、数字输入、时间、转角、碰撞。黄色变量代表该变量里已经存放了数值,白色变量代表该变量还是空的。在变量名上点击一下,就会出现一把钥匙,表示该变量被选中。变量百宝箱的每个变量就是一个抽屉,存放数值和读取数值都需要变量百宝箱分配的“钥匙”。