基于全维状态观测器的视频球体跟踪
- 格式:pdf
- 大小:530.36 KB
- 文档页数:4
自动控制原理第二次讨论课指导老师:王建时间:2019.06.04状态观测器的秘密说明设置状态观测器的目的,以及设计状态观测器的原则。
0102举例说明, 系统是否带有状态观测器对其输入输出传递函数阵无影响。
CONTENTS 目录1PARTONE说明设置状态观测器的目的,以及设计状态观测器的原则。
设置状态观测器的目的010203设计状态观测器的原则举例仿真说明本节主要内容为什么要设置状态观测器???因为状态作为系统内部变量组不一定都能测量得到,或者由于测量手段在经济性和适应性上的限制,使得状态反馈在物理上难以实现。
那么状态观测器的出现就是为了解决状态反馈在性能上的优越性与物理上难以实现的矛盾。
归根结底就是:利用状态观测器来估计不容易测量的状态①观测器系统应以原系统的输入量和输出量为输入。
②为满足定义中的lim t→∞ොx −x =0,观测器必须完全可观,或其不能观子系统是逐渐稳定的。
③观测器的输出量应以足够快的速度趋近于原系统的x ,观测器系统应当具有一定的快速性。
④观测器应当在结构上尽量简单,以方便物理上实现。
全维状态观测器的构造思路是:复制+反馈。
因为原系统在物理上很难实现状态内部的公开,难以构建反馈,所以状态观测器使用闭环反馈将系统完整的“复制”一份(基于受控系统的系数矩阵A ,B ,C 完整复制),通过对复制后的系统进行观测和极点配置,从而建立系统的状态反馈。
怎么设置状态观测器???四个要点实例:已知系统的状态空间模型方程如下:设计一个全维观测器,使得其观测器的极点为323j,5−±−状态观测器的秘密clc;clear all;close all;%%系统的状态空间模型A=[010001-6-11-6];B=[0;0;1];C=[1,0,0];D=0;G=ss(A,B,C,D);[y1,t,x1]=step(G);figureplot(t,x1,'-');grid on;hold on;p=eig(A)';disp(['系统的极点:',num2str(p)]);pc=[-3+2*1i*sqrt(3),-3-2*1i*sqrt(3),-5];L=place(A',C',pc')';T=eig(A-L*C)';disp(['添加状态观测器后的极点是:',num2str(T)]); [xh,x,t]=simobsv(A,B,C,D,L);legend('状态1','状态2','状态3','观测状态1','观测状态2','观测状态3');title('系统的状态图像与系统的观测状态图像');figuresubplot(211)plot(t,x1,'-');grid on;legend('状态1','状态2','状态3');title('系统的状态图像');subplot(212)plot(t,xh,'-');grid on;legend('观测状态1','观测状态2','观测状态3'); title('系统的观测状态图像');%%做误差的判断detal1=x1(:,1)-xh(:,1);detal2=x1(:,2)-xh(:,2);detal3=x1(:,3)-xh(:,3);figuresubplot(221)plot(t,detal1);legend('x1的状态值');title('状态与观察到的状态值偏差');subplot(222)plot(t,detal2);legend('x2的状态值');title('状态与观察到的状态值偏差');subplot(223)plot(t,detal3);legend('x3的状态值');title('状态与观察到的状态值偏差');2举例说明, 系统是否带有状态观测器对其输入输出传递函数阵无影响。
基于MATLAB的状态不雅测器设计之吉白夕凡创作预备知识:极点配置基于状态反应的极点配置法就是通过状态反应将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求.1. 极点配置原理假设原系统的状态空间模型为:若系统是完全可控的,则可引入状态反应调节器,且:这时,闭环系统的状态空间模型为:2. 极点配置的MATLAB函数在MATLAB控制东西箱中,直接用于系统极点配置的函数有acker()和place().调用格局为:K=acker(A,C,P) 用于单输入单输出系统其中:A,B为系统矩阵,P为期望极点向量,K为反应增益向量.K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统.Prec为实际极点偏离期望极点位置的误差;message是当系统某一非零极点偏离期望位置大于10%时给出的警告信息.3. 极点配置步调:(1)获得系统闭环的状态空间方程;(2)按照系统性能要求,确定系统期望极点散布P;(3)利用MATLAB极点配置设计函数求取系统反应增益K;(4)检验系统性能.已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能不雅性,从输入输出数据确定.缺乏:初始状态不精确,模型不确定.思路:机关一个系统,输出迫近系统状态称为是的重构状态或状态估量值.实现系统状态重构的系统称为状态不雅测器.不雅测器设计状态估量的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反应校正思想来实现状态重构.通过误差来校正系统:状态误差,输出误差.基于不雅测器的控制器设计系统模型若系统状态不克不及直接丈量,可以用不雅测器来估量系统的状态.L是不雅测器增益矩阵,对偏差的加权.真实状态和估量状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来包管.也即极点配置问题.要使得误差衰减到零,需要选取一个适当的矩阵L,使得A-LC 是稳定的.若能使得矩阵A-LC有适当的特征值,则可以使得误差具有一定的衰减率.由于因此,问题转化为的极点配置问题.该极点配置问题可解的条件:能控;等价于能不雅定理:系统可以任意配置不雅测器极点的充分需要条件是(C, A)能不雅.不雅测器的增益矩阵可以依照极点配置办法来设计,求解的极点配置问题,得到增益矩阵k;不雅测器增益矩阵例考虑由以下系数矩阵给定的系统设计一个不雅测器,使不雅测器两个极点都是-2.检验系统的能不雅性:系统是能不雅的,因此问题可解.要求确定不雅测器增益矩阵使得矩阵A-LC具有两个相同的特征值-2.由于期望的特征值多项式是比较两个多项式,可以得到,所求的不雅测器是也可利用MATLAB命令来计算不雅测器增益矩阵:L=(acker(A’,C’,V))’L=(place(A’,C’,V))’不雅测器设计时注意的问题:(1)不雅测器极点比系统极点快2~5倍;(2)并不是越快越好.例2:某系统首先对系统的能控性进行判断,以编程方法实现a=[-1 -2 -2;0 -1 1;1 0 -1];b=[2;0;1]; %输入a,b矩阵q=[b a*b a^2*b]rank(q)计算结果为q的秩为3,因此该系统为完全能控型系统,在满足系统要求的前提下,理论上能任意配置期望极点.不雅测器的设计首先检验系统的是否完全能不雅a=[-1 -2 -2;0 -1 1;1 0 -1];c=[1 0 0];q=[c;c*a;c*a*a]rank(q)rank(q)=3说明系统是完全能不雅的下面就是不雅测器期望极点选择,一般为了考虑不雅测器的响应速度要比闭环系统快,又要考虑搅扰抑制,一般极点为闭环极点的2---5倍.由此可进一步求出不雅测器增益矩阵la=[-1 -2 -2;0 -1 1;1 0 -1];c=[1 0 0];pe=[-12;-3+0.88*i;-3-0.88*i];lt=acker(a',c',pe);l=lt'求得l=[15;1.872;-25.2592];下面可构建Simulink图,据此不雅察不雅测器的跟踪能力跟踪效果图如下可见,单路跟踪效果较好.利用状态空间,可以便利地设计全维不雅测器,各路跟踪效果如下:据此发明不雅测器跟踪效果较好.利用状态估量值的反应控制器是基于不雅测器的输出反应控制系统结构图:例3:系统状态空间模型的系数矩阵:系统能控、能不雅.状态反应控制器:闭环矩阵:特征多项式:选取则闭环极点状态不成测,设计状态不雅测器.选取不雅测器极点:应用极点配置办法,可得不雅测器增益矩阵不雅测器模型:按照别离性原理,由以上辨别得到的状态反应和不雅测器增益矩阵可机关基于不雅测器的输出反应控制器:系统的动态特性:对象和误差的初始条件:系统曲线:总结从以上的设计可总结出状态空间的控制器的设计思路.1.首先对不雅测器的能不雅性与能控性进行判断;2.如果完全能不雅或能控,则进行以下阐发;如果不是,可以进行能控与能不雅分化出来;3.如果使用原系统状态反应,可以按照系统要求进行极点配置,进而设计出控制器;如果还需要设计不雅测器,可合理配置不雅测器极点,进而设计整个系统.4.如果使用不雅测器状态反应,由于别离定理,不雅测器与反应可辨别设计,所以设计过程基本和上面一样;5.对于以上系统都存在较大的余差,故需设计参考输入,或者采纳积分控制器都可以很好的消除稳态余差.。
实用文档之"基于MATLAB 的状态观测器设计"预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:Kx u input -=这时,闭环系统的状态空间模型为:⎩⎨⎧=+-=Cx y Bu x )BK A (x 2. 极点配置的MATLAB 函数 在MATLAB 控制工具箱中,直接用于系统极点配置的函数有acker()和place()。
调用格式为:K=acker(A,C,P) 用于单输入单输出系统其中:A ,B 为系统矩阵,P 为期望极点向量,K 为反馈增益向量。
K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统。
Prec 为实际极点偏离期望极点位置的误差;message 是当系统某一非零极点偏离期望位置大于10%时给出的警告信息。
3. 极点配置步骤:(1)获得系统闭环的状态空间方程;(2)根据系统性能要求,确定系统期望极点分布P ;(3)利用MATLAB 极点配置设计函数求取系统反馈增益K ; (4)检验系统性能。
已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能观性,从输入输出数据确定。
不足:初始状态不精确,模型不确定。
思路:构造一个系统,输出逼近系统状态称为是的重构状态或状态估计值。
实现系统状态重构的系统称为状态观测器。
观测器设计状态估计的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反馈校正思想来实现状态重构。
通过误差来校正系统:状态误差,输出误差。
基于观测器的控制器设计系统模型若系统状态不能直接测量,可以用观测器来估计系统的状态。
L是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
上海理工大学毕业设计(论文)基于最优估算的调速状态观测器的设计及研究摘要状态反馈是现代控制理论中一种非常重要的控制规律。
在工程实践中,当状态变量不能直接检测时,通常构造系统的渐近状态观测器来重构系统的状态以实现状态反馈。
我们经常看到书中,状态观测器的设计都是默认系统的输出完全可测。
然而,在工程实践中,由于物理或经济条件所限,某些控制系统的输出变量并不能够完全可测。
例如在直流调速系统中,负载转矩作为一个外加扰动量而存在。
但是对负载转矩的测量是十分困难的,由此我们可以利用负载转矩观测器估值,实现对转矩的测量,从而实现对转矩变化的扰动补偿。
而对于现有的电动机,安装测速发电机不仅麻烦而且不经济。
由此,我们可以利用状态观测器分别对转速和负载转矩进行状态重构,并且用重构的状态进行状态反馈,从而使调速系统更经济、更具抗扰性。
关键词:状态观测器,状态反馈,最优估算I基于最优估算的调速状态观测器的设计与研究BASED ON THE OPTIMAL ESTIMATION SPEED CONTROL SYSTEM STATE OBSERVER DESIGN AND RESEARCHABSTRACTState feedback is a kind of very important control law in the modern control theory. In the engineering practice, when the state variables can not be measured directly, they are usually constructed by the asymptotic state observer of the system to realize the state feedback. In the past literatures, when designing the state observers, authors always took it for granted that the output variables could be measured completely. However, in the engineering practices, limited by the physical or economic conditions, the output variables of some control systems could not be measured completely. We take the DC converter system for an example, the load-torsion is seemed as an additional disturbance. But it difficult for us to measure it, thus we can get use of the state observer to reconstruct the load-torsion. For the existing DC motor, it is hard and less economic for us to equip speed-measuring machine. Thus we need to design a state observer to estimate speed and the load torsion, and the estimation will be used as the plant of the state feedback, and doing this can make the system more economic and be more anti-disturbance.KEYWORDS: state observers, state feedback , optimal estimationII上海理工大学毕业设计(论文)目录中文摘要ABSTRACT第一章状态观测器及其应用 (1)1.1 状态观测器 (1)1.1.1全阶观测器的设计准则 (3)1.1.2全阶观测器的系统分析 (4)1.1.3观测器的极点配置 (5)1.1.4降阶观测器 (5)1.1.5进一步的讨论 (7)1.2 直流调速系统中状态观测器的应用 (8)第二章系统各部分介绍及设计内容 (10)2.1 直流电动机 (10)2.2 桥式可逆PWM变换器 (11)2.3 PWM控制器 (12)2.4 转速、负载转矩调节器的设计 (14)2.5 降阶状态观测器的设计 (18)第三章系统各部分介绍及设计内容 (22)3.1 MATLAB/SIMULINK简介 (22)3.2 基于MATLAB的控制系统仿真及分析 (22)第四章小结 (27)谢辞 (28)参考文献 (29)附录外文资料翻译 (30)原文 (30)译文 (38)III上海理工大学毕业设计(论文)- 1 -第一章 状态观测器及其应用带状态观测器的状态反馈系统引入状态反馈可以得到较好的系统性能,而实现状态反馈的前提是状态变量必须能用传感器测量得到。
基于MATLAB的状态观测器设计预备知识:极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=CxyBuAxx&若系统是完全可控的,则可引入状态反馈调节器,且:Kxuinput-=这时,闭环系统的状态空间模型为:⎩⎨⎧=+-=CxyBux)BKA(x&2. 极点配置的MATLAB函数在MATLAB控制工具箱中,直接用于系统极点配置的函数有acker()和place()。
调用格式为:K=acker(A,C,P) 用于单输入单输出系统其中:A,B为系统矩阵,P为期望极点向量,K为反馈增益向量。
K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统。
Prec为实际极点偏离期望极点位置的误差;message是当系统某一非零极点偏离期望位置大于10%时给出的警告信息。
3. 极点配置步骤:(1)获得系统闭环的状态空间方程;(2)根据系统性能要求,确定系统期望极点分布P;(3)利用MATLAB极点配置设计函数求取系统反馈增益K;(4)检验系统性能。
已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能观性,从输入输出数据确定。
不足:初始状态不精确,模型不确定。
思路:构造一个系统,输出逼近系统状态称为是的重构状态或状态估计值。
实现系统状态重构的系统称为状态观测器。
观测器设计状态估计的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反馈校正思想来实现状态重构。
通过误差来校正系统:状态误差,输出误差。
基于观测器的控制器设计系统模型若系统状态不能直接测量,可以用观测器来估计系统的状态。
L是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
ComputerKnowledgeandTechnology电脑知识
与技术
本栏目责任编辑:唐一东人工智能及识别技术第7卷第22期(2011年8月)
基于全维状态观测器的视频球体跟踪杨守建,李宏(宁波大学信息科学与工程学院,浙江宁波315211)摘要:视频目标跟踪是计算机领域的一核心内容,该文构造一种全维状态观测器以实现在静态无噪声基础上对运动单目标的跟踪。在MATLAB环境下,运用图像处理技术,将从图像中提取目标球体;对目标球体进行分析找出若干跟踪参数;基于找出的跟踪参数,建立状态空间方程;最后构建全维状态观测器,实现对球体目标的跟踪。实验表明,全维状态观测器能很好地实现运动目标的跟踪,其跟踪精度主要取决于极点配置的好坏。
关键词:视频目标跟踪;全维状态观测器;MATLAB中图分类号:TP18文献标识码:A文章编号:1009-3044(2011)22-5430-03VideoSphericalTargetTrackingUsingFullStateObserverYANGShou-jian,LIHong(FacltyofInformationScienceandEgineering,NingboUniversity,Ningbo315211,China)Abstract:Videotargettrackingisacoreelementofthecomputerfield.Inthispaper,trytoconstructafullstateobservertorealizethesinglemovingtargettracking.Advantageofthisapproachlieswithavoidanceofhypothesisforthestochasticnoiseuncertaintiesexistinginprocess’dynamics.IntheMATLABenvironment,usingimageprocessingtechnology,thetargetisextractedfromtheimage;thenanalyz-ingtoidentifyballtrackingparameters;thenthestatespaceequationisfound;Finally,basedonfullstateobservertheory,theballcanbetracked.Theresultshowsthatfullstateobservercanbegoodformovingtargettracking,thetrackingaccuracydependsonthepoleplace-ment.ThereforeFullStateObserverisanalternativevideotrackingmethod.
Keywords:videotargettracking;fullstateobserver;MATLAB视频运动目标检测与跟踪,是指对视场内的运动目标进行实时的观测,并在此基础上分析被观测对象的行为。运动目标检测与跟踪的研究对象是视频序列或图像序列。这种技术的研究主要涉及到运动目标的检测与提取,运动目标跟踪,运动目标识别,运动目标行为分析和理解等诸多内容。运动目标视频跟踪,始于视频目标的检测,然后通过一定的算法,达到视频跟踪的效果。近些年来,随着智能监控系统在实际中的广泛应用,运动目标检测与跟踪技术得到了快速发展。运动目标视频跟踪,在视频监控、军事制导、医疗诊断、人机交互、以及基于视频的运动分析和合成等许多方面有着广泛的应用前景[1]。目前运动目标跟踪的算法很多,经典算法有卡尔曼滤波算法、粒子滤波算法和MeanShift算法。本文构造一种全维状态观测器以实现在动态无噪声基础上对运动单目标的跟踪。实验表明,全维状态观测器能很好地实现运动目标的跟踪,是一种可供选择的视频跟踪方法。1总体方案设计
本文总体设计思想:给定一段包含运动球体目标的视频文件;运用图像处理技术,将从图像中提取目标球体;对目标球体进行分析找出若干跟踪参数;基于找出的跟踪参数,建立状态空间方程;最后构建全维状态观测器,实现对球体目标的跟踪。本文研究重点是引入全维状态观测器实现在静止背景下视频目标跟踪中的预测步骤,而全维状态观测器利用反馈很好的实现了估计状态和实际状态的无限逼近。总体设计流程如图1。2运动目标检测
在运动目标检测中,采用背景差分法。该方法首先存储背景图像,然后将前景图像与背景图像作差。由于运动物体在灰度上与背景存在着明显差异,作差后的差值图像只在运动物体处有较大的灰度值。选取合适的阈值T,当差值图像的灰度值大于T,视为前景物体;灰度值小于T,则视为背景点[2]。背景差分流程如图2所示,具体实现过程分如下
三步:
收稿日期:2011-05-15基金项目:宁波市服务型重点专业建设资助(010-A00083094702)作者简介:杨守建(1989-),男,浙江长兴人,研究方向为电气自动化,人工智能;李宏,男,浙江宁波人,副教授,研究生导师,研究方向为电路与系统,集成电路。
图1总体设计流程图2背景差分法原理流程图
E-mail:eduf@cccc.net.cnhttp://www.dnzs.net.cnTel:+86-551-56909635690964
ISSN1009-3044ComputerKnowledgeandTechnology电脑知识
与技术
Vol.7,No.22,August2011.
5430ComputerKnowledgeandTechnology电脑知识
与技术
人工智能及识别技术本栏目责任编辑:唐一东
第7卷第22期(2011年8月)1)统计法获取背景图像。
读入一段视频,对某一像素点进行观察,在没有前景的运动目标通过时,该点的灰度值基本保持稳定,当有前景的运动目标通过时,该点的灰度才发生剧烈变化。因此可连续读入N帧图像,对图像各点的灰度进行统计,滤去变化剧烈的灰度,取灰度的平均值作为背景图像的灰度[3-4]。本文在特定的时间段内对像素点的灰度取平均值,用这个平均值作为背景图像对应像素点的灰度。通过下面的语句获取了背景图像,开始5帧内被跟踪的目标还未出现。Im0=double(imread('ball0.jpg','jpg'));Im1=double(imread('ball1.jpg','jpg'));Im2=double(imread('ball2.jpg','jpg'));Im3=double(imread('ball3.jpg','jpg'));Im4=double(imread('ball4.jpg','jpg'));Imback=(Im0+Im1+Im2+Im3+Im4)/5;2)运动目标的检测
运动目标的检测就是在当前帧图像中提取出运动目标。如果背景图像是静止的,即不随时间发生变化,而具有运动目标的图像除了运动目标区域的像素值发生变化,其余属于背景的部分保持不变[5]。本文视频图像刚好符合这种情况,因此利用背景差分法获取目标小球。当前帧图像为I,背景图像为B,阈值为T时,背景差分二值图像为:
(1)这样灰度值为1的像素点可视为前景的运动目标点。本文选择T=10,效果较好。首先,当前帧图像与背景图像作差,然后根据(1)式对差分图像进行二值化,代码如下:fore=zeros(MR,MC);fore=([Imwork(:,:,1)-Imback(:,:,1)]>10)...|([Imwork(:,:,2)-Imback(:,:,2)]>10)...|([Imwork(:,:,3)-Imback(:,:,3)]>10);3)图像后期处理
由于噪声的影响,会使一些背景点被错误地检测为前景点。背景中黑白交界处出现了误检测。在小球轮廓处也存在明显的一些突刺和凹陷。为了消除这些影响,准确获得目标小球,必须将这些噪声去掉。用bwmorph做二值图像形态学运算对差分图像作腐蚀处理[7],代码是foremm=bwmorph(fore,'erode',2)。第24帧图像腐蚀前后的效果如图2所示。可见腐蚀后效果明显好了很多,由此提取目标小球的操作已经完成。在实现了获取目标小球后,再得到小球的质心作为观测数据。MATLAB提供了很好的函数实现此目的。3构造全维状态观测器实现目标跟踪
首先,根据运动模型列出跟踪目标的运动方程,确定系统的A、B、C阵;其次,判断系统的可观测性;最后,合理配置系统极点,保证系统的稳定性[6]。状态观测器及其实现状态反馈结构图如图3所示。被控系统和模拟被控的动态方程分别为:(2)
(3)其中A=[10dt0;010dt;0010;0001];Bu=[0;0;0;g];C=[1000;0100](dt=0.001;g=9.8)全维状态观测器动态方程:(4)(5)式中(A-HC)称为观测器系统矩阵。构造的状态观测器属于输出至状态微分的反馈,用输出至状态微分的反馈任意配置闭环极点的充分必要条件是被控系统可观测[6]。而线性定常连续系统完全可观测的充分必要条件是
(6)经检验,系统是可观测的。系统的极点可以任意配置,但是为了保证系统的稳定性和良好的动态性能,极点的配置要在理论和经验的基础上慢慢调整,以期达到最好的效果。判断可观测性及其配置极点的操作可通过如下代码实现[7-8]:
(a)腐蚀前(b)腐蚀后
图2第24帧图像腐蚀前后效果图
图3状态观测器及其实现状态反馈结构图
5431