diff --git a/src/urdf_parser_py/urdf.py b/src/urdf_parser_py/urdf.py index 5ce1477..26b1259 100644 --- a/src/urdf_parser_py/urdf.py +++ b/src/urdf_parser_py/urdf.py @@ -149,12 +149,14 @@ def write_xml(self, node, obj): class Collision(xmlr.Object): - def __init__(self, geometry=None, origin=None): + def __init__(self, geometry=None, origin=None, name=None): self.geometry = geometry + self.name = name self.origin = origin xmlr.reflect(Collision, tag='collision', params=[ + xmlr.Attribute('name', str, False), origin_element, xmlr.Element('geometry', 'geometric') ]) diff --git a/test/test_urdf.py b/test/test_urdf.py index be257da..4d581ea 100644 --- a/test/test_urdf.py +++ b/test/test_urdf.py @@ -283,6 +283,19 @@ def test_link_multiple_collision(self): robot.add_link(link) self.xml_and_compare(robot, xml) + def test_collision_with_name(self): + xml = ''' + + + + + + + + +''' + self.parse_and_compare(xml) + def test_version_attribute_not_enough_dots(self): xml = '''