-
Notifications
You must be signed in to change notification settings - Fork 21
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
Problems occured when solving the inverse kinematics of a robot with less than 6 DOFs #15
Comments
Hi @DofixInGithub , thank you for your interest in our tool. The error message is raised because the optimization solver fails to find a solution. The most common reason is that the input end-effector pose is unreachable to the robot. But here you are giving its starting pose, so it should be reachable. I can take a further look if you can send me the urdf and the setting (.yaml) files of your 5 DoF robot. Either posting it here or sending it to [email protected] is fine. |
@yepw Thanks for your reply! |
Thanks for sending the code. The issue was caused by the manipulability objective. For a 5 DoF robot, the manipulability index is always 0. Due to numerical instability, it sometimes becomes a negative value, which leads to a NaN when trying to compute the sqrt(). I've submitted a new commit. Could you pull the latest |
Thanks for your reply!
I have pulled the latest relaxed_ik_core and it works very well so far, Thank you very much for your help!
Best wishes!
At 2024-08-21 21:56:47, "Yeping Wang" ***@***.***> wrote:
Thanks for sending the code. The issue was caused by the manipulability objective. For a 5 DoF robot, the manipulability index is always 0. Due to numerical instability, it sometimes becomes a negative value, which leads to a NaN when trying to compute the sqrt(). I've submitted a new commit. Could you pull the latest relaxed_ik_core and check if it resolves the problem?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Hi!
I run "roslaunch relaxed_ik_ros1 demo.launch" but changed the urdf to a 5 DoFs robot, and I modified the line_tracing.py program so that the planned trajectory remains in the original position:
But the inverse kinematics solution seems to have failed with the error message: "No valid solution found! Returning previous solution: [0.2, -0.2, 0.2, -0.2, 0.1]. End effector position goals: [[[-0.23089286732848902, 1.2196985135056702, 0.02319401335631154]]]".
Furthermore, I changed the rotation and Quat weight to 0 (or a small, non-zero number) and re-compile the rust code because I thought that the robot with less than 6 degrees of freedom might not be able to control the rotation precisely, but it doesn't help:
Please let me know if I did anything wrong or need to fix something to let it work!
Thank you!
The text was updated successfully, but these errors were encountered: