1.3 简介能力风暴机器人仿真系统学习智能机器人,除了需要具备机器人硬件外,还需要为机器人编写控制程序,并在场地上进行反复调试。
但如果手边暂时既无机器人实物,又无真实场地,我们还能学习和研究机器人吗?答案是可以的。
能力风暴机器人为我们提供了一套仿真的VJC系统软件,在这个仿真系统中,我们不仅可以为机器人编写各种控制程序,同时还可以将编制的程序下载到仿真的机器人上,并在仿真的场地中进行模拟运行和调试,体验机器人控制的全过程。
本节我们就来认识VJC系统仿真版软件,学习构建仿真场地和仿真调试的方法。
1.3.1 认识VJC系统仿真版软件1.VJC系统仿真版软件的安装安装VJC系统仿真版的方法很简单,先打开本书配套光盘上的“VJC系统软件\VJC1.5仿真版”文件夹,找到名为“setup.exe”的安装程序,用鼠标双击该文件,系统自动将其安装到C盘中,并在Windows桌面上自动生成一个“VJC1.5仿真版”的快捷方式图标,软件安装的路径默认为:C:\program files\VJC1.5仿真版。
如果我们使用的计算机中已经安装了VJC系统仿真版,则安装这一步可以跳过不做。
2.VJC系统仿真版软件的启动及主界面当需要进入VJC系统仿真版编程时,只要双击桌面上的“VJC1.5仿真版”快捷方式图标,就可进入VJC的编程环境。
VJC编程环境的主界面见图1-3-1。
可以看出,主界面包含了以下几个部分:(1)菜单栏及工具栏:位于窗口上方,工具栏上除了新建、打开、保存等常规按钮外,还有仿真、JC代码、缩放等按钮,见图1-3-2所示。
(2)模块库:位于窗口左侧,共有五大类模块库,其中:执行器模块库包含了基本动作模块,这是控制机器人运动的基本模块;传感器模块库包含了基本的传感器检测模块,如:“红外检测”、“碰撞检测”等,用于感知周围的环境信息;控制模块库包含了循环、分支等程序控制模块,用于控制程序的结构;程序模块库包含了新建子程序、结束图标等;AS 多功能扩展卡包含了扩展应用的一些功能模块。
图1-3-1 VJC 系统编程环境主界面(3)流程图编辑区:位于窗口中部最大的区域。
编程时,只要用鼠标把相应模块拖拽到该区域流程线上,就可形成一段程序。
(4) JC 代码显示区:位于窗口最右侧,可显示对应流程图的JC 代码。
该区域的显示与否由工具栏上的“JC 代码”按钮来控制。
(5) 垃圾箱:位于窗口左下角,对于流程图编辑区内不需要的模块或程序段,可直接将其拖拽到垃圾箱中进行删除。
图1-3-2 VJC 系统的工具栏流程线流程线代表了机器人程序执行的路线,箭头所指方向就是程序执行的方向。
当一个模块图标被拖拽知识链接JC代码 模块库工具栏垃圾箱 流程图编辑区 JC 代码显示区1.3.2 在仿真版中编辑程序认识了VJC1.5仿真版的编程界面,下面我们就来看看如何运用执行器模块和控制模块编写简单的程序让机器人动起来。
【实践名称】机器人仿真系统的使用。
【实践项目】在仿真环境下编程控制能力风暴机器人沿正方形行走。
【实践步骤】完成类似于这样的机器人研究项目,一般要经历如下4步流程,即:项目分析→制作机器人→编制程序→下载调试。
1.项目分析在本项目中,机器人的移动主要依靠两个驱动轮,而控制两个驱动轮的动作则主要靠执行器模块库中的“直行”、“转弯”、“启动电机”、“停止”等模块。
机器人走正方形的动作是:前进和转直角弯,将这两个动作重复4次,即可走完一个正方形。
2.制作机器人本例因为能力风暴机器人具有移动功能,无须再进行硬件加工制作,因此省略。
以后的实践中如无特殊制作,都可省略该步。
3.编制程序启动VJC1.5仿真版软件,然后依次执行如下编程操作:(1)创建程序的重复结构:选择控制模块库中的“多次循环”模块,将其拖拽到编辑区主程序模块下方红色连接点上;(2)控制走4条边:鼠标右键单击“多次循环”模块,设置循环次数为4次;(3)设置直行:拖动执行器模块库中的“直行”模块,将其连接到“多次循环”模块循环体内的流程线上;(4)控制前进距离:鼠标右键单击该“直行”模块,设置前进的速度和延时的时间,如图1-3-3;(5)设置转向:拖动执行器模块库中的“转向”模块,将其连接到流程线上“前进”模块下方;移动与插入图块移动:当要移动一段程序图块时,只要将鼠标指向这一段图块最上方的红色连接点,然后按住鼠标左键将其拖到其它空白地方,松开鼠标即可。
插入:当要插入一段图块时,必知识链接实践体验(6)控制转90度:鼠标右键单击该“转向”模块,设置转弯方向、速度和转弯时间,如图1-3-4;图1-3-3 设置直行参数图1-3-4 设置转弯参数(7)结束程序:拖动程序模块库中的“结束”模块,连接到“多次循环”模块出口线的下方。
最终形成的流程图程序见图1-3-1。
4.下载调试编制好的程序能否实现我们预想的控制效果,还必须用机器人在场地上检验。
VJC1.5仿真版不仅为我们提供了一个仿真的能力风暴机器人,而且还为我们提供了一个仿真的运行环境,如图1-3-5。
单击此按钮控制机器人运行图1-3-5 仿真运行环境本例程序仿真调试可继续作如下操作:(8)单击VJC工具栏中的“仿真”按钮,系统自动将当前程序下载到仿真的机器人中,并进入仿真调试环境;(9)单击仿真环境左下角的“运行”按钮(这时,该按钮会变成“停止”按钮),鼠标指针上会附着一个仿真的机器人,将鼠标移到仿真环境中间的调试场地,再单击鼠标左键,仿真机器人就被放在了场地中,并开始按照程序运行起来。
当需要停止时,只要再单击一次仿真环境左下角的“停止”按钮,仿真机器人就停止运行了。
如果需要返回到编程环境中修改机器人程序,只要单击仿真环境左上角的“退出”按钮即可。
修改程序后,可重复上述(8)(9)两步操作再次进行调试。
实际调试时,这个过程往往要反复多次。
编辑完成的程序可以按指定的文件名保存在指定的位置,也可以被再次打开,操作时,只要使用工具栏上的“保存”按钮和“打开”按钮,选择相应的文件即可。
如果是第一次做“保存”操作,在保存对话框中要输入一个文件名称,它的扩展名默认为flw。
法。
(1)实施一个机器人项目一般需要经历哪几步流程?_____________________________________________________ (2)如果机器人直行距离不够,我们应该调整哪个模块中的参数?记下调整后的参数_____________________________________ (3)如果机器人转弯不是直角,我们应该调整哪个模块中的参数?记下调整后的参数_____________________________________ (4)如果本例程序不用“多次循环”模块,你能重新设计这个程序吗?请试一试。
1.3.3 构建仿真环境的调试场地(5) 如何打开光盘中的范例程序?请试着打开光盘中机器人的其它范例程序,进一步体验机器人编程与调试的过程。
进入仿真运行环境后,我们可以在界面右侧大块的黑色区域中通过设置障碍、图带等标志来构建调试机器人的仿真场地。
显示程序代码机器人位置坐标 机器人眼晴状态添加的障碍物添加的图带 添加的声源添加的光源清除当前环境加载保存过的仿真环境保存建立的仿真环境新建仿真环境删除建立的仿真环境实体\声源\光源\红外编辑对话框设置行走时有无轨迹设置机器人初始运行角度 设置机器人 红外距离 下次运行时轨迹是否保留图1-3-6 VJC 仿真运行环境界面1. 设置障碍物在场地中添加障碍物(围墙、立柱等)的方法是:鼠标单击仿真环境左侧的“实体”按钮,然后在弹出式菜单中选择相应形式的障碍物,如图1-3-7,此时,鼠标指针变成“十”字,将指针定位到场地编辑区的适当位置,按住鼠标左键拖拽,即可形成障碍物。
仿真能力风暴机器人的正前方有2只红外传感器,能检测到由这些矩形或圆形构成的障碍物,每只探测距离为10厘米—80厘米,探测角度为60°。
2. 设置地面图带标志 仿真能力风暴机器人的底部有一个地面探测传感器,可以探测彩色色带构成的地面,探测颜色范围是0—255(0为白色、255为黑色)。
系统默认的是黑色地面,在地面上添加图带标志的操作方法与添加障碍物相仿,如图1-3-8所示。
3. 调整光源、红外传感器的参数仿真光源是一个模拟蜡烛的光源,可以设置光源的半径和渐变值。
如图1-3-9所示。
单击仿真环境下端的“红外”按钮,可设置红外探测半径(常用于控制机器人离墙的距离)。
如图1-3-9所示。
4. 管理仿真场地当仿真场地建立后,可以“保存”下来,以便以后调试时使用,图1-3-9 设置参数 图1-3-7 设置障碍物 图1-3-8 设置地面图带标志操作时,单击“保存”按钮,进入保存对话框,在“环境名称”栏中输入场地名称,再单击“保存”按钮即可。
图1-3-10 保存场地如果要调入以前建立好的场地,也可以单击“加载”按钮,然后在选择环境对话框中选择一个仿真场地的名称,再单击“进入环境”按钮,原来建好的仿真场地就可以被调入到仿真环境中了。
图1-3-11 加载场地此外,还可重新“新建”场地或“导入”以前保存的仿真场地文件,请同学们自己实践探索。
在仿真环境中调试机器人,还可以通过设置,使机器人在行走过的路线上留下轨迹(虚线),以便观察和分析机器人的动作。
做这项操作只要在开始运行前单击一下仿真环境下端的“有轨迹”按钮(该按钮会自动变成“无轨迹”),如果要取消“有轨迹”功能,只要再单击一下“无轨迹”按钮即可。
(1)参照实践体验,在VJC仿真版中设计一个控制机器人走正方形的程序,并在仿真环境中构建一个正方形的调试场地,检验仿真机器人能否沿正方练一练形的内墙或外墙行走。
(2)自己动手在仿真环境中设计两个仿真的迷宫场地,保存下来,以便后续学习过程中使用。
图1-3-12 仿真迷宫场地【活动主题】机器人竞速比赛。
【活动说明】要求控制一个机器人沿直线前进一段指定的距离,然后转身沿直线返回起点,以用时最短为优胜。
【活动要求】首先分成几个小组,每一组以合作探究的形式,设计一个机器人参加比赛。
活动过程中,同学们要感受和体验编程控制机器人的全过程,并要在活动中自觉培养与人合作、相互学习的意识和科学探究的能力。
【反思评价】回顾本节学习内容,评价本节学习情况。
(1)本节我学会了:_______________________________________________________________________________________ _____________________________________________________ 主题活动 学习小结本节重点学习了能力风暴机器人的仿真系统的使用。
通过VJC 仿真系统,可以在不具备真实机器人的情况下学习和研究机器人。