Read OctoMap file with Robotics System Toolbox
6 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Sebastian Castro
2018-8-17
编辑:Sebastian Castro
2018-9-11
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 个评论
changcheng qiu
2018-9-12
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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/196736/image.png)
changcheng qiu
2018-9-29
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?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/192090/image.png)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Specialized Messages 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!