2011-03-13 58 views
2

嘿伙计。我希望你不介意我是否要求提供关于建模机器人系统的建议。我最近变得对使用反向运动学(IK)来控制5自由度机器人机器人感兴趣。我在IK有一个坚实的基础,但我遇到麻烦的是一种可视化操纵器相对于关节角度移动的方式。我已经研究过使用3D工具包(如Blender,Panda3D,vPython)来创建手臂的三维模型,但我不确定我是否应该寻找物理支持。我也不确定我能用这些软件包来模拟运动。任何人有任何建议?我不想看到的是像微软Robotic Studio这样的全面的机器人模拟器,我想从基础入手,学习一切如何工作,例如在Python中编写IK,然后在3D中可视化运动。我对Python非常熟悉,所以与Python接口的东西会更可取。三维机器人手臂运动建模思路?

谢谢!

回答

2

那么关于Blender的好处就是它的API实际上是在Python中!另外,除了许多其他建模工具之外,它还支持反向运动学(IK)。

Blender Cookie是一个很好的资源。

Here is a tutorial on making IK rigs in Blender.

搅拌机Python API中是相当广泛的记录,它甚至有内置权,这样就可以看到你的脚本的效果,当您去一个交互式Python外壳。

搅拌器使用的物理引擎是流行的子弹物理引擎,它已被用于许多商业游戏以及一些故事片(其中包括2012年)。

+0

感谢您的好资源。看起来像Blender被广泛使用,这是一个明确的优点。将不得不尝试这些教程! – radian 2011-03-13 06:26:40

0

这不是一个真正的难题,是吗?想必你自己算出数学;所以如果您的机器人手臂可视化为几个矩形固体,那么您所需要的只是在x,y,z坐标处以及您提供的方向矢量进行渲染,需要时进行更新。 OpenGL应该可以做到这一点,你可以在< 50行中做到这一点。

+0

你完全正确,这不是一个非常困难的问题。但是这里有大量的工具,它只是找到最具灵活性并且可以用于这类领域的最佳工具。我将不得不看看OpenGL,我知道你可以用这个API做一些简洁的事情。谢谢你的提示。 – radian 2011-03-13 06:29:59

0

Python-Ogre是一个围绕非常成熟的C++引擎OGRE 3D的包装。我已经将它用于一个非常重要的项目,我会给Python包装混合,但大多是积极的审查。它非常有能力,并且在大部分Pythonic接口中都能很好地包装所有的C++功能。您可以通过提供这些功能的许多OGRE扩展模块之一获得物理支持。

最大的负面影响是Python接口的文档很差,您将不得不依赖C++库的文档来理解一些内容。为了让你了解什么是可能的,我能够使用Python和OGRE围绕OGRE实现一种脚本语言,当我原型化一个C++项目时,语言就是Javascript。

由此产生的原型非常成熟和健壮,我能够用高级Javascript包装OGRE的内部。使用脚本语言,我可以编写动画,材料,渲染和物理脚本。

+0

感谢您的建议,我完全不知道OGRE 3D。这是我将更多地关注的东西(尽管我会承认C++可能相当艰巨)。干杯 – radian 2011-03-13 06:34:40