主要内容

이페이지의최신내용은번역되지않았습니다。최신최신내용은영문영문으로볼수수

확장칼만필터를사용한한결함

이예제에서는결함검출을위해확장필터를사용하는방법을줍니다。이예제에서는간단한한모터의마찰을온라인추정위해확장칼만필터사용합니다。추정된마찰에유의미가감지되고이는결함을나타냅니다。이예제에서에서系统识别工具箱™의의기능사용용,预测维护工具箱™는는하지않습니다。

모터모델

모터는u로구동되며감쇠계수계수를관성관성됩니다됩니다모델링모델링됩니다。모터각속도w와가속도 W. ˙ 는측정된출력값입니다。

W. ˙ = - C W. / j

확장칼만필터를사용하여하여계수를추정하기감쇠계수의보조를도입그도함수

C ˙ = 0.

따라서모델x = [w; c]와측정값y의방정식다음과같습니다。

[ W. ˙ C ˙ ] = [ - C W. / j 0. ]

y = [ W. - C W. / j ]

연속연속방정식은은사 X ˙ = X N + 1 - X N T. S. 을사용하여이산시간으로변환됩니다。여기서ts는이산샘플링주기입니다。이이이산시간모델방정식은pdmmotormodelstatefcn.m.함수와pdmmotormodelmeasurementfcn.m.함수에구현됩니다。

[ W. N + 1 C N + 1 ] = [ W. N + N - C N W. N T. S. / j C N ]

y N = [ W. N N - C N W. N / j ]

모터파라미터를지정합니다。

j = 10;%惯性ts = 0.01;% 采样时间

초기상태를지정합니다。

x0 = [......0;......% 角速度1];% 摩擦类型pdmmotormodelstatefcn.
功能x1 = pdmmotormodelstatefcn(x0,varargin)%pdmmotormodelstatefcn%upsytey状态更新的电机与摩擦为一个状态%% x1 = pdmmotormodelstatefcn(x0,u,j,ts)%inclue:%x0  - 具有元素的初始状态[角速度;摩擦]%U  - 电动机扭矩输入%J  - 电动机惯量%TS  - 采样时间%%输出:%X1  - 更新状态%%2016-2017 MathWorks,Inc.%从输入中提取数据u = varargin {1};%输入j = varargin {2};%system innertia ts = varargin {3};%采样时间%状态更新等式x1 = [... x0(1)+ ts / j *(u-x0(1)* x0(2));... x0(2)];结尾
类型pdmmotormodelmeasurementfcn.
功能y = pdmmotormodelmeasurementfcn(x,varargin)%pdmmotormodelmeasurementfcn%的电动机的测量方程,其具有摩擦的电动机作为状态%y = pdmmotormodelmeasurementfcn(x0,u,j,ts)%epce:%x  - 带元素的电机状态[角度速度;摩擦]%U  - 电动机扭矩输入%J  - 电动机惯量%TS  - 采样时间%%输出:%Y  - 电机测量与元素[角速度;角度加速度]%%2016-2017 MathWorks,Inc.%从输入中提取数据u = varargin {1};%输入j = varargin {2};%system interia%输出方程y = [... x(1);...(U-X(1)* x(2))/ J];结尾

모터에는상태(공정)잡음외란q와측정외란이외란가해집니다。잡음항은가산성입니다。

[ W. N + 1 C N + 1 ] = [ W. N + N - C N W. N T. S. / j C N ] + 问:

y N = [ W. N N - C N W. N / j ] + R.

공정및측정잡음은평균0e [q] = e [r] = 0과공분산q = e [qq']r = e [rr']을갖습니다。마찰상태는높은공정잡음외란을갖습니다。이는모터가정상적으로작동하는동안마찰변동이있을것으로예상하며필터가이변동을추적하기를한다는점반영합니다。가속도및속도상태잡음낮지만낮지만및가속도측정값은은으로이많습니다잡음잡음잡음에。

공정잡음공분산을지정합니다。

q = [......1E-6 0;......% 角速度0 1E-2];% 摩擦

측정잡음공분산을지정합니다。

r = [......1E-4 0;......%速度测量0 1E-4];%加速度测量

확장칼만필터생성하기

