自主移动机器人控制系统软件设计_第1页
自主移动机器人控制系统软件设计_第2页
自主移动机器人控制系统软件设计_第3页
自主移动机器人控制系统软件设计_第4页
自主移动机器人控制系统软件设计_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1、自主移动机器人控制系统软件设计 项文炳(自动化与电气工程学院 指导教师:孙勇智)摘要:随着机器人在非结构化环境中使用的越来越来频繁,机器人所承担的任务与日俱增。8位的微处理器比如MCS-51已经不能满足任务需要。32位的处理器已经成为机器人首选的控制核心。本文提出了一种用于移动机器人的控制方案。这个方案采用红外线和超声波传感器进行定位和避障,使用直流电机实现机器人移动,使用带有嵌入式操作系统CLinux的ARM芯片S3C44B0X作为CPU。在潜入式操作系统中,应用程序必须通过设备驱动程序才能访问硬件设备,因此必须开发上述硬件的驱动程序。本文详细讲解了直流电机、红外线传感器和超声波传感器的开发

2、细节。另外,还开发了避障应用程序。本文开发的移动机器人不仅实现了诸如前进、后退、左传、右转等基本功能,还实现了避障功能。关键词: 移动机器人;自主避障;嵌入式系统;驱动程序Abstract:Robot appears more and more frequently in non-structural environment. The tasks robots take have increased steadily. MCUs with 8-bit CPU, such as MCS-51, cannot afford these requirements. MCUs with 32-bit

3、CPU become the first choice for robots. This thesis proposes a control scheme for autonomous mobile robot. The scheme uses infrared and ultrasonic sensors for localization and obstacle avoidance, use DC motor for driving, and use the ARM chip S3C44B0X as CPU, which embed the embedded OS CLinux. In e

4、mbedded OS, the application programs have to access hardwares via devices drviers, so it is necessary to develop device driver for above hardware. This thesis described the details for developing device drviers for DC motor, infrared sensors and ultrasonic rangers. The application program for obstac

5、le avoidance is developed also. The mobile robot can perform basic behaviours such as forward moving, backward moving, left turning, right turning and obstacle avoidance.Keywords: Mobile Robot;Autonomous Obstacle Avoidance;Embedded Systems;Device Drivers1 绪论1.1 移动机器人技术的概述自20世纪50年代世界上第一台机器人装置诞生以来,机器人

6、技术经历了一个从低级到高级的发展过程,机器人(ROBOT)一词的含义也越来越广泛。移动机器人是机器人学中的一个重要分支。早在60 年代,就已经开始了关于移动机器人的研究。关于移动机器人的研究涉及许多方面,首先,要考虑移动方式,可以是轮式的、履带式、腿式的,对于水下机器人,则是推进器。其次,必须考虑驱动器的控制,以使机器人达到期望的行为。除此之外还必须考虑导航或路径规划,对于后者,有更多的方面要考虑,如传感融合,特征提取,避碰及环境映射1。因此,移动机器人是一个集环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合系统。对移动机器人的研究,提出了许多新的或挑战性的理论与工程技术课题,引

7、起越来越多的专家学者和工程技术人员的兴趣。由于全自主移动机器人涉及诸如驱动器控制、传感器数据融合、图象处理、模式识别、神经网络等许多方面的研究,因此它能够综合反映一个国家在制造业和人工智能等方面的水平。由于它在军事侦察、扫雷排险、防核污染等危险与恶劣环境以及民用中的物料搬运上具有广阔的应用前景,使得对它的研究在世界各国受到普遍关注。从80年代起,美国国防高级研究计划局(DARPA)就专门立项,制定地面无人作战平台的战略计划,从而在全世界范围内掀开了全面研究移动机器人的序幕。国外比较著名的机器人研究计划有:美国能源部制定的机器人和智能系统计划(RIPA)及后来的空间机器人计划,欧洲尤里卡的机器人

