多旋翼无人机建模

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

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

由牛顿第二定律有:

F=maF=m aF=ma

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

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

[00mg]−Rbe[00f1+f2+f3+f4]=m[axayaz]\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

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

Rbe=[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ψ)−Fmy¨=(cϕsθsψ−sϕcψ)−Fmz¨=g−(cϕcθ)Fm\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∗lM=F * lM=Fl

而这里的力矩又与多旋翼动力布局有关
在这里插入图片描述

如果是十字型的布局:

F=∑i=14Ti=cT(w12+w22+w32+w42)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=dcT(−w22+w42)τy=dcT(w12−w32)τz=cM(w12−w22+w32−w42)\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]=[cTcTcTcT0−dcT0dcTdcT0−dcT0cM−cMcM−cM][w12w22w32w42]\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=14Ti=cT(w12+ϖ22+ϖ32+ϖ42)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=dcT(2ω12/2−2ω22/2−2ω32/2+2ω42/2)τy=dcT(2ω12/2+2ω22/2−2ω32/2−2ω42/2)τz=cM(ω12−ω22+ω32−ω42)\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)
上式中FFF为四个旋翼产生的总升力,τ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ω表示角速度,MMM表示姿态通道控制力矩;
欧拉角速度
Θ˙=[ϕ˙θ˙ψ˙]\dot{\boldsymbol{\Theta}}=\left[ \begin{array}{c}{\dot{\phi}} \\ {\dot{\theta}} \\ {\dot{\psi}}\end{array}\right]Θ˙=ϕ˙θ˙ψ˙
与机体角速度
Ω=[wxwywz]{\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=[1tan⁡θsin⁡ϕtan⁡θcos⁡ϕ0cos⁡ϕ−sin⁡ϕ0sin⁡ϕ/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=IW=IW=I,即Θ˙=Ω\dot{\boldsymbol{\Theta}}= \boldsymbol{\Omega}Θ˙=Ω

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

转动惯量矩阵为
J=[Jxx−Jxy−Jxz−JyxJyy−Jyz−Jzx−JzyJzz]\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
其中Jxy=Jyx,Jxz=Jzx,Jyz=JzyJ_{xy}=J_{yx},J_{xz}=J_{zx},J_{y z}=J_{z y}Jxy=JyxJxz=JzxJyz=Jzy,对于标准多旋翼这样的中心对成物体,有Jxy=Jxz=Jyz=0J_{xy}=J_{xz}=J_{y z}=0Jxy=Jxz=Jyz=0,则有
[Jxx000Jyy000Jzz]\left[ \begin{array}{lll}{J_{x x}} & {0} & {0} \\ {0} & {J_{y y}} & {0} \\ {0} & {0} & {J_{z z}}\end{array}\right]Jxx000Jyy000Jzz

整理可得

{ϕ¨=θ˙ψ˙Jy−JzJx+τxJxθ¨=ϕ˙ψ˙Jz−JxJy+τyJyψ¨=ϕ˙θ˙Jx−JyJz+τzJz\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

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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