Skip to content

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

License

Notifications You must be signed in to change notification settings

jiangchenxu/point_cloud_io

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 82.9%
  • CMake 17.1%