8、计划,日本通产省的极限环境下作业的机器人计划等。从总体的研究状况来看,日本在应用型的移动机器人研究方面走在了世界的前列,而美国和欧洲的一些国家在有关移动机器人的智能问题方面处于领先地位1。欧盟联合研究项目TIDE(Technology Initiative for Disabled and Elderly People)中有一项荷兰承担的M3S(Multiple Master and Multiple Slave)计划着重研究智能轮椅等移动机器人的硬件系统、总线标准与接口协议等;还有一些课题着重研究基于范围的传感器(如超声、红外等)导航问题,如英、德、意三国联合项目OMNI(Office wh

9、eelchair with high Manoeuvrability and Navigational Intelligence for people with severe handicap),美国密歇根大学的NavChair和MIT的Wheelesley。这些系统利用了超声和红外传感器进行测距,实现了不同的导航算法,并取得了较好的效果。但是由于这些传感器的固有特性,使用它们存在着一些缺点:如测量距离有限,鲁棒性差等。为了弥补超声波和红外传感器的不足,许多学者进行了基于视觉导航的研究,比较成功的例子有:美国CMU的Bookstore计划完全采用了视觉作为导航方式,实现了基于图像的视觉定位和导

10、航;日本的Nagasaki University & Ube Technical College 的智能轮椅采用了室内灯光作为导航标记,使用了自然图像和激光反射图像相结合的方法实现了自定位;西班牙的SIAMO计划采用了黑白图象编码路标作为定位标记,实现了视觉导航1。在机器人智能技术方面,一些机器人已经可以在非结构动态环境中,利用视觉传感器以及其他的多种传感器,实现可以对周围的环境进行自学习、自适应,并能够通过各种交互方式与人交流,学到关于环境的先验知识。例如,美国密歇根州立大学的SAIL机器人就可以通过多模态感知接口进行环境学习,使之成为具有初步人类智能的自学习导航机器人。在交互技术方面,近年

11、来有许多研究机构致力于将语音识别技术作为一种交互方式应用于移动机器人,而且取得了许多成果,例如:意大利的MAIA计划,该计划中的机器人能够在连续语音,非特定人的条件下,识别口语化的命令;日本的Jijo-2机器人也能够在连续语音中识别口语化命令,它被用于办公室的信息咨询和引导来宾;德国的RHINO服务机器人能够听懂简单的短语命令,并对环境噪音有很强的鲁棒性,已经开始应用于展览馆中咨询和导游工作;NEC公司也开发出人机交流机器人PaPeRo,它可以通过内置的CCD摄像机识别大约10个人的面孔,并且可以识别650个单词,说3000句话,制造它的最终目的是在将来可用作家庭安全系统、护理系统、子女教育设

12、备等的接口设备2。国内全自主移动机器人方面的研究起步较晚,但是发展非常迅速。具有一定影响力的机器人有:清华大学的THMR-V自动驾驶小车,已经可以在一定的校园环境中自由行走;哈尔滨工业大学的迎宾机器人,实现了无缆行走、自动避障、语音识别等功能;中科院自动化所模式识别实验室开发了我国第一代智能轮椅平台,已经具备了超声、红外等多传感器融合的导航系统,并可以实现简单的口令控制。此外,中国科学院沈阳自动化研究所也研制成功了自动导引车和一种移动机器人平台2。在移动机器人的应用中,精确的位置知识是一个基本问题。有关位置的测量,可分为两大类:相对和绝对位置测量。使用的方法可分为7 种:里程计、惯性导航、磁罗

13、盘、主动灯塔、全球定位系统、路标导航和地图模型匹配。其中前两种属于相对位置测量,也称为航迹推算。下面简述这些技术,包括新出现的基于声音和气味的导航技术。里程计:具有较好的短期精度、便宜、较高的采样速率,故使用广泛。使用里程计的基本思想是积分增量运动信息,因此不可避免地引来误差的无限积累。尤其是方位误差将引起较大的横向误差。一般将其与其它绝对位置测量相结合以获得更可靠的位置估计。惯性导航:惯性导航是使用陀螺和加速度计分别测量旋转率和加速率。惯性导航系统具有自包含优点,即无需外部参考。然而,随时间有漂移,积分之后,任何小的常数误差就会无限增长。因此,惯性传感器对于长时间的精确定位是不适合的。陀螺对

14、于移动机器人尤其重要,因为可以用来补偿里程计的最大缺点:任何小的瞬时方位误差将带来一个定常增长的横向位置差。磁罗盘:就车体航向对积累的航迹推算误差的影响而言,它对导航参数是非常重要的。正是这个原因,在解决自主平台的导航需求上,提供一个测量绝对航向的传感器是异常重要的。磁罗盘就是这样一个传感器。然而,磁罗盘的一个致命弱点是在接近电力线或钢结构的地方,地磁场发生变形。这就使得地磁传感器很难用于室外。在各类磁罗盘中,磁通量闸门罗盘最适于移动机器人。主动灯塔:是海洋和空中的最常用的导航系统。在商业化的移动机器人系统中,也是如此。主动灯塔能被可靠地检测,并且需要很少的处理时间就可以得到精确的位置信息。虽

