How to import urdf include inertial attribute with URDF Importer?

Hi!

I want to add inertial attribute into URDF( mycobot_ros2/mycobot_description/urdf/mycobot/mycobot_urdf.urdf at humble · elephantrobotics/mycobot_ros2 · GitHub ).

For example, the following sentence.


<inertial>
  <origin rpy="0 0 0" xyz="0 0 0.075"/>
  <mass value="5"/>
  <inertia ixx="0.00517" iyy="0.00517" izz="0.00625" ixy="0.0" ixz="0.0" iyx="0.0"/>
</inertial>

However, Unity cannot import it due to the following error.


ArgumentNullException: Value cannot be null.

Parameter name: attribute

System.Xml.Linq.XAttribute.op_Explicit (System.Xml.Linq.XAttribute attribute) (at <3594a36adc6a4cbe9d1a4736bdd89383>:0)

Unity.Robotics.UrdfImporter.Link+Inertial+Inertia…ctor (System.Xml.Linq.XElement node) (at Library/PackageCache/com.unity.robotics.urdf-importer@90f353e435/Runtime/RosSharpDefinitions/Link.cs:129)

Unity.Robotics.UrdfImporter.Link+Inertial…ctor (System.Xml.Linq.XElement node) (at Library/PackageCache/com.unity.robotics.urdf-importer@90f353e435/Runtime/RosSharpDefinitions/Link.cs:89)

Unity.Robotics.UrdfImporter.Link…ctor (System.Xml.Linq.XElement node) (at Library/PackageCache/com.unity.robotics.urdf-importer@90f353e435/Runtime/RosSharpDefinitions/Link.cs:33)

Unity.Robotics.UrdfImporter.Robot.ReadLinks (System.Xml.Linq.XElement node) (at Library/PackageCache/com.unity.robotics.urdf-importer@90f353e435/Runtime/RosSharpDefinitions/Robot.cs:93)

Unity.Robotics.UrdfImporter.Robot…ctor (System.String filename) (at Library/PackageCache/com.unity.robotics.urdf-importer@90f353e435/Runtime/RosSharpDefinitions/Robot.cs:48)

Unity.Robotics.UrdfImporter.UrdfRobotExtensions.ImportPipelineInit (System.String filename, Unity.Robotics.UrdfImporter.ImportSettings settings, System.Boolean loadStatus, System.Boolean forceRuntimeMode) (at Library/PackageCache/com.unity.robotics.urdf-importer@90f353e435/Runtime/Extensions/UrdfRobotExtensions.cs:79)

Unity.Robotics.UrdfImporter.UrdfRobotExtensions+d__8.MoveNext () (at Library/PackageCache/com.unity.robotics.urdf-importer@90f353e435/Runtime/Extensions/UrdfRobotExtensions.cs:178)

Unity.EditorCoroutines.Editor.EditorCoroutine+YieldProcessor.MoveNext (System.Collections.IEnumerator enumerator) (at Library/PackageCache/com.unity.editorcoroutines@1.0.0/Editor/EditorCoroutine.cs:80)

Unity.EditorCoroutines.Editor.EditorCoroutine.ProcessIEnumeratorRecursive (System.Collections.IEnumerator enumerator) (at Library/PackageCache/com.unity.editorcoroutines@1.0.0/Editor/EditorCoroutine.cs:134)

Unity.EditorCoroutines.Editor.EditorCoroutine.MoveNext () (at Library/PackageCache/com.unity.editorcoroutines@1.0.0/Editor/EditorCoroutine.cs:115)

UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at /home/bokken/buildslave/unity/build/Editor/Mono/EditorApplication.cs:356)


How to import urdf include inertial attribute with URDF Importer?

Thank you for your help!

I’m sorry for this error due to my typos…

4th line: “iyx” → “iyz”


<inertial>
  <origin rpy="0 0 0" xyz="0 0 0.075"/>
  <mass value="5"/>
  <inertia ixx="0.00517" iyy="0.00517" izz="0.00625" ixy="0.0" ixz="0.0" iyz="0.0"/>
</inertial>

Thanks anyway.