我希望你不介意我向你请教一些关于机器人系统建模的建议。最近,我对使用反向运动学(IK)来控制一个5自由度的机器人机械手变得相当感兴趣。我在IK方面有扎实的基础,但我遇到的问题是一种可视化操纵器如何相对于关节角度移动的方法。
我已经研究过使用3D工具包(如Blender,Panda3D,vPython)来创建手臂的3d模型,但我不确定是否应该寻找具有物理支持的东西。我也不确定我能不能很好地用这些包来模拟运动。有人有什么建议吗?我不是在寻找一个像微软的机器人工作室这样的成熟的机器人模拟器,我想从基础知识开始,学习一切如何首先工作,即在Python中编码IK,然后在3D中可视化运动。我非常熟悉Python,所以最好是能与Python接口的东西。
谢谢!
发布于 2011-03-13 13:16:02
关于Blender的伟大之处在于它的API实际上是用python编写的!
此外,除了许多其他建模工具外,它还很好地支持反向运动学(IK)。
Blender Cookie是一个很好的资源。
Here is a tutorial on making IK rigs in Blender.
Blenders python api有相当广泛的文档,它甚至有一个内置的交互式python shell,这样你就可以看到你的脚本的效果。
blender使用的物理引擎是流行的bullet物理引擎,它已经在许多商业游戏以及一些故事片中使用(2012年)。
发布于 2011-03-13 13:21:39
这并不是一个很难的问题,不是吗?假设你正在自己计算数学;所以如果你的机械臂被可视化为,比如说,几个矩形实体,那么你所需要的就是在x,y,z坐标和你提供的方向向量上渲染这些实体,并在需要时进行更新。OpenGL在这方面应该做得很好,你可以在少于50行的代码中完成它。
发布于 2011-03-13 13:22:36
Python-Ogre是非常成熟的C++引擎OGRE 3D的包装器。我已经在一个非常重要的项目中使用过它,我会给Python包装器一个好坏参半的评价。它非常有能力,并且很好地将所有C++功能包装在一个主要是Pythonic风格的界面中。您可以通过提供这些功能的众多OGRE扩展模块中的一个获得物理支持。
最大的缺点是Python接口的文档很差,您必须依赖C++库的文档才能理解某些内容。为了让您了解其中的可能性,我使用Python和PyV8 (该语言是Javascript)在OGRE周围实现了一种脚本语言,因为我创建了一个C++项目的原型。
由此产生的原型非常成熟和健壮,我能够用高级Javascript包装OGRE的内部。使用脚本语言,我能够编写动画、材质、渲染和物理脚本。
https://stackoverflow.com/questions/5287575
复制相似问题