15、然它可以很高的采样速率达到高可靠性,但其安装和维护费用也很高。精确的定位要求灯塔的精确安装。三边形和三角网是两种不同类型的系统。在三边形导航系统中,常常是在环境的已知位置上安装三个或以上的发射器,机器人上有一个接受器。相反情形,机器人上有一个发射器,接受器安装在墙上。通过飞行时间信息,可以计算出距离。而三角网则是在已知的位置上安装三个或以上的主动发射器,机器人上的一个旋转传感器记录它与它所看到的发射器灯塔之间的相对于车体纵轴的夹角,由此计算出机器人的位置与方位。这里有一个问题,为了在20 米或更远看,主动灯塔必须集中在一个锥形的传播模式内。结果,灯塔在很多地方可能看不到,而这种方法至少要看到三

16、个,因此这是一个尤其严重的问题。这方面的技术和产品都是成熟的。全球定位系统:对于室外导航,这是一个革命性技术。但用于移动机器人导航时,存在以下问题: (1) 由于植物和山地,存在周期性的信号阻碍; (2) 多径干扰;(3) 对于初级(单独一个) 导航系统,定位精度不够。路标导航:路标是机器人能从其传感输入所能认出的不同特性。路标可以是几何形状(如线段,圆,或矩形) ,也可包括附加信息。一般情况,路标有固定的和己知的位置。路标要认真仔细地选择,以利于识别,例如,相对于环境,要有充分的对比。为了利用路标进行导航,必须知道路标的特征并将其事先存入机器人的内存中。然后,定位的主要任务就是可靠地识别路标

17、以便计算机器人的位置。为了简化路标获取问题,常常假设当前机器人的位置和方位近似已知,这样就可使机器人在一个有限的区域内寻找路标。因此,为了成功地探测到路标,要求有一个好的测距法。路标分自然路标和人工路标。自然路标是早己在环境中存在并且除了用于机器人导航之外还有一定功能的目标或特征。人工路标是安装在环境中单独用于机器人导航的专门设计的目标或标记。地图模型匹配:基于地图定位,也称之为地图匹配,是一种机器人利用其自身的传感器创建一个自己的局部环境的技术。然后,这个局部地图与保存在内存的全局地图进行比较。如果匹配,机器人就可以计算出自己在环境中的真实位置和方位。以前存储的地图可以是环境的一个CAD 模

18、型,或者可以由以前的传感数据构造。优点是无需改变环境,而是利用环境的自然结构进行推理位置信息。另外,使用已经开发的一些算法,机器人可以通过探索学习环境而提高定位精度。缺点是对传感地图精度的严格要求和要求有足够多的、静态的、易识别的特征用于匹配。由于这些具有挑战性的要求,使得该项技术当前只限于实验室或相对简单的环境。这里涉及地图建造和地图匹配两个大问题。最近开发了一种基于自然路标导航的技术,用于在动态环境中进行位置学习和位置识别。在导航与定位方面,两个重要的发展方向值得注意:一个是关于如何构造高完整性的导航系统;另一个是关于主动环境问题,也称之为机器人与环境交互融合问题,机器人通过与环境中存在的

19、主动装置(相当于人类社会中的其他人,通过自己的询问和他人的帮助,进行导航和定位) 的交互,完成导航和定位任务。声音:当物体不在视野之内或光线很暗时,基于视觉的导航和定位将失效。在这些情况下,对于动物和人来说,声音是最有用的信息,同样,对于移动机器人,声音定位能力也尤其重要。虽然,声音的空间分辨率与视觉相比,还是比较低的,但是,听觉还是有很多优点:无方向性,时间分辨率高,能在黑暗中工作,要求的计算量小,不可隔断性。对利用声音进行定位,提出了各种方法,如束状方法;MUSIC方法;最大似然方法;空间-时间梯度方法;基于人的听觉系统的优先效果模型方法。尤其是后一种方法,在有混响的环境中,具有高时间分辨

20、率、计算量小和定位准确的优点。气味:气味的感知比视觉和听觉更重要,尤其是对于夜间活动的动物。动物更多地利用气味来搜索事物和躲避敌人,但目前缺乏这方面的研究工作。而对于这方面的研究,对利用移动机器人跟踪空气污染源或找出不合格药品等是有益的。W. K. Leow对此进行了研究, 提出了四种能够搜索事物、协商障碍物和躲避危险的神经网络, 但重点放在静态环境的条件下。Preiss 和Kramer ,Belanger 和Willis , Willis 和Arbas 的工作重点放在对昆虫利用气味导航的飞行路径进行建模3。1.2 嵌入式系统概述随着电子技术的快速发展, 特别是大规模集成电路的产生而出现的微型

21、机, 使现代科学研究得到了质的飞跃, 而嵌入式微控制器技术的出现则是给现代工业控制领域带来了一次新的技术革命。由嵌入式微控制器组成的系统, 最明显的优势就是可以嵌入到任何微型或小型仪器、设备中,而这正是移动机器人所需要。嵌入式系统被定义为: 以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统, 对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统4。嵌入式系统作为一类特殊的计算机系统, 自底向上包含有3 个部分, 如图1 所示嵌入式应用应用程序与操作系统的接口嵌入式操作系统操作系统与硬件的接口硬件平台图1 嵌入式操作系统的基本结构(1) 硬件环境是整个嵌入式操作系统和应用程序运

22、行的硬件平台, 不同的应用通常有不同的硬件环境。硬件平台的多样性是嵌入式系统的一个主要特点。(2) 嵌入式操作系统完成嵌入式应用的任务调度和控制等核心功能。具有内核比较精简、可配置、与高层应用紧密关联等特点。嵌入式操作系统具有相对不变性。(3) 嵌入式应用程序运行于操作系统之上, 利用操作系统提供的机制完成特定功能的嵌入式应用。不同的系统需要设计不同的嵌入式应用程序。如何简洁有效地使嵌入式系统能够应用于各种不同的应用环境, 是嵌入式系统发展中所必须解决的关键问题。经过不断的发展, 原先嵌入式系统的3 层结构逐步演化成为一种4 层结构。如图2 所示, 这个新增加的中间层次叫硬件抽象层, 有时也叫

23、做板级支持包,是一个介于硬件与软件之间的中间层次,从软件层上看也叫设备驱动程序。硬件抽象层通过特定的上层接口与操作系统进行交互, 向操作系统提供底层的硬件信息, 并根据操作系统的要求完成对硬件的直接操作。硬件抽象层的引入大大推动了嵌入式操作系统的通用化。应用程序与操作系统的接口嵌入式应用嵌入式操作系统操作系统与硬件抽象层的接口硬件抽象层 硬件抽象层与硬件的接口硬件平台图2 引入硬件抽象层以后的嵌入式系统结构1.2.1 ARM处理器在硬件平台上,随着嵌入式设备功能的多样化、复杂化,低档8位、16位微处理器已经不能很好的跟上整体步伐,嵌入式系统继而转向32位、64位微处理器。目前,在嵌入式系统里基

24、于ARM核的嵌入式处理器已经成为市场主流。ARM(AdvancedRISCMachines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用占据了32位RISC微处理器约75以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面4。到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域:1、工业控制领域:作为32的RISC架构,基于ARM核的微控制器芯片不但

25、占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。2、无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。3、网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。4、消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。5、成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技

26、术。手机中的32位SIM智能卡也采用了ARM技术。除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。 ARM芯片具有RISC体系的一般特点,如:1、具有大量的寄存器。绝大多数操作都在寄存器中进行,通过Load/Store的体系结构在内存和寄存器之间传递数据。2、寻址方式简单。3、采用固定长度的指令格式。4、除此之外,ARM体系采用了一些特别的技术,在保证高性能的同时尽量减小芯片体积,减低芯片的功耗。这些技术包括:、在同一条数据处理指令中包含算术逻辑处理单元处理和移位处理。、使用地址自动增加(减少)来优化程序循环处理。、Load/Store指令可以批量传输数据,

27、从而提高数据传输的效率。、所有指令都可以根据前面指令执行结果,决定是否执行,以提高指令执行的效率8。 ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7TDMI具有如下特点:具有嵌入式ICERT逻辑,调试开发方便。极低的功耗,适合对功耗要求较高的应用,如便携式产品。能够提供0.9MIPS/MHz的三级流水线结构。代码密度高并兼容16位的Thumb指令集。5ARM7系列微处理器最高主频可达130MIPS, 高速的运算处理能力能胜任绝大多数的复杂应用。其指令系统与ARM9 Thumb系列、ARM10 Thumb系列和Strong ARM处理器相

28、兼容,便于用户的产品升级换代。ARM7系列微处理器支持包括uc/os II、WinCE、CLinux、PalmOS等在内的操作系统。ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为:T:支持16为压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier)I:嵌入式ICE

