[发明专利]一种基于图像标志物识别的移动机器人SLAM方法有效

专利信息
申请号: 201410283032.7 申请日: 2014-06-23
公开(公告)号: CN104062973A 公开(公告)日: 2014-09-24
发明(设计)人: 布树辉;何毕;刘贞报 申请(专利权)人: 西北工业大学
主分类号: G05D1/02 分类号: G05D1/02
代理公司: 西北工业大学专利中心 61204 代理人: 陈星
地址: 710072 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提出一种基于图像标志物识别的移动机器人SLAM方法,采用EKF-SLAM模型进行机器人状态参数的时间更新和基于标志物识别的测量更新。本方法可以从环境中获取大量信息,从而使机器人能够构建出高精度的环境地图。与现有方法相比具有对环境空间结构理解更准确,抗干扰能力强,构建的地图精度高的特点。
搜索关键词: 一种 基于 图像 标志 识别 移动 机器人 slam 方法
【主权项】:
一种基于图像标志物识别的移动机器人SLAM方法,其特征在于:采用以下步骤:步骤1:机器人开始运动后,由实际中机器人对应的数学模型和运动的初始条件,机器人使用上一时刻的状态信息,根据EKF‑SLAM模型的时间更新方程对此时的状态进行预测估计,完成先验估计的构造,同时构建地图:由机器人运动过程第k‑1时刻的状态信息按照时间更新方程:<mfenced open='{' close=''><mtable><mtr><mtd><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup><mo>=</mo><mi>A</mi><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>Bu</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><msup><msub><mi>P</mi><mi>k</mi></msub><mo>-</mo></msup><mo>=</mo><msub><mi>AP</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><msup><mi>A</mi><mi>T</mi></msup><mo>+</mo><mi>Q</mi></mtd></mtr></mtable></mfenced>推算第k时刻状态估计的先验值其中Pk为第k时刻协方差的先验值,uk‑1为第k‑1时刻对机器人施加的控制信号,A、B分别表示机器人运动模型对uk‑1的雅克比矩阵;Q为先验估计误差;Pk‑1为第k‑1时刻协方差的后验值;机器人运动过程的状态信息由机器人的位置和姿态信息组成;地图由m=(m1,m2,...)T表示,由到第k时刻为止机器人存储的所有标识物坐标构成;步骤2:机器人实时拍摄环境,使用计算机视觉方法的处理拍摄到的图像,找到标志物在图像中的位置,然后用机器视觉测量方法计算出机器人与标志物的相对位置关系;得到相对位置关系作为EKF‑SLAM模型的测量更新方程的输入,根据测量更新方程对机器人位置状态的先验估计进行修正:步骤2.1:识别标志物:所述标志物由7x7的黑色和白色小方格组成,最外围的小方格全为黑色,内部的5x5的小方格中,每一行均包括3个奇偶校验位和2个数据位,其中第2位和第4位为数据位;奇偶校验位确定出标志物的方向,数据位表示标志物唯一的ID号;步骤2.1.1:将机器人拍摄的图像转化至灰度空间;步骤2.1.2:对已转化至灰度空间的图像进行二值化操作;步骤2.1.3:在二值化的图像中检测轮廓线,并查找候选的标志物对象;步骤2.1.4:对候选标志物进行检测并确定标志物的ID号;步骤2.2:估计标志物相对于机器人的位置和姿态:步骤2.2.1:对于识别出的标志物,取其轮廓上不共线的三点A`、B`、C`的图像坐标(ui,vi),分别算出它们在机器人图像采集装置成像平面上的成像点坐标i=A`、B`、C`:<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><msub><mi>c</mi><mi>i</mi></msub></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><msub><mi>c</mi><mi>i</mi></msub></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>=</mo><msup><mi>M</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>u</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><msub><mi>v</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow>其中,M为机器人图像采集装置的内参数矩阵,得到了点A、B、C在机器人图像采集装置坐标系中投影方向上的单位向量ei,其中点A、B、C为点A`、B`、C`对应的现实世界中的点:<mrow><msub><mi>e</mi><mi>i</mi></msub><mo>=</mo><mfrac><mn>1</mn><msqrt><msubsup><mi>x</mi><msub><mi>c</mi><mi>i</mi></msub><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>y</mi><msub><mi>c</mi><mi>i</mi></msub><mn>2</mn></msubsup><mo>+</mo><mn>1</mn></msqrt></mfrac><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><msub><mi>c</mi><mi>i</mi></msub></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><msub><mi>c</mi><mi>i</mi></msub></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow>eA'、eB'、eC'分别为点A、B、C在机器人图像采集装置坐标系中投影方向上的单位向量;步骤2.2.2:根据以下公式:<mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>D</mi><mi>AB</mi></msub><mo>=</mo><mi>&lambda;</mi><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><msub><mi>c</mi><msup><mi>A</mi><mtext>&prime;</mtext></msup></msub></msub><mo>-</mo><msub><mi>x</mi><msub><mi>c</mi><msup><mi>B</mi><mo>&prime;</mo></msup></msub></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><msub><mi>c</mi><msup><mi>A</mi><mo>&prime;</mo></msup></msub></msub><mo>-</mo><msub><mi>y</mi><msub><mi>c</mi><msup><mi>B</mi><mo>&prime;</mo></msup></msub></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mtd></mtr><mtr><mtd><msub><mi>D</mi><mi>BC</mi></msub><mo>=</mo><mi>&lambda;</mi><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><msub><mi>c</mi><msup><mi>B</mi><mtext>&prime;</mtext></msup></msub></msub><mo>-</mo><msub><mi>x</mi><msub><mi>c</mi><msup><mi>C</mi><mo>&prime;</mo></msup></msub></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><msub><mi>c</mi><msup><mi>B</mi><mo>&prime;</mo></msup></msub></msub><mo>-</mo><msub><mi>y</mi><msub><mi>c</mi><msup><mi>C</mi><mo>&prime;</mo></msup></msub></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mtd></mtr><mtr><mtd><msub><mi>D</mi><mi>AC</mi></msub><mo>=</mo><mi>&lambda;</mi><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><msub><mi>c</mi><msup><mi>A</mi><mtext>&prime;</mtext></msup></msub></msub><mo>-</mo><msub><mi>x</mi><msub><mi>c</mi><msup><mi>C</mi><mo>&prime;</mo></msup></msub></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><msub><mi>c</mi><msup><mi>A</mi><mo>&prime;</mo></msup></msub></msub><mo>-</mo><msub><mi>y</mi><msub><mi>c</mi><msup><mi>C</mi><mo>&prime;</mo></msup></msub></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mtd></mtr></mtable></mfenced><mfenced open='{' close=''><mtable><mtr><mtd><mi>cos</mi><msub><mi>&theta;</mi><mi>AB</mi></msub><mo>=</mo><msubsup><mi>e</mi><msup><mi>B</mi><mo>&prime;</mo></msup><mi>T</mi></msubsup><msub><mi>e</mi><msup><mi>C</mi><mo>&prime;</mo></msup></msub></mtd></mtr><mtr><mtd><mi>cos</mi><msub><mi>&theta;</mi><mi>AC</mi></msub><mo>=</mo><msubsup><mi>e</mi><msup><mi>A</mi><mo>&prime;</mo></msup><mi>T</mi></msubsup><msub><mi>e</mi><msup><mi>C</mi><mo>&prime;</mo></msup></msub></mtd></mtr><mtr><mtd><mi>cos</mi><msub><mi>&theta;</mi><mi>BC</mi></msub><mo>=</mo><msubsup><mi>e</mi><msup><mi>A</mi><mo>&prime;</mo></msup><mi>T</mi></msubsup><msub><mi>e</mi><msup><mi>B</mi><mo>&prime;</mo></msup></msub></mtd></mtr></mtable></mfenced></mrow>计算空间点A、B、C间的距离DAB,DBC,DAC以及相应角度余弦值cosθAB,cosθAC,cosθBC;其中λ为比例系数,λ=1/L,L为标志物中单个小方格的边长;并根据方程<mfenced open='{' close=''><mtable><mtr><mtd><msubsup><mi>d</mi><mi>A</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>d</mi><mi>B</mi><mn>2</mn></msubsup><mo>-</mo><mn>2</mn><msub><mi>d</mi><mi>A</mi></msub><msub><mi>d</mi><mi>B</mi></msub><mi>cos</mi><msub><mi>&theta;</mi><mi>AB</mi></msub><mo>=</mo><msubsup><mi>D</mi><mi>AB</mi><mn>2</mn></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>d</mi><mi>A</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>d</mi><mi>C</mi><mn>2</mn></msubsup><mo>-</mo><mn>2</mn><msub><mi>d</mi><mi>A</mi></msub><msub><mi>d</mi><mi>C</mi></msub><mi>cos</mi><msub><mi>&theta;</mi><mi>AC</mi></msub><mo>=</mo><msubsup><mi>D</mi><mi>AC</mi><mn>2</mn></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>d</mi><mi>B</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>d</mi><mi>C</mi><mn>2</mn></msubsup><mo>-</mo><mn>2</mn><msub><mi>d</mi><mi>B</mi></msub><msub><mi>d</mi><mi>C</mi></msub><mi>cos</mi><msub><mi>&theta;</mi><mi>BC</mi></msub><mo>=</mo><msubsup><mi>D</mi><mi>BC</mi><mn>2</mn></msubsup></mtd></mtr></mtable></mfenced>得到机器人图像采集装置光心到点A、B、C的距离dA,dB,dc;并由公式<mrow><msub><mi>P</mi><mi>j</mi></msub><mo>=</mo><msub><mi>d</mi><mi>j</mi></msub><msub><mi>e</mi><mi>j</mi></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><msub><mi>z</mi><mi>j</mi></msub></mtd></mtr></mtable></mfenced></mrow>得到点A、B、C在机器人图像采集装置坐标系下的坐标Pj,j=A,B,C;eA=eA',eB=eB',eC=eC';步骤2.2.3:在点A、B、C中任意取一点,进行如下运算:其中,Dj为机器人与标志物的距离,为标志物与机器人前进方向的夹角;xj、zj为点A、B、C中任意取的一点的坐标值;η为观测误差;zk为第k时刻的测量值;步骤2.3:根据步骤2.2得到的第k时刻的测量值,在EKF‑SLAM模型的测量更新方程中<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>K</mi><mi>k</mi></msub><mo>=</mo><msup><msub><mi>P</mi><mi>k</mi></msub><mo>-</mo></msup><msup><mi>H</mi><mi>T</mi></msup><msup><mrow><mo>(</mo><msup><msub><mi>HP</mi><mi>k</mi></msub><mo>-</mo></msup><msup><mi>H</mi><mi>T</mi></msup><mo>+</mo><mi>R</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup></mtd></mtr><mtr><mtd><msub><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi></msub><mo>=</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup><mo>+</mo><msub><mi>K</mi><mi>k</mi></msub><mrow><mo>(</mo><msub><mi>z</mi><mi>k</mi></msub><mo>-</mo><mi>H</mi><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mo>-</mo></msubsup><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>P</mi><mi>k</mi></msub><mo>=</mo><mrow><mo>(</mo><mi>I</mi><mo>-</mo><msub><mi>K</mi><mi>k</mi></msub><mi>H</mi><mo>)</mo></mrow><msup><msub><mi>P</mi><mi>k</mi></msub><mo>-</mo></msup></mtd></mtr></mtable></mfenced>对步骤1得到的第k时刻状态估计的先验值以及第k时刻协方差的先验值Pk进行修正,得到第k时刻机器人状态估计的后验值和协方差的后验值Pk;其中H表示机器人观测模型对的雅克比矩阵;R为测量误差;步骤2.4:地图扩建:每次观测到标志物后,机器人会将该标志物的位置扩充到构建的地图中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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