ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

How to generate an Octomap from a Point Cloud with Hydro?

asked 2013-10-11 06:09:14 -0600

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

My configuartion: Ubuntu 12.04 LTS + ROS Hydro

Hi, how is possible to create an Octomap (.ot or .bt) from a point cloud file (.pcd)?

could someone please give me some suggestion, please?

I'm asking this because I am new to the ROS (I'm following a robotics class and the teacher assigned me this homework), I know that it's possible in Fuerte thanks to the octomap_server, so now I am trying to install octomap_mapping in ros-hydro (with some trouble), but i'm wondering if some Ros Guru have any suggestions for me.

I would like to emphasize that I'm not asking you to do my homework but to give me a sort of guideline to follow, since it seems that Hydro is a pretty new distro.

Thanks in advance.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-10-11 23:32:26 -0600

AHornung gravatar image

You can try the "hydro-devel" branch of octomap_mapping at GitHub:

It has a catkinized version for ROS Hydro that you need to source-install in your workspace. If I get some feedback I can properly release a version for ROS hydro.

edit flag offensive delete link more


Thanks for the reply. I compiled the "hydro-devel" branch of octomap_mapping. However, I created a test node for reading the point cloud file and publish it on the "cloud_in" topic, but the "octomap_server" don't receive the message, it seems that the "tf" roscore feature is working like a filter. It's possible that this is caused by the message's header? If yes, How can I set the msg's header in order to get it seen by the octomap_server node? Thanks again.

jhonhyd gravatar image jhonhyd  ( 2013-10-14 06:19:45 -0600 )edit

If you just want to convert a PCD file to octree, then it may be easier to write a short node that uses the OctoMap API directly. Simply loop through the end points, create a PointCloud out of it and insert it into the octree (see

AHornung gravatar image AHornung  ( 2013-10-16 01:34:23 -0600 )edit

For octomap_server you need a valid TF tree to the sensor frame (header of your pointcloud) from the given map frame.

AHornung gravatar image AHornung  ( 2013-10-16 01:35:11 -0600 )edit

Question Tools


Asked: 2013-10-11 06:09:14 -0600

Seen: 2,274 times

Last updated: Oct 14 '13