29、,支持片上断点和调试点;5本文所使用的Samsung公司的S3C44B0即属于该系列的处理器。1.2.2 CLinux随着ARM 技术的广泛应用,建立面向ARM构架的嵌入式操作系统也就成为当前研究的热点问题。在众多的嵌入式操作系统里,开发人员选择比较多的是Linux,这是因为它公开源代码,可以让任何人将其修改移植到自己的目标平台系统里使用。Linux是一种很受欢迎的操作系统,它与UNIX系统兼容,开放源代码。它原本被设计为桌面系统,现在广泛应用于服务器领域。而更大的影响在于它正逐渐的应用于嵌入式设备。CLinux正是在这种氛围下产生的。在CLinux这个英文单词中u表示Micro,小的意思,C

30、表示Control,控制的意思,所以CLinux就是Micro-Control-Linux,字面上的理解就是“针对微控制领域而设计的Linux系统”6。CLinux是针对无MMU微处理器开发的,已被广泛使用在ColFire、ARM、MIPS、SPARC、SuperH等没有MMU的微处理器上。虽然CLinux的内核比原Linux 2.0内核小得多,但它保留了Linux操作系统稳定性好、网络能力优异以及对文件系统的支持等主要优点。CLinux与标准Linux的最大区别在于内存管理。标准Linux是针对有MMU的处理器设计的。在这种处理器上,虚拟地址被送到MMU,把虚拟地址映射为物理地址,通过赋予每

31、个任务不同的虚拟-物理地址转换映射,支持不同任务之间的保护4。对于CLinux来说,其设计针对没有MMU的处理器,不能使用虚拟内存管理技术。CLinux对内存的访问是直接的,即它对地址的访问不需要经过MMU,而是直接送到地址线上输出;所有程序中访问的地址都是实际的物理地址;CLinux对内存空间不提供保护,各个进程实际上共享一个运行空间。在实际上,CLinux仍采用存储器的分页管理,系统启动时把实际存储器进行分页,在加载应用程序时,程序分页加载。但是由于没有MMU管理,所以CLinux采用实存储器管理策略(Real Memory Management)4。作为操作系统,CLinux除了具备处理

32、器支持、内存管理、进程管理、文件系统管理这几种必不可少的功能外,还有着模块支持、网络支持、MISC binary library支持、能源管理、TCPIP协议支持、提供网络、串口等设备驱动程序支持。与其它的嵌入式操作系统相比,CLinux具有以下优势:(1)能满足绝大多数实时性要求。实时性本身是个相对概念,绝对的实时性,其响应时间一般要求在微妙数量级。这种实时性功能只是针对特殊设备、特殊应用场合(如数字信号处理)。绝大多数嵌入式系统应用不需要这种严格的实时性。另外,对Linux内核代码适当做些修改,如将Linux内核本身作为优先级最低的任务,实时任务作为优先级最高的任务,在实时任务存在的情况下

33、运行实时任务,否则才运行Linux本身任务。这样也能提高嵌入式Linux的系统实时性。(2)Linux系统是模块化层次结构且内核完全开放,具有强大的网络支持功能。Linux是由很多体积小且性能高的微内核模块和部件组成。由于其内核代码完全免费开放,不同领域、层次的用户可根据自己的应用需要很容易对内核进行裁剪和添加改造,在低成本前提下,设计开发出满足自己需要的嵌入式系统。由于Linux诞生于英特网并具有Unix的特性,所以它支持所有标准英特网协议,并且可以利用Linux的网络协议栈将其开发成嵌入式的TCPIP网络协议栈。(3)CLinux健壮可靠,跨处理器平台,应用软件容易移植,和其它通用操作系统

