-
Notifications
You must be signed in to change notification settings - Fork 84
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
Confusion about inverse kinematics of Gen3Lite #174
Comments
Hi @DawnQiu, Your code looks good, and from the error message, I feel like the error comes from the Inverse Kinematics computation. I cannot test on a real Gen3-lite at the moment, but my next steps would be to try with a different I feel like this specific pose is on the far edge of the arm's reach, so there might be an issue when computing where some values are out of bounds and the whole process fails because of it. Best, |
Thank you for your response. |
Yeah, you wrote "third joint of the robot arm is rotated to 90 degrees" and it clicked in my head. This is a singularity between joint 4 and 6. They are both on the exact same axis so the inverse kinematics cannot be computed since there are infinite solutions. See the singularities section in the User Guide for more details. Basically, you cannot compute inverse kinematics for this specific pose. If you send your arm to this exact cartesian pose, you will probably have small variation on every joint angles to avoid having actuators 4 and 6 on the same axis. Best, |
Dear sir,
I have encountered some issues while writing an inverse kinematics program in the Gen3Lite robot.
First, I ran the 01-compute-kinematics.cpp program, which worked successfully, and printed out the information:
Then, I refer to the program to write my own "inverse kinematics" program, the following is the source code:
In the main function, define the desired pose TargetPose and the initial guess angles GuessAngle.
Call robot.ComputeInverseKinematics(TargetPose, GuessAngle) to perform the inverse kinematics calculation and store the result in the ComputedAngles vector.Use a loop to iterate over the ComputedAngles vector and print the value of each joint angle.
Finally, running the program reports the following error message:
This problem has been bothering me for several days, and I would like to know how to solve it.
Thank you very much for your response!
Best Wishes!
The text was updated successfully, but these errors were encountered: