-
Notifications
You must be signed in to change notification settings - Fork 18
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
Inconsistent forward kinematics result #11
Comments
Hi @kamikat Unfortunately, the short answer is that there is no fix. This IKFast library only works for the ideal robot model. In practice, the real robot is imperfect and has some offsets on each joint, so a calibration procedure is required to obtain such values when using the ROS driver library. For millimetric precision, you will need to use a different IK solver, such as Trac-IK, that can account for the model with offsets easily by just loading it from the robot_description parameter. |
Thanks for help. I've tried compiling IKFast with calibrated URDF but the compilation failed (the limitation addressed by @captain-yoshi). Using trac-ik on my calibrated model cannot always get a solution (solve rate <10%). Then I came up with a combined approach by using ikfast result as search seed of trac-ik and use a bounded search for final result. The combined approach get >90% solve rate on my calibrated model. |
That seems odd to me. Do you have a very constrained environment or something like that? I have been using Trac-ik a lot and have not had such issues with low solve rates. |
Thank you for the fantastic library with an out-of-box ikfast integration experience.
I'm using the library with UniversalRobots/Universal_Robots_ROS_Driver and ur5e_moveit_config on UR5e robot.
I use IK result from the library for basic joint-based motion and found there always be some "offset" between target pose and the actual pose after motion execution.
So I checked the forward kinematics result against the one produced by moveit
/compute_fk
interface with the following script:Produces following result:
How can I fix this?
The text was updated successfully, but these errors were encountered: