多旋翼无人机建模-牛顿欧拉法

多旋翼无人机建模

建模之前我们先分析一下多旋翼无人机有哪些状态量:用于表示线运动的三轴位置、速度和加速度;用于表示角运动的三轴姿态角和姿态角速度;这一共是15个状态量

首先来看线运动方程的建立过程:我们取地理坐标系为北东地(NED),机体系为前右下

由牛顿第二定律有:

F = m a F=m a F=ma

F = m [ a x a y a z ] F=m \left[ \begin{array}{l}{a_{x}} \\ {a_{y}} \\ {a_{z}}\end{array}\right] F=maxayaz

注意此处的 F F F和加速度 a a a均是在地理系下的表示( F F F表示四个旋翼产生的总升力),进一步将上式展开可得

[ 0 0 m g ] − R b e [ 0 0 f 1 + f 2 + f 3 + f 4 ] = m [ a x a y a z ] \left[ \begin{array}{c}{0} \\ {0} \\ {m g}\end{array}\right] - \boldsymbol{R}_{b}^{e} \left[ \begin{array}{c}{0} \\ {0} \\ {f_{1}+f_{2}+f_{3}+f_{4}}\end{array}\right]=m \left[ \begin{array}{l}{a_{x}} \\ {a_{y}} \\ {a_{z}}\end{array}\right] 00mgRbe00f1+f2+f3+f4=maxayaz

其中 R b e \boldsymbol{R}_{b}^{e} Rbe表示由机体坐标系到地理坐标系的转换矩阵,由于 f i , i = 1 … 4 f_i,i=1…4 fi,i=14分别表示四个旋翼沿机体 Z Z Z轴负方向产生的升力,故需要将其转换到地理系中;

R b e = [ c θ c ψ s ϕ s θ c ψ − c ϕ s ψ c ϕ s θ c ψ + s ϕ s ψ c θ s ψ s ϕ s θ s ψ + c ϕ c ψ c ϕ s θ s ψ − s ϕ c ψ − s θ s ϕ c θ c ϕ c θ ] \boldsymbol{R}_{b}^{e}=\left[ \begin{array}{ccc}{c \theta c \psi} & {s \phi s \theta c \psi-c \phi s \psi} & {c \phi s \theta c \psi+s \phi s \psi} \\ {c \theta s \psi} & {s \phi s \theta s \psi+c \phi c \psi} & {c \phi s \theta s \psi-s \phi c \psi} \\ {-s \theta} & {s \phi c \theta} & {c \phi c \theta}\end{array}\right] Rbe=cθcψcθsψsθsϕsθcψcϕsψsϕsθsψ+cϕcψsϕcθcϕsθcψ+sϕsψcϕsθsψsϕcψcϕcθ

联立上式进一步化简即可得到线运动的模型表示:

