当前位置:文档之家› 基于惯性传感器和视觉里程计的机器人定位

基于惯性传感器和视觉里程计的机器人定位

第34卷第l期2叭3年1月仪器仪表学报

ChineseJoumalofScientificInstlllmentV01.34No.1Jan.2013

基于惯性传感器和视觉里程计的机器人定位

夏凌楠1,张波2,王营冠1,魏建明2

(1.中国科学院上海微系统与信息技术研究所无线传感网与通信重点实验室上海200050;

2.中国科学院上海高等研究院上海201210)

摘要:针对机器人快速运动下,由运动模糊而导致视觉里程计定位估计精度下降的问题,结合惯性传感器和视觉里程计提出一

种定位算法。该方法以扩展卡尔曼滤波(extendedKalman6lter,EKF)为框架,利用惯性传感器的航位推算构建EKF的过程模型,

视觉里程计作为相对线速度和相对角速度传感器用来建模观测方程,同时考虑到机器人运动在平面上,在垂直方向和侧向方向不

会产生跳动和滑动,利用这两个方向上瞬时速度为零的约束构建另外一个观测方程。提出的定位方法能够克服视觉定位和惯性

定位的缺点,提高了定位精度。基于机器人实测数据进行实验,结果表明提出的算法优于单独采用惯性传感器和视觉里程计。

关键词:机器人定位;惯性传感器;视觉里程计;扩展卡尔曼滤波

中图分类号:TP301.6文献标识码:A国家标准学科分类代码:460.40

RobotlOcalizationalgorithmbasedoninertialsensorand订deood锄etry

XianngIlanl,ZhangB02,WangYingguanl,WeiJianmin92(J.研儿60删D¨矿耽reks&嬲or^协埘。以&co肼Hu凡缸谢如凡,肌o,l咖i觚胁眦e矿舭瑚”£em

Ⅱ以倒台丌M£ion‰^加209y,吼i耻seAc础,可矿Sc如M∞,‰,劬以20∞50,吼i№;2.Sk啦oiA幽口愀d

鼢眦n如Jw疵眦e,吼in部e』4c础,Ⅳo厂&如,艄,虢口,lg讹i2DJ2JD,c^i船)

Abstract:Aimingattheproblemthatthe10calizationestimationaccuracyofVisualodometrydropsduetomotionblur

underfastrobotmotion,alocalizationalgorithmisproposedbasedoninenialsensorandVisualodometry.Takingex—tendedKalmem6lter(EKF)astheframework,theproposedalgorithmconstmctstheEKFpmcessmodelusingthe

deadreckoningofinertialsensor;VisualodometryisusedasrelativelinearVelocityandangularVelocitysensorstomodeltheobsenrationequa上ion.TakingintoaccountthefactorthattheIDbotdoesnotslideandjumpinverticaland

lateraldirectionswhilemoVingonaplane,theconstraintthattheinstantaneousvelocitiesinthesetwodirectionsare

zeroisusedtoconstmctanotherobsen,ationequation.Theproposedlocalizationalgodthmovercomestheshortcomings

ofineniallocalizationandVisuallocalizationandimpr0Veslocalizationaccuracyaswell.Experimentsonrealrobot

testdatawereconducted.ExpeIimemresultsshowthattheproposedalgorithmissuperiort0theao甜rithmsusinginer—

tialsensororvisualodometryalone.

Keywords:robotlocalization;inertialsensor;visualodometry(VO);extendedKalmem6lter(EKF)

1引言

定位是移动机器人应用的关键技术之一,是机器人实现

自主化的—个首要问题,也是机器人自主导航和路径规划的

的基础。定位技术分为相对定位和绝对定位2类。绝对定

位是指利用导航信标、主动或被动标识或卫星导航技术(dobalpositio血ngsystem,GPS)进行定位¨。,一般用在星空

探索,而且应用场合一般在室外有信标或者GPS信号覆盖的

地方。相对定位则是采用里程计、惯性传感器(IMu)、声呐

及视觉传感器等确定机器人在操作环境中相对于初始时刻

的位置和姿态。传统的相对定位算法主要分为里程计法和

惯性导航法‘2J。里程计(od0咖田)是一种被广泛应用的方

收稿日期:2012—05ReceivedDate:2012—05

;基金项目:国家重大专项(20lOzX03006瑚4)、中国科学院知识创新工程重要方向项目(Y022081131)资助

万方数据第1期夏凌楠等:基于惯性传感器和视觉里程计的机器人定位167

式,通过安装在车轮上的光电编码器记录机器人的运动过程

