我正在与一个真人大小(约130厘米)的类人机器人(Hubo +)合作,正在寻找一种方法,可以轻松地向他编程新的动作和手势。显然,我可以编写自己的工具,但是我正在寻找一种可以利用现有工具或标准进行机器人运动的解决方案。我的第一个想法是尝试使用Blender或Maya之类的动画软件,并编写脚本以提取关键帧处的关节角度。但是,很少有机器人研究人员精通Maya。 (我知道我不是!)

已经有某种标准的机器人3D姿势工具吗?到目前为止,我所看到的唯一接近的东西是Nao的RoboPlus和Choregraphe中的Pose Utility,但是这两个程序似乎仅限于特定的机器人,并且似乎无法扩展到Hubo。

所以我的问题是:



是否有用于机器人运动的标准文件格式?不是2D轮式机器人运动。手臂和腿部运动!与运动捕捉中使用的.bvh文件格式等效。
您知道任何使用关键帧和逆运动学来创建机器人运动的WYSIWYGish工具吗?


评论

欢迎使用Stack Exchange,William,由于您在堆栈交换问题上并不需要它们,我只是在整理您的感谢,而只是分散人们对问题本身的注意力。我们默认会善待他人,因此我们假设别人会在别人提供意见和答案时会很感激。 * 8')

就其价值而言,对于类人动物虚拟模型,存在H-Anim标准。尽管很少有机器人专家知道Maya,但Blender确实在机器人项目中找到了用途。

@ mark-booth,我认为这是一种非常健康的态度!

@ThomasH,实际上我前几天注册了Blender Robotics邮件列表!不过,我还没有看到他们的Wiki页面。谢谢。

你见过这个吗? coppeliarobotics.com

#1 楼

简短的答案是,我认为不存在良好的标准化运动文件格式,并且我认为没有任何好的通用所见即所得机器人摆姿势工具。

RE:机器人运动的标准文件格式

Collada是一种标准化的3D数据交换文件格式,它具有支持使用模型存储基本的动画和物理类型信息。但是,跨工具的支持不一致,尤其是对于动画/物理数据。

除此之外,您不太可能会找到任何通用的文件格式来存储机器人动画。 (尽管不是100%可比的,但请查看Wikipedia的运动/手势文件格式列表。)我所看到的一切都是特定于平台和/或专有的。考虑到游戏和CAD行业比机器人技术大几个数量级,并且更加具体。它们具有类似的要求,但没有实际文件格式。

如果您对这些专有系统对数据的程序化查看感兴趣,那么可以看看这些行业使用的专用工具给您一些其他选择和想法。示例:


Autodesk MotionBuilder和AP​​I
虚幻动画系统

SolidsWorks Motion Studies和SolidWorks API


/>特别是角色动画(通常是类人动物)的创建,存储和执行在游戏开发行业中得到了很好的体现,并且非常先进。价格。我相信大多数大型工作室都拥有一个完整的团队,他们除了将数据从一个系统转换到另一个系统并通过生产管道进行馈送外,什么也没做。

将游戏开发工具(或一般而言,创意类型的3D工具)用于机器人的一个反复出现的问题是,在游戏/电影中,如果动画不能完全模拟现实,通常是可以的。如果将其应用于现实世界的机器人,可能会导致问题。

RE:定位工具

如果可能的话,可以使用机器人机器人(例如Coppelia的V-REP甚至MS Robotics Studio)他们提供了某种API /导出,并能够模拟人形机器人。我不知道有谁支持完整的人形模型。大多数仅用于建模手臂和轮式机器人。不过,也许您可​​以将类人动物的运动建模为独立的手臂子系统的集合?即,左腿是一只机械臂。如果是这样,那么将向您提供更多的wsyiwyg工具。

花石是可以用于摆姿势的另一种可视化工具,但可能不是您想到的所见即所得。

如果您不需要所见即所得并且可以进行某些编程,则不妨查看PyPose和Nuke。

类似地,但是需要更高级的编程,各种物理引擎可能都适合感兴趣的是接受所有输入(3D模型和相关参数),然后通过施加力和逆运动学提供运动结果。示例包括ODE和Bullet物理。一个类似的程序化倾斜选项将是使用ROS。我已经看到了一些有关可能的ROS对类人动物类型运动的支持的项目和说明。

话虽这么说...虽然很难学习,但我仍然认为Blender3D可能会成为高级最相似类型的机器人摆姿势和动作工作的更好选择之一,特别是因为它与Python编程语言紧密集成。有人已经在评论中指出了Blender Robotics Wiki。您还应该查看使用Blender控制钢琴演奏的伺服器的Grantlo321的YouTube视频,以及Justin Daily的博客文章,他在博客中描述了使用Blender / Python进行伺服控制。我同意Blender3D很难学习,但是几乎所有3D所见即所得类型的软件都可能会实现,除非它的关注范围非常狭窄。

#2 楼

如果要设计机器人,则可以使用SolidWork,CATIA或ADAMS软件,然后可以对机器人进行动画处理。但是您可以使用Aldebaran标准平台机器人(NAO)模拟器。这个模拟器可以为您提供帮助,但是NAO机器人是一个具有良好传感器的儿童大小的机器人。