CN115540860A - 一种多传感器融合位姿估计算法 - Google Patents
一种多传感器融合位姿估计算法 Download PDFInfo
- Publication number
- CN115540860A CN115540860A CN202211172443.XA CN202211172443A CN115540860A CN 115540860 A CN115540860 A CN 115540860A CN 202211172443 A CN202211172443 A CN 202211172443A CN 115540860 A CN115540860 A CN 115540860A
- Authority
- CN
- China
- Prior art keywords
- matrix
- state
- value
- representing
- imu
- 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.)
- Pending
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
- G01C21/1656—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 with passive imaging devices, e.g. cameras
-
- 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/20—Instruments for performing navigational calculations
Abstract
本发明涉及传感器位姿估算技术领域,具体是公开一种多传感器融合位姿估计算法算法,惯性导航系统的建模与标定,包括确定坐标系,惯性导航系统的IMU设备输出建模,确定IMU运动学模型;基于卡尔曼滤波将惯性导航系统输出的姿态信息与视觉SLMA得到的姿态信息进行姿态融合,包括输入视觉SLMA的视觉传感器与惯性导航系统的IMU设备各自的自由度信息,通过卡尔曼滤波预测过程通过卡尔曼滤波更新过程;不断迭代更新系统方程实现滤波,包括确定误差量表示状态方程,将下一时刻系统信息通过卡尔曼滤波预测过程,将下一时刻系统信息通过卡尔曼滤波的更新过程,该算法修正了IMU本身存在的累计误差,同时解决视觉相机输出频率低,旋转时跟踪易失败等问题。
Description
技术领域
本发明涉及传感器位姿估算技术领域。
背景技术
在现有的机器人位姿估计算法中,位姿估计算法多数是通过单独使用深度相机或惯性传感器为主要手段对机器人位姿进行估计。单纯基于视觉SLAM算法在室内环境下进行位姿估计的实时性较差,输出频率低由于深度相机自身硬件设备的限制,易受到光照的影响,且在机器人在高速旋转等情况下容易出现跟踪失败的情况。而作为惯性传感器,具有姿态估计的输出频率高,高速旋转情况下输出精度高的优点,但由于其位姿信息的输出在长时间工作的情况下会导致误差积累过大。综上,现有的机器人位姿估计算法中存在惯性传感器自身存在累计误差,深度相机输出频率低,旋转时跟踪易失败等问题
发明内容
本发明的目的在于提供一种多传感器融合位姿估计算法,该算法针对上述问题,是一种融合上述两种姿态估计算法优点的算法。
为实现上述目的,本发明的技术方案是:一种多传感器融合位姿估计算法,算法步骤包括,
步骤1、惯性导航系统的建模与标定;包括下列步骤:步骤1.1、确定坐标系,步骤1.2、惯性导航系统的IMU设备输出建模,步骤1.3、确定IMU运动学模型;
步骤2、基于卡尔曼滤波将惯性导航系统输出的姿态信息与视觉SLMA得到的姿态信息进行姿态融合,包括下列步骤:步骤2.1、输入视觉SLMA的视觉传感器与惯性导航系统的IMU设备各自的自由度信息,步骤2.2、通过卡尔曼滤波预测过程,步骤2.3、通过卡尔曼滤波更新过程;
步骤3、不断迭代更新系统方程实现滤波,包括下列步骤:步骤3.1、确定误差量表示状态方程,步骤3.2、迭代下一时刻姿态信息进行卡尔曼滤波姿态融合。
所述步骤1.1、确定坐标系,使用载体的质心表示载体坐标系的原点,坐标轴一般指向载体的正前方、正右方和正下方,导航坐标系一般指向东、北、天方向,载体坐标系变换到导航坐标系的旋转采用方向余弦矩阵表示,记为假设导航坐标系先绕俯仰轴转θ,再绕滚动轴旋转最后绕偏航角转φ,从而实现到载体坐标系的变换,该方向余弦矩阵表示为:
所述步骤1.2、惯性导航系统的IMU设备输出建模,其算法过程包括,
加速度计的实际输出值表示为am=a-g+na+ba,
陀螺仪输出的旋转速度为ωm=ω+ng+bg,
其中am表示加速度计的测量值,a表示加速度计在全局结构的准确值,g表示重力加速度,ωm表示在噪声影响下的陀螺仪输出,即IMU的旋转速度的实际输出,ω表示陀螺仪输出,即IMU的旋转速度的理想输出,na、ng分别为加速度计和陀螺仪服从正态分布且均值为0的高斯白噪声,ba、bg分别为加速度计和陀螺仪的零偏,可视为由对ba、bg所建立的随机游走模型导致,其模型噪声服从均值为0的正态分布,
na~N(O,Na)
ng~N(O,Ng)
所述步骤1.3、确定IMU运动学模型,其算法过程包括,
根据IMU运动学原理,IMU输出的姿态由角速度进行一次积分获得,考虑中立及噪声因素得到运动学模型:
其中,q表示物体的旋转,Ω(ωm)表示ω的四元数,Ω(ωm)表示形式为:
其中,ωx为ω四元数表示下的x轴分量,|ωy为ω四元数表示下的y轴分量ωz为ω四元数表示下的z轴分量。
所述步骤2.1、输入视觉SLMA的视觉传感器与惯性导航系统的IMU设备各自的自由度信息,其算法过程包括,
采用惯性导航系统输出的姿态信息作为先验值,采用视觉SLAM得到的姿态信息作为观测值,在实现过程中对系统矩阵Fk进行离散化处理,以卡尔曼滤波算法为前提处理得到状态方程:
其中xk表示当前时刻k的状态值、xk-1表示上一时刻k-1的状态值,Fk为系统的状态转移矩阵,Gk为系统的噪声矩阵,Hk为系统的观测矩阵,zk卡尔曼滤波测量方程,n为系统的噪声,u为系统观测噪声。
所述步骤2.2、通过卡尔曼滤波预测过程,其算法过程包括,
其中Qk为系统噪声协方差矩阵,Pk-1表示上一时刻的协方差矩阵更新值,
所述步骤2.3、通过卡尔曼滤波更新过程,其算法过程包括,
通过步骤2.2预测过程求得的系统协方差矩阵Pk|k-1计算卡尔曼滤波增益 Kk,
其中,Rk表示观测噪声方差矩阵,
求得协方差矩阵的更新值Pk,Pk=(I-KkHk)Pk|k-1。
所述步骤3.1、确定误差量表示状态方程,其算法过程包括,
其中δq为微小旋转的虚部,δqw为微小旋转的实部,δθ表示自定义的小角度误差,
自此惯性导航系统在真实情况下的状态方程可使用误差状态方程近似表示
联立上面两式可得状态方程:
所述步骤3.2、迭代下一时刻姿态信息进行卡尔曼滤波姿态融合,其算法过程包括,
步骤3.2.1、将下一时刻系统信息通过卡尔曼滤波预测过程,
步骤3.2.2、将下一时刻系统信息通过卡尔曼滤波的更新过程,
所述步骤3.2.1、将下一时刻系统信息通过卡尔曼滤波预测过程,其算法过程包括,采用惯性导航系统输出的姿态信息作为先验值,采用视觉SLAM得到的姿态信息作为观测值,对系统矩阵Fk进行离散化处理,采用泰勒级数展开并收敛到二阶项:
这里通过取了一小段时间Δt为参考进行计算,
其中I表示单位矩阵,O表示零矩阵,
系统噪声协方差矩阵Qk根据系统噪声矩阵与状态转移矩阵进行离散化表示:
所述步骤步骤3.2.2、将下一时刻系统信息通过卡尔曼滤波的更新过程,其算法过程包括,
自此,卡尔曼滤波的更新过程为:
Pk=(I-KkHk)Pk|k-1
通过采用上述技术方案,本发明的有益效果是:本发明上述技术方案的位姿估计算法中利用视觉SLAM获得的姿态信息作为观测值校正了惯性导航系统的 IMU输出的值,融合了两种姿态估计算法的优点,使其与真实值更为接近,在误差统计上相比于改进的ORB—SLAM算法(一种基于ORB特征的三维定位与地图构建算法)精度上有了一定的提高,做到了修正惯性导航系统IMU本身存在的累计误差,同时解决视觉SLAM中视觉相机输出频率低,旋转时跟踪易失败等问题,整个系统的鲁棒性与强健性也相对提升,相比于双目相机资源消耗更低。
具体实施方式
为了进一步解释本发明的技术方案,下面通过具体实施例来对本发明进行详细阐述。
本实施例公开的一种多传感器融合位姿估计算法,算法步骤包括步骤1、惯性导航系统的建模与标定,步骤2、基于卡尔曼滤波将惯性导航系统输出的姿态信息与视觉SLMA得到的姿态信息进行姿态融合以及步骤3、不断迭代更新系统方程实现滤波这三大步,具体各步骤中的过程算法下面详细描述。
步骤1、惯性导航系统的建模与标定,包括下列步骤:
步骤1.1、确定坐标系;常用坐标系可分为载体坐标系与导航坐标系,通常使用载体的质心表示载体坐标系的原点,坐标轴一般指向载体的正前方、正右方和正下方,导航坐标系一般指向东、北、天方向,载体坐标系变换到导航坐标系的旋转采用方向余弦矩阵表示,记为假设导航坐标系先绕俯仰轴转θ,再绕滚动轴旋转最后绕偏航角转φ,从而实现到载体坐标系的变换,该方向余弦矩阵表示为:
步骤1.2、惯性导航系统的IMU设备输出建模;IMU(Inertial Measurement Unit)即惯性测量单元,IMU设备输出包括加速度计的线加速度以及陀螺仪的角速度,加速度计的实际输出值表示为am=a-g+na+ba,陀螺仪输出的旋转速度为ωm=ω+ng+bg,
其中am表示加速度计的测量值,a表示加速度计在全局结构的准确值,g表示重力加速度,ωm表示在噪声影响下的陀螺仪输出,即IMU的旋转速度的实际输出,ω表示陀螺仪输出,即IMU的旋转速度的理想输出,ba、bg分别为加速度计和陀螺仪服从正态分布且均值为0的高斯白噪声,ba、bg分别为加速度计和陀螺仪的零偏,可视为由对ba、bg所建立的随机游走模型导致,其模型噪声服从均值为0的正态分布,
na~N(O,Na)
ng~N(O,Ng)
步骤1.3、确定IMU运动学模型;根据IMU运动学原理,IMU输出的姿态由角速度进行一次积分获得,考虑中立及噪声因素得到运动学模型:
其中,q表示物体的旋转,Ω(ωm)表示ω的四元数,Ω(ωm)表示形式为:
其中,ωx为ω四元数表示下的x轴分量,|ωy为ω四元数表示下的y轴分量ωz为ω四元数表示下的z轴分量,
步骤2、基于卡尔曼滤波将惯性导航系统输出的姿态信息与视觉SLMA得到的姿态信息进行姿态融合,包括下列步骤:
步骤2.1、输入视觉SLMA的视觉传感器与惯性导航系统的IMU设备各自的自由度信息;本发明采用惯性导航系统输出的姿态信息作为先验值,采用视觉 SLAM得到的姿态信息作为观测值,在实现过程中对系统矩阵Fk进行离散化处理,以卡尔曼滤波算法为前提处理得到状态方程:
其中xk表示当前时刻k的状态值、xk-1表示上一时刻k-1的状态值,Fk为系统的状态转移矩阵,Gk为系统的噪声矩阵,Hk为系统的观测矩阵,zk卡尔曼滤波测量方程,n为系统的噪声,u为系统观测噪声。
其中Qk为系统噪声协方差矩阵,Pk-1表示上一时刻的协方差矩阵更新值,
步骤2.3、通过卡尔曼滤波更新过程;通过步骤2.2预测过程求得的系统协方差矩阵Pk|k-1计算卡尔曼滤波增益Kk,
其中,Rk表示观测噪声方差矩阵,
求得协方差矩阵的更新值Pk,Pk=(I-KkHk)Pk|k-1。
步骤3、不断迭代更新系统方程实现滤波,包括下列步骤:
其中δq为微小旋转的虚部,δqw为微小旋转的实部,δθ表示自定义的小角度误差,
自此惯性导航系统在真实情况下的状态方程可使用误差状态方程近似表示
此方程出自Trawny《Indirect Kalman filter for 3D attitude estimation》文献的推导结果,
联立上面两式可得状态方程:
步骤3.2、迭代下一时刻姿态信息进行卡尔曼滤波姿态融合,其算法过程包括,步骤3.2.1、将下一时刻系统信息通过卡尔曼滤波预测过程,步骤3.2.2、将下一时刻系统信息通过卡尔曼滤波的更新过程,
所述步骤3.2.1、将下一时刻系统信息通过卡尔曼滤波预测过程,采用惯性导航系统输出的姿态信息作为先验值,采用视觉SLAM得到的姿态信息作为观测值,对系统矩阵Fk进行离散化处理,采用泰勒级数展开并收敛到二阶项:
这里通过取了一小段时间Δt为参考进行计算,
联立状态方程可得:
其中I表示单位矩阵,O表示零矩阵,
系统噪声协方差矩阵Qk根据系统噪声矩阵与状态转移矩阵进行离散化表示:
步骤3.2.2、将下一时刻系统信息通过卡尔曼滤波的更新过程;由于IMU输出的姿态估计频率非常高,从而导致容易随着时间的增长而获得较大的姿态累积误差,使用视觉SLAM的低频输出结果作为校正IMU的姿态输出值,可以提高整个系统的强健性。用视觉姿态估计值表示相机坐标系到世界坐标系的姿态变换,同时也表示滤波器的观测值Z联立观测矩阵可得观测方程:H=[O3×3 I3×3]
自此卡尔曼滤波的更新过程为:
Pk=(I-KkHk)Pk|k-1
上述实施例并非限定本发明的产品形态和式样,任何所属技术领域的普通技术人员对其所做的适当变化或修饰,皆应视为不脱离本发明的专利范畴。
Claims (10)
1.一种多传感器融合位姿估计算法,其特征在于,算法步骤包括,
步骤1、惯性导航系统的建模与标定;
步骤2、基于卡尔曼滤波将惯性导航系统输出的姿态信息与视觉SLMA得到的姿态信息进行姿态融合,包括下列步骤:步骤2.1、输入视觉SLMA的视觉传感器与惯性导航系统的IMU设备各自的自由度信息,步骤2.2、通过卡尔曼滤波预测过程,步骤2.3、通过卡尔曼滤波更新过程;
步骤3、不断迭代更新系统方程实现滤波,包括下列步骤:步骤3.1、确定误差量表示状态方程,步骤3.2、迭代下一时刻姿态信息进行卡尔曼滤波姿态融合。
2.如权利要求1所述的一种多传感器融合位姿估计算法,其特征在于,所述步骤1包括下列步骤:步骤1.1、确定坐标系,步骤1.2、惯性导航系统的IMU设备输出建模,步骤1.3、确定IMU运动学模型;
所述步骤1.2、惯性导航系统的IMU设备输出建模,其算法过程包括,
加速度计的实际输出值表示为am=a-g+na+ba,
陀螺仪输出的旋转速度为ωm=ω+ng+bg,
其中am表示加速度计的测量值,a表示加速度计在全局结构的准确值,g表示重力加速度,ωm表示在噪声影响下的陀螺仪输出,即IMU的旋转速度的实际输出,ω表示陀螺仪输出,即IMU的旋转速度的理想输出,na、ng分别为加速度计和陀螺仪服从正态分布且均值为0的高斯白噪声,ba、bg分别为加速度计和陀螺仪的零偏,可视为由对ba、bg所建立的随机游走模型导致,其模型噪声服从均值为0的正态分布,
na~N(0,Na)
ng~N(0,Ng)
6.如权利要求5所述的一种多传感器融合位姿估计算法,其特征在于,所述步骤3.2、迭代下一时刻姿态信息进行卡尔曼滤波姿态融合,其算法过程包括,
步骤3.2.1、将下一时刻系统信息通过卡尔曼滤波预测过程,
步骤3.2.2、将下一时刻系统信息通过卡尔曼滤波的更新过程,
所述步骤3.2.1、将下一时刻系统信息通过卡尔曼滤波预测过程,其算法过程包括,采用惯性导航系统输出的姿态信息作为先验值,采用视觉SLAM得到的姿态信息作为观测值,对系统矩阵Fk进行离散化处理,采用泰勒级数展开并收敛到二阶项:
这里通过取了一小段时间Δt为参考进行计算,
其中I表示单位矩阵,O表示零矩阵,
系统噪声协方差矩阵Qk根据系统噪声矩阵与状态转移矩阵进行离散化表示:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211172443.XA CN115540860A (zh) | 2022-09-26 | 2022-09-26 | 一种多传感器融合位姿估计算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211172443.XA CN115540860A (zh) | 2022-09-26 | 2022-09-26 | 一种多传感器融合位姿估计算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115540860A true CN115540860A (zh) | 2022-12-30 |
Family
ID=84728786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211172443.XA Pending CN115540860A (zh) | 2022-09-26 | 2022-09-26 | 一种多传感器融合位姿估计算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115540860A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116592896A (zh) * | 2023-07-17 | 2023-08-15 | 山东水发黄水东调工程有限公司 | 基于卡尔曼滤波和红外热成像的水下机器人导航定位方法 |
CN117451043A (zh) * | 2023-12-25 | 2024-01-26 | 武汉大学 | 一种数-模混合估计的多源融合定位方法及系统 |
-
2022
- 2022-09-26 CN CN202211172443.XA patent/CN115540860A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116592896A (zh) * | 2023-07-17 | 2023-08-15 | 山东水发黄水东调工程有限公司 | 基于卡尔曼滤波和红外热成像的水下机器人导航定位方法 |
CN116592896B (zh) * | 2023-07-17 | 2023-09-29 | 山东水发黄水东调工程有限公司 | 基于卡尔曼滤波和红外热成像的水下机器人导航定位方法 |
CN117451043A (zh) * | 2023-12-25 | 2024-01-26 | 武汉大学 | 一种数-模混合估计的多源融合定位方法及系统 |
CN117451043B (zh) * | 2023-12-25 | 2024-03-15 | 武汉大学 | 一种数-模混合估计的多源融合定位方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020253854A1 (zh) | 移动机器人姿态角解算方法 | |
CN111207774B (zh) | 一种用于激光-imu外参标定的方法及系统 | |
CN107607113B (zh) | 一种两轴姿态倾角测量方法 | |
KR102017404B1 (ko) | 9축 mems 센서에 기반하여 농기계의 전-자세 각도를 갱신하는 방법 | |
CN110986939B (zh) | 一种基于imu预积分的视觉惯性里程计方法 | |
CN110887481B (zh) | 基于mems惯性传感器的载体动态姿态估计方法 | |
CN107014376B (zh) | 一种适用于农业机械精准作业的姿态倾角估计方法 | |
WO2017063388A1 (zh) | 一种惯导装置初始对准方法 | |
CN115540860A (zh) | 一种多传感器融合位姿估计算法 | |
CN106056664A (zh) | 一种基于惯性和深度视觉的实时三维场景重构系统及方法 | |
CN105806363B (zh) | 基于srqkf的sins/dvl水下大失准角对准方法 | |
CN109141475B (zh) | 一种dvl辅助sins鲁棒行进间初始对准方法 | |
CN109596144B (zh) | Gnss位置辅助sins行进间初始对准方法 | |
CN110954102B (zh) | 用于机器人定位的磁力计辅助惯性导航系统及方法 | |
CN107621266B (zh) | 基于特征点跟踪的空间非合作目标相对导航方法 | |
CN108731676B (zh) | 一种基于惯性导航技术的姿态融合增强测量方法及系统 | |
JP2012173190A (ja) | 測位システム、測位方法 | |
CN105910606A (zh) | 一种基于角速度差值的方向修正方法 | |
CN114216456B (zh) | 一种基于imu与机器人本体参数融合的姿态测量方法 | |
CN115855048A (zh) | 一种多传感器融合位姿估计方法 | |
Cucci et al. | Position tracking and sensors self-calibration in autonomous mobile robots by gauss-newton optimization | |
CN110207647B (zh) | 一种基于互补卡尔曼滤波器的臂环姿态角计算方法 | |
CN116644264A (zh) | 一种非线性偏置-不变卡尔曼滤波方法 | |
CN106595669B (zh) | 一种旋转体姿态解算方法 | |
CN111307114B (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 |