探索创新IRobotQ 3D 虚拟机器人拓展教材
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1课 走近IROBOTQ 仿真
——IRobotQ 基础
教学目标:
(1)认识机器人的发展史,了解机器人的概念、产生、发展、种类与应用;
(2)介绍当前主流的机器人仿真软件,介绍萝卜圈仿真软件的特点;
(3)掌握IRobotQ 仿真软件界面以及基本操作;
在一些关于机器人的科幻影视中,例如《变形金刚》、
《我,机器人》等,机器人被设计成类人的样子,如图 1-1
所示,他们超凡的能力给大家留下了深刻的印象。
现实生活
中,机器人也正逐渐地影响我们的生活,在几千米深的大洋
底部,机器人在连接或修复海底的电缆;在餐厅里,机器人
侍者在为顾客提供优质服务;在医院的手术台前,机器人在
为病人做开颅手术……这些并非科学幻想,它们正在或将要
成为现实。
那么,目前世界上机器人技术在哪些领域得到了应用?我们要学习使用的机器人是什么样子?我们如何控制机器人?今天开始我们一起走进机器人世界去寻找上述问题答案。
一、 走进机器人世界
(一)机器人概念
捷克著名剧作家和科幻作家卡雷尔·恰佩克在1920年发表了科
幻剧本《Rossum 的Robota 万能公司 》,发明了机器人Robot 这个
词。
在随后的几十年中,机器人的技术一直在不断的发展,新的机器
人的形状和功能不断的涌现,以致科学界都很难给机器人下一个准确
的定义。
时至如今,国际上对机器人的概念才趋近一致。
一般来说,
人们都可以接受这种说法,即机器人是靠自身动力和控制能力来实现各种功能的一种机器。
联合国标准化组织采纳了美国机器人协会给机器人下的定义:“一种可编程和多功能的操作机;或是为了执行不同的任务而具有可用电脑改变和可编程动作的专门系统。
”
图 1-2人形机器人
图 1-1科幻机器人
机器人外观上并不都是仿人形的,还有车型、蛇形、圆形、方形等各种不同的形状,它可以根据不同的使用环境和任务需要而采用不同的形状,如图1-2、图1-3所示。
(二)机器人学三定律
随着科技的发展,机器人具有越来越强的智能和其他能力。
为了使机器人能更好地服务人类社会,避免对人类照成伤害,科幻小说家艾萨克·阿西莫夫在他的机器人相关作品和其他机器人相关小说中为机器人设定的行为准则:机器人学三定律(Three Laws of Robotics)虽然这只是科幻小说里的创造,但后来成为学术界默认的研发原则。
第一条:机器人不应伤害人类,而且不能忽视机器人伤害人类;
第二条:机器人应遵守人类的命令,与第一条违背的命令除外;
第三条:机器人应能保护自己,与第一条相抵触者除外。
(三)机器人的分类
机器人的种类很多,有不同的分类标准,按用途可分为工业机器人、空间机器人、水下机器人、军用机器人、排险救灾机器人、教学机器人和娱乐机器人等。
机器人应用的范围也非常广泛,尤其在一些会对人类健康产生危害的领域,如有毒,高辐射、深海探测等工作环境更是发挥着不可替代的作用,有应用在工业生产中的工业机器人,如焊接机器人;有应用在战场上的军事机器人,如排雷机器人;有运用在服务领域的机器人,如扫地机器人;有运用在娱乐上的机器人,如机器狗。
总之,如图1-3所示,现代机器人已经渗透到我们的生活中,在各行各业发挥着重要的作用。
图1-3某种排雷机器人某种教育机器人某种军用机器人
(四)虚拟机器人
学习机器人技术有利于提高同学们的思维创新能力、程序编写能力、团队合作能力。
目前,由于实物机器人设备在价格上相对还比较昂贵,而且也比较容易损坏,我们选择虚拟机器人,让更多的同学参与到机器人技术学习中来,享受机器人带来的乐趣。
虚拟仿真机器人平台允许用户在计算机上创设各种不同的场景:搭建机器人,添加各种传感器,编写程序,并模拟运行。
虚拟机器人平台使得面向大众的机器人教学成为可能。
当前在中小学教学中应用比较普通的机器人虚拟平台主要有以下几种:
1.纳英特虚拟机器人平台 NSTRSS
2.中鸣 3D 仿真平台
3.乐高公司开发的LEGO Digital Designer
4.广州电教的Virtual Robot 2虚拟机器人
5.IRobotQ 3D 机器人在线仿真平台
IRobotQ 3D 机器人仿真平台是基于网络互动模式设计,以强大物理引擎作为技术支撑,以机器人为载体的科技创新平台。
该平台提供了丰富的场景元素,用户通过简单的堆积组合就能方便构造一个任务场景,场景有点类似游戏中的创意,比较能吸引同学们的兴趣。
还提供了物理引擎的支持,任务中的各种元素具有了重量、体积、摩擦、能耗、力等物理属性,任务变得更加贴近真实环境。
同时,该平台脱离了硬件的限制,可以提供形态功能更多的机器人组件和传感器,使得任务的设计可以更加丰富。
该平台基于网络平台,使得机器人活动的组织变得更加方便,同学们也有了更多竞争交流的平台。
当然,还有很多公司开发了一些很优秀的平台,而且在将来,一定会有更多更优秀的平台不断涌现。
每个平台都有自己的一些特点。
在下面的课程中,我们就以 IRobotQ 3D 虚拟机器人平台作为我们的学习平台。
二、IRobotQ 3D 机器人在线仿真平台
(一)主界面介绍
登陆后进入在线平台,这跟现在流行的游戏平台类似。
我们可以任意点击左边的网络项目名称,如图1-12所示,进入该项目的房间,选择一个位置坐下。
在这里,我们可以跟其他一些登陆该平台的同学们一起比试。
当然,前提是我们要先学会一定的基础,要准备好机器人和程序,才能跟其他同学一比高低。
我们也可以选择界面上方的一些按钮选择相应的功能,如图1-13所示。
当我们选择“本地模式”可以进入本地模式主界面,如图1-4所示,在这里我们可以选择各项功能。
如
构建场景:在这里我们可以自己新搭建一个场景,或者修改已有的场景;
构建机器人:在这里我们可以自己搭建一个机器人,或者修改已有的机器人结构参数;
资源管理:在这里我们可以管理我们的资源;
编写程序:在这里我们可以编写一个新的程序,或者修改已有的程序;
开始仿真:当我们准备好了场景、搭建好机器人,编写好程序后,就可以进入这里开始。
图1-4本地模式
(二)资源管理
在资源管理界面里,我们可以看到已经做好的仿真包,软件里保存的场景、机器人、程序,并且
可以备份还原这些资源。
当然,我们也可以通过导入功能把其他的资源文件导入到这来,或者是通过导出功能把这些资源文件导出到其他路径保存,如图 1-5所示界面。
任务:将“1-走近irobotq 任务-千里走单骑”所用的场景、机器人和程序导入
(三)仿真操作 选择“新建仿真”,进入如图 1-6
所示界面:
在【我的作品】中选择名为“1-走近irobotq 任务”的场景,点击“下一步”,选择对应的机
器人“1-走近irobotq 任务-千里走单骑”,再点击“下一步”,选择对应的程序“1-走近irobotq 任务-千里走单骑”,再点击“下一步”,在“保存仿真包”中输入一个名称,点击“保存进入”,这样下次我们再运行这个项目时,就可以直接选择这个仿真包,更加快捷。
当然你也可以选择“直接进入”按钮进入。
图 1-5资源管理
进入仿真界面后,我们可以看到一排工具栏,如表 1-1 所示:点击“开始”按钮,我们就可以
看到仿真任务开始运行了。
注意事项:教师可以提供给学生已搭建好的机器人和编好的相应程序,供学生运行,让学生充分
体验 IRobotQ 的编程环境,激发学生的学习兴趣。
图 1-6新建仿真 表 1-1 仿真界面功能按钮
任务:建立新仿真“1-走近irobotq 任务-千里走单骑”,并运行;同时思考:机器人的外形与
完成任务之间的联系,机器人模拟什么运动。
(四)拓展思维
机器人是活动主体,它的结构对程序影响非常大,完成同一个任务可以用不同的机器人结构,当
然,程序也会有所变化。
方案一:
将“1-走近irobotq 任务-汽车悬挂模拟”所用的场景、机器人和程序导入。
建立新仿真“1-走
近irobotq 任务-汽车悬挂模拟” ,如图 1-8所示,并运行;讨论思考:机器人模拟什么运动,机器人在结构上有什么创新。
图 1-8汽车悬挂模拟
图 1-7走近IROBOTQ 任务-千里走单骑
将“1-走近irobotq 任务-竞速机”所用的场景、机器人和程序导入。
建立新仿真“1-走近irobotq
任务-竞速机” ,如图 1-9所示,并运行;讨论思考:机器人模拟什么运动,机器人在结构上有什么创新。
三、课后提升
1.通过互联网查找机器人的发展历程。
【知识林】
1.平台安装
IRobotQ 虚拟机器人平台是一个基于网络的平台,
所以需要先设置一个服务器端平台。
当然,服务器端
不需要同学们担心,会有老师帮你们做好这个工作。
同学们需要安装客户端,点击客户端安装程序即可。
安装好后,软件会提示你是否要更改服务器地址,如
图 1-10所示。
在“修改为:”这个文本框里输入你要连接的服务器的地址,如果当前不修改地址,以后也可以
在开始菜单下程序子菜单中找到服务器获取地址设置选项,打开修改。
图 1-9竞速机
图 1-10服务器地址设置
安装好后,我们可以点击程序的快捷方式的图标,出现如图 1-11所示界面,如果没有注册过,
要先点击“注册”按钮。
注册好后,经过管理员验证通过后,就可以用注册好的用户名和密码登陆了。
3.主界面介绍
登陆后进入在线平台。
我们可以任意点击左边的任务项目名称,如图 1-12所示,进入该项目的
房间,选择一个位置坐下。
在这里,我们可以跟其他一些登陆该平台的同学们一起比试。
当然,前提是我们要先学会一定的基础,要准备好机器人和程序,才能跟其他同学一比高低。
我们也可以选择界面上方的一些按钮选择相应的功能,如
图 1-13所示。
搭建机器人:在这里我们可以自己搭建一个机器人,或者
修改已有的机器人结构参数;
编写程序:在这里我们可以编写一个新的程序,或者修改已有的程序;
资源管理:在这里我们可以管理我们的资源;
搭建好机器人,编写好程序后,我们就可以进入仿真,在仿真里测试我们的机器人和程序。
图 1-11登陆界面
图 1-12任务项目列表
图 1-13功能按钮
第2课 我的小伙伴
——机器人构造
教学目标:
(1)进一步掌握IRobotQ 仿真软件界面以及基本操作;
(2)掌握在IRobotQ 仿真软件中搭建不同机器人
通过第一节《走近IRobotQ 》的学习, 大家对机器人世界和仿真平台有所了解,你是不是有点按捺不住,想自己动手在仿真平台来制作出一个自己的机器人了吧!
一、任务分析
机器人是活动主体,它的结构对程序影响非常大,完成的任务
不一样会导致机器人结构不同。
任务要求:搭建一台类似汽车的机器人,如图 2-1所示。
对于一辆类似汽车的机器人,有哪些部件呢?从简易汽车的角
度来看,需要控制器、直流电机、轮子即可。
【知识林】
1.主控制器
控制器是机器人的核心,在实物机器人中,控
制器连接着所有机器人的其他部件,同时保存着机
器人运行的程序,类似于我们人类的大脑。
在此虚
拟环境中提供了多款控制器,但其核心的功能并没
有差异,只是外观的差别。
控制器是机器人的处理
中心(大脑),相当于计算机系统中的主机,接收输入信息,处理信息,发出执行信息。
根据不同任务的需要可以选择控制器列表中的合适控制器,各种控制器在仿真环境中也仅仅是外形和重量不一样,功能基本一致。
例如图 2-2所示,这两款控制器的唯一区别在于左侧的控制器对马达的安装没有特别的要求,而右侧的控制器则预留了马达安装位置,使得使用该控制器所制作的机器人都具有相同的前后马达间距。
图 2-2控制器 图 2-1机器人小车
- 11 -
2.直流电机
直流电机又称为马达,它的种类繁多,其大小、重量、控制精度也各有差异,我们需要根据实际需求去选择适合的直流电机。
直流电机是一种驱动轴可连续旋转的驱动模块,其旋转速度可调,转向可正转或反转。
直流电机通常用于机器人运动。
4 个直流电机配合轮子,可实现机器人的前进、后退、左转、右转和停止等动作,几乎所有采用轮式运动的机器人都要使用直流电机。
在驱动直流电机时,可设置其速度和转向,或使其停止。
直流电机有 2个安装点,方形安装点用于安装,圆形安装点为驱动轴。
驱动直流电机时,其圆形安装点上安装的部件可以转动。
在虚拟环境中拥有各种不同的直流电机,例如图 2-3所示的两款直流电机,左侧这款为10倍高精度直流电机,它可以将运行的精度提高到普通电机的10倍,而右侧的电机为普通直流电机。
3.轮子
光有控制器与直流电机还是不够,轮子是最终运动的载体,在虚拟环境中根据轮子的摩擦力、大小、宽度等的不同设计了多款轮子,图 2-4所示的只是其中之一。
值得注意的是,在相同的程序与其他硬件环境下,轮子的差异会使得小车的控制程度出现很大的差异。
二、任务实践
(一)搭建我们的机器人小车
在构建机器人界面中,我们可以在“模型”面板里选择“控制器”、“驱动”、“安装块”,“传感器”、“其它”来搭建一个机器人,如图 2-5所示。
在初次搭建过程中会遇上一些操作困难,请耐心仔细地去完成搭建任务。
图 2-3两种不同的直流电机
图 2-4轮子
- 12 -
1.在【模型】标签下选择【控制器】选项,选择所需要的控制器,并在搭建窗口中单击鼠标即可完成添加,请尽可能将控制器放置在搭建窗口的中间。
2.在【驱动】选项中选择所需要的直流电机,同样在搭建窗口中单击鼠标即可完成添加,而如何将直流电机与控制器相连接呢?我们可以用鼠标单击直流电机上的橘黄色安装点,并在控制器的相应位置再次单击鼠标即可连接,用此方法安装4个直流电机。
值得提醒的是,并非所有安装点都适合使用,请根据自己的日常经验来选择适当的安装点,如图2-6所示。
3.同样在【驱动】选项中选择所需要的轮子,安装的方式与直流电机一样,最终使得4个轮子分别在4个直流电机上。
4.经过努力,机器人搭建完成了,最终的效果如图 2-1所示。
请将机器人以“我的小伙伴”为文件名保存起来。
【露一手】
我们在机器人搭建过程中会经常用到结构相同的机器人,是否每次都需要这样重复的搭建呢?当然没有这样必要了,我们可以通过自定义的方式将常用的结构类型进行组合保存,以便将来再次使用相同的结构时可以直接使用组合模块:选中机器人控制器,然后点击“创建模板”,如图2-7所示。
图 2-5机器人控制器 传感器 驱动 安装块
图 2-6搭建控制器与直流电机
图 2-7创建模版示意图
- 13 -
三、拓展思维
机器人的外形是不确定的,根据其应用的需要,机器人的外形可以千姿百态。
现在请搭建你心中的机器人,如错误!未找到引用源。
所示。
任务:搭建你心中的Robot ,不需要设置相关部件的属性,要求说出你希望你的机器人能胜任哪些任务。
方案一:
机器人形状-飞碟:适宜飞行,如图 2-9所示。
图 2-8外形千姿百态的机器人
图 2-9飞碟1 飞碟2 仿人型
- 14 -
方案二:
机器人形状-仿人型:类似汽车,适宜道路上行驶,如图 2-8所示。
方案三:
机器人形状-迷宫灭火:适宜未知区域完成搜寻以及灭火任务,如图 2-10所示。
方案四:
机器人形状-爬绳索:适宜横过索桥或类似汽车行驶等任务,如图 2-10错误!未找到引用源。
所示。
三、课后提升
1. 通过互联网了解真实机器人的形状。
图 2-10迷宫灭火机器人 爬绳索机器人
- 15 -
第3课 精准停车
——直流电机与延时初步
教学目标
1、根据需求搭建可以运动的机器人,编写控制程序让机器人行走;
2、初步掌握机器人图形化编程方式,掌握电机和延时模块,灵活设置直流电机参数值控制机器人走不同线路;
3、了解算法的含义;
准确地将汽车停入停车位,是驾驶员必须掌握的技能。
今天,让我们的机器人模拟如何停入停车位吧。
一、任务分析
任务要求:机器人小车在一个停车平台上,需要从起始位置驶出,前行入库(蓝色色标位置)并尽可能快地到达停车位,如图 3-1所示。
对于一辆机器人主机控制的小车,它至少需要那些关键部件呢?或许这个问题过于简单,需要控制器、直流电机、轮子即可。
那么在没有其他传感器的情况下如何控制小车的前进后退距离?如何使其转弯?这里我们需要控制机器人电机参数值以便让机器人小车行驶。
【知识林】 1.程序
图 3-1精准停车
- 16 -
程序(如图3-11所示)作为操作者的指令,必须明确地下达给我们的机器人小车,在没有其他传感器的情况下,我们可以通过时间的延迟来控制小车的运行,例如,让小车转弯,只要让我们的小车左右两侧的电机运行速度有差异或方向相反就可以完成转弯动作了。
2. 算法
算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。
如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。
不同的算法可能用不同的时间、空间或效率来完成同样的任务。
一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
3.与直流电机相关的编程模块
图形化编程中与直流电机相关的编程模块有“驱动”类的“直流电机驱动”、“多直流电机驱动”、“停止直流电机”、“停止所有直流电机”4个模块,如图 3-2所示。
“直流电机驱动”用于驱动单个直流电机。
此模块有2个容器,左容器放置表示直流电机端口号的整型类模块,可放置“机器人端口”、“常量
int ”、“变量int ”等模块。
右容器放置设置直流电机的速度和转向的整型类模块,可放置“常量int ”,“变量int ”等,数值为正时直流电机正转,为负时反转。
“多直流电机驱动”用于驱动一个或多个直流电机。
此模块没有容器,在其属性面板(如图 3-3)中列出机器人上所有的直流电机,选择需要驱
动的直流电机,
输入其速度和设置转向,未选择的直流电机不会被驱动,保持之前的驱动状态。
直流电机驱动 停止直流电机 停止所有直流电机
多直流电机驱动 图 3-2直流电机相关编程模块
选择驱动,速度8,正转 选择驱动,速度8,反转
不驱动,保持之前的状态
图 3-3多直流电机属性设置
- 17 -
“停止直流电机”用于停止一个或多个直流电机。
此模块没有容器,在属性面板中选择需要停止的直流电机,未选择的直流电机保持之前的状态。
“停止所有直流电机”用于停止机器人上所有直流电机。
此模块没有容器,也无需设置参数,使用此模块将停止机器人上所有的直流电机。
4.延时模块
延时模块(如图 3-4)是编程模块,此模块是堵塞执行,程序等待指定的时间后再执行下面的模块。
使用此模块可使机器人保持当前状态一定时间,如停止1 秒,保持前进2 秒,转弯 0.5 秒等。
二、任务实践
(一)搭建我们的机器人小车
进入搭建机器人平台,我们可以搭建出属于我们自己的机器人小车,但在初次搭建过程中会遇上一些操作困难,请耐心仔细地去完成搭建任务。
1.在【模型】标签下选择【控制器】选项,选择所需要的控制器,并在搭建窗口中单击鼠标即可完成添加,请尽可能将控制器放置在搭建窗口的中间。
2.在【驱动】选项中选择所需要的直流电机,同样在搭建窗口中单击鼠标即可完成添加,如何将直流电机与控制器相连接呢?我们可以用鼠标单击直流电机上的橘黄色安装点,并在控制器的相应位置再次单击鼠标即可完成连接,用此方法安装4个直流电机。
值得提醒的是,并非所有安装点都适合使用,请根据自己的日常经验来选择适当的安装点,如图3-5所示。
图 3-4延时模块
图 3-6搭建控制器与直流电机
图 3-5我们的第一辆机器人小车
- 18 -
3.同样在【驱动】选项中选择所需要的轮子,安装的方式与直流电机一样,最终使得4个轮子分别在4
个直流电机上。
最终的效果如错误!未找到引用源。
所示。
4.电机属性设置。
仔细观察,我们会发现左侧与右侧的直流电机的方向是相反的,如果在程序中让4个直流电机均向正方向运行,则机器人小车会在原地打转,在程序中需要设置不同的轮子方向才能向正前方运行,为了便于程序的编写,同时也符合我们的思维习惯,所以我们需要将我们的直流电机正反方向进行设置,在此分别单击鼠标选中左前与左后电机,在右侧的属性面板中设置为【反转电机】模式。
为了让控制器能更明确地控制所有设备,我们必须要让所有与控制器连接的通电设备,如电机、传感器等,分配给它们唯一的端口号,这样就可以在程序编写中能明确程序指令所下达的设备。
在此以左前、左后、右前、右后的顺序在属性面板中分别定义为1、2、3、4端口。
如图 3-7、图 3-8所示。
构建最简单的四轮小车机器人模型及电流电机属性如图 3-8。
名称:直流电机_左后 端口:2 反转电机:选中
名称:直流电机_右前 端口:3 反转电机:不选
名称:直流电机_左前 端口:1 反转电机:选中
名称:直流电机_右后 端口:4 反转电机:不选
图 3-8四轮小车机器人模型
图 3-7电机端口号与【反转电机】模式
- 19 -
5.经过努力,机器人搭建完成了,请将机器人以“3-精准停车”为文件名保存起来。
教学注意事项:
(1)为了以后构建机器人操作方便,需要掌握在仿真3D 空间下的环绕查看,缩放视角,平移视角等视角的操作,在本节课中不建议用在编辑区下方的“视角面板”,推荐使用鼠标更直观方便,“视角面板”可以让学生课后自主探究,以后课程中也提倡鼠标操作为主,视角面板操作为辅的视角变换操作模式。
(2)直流电机通常用于机器人运动。
4个直流电机配合轮子,可实现机器人的前进、后退、左转、右转和停止等动作,几乎所有采用轮式运动的机器人都要使用直流电机。
对于其速度可调,转向可正转或反转的属性,可以在后面属性设置中和仿真运行中,自己多去体验。
(3)通过安装轮子到直流电机,掌握安装与拆卸模型,包括认识了解方形和圆形安装点,选择和取消安装点,改变安装模型的视角以方便观察和操作,安装模型,安装后旋转,拆卸模型。
(4)应强调说明设置属性的必要性,名称和端口都很重要,只有进行了属性设置,编辑控制程序才能够获得关联机器人的硬件信息,在编写控制程序时才可驱动或使用这些模型。
(二)设计程序
我们已经完成了四轮小车机器人的搭建, 但这个机器人仅仅只是一个没有“灵魂”四轮小车,不
能做任何动作,要想四轮小车做出你所希望的动作,那么必须给机器人加载“灵魂”,就是为四轮小车机器人编写控制程序。
下面我们学习仿真系统的机器人程序编写过程。
1. 任务动作分析并绘制流程图
在程序编写前,同学们应该先对完成任务的必要动作进行分析,并根据分析所得绘制流程图,这样的习惯将有助于理清程序编写思路,并能及时发现问题。
结束
开始 前进
延时
图 3-9程序流程图
开始 慢速前延时
结束
中速
延时
高速
延时。