我希望你不介意我就机器人系统建模提出一些建议。我最近对使用反向运动学(IK)来控制5自由度机器人操纵器非常感兴趣。我在IK方面有一个坚实的基础,但我遇到的麻烦是一种可视化操纵器如何相对于关节角度移动的方法。
我已经研究过使用3D工具包(例如Blender,Panda3D,vPython)来创建手臂的三维模型,但我不确定我是否应该寻找具有物理支持的东西。我也不确定我能用这些包装模拟动作。有人有什么建议吗?我不想要的是一个完整的机器人模拟器,如微软的机器人工作室,我想从基础开始,学习一切是如何工作的,即在Python中编码IK,然后在3D中可视化运动。我对Python非常熟悉,所以与Python接口的东西会更好。
谢谢!
答案 0 :(得分:2)
关于Blender的好处是它的API实际上是在python中!
此外,除了许多其他建模工具外,它还能很好地支持反向运动学(IK)。
Blender Cookie是一个很好的资源。
Here is a tutorial on making IK rigs in Blender.
Blenders python api有相当广泛的文档记录,它甚至还内置了一个交互式python shell,以便您可以随时查看脚本的效果。
搅拌机使用的物理引擎是流行的子弹物理引擎,已经在许多商业游戏中使用过,还有一些故事片(其中包括2012年)。
答案 1 :(得分:0)
这不是一个真正的难题,是吗?大概你自己正在计算数学;因此,如果您的机器人手臂被可视化为,例如,一些矩形实体,那么您需要的就是在x,y,z坐标和您提供的方向矢量上呈现这些,并在需要时进行更新。 OpenGL应该可以做到这一点,你可以用< 50行。
答案 2 :(得分:0)
Python-Ogre是非常成熟的C ++引擎OGRE 3D的包装器。我已经将它用于一个非常重要的项目,我会给Python包装器一个混合但主要是积极的评论。它非常强大,并且能够很好地将所有C ++功能包装在大多数Pythonic界面中。您可以通过提供这些功能的众多OGRE扩展模块之一获得物理支持。
最大的负面影响是Python界面的文档很差,你必须依靠C ++库的文档来理解一些东西。为了让您了解可能的情况,我能够使用Python和PyV8(该语言是Javascript)围绕OGRE实现脚本语言,因为我是一个C ++项目的原型。
最终的原型非常成熟和强大,我能够用高级Javascript包装OGRE的内部。使用脚本语言,我能够编写动画,材质,渲染和物理的脚本。