基于LQR算法两轮自平衡小车的系统设计与研究
- 格式:pdf
- 大小:12.30 MB
- 文档页数:90
基于单片机的两轮自平衡车控制系统设计摘要两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定;本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器MPU-6050检测小车姿态,使用互补滤波完成陀螺仪数据与加速度计数据的数据融合;系统选用STC公司的8位单片机STC12C5A60S2为主控制器,根据从传感器中获取的数据,经过PID 算法处理后,输出控制信号至电机驱动芯片TB6612FNG,以控制小车的两个电机,来使小车保持平衡状态;整个系统制作完成后,小车可以在无人干预的条件下实现自主平衡,并且在引入适量干扰的情况下小车能够自主调整并迅速恢复至稳定状态;通过蓝牙,还可以控制小车前进,后退,左右转;关键词:两轮自平衡小车加速度计陀螺仪数据融合滤波 PID算法Design of Control System of Two-Wheel Self-Balance Vehicle based onMicrocontrollerAbstractTwo-wheel self-balance vehicle is a kind of highly unstable two-wheel robot. The characteristic of two-wheel vehicle is the nature of the instability as traditional inverted pendulum, and effective control must be exerted if we need to make it stable. This paper presents a design scheme of two-wheel self-balance vehicle. We need using gravity accelerometergyroscope sensor MPU6050 for the inclination angle of vehicle, and using complementary filter for the data fusion of gyroscope and accelerometer. We choose an 8-bit microcontroller named STC12C5A60S2 from STC Company as main controller of the control system. The main controller output control signal, which is based on the data from the sensors, to the motor drive chip named TB6612FNG for controlling two motors of vehicle, and keeping the vehicle in balance. After the completion of the control system, the vehicle can achieve autonomous balance under the conditions of unmanned intervention, the vehicle can adjust automatically and restored to a stable state quickly in the case of giving appropriate interference as well. In addition, we can control the vehicle forward, backward and turn around. Key words: Two-Wheel Self-Balance Vehicle; Accelerometer; Gyroscope; Data fusion;Complementary filter; PID algorithm1 绪论自平衡小车的研究背景近几年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前机器人研究领域的一个重要组成部分,并且其应用领域日益广泛,其所需适应的环境和执行的任务也更复杂,这就对移动机器人提出了更高的要求;比如,户外移动机器人需要在凹凸不平的地面上行走,有时机器人所需要运行的地方比较狭窄等;如何解决机器人在这些环境中运行的问题,已成为现实应用中所需要面对的一个问题;两轮自平衡小车就是在这些的需求下所产生的;这种机器人相对于其他移动机器人的最显着特点是:采用了两轮共轴、各自独立驱动的方式工作,车身重心位于车轮轴上方,通过车轮的前后滚动来保持车身的动态平衡,并可以在直立平衡状态下完成前进、后退、左右转等任务;正是由于其特殊的构造,两轮自平衡小车适应地形变化的能力较强,且运动灵活,可以胜任一些复杂环境中的工作;两轮自平衡车自面世以来,一直受到世界各国机器人爱好者和研究者的关注,这不仅是因为两轮自平衡车具有独特的外形和结构,更重要的是因为其自身的本质不稳定性和非线性使它成为很好的验证控制理论和控制方法的平台,具有很高的研究价值;早在1987年,日本电信大学教授山藤一雄就提出了两轮自平衡机器人的概念;这个基本的概念就是用数字处理器来侦测平衡的改变,然后以平行的双轮来保持机器的平稳;本世纪初;美国发明家狄恩·卡门与他的DEKA公司研发出了可以用于载人的两轮自平衡车,并命名为赛格威,投入市场后,引发了自平衡车的流行;由于两轮自平衡车有着活动灵活,环境无害等优点,其被广泛应用于各类高规格社会活动中,目前该车已用于奥运会、世博会、机场、火车站等大型场合;自平衡小车研究意义由于两轮自平衡小车具有结构特殊、体积小、运动灵活、适应地形变化能力强、能够方便的实现零半径回转、适合在拥挤和危险的空间内活动、可以胜任一些复杂环境里的工作;因此两轮自平衡车有着广泛的应用前景,其典型应用包括代步工具、通勤车、空间探索、危险品运输、高科技玩具、控制理论测试平台等方面;目前自平衡车的应用如自平衡的代步车正在流行开来;因此两轮自平衡车的研究很有意义;论文的主要内容本论文主要叙述了基于单片机的两轮自平衡车控制系统的设计与实现的整个过程;主要内容为两轮自平衡小车的平衡原理,直立控制,蓝牙控制;整个内容分为六章,包括绪论、课题任务与关键技术、系统原理概述、系统硬件设计、系统软件设计和系统的机械安装及调试;第一章主要讲解了课题的研究背景及意义,国内外研究现状;第二章主要讲解了设计的主要任务与所需的关键技术;第三章主要讲解了两轮自平衡小车控制系统的直立控制原理,转向控制原理;第四章主要讲解了系统的硬件设计,介绍了自平衡小车控制系统的硬件构成,主控芯片STC12C5A60S2的结构及组成,以及稳压电源模块,倾角测量模块,直流电机驱动模块,蓝牙控制模块和两轮测速模块的设计;第五章主要讲解了软件设计的算法功能与框架,主要描述了控制系统的程序实现以及PID算法的使用;第六章主要讲解了系统的调试与参数整定;最后总结与展望,总结本设计的各个模块,并对两轮自平衡小车的优化方向进行简要的阐述;2 课题任务与关键技术主要任务本文研究并设计了一种基于单片机的两轮自平衡小车控制系统,实现了两轮小车的自主直立控制与蓝牙控制功能;系统采用STC12C5A60S2单片机作为核心控制单元,通过增加各种传感器,设计相应电路并编写相应程序完成平衡控制与蓝牙控制;系统需要利用加速度计和陀螺仪获得车体的倾角和角速度,并对数据进行互补滤波融合;通过编码器获得两轮的速度信息;根据获得的数据信息对速度和倾角进行闭环控制;加入蓝牙通信控制,将所有输出数据进行叠加,输出至驱动芯片,实现对小车的控制;关键技术系统设计两轮自平衡车的系统设计包括:车身机械结构设计,硬件系统设计和软件系统设计;在机械结构上必须保持小车重心的稳定性,才能避免控制系统过于复杂;硬件系统必须包含自平衡车所需的所有电子系统与电气设备;软件系统则负责车身平衡控制与目标效果的实现;数学建模模型的建立有助于控制器的设计,以及控制系统各项参数的大概确定;模型的建立主要使用牛顿力学定律;姿态检测两轮自平衡车是一个本质不平衡的系统,控制系统对小车的精确控制依赖于姿态检测系统对车身姿态及运动状态的精确检测;目前,一般采用由陀螺仪和加速度计等惯性传感器组成的姿态检测系统对车身倾角进行实时、准确的检测;但是由于惯性传感器自身固有的特性,随着温度、震动等外界变化,会产生不同程度的噪声与漂移,因此必须采用一些滤波算法,对加速度计和陀螺仪所采集的数据进行融合,使测量角度更加真实稳定;控制算法两轮自平衡车所实现的平衡是一种动态的平衡;在遇到外界干扰时,需要通过控制算法来快速将小车恢复至平衡状态;传统的PID算法在各类工业场合有着广泛的应用,完全可以满足本控制系统的要求,因此本控制系统设计采用PID控制算法;3 系统原理分析控制系统任务分解根据系统要求,小车必须能够在没有外界干预的情况下依靠两个同轴安装的车轮保持平衡,并完成前进,后退,左右转等动作;相对于四轮车,控制系统的任务更为复杂,为了能解决该问题,首先将复杂的问题分解成简单的几个问题进行讨论;对系统要求进行分析,可知维持小车直立,并在受到外界干扰后迅速恢复稳态,完全依赖于一对直流电机对车轮的驱动;因此本控制系统的设计可以从对电机的控制着手,控制电机的转速以及转向来实现对小车的控制;小车的控制任务可以分解成以下三个基本任务:(1)控制小车直立:通过控制两个电机的转向保持小车的直立状态;(2)控制小车车速:通过控制两个电机的转速实现车速控制;(3)控制小车转向:通过控制两个电机的转速差实现转向控制;以上三个任务都是通过控制小车两个车轮的驱动电机完成的;直流电机的控制最终取决于电机两端输入的电压大小,将电机近似认为处于线性状态,因此上述三个基本任务可以等效成三种不同控制目标的电压,将这三种电压进行叠加后,便可以得到最终所需的电压,并将其施加在电机上以达到所追求的控制效果;在这三个任务中,保持小车平衡是关键,三个任务执行的优先级为:平衡控制>速度控制>转向控制;由于小车同时受到三种控制的影响,从平衡控制角度来看,其他两个控制就成为了它的干扰;因此对小车速度、方向的控制应该尽量保持平滑,以减少对平衡控制的干扰;上述三种控制各自独立进行,它们各自假设其他两个控制都已经达到稳定;比如控制小车加速和减速的时候,平衡控制一直在起作用,它会自动改变小车的倾角,使小车实现加速和减速;控制原理生活中有很多直立控制的例子,例如一个正常人可以经过简单的练习,让一根直木棒在水平的掌心中保持直立;这需要两个条件:一是托着木棒的手掌可以移动;二是眼睛可以观察到木棒的倾斜角和倾斜趋势角加速度;可以通过手掌的移动抵消木棒的倾斜角度和趋势,从而保持木棒的直立;这两个条件缺一不可,这就是控制中的负反馈机制;单,因为小车有两个车轮着地,因此车体只会在一个平面内发生倾斜;控制车轮转动便可抵消倾斜的趋势从而保持车体直立;数学模型二轮自平衡小车在建模时可以将其简化为倒立摆,便于进行受力分析并建立其数学模型,从而更好的设计控制系统;图 单摆模型与倒立摆模型通过对单摆模型的观察可知,当物体离开平衡位置后会受到重力与线的合作用力,驱使重物回复至平衡位置,并进行周期运动,由于空气阻力的存在,单摆最终会停在平衡位置;可以得出,单摆保持平衡的条件有两点:(1) 受到与位移方向相反的回复力作用;(2) 受到和运动速度相反的阻尼力作用;如果没有阻尼力的作用,单摆会在平衡位置左右晃动无法停止,如果阻尼力过小,单摆会在平衡位置震荡,如果阻尼力过大,则单摆的回复时间将变长,因此存在一个临界阻尼系数,使得单摆停止在平衡位置所需时间最短;车体垂直,车车体向前倾车体向后倾斜,图 通过车轮控制车体平衡倒立摆在偏离平衡位置时,受到的合力与位移方向相同,因此倒立摆不能像单摆一样稳定在垂直位置,并且会加速偏离平衡位置直至倒下;为了让倒立摆能像单摆一样平衡在稳定位置,只能通过增加额外受力使回复力与位移方向相反;控制车轮做加速运动,以小车作为参考系,重心受到一个额外的惯性力,与车轮加速度大小相同,方向相反;因此倒立摆所受到的回复力为F =mgsinθ−macosθ 3-1根据控制系统的特性,角θ需要控制在很小的范围内,并且假设控制车轮加速度与角θ成正比,比例系数为k 1,因此上式可近似处理为F =mgθ−mk 1θ 3-2此时,只要k 1>g ,回复力的方向便和位移方向相反,此时小车可以恢复到平衡位置;为使小车能在平衡位置尽快的稳定下来,还需要有阻尼力,阻尼力与角速度方向相反,大小成正比;式3-2可变为 F =mgθ−mk 1θ−mk 2θ′ 图 小车受力分析mgsinθ−macosθmgθ m3-3式中,k1,k2均为比例系数,θ为小车倾角,θ′为角速度;只要满足k1>g,k2>0,便可以将小车维持在直立状态;k2是小车回到垂直位置的阻尼系数,选取合适的阻尼系数可以保证小车可以尽快稳定在垂直位置;因此为了控制小车稳定,需要精确的测量小车倾角θ的大小和角速度θ′的大小,并以此控制车轮的加速度;4 系统硬件设计本控制系统主要由以下几个模块组成:STC12C5A60S2单片机最小系统、电源管理模块、车身姿态感应模块、电机驱动模块、速度检测模块、蓝牙模块,各模块关系图如下所示:图硬件设计总体框图STC12C5A60S2单片机介绍本控制系统采用STC12C5A60S2单片机作为控制核心;该单片机是深圳宏晶科技有限公司的典型单片机产品,采用了增强型8051内核,片内集成了60KB程序Flash、1KB数据FlashEEPROM、1280字节RAM、2个16位定时/计数器、44根I/O口线、两个全双工异步串行口UART、高速同步通信端口SPI、8通道10位ADC、2通道PWM/可编程计数器阵列/捕获/比较单元PWM/PCA/CCU、MAX810专用复位电路和硬件看门狗等资源;STC12C5A60S2具有在系统可编程ISP功能和在系统调试ISD功能,可以省去价格较高的专门编程器,开发环境的搭建非常容易,并且该单片机所有指令和标准的8051内核完全兼容,具有良好的兼容性和很强的数据处理能力;STC12C5A60S2系列单片机的内部结构框图如下所示,该单片机中包含中央处理器CPU、程序存储器Flash、数据存储器SRAM、定时/计数器、UART 串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块;STC12C5A60S2单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统;图 STC12C5A60S2系列内部结构框图图单片机最小系统电源管理模块电源管理模块为整个硬件电路提供所需的电源,其稳定性是整个硬件电路可靠运行的基础;为了减少各个模块之间的相互干扰,电源模块由若干相互独立的稳压电路模块组成;整个系统由三节的18650锂电池串联供电;选择LM2596S作为稳压芯片,整个系统的供电模块如下图所示;图系统供电模块示意图LM2596S开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性;该器件内部集成频率补偿和固定频率发生器,开关频率为150KHz,与低频开关调节器相比较,可以使用更小规格的滤波元件;该器件还有其他一些特点:在特定的输入电压和输出载荷的条件下,输出电压的误差可以保证在±4%的范围内,振荡频率误差在±15%的范围内;可以用仅80uA的待机电流;可实现外部断电;具有自我保护电路;该器件完全可以满足系统需要;稳压电路原理图如下图所示;图稳压电路原理图车身姿态感应模块在第三章原理分析中可知,为了控制小车稳定,需要精确的测量小车倾角θ的大小和角速度θ′的大小,并以此控制车轮的加速度,以此消除小车的倾角;因此小车倾角以及倾角的角速度的测量成为了控制小车直立的关键;测量小车倾角和角速度可以通过加速度传感器和陀螺仪实现;本控制系统的设计使用了整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时的轴间差的问题,减少了大量的封装空间;MPU6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量,和所有设备寄存器之间的通信采用400kHz 的I2C 接口;为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪的可测范围为±250,±500,±1000,±2000°/秒dps,加速度计可测范围为±2,±4,±8,±16g;量程越大,测量精度越低;MPU6050实物及坐标轴示意图如下图所示;加速度计MPU6050的加速度计部分可以测量出各轴方向上的加速度,并经过AD 转换后可输出数字信号;加速度检测的基本原理如下图所示;++++X++X图 MPU6050实物图与对应坐标轴示意图 加速度检测的基本原理通过微机械加工技术在硅片上加工形成了一个机械悬臂;它与相邻的电极形成了两个电容;由于加速度使得机械悬臂与两个电极之间的距离发生了变化,从而改变了两个电容的参数;通过集成的开关电容放大电路测量电容参数的变化,形成了与加速度成正比的电压输出;只需要测量出一个轴上的加速度,便可计算出小车的倾角;如下图所示,设小车前进方向是小车直立时MPU6050的Y 轴正向;当小车前倾时,小车重心在Y 轴上所受的力便是重力在Y 轴上的分力,为mgsinθ,因此MPU6050在Y 轴上所获得的加速度为 gsinθ;似乎只需要获得加速度数据就可以获得小车的倾角,但在实际小车的运行过程中,由于小车本身的运动所产生的加速度会产生很大的干扰信号叠加在上述测量信号上,使得输出信号无法准确的反映小车的倾角,如下图所示;小车运动所产生的振动加速度使得输出电压在实际倾角电压附近波动,可以使用低通滤波将其过滤,但也会使得信号无法实时反映小车的倾角变化,从而影响对小车的控制,使得小车无法保持平衡;图 小车受力分析图 加速度计信号波动陀螺仪陀螺仪可以用来测量物体的旋转角速度,它利用了旋转坐标系中的物体会受到克里利奥力的原理,在器件中利用压电陶瓷做成振动单元;当器件旋转时会改变振动频率从而反映出物体旋转的角速度;将MPU6050安装在小车上时,可以测量出小车倾斜的角速度,将角速度信号进行积分便可得到小车的倾角;如下图所示;由于陀螺仪输出的是车模的角速度,不会受到车体振动的影响,因此该信号中的噪声很小,小车的倾角数据又是由所测角速度积分得来,进一步使信号变得平滑,从而使得角度信号更加稳定;但是在实际情况中,测量所得的角速度信号存在微小的误差,经过积分运算之后,会形成累计误差,并会随着时间的延长逐步增加,最终导致电路饱和,无法形成正确的角度信号;如下图所示;测t图 小车的角速度和角图 角度积分漂如上所述,加速度计对加速度很敏感,所获得的数据会由于小车的运动产生高频噪声;而陀螺仪所测得的数据受到车体振动影响很少,但是随着时间延长,容易存在积分漂移;因此可以使用互补滤波,使得这两个传感器正好能弥补相互的缺点;简而言之,互补滤波就是在短时间内采用陀螺仪得到的角度作为最优,定时对加速度转化而来的角度进行取平均值处理来校正陀螺仪所得到的角度;具体实现方法如下图所示;利用加速度计所获得的角度信息θg 与陀螺仪积分后的角度θ进行比较,将比较的误差信号经过比例T g 放大之后与陀螺仪输出的角速度信号叠加之后再进行积分;从上图的框图可以看出,对于加速度计给定的角度θg ,经过比例、积分环节之后产生的角度θ必然最终等于θg ;由于加速度计获得的角度信息不会存在积累误差,所以最终将输出角度θ中的积累误差消除了;加速度计所产生的角度信息θg 中会叠加很强的噪声信号;为了避免该噪声信号对于角度θ的影响,比例系数T g 应该非常小;这样,加速度的噪声图 互补滤波原理框图信号经过比例、积分后,在输出角度信息中就会变得很小;由于存在积分环节,所以无论T g多小,最终输出角度θ必然与加速度计测量的角度θg相等,但是这个调节过程会随着T g的减小而延长;为了避免输出角度θ跟着θg过长,可以采取以下两个方面的措施:(1)仔细调整陀螺仪的放大电路,使得它的零点偏置尽量接近于设定值,并且稳定;(2)在控制电路和程序运行的开始,尽量保持小车处于直立状态,这样一开始就使得输出角度θ和θg相等;此后,加速度计的输出只是消除积分的偏移,输出角度不会出现很大的偏差;电机驱动模块本控制系统采用了TB6612FNG作为直流电机驱动器件,该器件具有很高的集成度,同时能提供足够的输出能力,运行性能和能耗方面也具有优势,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件;TB6612FNG是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流MOSFET-H桥结构,双通道电路输出,可同时驱动2个电机;该器件每通道输出最高的连续驱动电流,启动峰值电流达2A/连续脉冲/单脉冲;4种电机控制模式:正转/反转/制动/停止;PWM支持频率高达100kHz;待机状态;片内低压检测电路与热停机保护电路;工作温度:-20~85℃;SSOP24小型贴片封装;如上图所示,TB6612FNG 的主要引脚功能:AIN1/AIN2、BIN1/BIN2、PWMA/PWMB 为控制信号输入端;AO1/AO2、BO1/BO2为2路电机控制输出端;STBY 为正常工作/待机状态控制引脚;VM~15V 和VCC~分别为电机驱动电压输入和逻辑电平输入端;TB6612FNG 是基于MOSFET 的H 桥集成电路,其效率高于晶体管H 桥驱动器,并且外围电路简单,只需外接电源滤波电容就可以直接驱动电机,利于减小系统尺寸;对于PWM 信号,它支持高达100kHz 的频率;TB6612FNG 在本控制系统中的电路连接如下图所示;如上图所示,AIN1/AIN2,BIN1/BIN2以及STBY 连接直单片机的普通I/O 口,STBY 控制器件的工作状态,AIN1/AIN2和BIN1/BIN2的输入决定电机的正反转;单片机的PCA 模块产生PWM 输出作为电机转速的控制手段,连接至TB6612FNG 的PWMA/PWMB;电路采用耐压值25V 的10uF 电解电容和的电容进行电源滤波,使用功率MOSFET 对VM 和VCC 提供电源反接保护;TB6612FNG 图 TB6612FNG 芯片功能示意图图 TB6612FNG 电路连接示意图的逻辑真值表如下图所示;表1 TB6612FNG逻辑真值表输入输出H H H/L H L L制动L H H H L H反转L H L H L L制动H L H H H L正转H L L H L L制动L L H H OFF停止H/L H/L H/L L OFF待机速度检测模块本系统采用安华高公司的L15D11型光电编码器作为车速检测元件,其精度达到车轮每旋转一周,旋转编码器产生448个脉冲,可满足控制精度的要求;图光电编码器由于光电管器件直接输出数字脉冲信号,因此可以直接将这些脉冲信号连接到单片机的计数器或外部中断端口;编码器每个光电管输出两个脉冲信号,它们波形相同,相位相差90°;如果电机正转,第二个脉冲落后90°;如果电机反转,第二个脉冲超前90°;可以通过这个关系判断电机是否正反转,但是在实际电路中,只检测一路脉冲信号,通过该信号得到电机。
用以在线学习两足机器人的平衡控制的CTRNN和BPTT算法的即时实现:站立姿态实验摘要:为了学习机器人控制规则,本文描述了CTRNN算法和BPTT算法的即时实现实验的结果。
实验的目的是为了控制一个两足步行机器人模型在站立姿态下保持平衡。
机器人通过神经控制器控制其关节运动来补偿外界扰动的影响。
在机器人的即时电子单元中嵌入程序算法。
同时,文中详细介绍了在线学习的实现。
最后,实验结果的学习行为和控制性能证明了所提方法的可行性和效率。
1、介绍随着技术的发展,人们得以将来自人体或动物形体的启发应用于机器人制作。
因此,最新的仿人机器人是一种集成了高端机械技术与电子技术的复杂系统。
这些机器人具有完整的感知系统,能够进行人机交互,且能够在人们的日常生活环境中运动。
如何控制机器人在行走或站立时的平衡是控制仿人机器人的一大难题。
解决这一问题的一种方法是根据零力矩点理论设计控制器;另一种方法是利用仿生控制器,即具备适应能力,且能够通过训练获得所需反应的方法。
为了能够了解如何“正确”控制机器人保持平衡,利用诸如神经网络等仿生架构是一个很有希望的途径。
为此,人们在过去提出了几个基于神经元控制器的设想。
其中,Albus(1975)在1975年提出的小脑模型关节控制器(CMAC)设想在控制腿式机器人领域仍为人们所研究。
近期的研究主要涉及CMAC的建模及其泛化性能(Horvath&Szabo,2007),或是CMAC与其他诸如模糊逻辑(Su,Lee&Wang,2006),计算力矩控制(Lin&Chen,2007)等的联系。
CMAC 已被应用于控制两足步行机器人的平衡(Kun&Miller,1996)、鲁棒动态行走仿真(Lin&Chen,2007)及两足步行机器人实验(Sabourin&Bruneau,2005)等领域。
多年以来,循环神经网络(即动态神经网络)在复杂系统的控制领域被广泛研究(Marcua,Köppen-Seligerb,&Stücher,2008;Song&Tahk,2001)。
两轮自平衡小车毕业设计毕业设计题目:两轮自平衡小车设计一、毕业设计背景与意义目前,智能机器人技术已经在各个领域得到广泛的应用,其中自平衡小车是一种非常具有代表性的机器人。
自平衡小车能够通过自身的控制系统来保持平衡姿态,并能够实现各种转向和动作。
因此,自平衡小车不仅能够广泛应用于工业生产中,还可以成为搬运、巡逻和助力等领域的优秀协助工具。
本毕业设计的目标是设计和实现一种能够自动控制、实现平衡的两轮自平衡小车。
通过这个设计,进一步探究并研究自平衡技术的原理及应用,增加对机器人控制系统和传感器的理解,提高对计算机控制和嵌入式系统的应用能力。
二、毕业设计的主要内容和任务1.研究和调研a)研究两轮自平衡小车的构造和原理;b)调研目前市场上相关产品,并分析其特点和存在的问题。
2.模块设计a)根据研究结果,设计自平衡小车的主要模块,包括平衡控制模块、动作控制模块和传感器模块;b)设计相关控制算法和策略,使小车能够保持平衡并能够实现转向和动作。
3.硬件搭建和调试a)根据模块设计的结果,搭建小车的硬件系统,包括选择适用的电机、陀螺仪、加速度计等;b)进行相应的调试和优化,保证小车的平衡和动作控制能力。
4.软件开发和系统集成a)开发小车的控制系统软件,包括实时控制系统和传感器数据处理等;b)将硬件系统和软件系统进行有机地集成,实现小车的平衡和动作控制。
5.实验和测试a)进行实验测试,验证设计的有效性和稳定性;b)进行相关的性能测试和比较研究。
三、设计预期成果1.自平衡小车的系统设计和实现,能够平衡姿态并能够实现转向和动作控制;2.控制系统软件的开发和优化,实现小车的实时控制和数据处理;3.相关模块和算法的设计和实现,如平衡控制模块和动作控制模块;4.实验和测试结果的总结和分析;5.毕业设计报告的撰写。
四、设计周期和工作安排1.阶段1:研究和调研阶段(1周)2.阶段2:模块设计阶段(2周)3.阶段3:硬件搭建和调试阶段(2周)4.阶段4:软件开发和系统集成阶段(2周)5.阶段5:实验和测试阶段(1周)6.阶段6:总结和报告撰写阶段(2周)五、预期解决的关键问题和技术难点1.小车平衡控制算法的设计和优化;2.小车动作控制算法的设计和优化;3.小车硬件系统与软件系统的有效集成;4.多个传感器数据的处理和融合。
www�ele169�com | 5电子科技0 引言2002年,美国发明家狄恩·卡门(Dean Kamen)与他的DEKA 研发公司(DEKA Research and Development Corp.)团队设计发明,并创立了赛格威责任有限公司(Segway LLC),随即推出了Segway HT 两轮直立自平衡电动车,其所具有的高机动性,强适应力,结构简单易上手等特点,鉴于上述优势,两轮自平衡车的应用前景十分广泛,切实将平衡车应用到交通行业当中。
两轮自平衡车运作原理基于一种 “动态稳定”(DynamicStabilization)的方法原理之上,也就是小车自身的稳定调节能力。
内部集成姿态感知模块(Solid-StateGyroscopes)来判断车身所处的姿势状态,通过高性能微处理器计算出对应输出指令后,控制电机转动来达到平衡调节效果。
本文针对该系统的平衡控制问题,结合实际软硬件环境进行仿真输出,实现了小车的自平衡。
1 平衡原理分析运动平衡控制是研究两轮自平衡小车的关键技术之一,将其可拆解为两个方面:姿态平衡控制和运动轨迹控制。
举一个简单的例子:人们通过两个条件可以让木棒在手指尖上保持直立:(1)托着木棒的手掌可以移动;(2)眼睛可以观察到木棒的倾斜角度(姿态)和倾斜趋势(角速度)。
通过指尖随动来消除木棒的倾斜的趋势,从而保持木棒的直立。
这个过程中实际上就是控制中的负反馈机制。
车模平衡控制也是通过负反馈来实现的,与上面保持木棒直立比较则相对简单。
因为车模有两个轮子着地,车体只会在轮子滚动的方向上发生倾斜。
控制轮子转动,抵消在一个维度上。
2 硬件设计■2.1 结构设计小车采用两轮同轴三层叠式结构,将电机及编码器置于层叠版下方,这样的结构设计有助于让小车整体重心下移,便于平衡控制;同时增加了硬件放置的地方,可以将主控制器、电机控制器、姿态感知等模块置于第一层,电池及其他相关组件置于第二层,蓝牙,声波模块等外设模块置于第三层,加强了小车整体的结构紧固性的同时,丰富了了小车的后期扩展性,结构框图如图1所示。
两轮自平衡小车控制系统的设计摘要:介绍了两轮自平衡小车控制系统的设计与实现,系统以飞思卡尔公司的16位微控制器MC9S12XS128MAL作为核心控制单元,利用加速度传感器MMA7361测量重力加速度的分量,即小车的实时倾角,以及利用陀螺仪ENC-03MB测量小车的实时角速度,并利用光电编码器采集小车的前进速度,实现了小车的平衡和速度控制。
在小车可以保持两轮自平衡前提下,采用摄像头CCD-TSL1401作为路径识别传感器,实时采集赛道信息,并通过左右轮差速控制转弯,使小车始终沿着赛道中线运行。
实验表明,该控制系统能较好地控制小车平衡快速地跟随跑道运行,具有一定的实用性。
关键词:控制;自平衡;实时性近年来,随着经济的不断发展和城市人口的日益增长,城市交通阻塞以及耗能、污染问题成为了一个困扰人们的心病。
新型交通工具的诞生显得尤为重要,两轮自平衡小车应运而生,其以行走灵活、便利、节能等特点得到了很大的发展。
但是,昂贵的成本还是令人望而止步,成为它暂时无法广泛推广的一个重要原因。
因此,开展对两轮自平衡车的深入研究,不仅对改善平衡车的性价比有着重要意义,同时也对提高我国在该领域的科研水平、扩展机器人的应用背景等具有重要的理论及现实意义。
全国大学生飞思卡尔智能车竞赛与时俱进,第七届电磁组小车首次采用了两轮小车,模拟两轮自平衡电动智能车的运行机理。
在此基础上,第八届光电组小车再次采用两轮小车作为控制系统的载体。
小车设计内容涵盖了控制、模式识别、传感技术、汽车电子、电气、计算机、机械及能源等多个学科的知识。
1 小车控制系统总体方案小车以16位单片机MC9S12XS128MAL作为中央控制单元,用陀螺仪和加速度传感器分别检测小车的加速度和倾斜角度[1],以线性CCD采集小车行走时的赛道信息,最终通过三者的数据融合,作为直流电机的输入量,从而驱动直流电机的差速运转,实现小车的自动循轨功能。
同时,为了更方便、及时地观察小车行走时数据的变化,并且对数据作出正确的处理,本系统调试时需要无线模块和上位机的配合。
2016年第3期 重庆三峡学院学报 No.3.2016 第32卷(163期) JOURNAL OF CHONGQING THREE GORGES UNIVERSITY V ol.32 No.163收稿日期:2016-02-15作者简介:余世干(1982-),男,安徽定远人,阜阳师范学院讲师,主要研究嵌入式系统开发,数字图像.基金项目:安徽省教育厅自然科学研究项目(编号:2015FXTZK01);安徽省质量工程项目(编号:2014sxzx049,2013jyxm555);安徽省大学生创新创业训练项目(AH201413619001);阜阳师范学院自然科学研究项目(编号:2013FSKJ15)阶段性成果两轮自平衡智能车寻迹系统设计与实现余世干 苗 清 张廉洁 周红志(阜阳师范学院信息工程学院,安徽阜阳 236037)摘 要:文章设计和实现了基于单片机的两轮自平衡自动循迹的智能车.系统采用飞思卡尔公司的mc9s12xs128的单片机芯片和两轮的智能小车模型;软件设计采用CodeWarrior 作为开发平台,C 语音作为开发工具.最后通过系统测试,智能小车能够较好的在预定轨道上自动寻迹而且速度较快,各项性能稳定.关键词:智能车;自平衡;模块;PD 算法中图分类号:TP242.6 文献标识码:A 文章编号:1009-8135(2016)03-0043-04智能车技术是一种综合的新技术,由于可控制性和方便性的特点,其在未来生活中将发挥广泛应用.在教育部创办的智能车竞赛的背景下,本文的智能车自动导航系统能在45 cm 宽的规定白板,两边各有2.5 cm 宽黑线为引导线的道路上,在无人操作下通过识别路况信息实现自动导航、控制车体速度和方向.本系统是以飞思卡尔公司的MC9S12XS128单片机为主控制器,设计出的智能车系统能自动采集、处理路面信息,在无人操作的情况下实现自动循迹导航的功能.本文主要是设计与实现两轮自平衡车自动循迹的过程[1].1 系统实现的理论基础1.1 车体直立的原理两轮直立车体,顶端相对于底端为相对静止,顶端相对于底端总会有向前或者向后的运动速度,若想保持直立,则需要使得底端和顶端的运动速度方向、大小一致.而车体底端的电机,通过轴承驱动轮子,则可以保证车体底端和顶端的运动速度方向、大小的一致,从而保持车体直立[1-2].1.2 车体运动时保持直立的原理将车体看作一个整体,车体直立时,整体相对于地面来说相对静止.若车体开始倾斜,车体顶端相对于地面来说有了一定的速度大小和方向,想要保持车体倾斜的角度不再加剧,车体底端需要在车体倾斜的过程中,达到与顶端有着相同方向大小的速度.这样才能保证车体倾斜的角度不再会变化,但是整体对于地面来说,是从静止到匀速运动的过程、是从直立静止到保持一定的倾斜角度匀速运动的过程.1.3 道路识别原理实际道路的情况极其复杂,为了实现这一功能,此设计在有限的条件下进行到道路模拟.采用的是以白色KT 板为道路主体,以黑色线条为道路边界,具体实物如图1所示.使用简单的模型来模拟实际道路,分析道路情况可得知,道路分为直道,弯道,十字路口.只要能够获得黑线的走向,即可获得道路情况,使得小车在黑色线条围成的封闭“道路”DOI:10.13743/ki.issn.1009-8135.2016.03.011余世干苗清张廉洁周红志:两轮自平衡智能车寻迹系统设计与实现中运动.2 系统硬件结构本系统以MC9S12XS128单片机为核心,外围扩展了速度检测、道路信息检测、电源、直流电机驱动、陀螺仪以及电机差速转向控制等模块,具体系统结构[3]37-78如图2所示,系统组成实物如图3.图2 系统硬件结构图 图3 系统组成实物图2.1 陀螺仪模块与加速度传感器此设计选定了村田公司出产的ENC-03陀螺仪作为角速度传感器,飞思卡尔公司的MMA7361加速度传感器.使用两个陀螺仪来分别采集车体与地面的角度,车体与“道路”边界的角度.这两种芯片都是模拟信号输出,便于采集.加速度传感器能够检测由地球引力作用或者物体运动所产生的加速度.MMA7361加速度传感器是一种模拟量输出的三轴加速度传感器,测量其中一个方向上的加速度值,经过受力分析就可以计算出车模倾角.例如车模直立时,将加速度传感器的Z轴固定在水平方向上,此时输出信号是零偏电压信号.当车模不平衡时,重力加速度G则会在 Z 轴方向产生加速度分量,从而引起Z轴输出电压变化.陀螺仪、加速度传感器模块实物如图4所示.2.2 直流电机驱动模块车模采用的是直流电机,改变电流的流向即可改变电机旋转的方向.此类对电机的驱动电路大多数采用H桥电路,其原理为:用四个NMOS管构成可控制电流流向的电路从而驱动电机.在构建电机驱动电路时,要注意电机最大电流值,测量电机最大电流值,可将电机转子固定,然后根据电机可工作电压范围,选择最大电压,进行测量电流,图5为系统设计的电机驱动电路原理图.2.3 速度检测模块速度检测模块采用编码器来完成,通过侦测车轮运动的速度、角度、距离、位置以及计数,再把相关信息反馈给主程序以便主程序更好的控制.MC9s12xs128芯片内部集成了一个PCA模块,可用于捕获外部脉冲并且计数.关于两个电机转速的采集,使用一个外部计数器和内部PCA模块,分别采集两个电机的转速.外部计数器原理图如图6所示.2.4 电源模块本次方案使用的单片机芯片,传感器为5 V供电电压,其中比较特殊的就是陀螺仪和加速度模块,此模块采用3.3 V供电电压.针对这两种供电要求,此设计选取了LM2940作为5 V稳压芯片,LM1117-3.3作为3.3 V稳压芯片.这两种芯片的性价比较高,而且可以满足此系统地供电要求.同时考虑到整体系统需要电流的大小此设计采用将最小系统供电电源与传感器供电分别用两个5 V电源来进行供电,保证系统的正常工作[4].图7,图8分别为5 V稳压电路、3.3 V稳压电路原理图.2.5 其他模块键盘模块是用来调整软件程序的输入参数和其他辅助信息以实现在更好的调试智能车运行状态.道路信息检测模块是这个系统中重要的一环,在本系统中采用TSL1401线性CCD传感器,其内部具有128个光电二极管,每个光电二极管通过积分电路所感知的光强以电压的形式输出,其电压与光照图4 陀螺仪与加速度传感器模块重庆三峡学院学报强度强度和积分时间成正比.同时,该芯片的采集时间,也是此设计在编写底层驱动程序是需要考虑的,TSL1401芯片最小的采集时间为12 ms,在此方案中,采用的采集频率为50 HZ.核心控制器MC9S12XS128是智能车的“大脑”,它是飞思卡尔公司的一种16位单片机,其片上资源包含有时钟和复位发生器,128K FLASH,8K ROM,2K EEPROM,8位/16位脉冲累加计数器;128KB 程序Flash,8 KB RAM、8 KB数据Flash等功能资源,非常丰富,足以满足此方案中各种功能需求.在此单片机芯片上再辅助设计电源电路,振荡器电路,复位电路,BDM下载硬件电路等电路组成最小系统,从而实现对智能小车的整体综合控制.系统硬件电路的设计的工具采用Altium Designer 09,它整合了原理图、PCB图,包含很多芯片厂家的原理图库,使得开发电子线路变得十分方便,同时也拥有者DRC检测机制等功能.图5 直流电机驱动原理图 图6 外部计数器CD4520原理图图7 5v稳压电源电路图 图8 3.3v稳压电源电路图3 系统软件设计系统软件算法[1]设计是建立与硬件之上,决定着智能小车在实际道路的自动运行以及实际运行的效果,是智能小车设计的不可缺少的重要一环.系统设计需要先进行对于程序框架的设计.通过分析系统功能可知,首先需要完成单片机的初始化,使得单片机能够正常的进行工作.对于传感器数据的采集,此设计需要使用中断服务程序(ISR),这样设计才能够精确的按照单位时间来采集需要的数据,采集数据完毕之后,需要对数据进行处理,因为直立控制的精度要求较高,因此需要控制信号处理时间,这需要放在中断服务程序中来进行.对于算法需要进行优化,否则在中断中容易锁死.CCD传感器的采集时间较长,因此不能放在中断服务程序中.然后需要考虑到在调试过程中的便捷性,由于每次烧写程序会消耗大量时间,此设计采用按键来设置核心参数的方法,这样就可以直接在源程序上进行修改,而不需要再一次在IDE中进行修改和烧写[6-7].在采集到CCD信号时,需要通过陀螺仪与加速度传感器完成对车体的整体平衡的控制,然后完成对CCD 信息的处理以及对电机的控制,在电机控制过程中,采用了比较典型的PD算法,其原理源自于PID算法,是过程控制中一种模糊自适应算法,用过去,和现在的状态来预算未来的状态.用陀螺仪反馈出的角度来对电机状态来进行比例控制,用陀螺仪反馈角速度对电机状态来进行微分控制.比例控制代表着直接控制电机输出得到的结果,微分控制代表着直接控制电机输出得到的车体整体效果,其物理意义对应为电机速度和加速度,而电机的加速度影响着车体回复直立的速度,则可以用角度来代替.在直立的前提下,对电机进行速度控制和方向控制,速度控制是利用光电编码器的负反馈系统.其余世干苗清张廉洁周红志:两轮自平衡智能车寻迹系统设计与实现中Pspeed为上一次脉冲计数和此时脉冲数的差值,对电机进行比例控制,Dspeed为上一次差值与这一次差值之差对对采样时间进行微分运算,从而对电机进行控制.方向控制使用的是另一个陀螺仪的负反馈,算法过程与直立控制过程相同.按照上述设计出控制车体的控制程序,车体能直立沿着路面自动循迹.程序框架如图9所示.图9 程序框架图4 系统测试与实现系统的测试主要是完成对系统的整体结构检查是否实现预期功能,系统设计最后一环,在本系统测试中主要包括系统中的稳压电路测试,最小系统电路测试,光电编码器测试,陀螺仪、加速度模块测试,车体单片机与PC机通信电路测试,电机驱动电路测试,线性CCD模块测试,通过对各模块的测试发现,各模块功能均正常,能够完成预定目标[8-9].综上所述,本文针对两轮智能车完成了自动循迹系统的设计,实现了智能车在规定的直行、S型、十字交叉路口、斜坡、自动避障等赛道上自助循迹行使,速度能达到1.8 m/s的速度.另外基于本文所设计的智能车的控制系统的方法,也可以在其他自动控制领域发挥作用.参考文献:[1] 卓晴,黄开胜,邵贝贝,等.学做智能车—挑战“飞思卡尔”杯[M].北京:北京航空航天大学出版,2007.[2] 吴怀宇.大学生智能汽车设计基础与实践[M].北京:电子工业出版社,2008.[3] 王威.HCS12微控制器原理及应用[M].北京:北京航空航天大学出版社,2007.[4] 马福良.智能车规划与控制系统的设计与实现[D].吉林:吉林大学,2012.(责任编辑:涂正文) Design and Implementation of Two Wheels Self-Balancing Intelligent Car Tracing System YU Shigan MIAO Qing ZHANG Lianjie ZHOU Hongzhi(College of Information Engineering, Fuyang Teachers’ College, Fuyang, Anhui 236000) Abstract: In this paper, the two wheels and self-balancing intelligent car, which can automatic tracking on the road, is designed and realized based on single chip microcomputer. In this system, the single chip microcomputer MC9S12XS128 of Free scale and the model of two wheels intelligent car are adopted. The software is developed based on CodeWarrior with using C language tool as development environment. Finally after testing system, intelligent car can track the scheduled track with high speed and has stable performance.Keywords: intelligent car; self-balancing; module; PD algorithm。
两轮自平衡小车的设计与实现一、本文概述随着科技的飞速发展,智能化、自主化已经成为现代机器人技术的重要发展方向。
两轮自平衡小车作为一种典型的动态稳定控制机器人,其设计与实现技术对于推动机器人技术的进步具有重要意义。
本文旨在深入探讨两轮自平衡小车的设计理念、实现方法以及关键技术,为相关领域的研究者和爱好者提供有益的参考。
本文将首先介绍两轮自平衡小车的基本概念和原理,阐述其动态稳定控制的基本思想。
随后,将详细介绍两轮自平衡小车的硬件设计,包括电机驱动、传感器选型、控制器设计等关键部分,并阐述各部件之间的协同工作原理。
在此基础上,本文将重点探讨两轮自平衡小车的软件实现,包括平衡控制算法、运动控制算法以及人机交互界面设计等。
本文还将对两轮自平衡小车的性能优化和实际应用进行深入分析,探讨如何提高其稳定性、响应速度以及续航能力等问题。
本文将对两轮自平衡小车的发展趋势和前景进行展望,为相关领域的研究和发展提供有益的参考。
通过本文的阐述,读者可以全面了解两轮自平衡小车的设计与实现过程,掌握其关键技术和应用方法,为推动机器人技术的发展做出贡献。
二、两轮自平衡小车的基本原理两轮自平衡小车,又称作双轮自稳车或双轮倒立摆,是一种基于动态稳定技术设计的个人交通工具。
其基本原理主要涉及到力学、控制理论以及传感器技术。
两轮自平衡小车的稳定性主要依赖于其独特的力学结构。
与传统三轮或四轮的设计不同,双轮自平衡小车只有两个支撑点,这意味着它必须通过动态调整自身姿态来维持稳定。
这种动态调整的过程类似于杂技演员走钢丝,需要精确的平衡和快速的反应。
实现自平衡的关键在于控制理论的应用。
两轮自平衡小车通常搭载有先进的控制系统,该系统通过传感器实时监测小车的姿态(如倾斜角度、加速度等),并根据这些信息计算出必要的调整量。
控制系统随后会向电机发送指令,调整小车的运动状态,以保持平衡。
传感器在两轮自平衡小车中扮演着至关重要的角色。
常见的传感器包括陀螺仪、加速度计和角度传感器等。