从而估计其位置。惯性导航法则利用加速度计和陀螺仪实

现定位。由于轮子的侧滑或者积分累积误差的存在,里程计

和惯性导航的定位精度往往很差。基于视觉里程计(viusal

0do腿Ⅱy,VO)的定位技术是目前较为新颖和研究较多的一

种定位技术∞剖。VO通过刚性挂载在机器人上的摄像机采

集图像数据,根据图像特征和运动约束进行位姿估计,不会

产生积累误差。基于VO的定位技术是复杂导航算法的基础,如A.J.D撕son∞j及P.NeⅦm_置等人利用单目摄像机

进SuLM(同时定位与测绘)。但当视觉传感器数据采样率

和机器人运动速度相比较低时,会造成兴趣点数目减少而引

起估计精度降低。与视觉不同,惯性传感器对于短期运动预

测精度较好,不会受到突然运动变化的影响,考虑到视觉和

惯性传感器的这种互补性,本文将着重研究如何通过两者结

合提高定位精度。现有的IMu和视觉测程算法大都没有充

分考虑机器人的运动约束。针对此问题,本文将研究使用双

目视觉传感器结合珊u进行定位,考虑到IMu和V0各自

的特点建立系统模型,主要创新点如下:

1)根据IMU瞬时反应快的特性,将IMU的测量值用

来驱动过程模型以适应机器人的机动性;

2)根据立体视觉不会产生积累误差的特性,将立体

视觉的定位估计结果作为观测模型的观测值以矫正IMu

的误差;

3)根据机器人在运动时可能产生的瞬时滑动和跳跃

的约束条件,将y轴和z轴上的观测速度建模为零均值

的噪声。

2算法设计

本文设计的坐标系如图1所示,分别为导航坐

标系(凡),代表机器人相对于初始位置的坐标;IMu坐

标系(6),表示惯性测量单元自身的坐标系;摄像机坐标

系(c),代表摄像机自身坐标系。由于IMu和视觉里程

计的直接测量值是针对自身坐标系的,因此在系统建模

时需要通过坐标变换转换为本地导航坐标系。

㈥l饥器人’F台毖g!际系

Fig.1RobotplaⅡo硼andrelatedcoordinatesystem机器人定位问题可归结为非线性系统状态估计问

题。对于一般的非线性动态系统,过程方程和观测方程

可由式(1)和式(2)表示,其中工。和y。分别表示状态向量

和观测向量,H。为控制向量,,和^,表示过程函数和量测

函数。扩展卡尔曼滤波通过雅可比矩阵来实现系统的近

似线性化,雅可比矩阵由过程函数和测量函数的偏导得

到,如式(3)~(5)所示,其中R和F。表示过程函数对

状态向量和控制向量的偏导,峨表示测量方程对状态变

量的偏导。在过程模型及观测模型已知时,就可以通过扩

展卡尔曼滤波的方法对机器人进行状态估计,具体实现

过程可见文献[9]。

j。=,(工.I,H。)+l,,(1)

y,=九。(工。,’.,。)(2)

扯鼽。。(3)

。誓k(4)

峨=尝_。.(5)

下面将分别介绍EKF的两个重要组成部分,过程模

型和观测模型。

2.1过程模型

过程模型用来描述状态变量在前后两个时刻的传递

关系,针对机器人定位,需要估计的状态向量如式所示:

x=[p:y:贼鹾8∞:.。](6)

式中:x表示状态变量,变量中各元素分别表示机器人3个方

向坐标、3个方向线速度、3个方向角速度、加速度误差向量及

角速度误差向量,七表示时间。上标n表示局部导航坐标系,

所有估计都相对于该坐标系。6表示IMU参考坐标系。

IMu的测量值作为过程模型的输入变量,过程模型

表示为:

p:=p:一。+△丁·p:一。(7)

l,:=l,:+△r·[c:厂5一94](8)

蛾=蛾一。+△r·E:∞:(9)

鲈:=8,:一。(10)

8∞:.^=8∞:*l(11)

式中:c:为IMu参考系到本地导航系的离散余弦变换矩

阵(directioncosinematrin,DCM),联表示从IMU参考系

到本地导航系的的旋转率变换矩阵。△r为采样时间间

隔。考虑到IMu的测量值包含噪声和偏置,则有:

,6=,:一8,L..,。(12)

∞:=w:.。一8’.,:一’.,。(13)

式中,:和甜:.。为IMu的非重力加速度及角速度的测量

值。'.,。和'.,。分别表示加速度计和陀螺仪的噪声,6,:和

