【patchwork++】从零开始:在ROS中配置并运行patchwork++(附详细调试指南)

张开发
2026/4/15 16:31:21 15 分钟阅读

分享文章

【patchwork++】从零开始:在ROS中配置并运行patchwork++(附详细调试指南)
1. patchwork简介与环境准备patchwork是KAIST团队开发的开源点云地面分割算法基于ROS实现。它通过改进传统平面拟合方法在复杂地形中表现出色特别适合自动驾驶和移动机器人场景。我第一次接触这个算法时被它在斜坡和起伏路面的稳定表现惊艳到了——传统RANSAC方法经常把坡道误判为障碍物而patchwork能准确识别。核心依赖环境ROS Noetic推荐Ubuntu 20.04PCL 1.10ROS自带版本即可Eigen 3.3.7Livox SDK若使用Livox雷达安装基础依赖时建议先运行sudo apt-get install ros-noetic-pcl-ros ros-noetic-jsk-rviz-plugins注意如果之前安装过ROS但未完整安装PCL组件可能会遇到Could not find PCL的CMake报错。这时需要手动安装libpcl-dev。2. 从零搭建ROS工作空间2.1 创建工作空间与源码克隆我习惯在home目录下创建catkin_ws这样路径短不易出错mkdir -p ~/catkin_ws/src cd ~/catkin_ws catkin_make克隆仓库时要注意必须放在src目录下cd ~/catkin_ws/src git clone https://github.com/url-kaist/patchwork-plusplus-ros.git踩坑记录有次我把仓库克隆到了src的子文件夹里导致catkin_make始终找不到package。正确的目录结构应该是catkin_ws/src/patchwork-plusplus-ros/2.2 解决CMake版本问题新手最容易卡在CMake报错上。我遇到最多的是这个警告CMake Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake 2.8.12 will be removed from a future version...解决方法很简单用文本编辑器打开patchwork-plusplus-ros/CMakeLists.txt将第一行改为cmake_minimum_required(VERSION 3.0...)3. 数据准备与格式转换3.1 处理自定义点云格式原始数据如果是Livox的CustomMsg格式需要先转换cd ~/catkin_ws/src git clone https://github.com/Livox-SDK/livox_ros_driver.git catkin_make转换命令示例roslaunch livox_ros_driver livox_lidar.launch rosrun livox_ros_driver livox_to_pointcloud23.2 rosbag使用技巧播放bag文件时推荐使用-l参数循环播放rosbag play your_data.bag -l实测技巧在性能较弱的设备上可以加--rate0.5降低播放速度避免点云渲染卡顿。4. 启动与可视化调试4.1 完整启动流程正确的启动顺序应该是终端1roscore终端2rosbag play data.bag -l终端3cd ~/catkin_ws source devel/setup.bash roslaunch patchworkpp demo.launch4.2 RVIZ可视化配置在RVIZ中需要调整三个关键设置将Global Options的Fixed Frame改为livox_frame添加PointCloud2显示Topic选择/patchworkpp/ground添加Camera显示时建议将Alpha值调到0.5方便观察点云与图像的对应关系调试时我发现将Ground Points的颜色设为绿色Non-ground Points设为红色能快速判断分割效果rviz Displays PointCloud2 NameGround Topic/patchworkpp/ground Color0,255,0/ PointCloud2 NameNon-ground Topic/patchworkpp/non-ground Color255,0,0/ /Displays /rviz5. 常见问题排查指南5.1 依赖缺失问题如果报错Could not find jsk_rviz_plugins需要安装sudo apt-get install ros-noetic-jsk-rviz-plugins5.2 点云显示异常当RVIZ中看不到点云时按这个顺序检查rostopic list确认有/patchworkpp/ground话题rostopic hz /patchworkpp/ground查看发布频率检查RVIZ的Global Options是否匹配雷达坐标系5.3 参数调优建议在demo.launch中可以调整关键参数param nameverbose valuetrue/ !-- 开启调试输出 -- param namesensor_height value1.73/ !-- 雷达安装高度 -- param namenum_iter value3/ !-- 迭代次数 --我在户外场景测试发现将num_iter从默认值1增加到3能显著提升斜坡识别准确率但会增加约15%的计算耗时。

更多文章