【问题标题】:Path mapping using VectorNav VN100 IMU to map a route between two GPS coordinates使用 VectorNav VN 100 IMU 的路径映射来映射两个 GPS 坐标之间的路线
【发布时间】:2019-12-20 14:44:07
【问题描述】:

我正在尝试使用 VectorNav VN100 IMU 绘制一条穿过地下隧道的路径(GPS 拒绝环境),我想知道执行此操作的最佳方法是什么。 我从 VN100 获得了很多数据点,其中包括:方向/姿势(欧拉角、四元数)以及三个维度的加速度和陀螺仪值。加速度和陀螺仪值以原始和过滤格式给出,其中过滤后的输出已使用板载卡尔曼滤波器进行过滤。 除了 IMU 测量之外,我还在隧道的起点和终点测量了三个维度的 GPS-RTK 坐标。 我应该如何处理这个映射问题?我对这个领域很陌生,不知道如何从加速度和方向数据中提取位置。我知道加速度可以集成一次以给出速度,然后又可以再次集成以获得位置,但是我如何将这些数据与方向数据(四元数)结合起来以获得路径?

【问题讨论】:

    标签: gps quaternions slam imu


    【解决方案1】:

    在机器人技术中,Mapping 表示使用感知传感器(如 2D、3D 激光或相机)来表示环境。

    一旦你得到地图,机器人就可以使用它来知道它的位置(Localization)。地图还用于查找位置之间的路径以从一个地方移动到另一个地方(Path planning)。

    在您的情况下,您需要一个感知传感器来获得更好的位置估计。仅使用 IMU,您可以使用 Extended Kalman filter(EKF) 跟踪位置,但它会快速漂移。

    机器人操作系统有EKF的实现,你可以参考一下。

    【讨论】:

    • 感谢对术语的澄清和 ROS 的推荐。我是这个领域的新手,所以我经常混淆我的术语。我们在垂直平面上使用 SiCK TiM LiDAR 扫描来获取隧道/管道轮廓,我们的机器人是手动控制的,我们不需要实施完整的 SLAM 解决方案(目前)。我希望实施一种解决方案,该解决方案使用 IMU 数据在两个 GPS 坐标之间获取一条线(3D),然后覆盖 LiDAR 数据以获取隧道/管道的地图。我可以使用什么公式来使用加速度和四元数得到这条线?
    【解决方案2】:

    好的,所以我遇到了一个解决方案,它让我更接近找到地下行进路径的目标,尽管这绝不是我在这里发布我的算法的最终解决方案,希望它可以帮助其他人。

    我的方法如下:

    1. 通过乘以四元数 VectorNav 输出 Q = [q0, q1, q2, q3] 将 VectorNav VN100 输出的加速度矢量 A = [Ax, Ay, Az] 旋转到北、东、下帧。另一个post 中概述了如何将向量乘以四元数。 基本上你取加速度向量并在它的末尾添加第四个分量作为标量项,然后乘以四元数,它是共轭的(注意,在这种情况下,两个矩阵中的标量项应该位于相同的位置标量四元数项是第一项,因此应将零标量项添加到加速度矢量的开头),例如A = [0,Ax,Ay,Az]。然后执行以下乘法: A_ned = Q A Q * 其中 Q* 是四元数的复共轭(i、j 和 k 项被否定)。
    2. 将旋转后的加速度矢量积分得到速度矢量:V_ned
    3. 整合 Velocity 矢量以获得北、东、下的位置:R_ned

    由于导致漂移的传感器偏差,速度和位置存在显着漂移。如果我们知道开始和结束速度以及开始和结束位置,这可以在一定程度上得到纠正。在这种情况下,开始和结束速度为零,所以我用它来校正速度矢量的漂移。 Uncorrected Velocity Corrected Velocity

    这里显示了 IMU 位置与 GPS 之间的最终比较(阅读:还有很长的路要走)。 GPS-RTK data vs VectorNav IMU data 现在我只需要想出一个传感器融合算法来尝试改进位置估计......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-29
      • 2012-06-14
      • 2014-03-08
      • 2012-05-30
      • 2022-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多