Dear all,     I am working on a project which makes extensive use of all of URDF's descriptive capabilities. I noticed that the urdf::Visual elements stored in the urdf::Link::visual_groups did not get the urdf::Material object set if it was defined at top level. After taking a look at the code, I saw that if the call to urdf::Material::initXML(...) in urdf::Visual::initXML(...) fails, only a warning is issued. The material for the default visual element is set by urdf::Parser::init(...) [not a great design if you ask me; as it turns out it is difficult to maintain...]. This used to work until visual groups came along. The more robust solution is to have urdf::Material::initXML(...) do the complete job of resolving the tag (which involved passing a map of the available top-level defined materials to the method, in case the tag is not inline defined). However, that solution would involve major changes (as any change in design). The less messy solution in this case is just to extend urdf::Parser::init(...) to set the appropriate materials for the grouped visual elements.   I already know how to fix this and I would be glad to file a bug report & write a patch, but I don't know how to prepare the patch (something with diff...) and submit it. I apologize for behaving like a newbie (which I am, in terms of open source projects), but I really need this feature. Also, if I missed any posting rules, please be so kind as to point that out.     Best,   Victor Savu