/point_cloud_io

ROS nodes to read and write point clouds from and to files (e.g. ply, vtk).

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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).

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.

The point cloud io package has been tested under ROS Indigo and Ubuntu 14.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Authors: Peter Fankhauser, Remo Diethelm
Contact: Peter Fankhauser, pfankhauser@ethz.ch
Affiliation: Autonomous Systems Lab, ETH Zurich

Build Status

Installation

Dependencies

This software is built on the Robotic Operating System (ROS), which needs to be installed first. Additionaly, the it depends on following software:

Building

In order to install the 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/ethz-asl/point_cloud_io.git
cd ../
catkin_make

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.