M-detector 使用教程
M-detector 项目地址: https://gitcode.com/gh_mirrors/md/M-detector
1. 项目介绍
M-detector 是一个基于 LiDAR 数据流的移动事件检测软件包。它能够在点到达后立即判断一个点是否移动,实现微秒级的点检测。M-detector 根据遮挡原理设计,适用于各种环境和类型的 LiDAR 传感器。
该项目的相关论文已被 Nature Communications 接受,名为 "Moving Event Detection from LiDAR Stream Points"。如果在您的项目中使用了此代码,请引用相关论文。
2. 项目快速启动
2.1 环境搭建
- 操作系统: Ubuntu 18.04 或更高版本
- ROS: Melodic 或更高版本
- PCL: 1.8 或更高版本
- Eigen: 3.3.4 或更高版本
- livox_ros_driver: 根据官方文档安装
安装完 livox_ros_driver 后,需要在 ~/.bashrc
文件末尾添加以下行来 source:
source $Livox_ros_driver_dir$/devel/setup.bash
其中 $Livox_ros_driver_dir$
是 livox ros 驱动工作空间的目录。
- TBB: 安装 gcc-9 和 g++-9,然后按照官方文档安装 TBB,注意将 gcc-9.1/g++-9.1 替换为 gcc-9/g++-9。
2.2 编译项目
cd ~/catkin_ws/src
git clone git@github.com:hku-mars/M-detector.git
catkin_make
source devel/setup.bash
注意:在 CMakeList.txt 中更改 TBB 的路径。
2.3 运行项目
运行 odometry 节点,如 Fast Lio,然后执行以下命令:
roslaunch fast_lio mapping_XXX(for dataset).launch
roslaunch m_detector detector_(dataset).launch
rosbag play YOURBAG.bag
生成标签文件的命令:
roslaunch m_detector detector_XXX.launch out_path:="your path for frame-out results" out_origin_path:="your path for point-out results"
计算 IoU 的命令:
roslaunch m_detector cal_recall.launch dataset:=<dataset_type> dataset_folder:="the path to the dataset_folder" start_se=<start_sequence_number> end_se=<end_sequence_number> start_param=<start_parameter_file_number> end_param=<end_parameter_file_number> is_origin=<true/false>
3. 应用案例和最佳实践
- 数据集准备: 下载并按照指定的文件夹结构准备好数据集。
- 参数调整: 在
config
文件夹中找到参数文件,根据需要调整参数。 - 结果分析: 使用提供的 launch 文件来运行检测,然后分析生成的结果。
4. 典型生态项目
M-detector 可以与 Fast Lio 等其他开源项目结合使用,实现更完整的 LiDAR 数据处理流程。在 ROS 生态系统中,有许多类似的项目可以与之集成,以构建复杂的机器人感知系统。
M-detector 项目地址: https://gitcode.com/gh_mirrors/md/M-detector
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考