{ x ¨ = ( c ϕ s θ c ψ + s ϕ s ψ ) − F m y ¨ = ( c ϕ s θ s ψ − s ϕ c ψ ) − F m z ¨ = g − ( c ϕ c θ ) F m \left\{\begin{array}{c}{\ddot{x}=(\mathrm{c} \phi \mathrm{s} \theta \mathrm{c} \psi+\mathrm{s} \phi \mathrm{s} \psi) \frac{-F}{m}} \\ {\ddot{y}=(\mathrm{c} \phi \mathrm{s} \theta \mathrm{s} \psi-\mathrm{s} \phi \mathrm{c} \psi) \frac{-F}{m}} \\ {\ddot{z}=g-(\mathrm{c} \phi \mathrm{c} \theta) \frac{F}{m}}\end{array}\right. x¨=(cϕsθcψ+sϕsψ)mFy¨=(cϕsθsψsϕcψ)mFz¨=g(cϕcθ)mF

线运动的建模过程很简单,但是多旋翼不光能移动还能旋转,这个旋转过程就需要刚体的旋转相关知识。

物体如何旋转跟旋翼产生的力矩有关,力矩与力F和距离l有如下公式: M = F ∗ l M=F * l M=Fl

而这里的力矩又与多旋翼动力布局有关
多旋翼无人机建模-牛顿欧拉法_第1张图片

如果是十字型的布局:

F = ∑ i = 1 4 T i = c T ( w 1 2 + w 2 2 + w 3 2 + w 4 2 ) F=\sum_{i=1}^{4} T_{i}=c_{\mathrm{T}}\left(w_{1}^{2}+w_{2}^{2}+w_{3}^{2}+w_{4}^{2}\right) F=i=14Ti=cT(w12+w22+w32+w42)

{ τ x = d c T ( − w 2 2 + w 4 2 ) τ y = d c T ( w 1 2 − w 3 2 ) τ z = c M ( w 1 2 − w 2 2 + w 3 2 − w 4 2 ) \left\{\begin{array}{l}{\tau_{x}=d c_{\mathrm{T}}\left(-w_{2}^{2}+w_{4}^{2}\right)} \\ {\tau_{y}=d c_{\mathrm{T}}\left(w_{1}^{2}-w_{3}^{2}\right)} \\ {\tau_{z}=c_{\mathrm{M}}\left(w_{1}^{2}-w_{2}^{2}+w_{3}^{2}-w_{4}^{2}\right)}\end{array}\right. τx=dcT(w22+w42)τy=dcT(w12w32)τz=cM(w12w22+w32w42)

写成矩阵形式如下:

[ F τ x τ y τ z ] = [ c T c T c T c T 0 − d c T 0 d c T d c T 0 − d c T 0 c M − c M c M − c M ] [ w 1 2 w 2 2 w 3 2 w 4 2 ] \left[ \begin{array}{l}{F} \\ {\tau_{x}} \\ {\tau_{y}} \\ {\tau_{z}}\end{array}\right]=\left[ \begin{array}{cccc}{c_{\mathrm{T}}} & {c_{\mathrm{T}}} & {c_{\mathrm{T}}} & {c_{\mathrm{T}}} \\ {0} & {-d c_{\mathrm{T}}} & {0} & {d c_{\mathrm{T}}} \\ {d c_{\mathrm{T}}} & {0} & {-d c_{\mathrm{T}}} & {0} \\ {c_{\mathrm{M}}} & {-c_{\mathrm{M}}} & {c_{\mathrm{M}}} & {-c_{\mathrm{M}}}\end{array}\right] \left[ \begin{array}{c}{w_{1}^{2}} \\ {w_{2}^{2}} \\ {w_{3}^{2}} \\ {w_{4}^{2}}\end{array}\right] Fτxτyτz=cT0dcTcMcTdcT0cMcT0dcTcMcTdcT0cMw12w22w32w42

对X型动力布局:

F = ∑ i = 1 4 T i = c T ( w 1 2 + ϖ 2 2 + ϖ 3 2 + ϖ 4 2 ) F=\sum_{i=1}^{4} T_{i}=c_{\mathrm{T}}\left(w_{1}^{2}+\varpi_{2}^{2}+\varpi_{3}^{2}+\varpi_{4}^{2}\right) F=i=14Ti=cT(w12+ϖ22+ϖ32+ϖ42)

{ τ x = d c T ( 2 ω 1 2 / 2 − 2 ω 2 2 / 2 − 2 ω 3 2 / 2 + 2 ω 4 2 / 2 ) τ y = d c T ( 2 ω 1 2 / 2 + 2 ω 2 2 / 2 − 2 ω 3 2 / 2 − 2 ω 4 2 / 2 ) τ z = c M ( ω 1 2 − ω 2 2 + ω 3 2 − ω 4 2 ) \left\{\begin{array}{c}{\tau_{x}=d c_{\mathrm{T}}\left(\sqrt{2} \omega_{1}^{2} / 2-\sqrt{2} \omega_{2}^{2} / 2-\sqrt{2} \omega_{3}^{2} / 2+\sqrt{2} \omega_{4}^{2} / 2\right)} \\ {\tau _{y}=d c_{\mathrm{T}}\left(\sqrt{2} \omega_{1}^{2} / 2+\sqrt{2} \omega_{2}^{2} / 2-\sqrt{2} \omega_{3}^{2} / 2-\sqrt{2} \omega_{4}^{2} / 2\right)} \\ {\tau _{z}=c_{\mathrm{M}}\left(\omega_{1}^{2}-\omega_{2}^{2}+\omega_{3}^{2}-\omega_{4}^{2}\right)}\end{array}\right. τx=dcT(2 ω12/22 ω22/22 ω32/2+2 ω42/2)τy=dcT(2 ω12/2+2 ω22/22 ω32/22 ω42/2)τz=cM(ω12ω22+ω32ω42)
上式中 F F F为四个旋翼产生的总升力, τ x , τ y , τ z \tau _x ,\tau _y ,\tau _z τx,τy,τz分别表示旋翼产生的作用在三个姿态通道的控制力矩。

根据欧拉方程 M = J ε + ω × J ω M=J \varepsilon+\omega \times J \omega M=Jε+ω×Jω

其中 ε \varepsilon ε表示角加速度, ω \omega ω表示角速度, M M M表示姿态通道控制力矩;
欧拉角速度
Θ ˙ = [ ϕ ˙ θ ˙ ψ ˙ ] \dot{\boldsymbol{\Theta}}=\left[ \begin{array}{c}{\dot{\phi}} \\ {\dot{\theta}} \\ {\dot{\psi}}\end{array}\right] Θ˙=ϕ˙θ˙ψ˙
与机体角速度
Ω = [ w x w y w z ] {\boldsymbol{\Omega}}=\left[ \begin{array}{c}{w_x} \\ {w_y} \\ {w_z}\end{array}\right] Ω=wxwywz
之间的关系为

Θ ˙ = W Ω \dot{\boldsymbol{\Theta}}=\boldsymbol{W} \boldsymbol{\Omega} Θ˙=WΩ
W = [ 1 tan ⁡ θ sin ⁡ ϕ tan ⁡ θ cos ⁡ ϕ 0 cos ⁡ ϕ − sin ⁡ ϕ 0 sin ⁡ ϕ / cos ⁡ θ cos ⁡ ϕ / cos ⁡ θ ] W=\left[ \begin{array}{ccc}{1} & {\tan \theta \sin \phi} & {\tan \theta \cos \phi} \\ {0} & {\cos \phi} & {-\sin \phi} \\ {0} & {\sin \phi / \cos \theta} & {\cos \phi / \cos \theta}\end{array}\right] W=100tanθsinϕcosϕsinϕ/cosθtanθcosϕsinϕcosϕ/cosθ假设多旋翼无人机姿态角在小角度内变化,则可认为 W = I W=I W=I,即 Θ ˙ = Ω \dot{\boldsymbol{\Theta}}= \boldsymbol{\Omega} Θ˙=Ω

角加速度为 [ ϕ ¨ θ ¨ ψ ¨ ] \left[ \begin{array}{c}{\ddot{\phi}} \\ {\ddot{\theta}} \\ {\ddot{\psi}}\end{array}\right] ϕ¨θ¨ψ¨

转动惯量矩阵为
J = [ J x x − J x y − J x z − J y x J y y − J y z − J z x − J z y J z z ] \mathbf{J}=\left[ \begin{array}{ccc}{J_{x x}} & {-J_{x y}} & {-J_{x z}} \\ {-J_{y x}} & {J_{y y}} & {-J_{y z}} \\ {-J_{z x}} & {-J_{z y}} & {J_{z z}}\end{array}\right] J=JxxJyxJzxJxyJyyJzyJxzJyzJzz
其中 J x y = J y x , J x z = J z x , J y z = J z y J_{xy}=J_{yx},J_{xz}=J_{zx},J_{y z}=J_{z y} Jxy=JyxJxz=JzxJyz=Jzy,对于标准多旋翼这样的中心对成物体,有 J x y = J x z = J y z = 0 J_{xy}=J_{xz}=J_{y z}=0 Jxy=Jxz=Jyz=0,则有
[ J x x 0 0 0 J y y 0 0 0 J z z ] \left[ \begin{array}{lll}{J_{x x}} & {0} & {0} \\ {0} & {J_{y y}} & {0} \\ {0} & {0} & {J_{z z}}\end{array}\right] Jxx000Jyy000Jzz

整理可得

{ ϕ ¨ = θ ˙ ψ ˙ J y − J z J x + τ x J x θ ¨ = ϕ ˙ ψ ˙ J z − J x J y + τ y J y ψ ¨ = ϕ ˙ θ ˙ J x − J y J z + τ z J z \left\{\begin{array}{l}{\ddot{\phi}=\dot{\theta} \dot{\psi} \frac{J_{y}-J_{z}}{J_{x}}+\frac{\tau_{x}}{J_{x}}} \\ {\ddot{\theta}=\dot{\phi} \dot{\psi} \frac{J_{z}-J_{x}}{J_{y}}+\frac{\tau_{y}}{J_{y}}} \\ {\ddot{\psi}=\dot{\phi} \dot{\theta} \frac{J_{x}-J_{y}}{J_{z}}+\frac{\tau_{z}}{J_{z}}}\end{array}\right. ϕ¨=θ˙ψ˙JxJyJz+Jxτxθ¨=ϕ˙ψ˙JyJzJx+Jyτyψ¨=ϕ˙θ˙JzJxJy+Jzτz

至此,多旋翼的模型建立完毕。可以看到建模的其实就是为了得到输入的力与加速度的关系,通过牛顿方程可以得到线运动的加速度,通过欧拉方程可以得到角加速度,所以这种建模方法也叫牛顿-欧拉方程。

你可能感兴趣的:(飞控算法,飞控,多旋翼,建模,牛顿欧拉方程)