发明内容
本发明的目的在于,所提出的一种基于证据融合的四旋翼飞行器姿态估计方法,可以在状态与观测噪声有界情况下,建立关于飞行器姿态状态方程、观测方程及实际测量的证据,通过证据融合得到姿态估计值,利用区间映射工具实现证据的传播,从而解决状态和观测噪声统计分布不能精确获得的情况下的姿态估计问题。
本发明提出的一种基于证据融合的四旋翼飞行器姿态估计方法,包括以下各步骤:
(1)建立四旋翼飞行器姿态的状态方程与观测方程,具体步骤如下
(1-1)建立四旋翼飞行器姿态的状态方程如式(1)所示:
xk+1=Axk+Q(v) (1)
式(1)中,k=1,2,3,…,表示时刻, 表示k时刻四旋翼飞行器姿态的四元数状态向量,A为状态转移矩阵
为状态噪声函数向量, 为四元数状态的噪声变化向量,并有
其为一个三角形可能性分布函数,其中,
(1-2)建立四旋翼飞行器姿态的观测方程如式(3)所示:
zk+1=h(xk+1)+R(w) (3)
其中,
表示k+1时刻四旋翼飞行器姿态的观测向量,
θ
k+1和ψ
k+1分别为四旋翼飞行器k+1时刻的横滚角、俯仰角、偏航角的取值,状态向量x
k+1到观测向量z
k+1的转换函数为:
记r1、r2和r3分别表示四旋翼飞行器姿态的横滚角、俯仰角、偏航角,则 为观测噪声函数向量, 是四旋翼飞行器姿态的观测噪声变化向量,并有
其为一个三角形可能性分布函数,其中
四旋翼飞行器姿态的四元数状态向量 中的各元素与观测向量 各元素之间的转换关系函数如式(6)所示
其中
(2)构造状态噪声函数向量Q(v)关于四元数状态向量xk中元素qi,k的证据 具体步骤如下:
(2-1)构造状态噪声函数向量Q(v)关于四元数状态向量x
k元素q
i,k的初始证据
其中
表示关于k时刻四旋翼飞行器姿态的四元数状态向量
中元素q
i,k(i=0,1,2,3)的状态噪声区间集合,
为
中的第j个取值为区间的元素,j=0,1,…,p-1,p∈[3,5],
为它的左端点,
为它的右端点,且有
其中αj=j/p,则有
其元素的取值如式(12)所示
(2-2)对步骤(2-1)获取的初始证据
分别进行折扣计算,获得状态噪声函数向量Q(v)关于四元数状态向量x
k元素q
i,k的证据
其中关于q
i,k的状态噪声区间集合
为
为
中各区间元素的信度组成的集合
其中
这里折扣率εQ∈[0.03,0.08];
(3)通过状态转移矩阵A获取k时刻关于向量x
k的元素q
i,k的预测证据
其中下标k+1|k表示利用k时刻的状态对k+1时刻的状态进行预测,具体步骤如下:
(3-1)构建x
k元素q
i,k的状态估计证据
具体步骤如下:
(a)当k=0时,取zk的元素r1,k r2,k r3,k分别带入式(7)-(10)得到
再利用式(6)得到
由此得到状态估计向量
则状态估计证据
中的
亦即
(b)k≥1时,由递归计算得到状态估计向量
则元素q
i,k的状态估计证据
为
亦即
(3-2)通过状态转移矩阵A获取向量xk的元素qi,k的预测证据 其中
这里,A
i+1,i+1表示状态转移矩阵A中,第i+1行i+1列的元素,其中i=0,1,2,3,并有A
i+1,i+1=1,故
并有
即:
(4)通过观测方程获取k+1时刻关于四旋翼飞行器姿态的观测向量z
k+1的元素r
l,k+1的观测预测证据
具体步骤如下:
(4-1)通过步骤(3)得到状态预测证据
之后,分别抽取
中的一个元素进行排列组合,共计产生(p+1)
4个四元区间组,将这些四元区间组作为式(4)的输入量,利用MATLAB2010a软件中的工具箱intlab,分别得到关于r
l,k+1的(p+1)
4个区间,它们组成的区间集合为
并得到式(22)中每个区间的信度赋值组成的信度集合为
其中的
为
所对应式(4)输入的四元区间组中每个区间信度赋值的乘积,由式(22)和(23)可以构成关于r
l,k+1的初始观测预测证据
(4-2)将步骤(4-1)所得的
进行简化后得到元素r
l,k+1的观测预测证据
其中
式(24)中的
为
中信度赋值最大的那个区间,则式(25)中该区间的信度赋值
若有多个区间信度赋值相等且最大,则将它们取并后构成
将它们的信度相加后构成
式(24)中的
为剩余各区间取并后得到的区间,且这些区间的信度相加后构成
(5)利用Dempster组合规则求出k+1时刻观测域的融合证据 具体步骤如下:
(5-1)构建zk+1元素rl,k+1的实时观测证据具体步骤如下
(a)构造观测噪声函数向量R(w)关于观测向量z
k+1元素r
l,k+1的初始证据
其中
表示关于k时刻四旋翼飞行器姿态观测向量z
k中元素r
l,k的观测噪声区间集合,
为
中的第j个取值为区间的元素,j=0,1,…,p-1,p∈[3,5],
为它的左端点,
为它的右端点,且有
其中αj=j/p,则有
是
中各区间元素的信度组成的集合,并有
其元素的取值如式(27)所示
(b)对步骤(a)获取的初始证据
分别进行折扣计算,获得观测噪声向量函数R(w)关于观测向量z
k+1元素r
l,k+1的证据
其中关于r
l,k+1的观测噪声区间集合
为
为
中各区间元素的信度赋值组成的集合
其中
这里折扣率εR∈[0.03,0.08];
(c)当从陀螺仪观测到向量 则构建元素rl,k+1的观测证据 为
亦即:
(5-2)将得到的观测证据
与观测预测证据
利用Dempster组合规则进行证据融合,得到观测域的融合证据
令 其信度赋值为 令 其信度赋值为
其中ζ=1,2,…,n,n≤2·(p+1)表示通过Ag∩Ch共计生成了n个不同的区间 则观测域的融合证据 为
中对n个不同区间的信度赋值,可以由式(32)得到;
(6)通过观测方程的逆运算获得k+1时刻关于向量x
k+1的元素q
i,k+1的状态域的新证据
具体步骤如下:
(6-1)由步骤(5)得到的观测域的融合证据
之后,分别抽取
中的一个元素进行排列组合,共计产生n
3个三元区间组,将这些三元区间组分别作为式(7-10)的输入量,利用MATLAB2010a软件中的工具箱intlab,得到关于q
i,k+1的n
3个区间,它们组成的区间集合为
并可得到式(33)中每个区间的信度赋值组成的信度集合为
其中的
为
所对应式(7-10)输入的三元区间组中每个区间信度赋值的乘积,由式(33)和(34)可以构成关于q
i,k+1的状态域的初始新证据
(6-2)将步骤(6-1)所得的
进行简化后得到关于元素q
i,k+1的状态域的初始新证据
其中
式(35)中的
为
中信度赋值最大的那个区间,则式(36)中该区间的信度赋值
若有多个区间信度赋值相等且最大,则将它们取并后构成
将它们的信度相加后构成
式(35)中的
为剩余各区间取并后得到的区间,且这些区间的信度相加后构成
(7)利用Dempster组合规则求出k+1时刻状态估计的融合证据
将步骤(6)中得到的关于向量x
k+1的元素q
i,k+1的状态域的新证据
和步骤(3)中得到的关于向量x
k的元素q
i,k的预测证据
利用Dempster组合规则进行证据融合,得到k+1时刻状态估计的融合证据
令 其信度赋值为 令 其信度赋值为
其中ξ=1,2,…,m,m≤2·(p+1)表示通过Gg∩Hh共计生成m个不同的区间,则状态估计的融合证据为
中对m个不同区间的信度赋值,可以由式(37)得到;
(8)获得k+1时刻状态估计向量
的元素
的状态估计值:
其中,
然后将获得的k+1时刻状态估计向量 带入步骤(3)进行下一时刻算法迭代,便可递推得出每一时刻的状态估计。
上述方法的关键技术在于:利用三角形可能性分布函数建模状态和观测方程中的有界噪声,利用取值为区间的元素及其信度赋值构成状态和观测噪声的证据。将它们带入状态方程和观测方程与实际观测值合成后,即可生成三种描述飞行器姿态的证据,利用证据组合规则实现这些证据的融合,通过区间映射工具实现三个证据在连续时刻的递归传播。对融合后证据所包含的信度赋值进行加权求和,即可得到飞行器姿态的估计值。
本发明所提方法不需满足状态和观测噪声概率分布已知的苛刻要求,而只限定噪声有界且可用简单的三角形函数描述。这增加了方法在实际姿态估计中的实用性,且与已有经典方法相比,也具有较高的估计精度。根据本发明方法编制的程序(编译环境LabVIEW,C++等)可以在四旋翼飞行器控制单元的处理器上运行,得到的姿态估计结果可以用于飞行器控制,提高控制的稳定性和机动性。
具体实施方式
本发明提出的基于证据融合的四旋翼飞行器姿态估计方法,其流程图如图1所示,包括以下各步骤:
(1)建立四旋翼飞行器姿态的状态方程与观测方程,具体步骤如下
(1-1)建立四旋翼飞行器姿态的状态方程如式(1)所示:
xk+1=Axk+Q(v) (1)
式(1)中,k=0,1,2,3,…,表示时刻, 表示k时刻四旋翼飞行器姿态的四元数状态向量,A为状态转移矩阵
为状态噪声函数向量, 为四元数状态的噪声变化向量,并有
(1-2)建立四旋翼飞行器姿态的观测方程如式(3)所示:
zk+1=h(xk+1)+R(w) (3)
其中,
表示k+1时刻四旋翼飞行器姿态的观测向量,
θ
k+1和ψ
k+1分别为四旋翼飞行器k+1时刻姿态的横滚角、俯仰角、偏航角的取值,状态向量x
k+1到观测向量z
k+1的转换函数为:
记r1、r2和r3分别表示横滚角、俯仰角、偏航角,则 为观测噪声函数向量, 是四旋翼飞行器姿态的观测噪声变化向量,并有
其为一个三角形可能性分布函数,其中
四旋翼飞行器四元数状态向量 中的各元素与观测向量 各元素之间的转换关系函数如式(6)所示
其中
(2)构造状态噪声函数向量Q(v)关于四元数状态向量xk中元素qi,k的证据 具体步骤如下:
(2-1)构造状态噪声函数向量Q(v)关于四元数状态向量x
k元素q
i,k的初始证据
其中
表示关于k时刻四旋翼飞行器四元数状态向量
中元素q
i,k(i=0,1,2,3)的状态噪声区间集合,
为
中的第j个取值为区间的元素,j=0,1,…,p-1,p∈[3,5],
为它的左端点,
为它的右端点,且有
其中αj=j/p,则有
是
中各区间元素的信度组成的集合,并有
其元素的取值如式(12)所示
(2-2)对步骤(2-1)获取的初始证据
分别进行折扣计算,获得状态噪声函数向量Q(v)关于四元数状态向量x
k元素q
i,k的证据
其中关于q
i,k的状态噪声区间集合
为
为
中各区间元素的信度组成的集合
其中
这里折扣率εQ∈[0.03,0.08];
为便于理解,这里举例说明,这里p=3,i=0,
分别取值
即
令ε
Q=0.05,λ=10,则由式(13-14)得
如表1所示
表1 的区间元素及信度赋值
(3)通过状态转移矩阵A获取k时刻关于向量xk的元素qi,k的预测证据其中下标k+1|k表示利用k时刻的状态对k+1时刻的状态进行预测,具体步骤如下:
(3-1)构建x
k元素q
i,k的状态估计证据
具体步骤如下:
(a)当k=0时,取zk的元素r1,k r2,k r3,k分别带入式(7)-(10)得到
再利用式(6)得到
由此得到状态估计向量
则状态估计证据
中的
亦即
(b)k≥1时,由递归计算得到状态估计向量则元素qi,k的状态估计证据为
亦即,
(3-2)通过状态转移矩阵A获取向量xk的元素qi,k的预测证据 其中
这里,A
i+1,i+1表示状态转移矩阵A中,第i+1行i+1列的元素,其中i=0,1,2,3,并有A
i+1,i+1=1,故
并有
即:
(4)通过观测方程获取k+1时刻关于四旋翼飞行器姿态的观测向量z
k+1的元素r
l,k+1的观测预测证据
具体步骤如下:
(4-1)通过步骤(3)得到状态预测证据
之后,分别抽取
中的一个元素进行排列组合,共计产生(p+1)
4个四元区间组,将这些四元区间组作为式(4)的输入量,利用MATLAB2010a软件中的工具箱intlab,分别得到关于r
l,k+1的(p+1)
4个区间,它们组成的区间集合为
并得到式(22)中每个区间的信度赋值组成的信度集合为
其中的
为
所对应式(4)输入的四元区间组中每个区间信度赋值的乘积,由式(22)和(23)可以构成关于r
l,k+1的初始观测预测证据
为便于理解,这里举例说明,取
分别抽取
中的一个元素进行排列组合,共计产生16个四元区间组,这里,选择r
1横滚角的观测预测证据为例,将这些四元区间组作为式(4)第一行函数的输入量,利用MATLAB2010a软件中的工具箱intlab可得:
表2 观测预测初始证据的区间元素及信度赋值
(4-2)将步骤(4-1)所得的进行简化后得到元素rl,k的观测预测证据 其中
式(24)中的
为
中信度赋值最大的那个区间,则式(25)中该区间的信度赋值
若有多个区间信度赋值相等且最大,则将它们取并后构成
将它们的信度相加后构成
式(24)中的
为剩余各区间取并后得到的区间,且这些区间的信度相加后构成
为便于理解,这里举例说明,由表2得到的初始证据
化简得
这里,
为表2中前15项区间元素取并后得到的区间。
(5)利用Dempster组合规则求出k+1时刻观测域的融合证据 具体步骤如下:
(5-1)构建z
k+1元素r
l,k+1的实时观测证据
具体步骤如下
(a)构造观测噪声函数向量R(w)关于观测向量z
k+1元素r
l,k+1的初始证据
其中
表示关于k时刻四旋翼飞行器观测向量z
k中元素r
l,k的观测噪声区间集合,
为
中的第j个取值为区间的元素,j=0,1,…,p-1,p∈[3,5],
为它的左端点,
为它的右端点,且有
其中αj=j/p,则有
是
中各区间元素的信度组成的集合,并有
其元素的取值如式(26)所示
(b)对步骤(a)获取的初始证据
分别进行折扣计算,获得观测噪声向量函数R(w)关于观测向量z
k+1元素r
l,k+1的证据
其中关于r
l,k+1的观测噪声区间集合
为
为
中各区间元素的信度赋值组成的集合
其中
这里折扣率εR∈[0.03,0.08];
为便于理解,这里举例说明,设定p=3,l=1,
元素取值分别为
则
令ε
R=0.05,λ=10,则由式(26-29)得
如表3所示:
(c)当从陀螺仪观测到向量 则构建元素rl,k+1的观测证据 为
亦即:
(5-2)将得到的观测证据
与观测预测证据
利用Dempster组合规则进行证据融合,得到观测域的融合证据
令 其信度赋值为 令 其信度赋值为
其中ζ=1,2,…,n,n≤2·(p+1)表示通过Ag∩Ch共计生成了n个不同的区间 则观测域的融合证据 为
中对n个不同区间的信度赋值,可以由式(32)得到;
为便于理解,这里举例说明,具体数据见表4-6所示:
表4 观测预测证据的区间元素及信度赋值
表5 观测证据的区间元素及信度赋值
Dempster组合的具体方式如下:
X1=[-0.0574,0.0798]∩[-0.1853,0.1648]=[-0.0574,0.0798],
X2=[-0.0574,0.0798]∩[-0.0628,0.0423]=[-0.0574,0.0423],
X3=[-0.0574,0.0798]∩[-0.0453,0.0248]=[-0.0453,0.0248],
X4=[-0.0574,0.0798]∩[-0.0278,0.0073]=[-0.0278,0.0073],
X5=[-0.2936,0.3204]∩[-0.1853,0.1648]=[-0.1853,0.1648],
X6=[-0.2936,0.3204]∩[-0.0628,0.0423]=[-0.0628,0.0423],
X7=[-0.2936,0.3204]∩[-0.0453,0.0248]=[-0.0453,0.0248],
X8=[-0.2936,0.3204]∩[-0.0278,0.0073]=[-0.0278,0.0073],
这里X3=X7,X4=X8故
表6 观测域融合证据的区间元素及信度赋值
(6)通过观测方程的逆运算获得k+1时刻关于向量x
k+1的元素q
i,k+1的状态域的新证据
具体步骤如下:
(6-1)由步骤(5)得到的观测域的融合证据
之后,分别抽取
中的一个元素进行排列组合,共计产生n
3个三元区间组,将这些三元区间组分别作为式(7-10)的输入量,利用MATLAB2010a软件中的工具箱intlab,得到关于q
i,k+1的n
3个区间,它们组成的区间集合为
并可得到式(33)中每个区间的信度赋值组成的信度集合为
其中的
为
所对应式(7-10)输入的三元区间组中每个区间信度赋值的乘积,由式(33)和(34)可以构成关于q
i,k+1的状态域的初始新证据
(6-2)将步骤(6-1)所得的
进行简化后得到关于元素q
i,k+1的状态域的初始新证据
其中
式(35)中的
为
中信度赋值最大的那个区间,则式(36)中该区间的信度赋值
若有多个区间信度赋值相等且最大,则将它们取并后构成
将它们的信度相加后构成
式(35)中的
为剩余各区间取并后得到的区间,且这些区间的信度相加后构成
(7)利用Dempster组合规则求出k+1时刻状态估计的融合证据
将步骤(6)中得到的关于向量x
k+1的元素q
i,k+1的状态域的新证据
和步骤(3)中得到的关于向量x
k的元素q
i,k的预测证据
利用Dempster组合规则进行证据融合,得到k+1时刻状态估计的融合证据
令 其信度赋值为 令 其信度赋值为
其中ξ=1,2,…,m,m≤2·(p+1)表示通过G
g∩H
h共计生成m个不同的区间,则状态估计的融合证据
为
中对m个不同区间的信度赋值,可以由式(37)得到;
(8)获得k+1时刻状态估计向量
的元素
的状态估计值:
其中
将获得的k+1时刻状态估计向量 带入步骤(3)进行下一时刻算法迭代,便可递推得出每一时刻的状态估计。
为便于理解,这里举例说明,获得的k+1时刻qi状态估计值如表7所示
表7 关于qi融合证据的区间元素及信度赋值
经式(39)得:
以下结合附图,详细介绍本发明方法的实施例:
本发明方法的流程图如图1所示,核心部分是:对于状态噪声与观测噪声证据的构建,以及通过利用MATLAB2010a软件中的工具箱intlab中区间映射实现证据的传递,以及利用Dempster组合规则进行证据融合,然后将获得的融合证据进行加权求和后得到最终的状态估计值,整个算法可以迭代运行。
以下结合四旋翼飞行器模型及采集到的观测数据,详细介绍本发明方法的各个步骤,并通过实验结果验证本发明提出的基于证据融合的四旋翼飞行器姿态估计方法优于Ghalia Nassreddine提出的经典的基于置信函数的前反向传播算法。
1、建立四旋翼飞行器姿态的状态方程与观测方程
xk+1=Axk+Q(v)
zk+1=h(xk+1)+R(w) k=0,1,2,3…
这里,xk从k=0时刻状态开始,Q(v)与R(w)函数向量中的元素分别可以表示为以下形式的三角形可能性分布函数:
2、构造状态噪声函数向量Q(v)关于四元数状态向量xk中元素qi,k的证据
这里p=3,
分别取值
即
令ε
Q=0.05,λ=10,则由式(13-14)得
如表8所示:
3、通过状态转移矩阵A获取k时刻关于向量xk的元素qi,k的预测证据这里给出k=0时刻开始的迭代过程。
当k=0时,由式(15-16)分别可以得到各元素的状态估计证据如表9所示:
表9 0时刻状态变量证据的区间元素及信度赋值
3-2)通过状态转移矩阵A获取向量x
k的元素q
i,k的预测证据
当k=0时,由式(19-21)我们分别可以得到x
k中各元素的状态预测证据如表10所示:
表10 0时刻状态预测证据的区间元素及信度赋值
4、通过观测方程获取k时刻关于四旋翼飞行器的观测向量zk的元素rl,k的观测预测证据
经式(22-25)简化后,得到观测预测证据如表11所示:
表11 观测预测证据的区间元素及信度赋值
5、利用Dempster组合规则求出k+1时刻观测域的融合证据
这里p=3,
分别取值
即
令ε
R=0.05,λ=10,则由式(26-29)得
如表12所示:
当k=0时,经式(30-31)可以得到元素r
l,k+1的观测证据
如表13所示:
表13 观测证据的区间元素及信度赋值
经式(32)利用Dempster组合规则将观测证据与观测预测证据进行证据融合可以得到观测域的融合证据
如表14-16所示:
表14 关于r1的观测域融合证据的区间元素及信度赋值
表15 关于r2的观测域融合证据的区间元素及信度赋值
表16 关于r3的观测域融合证据的区间元素及信度赋值
6、通过观测方程的逆运算获得k+1时刻关于向量xk+1的元素qi,k+1的状态域的新证据
经式(33-36)简化后,得到状态域的新证据如表17所示:
表17 状态域新证据的区间元素及信度赋值
7、利用Dempster组合规则求出k+1时刻状态估计的融合证据
经式(37)利用Dempster组合规则将状态域新证据与状态预测证据进行证据融合可以得到状态域的融合证据如表18-21所示:
表18 关于q0的状态域融合证据的区间元素及信度赋值
表19 关于q1的状态域融合证据的区间元素及信度赋值
表20 关于q2的状态域融合证据的区间元素及信度赋值
表21 关于q3的状态域融合证据的区间元素及信度赋值
8、由表18-21经式(38-39)获得k+1时刻状态估计向量
的元素
的状态估计值如表22所示:
表22 状态变量估计值
按照此方法,将获得的k+1时刻状态估计向量
带入步骤(3)进行下面每一时刻的算法迭代,最终得到每个时刻的状态估计值
这里将得到的每个时刻的状态估计值
代入式(4)得到用于四旋翼姿态控制的各姿态角的估计值如图2所示,其中理想的真实值在每个时刻表现在四旋翼飞行器姿态的角度值均为0,用“—”表示(k=0,1,2,…,20),本发明方法给出的估计值用“--*--”表示,Ghalia Nassreddine经典算法给出的估计值用“-◇-”表示,陀螺仪测得的观测值用“-+-”表示。图3给出本发明方法、Ghalia Nassreddine经典算法和直接观测之间绝对误差的比较。表23给出了三种方法在二十一步的估计中绝对误差的均值,可以看出本发明方法的估计精度要高于其他方法。
表23 四旋翼飞行器姿态各角度估计的绝对误差