CN110864685A - 一种基于松耦合的车辆单目视觉轮式里程计定位方法 - Google Patents
一种基于松耦合的车辆单目视觉轮式里程计定位方法 Download PDFInfo
- Publication number
- CN110864685A CN110864685A CN201910993409.0A CN201910993409A CN110864685A CN 110864685 A CN110864685 A CN 110864685A CN 201910993409 A CN201910993409 A CN 201910993409A CN 110864685 A CN110864685 A CN 110864685A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- key
- positioning
- sampling
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Image Analysis (AREA)
- Navigation (AREA)
Abstract
本发明公开了一种基于松耦合的车辆单目视觉轮式里程计定位方法,采用单目相机以及车辆的速度传感器和转角传感器进行数据采集,实现较成本,通过对车辆CAN报文解析模块和车载单目相机进行同步采样匹配,采用松耦合的传感器融合方法,来构建车辆数据,计算量少,实时性好,最终基于构建的车辆数据通过辆运动学航迹推测算法和扩展卡尔曼滤波算法实现车辆定位;优点是在具有低成本的基础上,通过对单目视觉和车辆轮式里程计进行融合定位,提高了车辆定位的精度。
Description
技术领域
本方法涉及一种定位方法,尤其是涉及一种基于松耦合的车辆单目视觉轮式里程计 定位方法。
背景技术
实现车辆厘米级定位要求是无人驾驶车辆自主导航的关键,基于单目视觉的定位方 法采用价格低廉的单目相机实现,成本比较低,是目前应用比较广泛的一种定位方法,但是该定位方法存在无法得到绝对尺度的问题,定位精度不是很高。
目前,采用单目视觉与IMU进行融合的定位方法(即视觉惯性里程计VIO)在定位领域得到了广泛研究。但是现有的单目视觉与IMU进行融合的定位方法主要应用于无 人机定位中,当应用到无人驾驶车辆中时,由于车辆启动较为平缓,IMU的有效激励不 足,因此VIO在车辆启动时候无法有效初始化导致失效,无法完成无人驾驶车辆的定位 要求。
发明内容
本方法所要解决的技术问题是提供一种成本较低,且定为精度较高的基于松耦合的 车辆单目视觉轮式里程计定位方法。该定位方法采用单目相机以及车辆的速度传感器和 转角传感器进行数据采集,实现较成本,并且通过采用松耦合的传感器融合方法,计算量少,实时性好,对单目视觉和车辆轮式里程计进行融合定位,提高了车辆定位的精度。
本方法解决上述技术问题所采用的技术方案为:一种基于松耦合的车辆单目视觉轮 式里程计定位方法,包括以下步骤:
(1)将车辆CAN报文解析模块的相邻两次采样之间的时间间隔记为△t1,△t1=0.01s, 将车载单目相机相邻两次采样之间的时间间隔记为△t2,△t2=0.033s,创建一个用于存 放关键帧的数组,将数组中存放的关键帧的数量记为变量n,初始状态时,所述的数组 中不存在关键帧,此时所述的数组中存储的关键帧数量为0,n的取值为0;设计一个用于存储所述的车辆CAN报文解析模块每次采样获取的采样数据的时间戳的缓存,该缓存 的容量为100,当超出其容量时,该缓存中已存时间戳将按照存储时间从早到晚的顺序 被覆盖掉;所述的车辆CAN报文解析模块每次采样获取的采样数据包括车速数据和方向 盘转角数据,所述的车辆CAN报文解析模块每次采样时的时刻采用UTC时间表示,将所 述的车辆CAN报文解析模块每次采样时的时刻作为该次采样时获取的采样数据的时间 戳保存到所述的缓存中,所述的车载单目相机每次采样时获取单目图像,所述的车载单 目相机每次采样的时刻采用UTC时间表示;
(2)设定车辆CAN报文解析模块和车载单目相机的同步采样成功匹配次数变量,将其记为t,对t进行初始化赋值,令t=0;
(3)同时开启所述的车辆CAN报文解析模块和所述的车载单目相机,所述的车辆CAN报文解析模块和所述的车载单目相机同时开始进行第1次采样,所述的车辆CAN报 文解析模块和所述的车载单目相机后续每采样一次其采样次数增加1;
(4)假设所述的车载单目相机的当前采样次数为第h次,此时对所述的车辆CAN报文解析模块和所述的车载单目相机进行第h次同步采样匹配,具体匹配过程为:
4.1将所述的车载单目相机第h次采样得到的单目图像记为Ih,将所述的车载单目相机第h次采样的时刻记为th;
4.2对数组进行第h次更新,具体过程为:
如果h=1,设定车载单目相机第h次采样的关键帧,将其记为keyIh,对keyIh进行赋值, 令keyIh=Ih,然后将keyIh存入所述的数组中作为所述的数组中的第1个数据,并将关键帧 keyIh存入所述的数组中的存入时刻记为keyh,对keyh进行赋值,令keyh=th;
如果h大于等于2,则判断n的当前值是否小于等于3以及是否大于等于 5*△t2,其中,*为乘运算符号,为车载单目相机进行第h次采样之前最后一次向 所述的数组中存入关键帧的存入时刻,如果n的当前值小于等于3以及大于等于5*△t2这两个条件中的任意一个成立,则设定车载单目相机第h个采样时刻的关键帧, 将其记为keyIh,对keyIh进行赋值,令keyIh=Ih,然后将keyIh存入所述的数组中作为所述的 数组中的最后一个数据,并将关键帧keyIh存入所述的数组中的存入时刻记为keyh,对keyh进行赋值,令keyh=th;如果n的当前值小于等于3以及大于等于5*△t2这两个条 件均不成立,则判断n的当前值是否大于10,如果n的当前值大于10,则将数组中的关键 帧keyIh-n删除,否则,保持当前数组不变;
由此实现数组的更新,得到第h次更新后的数组;
4.3统计当前数组中关键帧的数量,采用统计的关键帧的数量更新n的值,将当前数 组表示为(keyI’1,keyI’2,…,keyI’n-1,keyI’n),其中keyI’l为当前数组中的第l个数据,l=1,2,…,n;
4.4通过FAST特征点匹配算法对当前数组中每相邻两个关键帧进行特征点匹配,其 中FAST特征点匹配算法中的特征点检测数量参数设定为200,具体过程为:
4.4.1、设定匹配变量,将该匹配变量记为l’;
4.4.2、对l’进行初始化,令l’=2;
4.4.3、通过FAST特征点匹配算法对当前数组中第l’个关键帧keyI’l’和第l’-1个关键帧 keyI’l’-1进行特征匹配,匹配得到第l’个关键帧keyI’l’的200个特征点数据,每个特征点数 据包括该特征点在关键帧keyI’l’所在图像平面上的像素坐标以及在关键帧keyI’l’所在世 界坐标系下的三维坐标,将第l’个关键帧keyI’l’的第i个特征点在关键帧keyI’l’所在图像平 面上的像素坐标记为将第l’个关键帧keyI’l’的第i个特征点在关键帧 keyI’l’所在世界坐标系下的三维坐标记为i=1,2,……,200;
4.4.4、采用第l’个关键帧keyI’l’的200个特征点数据分别构建像素坐标向量和三维坐 标向量,将第l’个关键帧keyI’l’的第i个特征点数据构建的像素坐标向量记为将第 l’个关键帧keyI’l’的第i个特征点数据构建的三维坐标向量记为和分别 采用式(1)和式(2)表示为:
4.4.5、构建当前数组中的第l’个关键帧keyI’l’的相对位姿估计模型,将该模型采用式 (3)、式(4)和式(5)表示为:
其中,△R’l’表示当前数组中的第l’个关键帧keyI’l’相对于第l’-1个关键帧keyI’l’-1的位姿旋转 矩阵,△t’l’表示当前数组中的第l’个关键帧keyI’l’相对于第l’-1个关键帧keyI’l’-1的位姿平移 向量;π(·)为相机的标准投影方程,ρ(·)为Huber鲁棒核函数,δ=1,|| ||2为求二范数 运算符号,| |为取绝对值符号,·为乘运算符号。表示括号中算式取值最小时, 变量△R’l’和△t’l’的值;
4.4.6、采用Levenberg-Marquardt(LM优化算法)对式(3)进行求解,得到△R’l’和△t’l’;
4.4.7、采用△R’l’和△t’l’构建当前数组中的第l’个关键帧keyI’l’相对于第l’-1个关键帧 keyI’l’-1的位姿变换矩阵,将其记为△T’l’,采用式(6)表示为:
其中,01x3为行向量[0 0 0];
4.4.8、判断l’的当前值是否等于n,如果等于n则进入步骤4.4.9,如果不等于n,则采用l’的当前值加1的和更新l’的值,返回步骤4.4.3进行下一次特征匹配,直至l’的 当前值等于n;
4.4.9设定车载单目相机第h次采样的位姿变换矩阵,将其记为T’h,采用式(7)计算得到T’h:
4.4.11判定第h次同步采样匹配是否成功,具体过程为:
将当前数组中最后存入的关键帧的存入时刻记为将与缓存中存储的所有时间 戳进行匹配,查找与相差小于5毫秒且相差最小的时间戳,如果找到,则第h次同步 采样匹配成功,获取查找到的时间戳对应的车速数据和方向盘转角数据,进入步骤(5), 如果没有找到,则采用h的当前值加1的和更新h的值,重复步骤(4),直到满足同步 采样匹配成功条件;
5.先采用t的当前值加1的和更新t的值,然后构建第t次采样同步匹配成功的车辆数据,具体过程为:
5.1将当前采样同步匹配成功的车辆坐标系下车辆位置坐标记为(monoxt、monoyt),航 向角数据记为monoθt,车速数据记为vt,方向盘转角数据记为αt;
5.2将的值赋值给monoxt,将的值赋值给monoyt,将θh mono的值赋值给monoθt;将当前采样同步匹配成功后查找到的时间戳对应的车速数据赋值给vt,方向盘转角数据赋值给αt,第t次采样同步匹配成功的车辆数据构建完成;
6.对车辆进行第t次定位,具体过程为:
6.1通过车辆运动学航迹推测算法得到车辆运动学生成的运动轨迹,即第t次定位时 车辆位置的估计坐标和航向角估计值表示第t次定位时车辆坐标系下车辆位置的横坐标估计值,表示第t次定位时车辆坐标系下车辆位置的纵坐标估计值;其中车辆运动学航迹推测算法公式如下所示:
dst=vt-1·dt (9)
δft=αt·η (11)
其中,表示第t-1次定位时车辆坐标系下车辆位置的横坐标估计值,表示第t-1次定位时车辆坐标系下车辆位置的纵坐标估计值,表示第t-1次定位时车辆位置的航向角估计值,dst表示从第t次定位时相对于第t-1次定位时车辆行驶的距离,dθt表示 第t次定位时相对于第t-1次定位时车辆位置的航向角变化量,vt-1为第t-1次定位时车辆的 车速,dt为车辆CAN报文解析模块的采样周期,dt=△t1,L为车辆轴距,δft为第t次定 位时车辆前轮转角,η为车辆的角传动比,η预先根据车辆型号通过现有成熟的实验方 法标定得到,“·”为乘运算符号,当t=1时,vt-1=0,sin表示 正弦函数,cos表示余弦函数,tan表示正切函数;
6.2通过扩展卡尔曼滤波算法对第t次采样同步匹配成功的车辆数据:车速vt、方向盘 转角αt、monoxt、monoyt和monoθt进行数据融合,得到车辆第t次定位的位置数据,具体过程如下:
b.采用vt-1和δft构建第t次定位的控制输入向量,将该控制输入向量记为Bt:
其中,vt-1=0;
c、建立第t次定位时带噪声的车辆运动学模型,将其向量表达式记为f(At,Bt):
其中,N(·)为高斯白噪声生成函数,N(0,Q)表示采用高斯白噪声生成函数生成的维度为3×1的高斯白噪声向量,0为高斯白噪声生成函数的均值,Q为高斯白噪声生成 函数的状态传播过程协方差矩阵,状态传播过程协方差矩阵Q为采用随机函数生成的 维度为为3×3的矩阵,生成后为固定值。
d、将第t次定位时f(At,Bt)关于状态向量At的雅克比矩阵记为Ft,Ft采用式(15) 表示为:
其中P表示第t次定位之前状态协方差矩阵的最新值,上标T表示矩阵的转置;当 t=1时,P初始化为维度为3×3的单位矩阵,即:
f、建立第t次定位时的观测模型:
其中,Zt为第t次定位时的观测模型,为第t次定位时的观测函数;N(·)为高斯白噪声生成函数,N(0,R)表示采用高斯白噪声生成函数生成的高斯白噪声向量, N(0,R)的维度为3×1,0为高斯白噪声生成函数的均值,R为观测协方差矩阵,观测 协方差矩阵R的维度为3×3,观测协方差矩阵R为:
h、将第t次定位时的观测残差记为yt,计算第t次定位时的观测残差yt:
i、将第t次定位时的卡尔曼增益记为Kt,计算第t次定位时的卡尔曼增益Kt:
j、对状态向量At和状态协方差矩阵P进行更新:
k、将(x’t,y’t)作为第t次定位时车辆位置坐标,将θ’t作为第t次定位时车辆航向角, 采用第t次定位时车辆位置坐标(x’t,y’t)和第t次定位时车辆航向角θ’t构成第t次定位时 车辆的位置数据,完成车辆第t次定位;
(7)采用h的当前值加1的和更新h,返回步骤(4)进行下一次定位,周而复始。
与现有技术相比,本方法的优点在于该定位方法采用单目相机以及车辆的速度传感 器和转角传感器进行数据采集,实现较成本,通过对车辆CAN报文解析模块和车载单 目相机进行同步采样匹配,采用松耦合的传感器融合方法,来构建车辆数据,计算量少, 实时性好,最终基于构建的车辆数据通过辆运动学航迹推测算法和扩展卡尔曼滤波算法 实现车辆定位,由此本发明在具有低成本的基础上,通过对单目视觉和车辆轮式里程计 进行融合定位,提高了车辆定位的精度。
具体实施方式
以下结合实施例对本方法作进一步详细描述。
实施例:一种基于松耦合的车辆单目视觉轮式里程计定位方法,包括以下步骤:
(1)将车辆CAN报文解析模块的相邻两次采样之间的时间间隔记为Δt1,Δt1=0.01s, 将车载单目相机相邻两次采样之间的时间间隔记为Δt2,Δt2=0.033s,创建一个用于存 放关键帧的数组,将数组中存放的关键帧的数量记为变量n,初始状态时,数组中不存 在关键帧,此时数组中存储的关键帧数量为0,n的取值为0;设计一个用于存储车辆CAN报文解析模块每次采样获取的采样数据的时间戳的缓存,该缓存的容量为100,当超出 其容量时,该缓存中已存时间戳将按照存储时间从早到晚的顺序被覆盖掉;车辆CAN报 文解析模块每次采样获取的采样数据包括车速数据和方向盘转角数据,车辆CAN报文解 析模块每次采样时的时刻采用UTC时间表示,将车辆CAN报文解析模块每次采样时的时 刻作为该次采样时获取的采样数据的时间戳保存到缓存中,车载单目相机每次采样时获 取单目图像,车载单目相机每次采样的时刻采用UTC时间表示;
(2)设定车辆CAN报文解析模块和车载单目相机的同步采样成功匹配次数变量,将其记为t,对t进行初始化赋值,令t=0;
(3)同时开启车辆CAN报文解析模块和车载单目相机,车辆CAN报文解析模块和车载单目相机同时开始进行第1次采样,车辆CAN报文解析模块和车载单目相机后续每采 样一次其采样次数增加1;
(4)假设车载单目相机的当前采样次数为第h次,此时对车辆CAN报文解析模块和车载单目相机进行第h次同步采样匹配,具体匹配过程为:
4.1将车载单目相机第h次采样得到的单目图像记为Ih,将车载单目相机第h次采样 的时刻记为th;
4.2对数组进行第h次更新,具体过程为:
如果h=1,设定车载单目相机第h次采样的关键帧,将其记为keyIh,对keyIh进行赋值, 令keyIh=Ih,然后将keyIh存入数组中作为数组中的第1个数据,并将关键帧keyIh存入数组 中的存入时刻记为keyh,对keyh进行赋值,令keyh=th;
如果h大于等于2,则判断n的当前值是否小于等于3以及是否大于等于 5*Δt2,其中,*为乘运算符号,为车载单目相机进行第h次采样之前最后一次向 数组中存入关键帧的存入时刻,如果n的当前值小于等于3以及大于等于5*Δt2这两个条件中的任意一个成立,则设定车载单目相机第h个采样时刻的关键帧,将其记 为keyIh,对keyIh进行赋值,令keyIh=Ih,然后将keyIh存入数组中作为数组中的最后一个数 据,并将关键帧keyIh存入数组中的存入时刻记为keyh,对keyh进行赋值,令keyh=th;如 果n的当前值小于等于3以及大于等于5*Δt2这两个条件均不成立,则判断n的当 前值是否大于10,如果n的当前值大于10,则将数组中的关键帧keyIh-n删除,否则,保持 当前数组不变;
由此实现数组的更新,得到第h次更新后的数组;
4.3统计当前数组中关键帧的数量,采用统计的关键帧的数量更新n的值,将当前数 组表示为(keyI’1,keyI’2,…,keyI’n-1,keyI’n),其中keyI’l为当前数组中的第l个数据,l=1,2,…,n;
4.4通过FAST特征点匹配算法对当前数组中每相邻两个关键帧进行特征点匹配,其 中FAST特征点匹配算法中的特征点检测数量参数设定为200,具体过程为:
4.4.1、设定匹配变量,将该匹配变量记为l’;
4.4.2、对l’进行初始化,令l’=2;
4.4.3、通过FAST特征点匹配算法对当前数组中第l’个关键帧keyI’l’和第l’-1个关键帧 keyI’l’-1进行特征匹配,匹配得到第l’个关键帧keyI’l’的200个特征点数据,每个特征点数 据包括该特征点在关键帧keyI’l’所在图像平面上的像素坐标以及在关键帧keyI’l’所在世 界坐标系下的三维坐标,将第l’个关键帧keyI’l’的第i个特征点在关键帧keyI’l’所在图像平 面上的像素坐标记为将第l’个关键帧keyI’l’的第i个特征点在关键帧 keyI’l’所在世界坐标系下的三维坐标记为i=1,2,……,200;
4.4.4、采用第l’个关键帧keyI’l’的200个特征点数据分别构建像素坐标向量和三维坐 标向量,将第l’个关键帧keyI’l’的第i个特征点数据构建的像素坐标向量记为将第 l’个关键帧keyI’l’的第i个特征点数据构建的三维坐标向量记为和分别 采用式(1)和式(2)表示为:
4.4.5、构建当前数组中的第l’个关键帧keyI’l’的相对位姿估计模型,将该模型采用式 (3)、式(4)和式(5)表示为:
其中,△R’l’表示当前数组中的第l’个关键帧keyI’l’相对于第l’-1个关键帧keyI’l’-1的位姿旋转 矩阵,△t’l’表示当前数组中的第l’个关键帧keyI’l’相对于第l’-1个关键帧keyI’l’-1的位姿平移 向量;π(·)为相机的标准投影方程,ρ(·)为Huber鲁棒核函数,δ=1,|| ||2为求二范数 运算符号,| |为取绝对值符号,·为乘运算符号。表示括号中算式取值最小时, 变量△R’l’和△t’l’的值;
4.4.6、采用Levenberg-Marquardt(LM优化算法)对式(3)进行求解,得到△R’l’和△t’l’;
4.4.7、采用△R’l’和△t’l’构建当前数组中的第l’个关键帧keyI’l’相对于第l’-1个关键帧 keyI’l’-1的位姿变换矩阵,将其记为△T’l’,采用式(6)表示为:
其中,01x3为行向量[0 0 0];
4.4.8、判断l’的当前值是否等于n,如果等于n则进入步骤4.4.9,如果不等于n,则采用l’的当前值加1的和更新l’的值,返回步骤4.4.3进行下一次特征匹配,直至l’的 当前值等于n;
4.4.9设定车载单目相机第h次采样的位姿变换矩阵,将其记为T’h,采用式(7)计算得到T’h:
4.4.11判定第h次同步采样匹配是否成功,具体过程为:
将当前数组中最后存入的关键帧的存入时刻记为将与缓存中存储的所有时间 戳进行匹配,查找与相差小于5毫秒且相差最小的时间戳,如果找到,则第h次同步 采样匹配成功,获取查找到的时间戳对应的车速数据和方向盘转角数据,进入步骤(5), 如果没有找到,则采用h的当前值加1的和更新h的值,重复步骤(4),直到满足同步 采样匹配成功条件;
5.先采用t的当前值加1的和更新t的值,然后构建第t次采样同步匹配成功的车辆数据,具体过程为:
5.1将当前采样同步匹配成功的车辆坐标系下车辆位置坐标记为(monoxt、monoyt),航 向角数据记为monoθt,车速数据记为vt,方向盘转角数据记为αt;
5.2将的值赋值给monoxt,将的值赋值给monoyt,将θh mono的值赋值给monoθt;将当前采样同步匹配成功后查找到的时间戳对应的车速数据赋值给vt,方向盘转角数据赋值给αt,第t次采样同步匹配成功的车辆数据构建完成;
6.对车辆进行第t次定位,具体过程为:
6.1通过车辆运动学航迹推测算法得到车辆运动学生成的运动轨迹,即第t次定位时 车辆位置的估计坐标和航向角估计值表示第t次定位时车辆坐标系下车辆位置的横坐标估计值,表示第t次定位时车辆坐标系下车辆位置的纵坐标估计值;其中车辆运动学航迹推测算法公式如下所示:
dst=vt-1·dt (9)
δft=αt·η (11)
其中,表示第t-1次定位时车辆坐标系下车辆位置的横坐标估计值,表示第t-1次定位时车辆坐标系下车辆位置的纵坐标估计值,表示第t-1次定位时车辆位置的航向角估计值,dst表示从第t次定位时相对于第t-1次定位时车辆行驶的距离,dθt表示 第t次定位时相对于第t-1次定位时车辆位置的航向角变化量,vt-1为第t-1次定位时车辆的 车速,dt为车辆CAN报文解析模块的采样周期,dt=△t1,L为车辆轴距,δft为第t次定 位时车辆前轮转角,η为车辆的角传动比,η预先根据车辆型号通过现有成熟的实验方 法标定得到,“·”为乘运算符号,当t=1时,vt-1=0,sin表示 正弦函数,cos表示余弦函数,tan表示正切函数;
6.2通过扩展卡尔曼滤波算法对第t次采样同步匹配成功的车辆数据:车速vt、方向盘 转角αt、monoxt、monoyt和monoθt进行数据融合,得到车辆第t次定位的位置数据,具体过程如下:
b.采用vt-1和δft构建第t次定位的控制输入向量,将该控制输入向量记为Bt:
其中,vt-1=0;
c、建立第t次定位时带噪声的车辆运动学模型,将其向量表达式记为f(At,Bt):
其中,N(·)为高斯白噪声生成函数,N(0,Q)表示采用高斯白噪声生成函数生成的维度为3×1的高斯白噪声向量,0为高斯白噪声生成函数的均值,Q为高斯白噪声生成 函数的状态传播过程协方差矩阵,状态传播过程协方差矩阵Q为采用随机函数生成的 维度为为3×3的矩阵,生成后为固定值。
d、将第t次定位时f(At,Bt)关于状态向量At的雅克比矩阵记为Ft,Ft采用式(15) 表示为:
其中P表示第t次定位之前状态协方差矩阵的最新值,上标T表示矩阵的转置;当 t=1时,P初始化为维度为3×3的单位矩阵,即:
f、建立第t次定位时的观测模型:
其中,Zt为第t次定位时的观测模型,为第t次定位时的观测函数;N(·)为高斯白噪声生成函数,N(0,R)表示采用高斯白噪声生成函数生成的高斯白噪声向量, N(0,R)的维度为3×1,0为高斯白噪声生成函数的均值,R为观测协方差矩阵,观测 协方差矩阵R的维度为3×3,观测协方差矩阵R为:
h、将第t次定位时的观测残差记为yt,计算第t次定位时的观测残差yt:
i、将第t次定位时的卡尔曼增益记为Kt,计算第t次定位时的卡尔曼增益Kt:
j、对状态向量At和状态协方差矩阵P进行更新:
k、将(x’t,y’t)作为第t次定位时车辆位置坐标,将θ’t作为第t次定位时车辆航向角, 采用第t次定位时车辆位置坐标(x’t,y’t)和第t次定位时车辆航向角θ’t构成第t次定位时 车辆的位置数据,完成车辆第t次定位;
(7)采用h的当前值加1的和更新h,返回步骤(4)进行下一次定位,周而复始。
Claims (1)
1.一种基于松耦合的车辆单目视觉轮式里程计定位方法,其特征在于包括以下步骤:
(1)将车辆CAN报文解析模块的相邻两次采样之间的时间间隔记为△t1,△t1=0.01s,将车载单目相机相邻两次采样之间的时间间隔记为△t2,△t2=0.033s,创建一个用于存放关键帧的数组,将数组中存放的关键帧的数量记为变量n,初始状态时,所述的数组中不存在关键帧,此时所述的数组中存储的关键帧数量为0,n的取值为0;设计一个用于存储所述的车辆CAN报文解析模块每次采样获取的采样数据的时间戳的缓存,该缓存的容量为100,当超出其容量时,该缓存中已存时间戳将按照存储时间从早到晚的顺序被覆盖掉;所述的车辆CAN报文解析模块每次采样获取的采样数据包括车速数据和方向盘转角数据,所述的车辆CAN报文解析模块每次采样时的时刻采用UTC时间表示,将所述的车辆CAN报文解析模块每次采样时的时刻作为该次采样时获取的采样数据的时间戳保存到所述的缓存中,所述的车载单目相机每次采样时获取单目图像,所述的车载单目相机每次采样的时刻采用UTC时间表示;
(2)设定车辆CAN报文解析模块和车载单目相机的同步采样成功匹配次数变量,将其记为t,对t进行初始化赋值,令t=0;
(3)同时开启所述的车辆CAN报文解析模块和所述的车载单目相机,所述的车辆CAN报文解析模块和所述的车载单目相机同时开始进行第1次采样,所述的车辆CAN报文解析模块和所述的车载单目相机后续每采样一次其采样次数增加1;
(4)假设所述的车载单目相机的当前采样次数为第h次,此时对所述的车辆CAN报文解析模块和所述的车载单目相机进行第h次同步采样匹配,具体匹配过程为:
4.1将所述的车载单目相机第h次采样得到的单目图像记为Ih,将所述的车载单目相机第h次采样的时刻记为th;
4.2对数组进行第h次更新,具体过程为:
如果h=1,设定车载单目相机第h次采样的关键帧,将其记为keyIh,对keyIh进行赋值,令keyIh=Ih,然后将keyIh存入所述的数组中作为所述的数组中的第1个数据,并将关键帧keyIh存入所述的数组中的存入时刻记为keyh,对keyh进行赋值,令keyh=th;
如果h大于等于2,则判断n的当前值是否小于等于3以及是否大于等于5*△t2,其中,*为乘运算符号,为车载单目相机进行第h次采样之前最后一次向所述的数组中存入关键帧的存入时刻,如果n的当前值小于等于3以及大于等于5*△t2这两个条件中的任意一个成立,则设定车载单目相机第h个采样时刻的关键帧,将其记为keyIh,对keyIh进行赋值,令keyIh=Ih,然后将keyIh存入所述的数组中作为所述的数组中的最后一个数据,并将关键帧keyIh存入所述的数组中的存入时刻记为keyh,对keyh进行赋值,令keyh=th;如果n的当前值小于等于3以及大于等于5*△t2这两个条件均不成立,则判断n的当前值是否大于10,如果n的当前值大于10,则将数组中的关键帧keyIh-n删除,否则,保持当前数组不变;
由此实现数组的更新,得到第h次更新后的数组;
4.3统计当前数组中关键帧的数量,采用统计的关键帧的数量更新n的值,将当前数组表示为(keyI′1,keyI′2,…,keyI′n-1,keyI′n),其中keyI′l为当前数组中的第l个数据,l=1,2,…,n;
4.4通过FAST特征点匹配算法对当前数组中每相邻两个关键帧进行特征点匹配,其中FAST特征点匹配算法中的特征点检测数量参数设定为200,具体过程为:
4.4.1、设定匹配变量,将该匹配变量记为l';
4.4.2、对l'进行初始化,令l'=2;
4.4.3、通过FAST特征点匹配算法对当前数组中第l'个关键帧keyI′l′和第l'-1个关键帧keyI′l′-1进行特征匹配,匹配得到第l'个关键帧keyI′l′的200个特征点数据,每个特征点数据包括该特征点在关键帧keyI′l′所在图像平面上的像素坐标以及在关键帧keyI′l′所在世界坐标系下的三维坐标,将第l'个关键帧keyI′l′的第i个特征点在关键帧keyI′l′所在图像平面上的像素坐标记为将第l'个关键帧keyI′l′的第i个特征点在关键帧keyI′l′所在世界坐标系下的三维坐标记为
4.4.4、采用第l'个关键帧keyI′l′的200个特征点数据分别构建像素坐标向量和三维坐标向量,将第l'个关键帧keyI′l′的第i个特征点数据构建的像素坐标向量记为将第l'个关键帧keyI′l′的第i个特征点数据构建的三维坐标向量记为和分别采用式(1)和式(2)表示为:
4.4.5、构建当前数组中的第l'个关键帧keyI′l′的相对位姿估计模型,将该模型采用式(3)、式(4)和式(5)表示为:
其中,△R'l'表示当前数组中的第l'个关键帧keyI′l′相对于第l'-1个关键帧keyI′l′-1的位姿旋转矩阵,△t'l'表示当前数组中的第l'个关键帧keyI′l′相对于第l'-1个关键帧keyI′l′-1的位姿平移向量;π(·)为相机的标准投影方程,ρ(·)为Huber鲁棒核函数,δ=1,|| ||2为求二范数运算符号,| |为取绝对值符号,·为乘运算符号。表示括号中算式取值最小时,变量△R'l'和△t'l'的值;
4.4.6、采用Levenberg-Marquardt(LM优化算法)对式(3)进行求解,得到△R'l'和△t'l';
4.4.7、采用△R'l'和△t'l'构建当前数组中的第l'个关键帧keyI′l′相对于第l'-1个关键帧keyI′l′-1的位姿变换矩阵,将其记为△T′l′,采用式(6)表示为:
其中,01x3为行向量[0 0 0];
4.4.8、判断l'的当前值是否等于n,如果等于n则进入步骤4.4.9,如果不等于n,则采用l'的当前值加1的和更新l'的值,返回步骤4.4.3进行下一次特征匹配,直至l'的当前值等于n;
4.4.9设定车载单目相机第h次采样的位姿变换矩阵,将其记为T′h,采用式(7)计算得到T′h:
4.4.11判定第h次同步采样匹配是否成功,具体过程为:
将当前数组中最后存入的关键帧的存入时刻记为将与缓存中存储的所有时间戳进行匹配,查找与相差小于5毫秒且相差最小的时间戳,如果找到,则第h次同步采样匹配成功,获取查找到的时间戳对应的车速数据和方向盘转角数据,进入步骤(5),如果没有找到,则采用h的当前值加1的和更新h的值,重复步骤(4),直到满足同步采样匹配成功条件;
5.先采用t的当前值加1的和更新t的值,然后构建第t次采样同步匹配成功的车辆数据,具体过程为:
5.1将当前采样同步匹配成功的车辆坐标系下车辆位置坐标记为(monoxt、monoyt),航向角数据记为monoθt,车速数据记为vt,方向盘转角数据记为αt;
5.2将的值赋值给monoxt,将的值赋值给monoyt,将θh mono的值赋值给monoθt;将当前采样同步匹配成功后查找到的时间戳对应的车速数据赋值给vt,方向盘转角数据赋值给αt,第t次采样同步匹配成功的车辆数据构建完成;
6.对车辆进行第t次定位,具体过程为:
6.1通过车辆运动学航迹推测算法得到车辆运动学生成的运动轨迹,即第t次定位时车辆位置的估计坐标和航向角估计值 表示第t次定位时车辆坐标系下车辆位置的横坐标估计值,表示第t次定位时车辆坐标系下车辆位置的纵坐标估计值;其中车辆运动学航迹推测算法公式如下所示:
dst=vt-1·dt (9)
δft=αt·η (11)
其中,表示第t-1次定位时车辆坐标系下车辆位置的横坐标估计值,表示第t-1次定位时车辆坐标系下车辆位置的纵坐标估计值,表示第t-1次定位时车辆位置的航向角估计值,dst表示从第t次定位时相对于第t-1次定位时车辆行驶的距离,dθt表示第t次定位时相对于第t-1次定位时车辆位置的航向角变化量,vt-1为第t-1次定位时车辆的车速,dt为车辆CAN报文解析模块的采样周期,dt=△t1,L为车辆轴距,δft为第t次定位时车辆前轮转角,η为车辆的角传动比,η预先根据车辆型号通过现有成熟的实验方法标定得到,“·”为乘运算符号,当t=1时,vt-1=0,sin表示正弦函数,cos表示余弦函数,tan表示正切函数;
6.2通过扩展卡尔曼滤波算法对第t次采样同步匹配成功的车辆数据:车速vt、方向盘转角αt、monoxt、monoyt和monoθt进行数据融合,得到车辆第t次定位的位置数据,具体过程如下:
b.采用vt-1和δft构建第t次定位的控制输入向量,将该控制输入向量记为Bt:
其中,vt-1=0;
c、建立第t次定位时带噪声的车辆运动学模型,将其向量表达式记为f(At,Bt):
其中,N(·)为高斯白噪声生成函数,N(0,Q)表示采用高斯白噪声生成函数生成的维度为3×1的高斯白噪声向量,0为高斯白噪声生成函数的均值,Q为高斯白噪声生成函数的状态传播过程协方差矩阵,状态传播过程协方差矩阵Q为采用随机函数生成的维度为为3×3的矩阵,生成后为固定值。
d、将第t次定位时f(At,Bt)关于状态向量At的雅克比矩阵记为Ft,Ft采用式(15)表示为:
其中P表示第t次定位之前状态协方差矩阵的最新值,上标T表示矩阵的转置;当t=1时,P初始化为维度为3×3的单位矩阵,即:
f、建立第t次定位时的观测模型:
其中,Zt为第t次定位时的观测模型,为第t次定位时的观测函数;N(·)为高斯白噪声生成函数,N(0,R)表示采用高斯白噪声生成函数生成的高斯白噪声向量,N(0,R)的维度为3×1,0为高斯白噪声生成函数的均值,R为观测协方差矩阵,观测协方差矩阵R的维度为3×3,观测协方差矩阵R为:
h、将第t次定位时的观测残差记为yt,计算第t次定位时的观测残差yt:
i、将第t次定位时的卡尔曼增益记为Kt,计算第t次定位时的卡尔曼增益Kt:
j、对状态向量At和状态协方差矩阵P进行更新:
k、将(x′t,y′t)作为第t次定位时车辆位置坐标,将θ′t作为第t次定位时车辆航向角,采用第t次定位时车辆位置坐标(x′t,y′t)和第t次定位时车辆航向角θ′t构成第t次定位时车辆的位置数据,完成车辆第t次定位;
(7)采用h的当前值加1的和更新h,返回步骤(4)进行下一次定位,周而复始。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910993409.0A CN110864685B (zh) | 2019-10-18 | 2019-10-18 | 一种基于松耦合的车辆单目视觉轮式里程计定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910993409.0A CN110864685B (zh) | 2019-10-18 | 2019-10-18 | 一种基于松耦合的车辆单目视觉轮式里程计定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110864685A true CN110864685A (zh) | 2020-03-06 |
CN110864685B CN110864685B (zh) | 2023-03-21 |
Family
ID=69652298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910993409.0A Active CN110864685B (zh) | 2019-10-18 | 2019-10-18 | 一种基于松耦合的车辆单目视觉轮式里程计定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110864685B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112985426A (zh) * | 2021-03-31 | 2021-06-18 | 天津大学 | 一种用于二轮车的定位方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170103342A1 (en) * | 2015-10-13 | 2017-04-13 | Flywheel Software, Inc. | Machine learning based determination of accurate motion parameters of a vehicle |
US20180364731A1 (en) * | 2017-06-14 | 2018-12-20 | PerceptIn, Inc. | Monocular Modes for Autonomous Platform Guidance Systems with Auxiliary Sensors |
CN109376785A (zh) * | 2018-10-31 | 2019-02-22 | 东南大学 | 基于迭代扩展卡尔曼滤波融合惯性与单目视觉的导航方法 |
CN109544636A (zh) * | 2018-10-10 | 2019-03-29 | 广州大学 | 一种融合特征点法和直接法的快速单目视觉里程计导航定位方法 |
-
2019
- 2019-10-18 CN CN201910993409.0A patent/CN110864685B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170103342A1 (en) * | 2015-10-13 | 2017-04-13 | Flywheel Software, Inc. | Machine learning based determination of accurate motion parameters of a vehicle |
US20180364731A1 (en) * | 2017-06-14 | 2018-12-20 | PerceptIn, Inc. | Monocular Modes for Autonomous Platform Guidance Systems with Auxiliary Sensors |
CN109544636A (zh) * | 2018-10-10 | 2019-03-29 | 广州大学 | 一种融合特征点法和直接法的快速单目视觉里程计导航定位方法 |
CN109376785A (zh) * | 2018-10-31 | 2019-02-22 | 东南大学 | 基于迭代扩展卡尔曼滤波融合惯性与单目视觉的导航方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112985426A (zh) * | 2021-03-31 | 2021-06-18 | 天津大学 | 一种用于二轮车的定位方法 |
CN112985426B (zh) * | 2021-03-31 | 2022-09-13 | 天津大学 | 一种用于二轮车的定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110864685B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109029433B (zh) | 一种移动平台上基于视觉和惯导融合slam的标定外参和时序的方法 | |
CN111811506B (zh) | 视觉/惯性里程计组合导航方法、电子设备及存储介质 | |
US20230194266A1 (en) | Vision-aided inertial navigation | |
CN110044354B (zh) | 一种双目视觉室内定位与建图方法及装置 | |
CN112304307A (zh) | 一种基于多传感器融合的定位方法、装置和存储介质 | |
Kneip et al. | Robust real-time visual odometry with a single camera and an IMU | |
CN114001733B (zh) | 一种基于地图的一致性高效视觉惯性定位算法 | |
US20130162785A1 (en) | Method and system for fusing data arising from image sensors and from motion or position sensors | |
CN108519102B (zh) | 一种基于二次投影的双目视觉里程计算方法 | |
CN110726406A (zh) | 一种改进的非线性优化单目惯导slam的方法 | |
CN112734841B (zh) | 一种用轮式里程计-imu和单目相机实现定位的方法 | |
CN111795686A (zh) | 一种移动机器人定位与建图的方法 | |
CN114693754B (zh) | 一种基于单目视觉惯导融合的无人机自主定位方法与系统 | |
CN111161337A (zh) | 一种动态环境下的陪护机器人同步定位与构图方法 | |
CN115407357A (zh) | 基于大场景的低线束激光雷达-imu-rtk定位建图算法 | |
CN116205947A (zh) | 基于相机运动状态的双目-惯性融合的位姿估计方法、电子设备及存储介质 | |
CN114754768A (zh) | 一种点线融合的视觉惯性导航方法 | |
CN110864685B (zh) | 一种基于松耦合的车辆单目视觉轮式里程计定位方法 | |
CN114812601A (zh) | 视觉惯性里程计的状态估计方法、装置、电子设备 | |
CN116242374A (zh) | 一种基于直接法的多传感器融合的slam定位方法 | |
CN112284381A (zh) | 视觉惯性实时初始化对准方法及系统 | |
CN114088103B (zh) | 车辆定位信息的确定方法和装置 | |
CN114964276A (zh) | 一种融合惯导的动态视觉slam方法 | |
CN115344033A (zh) | 一种基于单目相机/imu/dvl紧耦合的无人船导航与定位方法 | |
CN110849349A (zh) | 一种基于磁传感器与轮式里程计融合定位方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230802 Address after: 315191 East 1st Road, Science Park, Jiangshan Town, Yinzhou District, Ningbo City, Zhejiang Province Patentee after: Shangyuan Zhixing (Ningbo) Technology Co.,Ltd. Address before: 315191 East 1st Road, Science Park, Jiangshan Town, Yinzhou District, Ningbo City, Zhejiang Province Patentee before: Zhejiang tianshangyuan Technology Co.,Ltd. |