机器人模拟器
哪个是最好的机器人模拟器? 到目前为止,我只是想获得简单的潜在场方法,Bugalgorithm,A *algorithm等的模拟!
已知的机器人模拟器列表是;
- 玩家项目 (2D模拟器 – 舞台 – 3D模拟器 – 凉亭 – 和控制界面 – 开源,ROS项目的一部分)
- MORSE (通用室内/室外3D模拟器)
- 微软机器人工作室 (模拟器+控制界面)
- KiKS (Matlab插件,仅用于Khepera +控制接口)
- MobotSim (对于像机器人这样的点,更多的algorithm实现)
- 卡雷尔 (漂亮的Kiddish,我想这是帕斯卡/标志像)
- Peekabot (看起来真酷!)
- MRPT (看起来很不错,很快就会试用)
- 卡门 (机器人视觉等易于实现(?))
- Webots (封闭源代码)
- Simbad (Java和Jython中的2D / 3D模拟器)
- Robocode (Java / .NET套装)
- Rossum的Playhouse (C / C ++套装)
- V-REP (3D,可用源代码,Lua脚本,C / C ++ API,Python,Java,Matlab,URBI,2个物理引擎,全运动求解器等)
一些更通用的平台/中间件也提供仿真工具:
- ROS ( 目前这种平台的最大集成 )
- URBI
- YARP
- OROCOS (对此一无所知!)
机器人模拟器的一些参考文献:
- 自主移动机器人的开发环境:一项调查
- 开源机器人技术工具包
- 更新了机器人软件平台的评论
- 现有模拟器 – webpage@laas.fr
- 在Asaf Matan的网站上列出
我会去一个常用的框架。 如果您对path规划感兴趣,可以select一个已经有模拟机器人的框架,只需编写您需要为其生成path的规划服务即可。
ROS非常酷,有相当多的有用的感知服务select,以及完整的PR2堆栈。 它使用眺望台(玩家/舞台的一部分)进行模拟,并包括一些现成的机器人(不稳定的将是理想的)。 它相当新,但非常活跃。
MRDS有几个合适的机器人,坦率地说更好的模拟环境,然后是ROS,但不是通过高层次的服务。 乐高机器人模拟器可以很好地处理你想要做的事情,并且可以让你select在未来真正的硬件上进行validation。
这两个人现在有开发者的狮子份额。 真的,这个决定归根结底是你是否开心在Windows下的视觉工作室,或在Linux平台上开发。 两者对学生来说都是免费的(MSRS属于ELMS / dreamspark项目),两者都有学习曲线,都有相当好的社区支持。 对于MRDS,请注册ROS论坛,join邮件列表。
听起来你所需要的只是一个2D模拟器。 所以我会避免3D模拟器的开销和头痛。 关于您的select的一些说明:
- 玩家包括2D模拟器(舞台)和3D物理模拟器(Gazeebo),我认为它使用ODE
-
MRDS包含PhysX的3D物理模拟器
-
ROS只是一个架构,我不相信它有自己的模拟器。 虽然它有一些不同的可视化工具。 它也包装播放器。
另一个stream行的模拟器/架构是WeBots。 但我认为这只是3D。
这是我所知道的一切。 祝你好运。 -ben
我一直在对SimSpark进行编程。 这是RoboCup 3D模拟足球联赛背后的开源模拟引擎。
它对于不同的模拟是可扩展的。 您可以使用C ++,Ruby和/或RSG(Ruby Scene Graph)文件插入自己的传感器,执行器和模型。
我不知道这是不是最好的模拟器,但我喜欢使用它。
编辑为了回应Arkapravo的评论。
我写了一个.NET API来编写你自己的RoboCup 3D代理,叫做TinMan 。
YouTube上有很多模拟3D足球比赛的video。 这是我的最爱之一 。
RoboCup 2010本周在新加坡举行,不过不幸的是我无法做到。
RoboCup 3D运行在一个名为SimSpark的物理模拟引擎上。 它有一个全面的维基和大量的信息解释如何运作。
我的经纪人还是很原始的,所以我现在还没有发表任何东西。 如果你感兴趣的话,有许多不同语言的开源代理实现 。
peekabot不是一个模拟器,只是一个可视化工具,并且在某种程度上是交互式控制机器人的工具。 尽pipe如此,与模拟器配合使用却没有自己的可视化效果。
MRPT没有(完整的)模拟器AFAIK,只有algorithm,接口,驱动程序和它自己的日志格式。 除此之外,它看起来很整齐。
如果你对规划感兴趣, OpenRAVE可能值得一试。
(1年前),眺望台还不够成熟稳定。 虽然可能值得一试。
舞台使用简单,只要你只需要一个没有dynamic的2D模拟器。
我已经使用ODE和Bullet进行机器人仿真了,虽然我会推荐ODE,但两者都能正常工作。
为了得到一个更明确的答案,你需要改进你的要求 – 也就是说,你只是在寻找一个模拟器或者更像ROS的东西,你需要一个3Ddynamic模拟器还是只有2D模拟器,它有多精确,你有什么传感器想要模拟等等
ODE任何人? 我在micromouse项目中使用了很多
Urbi不是模拟器。 这是一个中间件平台,它依赖于并行和事件驱动的脚本语言。 它现在是开源的,并支持ROS,这意味着你应该同时使用! 以下是关于Urbi的一些信息: http://www.urbiforge.org
最后但并非最不重要的是,初学者很容易使用。
希望您得到的所有信息都能帮助您为您select合适的模拟器!
我正在开发另一个基于Blender的机器人模拟器。 它被称为MORSE,它的目标是成为一个非常灵活的基于模块化组件的模拟器。 它提供到各种中间件的连接,目前是YARP,ROS和套接字。 使用它的当前应用包括多个移动机器人协作和人机交互。
您可以在官方主页上find更多信息: http : //morse.openrobots.org
这是所有开源的,我们有用户的邮件列表。 如果您能够尝试并给我们您的意见,我们将不胜感激
有一些针对类人机器人和/或通用多体应用,但也可以用于移动机器人的目的:
- OpenHRP :开放源代码,大量使用C ++编写的库,包括前向dynamic仿真和可视化。 虽然起来和运行起来有些痛苦,但是对版本非常敏感的一些依赖关系。
- Robotran :免费供个人使用和/或研究用途。 主要在Matlab / Simulink环境下运行。 很容易让模型启动和运行。
- MapleSim :商业软件,但非常复杂的build模。 在Matlab / Simulink中导出高效的符号多体动力学用于仿真/可视化。
所有这些软件包都用于仿真/可视化,这对于机器人应用的一般devise非常有用。
我推荐的一个非常好的select是Cogmation的RobotSim。 他们还有另一个产品RobotBuilder,让你build立你可以想象的任何机器人,甚至导入你自己的模型。
我今天在网上遇到了福克斯:
http://www.fawkesrobotics.org/
Fawkes是针对各种平台和领域的机器人实时应用程序的基于组件的软件框架。
开发和使用超过四年的认知机器人实时应用,如足球和服务机器人。 它支持快速的信息交换和不同组件的高效组合和协调,以适应在不确定环境下运行的移动机器人的需求。
它也是开源的(GPL)。
Breve已经被用来模拟已经物理实现的机器人。 Breve是由ODE驱动的。
我还会提到Unity3D ,这个游戏开发的确是更多的devise,但是对于3Dgraphics,脚本(javascript或者Mono / C#),物理等等来说,它还是很好用的,如果你愿意写自己集成一些机器人特有的function(传感器,algorithm等)。
此外,它是跨平台,基本版本是免费的,它可以做一些非常漂亮的演示,以最小的努力。