![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SLAM基础
文章平均质量分 80
点云兔子
这个作者很懒,什么都没留下…
展开
-
实现ROS中两个里程计数据的转换到同一坐标系下
在多传感器融合的场景中,不同传感器可能会提供不同的位置信息。这段代码的目标是将来自两个不同来源的里程计数据转换到同一个参考坐标系(在这里,选择odom0的坐标系作为参考)下进行对齐,以便于后续的融合和处理。原创 2024-06-18 21:13:58 · 300 阅读 · 0 评论 -
使用 C++ 和 Eigen 库理解 IMU 数据处理与可视化
在本文中,我们将探讨如何使用 C++ 和 Eigen 库处理和可视化惯性测量单元(IMU)数据。IMU 数据在各种应用中至关重要,包括机器人技术、导航系统和虚拟现实。我们将探讨如何读取 IMU 数据,处理数据以估计姿态,并使用 Pangolin 可视化轨迹。我们首先从文件中读取 IMU 数据。数据包括时间戳、角速度和加速度。我们使用一个简单的函数解析数据,并将其存储在ImuFrame结构的向量中。接下来,我们实现一个 IMU 跟踪器类(IMUTracker)来估计随时间变化的姿态(位置和方向)。原创 2024-04-07 19:18:26 · 645 阅读 · 0 评论 -
IMU参数辨识及标定
方差分析,得到了器件的量化噪声、角度随机游走、角速率随机游走、零偏不稳定性噪声、速率斜坡,仔细看,这些都是对零偏质量的分析,也可以直观的理解为零偏的波动和漂移程度,这里面并没有分析零偏本身的大小,而这个才是我们标定里要去估计的那个常值误差。现在得到的结果的单位是rad/s和m/s^2,噪声是个能量概念或者说功率概念,我们还要把标定得到的参数归一化到每单位sqrt(hz)尺度下,即/aqrt(Hz)。数据包播放结束之后,在/imu_utils/data/这个文件夹下会出现一系列的参数文件,如上图所示。原创 2024-04-02 10:24:15 · 1669 阅读 · 1 评论 -
Lord 3DMCV7-AHRS 时间同步硬件触发设置
通过FPGA发送脉冲触发IMU采集数据。FPGA发送脉冲时,IMU才有数据产生。FPGA与IMU的硬件接线就不讲了,这里主要说明的是IMU的设置以及ROS驱动的config文件更改。原创 2024-03-12 15:28:51 · 1093 阅读 · 0 评论 -
视觉SLAM-光流法
光流法是计算机视觉领域中用于估计图像中像素点运动的一种技术。它通过分析图像序列中像素点的灰度值变化,推断出像素点的运动方向和速度。亮度恒定假设(Brightness Constancy Assumption):在一个像素点的邻域内,随着时间的推移,像素点的灰度值保持不变。空间连续性假设(Spatial Coherence Assumption):邻近的像素点在图像中的运动方向和速度相似。光流法的主要思想是通过比较图像序列中的相邻帧来计算像素点的位移向量。原创 2023-07-06 11:14:43 · 2428 阅读 · 1 评论 -
Sophus库的使用
在这个例子中,我们首先构建了一个SE(3)位姿T1,然后对其进行逆运算、乘法运算,最后将旋转矩阵和李代数相互转换。此外,还演示了如何将两个李代数相加。总的来说,Sophus库提供了一组简单而强大的工具,可以大大简化位姿运算和优化的过程。Sophus是一个用于求解李群和李代数的C++库,它提供了一组基本操作和数学函数,例如构建、转换、乘法等,可以方便地进行位姿运算和优化。原创 2023-04-12 08:37:59 · 1326 阅读 · 0 评论 -
Eigen库使用介绍
Eigen是一个C++模板库,提供了高效的线性代数运算和各种矩阵计算功能。它可以帮助你轻松地进行向量运算、矩阵分解、线性方程组求解等操作。当然,还有Eigen库中的四元数(Quaternion)模块,用于处理旋转变换。在三维空间中,旋转通常可以表示为一个四元数。Eigen库提供了Quaternion类,用于存储和操作四元数。// 四元数旋转向量// 旋转矩阵// 从旋转矩阵构造四元数// 四元数插值。原创 2023-03-31 17:31:55 · 2673 阅读 · 0 评论 -
三维空间中的坐标变换(四元数)
Isometry3d 是 Eigen 库中的一个类,用于表示三维空间中的等距变换(也称为刚性变换)。等距变换是一种保持距离和角度不变的变换,包括平移和旋转两种基本变换。因此,等距变换可以用一个旋转矩阵和一个平移向量来表示。Isometry3d 类继承自 Transform 类,它是一个模板类,可以根据所需的维数和数据类型创建不同的类型。在 Isometry3d 中,数据类型为 double,表示在三维空间中的变换。原创 2023-03-31 17:08:11 · 1132 阅读 · 0 评论