【控制】四旋翼无人机姿态角分析

搞起来,从建模到控制,再到仿真

Link: 【控制】《多无人机协同控制技术》周伟老师-第3章-面向协同控制的无人机单机控制


1. 坐标系

2. 角度介绍

绕三个轴的旋转值 pitch,yaw,roll 来自航空界的叫法,翻译为俯仰角,偏航角,翻滚角,非常形象。它们不一定如上所述,但一定分别代表绕 y,z,x 的旋转值。

一般定义载体的右、前、上三个方向构成右手系:

  • 绕向前(x轴)的轴旋转就是横滚角;

  • 绕向右(y轴)的轴旋转就是俯仰角;

  • 绕向上(z轴)的轴旋转就是航向角。

航向角 yaw angel

在这里插入图片描述

俯仰角 pitch angle

在这里插入图片描述

横滚角 roll angle

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3. 控制原理

可以看到建模的其实就是为了得到输入的力与加速度的关系,通过牛顿方程可以得到平动的加速度,通过欧拉方程可以得到角加速度,所以这种建模方法也叫牛顿-欧拉方程:

坐标系

  1. Inertial frame:固定的全局坐标系,又叫惯性坐标系,世界坐标系
  2. Translating frame:固定在运动体上的坐标系,原点在质心,但轴平行于 Inertial frame
  3. Body frame:固定在运动体上的坐标系,原点在质心,轴随着质点运动会改变方向

3.1 基础知识

力矩

力矩,表示力对物体作用时所产生的转动效应的物理量。力矩能使物体获得角加速度。力 F F F 对矩心 O O O 点的矩简称力矩,用 M ( F ) M(F) M(F) 表示,其大小等于力 F F F 的大小与力臂 r r r 的乘积。即:
M ( F ) = F × r = d L d t M(F) = F \times r = \frac{dL}{dt} M(F)=F×r=dtdL

其中, F F F 为矩心 O O O 点的力, r r r 是矩心相对 O O O 点的位置矢量, L L L为 角动量,根据角动量定理得到。

转矩

转矩,使机械元件转动的力矩称为转动力矩,简称转矩,又称扭矩,与转动惯量 I I I 具有如下关系:
M ( F ) = I d w d t M(F) = I \frac{dw}{dt} M(F)=Idtdw

其中, I I I 为转动惯量, w w w 为角速度。

角动量

角动量
L = r × p L = r \times p L=r×p

其中, p p p 为质点 O O O 点的动量, r r r 是质点相对 O O O 点的位置矢量。

欧拉运动学方程

欧拉运动学方程

A ∈ R 3 A\in \mathbb{R}^3 AR3 代表一个刚体。 σ ( r ) \sigma(r) σ(r) 代表 r ∈ A r\in\mathbb{A} rA 的一点的刚体密度, m ( A ) m(A) m(A) 的总质量为:
m = ∫ A σ ( r ) d r m = \int_A \sigma(r) dr m=Aσ(r)dr

d r = d r 1 ⋅ d r 2 ⋅ d r 3 dr = dr_1\cdot dr_2\cdot dr_3 dr=dr1dr2dr3 表示一个柱状的提及, p ∈ R 3 p\in\mathbb{R}^3 pR3 表示 A A A 的质心, p = ( p 1 , p 2 , p 3 ) p=(p_1,p_2,p_3) p=(p1,p2,p3)
p i = 1 m ∫ A r i σ ( r ) d r p_i = \frac{1}{m} \int_A r_i \sigma(r) dr pi=m1Ariσ(r)dr

在这里插入图片描述
由于刚体的内部力相互抵消,外部边界的力的集合可以合成一个力 F F F 和力矩 N N N 作用在质点 p p p
F = ∑ f F=\sum f F=f

N = ∑ r × f N = \sum r\times f N=r×f

移动

刚体不旋转只移动:动量 D = m p ˙ D = m\dot{p} D=mp˙

牛顿第二定理: F ( u ) = d D d t = m p ¨ F(u) = \frac{dD}{dt} = m \ddot{p} F(u)=dtdD=mp¨

可以得到六个状态转移方程:
p ˙ i = v i ,   for  i = 1 , 2 , 3 \dot{p}_i = v_i, ~~\text{for}~ i = 1,2,3 p˙i=vi,  for i=1,2,3

