Read OctoMap file with Robotics System Toolbox
4 views (last 30 days)
Show older comments
Sebastian
on 16 Aug 2018
Commented: changcheng qiu
on 29 Sep 2018
Hello,
I have the Robotics System Toolbox which comes with the OccupancyMap3D class, but the documentation only shows how to read an OctoMap ROS message. In general, it seems that everything related to occupancy maps is restricted to be used with ROS. Alternatively, I could create a ROS message and fill the data field with the content of the file, however I lack understanding of the OctoMap file format (resolution, additional rgb data, octree).
Does anybody know how to import an OctoMap from file into Matlab?
Thank you in advance
0 Comments
Accepted Answer
Sebastian Castro
on 17 Aug 2018
Edited: Sebastian Castro
on 11 Sep 2018
I don't think there's a direct way to read unless you parse the file yourself. As you said, you can either create your own file reader in MATLAB...
... or you can use the octomap_server package to publish a ROS message directly from the file, assuming it's a .bt file, and then subscribe to it from MATLAB.
rosrun octomap_server filename.bt
If it's a one-time thing, I'd recommend saving the OccupancyMap3D object as a .mat file in MATLAB so you can easily reload it later. Else, if the map is dynamically changing, you may as well use ROS pub-sub.
- Sebastian
7 Comments
changcheng qiu
on 12 Sep 2018
Thanks for your help.When I type mapMsg = receive(mapSub), matlab will get into the loop and there will be no result for a long time.The error is as follows
changcheng qiu
on 29 Sep 2018
I think I may know the reason of it.I was wrong at the beginning. The topic did not post a message when I rosrun octomap_server filename.what do you think about it?
More Answers (0)
See Also
Categories
Find more on Specialized Messages in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!