[发明专利]一种基于回溯搜索的无人机空中加油位姿估计方法在审

专利信息
申请号: 201510582183.7 申请日: 2015-09-14
公开(公告)号: CN105300383A 公开(公告)日: 2016-02-03
发明(设计)人: 段海滨;干露 申请(专利权)人: 北京航空航天大学
主分类号: G01C21/20 分类号: G01C21/20
代理公司: 北京慧泉知识产权代理有限公司 11232 代理人: 王顺荣;唐爱华
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明是一种基于回溯搜索的无人机空中加油位姿估计方法,其实施步骤为:步骤一:获取进行位姿估计所需信息;步骤二:初始化回溯搜索算法参数;步骤三:设计代价函数;步骤四:利用鲁棒透视n点算法进行位姿估计;步骤五:利用变异交叉算子进行寻优;步骤六:储存结果并验证。本发明提出的位姿估计算法具有很高的准确性和鲁棒性,可在无人机空中加油的精确导引过程中使用,保证对接过程的安全顺利进行。
搜索关键词: 一种 基于 回溯 搜索 无人机 空中加油 估计 方法
【主权项】:
一种基于回溯搜索的无人机空中加油位姿估计方法,其特征在于:该方法的具体步骤如下:步骤一:获取进行位姿估计所需信息用透视n点定位解法进行位姿估计,需要获取参与位姿估计运算的所有特征点的信息,包括特征点的总个数,这些特征点在受油机坐标系下的位置信息、在安装在加油机上的摄像机中的图像坐标值以及两者的对应关系,获取摄像机的内参信息;步骤二:初始化回溯搜索算法参数(1)初始化优化参数维数D用群体智能算法在所有的特征点中寻找两个最优的特征点来建立正交坐标系,因此,D设置为2;(2)初始化种群数量N种群数量N与算法的优化效果关系紧密,较大的种群数量能加速优化算法的收敛速度,但同时也会增加计算复杂度,根据实际问题选择一个适当的种群数量,兼顾算法优化的准确性和效率;(3)初始化种群P和历史种群Pold位置由于回溯搜索算法中初始值对优化性能的影响较小,故在定义好的搜索空间中随机产生种群个体,以初始化种群和历史种群;low为搜索空间的下限,up为搜索空间的上限,则种群和历史种群中个体的每一维被初始化为:<mrow><mo>{</mo><mrow><mtable><mtr><mtd><mrow><msub><mi>P</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>~</mo><mi>U</mi><mrow><mo>(</mo><mrow><msub><mi>low</mi><mi>j</mi></msub><mo>,</mo><msub><mi>up</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><msup><mi>P</mi><mrow><mi>o</mi><mi>l</mi><mi>d</mi></mrow></msup><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>~</mo><mi>U</mi><mrow><mo>(</mo><mrow><msub><mi>low</mi><mi>j</mi></msub><mo>,</mo><msub><mi>up</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></mrow>式中,i∈[1,2,3,...N],j∈[1,2,3,...,D],U是随机均匀分布函数;(4)设置算法重要参数对于随机搜索算法,一些重要参数的设置会影响算法的优化性能,变异尺度系数F的大小直接控制了变异算子操作中的搜索幅度,混合比例参数mr将影响种群间交叉的个体个数;(5)设置算法迭代次数NC算法迭代次数将直接影响算法的优化结果,设置算法的迭代次数应考虑算法对于实际问题的平均收敛速度,以及应用中对于算法优化性能和时间的要求;步骤三:设计适应度函数适应度函数是群智能优化方法的核心,决定优化结果的实用性,适应度函数直接设计为估计出的位姿结果与真值之间的误差,如下式所示:<mrow><mi>f</mi><mi>i</mi><mi>t</mi><mi>n</mi><mi>e</mi><mi>s</mi><mi>s</mi><mrow><mo>(</mo><msub><mi>P</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mo>|</mo><mo>|</mo><msub><mi>T</mi><mi>i</mi></msub><mo>-</mo><msub><mi>T</mi><mn>0</mn></msub><mo>|</mo><mo>|</mo></mrow><msub><mi>T</mi><mn>0</mn></msub></mfrac><mo>+</mo><mi>max</mi><mrow><mo>(</mo><mrow><mi>arccos</mi><mrow><mo>(</mo><mrow><msup><msub><mi>R</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub><mi>T</mi></msup><mo>&CenterDot;</mo><msub><mi>R</mi><mn>01</mn></msub></mrow><mo>)</mo></mrow><mo>,</mo><mi>arccos</mi><mrow><mo>(</mo><mrow><msup><msub><mi>R</mi><mrow><mi>i</mi><mn>2</mn></mrow></msub><mi>T</mi></msup><mo>&CenterDot;</mo><msub><mi>R</mi><mn>02</mn></msub></mrow><mo>)</mo></mrow><mo>,</mo><mi>a</mi><mi>r</mi><mi>c</mi><mi>cos</mi><mrow><mo>(</mo><mrow><msup><msub><mi>R</mi><mrow><mi>i</mi><mn>3</mn></mrow></msub><mi>T</mi></msup><mo>&CenterDot;</mo><msub><mi>R</mi><mn>06</mn></msub></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>式中,Ti和Ri=[Ri1 Ri2 Ri3]分别为第i个个体所对应的平移向量和旋转矩阵的估计值,T0和R0=[R01 R02 R03]分别为平移向量和旋转矩阵的真实值;步骤四:利用RPnP算法进行位姿估计种群中的每一个个体分别代表了两个不同的特征点,基于该两点组成的线段能建立一个正交坐标系OaXaYaZa,定义的中点作为该坐标系的原点Oa,且Za轴的正方向与方向相同,建立好正交坐标系后,将所有特征点的坐标值从受油机坐标系转换到该坐标系下,则加油机相对于受油机的相对位姿估计转换为相机坐标系相对于坐标系OaXaYaZa的位姿解算问题;为求解该问题,将n个特征点分为(n‑2)个子集,每一个子集包括三个不同的特征点,如{Pi0Pj0Pk|k≠i0,k≠j0},根据三点约束,得到如下多项式:<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>f</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>&alpha;</mi><mn>1</mn></msub><msup><mi>x</mi><mn>4</mn></msup><mo>+</mo><msub><mi>&beta;</mi><mn>1</mn></msub><msup><mi>x</mi><mn>3</mn></msup><mo>+</mo><msub><mi>&chi;</mi><mn>1</mn></msub><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msub><mi>&delta;</mi><mn>1</mn></msub><mi>x</mi><mo>+</mo><msub><mi>e</mi><mn>1</mn></msub><mo>=</mo><mn>0</mn><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>f</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>&alpha;</mi><mn>2</mn></msub><msup><mi>x</mi><mn>4</mn></msup><mo>+</mo><msub><mi>&beta;</mi><mn>2</mn></msub><msup><mi>x</mi><mn>3</mn></msup><mo>+</mo><msub><mi>&chi;</mi><mn>2</mn></msub><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msub><mi>&delta;</mi><mn>2</mn></msub><mi>x</mi><mo>+</mo><msub><mi>e</mi><mn>2</mn></msub><mo>=</mo><mn>0</mn><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><mo>...</mo><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>f</mi><mrow><mi>n</mi><mo>-</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>&alpha;</mi><mrow><mi>n</mi><mo>-</mo><mn>2</mn></mrow></msub><msup><mi>x</mi><mn>4</mn></msup><mo>+</mo><msub><mi>&beta;</mi><mrow><mi>n</mi><mo>-</mo><mn>2</mn></mrow></msub><msup><mi>x</mi><mn>3</mn></msup><mo>+</mo><msub><mi>&chi;</mi><mrow><mi>n</mi><mo>-</mo><mn>2</mn></mrow></msub><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msub><mi>&delta;</mi><mrow><mi>n</mi><mo>-</mo><mn>2</mn></mrow></msub><mi>x</mi><mo>+</mo><msub><mi>e</mi><mrow><mi>n</mi><mo>-</mo><mn>2</mn></mrow></msub><mo>=</mo><mn>0.</mn></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>求解上述多项式,得到正交坐标系OaXaYaZa中Pi0和Pj0之间的深度,从而计算出旋转轴Za以及绕Za轴旋转的旋转角α;确定旋转轴后,从坐标系OaXaYaZa到相机坐标系的旋转矩阵表示如下:<mrow><msub><mi>R</mi><mi>i</mi></msub><mo>=</mo><mi>R</mi><mi>r</mi><mi>o</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>Z</mi><mi>a</mi></msub><mo>,</mo><mi>&alpha;</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>r</mi><mn>1</mn></msub></mtd><mtd><msub><mi>r</mi><mn>4</mn></msub></mtd><mtd><msub><mi>r</mi><mn>7</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>2</mn></msub></mtd><mtd><msub><mi>r</mi><mn>5</mn></msub></mtd><mtd><msub><mi>r</mi><mn>8</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>3</mn></msub></mtd><mtd><msub><mi>r</mi><mn>6</mn></msub></mtd><mtd><msub><mi>r</mi><mn>9</mn></msub></mtd></mtr></mtable></mfenced><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mi>&alpha;</mi></mrow></mtd><mtd><mrow><mo>-</mo><mi>s</mi><mi>i</mi><mi>n</mi><mi>&alpha;</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mi>s</mi><mi>i</mi><mi>n</mi><mi>&alpha;</mi></mrow></mtd><mtd><mrow><mi>cos</mi><mi>&alpha;</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>式中,R为第三列元素与Za相等的正交旋转矩阵,再根据相机参数λ和空间三维点的投影关系,得下式:λpj=RiPj+Ti    (8)式中,Pj(j=1,2,...,n)是空间三维点,pj(j=1,2,...,n)是空间三维点对应的图像坐标,最后,将<mrow><msub><mi>R</mi><mi>i</mi></msub><mo>=</mo><mi>R</mi><mi>r</mi><mi>o</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>Z</mi><mi>a</mi></msub><mo>,</mo><mi>&alpha;</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>r</mi><mn>1</mn></msub></mtd><mtd><msub><mi>r</mi><mn>4</mn></msub></mtd><mtd><msub><mi>r</mi><mn>7</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>2</mn></msub></mtd><mtd><msub><mi>r</mi><mn>5</mn></msub></mtd><mtd><msub><mi>r</mi><mn>8</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>3</mn></msub></mtd><mtd><msub><mi>r</mi><mn>6</mn></msub></mtd><mtd><msub><mi>r</mi><mn>9</mn></msub></mtd></mtr></mtable></mfenced><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mi>&alpha;</mi></mrow></mtd><mtd><mrow><mo>-</mo><mi>s</mi><mi>i</mi><mi>n</mi><mi>&alpha;</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mi>s</mi><mi>i</mi><mi>n</mi><mi>&alpha;</mi></mrow></mtd><mtd><mrow><mi>cos</mi><mi>&alpha;</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow>式(7)带入式(8),求解出个体i对应的旋转矩阵Ri和平移向量Ti;步骤五:利用变异交叉算子进行寻优利用初始化的群体和历史群体的位置,根据M=P+F(Pold‑P)式(1)对当前群体进行变异操作,历史群体决定了当前群体变异的方向,变异尺度系数限制了在该方向上变异的幅度,得到变异群体M后,进行交叉操作,式中,P和M分别是当前种群位置和变异后的种群位置,变异尺度系数F的大小控制了在(Pold‑P)方向上搜索的幅度;根据<mrow><msub><mi>T</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>M</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>map</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>P</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>map</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced></mrow>式(2)在变异群体和当前群体之间进行交叉操作,实际交叉的个体取决于map矩阵的生成;式中的map为一个取值为0或1的二元矩阵,该矩阵的生成过程为:首先将所有元素初始化为1,再按照如下方式进行随机初始化:式中,D为种群的维数,rnd为(0,1)区间均匀分布的随机数,mr为混合比例参数;u为向量[1,2,...,D]进行随机排序后的整数向量,代表个体维数的索引;当随机数a<b时,选出向量u中排在前个的元素,对mapi向量相应的维数位置进行置零操作;当a≥b时,mapi向量仅在randi(D)维上为0,其余元素均为初始化的值1;在交叉算子使用之后,计算每个交叉后个体的适应度值,即RPnP算法在该个体所选择的两个特征点建立起的正交坐标系的基础上对相对位姿的估计误差,具体计算过程见步骤三和步骤四;如果交叉后的个体适应度值小于当前个体的适应度值,则将交叉后个体作为新种群中的个体,反之则不改变当前个体,继续下一轮寻优,当运行次数大于算法设定的最大迭代次数时,停止寻优过程;步骤六:储存结果并验证在停止寻优后的当前群体中选择出全局最优值,即适应度值最小的个体,将此结果保存,此结果所对应的位姿估计值为估计误差最小的值;在后续对该特征点集的位姿估计中,直接采用此结果建立正交坐标系,进行位姿解算,不需要重复寻优过程,得到的位姿估计结果仍然具有高精度。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510582183.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top