2

我希望你不介意我就机器人系统建模寻求一些建议。我最近对使用逆运动学 (IK) 来控制 5 自由度机器人机械手产生了浓厚的兴趣。我在 IK 方面有扎实的基础,但我遇到的问题是一种可视化操纵器相对于关节角度如何移动的方法。

我已经研究过使用 3D 工具包(例如 Blender、Panda3D、vPython)来创建手臂的 3d 模型,但我不确定我是否应该寻找具有物理支持的东西。我也不确定用这些包模拟运动的效果如何。有人有什么建议吗?我不想要的是一个完整的机器人模拟器,比如微软的 Robotic Studio,我想从基础开始,先了解一切是如何工作的,即在 Python 中编写 IK,然后在 3D 中可视化运动。我对 Python 非常熟悉,因此最好使用与 Python 接口的东西。

谢谢!

4

3 回答 3

2

Blender 的优点在于它的 API 实际上是在 python 中!

此外,除了许多其他建模工具外,它还很好地支持反向运动学 (IK)。

Blender Cookie是一个很好的资源。

这是在 Blender 中制作 IK 装备的教程。

Blenders python api 的文档非常广泛,它甚至内置了一个交互式 python shell,这样你就可以看到脚本的效果。

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

于 2011-03-13T05:16:01.583 回答
0

这不是一个真正的难题,不是吗?大概您正在自己计算数学;因此,如果您的机械臂被可视化为几个长方体,那么您所需要的只是在 x、y、z 坐标和您提供的方向向量处渲染它们,并在需要时进行更新。OpenGL 应该可以做到这一点,你可以在 <50 行内完成。

于 2011-03-13T05:21:39.137 回答
0

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

最大的缺点是 Python 接口的文档很差,您必须依赖 C++ 库的文档才能理解某些内容。为了让您了解什么是可能的,当我对 C++ 项目进行原型设计时,我能够使用 Python 和PyV8 (语言是 Javascript)围绕 OGRE 实现一种脚本语言。

最终的原型非常成熟和健壮,我能够用高级 Javascript 封装 OGRE 的内部。使用脚本语言,我能够编写动画、材质、渲染和物理脚本。

于 2011-03-13T05:22:36.327 回答