55

哪个是最好的机器人模拟器?到目前为止,我只是想获得潜在场方法、错误算法、A* 算法等的简单模拟!

已知机器人模拟器的列表是:

  1. Player Project (2D模拟器-Stage-3D模拟器-Gazebo-和控制界面-开源,ROS项目的一部分)
  2. MORSE(通用室内/室外 3D 模拟器)
  3. Microsoft Robotics Studio(模拟器+控制界面)
  4. KiKS(Matlab 插件,仅适用于 Khepera + 控制界面)
  5. MobotSim(用于点状机器人,更多算法实现)
  6. Karel(Pretty Kiddish,我猜是 Pascal/Logo 之类的)
  7. MRPT(看起来很不错,很快就会尝试)
  8. Carmen(Robot Vision 等很容易在其中实现(?))
  9. 网络机器人(开源 - 多平台 - 多语言 [ROS、Python、Matlab 等] - 最先进的外观 - 网络导出)
  10. Simbad(Java 和 Jython 中的 2D/3D 模拟器)
  11. Robocode(Java/.NET 套装)
  12. 罗森的剧场(C/C++ 套装)
  13. V-REP(3D、可用源代码、Lua 脚本、C/C++ API、Python、Java、Matlab、URBI、2 个物理引擎、完整的运动学求解器等)

一些更通用的平台/中间件也提供模拟工具:

  1. ROS目前最大的集成此类平台
  2. URBI
  3. 雅普
  4. OROCOS(对此一无所知!)

关于机器人模拟器的一些参考资料:

  1. 自主移动机器人的开发环境:一项调查
  2. 开源机器人工具包
  3. 更新了对机器人软件平台的评论
  4. 现有模拟器-webpage@laas.fr
  5. 在 Asaf Matan 的网站上列出
4

12 回答 12

10

我会选择一个常用的框架。当你对路径规划感兴趣时,选择一个已经有模拟机器人的框架,然后编写你需要的规划服务来为其生成路径。

ROS 非常酷,有大量有用的感知服务可供选择,还有完整的 PR2 堆栈。它使用凉亭(玩家/舞台的一部分)进行模拟,并包括一些现成的机器人(不稳定的机器人是理想的选择)。它很新,但非常活跃。

MRDS 有几个合适的机器人,坦率地说,模拟环境比 ROS 更好,但在高级服务方面没有那么多。乐高机器人模拟器可以满足您的需求,并让您可以选择在未来廉价地在真实硬件上进行验证。

目前,这两者在开发人员中占有最大份额。真正的决定归结为您是否更乐意在 windows 下的 Visual Studio 或 linux 平台上进行开发。两者都对学生免费(MSRS 在 ELMS / Dreamspark 计划下),都有学习曲线,都有很好的社区支持。对于 MRDS,去注册论坛,对于 ROS,加入邮件列表。

于 2010-05-10T00:12:32.063 回答
2

听起来您只需要一个 2D 模拟器。所以我会避免 3D 模拟器的开销和头痛。关于您的选择的一些注意事项:

  1. 播放器包括我认为使用 ODE 的 2D 模拟器(舞台)和 3D 物理模拟器(Gazeebo)
  2. MRDS 包括 PhysX 的 3D 物理模拟器

  3. ROS 只是一种架构,我不相信它有自己的模拟器。尽管它确实有一些不同的可视化工具。它还包装了 Player。

另一个流行的模拟器/架构是 WeBots。但我认为这只是3D。

这是我知道的全部。祝你好运。-本

于 2010-03-31T20:56:23.587 回答
2

我一直在针对SimSpark进行编程。它是RoboCup 3D 模拟足球联赛背后的开源模拟引擎。

它可以针对不同的模拟进行扩展。您可以使用 C++、Ruby 和/或 RSG(Ruby 场景图)文件插入自己的传感器、执行器和模型。

我不知道它是否是最好的模拟器,但我很喜欢使用它。

编辑回应 Arkapravo 的评论。

我已经编写了一个 .NET API,用于编写您自己的 RoboCup 3D 代理程序TinMan

YouTube 上有大量模拟 3D 足球比赛的视频。 这是我的最爱之一

RoboCup 2010本周将在新加坡举行,但遗憾的是我无法参加。

RoboCup 3D 在名为SimSpark的物理模拟引擎上运行。它有一个全面的 Wiki,其中包含许多解释它是如何工作的信息。

