1、本科毕业设计(论文)-1-自主行走机器人小车的软硬件研究摘要:本文通过对ARM开发和研究,实现移动机器人小车自主行走,速度反馈和红外线避障的功能。小车系统的组成主要包括避障传感器部分,电机控制部分,速度反馈部分以及ARM嵌入式系统核心控制部分。避障传感器系统采用红外线技术,主要完成对障碍物的感应;移动机器人小车的电机控制转速部分采用步进电机作为电机首选;还有速度反馈的部分,由于ARM板内部没有记数的功能,我们就设计了传感器数据读取的一个系统。最后,贯穿整篇文章的是对机器人的核心部分(基于ARM嵌入式系统)的研究和设计,主要让操作系统完成控制功能(主要是通过接收避障系统感应外界环境所返回的信号,
2、进而控制运动控制系统,从而完成一个自主运动的智能功能)。关键词:ARM 板;自主行走;红外线感应;嵌入式操作系统;电机Abstract:The main idea of the Thesis is passed developing and studying to ARM, Realize the Function of displacement robot handcart going autonomously, Speed couples back and Infrared ray avoids blocker.Systematic composition includes a handc
3、art mainly avoiding blocker sensor part, Electric motor control section, Speed couples back part and ARM implants dyadic system core control section. Avoid blocker sensor system adopt the infrared ray technology, Accomplish the induction to obstruction mainly. The rotation rate part displacement rob
4、ot handcart electric motor is controlled adopt step-by-step electric motor to elect as the electric motor head, Since not having mark number function in the inside of ARM board,we have designed a system that the sensor data fetches right away, Through the entire sheet articles finally, is to study a
5、nd design that (owing to that ARM implants style systematically) to robotic core part, Dodging OS mainly to accomplish a control function (is by the fact that taking-over avoids meeting signal returned to by blocker system induced the external world environment mainly , controls motion navar then ,
6、accomplishes a intelligence function acting on selfs own moving thereby).Keywords:ARM board; Going autonomously;Infrared ray induction; Embedded Operation Syetem,;Electric motor1 绪论1.1 机器人的发展历史本科毕业设计(论文)-2-机器人是具有一些类似人的功能的机械电子装置,或者叫自动化装置,它仍然是个机器,它有三个特点,一个是有类人的功能,比如说作业功能,感知功能,行走功能,还能完成各种动作,它还有一个特点是根据人
7、的编程能自动的工作,这里一个显著的特点,就是它可以编程,改变它的工作、动作、工作的对象,和工作的一些要求,它是人造的机器或机械电子装置。但从完整的更为深远的机器人定义来看,应该更强调机器人智能,所以人们又提出来机器人的定义是能够感知环境,能够有学习、情感和对外界一种逻辑判断思维的这种机器。那么这给机器人提出来更高层次的要求,展望 21 世纪,机器人将是一个与 20 世纪计算机的普及一样,会深入地应用到各个领域,在 21 世纪的前 20 年是机器人从制造业走向非制造业的发展一个重要时期,也是智能机器人发展的一个关键时期。机器人的核心是控制系统.机器人的先进性和功能是强弱通常都直接与其控制系统的性
8、能有关.机器人是一项跨多学科的综合性丢术,涉及自动控制.计算机.传感器.人工智能.电子技术和机械工程等多种学科的内容.机器人有三个方面是我们必要去发展的理由:一个是机器人干人不愿意干的事,把人从有毒的、有害的、高温的或危险的,这样的环境中解放出来,同时机器人可以干不好干的活,比方说在汽车生产线上我们看到工人天天拿着一百多公斤的焊钳,一天焊几千个点,就重复性的劳动,一方面他很累,但是产品的质量仍然很低;另一方面机器人干人干不了的活,这也是非常重要的机器人发展的一个理由,比方说人们对太空的认识,人上不去的时候,叫机器人上天,上月球,以及到海洋,进入到人体的小机器人,以及在微观环境下,对原子分子进行
9、搬迁的机器人,都是人们不可达的工作。上述方面的三个问题,也就是说机器人发展的三个理由。根据工作环境的不同,移动机器人可以分为室外移动机器人和室内移动机器人.室外移动机器人工作在室外环境中,应用于交通领域的自主陆地车(ARV) 、应用于海洋开发的深海探测机器人、以及应用于火星探险的探路者机器人等属于室外移动机器人。室内移动机器人工作在室内环境中,应用在现代化工厂和大型物流中心的运输机器人是它们的典型代表,近来服务和娱乐领域也提出了对智能移动机器人强烈需求,如医院、办公室、家庭里的服务机器人和博物馆导游机器人.在 20 世纪 70 年代到 20 世纪 80 年代初期,工业机器人变成产品以后,得到全
10、世界的普遍应用以后,那么很多研究机构开始研究第二代具有感知功能的机器人,出现了瑞典的 ABB 公司,德国的 KUKA 机器人公司,日本几家公司和日本的 FUNAC 公司,都在工业机器人方面都有很大的作为,同时我们也看到机器人的应用在不断拓宽,它已经从工业上的一些应用,扩展到了本科毕业设计(论文)-3-服务行业,扩展了它的作业空间,向海洋空间和服务医疗等等行业的使用。所以从这张图可以看出机器人发展的几个过程。移动机器人的移动机构多种多样 10,可以是轮式的、步行式,履带式的等等,采用何种移动机构要根据机器人的工作环境确定,如水下机器人和飞行机器人就需要采用专门设计的推进器做为移动机构.轮式移动机
11、构包括从单轮式、两轮式、三轮式、四轮式到多轮式许多类型;步行式的也可分为双足式和多足式.轮式移动机构适合平坦地形,具有结构简单、速度快等优点,机构设计和控制可以参考汽车技术领域的成果,在平面运动机器人中应用最为广泛。那么机器人是人类的得力助手,能友好相处的可靠朋友,将来我们会看到人和机器人会存在一个空间里边,成为一个互相的助手和朋友。机器人会不会产生饭碗的问题。我们相信不会出现“机器人上岗,工人下岗”的局面,因为人们随着社会的发展,实际上把人们从繁重的体力和危险的环境中解放出来,使人们有更好的岗位去工作,去创造更好的精神财富和文化财富,机器人来做这些危险环境的工作,展望 21 世纪机器人将是一
12、个与 20 世纪计算机的普及一样,会深入地应用到各个领域,所以很多专家预测,在 21 世纪的前 20 年是机器人从制造业走向非制造业的发展一个重要时期,也是智能机器人发展的一个关键时期,目前国际上很多国家,也对机器人对人类社会的影响的估计提出了新的认识,同时,我们也可以看到机器人技术,涉及到多个学科,机械、电工、自动控制、计算机测量、人工智能、传感技术等等,它是一个国家高技术实力的一个重要标准。1.2 嵌入式系统现状和发展1.2.1 嵌入式系统的定义关于嵌入式系统的定义,一般认为嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格
13、要求的专用计算机系统。典型的嵌入式系统有各种使用 x86 的小型嵌入式工控主板,以及使用Intel、Samsung 、Motorola 等专用芯片构成的小系统。1.2.2 嵌入式系统的特点嵌入式系统可以称为后 PC 时代和后网络时代的新秀。与传统的通用计算机、数字产品相比,利用嵌入式技术的产品有其自身的特点:1、由于嵌入式系统采用的是微处理器,独立的操作系统,实现相对单一的功能,所以往往不需要大量的外围器件,因而在体积上,功耗上有其自身的优势。本科毕业设计(论文)-4-2、嵌入式系统由于空间和各种资源相对不足,硬件和软件都必须高效率地设计,力争在同样的硅片面积上实现更高的性能。3、嵌入式系统为
14、了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。4、为适应嵌入式分布处理结构和应用上网需求,嵌入式系统要求配备一种或多种标准的网络通信接口。1.2.3 嵌入式系统的两大分支由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。而嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。早期,人们勉为
15、其难地将通用计算机系统进行改装,在大型设备中实现嵌入式应用。然而,对于众多的对象系统(如家用电器、仪器仪表、工控单元),无法嵌入通用计算机系统,况且嵌入式系统与通用计算机系统的技术发展方向完全不同,因此,必须独立地发展通用计算机系统与嵌入式计算机系统,这就形成了现代计算机技术发展的两大分支。如果说微型机的出现,使计算机进入到现代计算机发展阶段,那么嵌入式计算机系统的诞生,则标志了计算机进入了通用计算机系统与嵌入式计算机系统两大分支并行发展时代,从而导致 20 世纪末,计算机的高速发展时期。1.2.4 嵌入式系统的发展趋势嵌入式计算机系统起源于微型机时代,但很快就进入到独立发展的单片机时代。在单
16、片机时代,嵌入式系统以器件形态迅速进入到传统电子技术领域中,以电子技术应用工程师为主体,实现传统电子系统的智能化,而计算机专业队伍并没有真正进入单片机应用领域。因此,电子技术应用工程师以自己习惯性的电子技术应用模式,从事单片机的应用开发。这种应用模式最重要的特点是:软、硬件的底层性和随意性;对象系统专业技术的密切相关性;缺少计算机工程设计方法。虽然在单片机时代,计算机专业淡出了嵌入式系统领域,但随着后 PC 时代的到来,网络、通信技术得以发展;同时,嵌入式系统软、硬件技术有了很大的提升,为计算机专业人士介入嵌入式系统应用开辟了广阔天地。计算机专业人士的介入,形成的计算机应用模式带有明显的计算机
17、的工程应用特点,即基于嵌入式系统软、硬件平台,以网络、通信为主的非嵌入本科毕业设计(论文)-5-式底层应用。由于嵌入式系统最大、最广、最底层的应用是传统电子技术领域的智能化改造,因此,以通晓对象专业的电子技术队伍为主,用最少的嵌入式系统软、硬件开销,以 8 位机为主,带有浓重的电子系统设计色彩的电子系统应用模式会长期存在下去。另外,计算机专业人士会愈来愈多地介入嵌入式系统应用,但囿于对象专业知识的隔阂,其应用领域会集中在网络、通信、多媒体、商务电子等方面,不可能替代原来电子工程师在控制、仪器仪表、机械电子等方面的嵌入式应用。因此,客观存在的两种应用模式会长期并存下去,在不同的领域中相互补充。电
18、子系统设计模式应从计算机应用设计模式中,学习计算机工程方法和嵌入式系统软件技术;计算机应用设计模式应从电子系统设计模式中,了解嵌入式系统应用的电路系统特性、基本的外围电路设计方法和对象系统的基本要求等。由于嵌入式系统有过很长的一段单片机的独立发展道路,大多是基于 8 位单片机,实现最底层的嵌入式系统应用,带有明显的电子系统设计模式特点。大多数从事单片机应用开发人员,都是对象系统领域中的电子系统工程师,加之单片机的出现,立即脱离了计算机专业领域,以“智能化”器件身份进入电子系统领域,没有带入“嵌入式系统”概念。因此,不少从事单片机应用的人,不了解单片机与嵌入式系统的关系,在谈到“嵌入式系统”领域
19、时,往往理解成计算机专业领域的,基于 32 位嵌入式处理器,从事网络、通信、多媒体等的应用。这样,“单片机” 与“嵌入式系统”形成了嵌入式系统中常见的两个独立的名词。但由于“单片机”是典型的、独立发展起来的嵌入式系统,从学科建设的角度出发,应该把它统一成“嵌入式系统”。考虑到原来单片机的电子系统底层应用特点,可以把嵌入式系统应用分成高端与低端,把原来的单片机应用理解成嵌入式系统的低端应用,含义为它的底层性以及与对象系统的紧耦合。1.3 ARM 概述及其应用领域1.3.1 ARM 概述ARM(Advanced RISC Machines)是一类处理器,同时也是一个公司的名字 .ARM 公司于 1
20、990年 11 月在英国剑桥成立,它是全球领先的 16/32 位嵌入式 RISC 微处理器解决方案供应商,向全球各大领先电子公司提供高性能.低成本和高效率的 RISC 处理器 .外设和系统芯片技术授权.ARM公司设计先进的数字产品核心应用技术,应用领域涉及无线.网络.消费娱乐.影像.汽车电子.安全应用及存储装置.ARM 提供广泛的产品,包括 16/32 位 RISC 微处理器.数据引擎.三维图形处理器.数字单元库.嵌入式存储器.外设.软件.开发工具以及模拟和高速连接产品.ARM 公司协同众多技术合本科毕业设计(论文)-6-作伙伴为业界提供快速.稳定的完整系统解决方案.1.3.2 ARM 的应用
21、领域1 、工业控制领域:作为 32 的 RISC 架构,基于 ARM 核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展, ARM 微控制器的低功耗、高性价比,向传统的 8 位 /16 位微控制器提出了挑战。2 、无线通讯领域:目前已有超过 85% 的无线通讯设备采用了 ARM 技术, ARM 以其高性能和低成本,在该领域的地位日益巩固。3 、消费类电子产品: ARM 技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。4 、成像和安全产品:现在流行的数码相机和打印机中绝大部分采用 ARM 技术。手机中的 32 位 SIM 智能卡也采
22、用了 ARM 技术。 1.4 我们的课题1.4.1 整体研究方向综合移动机器人开发的可行性,我们把课题的方向定位自主移动机器人小车的软硬件研究。1.4.2 机器人实现方法和实现过程以 S3C44B0X 实验板为平台,以及避障系统和运动控制系统两部分结合起来构成整个移动机器人最主要的硬件部分。其中,实验板为移动机器人的中枢神经部分,它承担着对于外部硬件的全权管理(包括接收外部硬件的传递过来的信息,对信息进行相应的处理,以及把处理后的信息再传递给外部硬件) ;避障系统为整个机器人系统的感应部分,一切外界环境的识别都有避障系统来完成;运动控制系统为整个机器人系统的移动部分,它承担着让机器人能自由的在
23、物理环境中移动的功能。1.4.3 实现过程以 S3C44B0 开发板构建整个机器人的中枢神经,主要是采用嵌入式操作系统来管理。这里具体工作主要包括将 uClinux 操作系统移植入 ARM,以及在操作系统下编写外部驱动程序来识别和控制外围硬件(主要是避障系统和运动控制系统) 。避障系统设计:采用红外线来实现避障(电路设计,调试) 。运动控制系统设计:采用直流电机来实现机器人的移动功能(电路设计,调试) 。本科毕业设计(论文)-7-软件设计部分:主要是应用程序配合外部硬件驱动程序。下文将详细介绍软件实现的具体方法和实现代码。2 自主行走机器人的行走控制方案2.1 直流电机的控制方案一个电动小车整
24、体的运行性能,首先取决于它的电池系统和电机驱动系统。电动小车的驱动系统一般由控制器、功率变换器及电动机三个主要部分组成。电动小车的驱动不但要求电机驱动系统 具有高转矩重量比、宽调速范围、高可靠性,而且电机的转矩-转速特性受电源功率的影响,这就要求驱动具有尽可能宽 的高效率区。我们所使用的电机一般为直流电机,主要用到永磁直流电机、伺服电机及步进电机三种。直流电机的控制很简单,性能出众,直流电源也容易实现。这里主要介绍这种直流电机的驱动及控制。2.2 驱动电路2.2.1 驱动芯片介绍L298 是 ST 公司生产的一种高电压、大电流电机驱动芯片,直接采用,TTL 逻辑电平控制,可用来驱动继电器、线圈
25、、直流电动机、步进电动机等电感性负载。该芯片的主要特点是:工作电压高,最高工作电压可达 46V;输出电流大,瞬间峰值电流可达 3A,持续工作电流为2A;内含两个 H 桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准 TTL 逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。其芯片原理结构图如下:本科毕业设计(论文)-8-原理图2.2.2 驱动电路直流电机驱动电路使用最广泛的就是 H 型全桥式电路,这种驱动电路可以很方
26、便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。 它的基本原理图如图 1 所示: 全桥式驱动电路的 4 只开关管都工作在斩波状态,S1、S2 为一组,S3、S4 为另一组,两组的状态互补,一组导通则另一组必须关断。当 S1、S2 导通时,S3、 S4 关断,电机两端加正向电压,可以实 现电机的正转或反转制动;当 S3、S4 导 通时,S1、S2 关断,电机两端为反向电压,电机反转或正转制动。我们采用内部集成有两个桥式电路的专用芯片 L298 所组成的电机驱动电路。驱动芯片本科毕业设计(论文)-9-L298 是驱动二相和四相步进电机的专用芯片,我们利用它内部的 桥式电路来驱动
27、直流电机,这种方法有一系列的优点。每一组 PWM 波用来控制一个电机的速度,而另外两个 I/O 口可以控制电机的正反转,控制比较简单,电路也很简单,一个芯片内包含有 8 个功率管,这样简化了电路的复杂性,如图所示 IOB10、IOB11 控制第一个电机的方向, IOB8 输入的 PWM 控制第一个电机的速度;IOB12、IOB13 控制第二个电机的方向, IOB9 输入的 PWM 控制第二个电机的速度。此部分是单纯的硬件设计,没涉及到软件方面,但是实现驱动电机的功能时,我们软件输出必须通过驱动电路来实现驱动。所以这个部分和软件设计也是密不可分的一个环节。3 避障系统设计3.1 常用避障电路的实
28、现方法机器人小车避障电路设计常用的方法有两类:一种是超声波发射,接收传感器;另一种是红外线发射传感器。超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,但超声波技术受干扰影响比较大。采用红外线技术设计避障电路,主要优点是廉价,而且,红外线常用于遥控电路,技术比较常熟,电路电路设计也比较简单,但是,它的避碰距离不是很远,一般最远也不会超过 1m。考虑到实验室的条件以及技术实用性,本项目主要采用的是红外线技术设计避障电路。32 红外线避障系统的实现3.2.1 红外线避障电路基本原理红外线是一种波长在750mm至lmm之间的电磁波,对障碍物的衍射能力差,抗干扰性能强
29、,此外红外通讯有着成本低廉、连接方便、简单易用和结构紧凑的特点,所以得到广泛的应用,许多企业、学校都专门开设课程介绍红外遥控的原理,但常缺乏演示装置,使得学习过程中对其控制信号的传输流程不明了,授课效果差、本文设计一套以红外线为控制指令信号载体的红外发射、接收演示装置,能完整演示红外发射与接收信号,达到辅助教学的目的.采用红外线技术设计避障电路方法一般有两种 11,一种是基于红外线发射二级管和红外线接收二级管来设计;另外一种是基于红外线发射二极管以及红外线接收头来设计,两种方法的最大区别就在于接收电路,前者主要是要自行设计出红外接收二极管的接收电路,而后者用到的红外接收头内部就是一个接收电路,
30、所以后者就比较简洁,而且效果比前者要好的多。3.2.3 红外发射软件中断设计红外线设置检测到障碍后会向 ARM 的中断寄存器发送一个高低电平的脉冲信号,我们软件本科毕业设计(论文)-10-通过读取这个电平脉冲来调用电机的转弯程序,以实现小车的避障功能。软件设计过程中,我把寄存器 PCONG 设置为控制寄存器,将 PDATG 设置成数字寄存器,通过改变 PCONG 的 高低电平来获得 PDATG 的数值,如果是高电平,保持原来的转速,即没遇到障碍,如果是低电平就调用电机转弯的程序。程序实现如下:#include #include #include#include#include#include#
31、include #include #define PCONG (*(volatile unsigned *)0x01d20040) /定义地址#define PDATG (*(volatile unsigned *)0x01d20044) /定义地址int value2;typedef unsigned long U32;void delay(U32 time)while(time-);int start_motor(int r ,int l)int fd,i;U32 times1,times2;value0=r;value1=l;fd=open(“/dev/motor_drv“,O_RDWR); /打开电机驱动程序