文章目录
- FAST-LIVO
- 准备工作
- 编译
- 运行
- 复现效果
FAST-LIVO
FAST-LIVO(Fast LiDAR-Inertial-Visual Odometry)是一种融合LiDAR(激光雷达)、惯性测量单元(IMU)和视觉信息的里程计算法。它旨在提供高精度和实时的位姿估计,适用于无人机、自主驾驶车辆等需要高精度定位的应用场景。
以下是FAST-LIVO的几个关键特性:
- 多传感器融合:结合了LiDAR、IMU和摄像头的数据,利用各传感器的优势,提高定位精度和鲁棒性。
- 实时性:设计着重于实时性能,能够在实时应用中提供可靠的位姿估计。
- 高精度:通过多源数据融合和复杂的算法优化,实现高精度的位姿估计,适应复杂环境。
- 鲁棒性:对各种环境和传感器噪声具有较强的鲁棒性,能够在各种复杂场景下保持较好的性能。
FAST-LIVO通过使用LiDAR点云建立环境地图,IMU提供高频率的动态信息,视觉传感器提供纹理信息,综合这些数据源来提高定位的精度和鲁棒性。这种多传感器融合的方法使其在动态和复杂环境中也能保持高精度的位姿估计。
准备工作
- ROS-noetic
- PCL>=1.6
- Eigen>=3.3.4
- OpenCV>=3.2,我用的是4.2
- Sophus
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build && cd build && cmake ..
make
sudo make install
PS:可能遇到的问题Fixed ‘lvalue required as left operand of assignment’,参考https://github.com/strasdat/Sophus/pull/199/commits/3cb289c0bb278a45e874b53f8d7447247e1845bb
- Vikit
cd catkin_ws/src
git clone https://github.com/uzh-rpg/rpg_vikit.git
PS:可能遇到的问题 CV_* ’was not declared in this scope,opencv4部分命名发生变换,将CV_WINDOW_AUTOSIZE改为WINDOW_AUTOSIZE;CV_TM_SQDIFF_NORMED改为TM_SQDIFF_NORMED。
- livox_ros_driver
编译
cd ~/catkin_ws/src
git clone https://github.com/hku-mars/FAST-LIVO
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
运行
数据集下载
roslaunch fast_livo mapping_avia.launch
rosbag play YOUR_DOWNLOADED.bag