모델의상태를추정하기위해확장칼만필터를만듭니다。감쇠감쇠값의급변화는결함이벤트를를감쇠감쇠에관심이있습니다。

ExtendedKalmanFilter.객체를만들고상태천이및측정함수의야코비행렬을지정합니다。

EKF = ExtendedKalmanFilter(......@pdmmotormodelstatefcn,......@pdmmotormodelmeasurementfcn,......x0,......'statecovariance',[1 0;0 1000],......[1 0 0;0 1 0;0 0 100],...'processnoise',q,......'MeasurementNoise',r,......'stateTransitionJacobianfcn',@pdmotormodelstatejacobianfcn,......'measurementjacobianfcn',@pdmotormodelmeasjacobianfcn);

확장칼만필터는에서정의상태상태이및측정함수를입력인수로로로。초기상태값X0.,초기상태공분산,공정공정및측정잡음공분산도확장칼만필터의입력값값칼만필터의입력값이예제에서는상태이함수F와측정함수H에서에서정확한야코비야코비행렬함수도출할수수를도출할수

X F = [ 1 - T. S. C N / j - T. S. W. N / j 0. 1 ]

X H = [ 1 0. - C N / j - W. N / j ]

상태야코비행렬은pdmmotormodelstatejacobianfcn.m.함수함수에정의되어되어있고야코비야코비pdmmotormodelmeasjacobianfcn.m.함수에정의되어있습니다。

类型pdmmotormodelstatejacobianfcn.
功能Jac = PDMMotormodelStateJacobianFCN(x,varargin)%pdmmotormodelstatejacobianfcn%jacobian电机模型状态方程。请参阅pdmmotormodelstatefcn for%模型方程。%% jac = pdmmotormodeljacobianfcn(x,u,j,ts)%%输入:%x  - 具有元素[角速度;摩擦]%U  - 电动机扭矩输入%J  - 电动机惯量%TS  - 采样时间%%产出:%Jac  - 状态雅比尼亚在X%%的x%%2016-2017计算MathWorks,Inc.%模型属性J = varargin {2};ts = varargin {3};%jacobian jac = [... 1-ts / j * x(2)-ts / j * x(1);... 0 1];结尾
类型pdmmotormodelmeasjacobianfcn.
功能J = PDMMOTORMODELMEAJACOBIANFCN(X,VARARGI)%PDMMOTORMODELMEASJACOBIANFCN%jacobian电机模型测量方程。有关模型方程,请参阅%pdmmotormodelmeasurementfcn。%jac = pdmmotormodelmeasjacobianfcn(x,u,j,ts)%%输入:%x  - 具有元素[角速度;摩擦]%U  - 电动机扭矩输入%J  - 电动机惯量%TS  - 采样时间%%%产出:%Jac  - 测量雅各比斯在X%%版权所有2016-2017 MathWorks,Inc.%系统参数J = varargin {2}。;%system interia%jacobian j = [... 1 0;-x(2)/ j -x(1)/ j];结尾

시뮬레이션.

플랜트를시뮬레이션하기하기위해루프를만들고모터에(모터모터마찰의의급한한)을을시킵니다。아이션루프루프안에서확장칼만를를용하여상태를추정하고하고에마찰상태를추적하여마찰통계적으로유의미한가발생발생하는을합니다한변화변화변화변화변화변화변화변화변화변화변화변화변화변화한변화변화변화변화변화변화한변화변화변화〗。

모터는모터를반복으로가속및및감속하는펄스열사용하여시뮬레이션됩니다。이러한유형유형의모터작동은생산라인의선택기로봇에서전형적으로볼수수전형으로으로볼수

T = 0:TS:20;%时间,20S有TS采样周期U = DOUBLE(MOD(T,1)<0.5)-0.5;%脉冲火车,第1期,50%占空比nt = numel(t);%时间点数nx = size(x0,1);%的国家数量ysig = zeros([2,nt]);%测量电机输出xsigtrue = zeros([nx,nt]);%未测量的电机状态xsigest =零([nx,nt]);%估计的电机状态xstd = zeros([nx nx nt]);估计州的%标准偏差ysigest = zeros([2,nt]);%估计模型输出fmean =零(1,nt);%平均估计摩擦fstd = zeros(1,nt);估计摩擦的%标准偏差FKUR =零(2,NT);估计摩擦的%Kurtosis效率=假(1,NT);%标志表示摩擦变化检测

