搜档网
当前位置:搜档网 › 基于卡尔曼滤波和PID控制的两轮自平衡车

基于卡尔曼滤波和PID控制的两轮自平衡车

基于卡尔曼滤波和PID控制的两轮自平衡车
基于卡尔曼滤波和PID控制的两轮自平衡车

基于卡尔曼滤波和PID控制的两轮自平衡车

【摘要】针对两轮自平衡车的稳定和运动过程中的控制问题,我们在信号处理的过程中引入卡尔曼滤波对信号进行处理并且采用传统的pid控制,将控制过程分为三个部分,即站立、直线运动和转向。由于车体运动分为这三个部分,并且这三个部分必须几乎同时控制,所以采用分时控制每一部分的方法,该方法被成功应用于“飞思卡尔”智能车大赛,并且取得良好效果。

【关键词】倒立摆系统;自平衡车;卡尔曼滤波;pid控制

引言

倒立摆系统是控制系统的一个重要的分支和典型的应用。实际上它可以理解成在计算机的控制下,通过对系统各种状态参数的实时分析,使系统在水平方向或垂直方向上的位移和角度(角速度)的偏移量控制在允许的范围以内,从而使系统保持平衡。自平衡车就是以倒立摆系统为工作原理的成品,两轮自平衡智能小车直立行走是要求仿照两轮自平衡电动车的行进模式,让车模以两个后轮驱动进行直立行走。近年来,两轮自平衡电动车以其行走灵活、便利、节能等特点得到了很大的发展。国内外有很多这方面的研究,也有相应的产品。相对于传统的四轮行走的车模竞赛模式,车模直立行走在硬件设计、控制软件开发以及现场调试等方面提出了更高的要求。

实物图如下:

一、系统构成

几种非线性滤波算法的研究-内附程序

2017 年秋季学期研究生课程考核 (读书报告、研究报告) 考核科目:雷达系统导论 学生所在(系):电子与信息工程学院 学生所在学科:电子与同学工程 学生姓名: 学号: 学生类别: 考核结果阅卷人 第 1 页(共页)

