In search of a practical IK algorithm

Started by
2 comments, last by erissian 15 years, 11 months ago
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]
Advertisement
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.
We''re sorry, but you don''t have the clearance to read this post. Please exit your browser at this time. (Code 23)
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
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.
We''re sorry, but you don''t have the clearance to read this post. Please exit your browser at this time. (Code 23)

This topic is closed to new replies.

Advertisement