《机器人3D仿真系统》使用教程.docx
《《机器人3D仿真系统》使用教程.docx》由会员分享,可在线阅读,更多相关《《机器人3D仿真系统》使用教程.docx(117页珍藏版)》请在冰豆网上搜索。
《机器人3D仿真系统》使用教程
机器人3D仿真系统教材
天津市太平村第二中学
张汝生整理
第一部分预备知识
在本章中,我们对《机器人3D仿真系统》作一个简单介绍,让读者初步了解机器人的结构、传感器和编程语言。
在读完本章内容之后,相信读者就能方便地使用机器人3D仿真系统了。
1.1虚拟机器人的结构与功能
1.1.1身体结构
1.1.2感觉器官
智能机器人的感觉功能,是由机器人身上的传感器实现的。
纳英特机器人身上安装的传感器有以下几种:
1.红外传感器
红外传感器由红外发射器和红外接收器两部分组成。
当接收装置收到发射装置发射的红外信号,机器人即可利用收到的信号来识别周围特定环境的变化。
机器人就是利用这一原理对检测其周围有、无障碍物的。
红外传感器测到障碍物返回给主机的数值为1,没测到障碍物返回为0。
红外传感器结构如图1-1所示。
图1-1红外传感器结构图
2.火焰传感器
火焰传感器能够检测光线的强度,检测到的值为0~255之间的整数。
光线越亮,检测到的数值越小;光线越暗,检测到的数值越大。
此项功能跟实物的纳英特8位机器人基本相同。
火焰传感器结构如图1-2所示。
图1-2火焰传感器结构图
3.碰撞传感器
碰撞传感器碰撞传感器是由一个接触导轮和一个接触开关组成。
当接触导轮碰到物体时,接触开关会被按下。
当开关按下时返回主机的数值为0,没按下时返回主机的数值为1,碰撞传感器结构如图1-3所示。
图1-3碰撞传感器图示
碰撞方向的确定利用碰撞传感器,可以判断碰撞发生的方向,在机器人合适位置安装碰撞传感器,当某一处的碰撞传感器发生了碰撞,传感器返回的值为0,否则为1,利用这个值,可以确定发生碰撞的方向。
4.地面灰度传感器
地面灰度传感器由一个发射装置和一个接收装置组成。
发射装置发出的光照射到地面,接收装置通过检测返回的光线强度并将其转换为机器人可以识别的信号。
不同颜色反射光的强度不同,颜色越深,反射光越弱,返回的数值就越大;反之,返回的数值就越小,检测到的值为0~255之间的整数。
此项功能跟实物的纳英特8位机器人基本相同。
地面灰度传感器结构如图1-4所示。
图1-4地面灰度传感器图示
5.指南针传感器
指南针传感器是利用地球磁场辨别方向,并将其转换成机器人可以识别的模拟信号。
指南针传感器的返回值为0~360之间的整数。
可根据实际需要,将任意方位的传感器值调整设置为特定的值。
指南针传感器结构如图1-5所示。
图1-5指南针传感器图示
1.1.3编程语言
纳英特智能机器人的编程语言是C语言,由机器人C语言和流程图编程语言两部分组成。
读者使用仿真版的时候,可以用流程图编程。
在用流程图编程的同时,可以自动生成C代码,便于读者观察、解释或修改程序,参见图1-6。
在图1-6中,左边模块库,中间是流程图,右边是C代码。
在流程图编辑界面右侧,即可看到当前程序的C代码。
图1-6
1.2《机器人3D仿真系统》能做什么
1.2.1为机器人编写程序
在纳英特机器人仿真版中,可以用流程图编写机器人程序,同时自动生成C代码。
也可以直接在打开程序编辑器的时候选择用C语言为机器人编写程序为。
1.2.2创建环境
可以自由创建环境是机器人3D仿真的一个突出优点,这往往是使用真实的机器人时所做不到的。
在纳英特3D仿真软件中,读者可以利用光源、障碍物构建各种环境,也可以利用画图工具画各种轨迹图然后导入到仿真中。
如房间、迷宫、轨迹灭火场地等。
下面的图1-7就是用仿真版创建的一个场地―“机器人轨迹灭火”。
图1-7
1.2.3仿真运行
仿真运行就是进入仿真环境,让虚拟机器人按照控制程序指令运行。
编好程序、创建环境、搭建好机器人之后,就可以仿真运行了。
因此,在仿真版中,读者能够直观地看到机器人运行的效果。
第二部分初试身手
本章内容是以机器人项目的形式编写的,既便于初学者入门,也便于已有基础的读者参考。
通过本章的学习,读者学会简单程序的编写及机器人项目制作的基本步骤。
机器人,顾名思义,就是类似人的机器。
本章主要介绍了机器人的执行器,即机器人的液晶显示屏、运动系统、传感器,相当于人的口、腿脚、眼睛。
读者只要边看边做,很快就能熟悉机器人了。
第一课简易机器人安装
1)打开仿真软件,在主界面上点击“机器人搭建”按钮。
即可进入机器人编辑场景。
如图2-1所示:
图2-1
2)在初始机器人选项中选择“新建”,机器人组件选项中选择“马达”,单击“添加部件”,然后用鼠标左键选择要添加部件的位置,如图2-2所示。
图2-2
3)选中马达的装配点,再以装配点为旋转中心进行角度的调整,再点击要装配的主机位置,如图2-3所示。
图2-3
4)安装好后,单击右键选择马达,单击左键“设置属性”,将左电机端口号设置为“0”,同样操作设置右电机端口号设置为“1”,(电机端口号可以设置为0、1、2、3)马达装配后如图2-4所示。
图2-4
5)在机器人组件里选择“轮子”,在部件类型列表里选择“小轮宽胎”进行装配,为马达装配轮胎,装配方法和装马达的方法一样。
装好后如图2-5所示。
图2-5
6)最后再为机器人安装万向轮。
在机器人组件里选择“轮子”,在部件类型列表里选择“万向轮”进行装配。
装配好如图2-6所示。
图2-6
单击完成,保存机器人。
这样就完成一个简单的机器人马达、轮子的装配。
第二课机器人前进
学习任务
本节课将学习控制机器人前进和驱动左右电机的方法,学习使用执行器模块库中的“移动”模块和“启动电机”模块编写程序,熟悉制作仿真项目的基本不步骤和方法。
(本节课需用的机器人同第一课搭建的机器人)
场地搭建
软件点击场地编辑即可进入场景编辑部分:
场景组件选择:
标识点——起始点,如图2-6所示。
图2-6
添加到场景中如上图所示,在起始点上点击鼠标右键选择设置属性,通过左侧上方的长度和宽度条对起始点的大小进行调节,同时可通过下方位移方向盘,对起始点位置进行调节。
场地编辑完成后点击右下角“完成”按钮保存文件。
文件命名为“机器人前进-场地”。
程序设计
1)点击主界面上的“进入仿真”,在“程序代码”下拉菜单中选择“新建”——开始程序的编写给机器人赋予智慧。
如图2-7所示。
图2-7
一般选用流程图文件。
如果能熟练运用C语言的也可以选择C语言文件。
2)进入机器人编程环境,拖动执行器模块库中的“移动”模块到“主程序”下,如图2-8所示。
图2-8
在拖动时,必须将拖动的模块对准“主程序”下方的黑色箭头,当箭头变为红色时,松开鼠标左键,这样才能成功地将此模块与主程序连接起来。
如果模块图标的外框是虚线框,则表示模块之间没有正确连接,此时,可以用鼠标左键拖动模块重新连接也可以单击鼠标左键选中错误连接的模块,按Delete键,确认后删除。
双击“移动”图标,进行参数设置。
左右电机分别输入相同的数值70,此时电机正转,如图2-9所示。
图2-9
3)在模块库中选择“延时”模块,并拖动到“前进”模块下面,正确连接后双击“延时”模块设置机器人时间为1.5秒钟,如图2-10所示。
图2-10
4)在程序设计中,当机器人到达目的地后停下来,需要从执行器模块库中拖动“停止”模块到“延时”模块下,并设置参数让机器人停止。
取消选择停止所有电机,选择电机0、电机1,设置完成后,程序流程图中的“停止”模块,显示为“停止电机0,1”。
如果机器人安装有多个电机,则根据机器人装配的实际情况选择停止相应的电机,如图2-11所示。
图2-11
最后关闭窗口并保存文件到默认的目录下,命名为“机器人前进-程序”。
如图2-12所示。
图2-12
仿真运行
点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择保存的场地:
机器人前进-场地;分组不用设置;机器人名称可以随便命名;程序代码选择保存的程序:
机器人前进-程序;机器人选择第一课搭建的机器人。
此时点击“下一步”进入仿真。
具体设置如图2-13所示。
图2-13
在下面这个界面上点击“进入仿真”会自动跳出保存项目对话框。
输入项目名称即可以对做好的仿真项目进行保存以便在快速启动中打开。
如图2-14所示。
图2-14
保存好之后,将进入如图的界面点击“开始”,开始运行做好的仿真。
如图2-15所示。
图2-15
当发现机器人的硬件或者程序有问题需要修正的时候按以下操作进行:
①:
机器人程序的修改
当鼠标右键选中主机盒,屏幕左上角会弹出一个运行参数的对话框,对话框下方有个代码显示,点击代码显示。
下方就会出现对应的C代码。
打开后如图2-16所示。
图2-16
在机器人显示出代码框内任意位置双击鼠标左键,即进入代码编辑界面可对机器人程序进行修改保存,然后复位,再重新开始运行机器人。
同时在此状态下,可看到机器人当前正在运行的某段代码,便于发现错误并进行及时修改。
②:
场地的修改
在场地任意位置点击鼠标右键选择编辑,即可对场地进行修改。
如图2-17所示。
图2-17
各显神通
分别用“移动”和“启动电机”模块编写程序完成机器人前进2秒再后退2秒停止的任务,并在仿真中实现。
第三课机器人转弯
学习任务
本节课将学习“移动”模块或“启动电机”模块实现机器人转弯,通过设置左右轮转速的不同实现机器人精确转弯。
(这节课需用的场地同第二课搭建的场地、机器人同第一课搭建的机器人)
策略分析
如果要实现机器人转向,可以通过机器人左、右轮差速来实现,当左电机转速快于右电机转速时,机器人右转;当左电机转速慢于右电机转速时,机器人左转。
当左、右电机转速相等并为正值时(设置左右电机功率分别是70、70),机器人前进。
当左、右电机转速相等并为负值时(设置左右电机功率分别是-70、-70),机器人后退。
左右电机转速相差越大,机器人转弯半径越小,反之则越大。
一个为正值,一个为负值则为原地转(如右电机功率分别是70、-70)。
程序设计
1)打开程序编辑器,拖动模块库下的“移动”模块到主程序的下方,并双击“移动”模块设置左右电机的功率分别为90,70(右转)。
如图2-18所示。
图2-18
2)在模块库中选择“延时”模块,并拖动到“前进”模块下面,正确连接后双击“延时”模块设置机器人时间为1.0秒钟,如图2-19所示。
图2-19
3)最后,添加“停止“模块并设置停止0,1电机。
编辑好的程序如图2-20所示。
图2-20
程序编辑完成后点击关闭并保存文件,文件命名为“机器人转弯-程序”。
仿真运行
点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择2.2课的场地:
机器人前进-场地;分组不用设置;机器人名称可以随便命名;程序代码选择保存的程序:
机器人转弯-程序;机器人选择2.2节所搭建的机器人。
具体设置如图2-21所示。
图2-21
此时点击“下一步”进入仿真。
在机器人与场地合成界面上点击“进入仿真”会自动跳出保存项目对话框。
输入项目名称即可以对做好的仿真项目进行保存以便在快速启动中打开。
保存好之后,将进入如图2-22所示的界面点击“开始”,开始运行做好的仿真。
图2-22
各显神通
编写程序完成机器人前进两秒后左转90°停止的任务,并在仿真中实现。
第四课机器人走正方形
学习任务
本节课将学习“多次循环”、“移动”、“延时”模块的综合使用,实现机器人走出正方形。
(这节课需用的场地同第二课搭建的场地、机器人同第一课搭建的机器人)
策略分析
本项目的难点在于要反复调整“移动”和“延时”模块的参数(速度和时间)实现转弯90°,以便机器人正好转90°。
要实现机器人走出一个正方形,就要机器人前进一段距离,然后转弯90°,这个动作循环执行4次,就可以走出一个正方形了。
所以这个项目我们要使用“多次循环”模块来实现前进转弯的动作执行4次。
另外要注意的是,使用“多次循环”模块的时候,须将待循环的内容放在循环体内部。
程序设计
1)在“控制模块库”中选择“多次循环”模块拖动到主程序的下方,并双击打开参数设置对话框,即可输入循环次数。
这里走正方形我们需要前进,转弯的动作执行4次,这里我们就设置循环4次。
具体设置见图2-23。
图2-23
2)拖动执行模块库中的“移动”模块到多次循环模块的中间,双击设置左右马达的功率为100,100。
如图2-24所示。
图2-24
3)拖动“延时”模块到“前进”模块的下方,双击打开参数设置对话框,设置时间为1.5秒。
如图2-25所示。
图2-25
4)拖动模块库下的“移动”模块到“延时”模块的下方,并双击“移动”模块设置左右电机的功率分别为66,-66(原地右转)。
如图2-26所示。
图2-26
5)拖动“延时”模块到“右转”模块的下方,双击打开参数设置对话框,设置时间为0.1秒。
如图2-27所示。
图2-27
6)最后拖动“停止”模块到“多次循环”模块的外面,设置为停止0、1号电机。
如图2-28所示。
图2-28
仿真运行
点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择2.2课的场地:
机器人前进-场地;分组不用设置;机器人名称可以随便命名;程序代码选择保存的程序:
走正方形-程序;机器人选择2.2节所搭建的机器人。
具体设置如图2-29所示。
图2-29
此时点击“下一步”进入仿真。
在机器人与场地合成界面上点击“进入仿真”会自动跳出保存项目对话框。
输入项目名称即可以对做好的仿真项目进行保存以便在快速启动中打开。
保存好之后,将进入如图2-30所示的界面点击“开始”,开始运行做好的仿真。
图2-30
各显神通
动手编程完成机器人走正三角形的任务,并在仿真中实现。
第五课机器人走五角星
学习任务
本节课将学习“多次循环”、“移动”、“延时”模块的综合使用,实现机器人走出五角星的形状。
(这节课需用的场地同第二课搭建的场地、机器人同第一课搭建的机器人)
策略分析
本项目的难点在于要反复调整“移动”和“延时”模块的参数(速度和时间)实现转弯144°,以便机器人正好转144°。
要实现机器人走出一个五角星,就要机器人前进一段距离,然后转弯144°,这个动作循环执行5次,就可以走出一个五角星了。
程序设计
1)在“控制模块库”中选择“多次循环”模块拖动到主程序的下方,并双击打开参数设置对话框,即可输入循环次数。
这里走五角星我们需要前进,转弯的动作执行5次,这里我们就设置循环5次。
具体设置见图2-31。
图2-31
2)拖动执行模块库中的“移动”模块到多次循环模块的中间,双击设置左右马达的功率为100,100。
如图2-32所示。
图2-32
3)拖动“延时”模块到“前进”模块的下方,双击打开参数设置对话框,设置时间为1.0秒。
如图2-33所示。
图2-33
4)拖动模块库下的“移动”模块到“延时”模块的下方,并双击“移动”模块设置左右电机的功率分别为67,-67(原地右转)。
如图2-34所示。
图2-34
5)拖动“延时”模块到“右转”模块的下方,双击打开参数设置对话框,设置时间为0.2秒。
如图2-35所示。
图2-35
6)最后拖动“停止”模块到“多次循环”模块的外面,设置为停止0、1号电机。
如图2-36所示。
图2-36
仿真运行
点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择2.2课的场地:
机器人前进-场地;分组不用设置;机器人名称可以随便命名;程序代码选择保存的程序:
走五角星-程序;机器人选择2.2节所搭建的机器人。
具体设置如图2-37所示。
图2-37
此时点击“下一步”进入仿真。
在机器人与场地合成界面上点击“进入仿真”会自动跳出保存项目对话框。
输入项目名称即可以对做好的仿真项目进行保存以便在快速启动中打开。
保存好之后,将进入如图2-38所示的界面点击“开始”,开始运行做好的仿真。
图2-38
各显神通
编写程序完成机器人走正六边形的任务,并在仿真中实现。
第六课机器人走圆形
学习任务
前面的课程中我们已经学习过如何实现机器人原地转弯,本节课将继续学习使用“移动”模块或“启动电机”模块实现机器人划弧转弯,通过设置不同的参数设置实现机器人走圆形。
(这节课需用的场地同第二课搭建的场地、机器人同第一课搭建的机器人)
策略分析
如果要实现机器人走圆形,可以通过调整机器人左、右轮差速来实现,当左右电机转速均为正值并左电机转速快于右电机转速时(例如左电机90,右电机70),机器人向右划弧;反之机器人向左划弧。
左右电机转速相差越大,机器人转弯半径越小,反之则越大。
程序设计
1)打开程序编辑器,拖动模块库下的“移动”模块到主程序的下方,并双击“移动”模块设置左右电机的功率分别为80,64(右转)。
如图2-39所示。
图2-39
2)在模块库中选择“延时”模块,并拖动到“前进”模块下面,正确连接后双击“延时”模块设置机器人时间为5.0秒钟,如图2-40所示。
图2-40
3)最后,添加“停止“模块并设置停止0,1电机。
编辑好的程序如图2-41所示。
图2-41
程序编辑完成后点击关闭并保存文件,文件命名为“机器人走圆形-程序”。
仿真运行
点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择2.2课的场地:
机器人前进-场地;分组不用设置;机器人名称可以随便命名;程序代码选择保存的程序:
走圆形-程序;机器人选择2.2节所搭建的机器人。
具体设置如图2-42所示。
图2-42
此时点击“下一步”进入仿真。
在机器人与场地合成界面上点击“进入仿真”会自动跳出保存项目对话框。
输入项目名称即可以对做好的仿真项目进行保存以便在快速启动中打开。
保存好之后,将进入如图2-43所示的界面点击“开始”,开始运行做好的仿真。
图2-43
各显神通
编程在仿真中实现机器人从起点出发先向左走一个圆,回到起点位置后再向右走一个圆,最终停在起点的位置。
第七课落地扇
学习任务
本课将学习利用“启动电机”模块控制风扇电机,模拟落地扇可以左右摆动着吹。
(这节课需用的场地同第二课编辑的场地)
机器人的搭建
在第一课搭建的机器人的基础上再增加一个风扇。
打开仿真软件,点击机器人搭建进入机器人编辑环境。
1)初始机器人选择第一课搭建好的机器人,由于要安装风扇,所以要用到铜柱来架高风扇。
在组件选择里选择“其他配件”,部件里选择“铜柱”,点击添加部件,将铜柱添加到编辑场景中。
如图2-44所示。
图2-44
2)选中铜柱上的装配点,再以装配点为旋转中心进行角度的调整,再点击要装配的主机位置,如图2-45所示。
图2-45
如上方法,安装3根铜柱,安装好后如图2-46所示。
图2-46
3)组件选择“马达”,部件选择“直流电机”,点击“添加部件”将直流电机添加到编辑场景中。
然后选中直流电机上的装配点,再以装配点为旋转中心进行角度的调整,再点击铜柱上的装配点,将直流电机装配到铜柱上。
如图2-47所示。
图2-47
安装好直流电机后,鼠标右键点击直流电机,选择设置属性,打开设置属性对话框,设置直流电机端口号为2。
设置完成后点击“确定”保存。
如图2-48所示。
图2-48
4)最后在组件中选择“其他配件”,部件中选择“风扇”,点击“添加部件”将风扇添加到编辑场景中。
然后选中风扇上的装配点,再以装配点为旋转中心进行角度的调整,再点击直流电机上的装配点,将风扇装配到直流电机上。
如图2-49所示。
图2-49
安装完毕后点击右下角“保存”按钮保存机器人,命名为“落地扇–机器人”。
程序设计
1)打开程序编辑器,拖动控制模块库中的“条件循环”模块到主程序的下方,并双击打开参数设置对话框,设置为“永远循环”。
如图2-50所示。
图2-50
2)然后拖动执行器模块库中的“启动电机”模块到“永远循环”模块中。
设置启动0、1、2号电机,设置0、1、2号电机的功率为10、-10、100。
如图2-51所示。
图2-51
仿真运行
点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择2.2课的场地:
机器人前进-场地;分组不用设置;机器人名称可以随便命名;程序代码选择保存的程序:
落地扇-程序;机器人选择“落地扇-机器人”。
具体设置如图2-52所示。
图2-52
此时点击“下一步”进入仿真。
在机器人与场地合成界面上点击“进入仿真”会自动跳出保存项目对话框。
输入项目名称即可以对做好的仿真项目进行保存以便在快速启动中打开。
保存好之后,将进入如图2-53所示的界面点击“开始”,开始运行做好的仿真。
图2-53
各显神通
第八课机器人测障
学习任务
本节课要学习红外避障传感器,了解红外避障传感器在实际中的某些应用;在机器人遇障停止的活动中,学习“永远循环”、“条件判断”模块的使用以及其在编程环境中的应用将学习。
机器人的搭建
1)打开第一课安装的机器人,在此基础上再安装红外避障传感器。
组件选择“传感器”,部件选择“红外避障传感器”。
选择好后点击“添加部件”将红外传感器添加到场景中。
如图2-54所示。
图2-54
2)选中红外避障传感器的装配点,再以装配点为旋转中心进行角度的调整,再点击要装配的主机位置,如图2-55所示。
图2-55
3)安装好后,右键选择红外避障传感器,左键单击“设置属性”,将红外避障传感器的感应区夹角设置为“19”,半径设置为15,端口号设置为7,角度旋转为大约如图所示的角度。
设置完成后点击“确定”装配好如图2-56所示。
图2-56
4)按上面的方法再安装一个红外避障传感器到主机上并设置端口号为8号口,感应区和角度大约如图所示。
设置完成后点击“确定”装配好如图2-57所示。
图2-57
5)同样的方法再在主机的正前方安装一个红外避障传感器,端口号设置为9、感应区域及角度设置大约为如图所示。
设置好后点击“确定”保存。
如图2-58所示。
图2-58
最后,保存机器人,命名为“测障走迷宫机器人”。
如图2-59所示。
图2-59
场地的搭建
在2.2节搭建的场地基础上再添加一个挡板就可以制作成本节课需要的场地了。
1)打开2.2节编辑的场地,在场景组件里选择“常用”,现有部件类型里选择“方体”,点击添加部件添加到编辑场景中。
如图2-60所示。
图2-60
2)属性设置。
鼠标右键点击方体,选择设置属性打开参数设置对话框。
设置方体的长、宽、高及位置。
设置完成后点击“确定”。
图2-61
完成后点击右下角“保存”按钮保存场地,命名为“遇障停止-场地”。
程序设计
1)拖动控制模块库中的“条件循环”模块到主程序的下方,并双击条件循环模块设置为“永远循环”。
如图2-62所示。
图2-62
2)然后拖动控制模块库中的“条件判断”模块到“永远循环”模块的中间,双击条件判断模块打开参数设置对话框。
条件设置为“数字9号口是0”。
具体设置如图2-63。
设置好后点击“增加条件”,最后点击“确定”按钮。
图2-63
3)拖动执行器模块库中的“移动”模块到条件判断模块的YES分支下,设置左右马达参数为100,100。
如图2-64所示。
图2-64
4)最后拖动“停止”模块到条件判断模块的NO分支下。
设置为停止所有电机。
如图2-65所示。
图2-65
编辑完成后,点击关闭按钮保存文件,命名为“