Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forward Kinematics Mismatch using the official URDF #210

Open
kczttm opened this issue Nov 19, 2024 · 3 comments
Open

Forward Kinematics Mismatch using the official URDF #210

kczttm opened this issue Nov 19, 2024 · 3 comments

Comments

@kczttm
Copy link

kczttm commented Nov 19, 2024

Description

Hello, I'm interested in using the URDF file given here to do some dynamics simulation. However, I found small discrepancies (~2-10mm) between the resulted end-effector position p_cal and the API's ground truth p_ee.

We doubled checked to make sure that we are choosing the right model (7dof gen3, no vision, no gripper). Since the discrepancies are always small, I wonder if it comes from the fact that our arm is the fixed-based version (no blue base).

Another important information is that as we place the arm at zero configuration, as shown in here or the page 258 of the Kinova® Gen3 Ultra lightweight robot user guide r9.1, the vertical number adds up to 1.187375 m which is closer to the third entry of p_cal below. This made me wonder if we are actually using the wrong URDF file since the beginning.

Below are some of the results:

zero configuration

q: [  0.0006   0.0005 359.9991   0.0001   0.0053 359.9997 359.9975]
p_ee: [ 0.0021  0.0002  1.1892 -1.5179 -0.0792  0.4818]
p_cal: [ 0.     -0.0249  1.1874  0.0004  0.0002 -0.0026]

home configuration

q: [359.9969  15.0011 179.9982 229.9985   0.0058  55.0003  90.0009]
p_ee: [ 0.4556  0.0029  0.4295 90.9459  0.6073 89.5313]
p_cal: [ 0.4567  0.0014  0.4337 90.0022  0.0036 90.0095]

Thank you!

@martinleroux
Copy link
Collaborator

Hi @kczttm ,

This discrepancy is expected. The URDF file is that of an ideal robot - extracted from the CAD, and does not take into consideration the tolerances of the assembly. Each unit is calibrated to adjust for these tolerances, so you can always expect the Web App to be returning a more accurate position than the URDF itself.

As I have mentioned in a few threads recently, if you need the calibration results for your robot, please contact [email protected] with your serial number (found on the sticker at the base of the robot, WOXXXXXXX-X - do not send the SN found in the Web App since it corresponds to the controller's SN and is not what we are looking for).

@kczttm
Copy link
Author

kczttm commented Dec 10, 2024

Hello @martinleroux, thanks for the follow up. I have received the calibration xml file, and I briefly understood the math behind incorporating the calibration homogeneous matrix during each step of the forward kinematic iteration. Instead of doing this manually, I would like to know if there's a script that could help me incorporate the xml file on top of the original official URDF.

@martinleroux
Copy link
Collaborator

While it is theoretically possible to apply the transforms to the URDF, I don't have such a script readily available to share since within the robot we are applying the calibration parameters during runtime.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants