四轴飞行玩具的姿态解算的原理1.转动和姿态

前言:

曾经试图自己做四轴无人机。这里是一些相关的笔记。

无人机的几大难点:

1.电机控制(无刷直流电机PWM控制) 

2.姿态获取(三轴加速度,陀螺仪,气压,超声,姿态融合,姿态解算) 

3.姿态控制(PID )

4.遥控 

5.运行逻辑

本文是关于第二点“姿态获取”中, 姿态计算的基本原理。

所谓姿态解算,就是将陀螺仪的数据 ,经过一些数学运算后,得到机体姿态的过程,如图一:

 

                《图一》

姿态(坐标)的定义:

 在最基本的导航学中,我们定义了两个坐标:1.地球坐标 ;2.机体坐标。

 1. 地球坐标定义如下:X轴指向北方,Y轴指向西方获得东方,Z轴指向地心,如图二所示:

    《图二》

  显然,在整个地球的表面,地球坐标是不断变化的,绕着地心向北旋转,所以地球坐标有时也被叫做指北坐标,如图三 。

    《图三》

 当然,在航程很小的无人机系统中(航程不过10公里以内),我们可以认为地球坐标在宏观上是相对不变的。

 2.机体坐标: 飞机上的陀螺仪,是固定在机体上的,跟随机体运动。它所探知的,是机体角度的瞬时变化。机体坐标的表述如下图4所示:

    《图四》

  那么,怎么描述机体的姿态呢?我们将机体坐标和地球坐标结合在一起,通过对机体坐标在地球坐标中的三维夹角,来标识机体的姿态:

    《图五》

  如果,测得机体与地球坐标之间的对应夹角,就可以得到姿态的表述了。但是很可惜,我们没有仪表可以直接测得机体坐标三个轴和地球坐标三个轴之间的夹角。

  我们能得到的,是通过陀螺仪/加速度计,采集的一小段时间内,机体坐标角度的变化值。 所以我们需要一些数学工具,将机体坐标变化值,累加到之前的姿态值上,得到下一刻的姿态。其概念图如下:

  

  这个算法绝对不是对姿态角的积分累加。所以不要试图通过简单的积分器来获得新姿态。

  那么,从一个姿态,变化到另一个姿态,是如何描述的呢? 这就涉及到“转动“的概念。

转动:

 转动,就是指物体从一个姿态,变化到另一个姿态的过程。

  转动的方式分为两类,一类是无限转动,一类是由限转动。

 假设我们手里有一个飞机模型,我们把它从姿态A,转到姿态B时,可以采用两种转动策略

 1. 无限转动: 从姿态A开始,我们可以让飞机模型在三个轴上同时转动,最终转动到姿态B。例如,MPU6050每个采样周期内,采集到的转动轴变化值,就是无限转动 。

 2.有限转动: 从姿态A开始,我们让飞机模型先绕X轴转动角度a度,再绕Y轴转动b度 ,最后绕Z轴转动c度, 完成后,机体达到姿态B。 这就是有限转动。

 大多数情况下,我们是没有办法直接观测到无限转动的,所以,我们常用的描述方式是有限转动。

下表是对于他们的描述:

属性 无限转动 有限转动
有序 无序,三个轴同时转动 必须按照一定次序,依次转动是三个轴
角度 小角度转动 小角度,大角度都适用
场合 MOU6050输出值   状态值
表现用途 表示瞬间变化 表示两个状态之间的变化

有限转动,起始就是欧拉角表示。欧拉角的详细描述,可以参看网上的其他资料。

我们根据转动的轴的先后次序,有ZXZ' ;  ZXY; XYZ等 12种有限转动。

注意,ZXZ'代表先绕Z轴,再绕X轴,最后还是绕Z轴,这样也是可以转动到指定位置的, 所以有限转动并不是一定要XYZ三个轴都要使用。

下图是ZXY的有效转动示意图:

   我们在毫秒级别的时间间隔内,采集到的MPU6050转动值,就是无限转动,但是要标识机体的夹角和地球坐标之间的夹角,即姿态,则需要使用有限转动。所以,姿态解算就是把无限转动,换算累加到某一个指定的有限转动序(欧拉角)上。

 今天就写到这里。下次介绍四轴飞行玩具的姿态解算的原理2.姿态矩阵。

  

    

猜你喜欢

转载自www.cnblogs.com/stonenox/p/10330567.html