除了硬件和算法 无人机“状态”视角到底是什么
虽然大家都很喜欢无人机,但现实情况是每个人的教育背景,对无人机的需求,看待问题和事物的习惯与角度等都有很大区别。所以在科普无人机技术的道路上还任重道远。
最常见的切入视角是从硬件和数学模型进行切入。
硬件视角常从GPS、强磁计、红外设备、单目视觉、双目视觉、IMU等硬件模块的性能、用法(其实很多文章并不涉及用法)、输入输出数据类型等着眼。比较直观,易于操作,易被接受。但容易让大家无法构建对于无人机整个系统的理解,并陷入到某一个具体硬件中,甚至忘却了该硬件对于无人机的意义。
数学模型的视角常会研究被控对象的模型性质、非线性、非最小相位系统、耦合特性等等。这样的视角足够深入,接近被控对象本质,但抽象性太强,容易造成和实物的脱节。硬件和数学模型两个视角都很重要,却也都存在着无法回避的问题。因此笔者选择无人机的“状态”作为切入视角。从“状态”视角很容易理解硬件在整个无人机系统中的实际意义:构成反馈闭环并传回相应的“状态信息”,从而为控制器设计提供必要的反馈信息。
直升机型无人机挥舞角(Flapping angle)构造
四旋翼无人机挥舞角(Flapping angle)构造
无人机“状态”数目根据不同的机型会有所区别。大家从上面两幅图中就可以看出,直升机型无人机相比于四旋翼就会多出两个挥舞角(Flapping angle)作为描述挥舞的状态。
无人机状态可以“大体”分为两部分:
描述“外部位置环”的六个状态,位置状态:x、y、z,该状态体现了无人机在三个轴线上所处的具体位置;速度状态:u、v、w用于描述无人机本身沿三个方向的飞行线速度。
描述“内部姿态环”的六个状态,姿态角状态:∮、θ、ψ,分别描述无人机的横滚、俯仰、偏航姿态角;角速度状态:p、q、r,描述无人机在机身三个旋转轴上的转动速率。
这里“外环”,“内环”的称呼是由无人机控制器设计中的常用控制器结构所演变出来的术语,直观来看两组状态分别处于不同的坐标系中,外环状态处于“大地坐标系”(速度状态信息在机体坐标系下只要进行坐标变换即可)视角下:
而内环状态则是处于“机体坐标系”中。
上图可以看到,通过内外环状态信息的闭环反馈,求得“期望状态”与“真实状态”之间的误差值,并根据这个误差设计不同结构的控制器,根据不同算法计算出需要的控制量。
状态反馈就是通过各种无人机硬件实现的,因此可以直接通过反馈的状态信息类型进行硬件归类:
位置状态――反馈绝对“位置状态”信息的硬件:GPS(x、y、z),气压计(z)以及反馈相对“位置状态”信息的硬件:红外传感器、超声波,单目视觉、双目视觉(这一大类根据硬件数量和位置能够返回不同维度量的状态信息)。
速度状态――反馈绝对“速度状态”信息的硬件,由于位置和速度的微分关系获得,大家直接把上面的硬件搬下来就可以了:GPS,气压计以及相对位置状态硬件。
无人机内环姿态信息包括六个状态:姿态角三个和角速度三个。角速度状态由陀螺仪反馈;姿态角数据的反馈硬件构架可根据姿态算法的不同而发生变化,硬件会根据相关算法的选择进行设计如:加速度计+强磁计或者陀螺仪+加速度计+强磁计。
无人机产品中经常使用IMU(Inertial measurement unit)获取内环状态信息。而IMU和INS(Inertial Navigation System)经常被混用。从上图中可以很直观地看到,IMU实现了无人机线性加速度信息(加速度一般不被看作状态,而常在姿态计算中使用)和角速度状态信息的反馈;而INS则负责对信息进行处理,实现位置、速度、姿态角等状态的信息反馈。大家注意到上图中获取姿态的算法是直接采用对角速度积分的方法,而在实际产品中由于积分会导致误差积累,因此更多地使用加速度+偏航角+角速度+滤波算法的数据融合算法进行姿态解算。
以无人机产品功能实现为例,看看状态视角如何让我们更好地理解无人机技术。最近在Kickstarter上完成众筹目标的斯凯智能的无人机系统主打Target Tracking功能,我们就从“状态”视角看看如何从硬件和算法上实现无人机跟踪功能。
当我们自己在跟踪一个对象时,需要知道对方走到哪里去了,自己现在的位置,别跟得太紧,也别被抛开太远,需调整步伐保持理想的跟踪距离。
对于无人机而言整个过程也大体类似。无人机需要获取被控对象的“位置信息”以及反馈回的无人机自身“位置状态”,计算出两者之间的相对距离误差,再通过硬件或者算法,计算出速度变化――如被跟踪对象的速度大小,速度方向,并以此来“控制”无人机自身的速度以实现位置的跟踪。
因此无论采用GPS还是光流单目抑或双目视觉、红外、超声波等等,不管什么硬件,作用都是为了传输回无人机对应的“外环状态信息”。
同样的,无论采用随身tracker还是内置传感系统的地面站式遥控器抑或直接采用手机,都可以传输回被跟踪目标的“外环状态信息”。
两个状态信息进行比对,形成状态误差,通过IMU等传感器反馈无人机内环姿态信息,与目标姿态形成状态误差,并以此计算得出控制量。
通过状态视角,可以很清晰地理解不同产品的硬件意义,并以此设计自己的无人机控制系统。
围绕着无人机状态反馈信息的处理和使用,算法可以走向两个不同的分支:数据融合(数据滤波)和自动控制。根据不同的状态特点,围绕数学模型建立系统框架,根据算法以及反馈状态信息的要求选择相关的硬件搭建无人机系统等内容是无人机控制系统设计的清晰脉络。笔者会在后续系列文章中分步阐述搭建这个系统架构中的各个部分,帮助不同行业喜欢无人机的朋友走入奇妙的无人机世界。