如何在Drake中使用ROS urdf包

  • 本文关键字:ROS urdf Drake drake
  • 更新时间 :
  • 英文 :


我是Drake的新手。我想使用我的机器人模型,它是从SolidWorks插件转换而来的ROS urdf包。我试过使用

builder = DiagramBuilder()
plant, scene_graph = AddMultibodySceneGraph(builder,0.0)
parser = Parser(plant)
pkg_map = parser.package_map()
pkg_map.AddPackageXml("myxmlfilepath")
robot_file = "my_urdf_file_path"
robot = parser.AddModelFromFile(robot_file, "robot")

但我在最后一行中得到了一个错误RuntimeError:The WaveFront obj file has no faces。我试着用ROS来显示,效果很好。我的urdf文件有一些.stl格式的网格文件,用于视觉和碰撞。我在这里看到了一些评论,所以我想到目前为止,德雷克可能无法以默认方式处理.stl。除了手动将.stl网格文件转换为.obj文件之外,我应该做什么?提前感谢。

正如您在上面的评论中所指出的,一旦您将STL文件转换为OBJ文件,就可以加载URDF文件。

这是因为Drake还不支持在运行时加载STL(或DAE(网格;它们必须进行转换(可以像您所做的那样手动转换,也可以通过构建系统进行转换(。有关详细信息,请参阅:
https://github.com/RobotLocomotion/drake/issues/2941

在这期文章中,我引用了你的帖子作为增加额外网格支撑的动力。

谢谢!