Universal Robots+

Getting Joint angles of Inverse Kinematics URCap (another way for get_inverse_kin)

Getting Solution of Inverse Kinematics URCap
Uploaded August 31st in 2020.

Description of functionality:
This urcap provides another way for the solution of inverse kinematics other than get_inverse_kin().
The solution is obtained by using pattern of pose without qnear.

But range of obtained solutions is between -180° and 180°.
So It needs to add 2Pi or -2Pi in some case manually. because range of each joint is between -360° and 360°.

This was developed experimentally with a bug fix for get_inverse_kin. If you have a suggestion or request for improvement, please send a message individually.


Uploaded August 31st in 2020.

Sample URP(UR3) and compiled URCap
getik.zip (753.2 KB)
Uploaded August 31st in 2020.

URCaps SDK v. 1.9.0


@fujikit, thank you for sharing. it is quite interesting work.
I have looked into your code and I see you are using an analytic solution for IK based on the fact that the shoulder, elbow, and wrist-1 joints are parallel.

The robot has calibration data that slightly changes the DH parameters. Perhaps, you should call get_inverse_kin with the qnear from your solutions to get a more accurate IK solution. or alternatively, you can implement a Jacobian based IK with initial conditions from the analytic solver to consider the calibration data.
check out this post UR10 Calibration.conf DH model generation

Hi, @mohamedgamal.abdelha

Thank you for your advice.
I have been able to implement the IK solver based Jacobian in which the analytical solution is used as the initial condition instead of qnear. And the errors of calibration is considered.

I will update the sample next week.

1 Like

I updated the sample urcap.
It is written on the top of this topic in detail.