毕业论文-多传感智能机器人系统设计_第1页
毕业论文-多传感智能机器人系统设计_第2页
毕业论文-多传感智能机器人系统设计_第3页
毕业论文-多传感智能机器人系统设计_第4页
毕业论文-多传感智能机器人系统设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多传感智能机器人系统设计 摘 要 智能机器人是未来科技发展的重要方向,是人类研究的重点内容,智能机器人的重点技术在于多传感器信息融合技术。近年来,多传感器信息融合技术得到了普遍的关注和广泛的应用,随着科技的发展,智能机器人在不久的将来会进入人们的生活。多传感器智能机器人系统设计,设计任务包括传感器的选用、控制电路设计和相应软件编制等。首先对传感器和伺服电机进行选择,然后对硬件电路进行设计,之后编制软件程序。采用AT89S52单片机作为控制核心,分别安装了触须传感器和红外传感器,其中触须传感器检测前方环境,红外传感器检测地面环境,两种传感器各自发挥作用,使智能机器人在桌面上安全行动。运用C语言编程,使两种传感器分别检测周围环境,从而控制舵机的运转,实现了机器人智能避障的功能,并安装LCD显示器显示智能机器人的行动状态。 关键词 :智能,多传感,避障,AT89S52单片机 I AbstractIntelligent robot is an important direction for future development, the contents of the human focus of the study, the focus of technology is the intelligent robot multi-sensor information fusion technology. In recent years, multi-sensor information fusion technology has gained widespread attention and a wide range of applications, along with the development of technology in the near future, intelligent robots will enter peoples lives. Intelligent multi-sensor robot system design, design tasks, including the choice of sensor, control circuit design and corresponding software compilation. First, the sensor and servo motor options, and then design the hardware circuit, followed by development of software programs. AT89S52 MCU core used as the control, respectively, antennae installed sensors and infrared sensors, which sensors detect front tentacles environment, infrared sensors detect the ground environment, two kinds of sensors and played so intelligent robot in the desktop security operations. The use of C language programming, so that two sensors were used to detect the environment to control the operation of steering gear to realize intelligent robot obstacle avoidance function, and install the LCD display shows operational status of intelligent robots. Keywords: Intelligent, multi-sensor, Obstacle avoidance, AT89S52 SCM II多传感智能机器人系统设计 目 录 第一章 前 言 . 1 1.1 多传感智能机器人的研究目的 . 1 1.2 多传感智能机器人的研究意义 . 1 1.3 多传感智能机器人的发展情况 . 1 第二章 智能机器人设计任务 . 3 2.1 设计要求 . 3 2.2 设计材料 . 3 2.3 设计使用的软件 . 3 第三章 智能机器人传感器及电机的选择 . 4 3.1 触须传感器 . 4 3.1.1 触须传感器的选择 .4 3.1.2 触须传感器的原理 .4 3.2 红外传感器 . 4 3.2.1 红外传感器的选择 .4 3.2.2 红外传感器的原理 .5 3.3 伺服电机 . 6 3.3.1 伺服电机的选择 .6 3.3.2 舵机的原理 .7 第四章 硬件电路设计 . 8 4.1 硬件设计结构图 . 8 4.2 AT89S52 芯片简介 . 8 4.3 51 单片机电路设计 . 9 4.3.1 晶振电路设计 .9 4.3.2 复位电路设计 .9 4.4 舵机电路设计 . 9 4.5 触须传感器电路设计 . 10 4.5.1 触须传感器安装 .10 4.5.2 触须传感器电路 .10 III多传感智能机器人系统设计 4.6 红外传感器电路设计 . 11 4.7 1602LCD显示器电路设计 . 12 4.7.1 1602LCD显示器简介.12 4.7.2 1602LCD显示器电路.12 第五章 软件设计 . 14 5.1 编程思路 . 14 5.2 程序流程图 . 14 5.3 程序清单 . 18 第六章 调试 . 26 6.1 调试过程 . 26 第七章 结论与展望 . 28 7.1 结论 . 28 7.2 展望 . 28 参 考 文 献 . 29 致 谢 . 30 附录 1 . 31 附录 2 . 42 声 明 . 43 IV多传感智能机器人系统设计 第一章 前 言 1.1 多传感智能机器人的研究目的 随着时代的发展,智能机器人的发展越来越受到人类的重视,其拥有着很好地发展前景,是自动化领域的发展方向,人类研究智能机器人的目的在于,在不远的将来让智能机器人走进人们的生活,走进人们的家庭,使人们的生活更加简单方便。 1.2 多传感智能机器人的研究意义 智能机器人是自动执行工作的机器装置,它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以 人工智能 技术制定的原则纲领行动,它的任务是协助或取代人类的工作,例如生产业、建筑业,或是危险的工作。机器人学研究的意义是可以使人类从繁重的、重复单调的、有害健康和危险的生产作业中解放出来,控制机器人进行工作。 1.3 多传感智能机器人的发展情况 人们通常把机器人划分为三代1。第一代是可编程机器人。这种机器人一般可以根据操作人员所编的程序,完成一些简单的重复性操作。这一代机器人是从 60 年代后半叶开始投入实际使用的 ,目前在工业界已得到广泛 应用。第二代是“感知机器人” ,又叫做自适应机器人,它在第一代机器人的基础上发展起来的,能够具有不同程度的“感知”周围环境的能力。这类利用感知信息以改善机器人性能的研究开始于 70 年代初期,到 1982 年,美国通用汽车公司为其装配线上的机器人装配了视觉系统 ,宣告了感知机器人的诞生, 在 80 年代得到了广泛应用。第三代机器人将具有识别、推理、规划和学习等智能机制, 它可以把感知和行动智能化结合起来, 因此能在非特定的环境下作业,称之为智能机器人。 智能机器人,是多学科交叉与融合的结晶。随着计算机、自动控制、微电子技术、人工智能、虚拟现实、微纳米技术、仿生学、材料等相关学科领域的发展,机器人的内涵不断丰富,应用领域不断扩大,从最初的工业领域拓展到空间、水下、救灾、服务、医疗等领域。机器人在众多领域的广泛应用,极大地提升了制造的自动化水平,改变了人类工作与生活的方式。 1 多传感智能机器人系统设计 近年来,多传感器信息融合技术已发展成为一个专门的科研领域,取得了很大的进展。在应用方面,针对移动机器人的研究,取得了很多成果。 在国外早在 1979 年HLIARE应用多传感器信息来创建世界模型的可移动机器人2,它充分利用视觉、听觉、激光测距传感器所获得的信息,以确保其能稳定地工作在未知环境中。 LAIS是美国德莱克西尔大学 1996 年研究的具有多个传感器模块的移动机器人3。它安装了位置和姿态传感器、超声波传感器、PLS测距仪和声传感器。LIAS的3种接近传感器中,超声波传感器对机器人周围进行定位,3个声传感器使机器人在移动范围内获得一个更好的视野,2 个PLs测距仪提供一个全景视图。为了弥补超声波传感器的缺陷,LAIS机器人使用精度稍低的红外激光传感器,在短时间内可以提供大量的距离信息。把红外传感器安装在扫描器上,可以很方便的给出全景视图并且红外激光波束窄,比超声波波束的性能优越。因此,LIAS使用红外激光测距仪来确定机器人周围的障碍物是否存在,还可以检测超声波传感器检测不到的角落。超声波传感器和红外激光测距仪的信息融合可以提供一个全面的、精确的环境信息,获得比仅用一个更好的效果。 ANFM是瑞典于默奥大学于上世纪 90 年代开发的野外自治导航车3,它以讯iRobot公司生产的ATVR系列导航车为基础,安装了摄像机、红外探测器、GPS惯性导航和超声波等传感器,来实现其在未知野外环境中的定位和避障。采用超声波传感器、红外探测器和摄像机来精确测量障碍物离机器人的距离,弥补了GPS定位不准确的不足。 近几十年来,多传感器信息融合技术得到了普遍的关注和广泛的应用,其理论与方法已成为智能信息处理的一个重要研究领域。在不久的将来,智能机器人肯定会走入人们的生活。 多传感智能机器人是未来发展的一大趋势,是人类重点研究的课题,它将会改变人们的生活。 2 多传感智能机器人系统设计 第二章 智能机器人设计任务 2.1 设计要求 利用所提供的机器人器件,设计一个多传感器的智能机器人。要求尽量选用多种传感器,使所设计的智能机器人能够结合传感器检测到的信息进行综合判断,从而避障,执行理想的行走方案。设计任务包括传感器的选用、控制电路设计和相应软件编制。 2.2 设计材料 机器人器材包括机器人底座、电源和轮子,如图2-1所示。 图 2-1 机器人器材 2.3 设计使用的软件 本设计中,将用到三款软件:Keil uVision2 IDE 集成开发环境、程序下载软件和串口调试软件等。 3 多传感智能机器人系统设计 第三章 智能机器人传感器及电机的选择 根据设计任务和查阅相关材料后,选取了结构简单、使用方便、成本低廉的触须传感器和红外传感器,电机则选择普通的舵机。 3.1 触须传感器 3.1.1 触须传感器的选择 用于机器人中模仿触觉功能的传感器,触觉是人与外界环境直接接触时的重要感觉功能,研制满足要求的触须传感器是机器人发展中的技术关键之一。随着微电子技术的发展和各种有机材料的出现,已经提出了多种多样的触觉传感器的研制方案。 本设计选择的触须传感器如图3-1所示,其优点是使用方便、结构简单。 图 3-1 触须传感器 3.1.2 触须传感器的原理 用以判断机器人是否接触到外界物体或测量被接触物体的特征的传感器。触头接触外界物体后离开基板,造成信号通路断开,从而测到与外界物体的接触。 3.2 红外传感器 3.2.1 红外传感器的选择 随着现代科学技术的发展,红外线传感器的应用已经非常广泛,红外线传感器测量时不与被测物体直接接触,因而不存在摩擦,并且有灵敏度高,响应快,价钱低廉,使用方便等优点。本设计选用的红外传感器如图3-2所示,左边为红外接4 多传感智能机器人系统设计 收器,右边为红外发射器。 图 3-2 红外传感器 其中红外传感器的管脚如图3-3所示。 图 3-3 红外传感器的管脚 3.2.2 红外传感器的原理 利用红外线的物理性质来进行测量的传感器,它是利用红外辐射与物质相互作用所呈现出来的物理效应探测红外辐 射的传感器,多数情况下是利用这种相互作用所呈现出的电学效应。简单来 说,就是使用红外光来照射机器人前进的路线,然后确定何时有光线从被探 测目标反射回来,通过检测反射回来的红外光就可以确定前方是否有物体。 5 多传感智能机器人系统设计 3.3 伺服电机 3.3.1 伺服电机的选择 本设计所用的伺服电机是普通的舵机,其外型如图3-4所示。 图 3-4 舵机 舵机的连线原理和实际接线如图 3-5 所示,其中黑线接信号,红线接 VCC,白线接地。 图 3-5 舵机连线原理图(左)和实际接线示意图(右) 6 多传感智能机器人系统设计 3.3.2 舵机的原理 控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为 20ms,宽度为 1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。 控制电机运动转速的是高电平持续的时间,高电平持续 1.5ms 低电平持续 20ms,然后不断重复的控制脉冲序列,该脉冲序列发给经过零点标定后的伺服电机,伺服电机不会旋转。如果此时你的电机旋转,表明电机需要标定。 当高电平持续时间为 1.3ms 时,电机顺时针全速旋转,当高电平持续时间1.7ms 时,电机逆时针速旋转。 7 多传感智能机器人系统设计 第四章 硬件电路设计 4.1 硬件设计结构图 本设计硬件电路由AT89S52芯片,晶振电路,复位电路,红外传感器,触须传感器,舵机和LCD显示器等组成,硬件设计结构如图4-1所示。 图 4-1 硬件设计结构 4.2 AT89S52 芯片简介 AT89S52 是一种高性能、低功耗的 8 位单片机,内含 8k 字节 ISP(In-system Programmable,系统在线编程)可反复擦写 1000 次的FLASH只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS51 指令系统及其引脚结构。在实际工程应用中,功能强大的 AT89S52 已成为许多高性价比嵌入式控制应用系统的解决方案。 AT89S52 具有 以下标准功能: 8k字节 Flash,256字节 RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器,一个 6向量 2级中断结构,全双工串行口, 片内晶振及时钟电路。 8 多传感智能机器人系统设计 4.3 51 单片机电路设计 4.3.1 晶振电路设计 51单片机晶振电路如图 4-2所示。 图 4-2 晶振电路图 4.3.2 复位电路设计 51单片机的复位电路通过手动来实现,复位电路如图4-3所示。 图 4-3 复位电路图 4.4 舵机电路设计 P1_0 引脚的 控制输出用来控制右的伺服电机,而 P1_1 则用来控制左边的伺服电机。右舵机电路连接如图 4-4所示, 左舵机电路连接如图 4-5所示。 9 多传感智能机器人系统设计 图 4-4 右舵机电路 图 4-5 左舵机电路 4.5 触须传感器电路设计 4.5.1 触须传感器安装 触须传感器的安装如图 4-6所示。 图 4-6 触须安装图 4.5.2 触须传感器电路 P1_4 引脚的 控制输出用来连接右触须,P2_3引脚的控制输出用来连接左触须。触须电路连接如图 4-7所示。 10 多传感智能机器人系统设计 图 4-7 触须电路连接图 4.6 红外传感器电路设计 P1_2 引脚的 控制输出用来连接左红外接收器,P 1_3引脚的控制输出用来连接左红外发射器,P3_5引脚的控制输 出用来连接右红外接收器,P3_6引脚的控制输出用来连接右红外发射器。红外接收器电路连接如图 4-8 所示,红外发射器电路连接如图 4-9。 图 4-8 红外接收器电路连接 11 多传感智能机器人系统设计 图 4-9 红外发射器电路连接 4.7 1602LCD 显示器电路设计 4.7.1 1602LCD 显示器简介 LCD(Liquid Cr ystal Display)的应 用很广泛,本设计使用的 LCD 为字符型点阵式 LCD模块(Liquid Crystal Display Module) ,简称 LCM,或者是字符型 LCD。 字符型液晶显示模块是一种专门用于 显示字母、数字、符号等的点阵式液晶显示模块。每一个显示的字符 (或字母、数字等)是由 5*7 或 5*11 点阵组成。点阵字符位之间有一空点距的 间隔,起到字符间距和行距的作用。 本设计所使用的 LCD 显示器可显示两行 ,每行由 16 个点阵字符组成,能显示所有 ASCII字符,每个 字符由 5*7 点阵组成。 4.7.2 1602LCD 显示器电路 1602LCD显示器电路连接如图 4-10所示。 12 多传感智能机器人系统设计 图 4-10 1602LCD 显示器电路连接图 13 多传感智能机器人系统设计 第五章 软件设计 5.1 编程思路 本设计采用红外传感器和触须传感器进行检测周围环境,如何把两种传感器很好地结合起来是关键,思路是用触须传感器检测前方的障碍,碰到障碍时进行躲避,当进入死区后,触须连续交替碰撞 45 次则智能机器人后退,转向另一个方向,而红外传感器检测地面,检测到有东西时前进,没有反而后退,这样的效果是可以使智能机器人在桌子上安全行走,这样也可以使两种传感器很好地结合在一起,同时使用 LCD 显示器显示智能机器人行走状态。 5.2 程序流程图 程序流程图如图5-1所示 14 多传感智能机器人系统设计 开始 初始化,发送正在运行信息左红外发射 右红外发射 接收 IrDetectRight接收 IrDetectLeft 右触须状态 P1_4 左触须状态 P2_3 (P1_4state()=0)&(P2_3state()=0) Backward();/向后 Left_Turn();/向左 Left_Turn();/向左 Display_List_Char(1,0,Backward ) YN 15 多传感智能机器人系统设计 P2_3state()=0 P1_4state()=0 Backward();/向后 Left_Turn();/向左 Display_List_Char(1,0,LeftTurn) Backward();/向后 Right_Turn();/向右 Display_List_Char(1,0,RightTurn) else Forward();/向前 Display_List_Char(1,0,Forward ) YYNN(irDetectLeft=0)&(irDetectRight=0) pulseLeft=1700; pulseRight=1300; Display_List_Char(1,0,Forward ); YN 16 多传感智能机器人系统设计 pulseCount=15; pulseLeft=1300; pulseRight=1700; Display_List_Char(1,0,Backward ); P1_1=1; delay_nus(pulseLeft); P1_1=0; P1_0=1;delay_nus(pulseRight); P1_0=0; delay_nms(20); (irDetectLeft=1)&(irDetectRight=0) (irDetectLeft=0)&(irDetectRight=1) pulseLeft=1700; pulseRight=1700; Display_List_Char(1,0,RightTurn); pulseLeft=1300; pulseRight=1300; Display_List_Char(1,0,LeftTurn) YYNN 图 5-1 程序流程图 17 多传感智能机器人系统设计 5.3 程序清单 #include #include #include #include #include #define LeftIR P1_2 /左边红外接收连接到P1_2 #define RightIR P3_5 /右边红外接收连接到P3_5 #define LeftLaunch P1_3 /左边红外发射连接到P1_3 #define RightLaunch P3_6 /右边红外发射连接到P3_6 int P1_4state(void) return (P1 int P2_3state(void) return (P2 void Forward(void) P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20); 18 多传感智能机器人系统设计 void Left_Turn(void) int i; for(i=1;i4) counter=1; Backward();/向后 Left_Turn();/向左 Left_Turn();/向左 else counter=1; if(P1_4state()=0)&(P2_3state()=0) Backward();/向后 Left_Turn();/向左 Left_Turn();/向左 Display_List_Char(1,0,Backward ); delay_nms(30); else if(P1_4state()=0) Backward();/向后 Left_Turn();/向左 Display_List_Char(1,0,LeftTurn); delay_nms(30); 22 多传感智能机器人系统设计 else if(P2_3state()=0) Backward();/向后 Right_Turn();/向右 Display_List_Char(1,0,RightTurn); delay_nms(30); else Forward();/向前 Display_List_Char(1,0,Forward ); delay_nms(30); IRLaunch(R); /右边发射 irDetectRight = RightIR; /右边接收 IRLaunch(L); /左边发射 irDetectLeft = LeftIR; /左边接收 if(irDetectLeft=0)&(irDetectRight=0) /向前走 pulseCount=1; pulseLeft=1700; pulseRight=1300; Display_List_Char(1,0,Forward ); delay_nms(30); else if(irDetectLeft=1)&(irDetectRight=0) /右转 23 多传感智能机器人系统设计 pulseCount=10; pulseLeft=1700; pulseRight=1700; Display_List_Char(1,0,RightTurn); delay_nms(30); else if(irDetectLeft=0)&(irDetectRight=1) /左转 pulseCount=10; pulseLeft=1300; pulseRight=1300; Display_List_Char(1,0,LeftTurn); delay_nms(30); else /后退 pulseCount=15; pulseLeft=1300; pulseRight=1700; Display_List_Char(1,0,Backward ); delay_nms(30); for(i=0;i #include #define LCM_RW P2_1 /定义引脚 #define LCM_RS P2_2 #define LCM_E P2_0 #define LCM_Data P0 #define Busy 0x80 /用于检测LCM状态字中的Busy标识 void Delay_5Ms(void)/5ms延时 unsigned int TempCyc = 5552; while(TempCyc-); void Delay_400Ms(void)/400ms延时 unsigned char TempCycA = 5; unsigned int TempCycB; while(TempCycA-) TempCycB=7269; while(TempCycB-); ; 31 多传感智能机器人系统设计 /*= 函数名:Read_Status_LCM() 功 能: 忙检测函数 =*/ void Read_Status_LCM(void) unsigned char read=0; LCM_RW = 1; LCM_RS = 0; LCM_E = 1; LCM_Data = 0xff; do read = LCM_Data; while(read LCM_E = 0; /*- 函数名:Write_Data_LCM ( ) 功 能: 对LCD 1602写数据 -*/ void Write_Data_LCM(unsigned char WDLCM) Read_Status_LCM(); /检测忙 LCM_RS = 1; 32 多传感智能机器人系统设计 LCM_RW = 0; LCM_Data LCM_Data |= WDLCM LCM_E = 1; /若晶振速度太高可以在这后加小的延时 LCM_E = 1; /延时 LCM_E = 0; WDLCM = WDLCM=12 ,i的最小延时单12 us i=i/10; while(-i); void delay_nms(unsigned int n) /延时n ms n=n+1; while(-n) delay_nus(900); /延时 1ms,同时进行补偿 36 多传感智能机器人系统设计 头文件uart.h为: /*- 8051串口中断驱动程序 -*/ #include #include #define XTAL 11059200 #define baudrate 9600 #define OLEN 8 /串行发送缓冲区大小 unsigned char ostart; /发送缓冲区起始索引 unsigned char oend; /发送缓冲区结束索引 char idata outbufOLEN; /发送缓冲区存储数组 #define ILEN 8 /串行接收缓冲区大小 unsigned char istart; /接收缓冲区起始索引 unsigned char iend; /接收缓冲区结束索引 char idata inbufILEN; /接收缓冲存储数组 bit bdata sendfull; /发送缓冲区满标志 bit bdata sendactive; /发送有效标志 /*串行中断服务程序*/ static void com_isr(void) interrupt 4 using 1 /串口中断 /-接收数据中断- char c;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论