问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

车辆运动学模型与视觉惯性里程计位姿估计的可观测性分析研究【附数据】

创作时间:
作者:
@小白创作中心

车辆运动学模型与视觉惯性里程计位姿估计的可观测性分析研究【附数据】

引用
CSDN
1.
https://m.blog.csdn.net/checkpaper/article/details/144679579

本文主要介绍了车辆运动学模型与视觉惯性里程计位姿估计的可观测性分析研究。研究内容涵盖了多个方面,包括车辆运动学误差状态模型与GNSS-INS组合导航系统、车辆坐标系与IMU坐标系的空间校准方法、车辆轮式单目视觉里程计(WMO)与车辆轮式陀螺单目VIO(WGMO)、车辆相对运动误差观测模型的单目VIO方法,以及模型降阶策略与传感器融合定位模式的性能评估。

1. 车辆运动学误差状态模型与GNSS-INS组合导航系统

针对车辆里程计系统误差导致定位轨迹跑偏的问题,研究提出了三维空间下的车辆运动学误差状态模型。该模型结合了全球导航卫星系统(GNSS)与惯性导航系统(INS),形成了组合惯性导航系统(GNSS-INS),以提高位置和角速度的观测精度。通过解析推导该方法的可观测性,并在八组实车实验数据集上进行验证,实验结果表明,经过系统误差估计后的车辆里程计的绝对轨迹误差相比估计前的车辆里程计显著降低,有效削弱了系统误差对车辆定位轨迹的影响。

2. 车辆坐标系与IMU坐标系的空间校准方法

为解决车辆坐标系与IMU坐标系空间校准准确性不足的问题,研究提出了基于旋转序列奇异值分解和加权平均四元数的旋转外参粗标定方法,以及计入IMU零偏的GNSS-INS辅助外参在线标定方法。这些方法探究了带标定外参的IMU误差状态运动学模型和GNSS-INS位置观测模型,并解析推导了提出方法的可观测性。实验结果表明,采用提出的GNSS-INS辅助外参在线标定后的VIO在实车实验数据集上的绝对轨迹误差比手工测量标定的VIO显著降低,证明了所提方法的有效性。

3. 车辆轮式单目视觉里程计(WMO)与车辆轮式陀螺单目VIO(WGMO)

为解决车辆运动学模型位姿估计的局限性以及VIO在车辆处于恒定加速度工况时出现的尺度方向不可观测问题,研究首先提出了车辆轮式单目视觉里程计(WMO),并推导了车辆运动学误差状态模型和基于多状态约束卡尔曼滤波(MSCKF)的视觉特征观测模型。进一步,将陀螺仪角速度信息融入车辆运动学误差状态模型中,提出了车辆轮式陀螺单目VIO(WGMO)。通过解析推导WMO和WGMO方法的可观测性,并从理论上证明了所提出的方法在尺度方向上是可观测的。实验结果表明,与现有方法相比,提出的两种方法可以有效改善VIO在车辆处于恒定加速度工况下的尺度不可观测问题,提高了车辆的位姿估计精度。

4. 车辆相对运动误差观测模型的单目VIO方法

为解决VIO的尺度不可观测以及基于车辆运动误差状态模型的VIO的侧倾角和俯仰角不可观测问题,研究提出了车辆相对运动误差观测模型的单目VIO方法(ACK-MSCKF-M)和考虑杆臂效应的车辆速度、横摆角速度误差观测的单目VIO方法(ACK-MSCKF-LM)。这些方法可以改善车辆在恒定加速度工况下的尺度不可观测问题并且实现了车辆的侧倾角和俯仰角可观测,提高了车辆位姿估计的精度。实验结果表明,提出的ACK-MSCKF-M和ACK-MSCKF-LM相比于现有方法在实车实验数据集上的均方根尺度比和绝对轨迹误差均显著降低,证明了所提方法的有效性。

5. 模型降阶策略与传感器融合定位模式的性能评估

基于可观测性分析结论,研究提出了WGMO以及ACK-MSCKF-LM的模型降阶策略,并探究了其对定位精度的影响。然后对车辆运动学、视觉、惯性传感器的不同传感器融合定位模式进行了全面的性能评估。实验结果表明,基于可观测性分析的模型降阶策略对车辆定位精度的影响较小;在所有的实车实验数据集上进行的多种不同融合定位模式对比中,ACK-MSCKF-LM的定位精度性能最优。同时,基于车辆运动误差状态模型的WGMO相比于基于车速和角速度误差观测模型的ACK-MSCKF-LM,可以在保证较高的定位精度的情况下节省加速度计和方向盘转角传感器,因此在实时性和硬件成本上优于ACK-MSCKF-LM。

假设这是一段用于车辆运动学误差状态模型的Python代码

import numpy as np

# 定义车辆运动学参数
velocity = np.array([10, 0, 0])  # 车辆速度,单位:m/s
acceleration = np.array([0, 0, 0])  # 车辆加速度,单位:m/s^2
gyroscope = np.array([0, 0, 0])  # 陀螺仪角速度,单位:rad/s

# 定义IMU参数
imu_bias = np.array([0, 0, 0])  # IMU零偏

# 车辆运动学误差状态模型
def vehicle_kinemantics_model(velocity, acceleration, gyroscope, imu_bias):
    # 根据车辆运动学参数计算误差状态
    # 这里只是一个示例,实际计算会更复杂
    error_state = np.concatenate((velocity, acceleration, gyroscope, imu_bias))
    return error_state

# 调用函数计算误差状态
error_state = vehicle_kinemantics_model(velocity, acceleration, gyroscope, imu_bias)
print("车辆运动学误差状态:", error_state)
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号