34、相比,Linux是最可靠、最稳定的操作系统。CLinux继承了这一特点。Linux的核心移植到新微处理器上,基本上不用修改。无论是RISC、CISC、32位、64位各种微处理器,Linux都能运行良好。Linux可广泛应用于Intel X86芯片家族、Motorola公司的68K系列CPU和IBM、Apple、Motorola公司的PowerPC CPU及Intel公司的Strong ARM CPU等处理器系统。Linux符合IEEE POSIX 1标准,在其上开发的应用程序具有较好的可移植性。(4)CLinux具备一整套工具链,具有很好的开发测试工具,容易自行建立嵌入式系统的开发环境和交叉运

35、行环境,可以跨越嵌入式系统开发中仿真工具ICE(In Circuit Emulator)的障碍。一般开发EOS的程序调试和跟踪都使用仿真器来实现,而使用Linux系统做原型时,可以直接用内核调试器来做操作系统的内核和差错。CLinux可以利用GUN项目的C/C+编译器GCC来编译程序,使用GDB源程序级调试器来调试程序。(5)CLinux具有巨大的市场前景和商业机会。由于Linux操作系统本身采用的内存管理技术是虚拟内存的交换技术,因此,这样必定会大大降低一个实时系统的性能。再加上,由于Linux的代码是开放的,所以在设计一个嵌入式系统时,会通过削减一些不必要的功能来提高系统的性能,但是这样做

36、也很有可能带来一些比较严重的bug。但CLinux具有占用内存空间小、启动速度快、稳定性好、支持多任务多线程的特点,并且其源码开放的特性使得CLinux必将成为嵌入式系统开发的一个高效、实用的操作系统。71.3 本文的主要研究内容本研究的主要目的是设计在室内非结构化环境中用于自主移动机器人控制系统设计,本系统以三星的ARM处理器S3C44B0X为核心,采用超声波传感器、红外传感器、对移动机器人周围环境信息及自身姿态数据进行采集、处理,并控制左右电机转动方向控制机器人。本文各章的主要内容如下:第一章 绪论,对国内外移动机器人的发展进行了综述,介绍了移动机器人导航系统及移动机器人导航中常用的传感器

37、,以及对嵌入式系统软硬件方面做了概述,最后提出了本研究工作的主要目的,并阐述了本文的主要内容。第二章 阐述系统的硬件的总体原理及传感器的选择,各个模块的构建包括超声波测距电路、红外线避障电路,电机驱动原理及具体实现,系统总体的硬件设计。第三章 介绍了ARM工作环境的搭建,分别讲述了在windows与linux操作系统下平台的搭建,程序的下载方法。以及CLinux的使用,包括内核配置,编译,烧写,启动等。第四章 详细介绍了CLinux下电机驱动程序的编写以及将模块加入到内核的方法。第五章 详细介绍了CLinux下传感器驱动程序的编写以及将模块加入到内核的方法。第六章 详细介绍如何编写机器人避障程

38、序、程序所实现的功能以及将应用程序加入到内核的方法。第七章 总结与展望。2 机器人避障硬件设计2.1 系统总体原理移动机器人系统包括运动执行部分、控制处理部分、和传感器部分。基于多传感器的数据采集系统是移动机器人感知外界环境的核心部分。移动机器人通过它来对周围环境状况进行测量。系统包括了多传感器部分和数据采集部分,传感器是机器人感知外部环境的直接手段,由于在本设计中,移动机器人需要在实现避障和路径规划的基础上,完成自主式移动,因此它必须对其工作环境的状态要清楚的了解,通过多传感器测量能简单描绘出其所处在工作环境状况。综上所述,整个系统分成三大功能模块超声波测距模块、红外避障模块、ARM控制模块

39、。系统通过超声波传感器对周围物体进行距离测量,利用红外线传感器对近距离的物体进行检测,通过ARM数据采集部分块采集数据,由ARM数据处理部分将采集到的数据综合处理,最后由ARM控制部分将控制信息传递给直流电机模块。如图1所示:图1 系统总体结构图2.2 传感器的选择为了实现移动机器人的自主移动,就必须依靠自身携带的传感器,通过主动探测的方式来完成对外部环境的感知。由于在实现避障和无碰撞路径规划的过程中,机器人本身与周围环境中障碍物之间的距离是最关键的参数。因此,对于传感器的选择,也集中在测量距离这一参数上,一般机器人测距传感器采用非接触的测量方法,测量周围环境的物体或被操作物体的空间位置。非接

