如何计算反向运动学

时间:2010-08-19 01:44:55

标签: math 3d computational-geometry inverse-kinematics

我想知道如何使用反向运动学计算旋转角度。我打算用它来实时制作3D动画。有人知道一些详细介绍特定解决方案的优秀文献吗?

4 个答案:

答案 0 :(得分:30)

以下资源调查了反向运动学问题的一些常用数值方法:

巴斯的调查可能特别有趣,因为它明确地讨论了多个肢体。

动画的IK系统通常必须支持多个可能相互冲突的约束。例如,一只手臂可以固定在导轨上,而另一只手臂可以伸向目标。

6 dof 工业机器人通常具有封闭形式的IK解决方案,如Andrew所述并在例如 Craig: Introduction to Robotics中解释。对于数字动画更有用的是7 dof 人类手臂和腿的方法:

答案 1 :(得分:7)

来自维基百科:

  

ikfast程序可以解决问题   最常见的分析解决方案   机器人操纵器并生成C ++   他们的代码。生成的求解器   涵盖大多数堕落的案件,并且可以   最近以微秒结束   计算机。

答案 2 :(得分:4)

你可以看一下:

  • 应用机器人理论:运动学,动力学和控制(第2版),作者:Reza N. Jazar。不错,但在我看来雅各比的计算被严重覆盖。
  • 机器人:建模,规划和控制Bruno Siciliano。这本书也很好,并且很好地涵盖了雅可比计算。
  • Luigi Biagiot对自动机器和机器人的轨迹规划。也是非常有帮助和写得很好的书。

另外看看 https://github.com/kirillv/cpp-inverse-kinematics-library它在C ++中显示了一些算法(Jacobian Transpose,Jacobian Pseudoinverse,DLS),并为DH中描述的机器人解决了IK。

答案 3 :(得分:1)

托马斯凯恩是世界动态权威之一。我高度推荐他的"Dynamics"文本,但这不适合胆小的人或数学上的弱者。