모터를시뮬레이션할할때는확장칼만칼만를생성할사용q및r잡음공분산값과비슷한공정측정측정을을가합니다。마찰마찰경우,마찰은결함이발생하는하는경우를제외하고대부분일정훨씬훨씬잡음잡음값을을을합니다시뮬레이션중중에인공적으로결함을유발。

RNG('默认');qv = chol(q);工艺噪声的%标准偏差QV(END)= 1E-2;摩擦噪声较小rv = chol(r);测量噪声的%标准偏差

상태업데이트방정식을사용하여모델을이션하고,모델상태에공정잡음을가합니다。시뮬레이션을시작한지10초가지나면지나면마찰에변화를줍니다。모델측정함수를사용하여모터센서시뮬레이션하고,모델출력값에측정잡음가합니다。

为了ct = 1:numel(t)%型号输出更新y = pdmmotormodelmeasurementfcn(x0,u(ct),j,ts);Y = Y + RV * RANDN(2,1);%添加测量噪声ysig(:,ct)= y;%模型状态更新xsigtrue(:,ct)= x0;x1 = pdmmotormodelstatefcn(x0,u(ct),j,ts);%诱导摩擦变化如果t(ct)== 10 x1(2)= 10;%步骤改变结尾x1n = x1 + qv * randn(nx,1);%添加过程噪声x1n(2)= max(x1n(2),0.1);摩擦下限较低x0 = x1n;下次仿真迭代的%存储状态
10.450000的显着摩擦变化

모터모터측정값으로부터모터모터상태를추정하기위해확장칼만필터预测명령과正确的명령을사용합니다。

使用扩展的卡尔曼滤波器%状态估计x_corr =正确(EKF,Y,U(CT),J,TS);%基于当前测量校正状态估计。xsigest(:,ct)= x_corr;xstd(:,:,ct)= chol(ekf.statecovariance);预测(EKF,U(CT),J,TS);百分比预测下一个状态给出当前状态和输入。

마찰의변화를감지하기,추정된마찰의평균및표편차를4초이동윈도우를사용용계산계산첫7초가지난지난에,계산된평균및표준편차고정합니다。처음에계산된이평균은은마찰에대해예상되는결함(无故障)평균평균입니다。7초가지난후에,추정된마찰이예상예상없음평균에서에서많이많있다면이는있다면마찰는마찰의유의미를를를를를를를를를를를를를를를를를를를를를를를를추정된마찰에포함된과변동성의영향을이고자,3표준편차범위와할는추정추정마찰의을을사용합니다。

