You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the Bug
Exporting a robot (proto) to URDF using the Robot.getUrdf() function uses the current joint configuration of the robot. I.e., creating the URDF in different joint configurations leads to different values for rpy in the origin tag of the joints.
There might be use cases in which this behaviour is desired, however, I did not find it to be documented and I did not expect this behaviour. In my case, I exported the URDF to use a library such as kinpy or ikpy for forward/inverse kinematics and the results did not match as the URDF was using different joint angles than the robot in Webots.
Steps to Reproduce
Create new world, add UR5e. Assign the following controller:
See difference between ur5e_1.urdf and ur5e_2.urdf:
Expected behavior
Multiple options:
Irrespective of current joint configuration, the generated URDF should always be the same, assuming all joint positions to be 0.
Alternatively, there could be a flag that allows to switch between current joint values and zero configuration.
If the current behaviour is desired due to other reasons that I don't see now, it should be clearly described in the documentation. A warning could be printed whenever a non-zero configuration is used for saving the URDF.
System
Windows 10, Webots 2023b
The text was updated successfully, but these errors were encountered:
Hi. :)
Describe the Bug
Exporting a robot (proto) to URDF using the
Robot.getUrdf()
function uses the current joint configuration of the robot. I.e., creating the URDF in different joint configurations leads to different values forrpy
in theorigin
tag of the joints.There might be use cases in which this behaviour is desired, however, I did not find it to be documented and I did not expect this behaviour. In my case, I exported the URDF to use a library such as kinpy or ikpy for forward/inverse kinematics and the results did not match as the URDF was using different joint angles than the robot in Webots.
Steps to Reproduce
Create new world, add UR5e. Assign the following controller:
Run simulation, output should be:
Use pybullet to visualise robot with all joints set to zero based on the two URDF files:
See difference between
ur5e_1.urdf
andur5e_2.urdf
:Expected behavior
Multiple options:
System
Windows 10, Webots 2023b
The text was updated successfully, but these errors were encountered: