


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、机器人 3d仿真系统教材天津市太平村第二中学张汝生整理目录第三课机器人转弯 .机器人轨迹比赛 .第一部分预备知识在本章中,我们对机器人 3d仿真系统作一个简单介绍,让读者初步了解机器人的结构、 传感器和编程语言。 在读完本章内容之后, 相信读者就能方便地使用机器人 3d仿真系统了。虚拟机器人的结构与功能1.1.1 身体结构1.1.2 感觉器官智能机器人的感觉功能, 是由机器人身上的传感器实现的。纳英特机器人身上安装的传感器有以下几种:1. 红外传感器红外传感器由红外发射器和红外接收器两部分组成。当接收装置收到发射装置发射的红外信号, 机器人即可利用收到的信号来识别周围特定环境的变化。机器人就是
2、利用这一原理对检测其周围有、无障碍物的。红外传感器测到障碍物返回给主机的数值为1,没测到障碍物返回为0。红外传感器结构如图1-1 所示。图 1-1红外传感器结构图2. 火焰传感器火焰传感器能够检测光线的强度,检测到的值为0 255 之间的整数。光线越亮,检测到的数值越小;光线越暗,检测到的数值越大。此项功能跟实物的纳 英特 8 位机器人基本相同。火焰传感器结构如图1-2 所示。图 1-2火焰传感器结构图3. 碰撞传感器碰撞传感器 碰撞传感器是由一个接触导轮和一个接触开关组成。 当接触导轮碰到物体时,接触开关会被按下。当开关按下时返回主机的数值为 0,没按下时返回主机的数值为 1,碰撞传感器结构
3、如图 1-3 所示。图 1-3 碰撞传感器图示碰撞方向的确定 利用碰撞传感器, 可以判断碰撞发生的方向, 在机器人合适位置安装碰撞传感器, 当某一处的碰撞传感器发生了碰撞, 传感器返回的值为0,否则为 1,利用这个值,可以确定发生碰撞的方向。4. 地面灰度传感器地面灰度传感器由一个发射装置和一个接收装置组成。 发射装置发出的光照射到地面,接收装置通过检测返回的光线强度并将其转换为机器人可以识别的信号。不同颜色反射光的强度不同,颜色越深,反射光越弱,返回的数值就越大; 反之,返回的数值就越小,检测到的值为0255 之间的整数。此项功能跟实物的纳英特 8 位机器人基本相同。地面灰度传感器结构如图1
4、-4 所示。图 1-4地面灰度传感器图示5. 指南针传感器指南针传感器是利用地球磁场辨别方向,并将其转换成机器人可以识别的模拟信号。指南针传感器的返回值为0 360之间的整数。 可根据实际需要, 将任意方位的传感器值调整设置为特定的值。指南针传感器结构如图1-5 所示。图 1-5指南针传感器图示1.1.3 编程语言纳英特智能机器人的编程语言是 c语言,由机器人 c语言和流程图编程语言两部分组成。 读者使用仿真版的时候, 可以用流程图编程。 在用流程图编程的同时,可以自动生成 c代码,便于读者观察、解释或修改程序,参见图 1 6。在图1 6 中,左边模块库,中间是流程图,右边是 c代码。在流程图
5、编辑界面右侧,即可看到当前程序的 c代码。图1-6机器人 3d 仿真系统能做什么1.2.1 为机器人编写程序在纳英特机器人仿真版中,可以用流程图编写机器人程序,同时自动生成c代码。也可以直接在打开程序编辑器的时候选择用c语言为机器人编写程序为。1.2.2 创建环境可以自由创建环境是机器人3d仿真的一个突出优点, 这往往是使用真实的机器人时所做不到的。 在纳英特 3d仿真软件中, 读者可以利用光源、 障碍物构建各种环境,也可以利用画图工具画各种轨迹图然后导入到仿真中。如房间、迷宫、 轨迹灭火场地等。下面的图17 就是用仿真版创建的一个场地“机器人轨迹灭火”。图1-71.2.3 仿真运行仿真运行就
6、是进入仿真环境, 让虚拟机器人按照控制程序指令运行。编好程序、创建环境、搭建好机器人之后,就可以仿真运行了。因此,在仿真版中,读 者能够直观地看到机器人运行的效果。第二部分初试身手本章内容是以机器人项目的形式编写的,既便于初学者入门, 也便于已有基础的读者参考。 通过本章的学习, 读者学会简单程序的编写及机器人项目制作的基本步骤。机器人,顾名思义,就是类似人的机器。本章主要介绍了机器人的执行器,即机器人的液晶显示屏、运动系统、传感器,相当于人的口、腿脚、眼睛。读者只要边看边做,很快就能熟悉机器人了。第一课简易机器人安装1)打开仿真软件,在主界面上点击“机器人搭建”按钮。即可进入机器人编辑场景。
7、如图2-1 所示:图 2-12) 在初始机器人选项中选择“新建”,机器人组件选项中选择“马达”, 单击“添加部件”,然后用鼠标左键选择要添加部件的位置,如图2-2 所示。图 2-23) 选中马达的装配点, 再以装配点为旋转中心进行角度的调整,再点击要装配的主机位置,如图2-3 所示。图 2-34) 安装好后,单击右键选择马达,单击左键“设置属性”,将左电机端口号设置为“ 0”,同样操作设置右电机端口号设置为“1”,(电机端口号可以设置为 0、1、2、3)马达装配后如图2-4 所示。图 2-45) 在机器人组件里选择“轮子”,在部件类型列表里选择“小轮宽胎”进行装配,为马达装配轮胎, 装配方法和
8、装马达的方法一样。 装好后如图 2-5 所示。图 2-56) 最后再为机器人安装万向轮。在机器人组件里选择“轮子”,在部件类型列表里选择“万向轮”进行装配。装配好如图2-6 所示。图 2-6单击完成, 保存机器人。 这样就完成一个简单的机器人马达、轮子的装配。第二课机器人前进学习任务本节课将学习控制机器人前进和驱动左右电机的方法,学习使用执行器模块库中的“移动”模块和“启动电机”模块编写程序,熟悉制作仿真项目的基本不 步骤和方法。(本节课需用的机器人同第一课搭建的机器人)场地搭建软件点击场地编辑即可进入场景编辑部分:场景组件选择:标识点起始点,如图2-6 所示。长度、宽度调节栏位移方向盘图 2
9、-6添加到场景中如上图所示, 在起始点上点击鼠标右键选择设置属性,通过左侧上方的长度和宽度条对起始点的大小进行调节,同时可通过下方位移方向盘, 对起始点位置进行调节。场地编辑完成后点击右下角“完成”按钮保存文件。文件命名为“机器人前进- 场地”。程序设计1)点击主界面上的“进入仿真” ,在“程序代码”下拉菜单中选择“新建”开始程序的编写给机器人赋予智慧。如图2-7 所示。图 2-7一般选用流程图文件。如果能熟练运用c语言的也可以选择c语言文件。2)进入机器人编程环境,拖动执行器模块库中的“移动”模块到“主程序”下,如图 2-8 所示。单击鼠标左键拖到“主图程2序-8”下在拖动时,必须将拖动的模
10、块对准“主程序”下方的黑色箭头,当箭头变为 红色时, 松开鼠标左键, 这样才能成功地将此模块与主程序连接起来。如果模块图标的外框是虚线框, 则表示模块之间没有正确连接,此时, 可以用鼠标左键拖动模块重新连接也可以单击鼠标左键选中错误连接的模块,按delete键,确认后删除。1输入 702输入 703单击图 2-93)在模块库中选择“延时”模块,并拖动到“前进”模块下面,正确连接后双击“延时”模块设置机器人时间为秒钟,如图2-10所示。1拖动“延时”3选中时间精确度2双击4输入时间值5单击确定双击“移动”图标,进行参数设置。左右电机分别输入相同的数值70,此时电机正转,如图2-9 所示。图 2-
11、104)在程序设计中,当机器人到达目的地后停下来,需要从执行器模块库中 拖动“停止”模块到“延时”模块下, 并设置参数让机器人停止。取消选择停止所有电机,选择电机0、电机 1,设置完成后,程序流程图中的“停止”模块, 显示为“停止电机0,1 ”。如果机器人安装有多个电机,则根据机器人装配的实际情况选择停止相应的电机,如图2-11 所示。1拖动“停止”模块到“延时”模块下3单击确定2双击图 2-11最后关闭窗口并保存文件到默认的目录下,命名为“机器人前进 - 程序”。如图 2-12 所示。仿真运行图 2-12点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择保存的场地:机器人前
12、进- 场地;分组不用设置;机器人名称可以随便命名; 程序代码选择保存的程序: 机器人前进 - 程序;机器人选择第一课搭建的机器人。此时点击“下一步”进入仿真。具体设置如图2-13 所示。图 2-13在下面这个界面上点击 “进入仿真” 会自动跳出保存项目对话框。输入项目名称即可以对做好的仿真项目进行保存以便在快速启动中打开。如图 2-14 所示。图 2-14保存好之后,将进入如图的界面点击“开始”,开始运行做好的仿真。如图2-15 所示。图 2-15当发现机器人的硬件或者程序有问题需要修正的时候按以下操作进行:机器人程序的修改当鼠标右键选中主机盒, 屏幕左上角会弹出一个运行参数的对话框,对话框下
13、方有个代码显示,点击代码显示。下方就会出现对应的c 代码。打开后如图2-16 所示。图 2-16在机器人显示出代码框内任意位置双击鼠标左键,即进入代码编辑界面可对机器人程序进行修改保存, 然后复位,再重新开始运行机器人。 同时在此状态下, 可看到机器人当前正在运行的某段代码,便于发现错误并进行及时修改。:场地的修改在场地任意位置点击鼠标右键选择编辑,即可对场地进行修改。如图2-17所示。图 2-17各显神通分别用“移动”和“启动电机”模块编写程序完成机器人前进2 秒再后退 2秒停止的任务,并在仿真中实现。第三课机器人转弯学习任务本节课将学习“移动”模块或“启动电机”模块实现机器人转弯,通过设置
14、左右轮转速的不同实现机器人精确转弯。(这节课需用的场地同第二课搭建的场地、机器人同第一课搭建的机器人)策略分析如果要实现机器人转向, 可以通过机器人左、 右轮差速来实现, 当左电机转速快于右电机转速时, 机器人右转; 当左电机转速慢于右电机转速时, 机器人左转。当左、右电机转速相等并为正值时(设置左右电机功率分别是 70、70),机器人前进。当左、右电机转速相等并为负值时(设置左右电机功率分别是 -70 、-70 ),机器人后退。 左右电机转速相差越大, 机器人转弯半径越小, 反之则越大。一个为正值,一个为负值则为原地转(如右电机功率分别是 70、-70 )。程序设计1) 打开程序编辑器,拖动
15、模块库下的“移动”模块到主程序的下方,并双击“移动”模块设置左右电机的功率分别为90,70 (右转)。如图 2-18 所示。图 2-182) 在模块库中选择“延时”模块,并拖动到“前进”模块下面,正确连接后双击“延时”模块设置机器人时间为秒钟,如图2-19所示。图 2-193) 最后,添加“停止“模块并设置停止0,1 电机。编辑好的程序如图2-20所示。图 2-20程序编辑完成后点击关闭并保存文件,文件命名为“机器人转弯- 程序”。仿真运行点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择课的场地:机器人前进- 场地;分组不用设置;机器人名称可以随便命名;程序代码选择保存的程
16、序:机器人转弯- 程序;机器人选择节所搭建的机器人。具体设置如图 2-21 所示。图 2-21此时点击“下一步” 进入仿真。在机器人与场地合成界面上点击“进入仿真” 会自动跳出保存项目对话框。 输入项目名称即可以对做好的仿真项目进行保存以便在快速启动中打开。保存好之后,将进入如图2-22 所示的界面点击“开始” , 开始运行做好的仿真。各显神通图 2-22编写程序完成机器人前进两秒后左转90°停止的任务,并在仿真中实现。第四课机器人走正方形学习任务本节课将学习“多次循环”、“移动”、“延时”模块的综合使用,实现机器人走出正方形。(这节课需用的场地同第二课搭建的场地、机器人同第一课搭建
17、的机器人)策略分析本项目的难点在于要反复调整 “移动” 和“延时” 模块的参数(速度和时间) 实现转弯 90°,以便机器人正好转 90°。要实现机器人走出一个正方形,就要机器人前进一段距离,然后转弯90°,这个动作循环执行 4次,就可以走出一个正方形了。所以这个项目我们要使用 “多次循环” 模块来实现前进转弯的动作执行4次。另外要注意的是,使用“多次循环”模块的时候,须将待循环的内容放在循环体内 部 。 程序设计1)在“控制模块库”中选择“多次循环”模块拖动到主程序的下方,并双击 打开参数设置对话框, 即可输入循环次数。 这里走正方形我们需要前进,转弯的动作执行
18、4次,这里我们就设置循环4次。具体设置见图 2-23。图 2-232)拖动执行模块库中的“移动”模块到多次循环模块的中间,双击设置左右马达的功率为 100, 100。如图 2-24所示。图 2-243)拖动“延时”模块到“前进”模块的下方,双击打开参数设置对话框,设置时间为秒。如图2-25 所示。图 2-254) 拖动模块库下的“移动”模块到“延时”模块的下方,并双击“移动” 模块设置左右电机的功率分别为66,-66 (原地右转)。如图 2-26 所示。图 2-265) 拖动“延时”模块到“右转”模块的下方,双击打开参数设置对话框, 设置时间为秒。如图2-27 所示。图 2-276) 最后拖动
19、“停止”模块到“多次循环”模块的外面,设置为停止0、1号电机。如图 2-28 所示。仿真运行图 2-28点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择课的场地: 机器人前进 - 场地; 分组不用设置; 机器人名称可以随便命名; 程序代码选择保存的程序:走正方形- 程序;机器人选择节所搭建的机器人。具体设置如图 2-29 所示。图 2-29此时点击“下一步”进入仿真。在机器人与场地合成界面上点击“进入仿真”会自动跳出保存项目对话框。 输入项目名称即可以对做好的仿真项目进行保存以便在快速启动中打开。保存好之后,将进入如图2-30 所示的界面点击“开始”,开始运行做好的仿真。各
20、显神通图 2-30动手编程完成机器人走正三角形的任务,并在仿真中实现。第五课机器人走五角星学习任务本节课将学习“多次循环”、“移动”、“延时”模块的综合使用,实现机器人走出五角星的形状。(这节课需用的场地同第二课搭建的场地、机器人同第一课搭建的机器人)策略分析本项目的难点在于要反复调整 “移动” 和“延时” 模块的参数(速度和时间) 实现转弯 144°,以便机器人正好转 144°。要实现机器人走出一个五角星,就要机器人前进一段距离, 然后转弯 144°,这个动作循环执行 5次,就可以走出一个五角星了。程序设计1)在“控制模块库”中选择“多次循环”模块拖动到主程序的
21、下方,并双击 打开参数设置对话框, 即可输入循环次数。 这里走五角星我们需要前进,转弯的动作执行 5次,这里我们就设置循环5次。具体设置见图 2-31。图 2-312)拖动执行模块库中的“移动”模块到多次循环模块的中间,双击设置左右马达的功率为 100, 100。如图 2-32所示。图 2-323)拖动“延时”模块到“前进”模块的下方,双击打开参数设置对话框,设置时间为秒。如图2-33 所示。图 2-334) 拖动模块库下的“移动”模块到“延时”模块的下方,并双击“移动” 模块设置左右电机的功率分别为67,-67 (原地右转)。如图 2-34 所示。图 2-345) 拖动“延时”模块到“右转”
22、模块的下方,双击打开参数设置对话框, 设置时间为秒。如图2-35 所示。图 2-356) 最后拖动“停止”模块到“多次循环”模块的外面,设置为停止0、1号电机。如图 2-36 所示。仿真运行图 2-36点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择课的场地: 机器人前进 - 场地; 分组不用设置; 机器人名称可以随便命名; 程序代码选择保存的程序:走五角星- 程序;机器人选择节所搭建的机器人。具体设置如图 2-37 所示。图 2-37此时点击“下一步” 进入仿真。在机器人与场地合成界面上点击“进入仿真” 会自动跳出保存项目对话框。 输入项目名称即可以对做好的仿真项目进行保
23、存以便在快速启动中打开。保存好之后,将进入如图2-38 所示的界面点击“开始” , 开始运行做好的仿真。各显神通图 2-38编写程序完成机器人走正六边形的任务,并在仿真中实现。第六课机器人走圆形学习任务前面的课程中我们已经学习过如何实现机器人原地转弯,本节课将继续学习使用“移动”模块或“启动电机”模块实现机器人划弧转弯,通过设置不同的参 数设置实现机器人走圆形。 (这节课需用的场地同第二课搭建的场地、机器人同第一课搭建的机器人)策略分析如果要实现机器人走圆形, 可以通过调整机器人左、 右轮差速来实现, 当左右电机转速均为正值并左电机转速快于右电机转速时(例如左电机 90,右电机70),机器人向
24、右划弧;反之机器人向左划弧。左右电机转速相差越大,机器人转弯半径越小,反之则越大。程序设计1) 打开程序编辑器,拖动模块库下的“移动”模块到主程序的下方,并双击“移动”模块设置左右电机的功率分别为80,64 (右转)。如图 2-39 所示。图 2-392) 在模块库中选择“延时”模块,并拖动到“前进”模块下面,正确连接后双击“延时”模块设置机器人时间为秒钟,如图2-40 所示。图 2-403) 最后,添加“停止“模块并设置停止0,1 电机。编辑好的程序如图2-41所示。图 2-41程序编辑完成后点击关闭并保存文件,文件命名为“机器人走圆形 - 程序”。仿真运行点击“进入仿真”进入机器人组队的设
25、置界面,规则选择“常规”,场地选择课的场地:机器人前进- 场地;分组不用设置;机器人名称可以随便命名;程序代码选择保存的程序:走圆形- 程序;机器人选择节所搭建的机器人。具体设置如图 2-42 所示。图 2-42此时点击“下一步” 进入仿真。在机器人与场地合成界面上点击“进入仿真” 会自动跳出保存项目对话框。 输入项目名称即可以对做好的仿真项目进行保存以便在快速启动中打开。保存好之后,将进入如图2-43 所示的界面点击“开始” , 开始运行做好的仿真。各显神通图 2-43编程在仿真中实现机器人从起点出发先向左走一个圆,回到起点位置后再向右走一个圆,最终停在起点的位置。第七课落地扇学习任务本课将
26、学习利用 “启动电机” 模块控制风扇电机, 模拟落地扇可以左右摆动着吹。(这节课需用的场地同第二课编辑的场地)机器人的搭建在第一课搭建的机器人的基础上再增加一个风扇。打开仿真软件, 点击机器人搭建进入机器人编辑环境。1) 初始机器人选择第一课搭建好的机器人,由于要安装风扇,所以要用到铜柱来架高风扇。在组件选择里选择“其他配件”,部件里选择“铜柱”,点击添加部件,将铜柱添加到编辑场景中。如图2-44 所示。图 2-442) 选中铜柱上的装配点,再以装配点为旋转中心进行角度的调整,再点击要装配的主机位置,如图2-45 所示。图 2-45如上方法,安装 3 根铜柱,安装好后如图2-46 所示。图 2
27、-463) 组件选择“马达”,部件选择“直流电机” ,点击“添加部件”将直流电机添加到编辑场景中。 然后选中直流电机上的装配点,再以装配点为旋转中心进行角度的调整,再点击铜柱上的装配点,将直流电机装配到铜柱上。如图2-47所示。图 2-47安装好直流电机后, 鼠标右键点击直流电机, 选择设置属性, 打开设置属性对话框,设置直流电机端口号为2。设置完成后点击“确定”保存。如图2-48 所示。图 2-484) 最后在组件中选择“其他配件” ,部件中选择“风扇”,点击“添加部件” 将风扇添加到编辑场景中。 然后选中风扇上的装配点, 再以装配点为旋转中心进行角度的调整,再点击直流电机上的装配点,将风扇
28、装配到直流电机上。如图2-49 所示。图 2-49安装完毕后点击右下角 “保存”按钮保存机器人, 命名为“落地扇机器人”。程序设计1) 打开程序编辑器,拖动控制模块库中的“条件循环”模块到主程序的下方,并双击打开参数设置对话框,设置为“永远循环”。如图2-50 所示。图 2-502) 然后拖动执行器模块库中的“启动电机”模块到“永远循环”模块中。设置启动 0、1、2 号电机,设置 0、1、2 号电机的功率为 10、-10 、100。如图2-51 所示。仿真运行图 2-51点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择课的场地:机器人前进- 场地;分组不用设置;机器人名称可
29、以随便命名;程序代码选择保存的程序:落地扇- 程序;机器人选择“落地扇- 机器人”。具体设置如图 2-52 所示。图 2-52此时点击“下一步” 进入仿真。在机器人与场地合成界面上点击“进入仿真” 会自动跳出保存项目对话框。 输入项目名称即可以对做好的仿真项目进行保存以便在快速启动中打开。保存好之后,将进入如图2-53 所示的界面点击“开始” , 开始运行做好的仿真。各显神通图 2-53第八课机器人测障学习任务本节课要学习红外避障传感器,了解红外避障传感器在实际中的某些应用; 在机器人遇障停止的活动中,学习“永远循环”、“条件判断”模块的使用以及其在编程环境中的应用将学习。机器人的搭建1) 打
30、开第一课安装的机器人,在此基础上再安装红外避障传感器。组件选 择“传感器”,部件选择“红外避障传感器” 。选择好后点击“添加部件”将红外传感器添加到场景中。如图2-54 所示。图 2-542) 选中红外避障传感器的装配点, 再以装配点为旋转中心进行角度的调整, 再点击要装配的主机位置,如图2-55 所示。图 2-553) 安装好后,右键选择红外避障传感器,左键单击“设置属性”,将红外避障传感器的感应区夹角设置为“19”,半径设置为 15,端口号设置为 7,角度旋转为大约如图所示的角度。设置完成后点击“确定”装配好如图2-56 所示。感应区调节栏角度调节按钮图 2-564) 按上面的方法再安装一
31、个红外避障传感器到主机上并设置端口号为8 号口,感应区和角度大约如图所示。设置完成后点击“确定”装配好如图2-57 所示。图 2-575 )同样的方法再在主机的正前方安装一个红外避障传感器,端口号设置为9、感应区域及角度设置大约为如图所示。设置好后点击“确定”保存。如图 2-58所示。图 2-58最后,保存机器人,命名为“测障走迷宫机器人”。如图2-59 所示。图 2-59场地的搭建在节搭建的场地基础上再添加一个挡板就可以制作成本节课需要的场地了。1)打开节编辑的场地, 在场景组件里选择 “常用”,现有部件类型里选择 “方体”,点击添加部件添加到编辑场景中。如图2-60 所示。图 2-602)
32、 属性设置。鼠标右键点击方体,选择设置属性打开参数设置对话框。设置方体的长、宽、高及位置。设置完成后点击“确定”。图 2-61完成后点击右下角“保存”按钮保存场地,命名为“遇障停止- 场地”。程序设计1) 拖动控制模块库中的“条件循环”模块到主程序的下方,并双击条件循环模块设置为“永远循环” 。如图 2-62 所示。图 2-622) 然后拖动控制模块库中的“条件判断”模块到“永远循环”模块的中间, 双击条件判断模块打开参数设置对话框。条件设置为“数字9 号口是 0”。具体设置如图 2-63。设置好后点击“增加条件” ,最后点击“确定”按钮。图 2-633) 拖动执行器模块库中的“移动”模块到条
33、件判断模块的yes 分支下,设置左右马达参数为100,100。如图 2-64 所示。图 2-644)最后拖动“停止”模块到条件判断模块的no分支下。设置为停止所有电机。如图 2-65 所示。图 2-65编辑完成后,点击关闭按钮保存文件,命名为“遇障停止- 程序”。仿真运行点击“进入仿真”进入机器人组队的设置界面,规则选择“常规”,场地选择“遇障停止 - 场地”;分组不用设置;机器人名称可以随便命名;程序代码选择“遇障停止 - 程序”;机器人选择“测障走迷宫机器人” 。具体设置如图 2-66 所示。图 2-66此时点击“下一步”进入仿真。在机器人与场地合成界面上点击 “进入仿真”, 保存项目文件
34、。保存好之后,将进入如图2-67 所示的界面点击“开始” ,开始运行做好的仿真。图 2-67第九课机器人走轨迹学习任务本节课将学习机器人走轨迹线的方法,通过本节课的学习, 要学会机器人走轨迹的方法,同时熟悉较复杂程序的编写。策略分析机器人利用地面灰度循迹最常见的三种方法是:只有一个地面灰度传感器时采用沿线法, 机器人行走路线是一个个连续的圆弧;有两个地面灰度传感器时采用骑线法实现, 安装两个地面灰度传感器之间的距离应比轨迹线的宽度大,机器人行走的路线似蛇形; 用三个地面灰度传感器可采用压线法, 在骑线法的基础上, 在机器人的底部中间位置安装一个灰度传感器,机器人行走的时候, 中间的灰度传感器一
35、直压线行驶,如下图所示。黑色线:为地面标示线绿色线:机器人行走轨迹 红色色块:灰度传感器位置沿线法骑线法压线法机器人循迹行走的三种方法沿线法走轨迹机器人行走分析:当机器人的灰度传感器检测到黑线时,说明机器人的行驶已经靠左了, 则机器人向右划弧; 如果机器人的灰度传感器检测白线时,说明机器人的行驶已偏右,则让机器人向左划弧。 检测地面灰度并把黑色的预设值大于 180,白色值为 80 左右,在程序设计时,取80-180 的中间值 130 作为判断黑白色的条件,即灰度传感器测得的值小于130,则是白色;测得的值大于 130,则为黑色。骑线法走轨迹机器人行走分析:当机器人左边的灰度传感器检测到黑线时,
36、 说明机器人的行驶已经向右偏了,则机器人左转; 当机器人右边的灰度传感器检测到黑线时, 说明机器人的行驶已经向左偏了,则机器人右转; 如果两个灰度传感器都没测到黑线,说明黑线在正中间,则机器人前进。压线法走轨迹机器人行走分析: 当机器人中间的灰度传感器测到黑线同时两边的灰度传感器测到的是白色时,机器人前进; 接着进一步判断左边的灰度有没有测到黑线, 当左边的灰度传感器测到黑线时,机器人左转; 当机器人右边的灰度传感器测到黑线时机器人右转。机器人的搭建1) 打开第一课安装的机器人, 在此基础上再安装灰度传感器。组件选择“传感器”,部件选择“灰度传感器” 。选择好后点击“添加部件”将灰度传感器添加
37、到场景中。如图2-68 所示。图 2-682) 选中灰度传感器的装配点,再以装配点为旋转中心进行角度的调整,再点击要装配的主机位置,如图2-69 所示。图 2-693) 安装好后,右键选择灰度传感器,左键单击“设置属性”,将灰度传感 器的感应区夹角设置为“20”,半径设置为3,端口号设置为2,角度旋转为大约如图所示的角度。设置完成后点击“确定”装配好如图2-70 所示。感应区调节栏角度调节按钮图 2-704) 按上面的方法再安装一个灰度传感器到主机上并设置端口号为3 号口, 感应区和角度大约如图所示。设置完成后点击“确定”装配好如图2-71 所示。图 2-71最后,点击“完成”按钮保存机器人,
38、命名为“走轨迹机器人”。如图2-72所示。场地的搭建图 2-72本课的场地涉及到地面黑线纹理,而软件本身没有画黑线的工具,所以我们就需要在软件之外画黑色轨迹线,我们先在 widows自带的画图工具面要把场地的黑线画好。1) 打开画图软件,点击图像属性,将宽度和高度都设置为300 像素。如图 2-73 所示。图 2-732) 在画图区画好所需要的黑线,注意线条粗细选择第二种比较合理。如图2-74 所示。图 2-74图画好之后,保存图片文件,注意文件类型为jpeg 格式。如图 2-75 所示。图 2-753) 将画好的图复制到仿真安装文件里面map 文件夹里面。如图2-76 所示。图 2-764)
39、 打开仿真,进入场地编辑,在场地上任意位置点击右键选择属性,在左 边中间有个地图选项,在下拉菜单里选择刚复制到map 文件夹里面的图片。如图 2-77 所示。图 2-775) 然后添加起点到场地中,添加完成如图2-78 所示。图 2-78最后点击“完成”保存地图,命名为“走轨迹- 场地”。程序设计沿线法程序设计:1) 拖动条件循环到主程序的下方并设置为“永远循环”。如图 2-79 所示。图 2-792) 拖动条件判断模块到永远循环模块的中间,条件设置为“模拟3 号口的值大于 127”。如图 2-80 所示。图 2-803) 分别拖动一个移动模块到条件判断模块的 yes 和 no 分支下, ye
40、s 分支下的参数设置为 80、50(右转) ,no 分支下的参数设置为 60、80(左转)。如图 2-81 所示。骑线法程序设计:图 2-811) 拖动条件循环模块到主程序的下方并设置为永远循环。如图2-82 所示。图 2-822) 拖动条件判断模块到永远循环的中间,设置条件判断模块的条件为“模拟 2 号口的值大于 127”。接着在条件判断的yes 分支下放一个移动模块并设置参数为 30、60(左转)。如图 2-83 所示。图 2-833) 再拖动一个条件判断模块放在第一个条件判断的no 分支下,并设置条件为“模拟 2 号口的值大于 127”。如图 2-84 所示。图 2-844) 在第二个条
41、件判断模块的 yes 和 no 分支下分别放一个移动模块, yes 分支下的移动模块设置为(右转) , no 分支下的移动模块设置为 100,100(前进)。如图 2-85 所示。图 2-85由于仿真软件不方便在机器人的正中间安装灰度传感器,所以压线法走轨迹在这里就不做详细介绍了。仿真运行选择相关参数。点击开始运行做好的仿真。如图2-86 所示。图 2-86第十课机器人走迷宫学习任务之前学习了红外避障传感器的使用, 了解了红外避障传感器在实际中的简单应用,本节课我们继续使用避障传感器,通过这次活动, 理解机器人走迷宫的策略,学习较复杂程序的编写。(本节课使用第八课搭建的机器人)策略分析如果一个
42、人在漆黑的迷宫场地中寻找出口,怎么才能走出迷宫呢一般地, 人会通过手的触摸来寻找行走路线, 沿迷宫的围墙的某一侧行走可以使机器人走遍迷宫的每个地方, 这是走迷宫的一般方法。 由于场地漆黑, 根据两手获得的墙壁触摸信息可以做出判断, 我们称沿左侧行走的方法为左手法则走,称沿右侧行走的方法为右手法则走。 让机器人假设按左手法则行走, 用左手去摸索左侧的墙壁, 以确定前进的方向, 同时右手伸向前方, 避免在前进的过程中撞到前方拐弯处的墙上。根据两手获得的墙壁的触摸信息做出以下四种判断:. 当左、右手都摸不到墙壁时向左前方行走,寻找墙壁以确定前进方向。. 当左手摸到墙壁,右手摸不到墙壁时向前方行走。.
43、 当左手摸不到墙壁,右手摸到墙壁向左转弯。. 当左、右手都摸到墙壁时向右转弯。机器人走迷宫时, 可以用机器人的红外传感器来代替人的左、右手, 以获取行进中的方向信息, 并对获取的红外信号信息做出判断,以决定下一步机器人的行走方向。场地的搭建搭建一个如图 2-87 所示的迷宫场地。图 2-87程序设计拖动“条件循环”到“主程序”下,设置“条件循环”为“永远循环”。拖动“条件判断”到“永远循环”内,设置条件判断,当前方或左方45° 红外测到有障碍的时候机器人向右转;如果前方和45°红外都没测到障碍再判断左方红外是否测到障碍, 如果有障碍就一直前进, 否则左转, 流程图及 c语言
44、程序如图 2-88 所示。仿真运行图 2-88图 2-89第三章稳步前进在本章中,读者将用到智能机器人的感觉系统。智能机器人的感觉是由传感 器实现的。智能机器人装备的传感器有红外传感器、光敏传感器、碰撞传感器、 声音传感器、 光电编码器、 地面灰度传感器等 6 种。读者通过做本章的机器人项目,就能熟悉机器人的传感器工作原理。第十一课走正方形学习任务之前学习了灰度传感器的使用,了解了灰度传感器走黑线的应用,本节课我们继续学习使用灰度传感器, 通过这次活动, 学习灰度走较复杂轨迹线的程序编写。(本节课用第九课搭建的机器人)策略分析本项目是要做一个让机器人能沿着如图所示的类似正方形的轨迹线行走,从粉
45、色的起点出发沿着左边的黑色轨迹线行走到黄色终点位置停止。要求不能脱离黑色轨迹线行走。 前面我们学习了机器人沿黑线走的方法,这里我们可以安装两个灰度传感器骑线走轨迹。场地的搭建1) 在画图工具中将黑色的轨迹线画好,属性设置为 300× 300 像素, 保存为jpeg格式。并将此图片文件复制到仿真软件的安装目录下。2) 打开仿真软件,进入场地编辑界面,鼠标右键单击空白场地,选择设置属性。打开如图3-1 所示的界面。图 3-1在此界面上, 左边参数设置栏的地图下拉菜单中选择“走正方形” 点击确定就可以将走正方形的轨迹图添加到场景中了。3) 在场地中添加起点和终点,具体位置如图3-2 所示。
46、图 3-2添加好后保存场地并命名为“走正方形场地”。程序设计1)先编写一个机器人走轨迹的子程序。方法是,鼠标右键单击编程区域的空白处,选择新建子程序,进入子程序对话框。命名为“guiji ”,注意子程序命名只能用数字和字母并且必须以字母开头。如图3-4 所示。图 3-3名称命名好之后点击“确认”按钮保存子程序。然后编写子程序。子程序如图 3-4 所示。图 3-42)子程序编好之后,在程序选择下拉菜单中选择主程序回到主程序编辑界面。在主程序中编写程序如图3-5 所示。图 3-5程序编写完成后保存程序并命名为“走正方形程序”。仿真运行图 3-6第十二课赛车学习任务本节课我们继续学习灰度传感器的应用
47、及指南针传感器的综合应用。通过本节课学习,要知晓指南针传感器的用法及运用指南针传感器转弯的方法。策略分析本项目是要做一个让机器人能沿着如图所示的类似t 字型的轨迹通道行走, 从粉色的起点出发沿着通道走到黄色终点位置停止。要求不能超越轨迹线行走。 针对本节课的任务, 我们可以给机器人安装一个指南针传感器。让机器人一直直走到黄色线, 然后利用指南针右转一定角度,然后继续直走就可以走到终点的位置。场地的搭建1) 在画图工具中将如上图所示的轨迹线画好,属性设置为300×300 像素, 保存为 jpeg格式。并将此图片文件复制到仿真软件的安装目录下。2) 打开仿真软件,进入场地编辑界面,鼠标右
48、键单击空白场地,选择设置属性。打开如图3-7 所示的界面。图 3-7在此界面上, 左边参数设置栏的地图下拉菜单中选择“赛车” 点击确定就可以将走赛车项目的轨迹图添加到场景中了。3) 在场地中添加起点和终点,具体位置如图3-8 所示。图 3-8添加好后保存场地并命名为“赛车场地”。机器人的搭建本课我们要用到指南针传感器, 所以我们在第九课中搭建的机器人的基础上再添加一个指南针传感器。 打开第九课搭建的机器人, 选择传感器组别中的指南针传感器,安装到机器人上,并设置端口为6 号口。如图 3-9 所示。图 3-9设置好后点击右下角“完成”按钮保存机器人并命名为“赛车机器人”。注: 指南针传感器的返回
49、值是0 到 360,反映的是 0 到 360 一周的角度。安装指南针传感器的时候注意坐标系的一致性,保证指南针的坐标和机器人整体的坐标一致。指南针的0°朝向默认为机器人加载到场地中之后机器人前方的朝 向,也就此方向指南针返回0。顺时针返回 0 到 360程序设计1)先查看一下黄色线条灰度传感器的返回值是多少。方法是进入机器人搭 建界面,在“添加部件”模块的上方有“仿真工具”按钮,点击“仿真工具”按钮。在地图列表里选择赛车, 鼠标放在地图的任意位置都可以显示相应的灰度值。图中返回值就是黄色线条的返回值。如图3-10 所示。图 3-102)编写程序如图3-11 所示。图 3-11程序编写
50、完成后保存程序并命名为“赛车程序”。仿真运行图 3-12第十三课曲棍球比赛学习任务本节课我们将学习灰度传感器、 指南针传感器和红外传感器走迷宫的综合应用。策略分析本项目是要做一个让机器人能从起点出发,经过“特定黑线” ,“特定黑线” 能控制相应的“活动门”。只要机器人经过“特定黑线”,相应的“活动门”就会自动打开。选择合理的路线到达终点位置停止。标注如图3-13 所示。针对本节课的任务,我们可以选择机器人走活动门1。机器人从起点出发走到第三条黑线的位置, 左转一定角度, 前行到前方的红外测到挡板为止,然后利用指南针传感器左转一定角度,稍偏右一点前行到左方或45 度的红外测到挡板,最后走左手迷宫
51、一直走到终点。活动门 2特定黑线2活动门 3特定黑线1特定黑线3活动门 1场地的搭建图 3-131)在画图工具中将场地中需要的黑色轨迹线画好,属性设置为300× 300像素,保存为 jpeg 格式。并将此图片文件复制到仿真软件的安装目录下。2)打开仿真软件,进入场地编辑界面,鼠标右键单击空白场地,选择设置属性。打开如图3-14 所示的界面。图 3-14在此界面上, 左边参数设置栏的地图下拉菜单中选择“赛车” 点击确定就可以将走赛车项目的轨迹图添加到场景中了。3)在场地中添加起点、 终点、迷宫挡板及活动门, 具体形态如图 3-15 所示。图 3-15添加好后保存场地并命名为“曲棍球场地
52、”。机器人的搭建在前面几节课中搭建的机器人基础上添加一些传感器。搭建完成后如图3-16所示。图 3-16设置好后点击右下角“完成”按钮保存机器人并命名为“曲棍球机器人”。程序设计1) 编写左手迷宫子程序,如图3-17 所示。图 3-172)编写主程序如图3-18 所示。图 3-18程序编写完成后保存程序并命名为“曲棍球比赛”。仿真运行图 3-19第十四课避障学习任务本节课我们继续学习巩固红外传感器走迷宫的应用。策略分析本项目是要做一个让机器人能从起点出发,避开“陷阱”,“陷阱”是黑色的方块。避开陷阱,绕过随机出现的障碍物- 蓝色墙壁,然后机器人继续沿墙壁行走到达终点,即为完成任务。场地的搭建图
53、 3-201) 在场地中添加起点、终点、黑色方块(信息点)、迷宫挡板及活动门(方体),具体形态如前面图3-20 所示。场地编辑完成后保存场地并命名为“避障场地”。机器人的搭建搭建机器人如图 3-21 所示。图 3-21设置好后点击右下角“完成”按钮保存机器人并命名为“避障机器人”。程序设计分析本节课要完成的任务, 其实只要机器人一直走右手迷宫就可以实现机器人既碰不到陷阱又可以到达终点位置完成任务。1) 编写右手迷宫子程序,如图3-22 所示。图 3-222) 编写主程序如图3-23 所示。图 3-23程序编写完成后保存程序并命名为“避障”。仿真运行仿真界面如图 3-24 所示。图 3-24第十五课街道灭火学习任务本节课我们学习红外传感器走迷宫然后利用火焰传感器找火并灭火的知识。通过本节课学习,要熟悉火焰传感器的灵活应用。策略分析本项目是要做一个让机器人能从起点出发,避开“陷阱”,“陷阱”是黑色的方块。避开陷阱,绕过随机出现的障碍物- 蓝色墙壁,然后机器人继续沿墙壁行走到达终点,即为完成任务。场地的搭建图 3-25画好黑色线条的图片
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六一英语活动方案
- 安全三级教育试题及答案
- 共享图书+活动方案
- 共享果蔬机活动方案
- 共享超市活动方案
- 共建社区活动方案
- 关于举办端午活动方案
- 羊水栓塞考试试题及答案
- 眼科中级考试试题及答案
- 烟叶站考试试题及答案
- 二位数乘二位数的计算题50道
- 2024年化学水处理工(技师)技能鉴定理论考试题库(含答案)
- 贵州省贵阳市2024年小升初语文模拟考试试卷(含答案)
- 2024高速养护工区标准化建设指南
- 湖北省随州市随县2023-2024学年七年级下学期语文期末考试卷
- 2024年中国城建围挡板市场调查研究报告
- 北京市海淀区101中学2025届数学八年级第一学期期末统考试题含解析
- 物业服务外包合同
- 重庆市渝中区巴蜀小学校2023-2024学年六年级下学期期末小升初数学试卷
- 专科医院医院财务预算管理知识考核试卷
- 2022-2023学年北京市西城区三帆中学七年级(上)期中数学试卷【含解析】
评论
0/150
提交评论