8∞:.。表示测量值相应的偏置量。将式(12)、(13)代人

万方数据168仪器仪表学报第34卷

式(7)~(11),可以得到由IMu原始测量值导出的系统

状态转移模型,如式(14)~(18)所示:

p:=p:一。+△r·l,:(14)

y:=l,:一。+△丁(c:厂:一c:8,6一c:’.,。一g“)(15)

蛾=蛾一。+△r·(层:’.,:.。一E:6’.,:一E:’.’。)

鲈:=6,:一。

8∞:.I=8∞:.^

2.2观测模型(16)

(17)

(18)

观测模型表达观测量和状态变量之问的关系,一般

来说,该模型可由传感器的测量模型近似得到。在机器

人运动过程中,立体像机连续观测环境的特征点,利用多

视角几何和图像特征提取技术实现定位。利用视觉进行

定位的技术称为视觉运动估计或视觉里程计,视觉里程

计定位包含如下4个步骤:

1)特征检测。首先从左右相机拍摄的图片中进行兴趣

点检测,从摄像机的图像中检测特征点,如Harriscomer¨…、

KL变换(ka出unen10evetIan舶邢,KLT)。1“、加速稳健特征

(speededup11DbustfBatures,SURF)¨2。和尺度不变特征转换(scale.invariant胁uretraIlsfo硼,SIFr)¨3。等算法。本文图像

特征提取采用SI兀1算子,sIFr算子的优势在于其特征点对

图像缩放、旋转甚至仿射能够保持不变性;

2)立体匹配。立体匹配的目的是针对物理空间的同

一点,将其在不同图像中(双目摄像机的左右摄像头图

像)的成像点对应起来,形成视差信息以求得该点的相对

三维坐标。本文采用对极几何法获得。

3)时域特征点跟踪。利用最小化零均值归一化互相

关的方法实现同一摄像机(如左摄像机)在不同时刻的

特征点匹配,而后通过三角定位获取特征点相对当前摄

像机的三维坐标。

4)运动估计。在立体匹配和时域特征点跟踪的基础上,

就可以通过机器人在相邻采样间隔内相对于同一物理空间

点的相对位姿的变化,对其进行运动估计。本文采用

RANSAC(砌doms趼lpleconseIlsus)方法实现运动估计¨“。

视觉里程计得到是前后两个连续采样时刻的相对位姿,

那么除以前后两个时刻的时间差,就能够得到机器人的相对

线速度和角速度,以此作为量测值,可建立如下的观测模型:

l,:.^=c:l,:+I,¨(19)

Ⅱ垆一佃严∞::I,I=E:(型—≯)+%,。(20)‘j』式中:下标m表示测量值,l,:.。和∞:.。为Vo观测到的机

器人的线速度和角速度向量。p。为均值为0、协方差矩阵

为霞。的高斯白噪声。

机器人在平面上运动,理想情况下并不会在平面上

产生跳动或侧滑,假设在机器人沿着其参考系的z轴方向行进,则自由约束下其在y轴和三轴方向上的速度为

零。将这两个约束作为另一个量测值,构建另一组量测方

程。如式(21)、(22)所示:

秽h=0(21)

秽k=0(22)

IMu参考系和导航坐标系的关系由式(23)计算:

盱哦篆并兰茹篙抄

『钌"(cos咖cos砂+sin咖sinpsin砂)1.o秽。,(cos咖sin口cos砂一sin币cos砂)1

[嚣宅。¨::::】㈤,

考虑到实际应用中,往往会产生侧滑,因此上述理想

情况并不成立,本文中,将这种模型的不确定性建模为高

斯噪声,如I,。,和l,k,咖、9和沙表示3个方向上的欧拉角。

2.3算法框架本文采用的算法流程如图2所示。首先,基于视觉

传感器进行视觉运动估计,将其估计结果作为EKF的观

测,然后结合由IMU驱动的过程模型,最终得到系统状

态的估计结果。

系统状态估计

图2本文提出的算法流程图

Fig.2nowchartofthepI_oposedalgorithm

在EKF的迭代滤波过程中,由于观测值的偏差可能

会导致滤波发散,因此本文在更新过程中,利用观测值和

预测观测值之间的差别来表征滤波的性能,这个差别可

称为残差。这里采用马氏距离来计算残差,以检测含噪

观测值,如式(24)所示:

y=(z}一z^)1S叫(z&一zI)(24)

式中:z;和三。分别为观测值及预测观测值,两者的协方差

万方数据

相关主题