如果t(ct)<7%计算估计小说的平均值和标准偏差。IDX = MAX(1,CT-400):MAX(1,CT-1);%ts = 0.01秒fmean(ct)=均值(xsigest(2,Idx));FSTD(CT)= STD(Xsigest(2,IDX));别的%存储计算的均值和标准偏差%重新计算。FMEAN(CT)= FMEAN(CT-1);FSTD(CT)= FSTD(CT-1);%使用预期的摩擦均值和标准偏差来检测%摩擦变化。estfriction =平均值(xsigest(2,max(1,ct-10):ct));效率(CT)=(estfriction> fmean(ct)+ 3 * fstd(ct))||(estfriction 结尾如果效率(CT)&&〜效率(CT-1)%检测摩擦变化信号中的上升沿|效率。fprintf('%f \ n'的显着摩擦变化,t(ct));结尾

추정추정상태를사용하여추정된출력값을합니다계산。측정된출력값과추정된출력값사이의오차를계산하고,오차통계량을계산합니다。오차통계량은마찰변화를하는하는사용할수있습니다。이부분은뒤에서더자세히합니다합니다합니다。

ysigest(:,ct)= pdmmotormodelmeasurementfcn(x_corr,u(ct),j,ts);IDX = MAX(1,CT-400):CT;FKUR(:,CT)= [......kurtosis(ysigest(1,Idx)-ysig(1,Idx));......kurtosis(ysigest(2,Idx) -  agsig(2,Idx))];结尾

확장칼만필터의성능

10.45초에서마찰변화가감지되었다는점에유의하십시오。이번에는이결함검출규칙이어떻게도출되었는지설명합니다。먼저시뮬레이션결과결과와와필터성능검토검토검토

图,子图(211),plot(t,ysig(1,:),t,ysig(2,:));标题('电机输出') 传奇('测量角速度''测量角度加速''地点''西南')子图(212),绘图(t,u);标题('电机输入 - 扭矩'

확장칼만필터사용하면하면,그중에서도특히마찰상태를할있습니다。실제실제모델상태와와추정상태를비교비교추정된상태를3표준편차에해당하는과함께표시했습니다。

图,子图(211),plot(t,xsigtrue(1,:),t,xsigest(1,:),......[t nan t],[xsigest(1,:) + 3 *挤压(xstd(1,1,:))',nan,xsigest(1,:)  -  3 *挤压(xstd(1,1,:))'])轴([0 20 -0.06 0.06]),传奇('真实价值''估计的价值''置信区间') 标题('电机状态 - 速度')子平板(212),绘图(t,xsigtrue(2,:),t,xsigest(2,:),......[t nan t],[xsigest(2,:) + 3 *挤压(xstd(2,2,:))'nan xsigest(2,:)  -  3 *挤压(xstd(2,2,:)''])轴([0 20 -10 15])标题('电机状态 - 摩擦');

00추정오차를를검토하면하면동작을더상세히상세히살펴볼수수

图,子图(211),plot(t,xsigtrue(1,:) -  xsigest(1,:))标题('速度状态错误')子图(212),plot(t,xsigtrue(2,:) -  xsigest(2,:))标题('摩擦状态错误'

오차플롯은10초에서발생하는변화후에필터가적응하여추정오차를0으로줄임을보여줍니다。그러나그러나오차플롯은실제상태를알고있어야도출할수수결함검출사용할할수수가속도및및속도의의측정상태값을추정된상태과비교하면검출검출메커니즘도출이것이가능할있습니다있습니다。

图形子图(211),plot(t,ysig(1,:)  -  ysigest(1,:))标题('速度测量错误')子平板(212),plot(t,ysig(2,:) -  ysigest(2,:))标题('加速度测量误差'

가속도오차결함결함이발생한10초부근에서평균에약간에이가있음을보여줍니다。오차오차통계량을검토,계산계산된오차에서결함을검출할있는지있는지가속도및및속도오차는정규분포를따를것으로예상(잡음잡음은모두가우스분포분포)。따라서가속도오차의첨도오차오차가마찰마찰변화및그로인한분포의변화로인인에서비대칭으로바뀌는시점시점을도움도움도움에이될수있습니다。

图,子图(211),plot(t,fkur(1,:))标题('速度错误kurtosis')子图(212),绘图(t,fkur(2,:))标题('加速误差kurtosis'

추정기가아직수렴중이고데이터가수집되고되고있는처음처음무시하면,오차의첨도는3(가우스우스분포의예상첨도이부근약간이있으면서비교적일정한것을수있습니다있습니다수있습니다。따라서오차통계량은이응용분야에서마찰변화를자동감지하는데사용할할없습니다。이응용분야에서는오차의를사용하기도어렵습니다。필터가적응하고있고지속으로오차를0에가깝게만들고만들고있어서오차가0이아닌아닌윈도우가매우짧기때문입니다。

따라서이응용분야에서는추정마찰의변화사용하는이모터의결함을자동으로가장좋은방법이됩니다하는가장알려진결함없음데이터에서얻어진마찰추정값(평균및표준편차)은마찰에대한예상범위를하며,범위를위반한경우쉽게할수있습니다있습니다있습니다있습니다있습니다수수수수다음플롯에서는이결함검출접근방식을보여줍니다。

图绘图(t,xsigest(2,:),[t nan t],[fmean + 3 * fstd,nan,fmean-3 * fstd]标题('摩擦变化检测') 传奇('估计摩擦''无故障摩擦界')轴([0 20 -10 20])网格

요약

이예제에서는확장칼만필터를사용하여간단한dc모터의결함을하고하고검출위해마찰추정값사용하는위해마찰보여보여보여을을방법마찰을보여보여

관련항목