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 = '''