Sign in to follow this  

In search of a practical IK algorithm

This topic is 3503 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, Could anyone point me to a site for a *more* practical IK Solution (best to include source code)? :) I am working on an autonomous agent, and I'd like to use quaternion and SLERP Don't want to use euler. Some examples I found on the net are at a very superficial level and produce unnatrual poses. Could anyone please help me out? Don't mind investing in new books :) Thanks Jack [Edited by - lucky6969b on May 13, 2008 3:08:26 AM]

Share this post


Link to post
Share on other sites
If you can implement it with Euler angles, it's fairly trivial to replace it with quaternions. Also, they won't alleviate the unnatural pose problem by alone; you still have to set limits and constraints yourself.

Share this post


Link to post
Share on other sites
Quote:
Original post by erissian
If you can implement it with Euler angles, it's fairly trivial to replace it with quaternions. Also, they won't alleviate the unnatural pose problem by alone; you still have to set limits and constraints yourself.


Because there are 2 or more possible ways for the IK to solve, how can you tell which contraint is better?
For example,
1) I use upper_arm as the base with 3 manipulators
2) The goal is anywhere within the object space
3) Sometimes the elbow joint is being bent upwards which is very unnaturnal

Maybe I just limit it brutally and saying "that" is not allowed and put a negative branching statement in my program... or something like that?

What can be done?
Thanks in advance
Jack

Share this post


Link to post
Share on other sites
Quote:
Original post by lucky6969b
Quote:
Original post by erissian
If you can implement it with Euler angles, it's fairly trivial to replace it with quaternions. Also, they won't alleviate the unnatural pose problem by alone; you still have to set limits and constraints yourself.


Because there are 2 or more possible ways for the IK to solve, how can you tell which contraint is better. For example,
1) I use upper_arm as the base with 3 manipulators
2) The goal is anywhere within the object space
3) Sometimes the elbow joint is being bent upwards which is very unnaturnal

What can be done?
Thanks in advance
Jack


I use two additional parameters:

First, I give each node a weight. This lets me choose the option that takes the least energy.

Second, I give every node a rest position. This is used to resist movement, so that the resulting motion is "comfortable" for the model.

For instance, say you wanted a humanoid model to grasp something a short distance in front of their heart, using their right hand. The elbow will be near a certain angle for that distance, but the shoulder could be twisted in any number of ways to make this work, and the hand itself could be bend at an awkward angle. These are mathematically correct, but unacceptable. Using these parameters, the elbow will be very low because this is the least-energy solution, and looks natural. Also, the hand will be fairly straight instead of very bent because this is closer to its rest position.

Share this post


Link to post
Share on other sites

This topic is 3503 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this