《智能机器人功能开发与设计毕业设计.doc》由会员分享,可在线阅读,更多相关《智能机器人功能开发与设计毕业设计.doc(35页珍藏版)》请在三一办公上搜索。
1、智能机器人功能开发与设计北京理工大学自动化学院内 容 简 介本书主要针对近几年应用比较广泛的智能机器人做了详细的分析介绍,全面阐述了智能机器人的基本理论与应用。全书共分成了两大部分,第一部分着重介绍智能机器人的软件和硬件;第二部分主要针对智能机器人的功能开发与设计做了详细的介绍。本书通过查阅大量的资料,在智能机器人的功能方面做出了进一步的开发设计,拓展了智能机器人的应用范围。将功能比较齐全、应用广泛的几大类传感器应用到智能机器人上,使智能机器人实现相应的功能。书中在第二部分做了详细的阐述。本书可以作为专业技能院校在传感器理论及应用方面的教科书,亦可供从事智能机器人研究的各专业工程技术人员自学参
2、考。图书编目数据智能机器人功能开发与设计/姚小兰主编 . 北京:北京理工大学,2013普通专业技能院校教材智能机器人功能开发与设计I智 II姚 III智能机器人-专业技能院校-教材北京理工大学自动化学院智能机器人项目主要参加人员: 北京理工大学:姚小兰、李保奎、于蕾、张东洋、苗江涛、张家鑫、高双 广州市公用事业技师学院:周俊林、李照勋、张瑞佳、陆天智本书由北京理工大学自动化学院编辑地址:北京市海淀区中关村南大街5号邮编:100089电话:010-68912467目 录1. 智能机器人概述11.1智能机器人硬件介绍11.1.1 概述11.1.2 电机的安装21.1.3 LCD显示屏的安装21.2
3、 智能机器人软件介绍31.2.1 CPU内程序31.2.2 上位机界面52. 功能介绍及测试82.1 通讯设置82.2 超声波测距92.2.1功能说明92.2.2 操作说明92.2.3 程序流程112.3红外线避障功能132.3.1 功能说明132.3.2操作说明132.3.3 实现方法152.3.4 程序流程152.4 超声波避障功能162.4.1 功能说明162.4.2 功能试验操作说明162.4.3 实现方法182.4.4 程序流程182.5 超声波+红外线避障功能192.5.1 功能说明192.5.2 操作说明192.5.3 实现方法212.5.4 程序流程212.6 寻找火源222.
4、6.1 功能说明222.6.2 功能试验操作说明222.6.3 实现方法232.6.4 程序流程232.7 灯光控制242.7.1 功能说明242.7.2 功能试验操作说明242.7.3 实现方法262.7.4 程序流程262.8 寻线功能272.8.1 功能说明272.8.2 功能试验操作说明272.8.3 实现方法282.8.4 程序流程28附录:智能机器人传感器变量汇总301. 智能机器人概述智能机器人系统采用三片CPU,分别挂接不同传感器,配合相应程序,完成不同功能。1.1智能机器人硬件介绍1.1.1 概述系统主要由三片CPU、电机、LCD显示屏、若干传感器、接口、开关及辅助电路构成。
5、与CPU1相连的接口及传感器主要有遥控接收器、LCD显示屏、LED指示灯、程序下装口和通讯接口,配合程序完成遥控、编程、LCD显示和通讯功能。与CPU2相连的接口及传感器主要有超声波传感器、红外避障传感器、碰撞开关、震动传感器、倾角传感器、温度传感器、温湿度传感器、LED指示灯、程序下装口和通讯接口,配合程序完成超声波测距、红外避障、温湿度测量、编程和通讯等功能。与CPU3相连的接口及传感器主要有电机、三轴加速度计、灰度传感器、火焰传感器、烟雾传感器、酒精传感器、光线传感器、颜色传感器、LED指示灯、程序下装口和通讯接口,配合程序完成机器人移动、寻线、寻找火源、编程和通讯等功能。系统主要的硬件
6、连接如图1-1所示,其中,图1-1(a)是未安装传感器时系统硬件连接图,图1-1(b)是整体硬件连接图。图1-1(a) 未安装传感器系统硬件连接图1-1(b) 整体硬件连接1.1.2 电机的安装 智能机器人系统采用两个电机分别驱动两个轮子,用户可以对两个电机分别进行控制,以完成前进、后退、转弯等多种动作。电机的安装如图1-2所示:图1-2 电机的安装 安装电机时,左侧电机连接线与MOT1接口相连;电机连接线与MOT2接口相连;同时,注意三根连接线的颜色位置。1.1.3 LCD显示屏的安装 智能机器人系统可采用LCD显示屏来显示各个传感器的数据,其通过连接线与接口板相连,安装如图1-3所示:图1
7、-3 LCD的安装 在安装LCD显示屏时,注意接口板上各个信号引脚与LCD上的各个信号引脚要一一对应。1.2 智能机器人软件介绍系统软件部分包含CPU内程序部分和上位机界面两个部分。1.2.1 CPU内程序CPU1作为主CPU,包含的程序如下:(1)LCD显示程序,使数据在机器人上的显示;(2)与上位机通讯程序,实现接收上位机命令、处理分解命令以及向上位机回送命令、传感器配置信息和实时数据的功能;(3)与CPU2、CPU3通讯程序,用来向从CPU发送与接收命令和数据;(4)遥控程序,读取遥控器按键编码;(5)基本测试程序,通过向从CPU发送与接收的命令和数据,完成对传感器各项功能的基本测试;(
8、6)电机速度设定程序,用来设定机器人电机的目标速度;(7)各项功能程序,通过向从CPU发送与接收的命令和数据以及多种传感器的配合,实现寻线、红外避障、超声波测距、红外+超声波避障、寻找火源等功能;(8)开放程序,用户可通过调用从CPU的各项传感器数据,配合自身设计的算法,实现相应的功能。CPU2作为从CPU,包含的程序如下:(1)与CPU1的通讯程序,接收来自CPU1的命令和数据、并向CPU1发送请求数据;(2) 实现各种功能的程序,实现检测传感器数据功能,以及各传感器的启动、运行、读取数据的功能。CPU3作为从传感器,包含的程序如下:(1)与CPU1通讯程序,接收来自CPU1的命令和数据、并
9、向CPU1发送请求数据;(2) 实现各种功能的程序,实现检测传感器数据功能以及各传感器启动、运行、读取数据的功能。(3)电机控制程序,根据CPU1的命令,实现对电机目标速度的控制。为了方便用户的自主开发,针对电机和LCD显示屏,可按照如下方式进行控制:(1) 电机控制使用变量stMotor.SpeedLeft和stMotor.SpeedRight对左右电机进行控制,二者有四种取值:MOT_SPD_FULL、MOT_SPD_FAST、MOT_SPD_SLOW、MOT_SPD_ZERO,分别表示全速正转、高速正转、低速正转和静止。若需控制电机反转,则用0减去相应的取值即可。通过上述取值的不同组合,
10、可以实现前进、后退、转弯等运动方式。电机控制的具体语句为(以全速前进为例):.stMotor.SpeedLeft = MOT_SPD_FULL;stMotor.SpeedRight = MOT_SPD_FULL;stMotor.SpeedControl = FALSE;stUART2.CPU3SendMotorReq = TRUE;若用户在程序中对电机进行操作,那么在程序的结尾处需要加入上述语句中的最后两句,以使前述控制生效。(2) LCD显示若用户需用LCD对结果等数据内容进行显示,可采用如下语句格式:.sprintf(stLCD.Row1,格式,变量); /第一行显示内容,没有可删除 sp
11、rintf(stLCD.Row2,格式,变量); /第二行显示内容,没有可删除 stLCD.ShowReq = 1; .在上述语句中,变量stLCD.ShowReq控制显示方式,共有三种取值:一种是只显示第一行,一种是只显示第二行,还有一种是显示两行。格式在使用中用需要显示内容的输出格式代替,如$PRINT Distance:%dmmn。1.2.2 上位机界面上位机界面分为通讯设置、传感器设置、演示实验和调试四个界面,如图1-4、1-5、1-6和1-7所示,用户可根据后续章节介绍了解上位机界面的操作。图1-4 通讯设置图1-5 传感器设置图1-6 演示实验图1-7 调试2. 功能介绍及测试2.
12、1 通讯设置PC 机与智能机器人需要通过通讯接口来实施控制。因此,需要在PC机上进行一定的配置。配置方法如下:(1)通过USB线连接PC机和智能机器人,将两个开关拨到合适的位置。(2)在“计算机”上单击右键,点击“管理”,双击“设备管理器”,如图2-1所示。 图2-1 设备管理器(3)在“端口(COM和LPT)”中查看与智能机器人连接的通讯端口号,如图2-2所示,此处的端口号为COM5(各PC机的端口号可能不同)。 图2-2 通讯端口(4)在PC机上打开parasetup软件。在通讯设置选择端口号,此处为COM5,并点击连接。此时窗口下方应显示“已连接COM5”。图2-3 通讯配置2.2 超声
13、波测距2.2.1功能说明测量位于机器人前方障碍物距机器人的距离,并显示在计算机屏幕上,或显示在机器人LCD显示屏上。2.2.2 操作说明 (1) 安装传感器 该功能采用的传感器为超声波传感器,安装在接口板”SR04”处,如图2-4所示:图2-4 超声波传感器与智能机器人的连接 (2) 勾选传感器设置中“超声波测距”HC-SR04”项,如图2-5所示,下装传感器配置至机器人,打开“演示实验”中超声波测距显示,如图2-6所示。图2-5 超声波测距传感器配置图2-6 超声波测距显示功能选择2.2.3 程序流程图2-7 超声波传感器测距程序流程图图2-8 数据转换程序流程图图2-9 显示距离程序流程图
14、图 2-7 超声波传感器测距流程图 图2-8 数据转换流程图图2-9 显示距离流程图2.3红外线避障功能2.3.1 功能说明在行进过程中探测位于机器人左前方或右前方的障碍物并有效地避开障碍物继续前进2.3.2操作说明 (1) 安装传感器 该功能采用的传感器为两个红外线避障传感器,安装在接口板”IR1”、 ”IR2”处,如图2-10所示:图2-10 红外避障传感器与智能机器人的连接(2) 在传感器设置中勾选“红外避障传感器(左)”、“红外避障传感器(右)”,将设置下装到机器人中,如图2-11所示,并在“演示试验”界面打开”红外避障“,运行机器人,如图2-12所示。图2-11 红外避障传感器配置图
15、2-12 红外避障功能选择2.3.3 实现方法机器人左右两侧各装一个红外线传感器,分别控制左右两侧的电机,用于探测左前方及右前方的障碍物,若左前方有障碍物,则向左侧电机发送信号,使左侧电机快速转动,右侧电机速度为零,机器人右转;若右前方有障碍物,则向右侧点击发送信号,使右侧电机快速转动,左侧电机速度为零,机器人左转;若左右两侧均有障碍物,则控制左侧电机速度为零,右侧电机快速转动,机器人左转;若左右两侧均无障碍物则左右两侧电机均快速转动。2.3.4 程序流程 程序流程图如图2-13所示:图2-13 红外避障程序流程2.4 超声波避障功能2.4.1 功能说明利用超声波传感器避开机器人前方2.2m以
16、内的障碍物2.4.2 功能试验操作说明 (1) 安装传感器 该功能采用超声波传感器和两个红外避障传感器,安装在接口板”SR04”处,如图2-14所示:图2-14 超声波传感器与智能机器人的连接(2) 在传感器设置中勾选“超声波测距HC-SR04“,将设置下装到机器人中,如图2-15所示,并在“演示试验”界面打开”超声波避障“,运行机器人,如图2-16所示。图2-15 超声波避障传感器配置图2-16 超声波避障功能选择2.4.3 实现方法目的是利用超声波传感器探测障碍物的距离。当障碍物的距离大于200cm时,保持小车原来的速度;当障碍物的距离小于200cm时,使左侧电机的速度为零,右侧电机的保持
17、不变,从而避开障碍物。2.4.4 程序流程 程序流程图如图2-17所示图2-17 超声波避障程序流程2.5 超声波+红外线避障功能2.5.1 功能说明同时启用超声波和红外线传感器,避开前方一定距离内的障碍物。2.5.2 操作说明 (1) 安装传感器 该功能采用的传感器为超声波传感器和两个红外避障传感器,其安装位置为接口板”SR04” 、 ”IR1”、 ”IR2”处,如图2-18(a)、(b)所示:图2-18(a) 超声波传感器与智能机器人的连接图2-18(b) 红外避障传感器与智能机器人的连接(2) 在传感器设置中同时勾选“超声波测距HC-SR04”、“红外避障传感器(左)”、“红外避障传感器
18、(右)”,将设置下装到机器人中,如图2-19所示,并在“演示试验”界面打开”超声+红外避障“,运行机器人,如图2-20所示。图2-19 红外+超声波避障传感器配置图2-20 红外+超声波避障功能选择2.5.3 实现方法利用超声波传感器探测障碍物的距离,当距离大于220cm时,保持机器人全速行进;当距离小于220cm时,利用红外线传感器探测障碍物的方位,若位于左侧,使左侧电机快速转动,使右侧电机停止转动;若位于右侧,使右侧电机快速转动,使左侧电机停止转动;若两侧均有障碍物,使左侧电机停止转动,右侧电机快速转动;若障碍物位于正前方,使左右两侧电机慢速转动。2.5.4 程序流程 程序流程图如图2-2
19、1所示低速前进是否是否是否是否是否是高速左转结束低速右转障碍距离大于1.5m且左右前方均无障碍障碍距离小于1.5m且左右前方均无障碍左右前方有障碍高速左转右前方有障碍全速前进左前方有障碍高速右转开始障碍距离大于2.2m且左右前方均无障碍否图2-21 红外+超声波避障程序流程2.6 寻找火源2.6.1 功能说明使机器人寻找周围环境中的火源2.6.2 功能试验操作说明 (1) 安装传感器 该功能采用两个火焰传感器,安装在接口板”Fire1” 、 ”Fire2”处,如图2-19所示:图2-19 火焰传感器与智能机器人的连接 (2) 在传感器设置中同时勾选“火焰传感器(左)“、“火焰传感器(右)”将设
20、置下装到机器人中,如图2-20所示,并在“演示试验”界面打开”寻找火源“,运行机器人,如图2-21所示。图2-20 寻找火源传感器配置图2-21 寻找火源功能选择2.6.3 实现方法利用火焰传感器采集周围环境的信息,再将采集到的模拟信息通过A/D转换器转换成数字量再进一步转换成距离。若两侧火焰传感器测得的距离均小于0.45m,则两侧电机速度均为零找到火源;若两侧距离大于0.45m,且两侧距离差小于0.1m,则两侧电机同速转动,使智能机器人直线前进;若两侧距离大于0.45m且右侧距离小于左侧距离,保持右侧电机转速为零,左侧电机保持转动,机器人右转,靠近光源;若两侧距离大于0.45m且右侧距离大于
21、左侧距离,控制左侧电机转速为零,右侧电机保持转动,机器人左转,靠近光源。2.6.4 程序流程 程序流程图如图2-22所示图2-22 寻找火源程序流程2.7 灯光控制2.7.1 功能说明 机器人根据周围环境的光线强度,控制灯光的亮度。2.7.2 功能试验操作说明 (1) 安装传感器 该功能采用光线传感器,安装在接口板”Light”处,如图2-23所示:图2-23 光线传感器与智能机器人的连接 (2) 在传感器设置中同时勾选“光线传感器”,将设置下装到机器人中,如图2-24所示,并在“演示试验”界面打开“灯光控制”,运行机器人,如图2-25所示。图2-24 灯光控制传感器配置图2-25 灯光控制功
22、能选择2.7.3 实现方法 机器人采集周围环境中的光线强度,并将采集到的模拟量由A/D转换器转换成数字量,通过比较环境光照强度和设定的阈值来控制各盏灯的亮灭。2.7.4 程序流程 程序流程图如图2-26所示图2-26 灯光控制程序流程2.8 寻线功能2.8.1 功能说明让机器人按照预定的轨迹行进。2.8.2 功能试验操作说明 (1) 安装传感器 该功能采用灰度传感器,安装在接口板”Gray”处,如图2-27所示:图2-27 灰度传感器与智能机器人的连接 (2) 在传感器设置中同时勾选“灰度传感器”,将设置下装到机器人中,如图2-28所示。并在“演示试验”界面打开“寻线”,运行机器人,如图2-2
23、9所示。图2-28 寻线功能传感器配置图2-29 寻线功能选择2.8.3 实现方法利用灰度传感器采集当下轨迹的灰度值,灰度传感器如图2-30所示。机器人不断采集5个位置的灰度,根据5个位置的灰度值控制机器人的运动 。图 2-30 灰度传感器位置图2.8.4 程序流程程序流程图如图2-31所示否是是开始位置3为黑全速前进位置2为黑高速左转位置4为黑高速右转位置1为黑高速左转位置5为黑高速右转正在高速左转高速左转正在高速右转高速右转正在全速前进左转结束是是是是是是否否否否否否否图2-31 寻线程序流程图 附录:智能机器人传感器变量汇总装置使用变量变量类型变量范围变量访问方式变量含义安装说明温度传感
24、器stTemp.t浮点型,精确到小数点后两位只读温度值,单位为摄氏度CPU2 P25温湿度传感器温度:stHumidity.t湿度:stHumidity.h浮点型,精确到小数点后两位只读温度和相对湿度值,单位为摄氏度和百分比CPU2 P26灰度传感器stGray.g1、stGray.g2、stGray.g3、stGray.g4、stGray.g5整型099只读灰度值,数值越大,灰度越低即越白接口板Gray处火焰传感器左侧:stFire.Left右侧:stFire.Right浮点型,精确到小数点后两位只读与火焰的距离,单位为厘米接口板Fire1、Fire2处光线传感器stLight.d浮点型,精
25、确到小数点后两位099只读光照强度,数值越大光照越强接口板Light处烟雾传感器stSmoke.d浮点型,精确到小数点后两位只读烟雾浓度,单位为百分比接口板MQ2处气体传感器stAlcohol.d浮点型,精确到小数点后两位099只读酒精浓度,单位为ppm接口板MQ3处超声波传感器stUltrasonic.d整型只读与前方障碍物距离,单位为毫米接口板SR04处红外避障传感器stIR.d整型四种取值:0xf0、0x0f、0xff、0x00只读0xf0:左前方有障碍0x0f:右前方有障碍0xff:左右前方有障碍0x00:左右前方无障碍接口板IR1、IR2处倾角传感器stTilt.d整型两种取值:0xff、0x00只读0xff:有倾斜0x00:无倾斜接口板Tilt处震动传感器stQuake.d整型只有两种取值:0xff、0x00只读0xff:有震动0x00:无震动接口板Quake处颜色传感器stColor.R、stColor.G、stColor.B整型0255只读颜色的R、G、B三个分量值接口板Color处红外遥控模块stRemote.d整型十种取值:RMT_CODE_X,其中X取值为09只读红外发射键盘的键值接口板Remote处人体红外传感器stBody.d整型两种取值:0xff、0x00只读0xff:有人体信号0x00:无人体信号接口板Body处