我想知道如何使用反向运动学计算旋转角度。我打算用它来实时制作3D动画。有人知道一些详细介绍特定解决方案的优秀文献吗?
答案 0 :(得分:30)
以下资源调查了反向运动学问题的一些常用数值方法:
Samuel R. Buss。 Introduction to Inverse Kinematics with Jacobian Transpose, Pseudoinverse and Damped Least Squares methods
Bill Baxter。 Fast Numerical Methods for Inverse Kinematics
Chris Welman。 Inverse Kinematics and Geometric Constraints for Articulated Figure Manipulation
巴斯的调查可能特别有趣,因为它明确地讨论了多个肢体。
动画的IK系统通常必须支持多个可能相互冲突的约束。例如,一只手臂可以固定在导轨上,而另一只手臂可以伸向目标。
6 dof 工业机器人通常具有封闭形式的IK解决方案,如Andrew所述并在例如 Craig: Introduction to Robotics中解释。对于数字动画更有用的是7 dof 人类手臂和腿的方法:
答案 1 :(得分:7)
来自维基百科:
ikfast程序可以解决问题 最常见的分析解决方案 机器人操纵器并生成C ++ 他们的代码。生成的求解器 涵盖大多数堕落的案件,并且可以 最近以微秒结束 计算机。
答案 2 :(得分:4)
你可以看一下:
另外看看 https://github.com/kirillv/cpp-inverse-kinematics-library它在C ++中显示了一些算法(Jacobian Transpose,Jacobian Pseudoinverse,DLS),并为DH中描述的机器人解决了IK。
答案 3 :(得分:1)
托马斯凯恩是世界动态权威之一。我高度推荐他的"Dynamics"文本,但这不适合胆小的人或数学上的弱者。