UM-ARM-Lab / pytorch_kinematics

Robot kinematics implemented in pytorch
MIT License
443 stars 42 forks source link

Exception: Invalid Geometric Tag: capsule #40

Closed StoneT2000 closed 3 months ago

StoneT2000 commented 3 months ago

I have a URDF which uses a capsule geometry for a visual and collision but I get this issue when I try to build a chain from the URDF. Any idea?

  File "/home/stao/work/research/maniskill/ManiSkill2/mani_skill/agents/controllers/utils/kinematics.py", line 106, in _setup_gpu
    self.pk_chain = pk.build_serial_chain_from_urdf(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf.py", line 135, in build_serial_chain_from_urdf
    urdf_chain = build_chain_from_urdf(data)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf.py", line 94, in build_chain_from_urdf
    robot = URDF.from_xml_string(data)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 617, in from_xml_string
    return cls.from_xml(node, path)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 611, in from_xml
    return cur_type.from_xml(node, path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 232, in from_xml
    obj.read_xml(node, path)
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 599, in read_xml
    self.XML_REFL.set_from_xml(self, node, path)
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 514, in set_from_xml
    element.add_from_xml(obj, child, element_path)
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 391, in add_from_xml
    value = self.value_type.from_xml(node, path)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 232, in from_xml
    obj.read_xml(node, path)
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 599, in read_xml
    self.XML_REFL.set_from_xml(self, node, path)
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 514, in set_from_xml
    element.add_from_xml(obj, child, element_path)
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 391, in add_from_xml
    value = self.value_type.from_xml(node, path)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 232, in from_xml
    obj.read_xml(node, path)
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 599, in read_xml
    self.XML_REFL.set_from_xml(self, node, path)
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 517, in set_from_xml
    element.set_from_xml(obj, child, element_path)
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 361, in set_from_xml
    value = self.value_type.from_xml(node, path)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/urdf.py", line 139, in from_xml
    return self.factory.from_xml(children[0], path=path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/stao/work/research/maniskill/pytorch_kinematics/src/pytorch_kinematics/urdf_parser_py/xml_reflection/core.py", line 251, in from_xml
    raise Exception("Invalid {} tag: {}".format(self.name, node.tag))
Exception: Invalid geometric tag: capsule