本文是根据Minimum Snap Trajectory Generation and Control for Quadrotors一文进行学习和有自己的心得,本文写的很好,因为无人机的全状态空间有12个量, s = s= s={ x , y , z , ϕ , θ , ψ , x ˙ , y ˙ , z ˙ , p , q , r {x,y,z,\phi,\theta,\psi,\dot{x},\dot{y},\dot{z},p,q,r} x,y,z,ϕ,θ,ψ,x˙,y˙,z˙,p,q,r},我们平常在对无人机做状态估计以及姿态估计的时候,想要准确的获取无人机的状态姿态,并对其做轨迹生成,直接对12个量进行获取是较为困难的,我们一般可以通过微分平坦特性来对下面四个量进行无人机轨迹的估计以及跟踪。
σ \sigma σ={ x , y , z , ϕ x,y,z,\phi x,y,z,ϕ}以及其导数来估计计算上面12个量,也就是利用其微分平坦性。
四旋翼无人机需要关注的量
在对无人机进行分析的时候,我们需要关注下所在的坐标系在无人机上一般有哪几种,分别为机体坐标系和世界坐标系,在这里我们也引入了中间坐标系C,我们的目的实质上就是把中间坐标系从世界坐标系转换。如下图,
z
b
z_b
zb就是机体坐标系上的,
z
c
z_c
zc就是中间坐标系,
z
w
z_w
zw就是世界坐标系。
在文中无人机我们采用的是欧拉变换,是通过Z-X-Y轴进行旋转的,在这里使用一个旋转矩阵来表示:
w
b
=
w
c
∗
c
R
w_b=w_c*c_R
wb=wc∗cR
w
b
=
p
x
B
+
q
y
B
+
r
z
B
w_b=px_B+qy_B+rz_B
wb=pxB+qyB+rzB
其中
w
b
w_b
wb表示为机体下的角速度,
w
c
w_c
wc表示为世界坐标系下的角速度
还有一个需要关注的量,就是我们无人机的升力,作为一个欠驱动系统,四旋翼无人机的合力其实就是作用在机体上的Z轴减去自身的重力,世界坐标系中,自身的重力就是来自无人机上每个转子的力之和,在
z
B
z_B
zB方向上,所控制的质心的加速度的牛顿运动方程为:
m
r
¨
=
−
m
g
z
W
+
u
1
z
B
m\ddot{r}=-mgz_W+u_1z_B
mr¨=−mgzW+u1zB
无人机微分平坦特性
实际上旋转的角度就是三个姿态角,那么如果机体坐标系的三个坐标轴能用这四个变量及其有限阶导数表示的话,也就表明姿态角能用这四个变量及其有限阶导数表示,机体坐标系的z轴
z
b
z_b
zb可以表示为
z
B
=
t
∣
∣
t
∣
∣
z_B=\frac{t}{||t||}
zB=∣∣t∣∣t
t
=
[
σ
1
¨
,
σ
2
¨
,
σ
3
¨
+
g
]
t=[\ddot{\sigma_1},\ddot{\sigma_2},\ddot{\sigma_3}+g]
t=[σ1¨,σ2¨,σ3¨+g]
然后将C系平移到和机体坐标系的中心重合。在minimumsnap这篇文章中使用的是Z-X-Y欧拉角表示法,先让机体系和世界系重合,然后开始旋转,那么机体坐标系可以看做是世界系先绕着 z轴 旋转,此时得到的坐标系与C系重合,然后绕着 x轴旋转,此时
x
c
x_c
xc和
x
b
x_b
xb是重合的,最后绕着y轴旋转,那么显然此时
z
B
,
x
C
,
x
B
z_B,x_C,x_B
zB,xC,xB是在一个平面上的,我们知道
y
B
y_B
yB是由
z
B
z_B
zB和
x
B
x_B
xB叉乘得来的,又上述三个向量在同一平面内,因此可以得到
y
B
y_B
yB的表达式为
同时在
z
B
,
x
C
z_B,x_C
zB,xC在输出空间上是平坦的,那么
y
B
y_B
yB也可以用平坦输出空间上的变量及其各阶导数所表示,故
x
B
x_B
xB也可以表示出来。
所以旋转矩阵也能就表示出来了
w
R
=
[
x
B
,
y
B
,
z
B
]
w_R=[x_B,y_B,z_B]
wR=[xB,yB,zB]
所以微分平坦性就是无人机上最终通过旋转矩阵来表示