我是靠谱客的博主 优雅书包,最近开发中收集的这篇文章主要介绍[滑模控制器浅述] (1) 二阶系统的简单滑模控制器设计[滑模控制器浅述] (1) 二阶系统的简单滑模控制器设计,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

[滑模控制器] (1) 二阶系统的简单滑模控制器设计

  • [滑模控制器] (1) 二阶系统的简单滑模控制器设计
    • 1 前言
    • 2 无人机位置环的滑模控制器设计

[滑模控制器] (1) 二阶系统的简单滑模控制器设计

本博客需要一些现代控制理论中Lyapunov稳定性的一些理论知识。
关于滑模控制的原理这里将不再赘述,读者们可以参考别的理论文献,会有很长的故事,这里将主要从数学和稳定性的角度,利用笔者浅薄的知识,为各位读者最通俗易懂的浅述滑模控制器的简单设计。
这将会是一个系列博客(如果笔者不咕咕咕),后面还会对滑模控制的抗干扰原理介绍,以及介绍几种笔者用过的近年来改良的滑模控制器。
[滑模控制器] (2) 滑模控制抗干扰原理
[滑模控制器] (3) 滑模控制抗系统参数不定原理
[滑模控制器] (4) Terminal滑模及其与普通滑模收敛速度比较
[滑模控制器] (5) 基于分层滑模的吊车控制

1 前言

本文将针对二阶系统,即输入直接改变目标的加速度(被控量的二阶导数),控制目标是位置状态的跟踪,如果你没有一个合适的研究对象,可以选取多旋翼无人机,笔者的前文对其有较为详细的介绍,本文将以无人机的位置控制为例,控制器设计的方法同样可以推广到别的系统上去:
MATLAB Simmechanics/Simscope四旋翼无人机控制仿真(3) 无人机控制器设计

2 无人机位置环的滑模控制器设计

