Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

karlkoch

Setting Restrictions on IK Joints

This topic is 5481 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

Hello, I''ve build a simple CCD inverse kinematic system. For each joint, I calculate the axis of rotation and the angle and finally convert it to a quaternion. The IK system works fine. Now I want to set restrictions on the joints, especially I want to say that for example joint A can only rotate about the x and y axis and only from -45 to +45 degress. I tested converting the quaternion to euler angles, setting the restrictions and converting them back to quaternion, but this is not always true. So my question is, how can I set restrictions to quaternions, so that rotations are limited? karlkoch

Share this post


Link to post
Share on other sites
Advertisement
I guess it''s a tough topic. Converting to euler angles seems intuitive, but it comes with its own problems. Frankly, I don''t know myself, but I''d be very interested on reading a good answer.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
That paper makes use of an algorithm based on calculation of the Jacobian which is a very common way of solving IK for any type of mechanism in 3D. Search for a paper "A solution algorithm to the inverse kinematic problem for redundant manipulators" by Lorenzo Sciavicco and Bruno Siciliano. It describes (among other things) a technique to take joint limitations into account. However it is also based on calculation of the Jacobian.
I have no experience with CCD algorithm and don''t know if joint limitations can easily be implemented.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!