ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Yes, you would need to write your own Nodelet using octomap_server. That should be easily possible, since you can just internally use the OctomapServer class (C++ API instead of ROS node API).
However, I would guess that most of the CPU load comes from expensive map updates and ray casting, instead of pointcloud serialization/deserialization. A Nodelet would not speed up much in that case, but it might be worth a try.
Note that octomap_server outputs detailed timing on the debug log level, so you can estimate the time it takes to just insert the pointclouds into the map.