• 【Paper】2013_Attitude and Altitude Controller Design for Quad-Rotor Type MAVs


    2013_Attitude and Altitude Controller Design for Quad-Rotor Type MAVs

    1. Introduction

    2. Controlled object

    3. Attitude modeling and controller design

    3.1 Attitude modeling

    τ = J ϕ ¨ (1) \tau = J \ddot{\phi} \tag{1} τ=Jϕ¨(1)

    其中
    τ \tau τ 表示转矩向量
    J J J 表示转动惯量
    ϕ \phi ϕ 表示姿态欧拉角

    G u ϕ ( s ) = ϕ ( s ) u ( s ) = k J ( 1 + T s ) s 2 (2) G_{u\phi}(s) = \frac{\phi(s)}{u(s)} = \frac{k}{J(1+Ts)s^2} \tag{2} Guϕ(s)=u(s)ϕ(s)=J(1+Ts)s2k(2)
    其中
    u u u 表示控制输入
    k k k 表示系统内部参数
    T T T 表示系统内部参数

    a m = g ϕ + a d (3) a_m = g \phi + a_d \tag{3} am=gϕ+ad(3)
    其中
    g g g 表示重力加速度
    a m a_m am 表示测量的加速度
    a d a_d ad 表示动态加速度

    m a d = m g ϕ − K ∫ a d  d t (4) m a_d = m g \phi - K \int a_d ~ \text{d}t \tag{4} mad=mgϕKad dt(4)
    其中
    K K K 表示空气阻力系数
    m m m 表示质量

    因此,由姿态角到动态加速度的传递函数为
    a d ( s ) = ( m g / K ) s ( m / K ) s + 1 ϕ ( s ) (5) a_d(s) = \frac{(mg/K)s}{(m/K)s+1} \phi(s) \tag{5} ad(s)=(m/K)s+1(mg/K)sϕ(s)(5)

    在这里插入图片描述

    [ x ˙ 1 x ˙ 2 x ˙ 3 x ˙ 4 ] = [ 1 T 0 0 0 1 0 0 0 0 1 0 0 0 g 0 − K m ] [ x 1 x 2 x 3 x 4 ] + [ k J T 0 0 0 ] u [ y 1 y 2 ] = [ 0 1 0 0 0 0 g − 1 ] [ x 1 x 2 x 3 x 4 ] (6)

    [x˙1x˙2x˙3x˙4]=[1T000100001000g0Km][x1x2x3x4]+[kJT000]u[y1y2]=[010000g1][x1x2x3x4]" role="presentation" style="position: relative;">[x˙1x˙2x˙3x˙4]=[1T000100001000g0Km][x1x2x3x4]+[kJT000]u[y1y2]=[010000g1][x1x2x3x4]
    \tag{6} x˙1x˙2x˙3x˙4 [y1y2]= T1100001g0000000mK x1x2x3x4 + JTk000 u=[00100g01] x1x2x3x4 (6)

    其中
    x 1 x_1 x1 表示角加速度
    x 2 x_2 x2 表示角速度
    x 3 x_3 x3 表示角度
    x 4 x_4 x4 表示动态加速度
    y 1 y_1 y1 表示角速度
    y 2 y_2 y2 表示测量的加速度

    在这里插入图片描述

    3.2 MRSMC controller design

    在这里插入图片描述

    3.2.1 Design of the reference model

    x ˙ m = A m x m + B m r y m = C m x m (7)

    x˙m=Amxm+Bmrym=Cmxm" role="presentation" style="position: relative;">x˙m=Amxm+Bmrym=Cmxm
    \tag{7} x˙mym=Amxm+Bmr=Cmxm(7)

    其中
    r r r 表示参考信号

    C m = C , e = x − x m C_m=C, e=x-x_m Cm=C,e=xxm,有
    e ˙ = A x + B u − A m x m − B m r = A x − A m x m + B u − B m r = A x + A m e − A m x + B u − B m r = A m e + ( A − A m ) x + B u − B m r (8)

    e˙=Ax+BuAmxmBmr=AxAmxm+BuBmr=Ax+AmeAmx+BuBmr=Ame+(AAm)x+BuBmr" role="presentation" style="position: relative;">e˙=Ax+BuAmxmBmr=AxAmxm+BuBmr=Ax+AmeAmx+BuBmr=Ame+(AAm)x+BuBmr
    \tag{8} e˙=Ax+BuAmxmBmr=AxAmxm+BuBmr=Ax+AmeAmx+BuBmr=Ame+(AAm)x+BuBmr(8)

    使得系统满足如下条件:
    A m − A = B K 1 B m = B K 2 (9)

    AmA=BK1Bm=BK2" role="presentation" style="position: relative;">AmA=BK1Bm=BK2
    \tag{9} AmABm=BK1=BK2(9)

    那么有
    e ˙ = A m e + ( A − A m ) x + B u − B m r = A m e − B K 1 x + B u − B K 2 r = A m e − B ( K 1 x + K 2 r − u ) (10)

    e˙=Ame+(AAm)x+BuBmr=AmeBK1x+BuBK2r=AmeB(K1x+K2ru)" role="presentation" style="position: relative;">e˙=Ame+(AAm)x+BuBmr=AmeBK1x+BuBK2r=AmeB(K1x+K2ru)
    \tag{10} e˙=Ame+(AAm)x+BuBmr=AmeBK1x+BuBK2r=AmeB(K1x+K2ru)(10)

    为了保证输出 y m y_m ym 追踪到 r r r,即 y m − r → 0 y_m - r \rightarrow 0 ymr0,直流增益参数调整为 1。
    当时间趋于无穷时,最终方程为:
    A m x m + B m r = 0 (11) A_m x_m + B_m r = 0 \tag{11} Amxm+Bmr=0(11)

    此时的输出 y m y_m ym
    y m = − C m A m − 1 B m r = − C m A m − 1 B K 2 r (12)

    ym=CmAm1Bmr=CmAm1BK2r" role="presentation" style="position: relative;">ym=CmAm1Bmr=CmAm1BK2r
    \tag{12} ym=CmAm1Bmr=CmAm1BK2r(12)

    于是 K 2 = ( − C m A m − 1 B ) − 1 K_2 = (-C_m A^{-1}_m B)^{-1} K2=(CmAm1B)1 同时 B m B_m Bm
    B m = B K 2 = B ( − C m A m − 1 B ) − 1 (13)

    Bm=BK2=B(CmAm1B)1" role="presentation" style="position: relative;">Bm=BK2=B(CmAm1B)1
    \tag{13} Bm=BK2=B(CmAm1B)1(13)

    A m = [ − a 1 − a 2 − a 3 0 1 0 0 0 0 1 0 0 0 g 0 − 0.55 ] (14)

    Am=[a1a2a30100001000g00.55]" role="presentation" style="position: relative;">Am=[a1a2a30100001000g00.55]
    \tag{14} Am= a1100a201ga30000000.55 (14)

    本文中参数选择为
    a 1 = 18 a_1 = 18 a1=18
    a 2 = 160 a_2 = 160 a2=160
    a 3 = 600 a_3 = 600 a3=600

    在这里插入图片描述

    3.2.2 Design of the SMC control loop

    ε y = y − y m (15) \varepsilon_y = y - y_m \tag{15} εy=yym(15)

    e ˙ s = [ e ˙ ε ˙ y ] = [ A m 0 C m 0 ] [ e ε y ] + [ B 0 ] u s = A s e s + B s u s (16)

    e˙s=[e˙ε˙y]=[Am0Cm0][eεy]+[B0]us=Ases+Bsus" role="presentation" style="position: relative;">e˙s=[e˙ε˙y]=[Am0Cm0][eεy]+[B0]us=Ases+Bsus
    \tag{16} e˙s=[e˙ε˙y]=[AmCm00][eεy]+[B0]us=Ases+Bsus(16)

    其中 u s = − ( K 1 x + K 2 r − u ) u_s = -(K_1 x + K_2 r - u) us=(K1x+K2ru)

    切换函数 σ ∈ R \sigma \in \R σR 选择为
    σ = S e s σ ˙ = S A s e s − S B s ( K 1 x + K 2 r − u ) (17)

    σ=Sesσ˙=SAsesSBs(K1x+K2ru)" role="presentation" style="position: relative;">σ=Sesσ˙=SAsesSBs(K1x+K2ru)
    \tag{17} σσ˙=Ses=SAsesSBs(K1x+K2ru)(17)

    5. Experiments and experimental results

    5.1 Attitude experiments

    在这里插入图片描述

    5.2 Altitude experiments

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    谷粒商城-day11-仓储管理
    React-RouterV6+AntdV4实现Menu菜单路由跳转
    【FreeRTOS(六)】队列
    MASA Auth - SSO与Identity设计
    职场能力--向上管理
    干货分享 | MindSpore21天实战营手记(四):基于YOLOV3-DarkNet50的篮球检测模型
    版本偏差策略
    基于JAVA框架的企业机械设备智能管理系统的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    向量数据库入坑指南:聊聊来自元宇宙大厂 Meta 的相似度检索技术 Faiss
    matlab simulink汽车优化设计遍历法
  • 原文地址:https://blog.csdn.net/weixin_36815313/article/details/126567528