v ˙ i = u i = F i ( u ) / m ,   for  i = 1 , 2 , 3 \dot{v}_i = u_i=F_i(u)/m, ~~\text{for}~ i = 1,2,3 v˙i=ui=Fi(u)/m,  for i=1,2,3

Expand:
{ p ˙ x = v x p ˙ y = v y p ˙ z = v z v ˙ x = u x = F x ( u ) / m v ˙ y = u y = F y ( u ) / m v ˙ z = u z = F z ( u ) / m (1) \left\{\begin{aligned} &\dot{p}_x = v_x \\ &\dot{p}_y = v_y \\ &\dot{p}_z = v_z \\ &\dot{v}_x = u_x = F_x(u)/m \\ &\dot{v}_y = u_y = F_y(u)/m \\ &\dot{v}_z = u_z = F_z(u)/m \\ \end{aligned}\right.\tag{1} p˙x=vxp˙y=vyp˙z=vzv˙x=ux=Fx(u)/mv˙y=uy=Fy(u)/mv˙z=uz=Fz(u)/m(1)

旋转

旋转可以同移动进行解耦,所以现在只在 translating frame 中考虑纯粹的旋转运动。
L L L 为角动量,则力矩为:
M ( u ) = d L d t M(u) = \frac{dL}{dt} M(u)=dtdL
在这里插入图片描述

参考上图,旋转角速度: v v v 是单位向量,表示旋转方向, θ \theta θ 表示旋转角度
w = v d θ d t w = v \frac{d\theta}{dt} w=vdtdθ

将此角速度,转化为 yaw-pitch-roll 形式表示的旋转角速度:
[ γ ˙ β ˙ α ˙ ] = 1 cos ⁡ β [ cos ⁡ α sin ⁡ α 0 − sin ⁡ α cos ⁡ β cos ⁡ α cos ⁡ β 0 cos ⁡ α sin ⁡ β sin ⁡ α sin ⁡ β − cos ⁡ β ] [ w 1 w 2 w 3 ] \left[\begin{matrix} \dot{\gamma} \\ \dot{\beta} \\ \dot{\alpha} \\ \end{matrix}\right]= \frac{1}{\cos\beta} \left[\begin{matrix} \cos\alpha & \sin\alpha & 0 \\ -\sin\alpha \cos\beta & \cos\alpha \cos\beta & 0 \\ \cos\alpha \sin\beta & \sin\alpha \sin\beta & -\cos\beta \\ \end{matrix}\right] \left[\begin{matrix} w_1 \\ w_2 \\ w_3 \\ \end{matrix}\right] γ˙β˙α˙=cosβ1cosαsinαcosβcosαsinβsinαcosαcosβsinαsinβ00cosβw1w2w3

惯性矩

通常平面刚片且是均质的,则也称为转动惯量
在这里插入图片描述

E E E 是整个刚体的角动量。
在这里插入图片描述
经过以下一系列操作,主要是点乘和叉乘之间的转换:
E = ∫ A ( q ) ( ( r ⋅ r ) w − ( r ⋅ w ) r ) σ ( r ) d r E = \int_{A(q)} ((r\cdot r)w - (r\cdot w)r) \sigma(r) dr E=A(q)((rr)w(rw)r)σ(r)dr

E = ( ∫ A ( q ) ( ( r ⋅ r ) I 3 − r r T ) σ ( r ) d r ) w E = (\int_{A(q)} ((r\cdot r)I_3 - rr^T) \sigma(r) dr)w E=(A(q)((rr)I3rrT)σ(r)dr)w

惯性矩阵 3 × 3 3\times3 3×3 对称矩阵:
I ( q ) = ( ∫ A ( q ) ( ( r ⋅ r ) I 3 − r r T ) σ ( r ) d r ) I(q) = (\int_{A(q)} ((r\cdot r)I_3 - rr^T) \sigma(r) dr) I(q)=(A(q)((rr)I3rrT)σ(r)dr)

则刚体的角动量:
E = I w E = I w E=Iw

From:
M = I d w d t = d E d t M = I \frac{dw}{dt} = \frac{dE}{dt} M=Idtdw=dtdE

刚体所受到的力矩:
N ( u ) = d E d t = d ( I w ) d t = I d w d t + d I d t w N(u) = \frac{dE}{dt} = \frac{d(Iw)}{dt} = I\frac{dw}{dt} + \frac{dI}{dt}w N(u)=dtdE=dtd(Iw)=Idtdw+dtdIw

注意上面求得的惯性矩阵 I I I 是在 translating frame 中考虑的,它会随着旋转 q q q 的变化而变化:
I ( q ) = [ I 11 ( q ) I 12 ( q ) I 13 ( q ) I 21 ( q ) I 22 ( q ) I 23 ( q ) I 31 ( q ) I 32 ( q ) I 33 ( q ) ] I(q) = \left[\begin{matrix} I_{11}(q) & I_{12}(q) & I_{13}(q) \\ I_{21}(q) & I_{22}(q) & I_{23}(q) \\ I_{31}(q) & I_{32}(q) & I_{33}(q) \\ \end{matrix}\right] I(q)=I11(q)I21(q)I31(q)I12(q)I22(q)I32(q)I13(q)I23(q)I33(q)

这里我们将惯性矩阵定义在 body frame 中,表示成 I I I,则 I I I I ( q ) I(q) I(q) 的关系(其中 R R R 是 body frame 到 translating frame 的旋转矩阵):
I ( q ) = R I I(q) = R I I(q)=RI

则刚体所受到的力矩简化为:
N ( u ) = I d w d t + w ⋅ ( I w ) N(u) = I \frac{dw}{dt} + w\cdot(Iw) N(u)=Idtdw+w(Iw)

如果选择的 body frame 等于惯性主轴,那么惯性矩阵就简化为:
I = [ I 11 ( q ) 0 0 0 I 22 ( q ) 0 0 0 I 33 ( q ) ] I = \left[\begin{matrix} I_{11}(q) & 0 & 0 \\ 0 & I_{22}(q) & 0 \\ 0 & 0 & I_{33}(q) \\ \end{matrix}\right] I=I11(q)000I22(q)000I33(q)

列写动力学方程

这里假设选择的 body frame 等于惯性主轴,求得角加速度 w ˙ \dot{w} w˙ 方程:
[ N 1 ( u ) N 2 ( u ) N 3 ( u ) ] = [ I 11 0 0 0 I 22 0 0 0 I 33 ] [ w ˙ 1 w ˙ 2 w ˙ 3 ] + [ 0 − w 3 w 2 w 3 0 − w 1 − w 2 w 1 0 ] [ I 11 0 0 0 I 22 0 0 0 I 33 ] [ w 1 w 2 w 3 ] \left[\begin{matrix} N_1(u) \\ N_2(u) \\ N_3(u) \\ \end{matrix}\right] = \left[\begin{matrix} I_{11} & 0 & 0 \\ 0 & I_{22} & 0 \\ 0 & 0 & I_{33} \\ \end{matrix}\right] \left[\begin{matrix} \dot{w}_1 \\ \dot{w}_2 \\ \dot{w}_3 \\ \end{matrix}\right] + \left[\begin{matrix} 0 & -w_3 & w_2 \\ w_3 & 0 & -w_1 \\ -w_2 & w_1 & 0 \\ \end{matrix}\right] \left[\begin{matrix} I_{11} & 0 & 0 \\ 0 & I_{22} & 0 \\ 0 & 0 & I_{33} \\ \end{matrix}\right] \left[\begin{matrix} w_1 \\ w_2 \\ w_3 \\ \end{matrix}\right] N1(u)N2(u)N3(u)=I11000I22000I33w˙1w˙2w˙3+0w3w2w30w1w2w10I11000I22000I33w1w2w3


Ref: 机器人动力学(Basic Newton-Euler Mechanics)

Ref: 机器人运动学(a simple car)

Ref: 机器人系统动力学——惯性参数

Ref: 四旋翼姿态解算原理

Ref: 如何对四旋翼飞行器进行精确的数学建模?

Ref: 四旋翼建模、控制与仿真(理论部分)

Ref: 四旋翼飞行器13——欧拉中的俯仰、横滚、偏航角

Ref: 横滚角,俯仰角,航向角

Ref: 四旋翼无人机飞行控制入门(一)

Ref: 四旋翼飞行控制入门(二)

Ref: (三)专家PID控制理论基础

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhao-Jichao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值