我是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
在这期文章中,我引用了你的帖子作为增加额外网格支撑的动力。
谢谢!