point_cloud_io
                                
                                
                                
                                    point_cloud_io copied to clipboard
                            
                            
                            
                        ROS nodes to read and write point clouds from and to files (e.g. ply, vtk).
Point Cloud IO
Overview
These are two simple ROS point cloud helper nodes. read reads a point cloud from file (ply or vtk) and publishes it as a sensor_msgs/PointCloud2 message. write subscribes to a sensor_msgs/PointCloud2 topic and writes received messages to seperate files (ply, pcd).
For visualization, make sure to set the Decay Time in the PointCloud2 tab in rviz to a high number to get the point cloud visible for a long time.
This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.
Author: Péter Fankhauser, Remo Diethelm
Affiliation: ANYbotics
Maintainer: Remo Diethelm, [email protected]
This projected was initially developed at ETH Zurich (Autonomous Systems Lab & Robotic Systems Lab).
This work is conducted as part of ANYmal Research, a community to advance legged robotics.
The source code is released under a BSD 3-Clause license.
Installation
Dependencies
This software is built on the Robot Operating System (ROS), which needs to be installed first. Additionaly, the it depends on following software:
Building
In order to build Point Cloud IO, clone the latest version from this repository into your catkin workspace and compile the package using ROS.
cd ~/catkin_workspace/src
git clone https://github.com/anybotics/point_cloud_io.git
cd ../
catkin build point_cloud_io
Note: building the tool with support for the VTK file format is disabled by default. To enable it, run catkin build point_cloud_io --cmake-args -DBUILD_WITH_VTK_SUPPORT=True instead.
Usage
To create your own launch-file, you can use the examples from point_cloud_io/launch/....
Read
Load and publish a ply or vtk file with
rosrun point_cloud_io read _file_path:=/home/user/my_point_cloud.ply _topic:=/my_topic _frame:=/sensor_frame
Optionally, you can also add _rate:=1.0 to have the node publish your point cloud at the specified rate.
Write
Subscribe and save point clouds to a ply file with
rosrun point_cloud_io write _topic:=/your_topic _folder_path:=/home/user/my_point_clouds
Optionally, you can set parameters to fit the point cloud file names to your needs:
_file_prefix:=my_prefix(default: "point_cloud")_file_ending:=my_ending(default: "ply", currently only format which is supported for writing)_add_counter_to_path:=false(default:true)_add_frame_id_to_path:=true(default:false)_add_stamp_sec_to_path:=true(default:false)_add_stamp_nsec_to_path:=true(default:false)
Bugs & Feature Requests
Please report bugs and request features using the Issue Tracker.