Skip to content

jkk-research/patchwork-plusplus-ros

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

patchwork-plusplus-ros

This is ROS package of Patchwork++ (@ IROS'22), which is a fast and robust ground segmentation method.

animated

If you are not familiar with ROS, please visit the original repository.

If you follow the repository, you can run Patchwork++ in Python and C++ easily.

📂 What's in this repository

  • ROS based Patchwork source code (patchworkpp.hpp)
  • Demo launch file (demo.launch) with sample rosbag file. You can execute Patchwork++ simply!

📦 Prerequisite packages

You may need to install ROS, PCL, Eigen, ...

⚙️ How to build Patchwork++

To build Patchwork++, you can follow below codes.

$ mkdir -p ~/ros2_ws/src
$ cd ~/ros2_ws
$ colcon build --packages-select patchworkpp --symlink-install

🏃 To run the demo codes

There is a demo which executes Patchwork++ with sample rosbag2 (mcap) file. You can download a sample file with the following command.

Tip

Download a sample dataset for ros2: mcap file download [~540MB]

Don't forget to source before ROS commands.
source ~/ros2_ws/install/setup.bash

Then, you can run demo as follows.

# Start Patchwork++
$ ros2 launch patchworkpp demo.launch.py  cloud_topic:=/lexus3/os_center/points cloud_frame:=lexus3/os_center_a_laser_data_frame
# Start the bag file
$ ros2 bag play ~/Downloads/lexus3-2024-04-05-gyor.mcap --loop
# Start visualization
$ ros2 launch patchworkpp rviz1.launch.py

Warning

You may need to install mcap support for pre-iron ROS2: sudo apt install ros-humble-rosbag2-storage-mcap

📌 TODO List

  • Update additional demo codes processing data with .bin file format
  • Generalize point type in the source code
  • Add visualization result of demo codes in readme

Citation

If you use our codes, please cite our paper.

In addition, you can also check the paper of our baseline(Patchwork) here.

@inproceedings{lee2022patchworkpp,
    title={{Patchwork++: Fast and robust ground segmentation solving partial under-segmentation using 3D point cloud}},
    author={Lee, Seungjae and Lim, Hyungtae and Myung, Hyun},
    booktitle={Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst.},
    year={2022},
    note={{Submitted}} 
}
@article{lim2021patchwork,
    title={Patchwork: Concentric Zone-based Region-wise Ground Segmentation with Ground Likelihood Estimation Using a 3D LiDAR Sensor},
    author={Lim, Hyungtae and Minho, Oh and Myung, Hyun},
    journal={IEEE Robotics and Automation Letters},
    year={2021}
}

📮 Contact

If you have any question, don't be hesitate let us know!

About

ROS2 Implementation of Patchwork++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 88.8%
  • Python 7.9%
  • CMake 3.3%