0

我正在尝试为.dae我的模型添加一个用于碰撞和视觉的自定义网格(圆环)文件.sdf

当我运行我的程序时,德雷克可视化器给出以下错误

  File "/opt/drake/lib/python2.7/site-packages/director/lcmUtils.py", line 119, in handleMessage
    callback(msg)
  File "/opt/drake/lib/python2.7/site-packages/director/drakevisualizer.py", line 352, in onViewerLoadRobot
    self.addLinksFromLCM(msg)
  File "/opt/drake/lib/python2.7/site-packages/director/drakevisualizer.py", line 376, in addLinksFromLCM
    self.addLink(Link(link), link.robot_num, link.name)
  File "/opt/drake/lib/python2.7/site-packages/director/drakevisualizer.py", line 299, in __init__
    self.geometry.extend(Geometry.createGeometry(link.name + ' geometry data', g))
  File "/opt/drake/lib/python2.7/site-packages/director/drakevisualizer.py", line 272, in createGeometry
    polyDataList, visInfo = Geometry.createPolyDataFromFiles(geom)
  File "/opt/drake/lib/python2.7/site-packages/director/drakevisualizer.py", line 231, in createPolyDataFromFiles
    polyDataList = [ioUtils.readPolyData(filename)]
  File "/opt/drake/lib/python2.7/site-packages/director/ioUtils.py", line 25, in readPolyData
    raise Exception('Unknown file extension in readPolyData: %s' % filename)
Exception: Unknown file extension in readPolyData: /my_path/model.dae

由于prius.sdf也使用prius.dae,我认为这是可能的。我究竟做错了什么?

4

1 回答 1

1

tl;drdrake_visualizer不加载 dae 文件。如果您将类似名称.obj的文件放在同一个文件夹中,它将加载该文件(并且您可以让您的 sdf 文件仍然引用 dae 文件)。

长答案:

drake_visualizer有一个非常具体的、任意的文件加载协议。给定一个任意文件名(例如my_geometry.dae),它将

  1. 剥离扩展。
  2. 尝试以下文件(按顺序),加载找到的第一个文件:
    • my_geometry.vtm
    • my_geometry.vtp
    • my_geometry.obj
    • 原始扩展。

它可以加载:vtm、、、、和文件。vtpplyobjstl

最糟糕的是,如果您在同一个文件夹中同时拥有同名的 vtp 和 obj 文件,并且您指定了 obj,它仍然会偏爱 vtp 文件。

于 2019-04-24T14:17:58.623 回答