Open lcbw opened 1 month ago
Thanks for your report! I see that the ROS apt package ros-humble-robotiq-description
contains the Xacro input files, but not the actual URDF file literally. In order for us to reproduce the problem (without having to guess how you ran Xacro), could you please attach the exact URDF file that you were trying to parse? Thanks.
gripper.txt you'll need to rename this to gripper.urdf but interestingly enough github does not allow you to attach .urdf files
Ah, okay. For a while I wasn't able to reproduce the problem, until I noticed the gripper file you provided had the mimic elements commented out. Once I put them back in, I can reproduce the problem.
I think the bug is that when there is an SDFormat <include>
element that refers to URDF and the URDF has warnings, somehow the warning is seen by SDFormat as a error (instead of a warning) and no multibody elements are added to the tree. (And therefore the SDFormat stanza to add a joint to a missing body rightly crashes.)
Thanks for reporting, this seems somewhat serious to have never been seen before.
What happened?
Labels: component: parsing configuration: linux
On attempt to parse the robotiq 85 gripper URDF as can be found in the apt package ros-humble-robotiq-description into Drake, warnings were thrown against using mimic joints with Drake, but then the file failed to parse anyway. Commenting out the mimic joints resolved the problem, indicating that the mimic joints aren't being ignored like the warning said they would be if they had been left in. [or something similar]
Example warning: Joint 'robotiq_85_right_knuckle_joint' specifies a mimic element that will be ignored. Mimic elements are currently only supported by MultibodyPlant with a discrete time step and using DiscreteContactSolver::kSap.
Example file which failed to parse:
Version
1.27.0
What operating system are you using?
Ubuntu 22.04
What installation option are you using?
pip install drake
Relevant log output