项目简介
本项目是基于ROS(Robot Operating System)和Livox SDK的激光雷达数据处理系统,主要用于实时处理来自Livox激光雷达的点云数据和IMU数据。系统借助ROS节点订阅和发布数据,实现点云数据的预处理、特征提取、地图构建和可视化等功能。
项目的主要特性和功能
- 点云数据处理:订阅激光雷达的点云与IMU数据,进行滤波和下采样等预处理,并提取特征点用于地图构建和状态估计。
- 地图构建:实时构建与更新地图,运用增量式k - d树(ikd - Tree)高效管理和检索点云。
- 状态估计:使用迭代的卡尔曼滤波器(Iterated Kalman Filter)估计机器人位姿、速度等状态,同步激光雷达和IMU数据保证时间一致性。
- 数据发布:发布机器人位姿、速度、地图等信息,支持ROS PointCloud2、自定义的Livox格式、pcl的Pxyzi格式等多种数据格式。
- 可视化:可视化机器人运动轨迹和构建的地图,提供数据对比功能展示处理前后数据变化。
安装使用步骤
1. 环境准备
- 安装ROS,版本要求ROS >= Melodic。
- 安装PCL(点云库)和Eigen库,要求PCL >= 1.8,Eigen >= 3.3.4。
2. 项目构建
bash
cd ~/$A_ROS_DIR$/src
cd ExtractCloud_v1.0
mkdir include
catkin_make
source devel/setup.bash
3. 运行项目
bash
cd ~/work_space/src
source devel/setup.bash
roslaunch extract_pc crz.launch
rosrun fast_lio putoutCommand
4. 提取点云
当需要提取点云时,发布以下命令:
bash
rostopic pub /command std_msgs/Bool true
5. 查看演示视频
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】