1、第 1 页 共 48 页双轮自平衡移动机器人的设计摘 要:随着大中城市私家车的逐渐增多,市区交通变得日益拥堵,空气质量变得日益恶化,并且大量珍贵的土地被车库和停车场侵占,严重降低了城市居民的生活质量和幸福感。而双轮自平衡移动机器人的出现将彻底解决以上问题,其行驶使中占用道路面积小、结构简单易于存放、零尾气排放的特点,使得汽车使用导致的城市拥堵、空气质量变差等问题迎刃而解。所以,对双轮自平衡移动机器人的研究有着着广泛的市场前景和重要的社会意义。本文介绍了一种基于 32 位高速 ARM 内核 MCU 的双轮自平衡移动机器人的设计,给出了系统的方案设计、硬件设计、控制算法实现和外设驱动编写的详细步骤
2、和内容,为双轮自平衡移动机器人的实现提出了一种灵活、廉价的可行方案。关键词: 双轮自平衡 机器人 MCU ARM 第 2 页 共 48 页The design of wheeled self-balancing mobile robotAbstract: With the private cars increased gradually in the cities , urban traffic is becoming more congeste, air quality has become increasingly worse, and a lot of valuable land occ
3、upied by the garage and parking, severely reducing the quality of life and happiness of urban residents. The wheeled self-balancing mobile robot will completely solve the above problem occurs, its off-road driving to the small, simple structure, easy to store, zero-emission features, make the city c
4、ar use leading to congestion, air quality deterioration and other issues resolved. Therefore, wheeled self-balancing mobile robot has a broad market prospects and important social significance.This paper introduces a high-speed 32-bit ARM core-based MCU-wheeled self-balancing mobile robot design, gi
5、ven the system design, hardware design, control algorithm, and peripheral drivers and content of the preparation of the detailed steps for double wheel mobile robot to achieve self-balancing presents a flexible, low-cost options.Key words: wheeled self-balancing,robot,ARM,MCU1 绪论11 机器人的定义及研究意义机器人技术作
6、为 21 世纪非常重要的技术,与网路技术、通信技术、基因技术、虚拟现实技术等一样,属于高新技术。它涉及的学科有控制技术、传感器技术、计算机技术、微电子技术、通讯技术、人工智能、仿生学等多种学科。关于什么是机器人,有许多种不同的定义,主要是因为它具有一定的模糊第 3 页 共 48 页性。1979 年美国机器人协会把机器人描述为“可重复编程的多功能操纵器,设计成通过不同的编程来执行多种任务的专门设备” 。国际标准化组织则对机器人作了如下的定义:“机器人是一种能够通过编程和自动控制来执行诸如作业或移动等任务的机器” 。我国科学家对机器人的定义是:“机器人是一种自动化机器,所不同的是这种机器具备一些与
7、人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,具有高度的灵活性的自动化机器” 。虽然这些定义形式并不完全相同,但它们都比较系统地概括了机器人的本质性内容:机器人是机器;具有一定的仿人性能力;是在某种场合下可以代替人工作的自动化装置。20 世纪 60 年代,美国斯坦福研究院( SRI)的 Nils Nilssen 和 Charles Rosen 等人于 1966 年至 1972 年研造出了自主移动机器人 Shakey6,这打开了移动机器人研究的开端。随着传感技术和工业自动化的发展,机器人进入成长期,机器人开始向工业机器人方向发展,并被用于焊接和喷涂等作业中。到 70 和 80
8、 年代,随着电子计算机技术和人工智能的迅速发展,机器人进入实用化时代,发展成为具有各种移动机构、通过传感器控制的机器。到了 90 年代,对工业机器人的生产与需求进入了高潮。人工智能、模糊控制、遗传算法、神经网络等先进技术的应用,使机器人具有自主判断、决策和感知功能。使得对机器人技术的研究应用领域也在不断扩大。海洋开采、星球探险、RoboCup 足球机器人、类人型机器人、服务机器人等各种用途的机器人相继问世。我国在七五科技攻关计划中将工业机器人和水下机器人的研究和开发列入了科研计划,由机械部等部门组织了点焊、弧焊、喷漆、搬运等型号的工业机器人的攻关,使中国的机器人技术一起步就瞄准了实用化的方向。
9、1986 年国家把智能机器人列为高技术发展计划,研究目标是追赶世界先进水平,填补自己的空白,研究的主要内容是围绕特种机器人进行攻关。到了 90 年代,确定了特种机器人与工业机器人及其应用并重、以应用带动关键技术和基础研究的发展方针,成功的研制出具有自主知识产权的工业机器人系列产品,完成了一批机器人应用工程。十余年来,智能机器人主题的研究使得全国各系统的机器人研究队伍团结起来,在国家相关部门的大力支持和帮助下,经过不懈努力,取第 4 页 共 48 页得了令世人瞩目的硕果,把我国机器人事业的研究、开发、应用和产业化推向了新水平。机器人研究的领域主要分成三类,即工业机器人、服务机器人以及娱乐机器入。
10、工业机器人已应用于许多工业相关领域,目前正朝着水下、空间、核工业、医用以及军用机器人等方面发展。娱乐机器人包括机器人宠物、具有对抗性的比赛机器人(如舞蹈机器人和足球机器人)等。服务机器人可以为人类提供某项或某些项服务,主要用于迎宾、翻译、导游、短距离运输和家庭服务等场所。12 动态平衡机器人的特点及优势移动机器人可以简单的分为两种类型:静力学上的稳定平衡和不稳定平衡。通常来说,前者指具备三个或三个以上轮子的机器人,后者指只有两个或一个轮子的机器人。对于只有一个或两个轮子的机器人,在静止状态下不能稳定平衡,若要其保持稳定必须采用动态平衡,我们称之为动态平衡移动机器人。动态平衡移动机器人具有以下特
11、点:1)机器人的平衡是个动态过程;机器人在平衡点附近不停地变化进行调节以保持平衡;2)重心的高度对机器人运动和硬件设计的限制小。多轮(三轮或以上)移动机器人虽然可以稳定地平衡,可是重心过高则机器人起动或急停时有倾倒的危险。因此重心必须要求很低。因而设计时总是拉大机器人的水平截面积,降低高度。这样会造成机器人体积变大,质量增加,某些功能会受到限制。动态平衡移动机器人却无这方面的约束,重心的高低引起的不平衡已经通过动态平衡原理解决,因此重心的高低无严格限制;3)相比较多轮移动机器人,双轮(或单轮)移动机器人硬件上要简单很多,也更轻,运动上更灵活;4)动态平衡移动机器人因为结构简单,硬件上可以提供进
12、一步开发新功能的空间。鉴于动态平衡移动机器人具有上述优点,可以完全应用探星机器人或军用机器人上,体现动态平衡移动机器人的优势,改善探星机器人或军用机器人的性能。因而有必要对其做进一步的研究。第 5 页 共 48 页本论文提出的双轮动态平衡移动机器人是一种两轮式左右并行布置结构的自平衡系统,与其它类型的机器人相比最主要的特征是要解决平衡问题,即要在各种状态下保持动态平衡。该机器人利用平衡传感器和辅助传感器采集的数据,根据建立的系统数学模型和控制算法,最终控制两个伺服电机。使机器人在静止、前进、后退、加减速、刹车和旋转运动状态下,本体能够始终保持平衡稳定的状态,该过程类似一个具有柔性结构的移动式倒
13、立摆。13 动态平衡机器人的国内外发展现状双轮动态平衡移动机器人的基础是将倒立摆原理移植到移动机器人上。关于倒立摆的研究多年来国内外已经研究非常成熟,其文献也相当之多,然而更重要的是如何将倒立摆有效地应用在移动机器人上。目前国内外对动态平衡移动机器人已经有了较为相应的研究,出现了一些成果。1.3.1 Segway 机器人简介1995 年美国著名发明家 Dean Kamen 开始秘密研制 Segway,直到 2001 年 12 月这项属高度机密的新发明才被公布出来。 2003 年 3 月正式在美国市场上市,如图 1.1 所示。图 1-1 Segway 实物图(左)及解析图(右)Segway 最高
14、速度可达到每小时 17 英里,若以平均每小时 8 英里的速度行驶,充电 6 小时(费用低于 10 美分)的行驶距离为 15 英里。美国新罕布什尔州及明尼苏达州等 4 州通过了准许其在人行道上行驶的法案。第 6 页 共 48 页Segway 最基本的构造可被概括为传感器、控制系统和马达系统。最原始的传感系统是一个陀螺仪的组合。最简单的陀螺仪是在一个稳定的框架中的可转动的轮子。一个转动的物体会拒绝转动轴上的变化,所以一个陀螺仪的轮子会保持它在空间的位置(以地面为参考系) ,甚至在你倾斜它的时候。但陀螺仪的框架会自由地在空间移动。通过测量轮子相对于框架的位置,精确的传感器能感知倾斜度(从正直的方向偏
15、离多少)和倾斜速度(倾斜得有多快) 。原始的陀螺仪过于笨重,无法应用在这个机器上,Segway 运用不同的机械机制达到相同的效果。它使用一种特殊的电晶体硅传感器,这种陀螺仪能通过 Coriolis 效果(地球自转偏向力)在一个非常小的范围里决定旋转。就好像飞机飞的是直线,但看起来好像是弯曲的,这是因为下面的地球在旋转。一个典型的电晶体硅传感器包括一个安装在支持性框架上的硅钢片。硅微粒在施加于硅钢片上的静电流的驱使下移动。这些微粒是以特殊方式移动的,能够造成硅钢板颤动,这种颤动是可预知的。当硅钢板沿轴转动时(即 Segway 转动时) ,这些微粒迅速改变和硅钢板的关系,于是振动产生了变化,变化的
16、程度和旋转的程度成比例。陀螺仪测量振动的变化,把信息送给计算机。Segway 有五个陀螺仪传感器,其实只需要 3 个来检测前后和左右的倾斜。多出的传感器增加了安全性。传感器的信息被传送到“大脑” ,它由两个电子控制器电路板构成,电路板包括一个微处理器的集群。电路板上的多重微处理器据称是 PC 效率的 3 倍。因为需要极其精确的调整才能防止 Segway 倾倒。如果一个电路板出了毛病,另一个会承担所有的功能,让使用者从容不迫地停下来。微处理器运行高级程序以控制机器。程序检测所有的稳定性信息,调整相关的电子马达的速度以回应这些信息。电子马达通过一对电池驱动,两个轮子可以被独立地调整到不同的速度上。
17、当前进时,马达驱使两个轮子前进;后退时,马达驱使两个轮子后退;当转弯时,马达使一个轮子快些,一个轮子慢些,或者在相反方向上转动轮子,以使 Segway 左转或右转。1.3.2 Sway 机器人简介Sway 机器人是由哈尔滨工程大学尹亮制作的双轮移动机器人实物,如图 1.2第 7 页 共 48 页所示。Sway 由上位机和机器人车体两大部分构成,两者分离,并通过无线通讯交换数据。机器人的车体系统构成如图 1.3 所示,上位机系统构成如图 1.4 所示。图 1.2 Sway 实物图图 1.3 Sway 车体系统框图图 1.4 Sway 上位机框图该机器人采用两块 Cygnal 公司推出的 C805
18、1F005 单片机分别作为人机交互和平衡控制的核心。车体倾斜角度检测采用 AD 公司推出的双轴加速度传感器 ADXL202 及反射式红外线距离传感器。利用 PWM 技术动态控制两台直流电机的转速。上位机与机器人间的数据通信采用迅通生产的 PTR2000 超小型超低功耗高速无线收发数传 MODEM。人机交互界面采用 240128 图形液晶点阵、方向摇杆及按键。基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了 Sway 的平衡控制与数据交换。Sway 机器人的特点为:(1) 高速(25MIPS)低功耗的 SOC 单片机为各种复杂算法的实现提供了保第 8 页 共 48 页障,丰富的片内
19、外设为高速数据采集及 PWM 调制信号的生成提供了方便,片内温度传感器方便对温度的采集。片内 JTAG 功能为程序的调试及对系统的现场编程提供了方便。(2) 高效的H型PWM电路提高了电源的利用率,实现了电机的平滑变速。(3) 双轴加速度传感器及光电传感器的使用提高了车体倾斜角度检测的精度,差分算法的应用提高了系统的抗干扰能力。(4) 优化的软件算法,智能化的自动控制使车体运动准确平稳。(5) 高速的无线数据传输给各种远程数据采集和智能控制提供了保障。(6) 大屏幕液晶(蓝屏)显示及 360 度方向摇杆为人机交互提供了良好的界面。14 本章小结本章作为全文的引言部分,给出了机器人的相关概念及应
20、用领域的简单叙述,并根据机器人的静力学状态将机器人划分为稳定平衡机器人和不稳定平衡机器人两大类。提出了本课题将要研究的不稳定平衡机器人(双轮平衡机器人)的特点和研究意义。最后用两个实际的例子介绍了国内外该课题的研究现状。2 系统总体设计第 9 页 共 48 页如下图图 2.1 就是论文要研究的双轮自平衡移动机器人的简化模型,本章我们将根据这个模型给出双轮自平衡机器人的实现设计方案,并给出系统实现的理论支撑、电路硬件规划和软件代码规划。图 2.1 双轮自平衡机器人模型21 平衡算法2.1.1 PID算法简介当今的自动控制技术都是基于反馈的概念。反馈理论的要素包括三个部分:测量、比较和执行。测量关
21、心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。这个理论应用于自动控制的关键是,做出正确的测量和比较后,如何才能更好地纠正系统。PID(比例-积分-微分)控制器作为最早实用化的控制器已有 50 多年历史,现在仍然是应用最广泛的工业控制器。PID 控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。PID 控制器(比例-积分-微分控制器) ,由比例单元 P、积分单元 I 和微分单元 D 组成。通过 Kp, Ki 和 Kd 三个参数的设定,从而实现对线性系统的控制,PID 控制原理的示意见下面图 2.2。第 10 页 共 48 页图 2.2 PID 控制结
22、构图PID 控制器是一个在工业控制应用中常见的反馈回路部件。这个控制器把收集到的数据和一个参考值进行比较,然后把这个差别用于计算新的输入值,这个新的输入值的目的是可以让系统的数据达到或者保持在参考值。和其他简单的控制运算不同,PID 控制器可以根据历史数据和差别的出现率来调整输入值,这样可以使系统更加准确,更加稳定。可以通过数学的方法证明,在其他控制方法导致系统有稳定误差或过程反复的情况下,一个 PID 反馈回路却可以保持系统的稳定。2.1.2 本设计算法分析本系统的实现即基于经典的 PID 控制算法,具体来说:通过角速度传感器测得角速度值,当每秒测量的次数较多时,可以认为较短的一段时间内角速
23、度是恒定的,这样角速度值乘以测量时间间隔即得到了了两次测量的角度差值,即 PID 算法中的微分部分。设初始时小车的倾角为 0,那么将所有测得的角度差值累加即得到了 PID 中的比例部分。与比例部分的求法相同,将倾角值累加就得到了 PID 运算中的积分部分。将上面的测得量带入以下 PID 公式即可得到系统的控制输出:u(t) = Kp*e(t) + Kie(t) + Kde(t) e(t-1)+u0 u(t)输出 e(t)误差 Kp比例放大系数 Ki积分放大系数 Kd微分放大系数 u0控制量基准值(基础偏差) 22 硬件电路硬件方面本系统是一个典型的基于 MCU 的测控系统,即,通过传感器测得角速度值,并传入 MCU 进行 PID 运算,将运算的结果输送给执行机构直流电机。2.2.1 微控制器选择