关于无人机的数学模型和控制原理逻辑可以参考前面提到的系列博客。
考虑无人机 x x x方向位置状态方程:
{ x ˙ = x ˙ x ¨ = u x u 1 m left{ begin{matrix} dot{x}=dot{x} \ ddot{x}=frac{{{u}_{x}}{{u}_{1}}}{m} \ end{matrix} right. {x˙=x˙x¨=muxu1 x 1 = x {{x}_{1}}=x x1=x x 2 = x ˙ {{x}_{2}}=dot{x} x2=x˙
{ x ˙ 1 = x 2 x ˙ 2 = u x u 1 m left{ begin{matrix} & {{{dot{x}}}_{1}}={{x}_{2}} \ & {{{dot{x}}}_{2}}=frac{{{u}_{x}}{{u}_{1}}}{m} \ end{matrix} right. {x˙1=x2x˙2=muxu1定义误差:
e 1 = x 1 d − x 1 {{e}_{1}}=x_{1}^{d}-{{x}_{1}} e1=x1dx1考虑滑模面, c > 0 c>0 c>0
s = e ˙ 1 + c e 1 s={{dot{e}}_{1}}+c{{e}_{1}} s=e˙1+ce1求导:
s ˙ = e ¨ 1 + c e ˙ 1 = x ¨ 1 d − x ˙ 2 + c e ˙ 1 dot{s}={{ddot{e}}_{1}}+c{{dot{e}}_{1}}=ddot{x}_{1}^{d}-{{dot{x}}_{2}}+c{{dot{e}}_{1}} s˙=e¨1+ce˙1=x¨1dx˙2+ce˙1设计趋近律, ε > 0 varepsilon >0 ε>0 r > 0 r>0 r>0
s ˙ = − ε s g n ( s ) − r s dot{s}=-varepsilon sgn left( s right)-rs s˙=εsgn(s)rs根据上面两式,可以求解输入:
x ¨ 1 d − x ˙ 2 + c e ˙ 1 = − ε s g n ( s ) − r s x ¨ 1 d − u x u 1 m + c e ˙ 1 = − ε s g n ( s ) − r s u x = m x ¨ 1 d + ε s g n ( s ) + r s + c e ˙ 1 u 1 begin{aligned} ddot{x}_{1}^{d}-{{{dot{x}}}_{2}}+c{{{dot{e}}}_{1}}=-varepsilon sgn left( s right)-rs \ ddot{x}_{1}^{d}-frac{{{u}_{x}}{{u}_{1}}}{m}+c{{{dot{e}}}_{1}}=-varepsilon sgn left( s right)-rs \ {{u}_{x}}=mfrac{ddot{x}_{1}^{d}+varepsilon sgn left( s right)+rs+c{{{dot{e}}}_{1}}}{{{u}_{1}}} end{aligned} x¨1dx˙2+ce˙1=εsgn(s)rsx¨1dmuxu1+ce˙1=εsgn(s)rsux=mu1x¨1d+εsgn(s)+rs+ce˙1对于本滑模控制,其稳定性分析不是考虑状态量,而是考虑滑模面,考虑如下Lyapunov函数:
V = 1 2 s 2 V=frac{1}{2}{{s}^{2}} V=21s2求导:
V ˙ = s s ˙ = − ε s s g n ( s ) − r s 2 = − ε ∣ s ∣ − r s 2 < 0 begin{aligned} & dot{V}=sdot{s} \ & =-varepsilon s sgn left( s right)-r{{s}^{2}} \ & =-varepsilon left| s right|-r{{s}^{2}}<0 end{aligned} V˙=ss˙=εssgn(s)rs2=εsrs2<0 s s s是收敛的,而且这是在设计滑模趋近律 s ˙ dot{s} s˙的时候就已经决定的,说明有 s → 0 sto 0 s0,即 e ˙ 1 + c e 1 → 0 {{dot{e}}_{1}}+c{{e}_{1}}to 0 e˙1+ce10,这又说明了什么呢?说明 e ˙ 1 {{dot{e}}_{1}} e˙1 e 1 {{e}_{1}} e1正负异号,最终必同时有 e ˙ 1 → 0 {{dot{e}}_{1}}to 0 e˙10 e 1 → 0 {{e}_{1}}to 0 e10。从而实现状态量的跟踪,因此不用直接分析误差的Lyapunov函数。
这里笔者就偷懒不放仿真曲线了,因为手边现在没有现成的,不过效果当然是会跟踪上期望的状态。
值得一提的是,这里的参数 c c c能够影响 e 1 {{e}_{1}} e1 e ˙ 1 {{dot{e}}_{1}} e˙1的收敛速度, c c c越大, e 1 {{e}_{1}} e1收敛的相比较 e ˙ 1 {{dot{e}}_{1}} e˙1而言是越快的,反之亦然。
还有别的常用趋近律:
s ˙ = − ε s g n ( s ) ε > 0 begin{matrix} dot{s}=-varepsilon sgn left( s right) & varepsilon >0 \ end{matrix} s˙=εsgn(s)ε>0
s ˙ = − r s r > 0 begin{matrix} dot{s}=-rs & r>0 \ end{matrix} s˙=rsr>0

s ˙ = − ε ∣ s ∣ α s g n ( s ) ε > 0 , 0 < α < 1 begin{matrix} dot{s}=-varepsilon {{left| s right|}^{alpha }}sgn left( s right) & varepsilon >0,0<alpha <1 \ end{matrix} s˙=εsαsgn(s)ε>0,0<α<1他们其中的项也可以交叉使用。

最后

以上就是优雅书包为你收集整理的[滑模控制器浅述] (1) 二阶系统的简单滑模控制器设计[滑模控制器浅述] (1) 二阶系统的简单滑模控制器设计的全部内容,希望文章能够帮你解决[滑模控制器浅述] (1) 二阶系统的简单滑模控制器设计[滑模控制器浅述] (1) 二阶系统的简单滑模控制器设计所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部