Replies: 2 comments 21 replies
-
I think the solution to this problem is to add offset transforms before and after the base and tip link for the inverse kinematic solvers that are specified in the yaml files. I am having issues with OPWInvKin as well where I need a slightly different link format than the solver expects. @Levi-Armstrong do you have a problem with this? What format have you been using for transforms in yaml? |
Beta Was this translation helpful? Give feedback.
-
There are test in tesseract for the UR which compare the IK to the Forward so I assume the issue is not within tesseract. Now I also had to add a base offset in the inverse kinematics solver for the UR to have it align with the URDF's within ur_descriptions. If you look in ur_inv_kin.cpp line 262 you will 180deg rotation around Z axis. |
Beta Was this translation helpful? Give feedback.
-
The URInvKin solver is returning results that are 180 degrees rotated about Z compared to the forward kinematics result. I have code that tests KDL, OPW, and UR using the same test. The KDL and OPW work fine, but the UR is incorrect. I've tried fiddling with the parameters, but it seems like there might be an insistency in the solver.
The factory UR parameters have the robot stretched out along -X instead of +X like in ROS.
https://www.universal-robots.com/articles/ur/application-installation/dh-parameters-for-calculations-of-kinematics-and-dynamics/
For their ROS description, they have a 180 degree rotation hacked in to make it match the +X ROS convention:
https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/blob/c4d1724ac32a4f0e3bcfbcfa420f82608b07b17f/urdf/ur_macro.xacro#L270
I am not using a URDF for my code, so I am not entirely sure if this is a problem with my code or with the solver. The failing test is here:
https://github.com/johnwason/rpi_general_robotics_toolbox_py/blob/a5d80df88e89aa95ba4eabfe11a2894972c73900/test/test_tesseract_kinematics.py#L417
I suggest adding a URDF test that calculates forward and inverse kinematics of the UR robot and cross checks between them.
Beta Was this translation helpful? Give feedback.
All reactions