我正在使用PX4工具链来构建自主的无人机。我通过Gazebo模拟器使用ROS和MAVROS来使用它。现在,我需要研究路径查找算法,而不是传感器,因此,我想要一个凉亭模拟的“地面真相”图。如果可能的话,能够通过ROS的Octomap节点使用它会很棒。
我所能做的就是将深度相机点云连接到ROS octomap节点,并使用RViz对其进行观察,如this tutorial中所述。我考虑过将深度摄像头传感器放置在我的整个世界中,以便使用octomap表示来逼近地面真实世界,但是这样做看起来很复杂,效率也不高。
有没有办法生成当前凉亭世界模拟的点云表示并将其连接到Octomap?
非常感谢您的帮助! :)
答案 0 :(得分:0)
我正在发布我的解决方案,因为它可能会发生在其他人身上。
最后,我制作了一个脚本,将凉亭世界转换为octomap .bt文件。它主要使用this reference。首先,我将.world,.sdf和.dae文件转换为.dae文件。通过解析.world和.sdf文件的XML,并使用pycollada库解析.dae文件,可以在python脚本中完成此操作。然后,我使用Blender在.obj中转换.dae场景。然后,使用链接中的程序,将.obj转换为体素表示形式.binvox,最后转换为octomap .bt文件。
我的代码:https://github.com/rhidra/autopilot/tree/master/world_to_octomap
我的代码,特别是用于.world和.sdf解析的python脚本,非常基础。对于一个复杂的问题,这可能太简单了。
我希望它将对某人有所帮助!