[发明专利]一种基于水下地形高程数据库的水下航行器辅助导航定位方法有效
申请号: | 201310537377.6 | 申请日: | 2013-11-04 |
公开(公告)号: | CN103542851A | 公开(公告)日: | 2014-01-29 |
发明(设计)人: | 徐晓苏;吴剑飞;李佩娟;徐胜保;豆嫚 | 申请(专利权)人: | 东南大学 |
主分类号: | G01C21/16 | 分类号: | G01C21/16;G01C25/00 |
代理公司: | 江苏永衡昭辉律师事务所 32250 | 代理人: | 王斌 |
地址: | 210096*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于水下地形高程数据库的水下航行器辅助导航定位方法,其主要目的在于解决水下航行器长时间航行时由于惯性导航定位系统的误差会随着时间的积累逐渐增大的固有缺陷以至于不能满足航行器长时间精确导航定位需要的问题。本发明的主要步骤包括:主惯导系统指示航迹序列和实测高程序列的获取、匹配定位预处理、一级匹配定位、二级匹配定位以及修正过程。本发明可以解决水下航行器长时间航行所带来的初始位置误差过大致使匹配失败问题以及匹配过程中由于惯性器件的误差所引起的匹配误差问题,从而修正主惯导系统,提高导航定位精度。 | ||
搜索关键词: | 一种 基于 水下 地形 高程 数据库 航行 辅助 导航 定位 方法 | ||
【主权项】:
1.一种基于水下地形高程数据库的水下航行器辅助导航定位方法,其特征为:步骤1:获取主惯导系统指示航迹序列和实测高程序列当水下航行器驶入匹配区时,在主惯性导航系统INS的导航下航行一段距离,与此同时每隔一个时间段Times,Times的典型值为10分钟,通过航行器的高程测量装置测量高程,由此得到惯性导航系统给出的一个惯导系统指示航迹序列P i = Lati P i Longti P i , ]]> i=1,2…N,N代表序列点的个数,取值为20,
代表惯导系统指示航迹序列Pi的纬度,
代表惯导系统指示航迹序列Pi的经度,和一个由高程测量装置给出的对应于惯导系统指示航迹序列Pi的实测高程序列Di,i=1,2…N,考虑高程测量装置的误差可得:D i = D ~ i + γ , i = 1,2 . . . N ]]> 其中
表示理想高程序列,γ表示高程测量装置的测量噪声序列,服从均值为0标准差为1的正态分布。步骤2:匹配定位预处理在加载地形高程数据库中,选择以惯导系统指示航迹序列Pi为中心、以惯性导航系统6倍误差为边长的区域,将此区域的高程数据存入一个预处理二维矩阵,预处理二维矩阵行标为row,1≤row≤rowmax,rowmax为所述区域行标的最大值,预处理二维矩阵列标为col,1≤col≤colmax,colmax为所述区域列标的最大值,矩阵中的值存为储高程数据;所述区域的起始纬度为lati0,起始经度为longti0,矩阵行列交点row,col处的经度、纬度分别为:lati0+(row-1)×grid,longti0+(col-1)×grid,grid为地形数据库中相邻高程数据的位置间距,考虑地形高程数据库建库时测量和量化所产生的误差可得:DB ( row , col ) = DB ~ ( row , col ) + η ]]> 其中row为预处理二维矩阵的行标,col为预处理二维矩阵的列标,DB(row,col)表示预处理二维矩阵中行标为row、列标为col的高程数据,
表示对应于DB(row,col)的理想高程数据,η表示地形高程数据库建库时的测量和量化噪声,服从均值为0标准差为1的正态分布;将实测高程序列Di和在DB(row,col)中所提取的高程序列作相关运算,所述的相关运算采用均方差MSD算法,使用去均值后的数据进行相关运算:Ral ( row , col ) = Σ i = 1 N [ DB ( row , col ) - DBA ( row , col ) - D i + DA ] 2 ]]> 其中,Ral(row,col)表示MSD相关运算的结果,DB(row,col)表示惯导系统指示航迹Pi平移至预处理二维矩阵row,col对应位置lati0+(row-1)×grid,longti0+(col-1)×grid处高程数据序列,DBA(raw,col)为DB(row,col)中所提取的高程序列的均值,Di表示实测高程序列,DA表示实测序列的均值;运算结束后,取得使Ral(row,col)最小的row,col,则将惯导系统指示航迹Pi平移至预处理二维矩阵row,col对应位置lati0+(row-1)×grid,longti0+(col-1)×grid,得到预处理位置序列为P i ′ = Lati P i ′ Longti P i ′ , ]]>
表示得到预处理位置序列P′i的纬度,
表示得到预处理位置序列P′i的经度;步骤3:一级匹配定位将地形高程数据库中以预处理位置序列P′i为中心,以惯性导航系统3倍误差为边长的一级匹配区域内的高程数据存入一个一级匹配二维矩阵,并利用双线性插值算法在该一级匹配区域提取高程为实测高程Di的一级等高线Ci;步骤3.1:惯导系统给出的航向误差为ψINS,纬度和经度误差分别为tINSlati和tINSlongti,分别在-3ψINS~3ψINS,--3tINSlati~3tINSlati,--3tINSlongti~3tINSlongti范围内分别随机取一个航向误差、一个纬度和一个经度且值分别为:ψINSrand,tINSlatirand,tINSlongtirand;对预处理位置序列P′i作一级随机旋转和一级随机平移变换,得到一级随机旋转和平移位置序列P′iand:P irand ′ = cos ψ INSrand - sin ψ INSrand sin ψ INSrand cos ψ INSrand P i ′ + t INSlatirand t INSlongtirand ]]> 步骤3.2:通过一级随机旋转和平移位置序列P′irand向一级等高线Ci作垂线,得到一个一级匹配垂足序列Yi,求取一个刚性变换Trans且所述刚性变换Trans包括旋转矩阵Rotation = cos φ ICCP - sin φ ICCP sin φ ICCP cos φ ICCP ]]> 和平移矢量translation = t ICCPLati t ICCPLongti , ]]> φICCP为一级匹配旋转角,tICCPLati代表纬度偏移量,tICCPLongti代表经度偏移量,使得一级随机旋转和平移位置序列P′irand逐渐逼近一级匹配垂足序列Yi,也就是使以下目标函数最小:Objec t itetation ( Y i , Trans · P irand ′ ) = Σ i = 1 N weight i | | Y i - Trans · P irand ′ | | 2 iteration ≥ 1 0 iteration = 0 ]]>weight i = 1 - Dist ( P irand ′ , Y i ) Dist max ]]> 其中Object为目标函数,iteration代表第iteration次迭代,iteration=0表示迭代未开始,weighti代表序列点的权值,Trans为刚性变换,Dist(P′irand,Yi)为P′irand和Yi之间的距离,Distmax为P′irand和Yi序列点之间距离的最大值;求取刚性变换Trans采用四元数法;设四元数为quaternion:quaternion = ( qua 1 , qua 2 , qua 3 , qua 4 ) = ( cos φ ICCP 2 , 0,0 , sin φ ICCP 2 ) ]]> qua1为四元数quaternion的第一个元素,qua2为四元数quaternion的第二个元素,qua3为四元数quaternion的第三个元素,qua4为四元数quaternion的第四个元素,φICCP为一级匹配旋转角;构造矩阵MatICCP:Mat ICCP = Mat 11 Mat 12 Mat 21 Mat 22 = Σ i = 1 N weight i ( Y i - Y - i ) ( P irand ′ - P - irand ′ ) T ]]> Mat11为矩阵MatICCP第一行第一列的元素,Mat12为矩阵MatICCP第一行第二列的元素,Mat21为矩阵MatICCP第二行第一列的元素,Mat23为矩阵MatICCP第二行第二列的元素,
和
分别为一级匹配垂足序列的质心、随机旋转和平移位置序列的质心,weighti代表序列点的权值,T代表转置;为求解旋转矩阵Rotation而构造一个对称的哈密尔顿矩阵:Hamilton = Mat 11 + Mat 22 0 0 Mat 21 - Mat 12 0 Mat 11 - Mat 22 mat 12 + Mat 21 0 0 Mat 12 + Mat 21 Mat 22 - Mat 11 0 Mat 21 - Mat 12 0 0 - Mat 11 - Mat 22 ]]> 求解并得到哈密尔顿矩阵Hamilton的四个特征值![]()
记最大的特征值为
最大的特征值为
可使下式成立:
由此可得一级匹配旋转角为:
所以旋转矩阵Rotation为:Rotation = cos φ ICCP - sin φ ICCP sin φ ICCP cos φ ICCP ]]> 平移量translation为:translation = Y - i - Rotation · P - irand ′ ]]> 步骤3.3:利用步骡3.2得到的包括旋转矩阵Rotation和平移矢量translation的刚性变换Trans,对一级随机旋转和平移后的位置序列P′irand作P′irand=Trans·P′irand处理,此时,若迭代次数iteration大于最大迭代次数iterationmax,表明收敛速度过慢,舍弃此次迭代的结果,返回步骤3.1;若iteration小于等于iterationmax并且|Objectiteration-Objectiretration-1|>τ,则返回步骤3.2,若iteration小于等于iterationmax并且|Objectiteation-Objectireration-1|≤τ,则迭代终止并记录Objectitetation和Trans·P′irand的值,iterationmax值为100,τ值为10-6;步骤3.4:重复3.1-3.3步骤,得到50个Objectitetation(Yi,Trans·P′irand)值后,找出其中最小的Objectitetation(Yi,Trans·P′irand)对应的Trans·P′irand,得到一级匹配位置序列P i ′ ′ = Trans · P irand ′ = Lati P ′ ′ Longti P ′ ′ , ]]>
代表一级匹配位置序列的纬度,
代表一级匹配序列的经度;步骤4:二级匹配定位选择以加载地形高程数据库中以一级匹配位置序列P″i为中心、3×grid为边长的区域,将此区域的高程数据存入一个二级匹配二维矩阵,并利用双线性插值算法在该区域提取高程为实测高程Di的二级等高线C′i,在二级等高线C′i上寻找一级匹配位置序列P″i的对应垂足得到一个二级垂足序列Y i ′ = Lati Y i ′ Longti Y i ′ , ]]>
代表二级垂足序列的纬度,
代表二级垂足序列的经度;对二级垂足序列Y′i到一级匹配位置序列P″i作仿射变换G且所述仿射变换包括在纬度方向上的平移因子taffinex,在经度方向上的平移因子taffiney,缩放因子αaffine,旋转因子θaffine,ei为二级垂足序列Y′i与二级匹配定位的输入序列P″i的经仿射变换后的坐标的差:e i = t affinex t affiney + α affine cos θ affine - α affine sin θ affine α affine sin θ affine α affine cos θ affine P i ' ' - Y i ' = 1 0 Lati P i ' ' - Longti P i ' ' 0 1 Longti P i ' ' Lati P i ' ' t affinex t affiney α affine cos θ affine α affine sin θ affine - Lati Y i ' Longti Y i ' ]]> 令仿射变换求解向量为taffine,仿射变换求解矩阵为![]()
t affine = t affinex t affiney α affine cos θ affine α affine sin θ affine ]]>C P i ′ ′ = 1 0 Lati P i ′ ′ - Longti P i ′ ′ 0 1 Longti P i ′ ′ Lati P i ′ ′ ]]> 则e i = C P i ′ ′ t affine - Y i ′ ; ]]> 欧式平方距离ESDaffine为:ESD affine = Σ i = 1 N e i T e i = t affine T C P i ′ ′ T C P i ′ ′ t affine - 2 Y i ′ T C P i ′ ′ t affine + Y i ′ T Y i ′ ]]> T代表转置;将使ESDaffine最小的taffine记为
对ESDaffine求导可得:dESD affine dt affine = 2 C P i ′ ′ T C P i ′ ′ t affine - 2 C P i ′ ′ T Y i ′ ]]> 令dESD affine dt affine = 0 ]]> 可得![]()
t ^ affine = ( C P i ′ ′ T C P i ′ ′ ) - 1 C P i ′ ′ T Y i ′ ]]> 当ESDaffine对taffine的二阶导数
时,
就是使ESDaffine最小的解:t ^ affine = ( C P i ′ ′ T C P i ′ ′ ) - 1 C P i ′ ′ T Y i ′ = 1 det l p 0 - μ xp μ yp 0 l p - μ yp - μ xp - μ xp - μ yp N 0 μ yp - μ xp 0 N μ xq μ yq l p + q l p - q ]]> 其中:
代表一级匹配位置序列的纬度的之和,
代表二级垂足序列的纬度之和,
代表一级匹配位置序列的经度的之和,
代表二级垂足序列的经度之和,
代表一级匹配位置序列和二级垂足序列的点积之和,
代表一级匹配位置序列和二级垂足序列的叉积之和,
代表一级匹配位置序列的模的平方之和,det = N × l p - μ xp 2 - μ yp 2 ]]> 代表矩阵
的模;由此就可以得到:t ^ affine = ( t ^ affinex , t ^ affiney , α ^ affine cos θ ^ affine , α ^ affine sin θ ^ affine ) T ]]> 其中
为求解所得的平移因子,
为求解所得的缩放因子,
为求解所得的旋转因子;对一级匹配位置序列作仿射变换得二级匹配位置序列Pi″′:P i ' ' ' = Lati P i ' ' ' Longti P i ' ' ' = t ^ affinex t ^ affiney + α ^ affine cos θ ^ affine - α ^ affine sin θ ^ affine α ^ affine sin θ ^ affine α ^ affine cos θ ^ affine P i ' ' ]]>
代表二级匹配位置序列的纬度,
代表二级匹配位置序列的经度;步骤5:将二级匹配位置序列Pi″′中的最新位置信息、P20″′作为观测信息,利用卡尔曼滤波器中的间接滤波法估计并修正主惯性导航系统位置误差,卡尔曼滤波器接收惯性导航系统的当前位置信息和最新位置信息P20″′的差值,经过滤波计算,估计出惯性导航系统位置误差量,用估计出的位置误差去修正惯性导航系统输出的位置信息,作为导航位置信息输出。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310537377.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种快速检测天然气中酸性物质含量的方法
- 下一篇:一种车轮毛坯定位检测装置