40、触测量距离的方法很多,从纳米级微小位移到成千上万公里甚至更远的距离,它们的测量应用了很多原理,采用了各种不同的装置,对机器人来说,所需测量的距离一般为零点几毫米到几十米远,因此机器人测距传感器的测量范围一般都包含在这个范围内。根据所采用的原理不同,机器人测距传感器可以分为以下几种:(1)电磁类测距传感器电磁类测距传感器主要有三种类型,它们分别基于电磁感应、霍尔效应、电涡流原理。电磁类测距传感器的核心是线圈和永久磁铁构成,当传感器远离或靠近铁磁性材料时,会引起永久磁铁磁力线的变化,从而在线圈中产生电流。当传感器与被测物体相对静止时,由于磁力线不发生变化,因而线圈中没有电流,因此这种传感器只有在外

41、界物体与之产生相对运动时,才产生输出,且随着距离的增大,输出信号明显减弱,因而这种类型的传感器只能用于很短距离的测量。电涡流测距传感器的最简单的形式只包括一个线圈,线圈中通入交变电流,当传感器与外界导体接近时,导体中感应产生电流,即电涡流效应,传感器与外界导体的距离变化能够引起导体中所感应产生电流的变化。通过适当的检测电路,可从线圈中耗散功率的变化中,得出传感器与外界物体之间的距离。霍尔效应测距传感器则因其应用此原理而得名,当传感器远离被测导体时,在特定导体上有较强的磁场;当其靠近时,磁场变弱。磁场的变化引起特定导体两端电压的变化,根据这个原理可实现对距离的测量。由以上对于几种感应式传感器的分

42、析可以看出,它们存在一些相同的缺陷:这一类传感器一般对于铁磁材料比较敏感;检测信号(电压、电流等)与被测量(距离)之间不是线性的对应关系;测量时受外界电磁干扰较大;可测量的范围较小,距离较近,一般仅为零点几毫米。显然,它们都不适用于移动机器人的测距。(2)电容式测距传感器此类传感器通过测量外界物体靠近传感器所引起的电容变化来反映距离信息。最基本的用于检测电容变化的电路中,将电容作为振荡电路中的一个元件,只有在传感器电容值超过某一阀值时,振荡电路才开始振荡,将此信号转换成电压信号,即可表示与外界物体的距离。电容式传感器只能用来检测很短的距离。一般仅为几个毫米,超过这个距离,传感器灵敏度将急剧下降

43、,并且由于内部采用阀值判断,不能起到精确测量的作用,而只能实现开关的工作方式。因此,不适合精确的测距用途。(3)红外和光电传感器这类测距传感器是依靠红外线或是其它不可见光的直线传播特性,通过光敏元件来发射和接收信号,从而判断障碍物的存在与否。由于光线的传播速度极快,通常难以通过简单的装置估算其传播距离,因此在简单、低成本的应用中,这类传感器也是主要用于状态的判断(障碍物的有否、物料是否到位、液面是否过高等)而无法实现对距离的实时测量,因此这类传感器不适用于移动机器人的测距但可用于移动机器人的避障装置。(4)超声测距传感器在排除了以上几种测距传感器的条件下,选择了超声测距传感器,作为移动机器人测

44、距的主要传感器部件。主要有以下几方面的因素:测量方式原来简单,便于实现。测量范围可以从几厘米一直到几十米,完全满足了移动机器人测距的要求。测量精度高,整体误差可以控制在量程的0.5%范围内。超声波传感器有一定的覆盖性,因此,可以有较少的传感器数量覆盖较大的测量范围。被测量物体的最小尺寸可以通过选择测量用超声波信号的波长(频率)来决定。目前,超声波测距传感器在移动机器人导航中应用十分广泛。它的测量原理是基于测量渡越时间,即测量从发射换能器发出的超声波,经目标反射后,沿原路返回到接收换能器所需的时间。由渡越时间和介质中的声速即可求得目标与传感器之间的距离。这种测距方法对软件算法的要求比较低,本文也

45、将采用这种方式来测距。在选定传感器的基础上,必须进一步对整个传感模块的工作方式加以确定。(1)传感器数量的选择由于机器人需要检测的范围包含整个前进方向,因此,传感器的测量范围也必须以此为依据;同时,为了能够为避障和轨迹规划提供更多的环境参数,机器人对于其左右两边及后方的环境也要加以探测。因此,在设计中,本文选择了8个超声波传感器和5个红外线传感器。(2)实际探测范围由于每一个超声波、红外线传感器都有其一定的信号有效范围,因此,传感器的整体布局就直接决定了移动机器人的实际可探测范围,对于超声波传感器,其所能探测的可靠区域是指发射探头和接收探头共同的信号区域(如图2)。图2 单对超声波传感器的探测