我的代理还很原始,所以我还没有任何关于它的发布。如果您有兴趣,有很多不同语言的开源代理实现。

于 2010-06-18T10:21:07.040 回答
2

peekabot 不是模拟器,只是一个可视化工具,在某种程度上是一种交互式控制机器人的工具。不过,它非常适合与没有自己可视化的模拟器一起使用。

MRPT 没有(完整的)模拟器 AFAIK,只有算法、接口、驱动程序和它自己的日志格式。除此之外,它看起来很整洁。

如果您对计划感兴趣,OpenRAVE可能值得一试。

上次我尝试过的 Gazebo 还不够成熟和稳定(大约 1 年前)。不过可能值得一试。

Stage 易于使用,前提是您只需要一个没有动态的 2D 模拟器。

我已经将 ODE 和 Bullet 用于机器人模拟,虽然我推荐 ODE,但两者都工作得很好。

要获得更明确的答案,您需要细化您的要求 - 即您是在寻找一个模拟器还是更像 ROS,您需要一个具有动态或只有 2D 的 3D 模拟器,它必须有多准确,您需要什么传感器想模拟等

于 2010-07-06T18:25:11.390 回答
1

ODE有人吗?我在我的微型鼠标项目中使用了很多..

于 2010-06-21T03:21:50.493 回答
1

Urbi 不是模拟器。它是一个中间件平台,依赖于并行和事件驱动的脚本语言。它现在是开源的,并且功能支持 ROS,这意味着您应该同时使用它们!以下是有关 Urbi 的一些信息:www.urbiforge.org

最后但并非最不重要的一点是,它对初学者来说很容易使用。

希望您获得的所有信息可以帮助您选择适合您的模拟器!

于 2010-08-09T15:09:44.687 回答
1

有一些面向类人机器人和/或一般多体应用,但它们也可用于移动机器人:

  1. OpenHRP:开源,包含大量用 C++ 编写的库,用于正向动力学模拟和可视化。虽然启动和运行有点痛苦,但有很多对版本非常敏感的依赖项。
  2. Robotran:免费供个人使用和/或研究使用。主要在 Matlab/Simulink 环境中运行。很容易让模型启动并运行。
  3. MapleSim:商业软件,但对非常复杂的建模很有用。在 Matlab/Simulink 中导出用于仿真/可视化的高效符号多体动力学。

所有这些软件包都用于模拟/可视化,这对于机器人应用程序的一般设计很有用。

于 2011-06-01T21:27:32.347 回答
1

我正在开发另一个基于 Blender 的机器人模拟器。它被称为 MORSE,它的目标是成为一个基于模块化组件的非常灵活的模拟器。它提供与各种中间件的连接,目前是 YARP、ROS 和套接字。目前使用它的应用包括多移动机器人协作和人机交互。

您可以在官方主页找到更多信息:http: //morse.openrobots.org

它都是开源的,我们有用户的邮件列表。如果您能试一试并给我们您的意见,我们将不胜感激

于 2011-06-24T16:47:20.427 回答
0

Breve已被用于模拟已物理实现的机器人。Breve 由 ODE 驱动。

于 2011-01-20T17:17:25.160 回答
0

我推荐的一个非常好的选择是 Cogmation 的 RobotSim。他们还有另一个产品 RobotBuilder 可以让你构建任何你能想象到的机器人,甚至可以导入你自己的模型。

于 2012-01-15T00:24:47.643 回答
0

我今天在网上遇到了福克斯:

http://www.fawkesrobotics.org/

Fawkes 是一个基于组件的软件框架,适用于各种平台和领域的机器人实时应用程序。

为足球和服务机器人等认知机器人实时应用开发和使用了四年多。它支持快速的信息交换和不同组件的高效组合和协调,以适应移动机器人在不确定环境中运行的需求。

它也是开源的(GPL)。

于 2012-04-21T22:51:06.657 回答
0

我还要提到Unity3D,它确实更适合游戏开发,但具有良好的 3D 图形、脚本(在 javascript 或 Mono/C# 中)、物理等功能,如果您愿意,可以用作模拟器编写或自己集成一些机器人特定的功能(传感器、算法等)。

另外,它是跨平台的,基本版本是免费的,它可以用最少的努力做出一些非常漂亮的演示。

于 2013-01-02T21:57:28.413 回答