几种非线性滤波算法的介绍与性能分析 作者姓名:学号: 专业院系:电信学院电子工程系 电子邮件: 摘要—非线性滤波算法在雷达目标跟踪中有着重要的应用,对雷达的跟踪性能有着至关重要的影响。好的滤波算法有利于目标航迹的建立及保持,能够得到较精确的目标位置,为发现目标后的后续工作提供可靠的数据依据。本文重点介绍了雷达数据处理中的几种非线性滤波算法:扩展卡尔曼滤波(EKF)、不敏卡尔曼滤波(UKF)、粒子滤波(PF),并且给出了一个利用这三种算法进行数据处理的一个实例,通过这个实例对比分析了这三种算法的性能以及优劣。 关键字—非线性滤波算法;扩展卡尔曼滤波;不敏卡尔曼滤波;粒子滤波; I.概述(一级表题格式) 在雷达对目标进行跟踪前要先对目标进行检测。对于满足检测条件的目标就需要进行跟踪,在跟踪的过程中可以利用新获得的数据完成对目标的进一步检测比如去除虚假目标等,同时利用跟踪获得数据可以进一步完成对目标动态特性的检测和识别。因此对目标进行准确的跟踪是雷达性能的一个重要指标。在检测到满足条件的目标后,根据目标运动状态建立目标运动模型,然后对目标跟踪算法进行设计,这是雷达目标跟踪中的核心部分。 目前主要的跟踪算法包括线性自回归滤波,两点外推滤波、维纳滤波、- αβ滤波、加权最小二乘滤波、维纳滤波和卡尔曼滤波[1]。对于线性系统而言最优滤波的方法就是卡尔曼滤波,卡尔曼滤波是线性高斯模型下的最优状态估计算法。但是实际问题中目标的运动模型往往不是线性的,因此卡尔曼滤波具有很大的局限性。目前主要用的非线性滤波算法可以分为高斯滤波和粒子滤波[2]。不敏卡尔曼滤波和扩展卡尔曼滤波就是高斯滤波中的典型代表,也是应用相对较为广泛的。粒子滤波的应用范围比高斯滤波的适用范围要广,对于系统状态非线性,观测模型非高斯等问题都有很好的适用性。本文具体分析阐述了扩展卡尔曼滤波算法,不敏卡尔曼滤波算法,粒子滤波算法,并且通过一个实例利用仿真的方法分析了这三种算法在滤波性能上的优劣,最后对这三种算法做了一定的总结。 我本科毕业设计题目为《基于历史数据的路径生成算法研究》,由于我是跨专业保研到电信学院,该课题所研究内容不属于雷达系统研究范围,是一种城市路网最快路径生成算法。 II.几种非线性滤波算法 A.扩展卡尔曼滤波 扩展卡尔曼滤波是将非线性系统转换为近似的线性系统的一种方法,其核心思想是围绕滤波值将非线性函数展开成泰勒级数并略去二阶及以上的项,得到一个近似的线性化模型,然后应用卡尔曼滤波完成状态估计。 扩展卡尔曼滤波状态空间模型: k k k w x f+ = + ) ( x 1 状态方程 k k k v x h+ =) ( z观测方程 其中(.) f和(.) h为非线性函数 在扩展卡尔曼滤波中,状态的预测以及观测值的预测由非线性函数计算得出,线性卡尔曼滤波中的状态转移矩阵A阵和观测矩阵H阵由f和h函数的雅克比矩阵代替。 对 (.) f和(.) h Taylor展开,只保留一次项有: ) ? ( ) ?( ) ( k k k k k x x A x f x f- + ≈ ) ? ( ) ?( ) ( k k k k k x x H x h x h- + ≈ 其中: k k x x k k dx df A ?= =为f对 1- k x求导的雅克比矩阵 k k x x k k dx dh H ?= =为h对 1- k x求导的雅克比矩阵 ) ?( ? 1-k k x f x=,于是可以得出: k k k k k k k w x A x f x A x+ - + ≈ + ) ? ) ?( ( 1 k k k k k k k v x H x h x H z+ - + ≈ + ) ? ) ?( ( 1 通过以上变换,将非线性问题线性化。接下来EKF 滤波过程同线性卡尔曼滤波相同,公式如下: )) | (?( ) |1 ( X?k k X f k k= + ) ( ) ( ) | ( ) ( ) |1 (P k Q k k k P k k k+ Φ' Φ = + )1 ( )1 ( ) |1 ( )1 ( )1 (S+ + + ' + + = +k R k H k k P k H k )1 ( )1 ( ) |1 ( )1 ( K1+ + ' + = +-k S k H k k P k

两轮自平衡车

两轮自平衡送餐车 【摘要】:本项目为“两轮自平衡车送餐机器人”系统的研究与实现,从加速度计和陀螺仪传感器得出的角度。运用卡尔曼滤波优化,补偿陀螺仪的漂移误差和加速度计的动态误差,得到更优的倾角近似值。根据PID控制调节参数,实现两轮直立行走。通过电磁传感器对电磁线的检测和GPS模块精确定位,实现了平衡车的自动送餐功能。 【关键字】:加速度计陀螺仪卡尔曼滤波PID控制调节电磁传感器GPS模块 【Abstract】:This is a project of "research and Realization of a two wheeled self balancing robot car room" system, from the accelerometer and gyro sensor of angle. Using the Calman filter optimization, the dynamic error of gyroscope drift error and acceleration compensation plan, to get better approximations angle. According to the PID control parameters, achieve two upright. Through the detection and accurate positioning of GPS module electromagnetic sensors on the magnet wire, the balance of the car automatic room function. 【Keyword】:saccelerometer gyroscope Calman filtering PID control electromagnetic sensor GPS module

两轮自平衡小车控制系统的设计

两轮自平衡小车控制系统的设计 摘要:介绍了两轮自平衡小车控制系统的设计与实现,系统以飞思卡尔公司的16位微控制器MC9S12XS128MAL作为核心控制单元,利用加速度传感器MMA7361测量重力加速度的分量,即小车的实时倾角,以及利用陀螺仪ENC-03MB测量小车的实时角速度,并利用光电编码器采集小车的前进速度,实现了小车的平衡和速度控制。在小车可以保持两轮自平衡前提下,采用摄像头CCD-TSL1401作为路径识别传感器,实时采集赛道信息,并通过左右轮差速控制转弯,使小车始终沿着赛道中线运行。实验表明,该控制系统能较好地控制小车平衡快速地跟随跑道运行,具有一定的实用性。 关键词:控制;自平衡;实时性 近年来,随着经济的不断发展和城市人口的日益增长,城市交通阻塞以及耗能、污染问题成为了一个困扰人们的心病。新型交通工具的诞生显得尤为重要,两轮自平衡小车应运而生,其以行走灵活、便利、节能等特点得到了很大的发展。但是,昂贵的成本还是令人望而止步,成为它暂时无法广泛推广的一个重要原因。因此,开展对两轮自平衡车的深入研究,不仅对改善平衡车的性价比有着重要意义,同时也对提高我国在该领域的科研水平、扩展机器人的应用背景等具有重要的理论及现实意义。全国大学生飞思卡尔智能车竞赛与时俱进,第七届电磁组小车首次采用了两轮小车,模拟两轮自平衡电动智能车的运行机理。在此基础上,第八届光电组小车再次采用两轮小车作为控制系统的载体。小车设计内容涵盖了控制、模式识别、传感技术、汽车电子、电气、计算机、机械及能源等多个学科的知识。 1 小车控制系统总体方案 小车以16位单片机MC9S12XS128MAL作为中央控制单元,用陀螺仪和加速度传感器分别检测小车的加速度和倾斜角度[1],以线性CCD采集小车行走时的赛道信息,最终通过三者的数据融合,作为直流电机的输入量,从而驱动直流电机的差速运转,实现小车的自动循轨功能。同时,为了更方便、及时地观察小车行走时数据的变化,并且对数据作出正确的处理,本系统调试时需要无线模块和上位机的配合。小车控制系统总体架构。 2 小车控制系统自平衡原理 两轮小车能够实现自平衡功能,并且在受到一定外力的干扰下,仍能保持直立状态,是小车可以沿着赛道自动循线行走的先决条件。为了更好地控制小车的行走方式,得到最优的行走路径,需要对小车分模块分析与控制。 本控制系统维持小车直立和运行的动力都来自小车的两个轮子,轮子转动由两个直流电机驱动。小车作为一个控制对象,它的控制输入量是两个电机的转动速度。小车运动控制可以分解成以下3个基本控制任务。 (1)小车平衡控制:通过控制两个电机正反方向运动保持小车直立平衡状态; (2)小车速度控制:通过调节小车的倾斜角度来实现小车速度控制,本质上是通过控制电机的转速来实现小车速度的控制。 (3)小车方向控制:通过控制两个电机之间的转动差速实现小车转向控制。 2.1 小车平衡控制 要想实现小车的平衡控制,需要采取负反馈控制方式[2]。当小车偏离平衡点时,通过控制电机驱动电机实现加、减速,从而抵消小车倾斜的趋势,便可以保持车体平衡。即当小车有向前倾的趋势时,可以使电机正向加速,给小车一个向前的加速度,在回复力和阻尼力的作用下,小车不至于向前倾倒;当小车有向后倾的趋势时,可以使小车反向加速,给小车一个向后的加速度,从而不会让小车向后倾倒,。

基于单片机的两轮自平衡车控制系统设计

基于单片机的两轮自平衡车控制系统设计 摘要 两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定。本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器MPU-6050检测小车姿态,使用互补滤波完成陀螺仪数据与加速度计数据的数据融合。系统选用STC 公司的8位单片机STC12C5A60S2为主控制器,根据从传感器中获取的数据,经过PID算法处理后,输出控制信号至电机驱动芯片TB6612FNG,以控制小车的两个电机,来使小车保持平衡状态。 整个系统制作完成后,小车可以在无人干预的条件下实现自主平衡,并且在引入适量干扰的情况下小车能够自主调整并迅速恢复至稳定状态。通过蓝牙,还可以控制小车前进,后退,左右转。 关键词:两轮自平衡小车加速度计陀螺仪数据融合滤波 PID算法 Design of Control System of Two-Wheel Self-Balance Vehicle based on Microcontroller Abstract Two-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 accelerometer

两轮平衡车说明书

双轮自平衡车 学校:德州学院 学生:唐文涛焦方磊李尧 指导老师:孟俊焕 时间:二О一四年7 月10日~10 月 6 日共12 周

中文摘要 两轮自平衡车是动态平衡机器人的一种。2008年我国奥运会的时候安全保卫工作使用过它,到今年两轮平衡车已经发展的相对成熟。在国家节能、降耗、环保、低碳、经济的方针政策下,两轮平衡车进行了资源整合、技术升级,在原来的两轮单轴式自平衡的基础上采取两轴双轮可折叠设计,两轮自平衡车具有运动灵活、智能控制、操作简单、驾驶姿势多样、节省能源、绿色环保、转弯半径为0等优点。适用于在狭小空间内运行,能够在大型购物中心、国际性会议或展览场所、体育场馆、办公大楼、大型公园及广场、生态旅游风景区、大学校园、城市中的生活住宅小区等各种室内或室外场合中作为人们的中、短距离代步工具。也是集娱乐、代步、炫酷为一体的,主打形象是汽车伴侣解决停车后几公里内的代步问题。 两轮自平衡车主要由驱动电机、锂电池组、车轮、车身等组成。其工作原理:车体内置的精密固态陀螺仪来判断车身所处的姿势状态,透过精密且高速的中央微处理器计算出适当的指令后,驱动马达来做到平衡的效果。 关键词:陀螺仪,动态稳定,折叠,驱动系统,平衡。 English abstract Two rounds of self-balancing vehicle is one of the dynamic balance of the robot. In 2008 the Olympic Games security work used it in our country, in the year to balance two rounds of car has developed relatively mature. In the national energy saving, consumption reduction, environmental protection, low carbon, economic policies and regulations, the two rounds of balance of resource integration, technology upgrades, in the original two rounds of single shaft type taken on the basis of self balancing two shaft double folding design, two rounds of self-balancing vehicle movement, flexible, intelligent control, simple operation and driving posture diversity, save energy, green environmental protection, the advantages of turning radius of 0. Apply to run in narrow space, can in a large shopping center, the international conference and exhibition venues, sports venues, office buildings, large parks and square, ecological tourism scenic spot, the university campus, city life in residential quarters and other indoor or outdoor situations as the medium and short distance transport of people. Is entertainment, walking, cool as a whole, the main image is car partner solve the problem of parking within a few kilometers after walking. Two rounds of self-balancing vehicle is mainly composed of drive motor, lithium battery pack, wheel, body, etc. Its working principle: the body's built-in precision solid-state gyroscope to judge the body's position, through sophisticated and high-speed central microprocessor

时间序列分析方法Kalman滤波

第十三章 卡尔曼滤波 在本章中,我们介绍一种被称为卡尔曼滤波的十分有用的工具。卡尔曼滤波的基本思想是将动态系统表示成为一种称为状态空间表示的特殊情形。卡尔曼滤波是对系统线性投影进行序列更新的算法。除了一般的优点以外,这种算法对计算确切的有限样本预测、计算Gauss ARMA 模型的确切似然函数、估计具有时变参数的自回归模型等,都提供了重要方法。 §13.1 动态系统的状态空间表示 我们已经介绍过一些随机过程的动态表示方法,下面我们在以前的假设基础上,继续分析动态系统的表示方法。 13.1.1 继续使用的假设 假设t y 表示时刻t 观测到的n 维随机向量,一类非常丰富的描述t y 动态性的模型可以利用一些可能无法观测的被称为状态向量(state vector)的r 维向量t ξ表示,因此表示t y 动态性的状态空间表示(state-space representation)由下列方程系统给出: 11+++=t t t v ξF ξ 状态方程(state model) (13.1) t t t w ξH x A y t +'+'= 量测方程(observation model) (13.2) 这里F ,A '和H '分别是阶数为r r ?,k n ?和r n ?的参数矩阵,t x 是1?k 的外生或者前定变量。方程(13.1)被称为状态方程(state model),方程(13.2)被称为量测方程(observation model),1?r 维向量t v 和1?n 维向量t w 都是向量白噪声,满足: ???≠=='τ ττ t t E t ,,)(0Q v v (13.3) ? ??≠=='τττt t E t ,,)(0R w w (13.4) 这里Q 和R 是r r ?和n n ?阶矩阵。假设扰动项t v 和t w 对于所有阶滞后都是不相关的,即对所有t 和τ,有: 0w v =')(τ t E (13.5) t x 是外生或者前定变量的假定意味着,在除了包含在121,,,y y y Λ--t t 内的信息以外,t x 没有为s t +ξ和s t +w (Λ,2,1,0=s )提供任何新的信息。例如,t x 可以包括t y 的滞后值,也可以包括与τξ和τw (任意τ)不相关的变量。 方程系统中方程(13.1)至方程(13.5)可以表示有限观测值的序列 },,,{21T y y y Λ,这时需要状态向量初始值1ξ。假设1ξ与t v 和t w 的任何实现都不

基于PID控制器的两轮自平衡小车设计

本科毕业设计 基于PID控制器的两轮自平衡小车设计 摘要 两轮自平衡小车具有体积小、结构简单、运动灵活的特点,适用于狭小和危险的工作空间,在安防和军事上有广泛的应用前景。两轮自平衡小车是一种两轮左右平衡布置的,像传统倒立摆一样,本身是一种自然不稳定体,其动力学方程具有多变量、非线性、强耦合、时变、参数不确定性等特性,需要施加强有力的控制手段才能使其保持平衡。 本文在总结和归纳国内外对两轮自平衡小车的研究现状,提出了自己的两轮自平衡小车软硬件设计方案,小车硬件采用陀螺仪和加速度传感器检测车身的重力方向的倾斜角度和车身轮轴方向上的旋转加速度,数据通过控制器处理后,控制电机调整小车状态,使小车保持平衡。由于陀螺仪存在温漂和积分误差,加速度传感器动态响应较慢,不能有效可靠的反应车身的状态,所以软件使用互补滤波算法将陀螺仪和加速度传感器数据融合,结合陀螺仪的快速的动态响应特性和加速度传感器的长时间稳定特性,得到一个优化的角度近似值。 文中最后通过实验验证了自平衡小车软硬件控制方案的可行性。 关键词:自平衡互补滤波数据融合倒立摆 Two-wheeledSelf-balancingRobot MaXuedong (CollegeofEngineering,SouthChinaAgriculturalUniversity,Guangzhou510642,China) Abstract:Thetwo-wheeledself-balancingrobotissmallinmechanism,withsimplest ructureandcanmakeflexiblemotion,目录 华南农业大学本科生毕业设计成绩评定表

双轮自平衡小车机器人系统设计与制作

燕山大学 课程设计说明书题目:双轮自平衡小车机器人系统设计与制作 学院(系):机械工程学院 年级专业:12级机械电子工程 组号:3 学生: 指导教师:史艳国建涛艳文史小华庆玲 唐艳华富娟晓飞正操胡浩波 日期: 2015.11

燕山大学课程设计(论文)任务书院(系):机械工程学院基层教学单位:机械电子工程系

摘要 两轮自平衡小车是一种非线性、多变量、强耦合、参数不确定的复杂系统,他体积小、结构简单、运动灵活,适合在狭小空间工作,是检验各种控制方法的一个理想装置,受到广大研究人员的重视,成为具有挑战性的课题之一。 两轮自平衡小车系统是一种两轮左右并行布置的系统。像传统的倒立一样,其工作原理是依靠倾角传感器所检测的位姿和状态变化率结合控制算法来维持自身平衡。本设计通过对倒立摆进行动力学建模,类比得到小车平衡的条件。从加速度计和陀螺仪传感器得出的角度。运用卡尔曼滤波优化,补偿陀螺仪的漂移误差和加速度计的动态误差,得到更优的倾角近似值。通过光电编码器分别得到车子的线速度和转向角速度,对速度进行PI控制。根据PID控制调节参数,实现两轮直立行走。通过调节左右两轮的差速实现小车的转向。 制作完成后,小车实现了在无线蓝牙通讯下前进、后退、和左右转向的基本动作。此外小车能在正常条件下达到自主平衡状态。并且在适量干扰下,小车能够自主调整并迅速恢复稳定状态。 关键词:自平衡陀螺仪控制调试

前言 移动机器人是机器人学的一个重要分支,对于移动机器人的研究,包括轮式、腿式、履带式以及水下式机器人等,可以追溯到20世纪60年代。移动机器人得到快速发展有两方面原因:一是其应用围越来越广泛;二是相关领域如计算、传感、控制及执行等技术的快速发展。移动机器人尚有不少技术问题有待解决,因此近几年对移动机器人的研究相当活跃。 近年来,随着移动机器人研究不断深入、应用领域更加广泛,所面临的环境和任务也越来越复杂。机器人经常会遇到一些比较狭窄,而且有很多大转角的工作场合,如何在这样比较复杂的环境中灵活快捷的执行任务,成为人们颇为关心的一个问题。双轮自平衡机器人概念就是在这样的背景下提出来的。两轮自平衡小车是一个高度不稳定两轮机器人,是一种多变量、非线性、强耦合的系统,是检验各种控制方法的典型装置。同时由于它具有体积小、运动灵活、零转弯半径等特点,将会在军用和民用领域有着广泛的应用前景。因为它既有理论研究意义又有实用价值,所以两轮自平衡小车的研究在最近十年引起了大量机器人技术实验室的广泛关注。 本论文主要叙述了基于stm32控制的两轮自平衡小车的设计与实现的整个过程。主要容为两轮自平衡小车的平衡原理,直立控制,速度控制,转向控制及系统定位算法的设计。通过此设计使小车具备一定的自平衡能力、负载承载能力、速度调节能力和无线通讯功能。小车能够自动检测自身机械系统的倾角并完成姿态的调整,并在加载一定重量的重物时能够快速做出调整并保证自身系统的自我平衡。能够以不同运动速度实现双轮车系统的前进、后退、左转与右转等动作,同时也能够实现双轮自平衡车系统的无线远程控制操作

自平衡车模型分析

自平衡车模型分析

一、 求解车体除两轮外部分动能 车体沿X 轴方向速度: R L V R L x 2 )(cos θθθθ&&&++= 车体沿Y 轴方向速度: R D L V R L y )(sin θθθ&&-= 车体沿Z 轴方向速度 θθsin &L V z = 车体沿过质心的Z 轴的转动惯量为: m yz J J J y z z ???++=d sin cos 22θθθ 由于假设车体关于ZY 平面对称,因此 0d =???m yz 因此 θθθ22sin cos y z z J J J += 则可以得到车体的平动动能: ??? ? ??+-+++=2221)sin ())(sin ()2)(cos 21θθθθθθθθθ&&&&&&L R D L R L E R L R L kp ( 车体的转动动能为: ??? ? ??+-+=22222 ))()(sin cos (21θθθθθ&&&x R L y z kp J R D J J E 则车体的总动能为: 21kp kp kp E E E += 二、 求解车轮动能 左车轮平动速度为:

R V L x w L θ&= 右车轮平动速度为 R V R x w R θ&= 两轮有同样的绕垂直于半径的转动速度: R D R L w )(θθω&&-= 则左车轮的动能为: 2 22)(2121)(21??? ? ??-++=D R J J R m E R L R L L kw L θθθθφ&&&& 则右车轮的动能为: 222)(2121)(21??? ? ??-++=D R J J R m E R L R R R kw R θθθθφ&&&& 三、 求解车体势能 由于在平地上行进,车轮势能不变。车体整体势能可变部分表示为: θcos g m E p p = 四、 拉格朗日函数的求解 得到最终的拉格朗日函数为: p kw kw kp kp E E E E E L L R -+++=21 依据拉格朗日动力学法求解,进行如下运算: R L M M L dt L d --=??-??θ θ& L L L M L dt L d =??-??θθ& R R R M L dt L d =??-??θθ& 得到动力学方程: 方程一: () R L R L z y p p R L p x p M M R D J J L m gL m R L m J L m --=??? ? ??--+--+++222 )(cos sin sin 2)(cos )θθθθθθθθθ&&&&&&&&(

大学毕业设计---基于arm的两轮自平衡车模型系统设计课程

中北大学 课程设计说明书 学生姓名: *杰学号:* 学院: 仪器与电子学院 专业: * 题目: 基于ARM的两轮自平衡车模型系统设计 指导教师:李锦明职称: 副教授 2015 年1 月30 日

摘要 近年来,两轮自平衡车的研究与应用获得了迅猛发展。本文提出了一种两轮自平衡小车的设计方案,采用陀螺仪L3G4200以及MEMS加速度传感器MMA7260构成小车姿态检测装置,使用卡尔曼滤波完成陀螺仪数据与加速度计数据的数据融合。系统选用飞思卡尔32位单片机Kinetis K60为控制核心,通过滤波算法实现车身控制,人机交互等。 整个系统制作完成后,各个模块能够正常并协调工作,小车可以在无人干预条件下实现自主平衡。同时在引入适量干扰情况下小车能够自主调整并迅速恢复稳定状态。 关键词:两轮自平衡陀螺仪姿态检测卡尔曼滤波数据融合

目录 1 课程设计目的 (1) 2 设计内容和要求 (1) 2.1 设计要求 (1) 2.2 研究意义 (1) 2.3 研究内容 (2) 3 设计方案及实现情况 (2) 3.1 两轮平衡车的平衡原理 (2) 3.2 系统方案设计 (3) 3.3 系统最终方案 (6) 3.4 系统软件设计 (9) 3.5 电路调试 (16) 4 课程设计总结 (18) 参考文献 (19) 附录 (20) 致谢 (21)

1 课程设计目的 (1)掌握嵌入式系统的一般设计方法和设计流程; (2)学习嵌入式系统设计,掌握相关IDE开发环境的使用方法; (3)掌握ARM的应用; (4)学习掌握嵌入式系设计的全过程; 2 设计内容和要求 2.1 设计要求 (1)学习掌握基于ARM Cortex-M4内核的Kinetis K60系列单片机的工作原理及应用;(2)学习掌握加速度计、陀螺仪的工作原理及应用; (3)设计基于PID控制的两轮自平衡车模型系统的工作原理图及PCB版图; 2.2 研究意义 近年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前科 学研究最活跃的领域之一,移动机器人的应用范围越来越广泛,面临的环境和任务也 越来越复杂,这就要求移动机器人必须能够适应一些复杂的环境和任务。比如,户外 移动机器人需要在凹凸不平的地面上行走,有时环境中能够允许机器人运行的地方比 较狭窄等。如何解决机器人在这些环境中运行的问题,逐渐成为研究者关心的问题[1]。 两轮自平衡机器人的概念正是在这样一个背景下提出来的,这种机器人区别于其 他移动机器人的最显著的特点是:采用了两轮共轴、各自独立驱动的工作方式(这种驱 动方式又被称为差分式驱动方式),车身的重心位于车轮轴的上方,通过轮子的前后移 动来保持车身的平衡,并且还能够在直立平衡的情况下行驶。由于特殊的结构,其适 应地形变化能力强,运动灵活,可以胜任一些复杂环境里的工作。 两轮自平衡机器人自面世以来,一直受到世界各国机器人爱好者和研究者的关 注,这不仅是因为两轮自平衡机器人具有独特的外形和结构,更重要的是因为其自身 的本质不稳定性和非线性使它成为很好的验证控制理论和控制方法的平台,具有很高 的研究价值。

几种卡尔曼滤波算法理论

自适应卡尔曼滤波 卡尔曼滤波发散的原因 如果卡尔曼滤波是稳定的,随着滤波的推进,卡尔曼滤波估计的精度应该越来越高,滤波误差方差阵也应趋于稳定值或有界值。但在实际应用中,随着量测值数目的增加,由于估计误差的均值和估计误差协方差可能越来越大,使滤波逐渐失去准确估计的作用,这种现象称为卡尔曼滤波发散。 引起滤波器发散的主要原因有两点: (1)描述系统动力学特性的数学模型和噪声估计模型不准确,不能直接真实地反映物理过程,使得模型与获得的量测值不匹配而导致滤波发散。这种由于模型建立过于粗糙或失真所引起的发散称为滤波发散。 (2)由于卡尔曼滤波是递推过程,随着滤波步数的增加,舍入误差将逐渐积累。如果计算机字长不够长,这种积累误差很有可能使估计误差方差阵失去非负定性甚至失去对称性,使滤波增益矩阵逐渐失去合适的加权作用而导致发散。这种由于计算舍入误差所引起的发散称为计算发散。 针对上述卡尔曼滤波发散的原因,目前已经出现了几种有效抑制滤波发散的方法,常用的有衰减记忆滤波、限定记忆滤波、扩充状态滤波、有限下界滤波、平方根滤波、和自适应滤波等。这些方法本质上都是以牺牲滤波器的最优性为代价来抑制滤波发散,也就是说,多数都是次优滤波方法。 自适应滤波 在很多实际系统中,系统过程噪声方差矩阵Q和量测误差方差阵R事先是不知道的,有时甚至连状态转移矩阵 或量测矩阵H也不能确切建立。如果所建立的模型与实际模型不符可能回引起滤波发散。自适应滤波就是这样一种具有抑制滤波发散作用的滤波方法。在滤波过程中,自适应滤波一方面利用量测值修正预测值,同时也对未知的或不确切的系统模型参数和噪声统计参数进行估计修正。自适应滤波的方法很多,包括贝叶斯法、极大似然法、相关法与协方差匹配法,其中最基本也是最重要的是相关法,而相关法可分为输出相关法和新息相关法。 在这里只讨论系统模型参数已知,而噪声统计参数Q和R未知情况下的自适应滤波。由于Q和R等参数最终是通过增益矩阵K影响滤波值的,因此进行自适应滤波时,也可以不去估计Q和R等参数而直接根据量测数据调整K就可以了。

两轮自平衡小车的设计

2015年陇东学院第十六届“挑战杯” 课外学术科技作品竞赛 双轮自平衡小车的设计与制作 学院:电气工程学院 班级:12级自动化本科班 姓名:周永 2015年12月8日

双轮自平衡小车的设计与制作 摘要:双轮自平衡小车是一个集动态决策和规划、环境感知、行为控制和执行等多种功能于一体的综合复杂系统,其关键是在解决自平衡的同时,还能够适应在各种环境下的控制任务。通过运用外加速度传感器、角速度传感器等,可以实现小车的平衡自主前进。双轮自平衡小车,涉及到传感器的驱动,数据的处理,角度的计算,电机的控制等,内容比较丰富,可作为实践自动控制原理及单片机技术的一个不错选择,是自我锻炼的绝好选题,对于以后制作此方面的民用产品也有很大的启迪作用。 关键词:双轮;自平衡;控制;传感器 1.引言 目前市场上的各种电子产品及家电机器人等行业越来越多地用到了智能控制技术。可以说,当今社会是一个智能型社会。各方各面都在竭尽全力向着智能方向发展,不论是人工智能还是联网智能,都在突出一个智能。智能已经覆盖了我们生活的方方面面,我们正在被智能的概念所潜移默化。不论是智能手机、玩具还是机器人,都已经成了我们生活的一部分。正是在这种情况下,智能交通的发展也发生了翻天覆地的变化,从飞车到自动驾驶汽车,无不在向我们说明,现代人已经对智能型交通工具期待已久了。作为最新科技产品的一个代表,最近市场上新出现的独轮车越来越受到了消费者的青睐。可以想象,最近几年内此类产品将会在市场上争得一席之地。比起独轮车,两轮车具有同样的购买热度,但是设计难度却没那么高,所以我将选择了从双轮车开始玩起智能交通工具。 2设计方案 方案一:用51单片机作为主控制器,用MPU6050模块采集姿态数据,用光电编码器对5V直流电机进行编码,显示模块采用LCD12864液晶屏,电源采用三端稳压方案,用红外遥控控制小车行走。本设计简单廉价,然而由于主控的反应相对缓慢,很难满足设计要求。 方案二:采用STM32单片机作主控制器,仍然用MPU6050模块作姿态数据采集,而电机采用二手的型号为16G214E MR19的具有高精度霍尔编码器的原价2000+的瑞士进口12V直流电机,显示模块采用了更轻薄更清晰更小巧的

卡尔曼滤波算法及C语言代码

卡尔曼滤波简介及其算法实现代码 卡尔曼滤波算法实现代码(C,C++分别实现) 卡尔曼滤波器简介 近来发现有些问题很多人都很感兴趣。所以在这里希望能尽自己能力跟大家讨论一些力所能及的算法。现在先讨论一下卡尔曼滤波器,如果时间和能力允许,我还希望能够写写其他的算法,例如遗传算法,傅立叶变换,数字滤波,神经网络,图像处理等等。 因为这里不能写复杂的数学公式,所以也只能形象的描述。希望如果哪位是这方面的专家,欢迎讨论更正。 卡尔曼滤波器– Kalman Filter 1.什么是卡尔曼滤波器 (What is the Kalman Filter?) 在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人! 卡尔曼全名Rudolf Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。1957年于哥伦比亚大学获得博士学位。我们现在要学习的卡尔曼滤波器,正是源于他的博士论文和1960年发表的论文《A New Approach to Linear Filtering and Prediction Problems》(线性滤波与预测问题的新方法)。如果对这编论文有兴趣,可以到这里的地址下载: https://www.sodocs.net/doc/2e1479765.html,/~welch/media/pdf/Kalman1960.pdf。 简单来说,卡尔曼滤波器是一个“optimal recursive data processing algorithm(最优化自回归数据处理算法)”。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。 2.卡尔曼滤波器的介绍 (Introduction to the Kalman Filter) 为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式。 在介绍他的5条公式之前,先让我们来根据下面的例子一步一步的探索。 假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的,也就

两轮自平衡车

两轮自平衡车 算法:和大家的一样,一个倾角环,一个车速环。取得角度、角速度、车速、车位移四个量后经过运算送给PWM驱动电机。 硬件: 主控:atmega16; 角度传感器:角速度传感器(陀螺仪)ENC-03MB(直接接AD输入,未加硬件滤波)、加速度传感器MMA7260,二者kalman融合取得角度、角速度。PS:抄zlstone的,呵呵。 电机速度传感器:每个电机两个霍尔传感器(AB相)。 电机:型号不清楚,很常见的减速电机。额定电压6V,功率3W。 电机驱动:L298N 电源:变压器整流桥那种普通电源,几块钱一个。两个,电机、MCU分开供电。电机电源电压打到最高不接电机时15V多,接了电机5V多,汗。。 显示器:LCD1602B 遥控:电视红外遥控器

引用图片 (原文件名:20110110_0104.jpg) 引用图片 源代码WINAVR20100110+AVRStudio4.18ourdev_610434C8FD1C.rar(文件大小:104K)(原文件名:Balance.rar)原理图: atmega16最小系统版ourdev_610214M89OEI.pdf(文件大小:30K)(原文件名:M16迷你板电路图.pdf)

上位机,带波形、数据显示ourdev_610318TY8G24.rar(文件大小:48K)(原文件名:串口调试.rar) 车速未滤波之前波形(原文件名:车速未滤波之前波形.JPG)

车速10Hz低通滤波后波形(原文件名:车速10Hz低通滤波后波形.JPG) 视频在这里https://www.sodocs.net/doc/2e1479765.html,/v_show/id_XMjM1OTQ3NzU2.html 现在还不是很稳,我想有两个原因,一个是参数没调到最佳,调了好久,先这样吧。再有就是电源太烂了,电机是额定6V的可实际电压空载的时候才打到5伏多一点,在平衡的时候没测,肯定更低了。 陀螺仪ENC-03是直接接AD输入端的,因为按照datasheet上边的参考电路有过冲问题,这个问题有个帖子已经讨论过,很多人都是 围绕怎么补救这个问题,我来算一下为什么这样子,呵呵~如下: 高通滤波脉冲响应(原文件名:QQ截图未命名.jpg) 因为有这个问题,会给倾角数据造成影响,所以我就去掉了滤波,直接接到AD。这样1deg/s有0.67mv,10位AD参考电压是3.36V,最小才能测到3.28mv,小于4.8deg时就测不到了。本来担心这个问题,但试了下KALMAN滤波,真是强啊!角度很精确,就这么用了。 车体研究了好久,没有用钢化玻璃的设备,就一直没动工。有天去打水突然看到旁边有个大的三合板,呵呵,于是乎。。

双轮自平衡车设计报告

双轮自平衡车设计报告 学院………….......... 班级…………………… 姓名………………..手机号…………………..姓名………………..手机号…………………..姓名………………..手机号…………………..

目录 一、双轮自平衡车原理 二、总体方案 三、电路和程序设计 四、算法分析及参数确定过程

一.双轮自平衡车原理 1.控制小车平衡的直观经验来自于人们日常生活经验。一般的人通过简单练习就可以让一个直木棒在手 指尖上保持直立。这需要两个条件:一个是托着木棒的手掌可以移动;另一个是眼睛可以观察到木棒的倾斜角度和倾斜趋势(角速度)。通过手掌移动抵消木棒的倾斜角度和趋势,从而保持木棒的直立。这两个条 件缺一不可,让木棒保持平衡的过程实际上就是控制中的负反馈控制。 图1 木棒控制原理图 2.小车的平衡和上面保持木棒平衡相比,要简单一些。因为小车是在一维上面保持平衡的,理想状态下,小车只需沿着轮胎方向前后移动保持平衡即可。 图2 平衡小车的三种状态 3.根据图2所示的平衡小车的三种状态,我们把小车偏离平衡位置的角度作为偏差;我们的目标是通过 负反馈控制,让这个偏差接近于零。用比较通俗的话描述就是:小车往前倾时车轮要往前运动,小车往后倾时车轮要往后运动,让小车保持平衡。 4.下面我们分析一下单摆模型,如图4所示。在重力作用下,单摆受到和角度成正比,运动方向相反的回复力。而且在空气中运动的单摆,由于受到空气的阻尼力,单摆最终会停止在垂直平衡位置。空气的阻尼力与单摆运动速度成正比,方向相反。 图4 单摆及其运动曲线

类比到我们的平衡小车,为了让小车能静止在平衡位置附近,我们不仅需要在电机上施加和倾角成正比的回复力,还需要增加和角速度成正比的阻尼力,阻尼力与运动方向相反。 5 平衡小车直立控制原理图 5.根据上面的分析,我们还可以总结得到一些调试的技巧:比例控制是引入了回复力;微分控制是引入了阻尼力,微分系数与转动惯量有关。 在小车质量一定的情况下,重心位置增高,因为需要的回复力减小,所以比例控制系数下降;转动惯量变大,所以微分控制系数增大。在小车重心位置一定的情况下,质量增大,因为需要的回复力增大,比例控制系数增大;转动惯量变大,所以微分控制系数增大。 二.总体方案 ■小车总框图

卡尔曼滤波研究综述

卡尔曼滤波研究综述 1 卡尔曼滤波简介 1.1卡尔曼滤波的由来 1960年卡尔曼发表了用递归方法解决离散数据线性滤波问题的论文-《A New Approach to Linear Filtering and Prediction Problems》(线性滤波与预测问题的新方法),在这篇文章里一种克服了维纳滤波缺点的新方法被提出来,这就是我们今天称之为卡尔曼滤波的方法。卡尔曼滤波应用广泛且功能强大,它可以估计信号的过去和当前状态甚至能估计将来的状态即使并不知道模型的确切性质。 其基本思想是以最小均方误差为最佳估计准则,采用信号与噪声的状态空间模型利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值。算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差的估计。 对于解决很大部分的问题,它是最优,效率最高甚至是最有用的。它的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。 1.2标准卡尔曼滤波-离散线性卡尔曼滤波 为了描述方便我们作以下假设:物理系统的状态转换过程可以描述为一个离散时间的随机过程;系统状态受控制输入的影响;系统状态及观测过程都不可避免受噪声影响;对系统状态是非直接可观测的。在以上假设前提下,得到系统的状体方程和观测方程。

X ?? 1-1 式中:X k 为状态向量,L k 为观测向量,Φk,k-1为状态转移矩阵,U k-1为控制向量,一般 不考虑,Γk,k-1,B k 为系数矩阵,Ωk-1为系统动态噪声向量,Δk 为观测噪声向量,其随机模 型为 E(Ωk ) =0;E(Δk ) =0;cov(Ωk ,Ωj ) = D Ω(k )δkj , cov(Δk ,Δj ) = D k (k )δkj ;cov(Ωk ,Δj ) =0;E(X 0) =μx(0) var(X 0) = D(X 0);cov(X 0,Ωk ) =0;cov(X 0,Δk ) =0. 1-2 卡尔曼滤波递推公式为 X ∧(k/k) = X ∧(k/k-1)+J k (L k -B k X ∧(k/k-1)), D(k/k) = (E-J k B k )D x (k/k-1), J k = D x (k/k-1)BT k [B k D x (k/k-1)]B T k +D Δ(k)]-1, X ∧ (k/k-1) =Φk ,k-1X ∧ (k-1/k-1), D x (k/k-1) =Φk ,k-1D x (k-1/k-1)ΦT k ,k-1+Γk ,k-1D Δ(k-1)ΓT k ,k-1. 1-3 2 几种最新改进型的卡尔曼滤波算法。 2.1 近似二阶扩展卡尔曼滤波 标准的卡尔曼滤波只适用于线性系统,而工程实际问题涉及的又大多是非 线性系统,于是基于非线性系统线性化的扩展卡尔曼滤波(EKF)在上世纪70年代 被提出,目前已经成为非线性系统中广泛应用的估计方法。近似二阶扩展卡尔曼 滤 波方法(AS-EKF)基于线性最小方差递推滤波框架,应用均值变换的二阶近似从 而得到非线性系统的递推滤波滤波框架 该滤波基于线性最小方差递推框架,状态X 的最小方差估计为

相关主题