46、范围而由几个信号有效区域组合在一起,就形成了实际可探测范围(每对传感器之间是分时工作的)。 图3 由三对传感器组成的整体探测范围以前方三组传感器为例,在布置时是按照一定的尺寸要求,使三对传感器共同组成的探测范围完全包括了移动机器人所需通过的空间(如图3所示)。在图3中,在机器人运动方向上划分出不同的区域,离车身较远的是测量区,传感器的可靠测量集中在这一部分,而距离比较近的是盲区。在这一区域内,由于传感器自身存在的缺陷以及安装结构的局限,使机器人对于障碍物的测量存在盲点,是测量的不可靠区域。为了消除这一盲区,在超声波传感器的基础上,再使用红外线传感器对这一盲区的障碍物进行有效测量,从而实现移动机

47、器人的全面避障。(3)工作时序由于总共存在八对超声波传感器,而且为了减少对与对之间的干扰,每一个传感器必须具有单独的工作时间段。因此,它们之间必定存在一定的工作时序。在数据采集系统中,是通过扫描的方式,循环地控制回路选择开关,使其按照一定的顺序接通每对探头。由于机器人在不断地移动,为了使传感器获得的信息迅速地反映环境的变化,扫描的周期必须足够的短(相对于环境变化和机器人的移动速度)。在具体实施中,扫描周期为几十毫秒,这样就极大地提高了整个系统的响应速度。超声波传感器只要安装准确,对与对之间不要靠的太近,发射信号不要让其他接收头接收到,就不存在着工作时序的问题。2.3 各传感器模块的硬件实现2.

48、3.1 超声波测距模块(1)脉冲回波测距法超声波测距利用了超声波在空气中是以恒定的速率传播这一特性,在已知声波传播速率的前提条件下,通过向被测物体发射超声波,接受其反射回波,并记录发射与接收之间的时间间隔,从而计算出被测物体的距离。由于每次发射的都是一定宽度的脉冲信号,因此,这种测距方法称为脉冲回波测距法。假设室温下声波在空气中的传播速度是C,测量得到的声波从声源到达目标然后返回声源的时间是t秒,距离S可以由下列公式计算:S=ct/2(因为声波经过的距离是声源与目标之间距离的两倍)由于超声波也是一种声波,其声速C与温度有关,公式如公式1。在使用时,如果温度变化不大,则可认为声速是基本不变的。如

49、果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的机理。c=331.5+0.607t (m/s)式中,t=温度 () (公式1)(2)超声波传感器原理为了以超声波作为检测手段,必须产生超声波和接收超声波。完成这种功能的装置就是超声波传感器。又由于超声波传感器是将激励电信号转换为机械振动从而产生声波(或反之)的装置,习惯上又将其称为超声波换能器,或超声波探头。以下简称为超声波探头。从产生超声波的机理上说,超声波探头可分为压电式、磁致伸缩式、电磁式等。在移动机器人中安装的超声波探头就属于压电式的,压电式超声波发生器实际上是利

50、用压电晶体的谐振来工作的。超声波发生器内部结构如图4所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。图4超声波传感器结构(3)超声波测距系统的电路图实现超声波脉冲的实现方法有两种:一种是基于微型单片机定时器中断来产生超声波发射器的40KHz的脉冲信号(主要单片机是89C2051以及PIC),另外一种是基于555定时器和电阻电容组成的电路来设计实现的,结合本系统的成本和器件的模块化设计,本项目采用了555定时器和电阻电容组成的电路来设计产生40KHz的脉冲信号。为移动机器人提供的超声波测距模组的电路原理图:分为发射部分和接收部分。(1)超声波谐振频率发生电路、调理电路(图5)图5 超声波谐振频率发生电路、调理电路NE555和电容电阻组成的电路产生40KHz的方波,以使超声波传感器产生谐振;而后面的CD4049则对40KHz频率信号进行调理,加大发射驱动能力。(2)超声波回波接收处理电路(图6)图6 超声波回波接收处理

温馨提示

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

评论

0/150

提交评论