有哪些好的机器人软件平台/操作系统?[关闭]


19

我的公司很快将开始一个全新的机器人技术项目,并且我们仍在尝试决定是否应该从头开始设计和编码机器人软件平台,或者是否有任何现有的良好平台。

如果有一个学术界和工业界都普遍使用的软件平台,使我们的机器人系统与其他系统兼容,并且人们已经熟悉它,那将非常有用。

我们希望该软件平台能够:

  • 轻松集成新的机器人硬件组件。
  • 已经包含各种有用的数据处理和可视化工具
  • 高效利用计算硬件

5
这不是一个主观的调查问题吗?这与StackExchange的精神背道而驰。blog.stackoverflow.com/2010/09/good-subjective-bad-subjective
克里斯·曼斯利

2
但是,我们可以改进此StackExchange的质量。我们应该树立可以回答和学习的高质量,客观问题的先例。
克里斯·曼斯利

2
我同意您的观点,但1)这是定义中投票最多的问题,并且2)少数此类问题不会损害网站(例如,查看电子产品)。3)这些问题产生的答案对许多用户而言确实是有用的。
Rocketmagnet 2012年

4
如果我们要坚持这一立场,那么至少应该使其成为社区Wiki,理想情况下,应该使用一个包含所有最佳描述的单一社区Wiki答案。这将比许多答案都更好,它们全部描述了不同的选项和/或提供了相同选项的不同描述/观点。
Mark Booth

5
我认为调查问题实际上很棒,因为它们可以为寻找位置的人节省很多时间。在许多情况下,甚至无法找到所有热门选择。我认为将其作为Community Wiki的答案是一个很好的结果。
乔恩·瓦特

Answers:


20

ROS迅速成为工业和研究机器人技术的新标准。我所知道的大多数研究小组都在采用ROS进行工作,然后将其研究结果重新公开发布,以供所有人使用和改进。Willow Garage正在开发一套硬件和软件平台,这些平台都以ROS为核心。ROS是开始搜索的好地方。


注意:尽管ROS 可以在大多数操作系统上运行,但是经过了最彻底的测试,可以在Linux的Ubuntu发行版上运行。
giogadi,2012年

1
另外,我认为ROS简介页面在涵盖ROS平台的核心前提和理想方面做得非常出色。从开发人员的角度来看,ROS平台可以用作现有库(如驱动程序)的“薄”包装,以快速访问更大的ROS生态系统。
mjcarroll 2012年

5

机器人构造套件是ROS的替代品。它致力于模型驱动工程和复杂系统的设计/管理。它也趋向于“不紧紧依赖岩石”。Rock中的大多数算法/驱动程序都独立于组件层。另请参阅此页面以快速了解Rock和ROS之间的区别。

如先前的答案所指出,ROS主要用作精简通信库。Rock的组件层较厚,可提供扩展到复杂系统所需的工具。

您需要了解的是:在当今时代,唯一值得关注的开源机器人软件是与框架无关的(OpenCV,PCL,OpenRave,Gazebo等)。甚至Willow Garage也终于明白了这一点。因此,它可以与任何框架中的最少工作量集成。

现在:您的最佳选择还取决于您的目标。如果您想要的是出售硬件,那么拥有ROS节点很可能是您的最佳选择(即使拥有一个良好的驱动程序然后集成到ROS节点中甚至更好)。


也许可以在这个答案上加上一点,Rock是基于Orocos的,而Orocos在另一个答案中列出,因此使基于它的系统具有实时能力变得更加容易。
雅各布2012年

5

奥罗科斯

它是机器人技术中最古老的开源框架之一,自2001年以来一直在开发中,并且自2005年以来一直在使用专业的工业应用程序和产品。用C ++实现的所谓的实时工具包(RTT),并且尽可能独立于任何通信中间件和操作系统。

正如@BarretAmes所说,有一些集成可以实现混合系统的实现,在这些系统中,Orocos和其他软件框架可以协同工作。


也有将Orocos与其他框架配对的方法。例如,将ROS与Orocos结合使用。
巴雷特·艾姆斯

1
仅供参考,Rock使用Orocos / RTT作为其组件实现-只是在周围添加了许多工具和库
sylvain.joyeux 2012年

orocos可能不错,但是现在他们的官方网站和论坛不再更新任何内容,也没有新用户可以登录他们的论坛,因此orocos现在很烂。

3

我首选的平台是ROS。但是,还有一个强大的竞争者来自……敢说我……微软。它称为Robotics Developer Studio(RDS)。在这里开始搜索:http : //www.microsoft.com/robotics/

他们有许多令人印象深刻的应用视频。对我来说,最大的好处是通过Microsoft的Kinect SDK对Kinect的内置支持。从技术上讲,ROS使用的OpenNI具有相同的功能,但是知道RDS使用的SDK是由生产硬件的同一家公司编写的,这似乎令人感到欣慰。


2

Player / Stage仍然是最受欢迎的开源机器人技术之一。它已经存在了很长时间,并且它的一些开发人员已经着手开始创建ROS,但这并不影响Player的实用性。实际上,所有三个主要组件,即Player(框架),Stage(2D仿真器)和Gazebo(3D仿真器)都已与ROS兼容



1

OpenRTM

OpenRTM-aist由日本国立高级工业科学技术研究院开发,它也为RT中间件标准的定义做出了贡献。

它是一个基于开源组件的框架,提供实时功能。除了框架之外,还有一些工具可用:

  • RTC Builder:用于生成骨架代码的工具。它是在日食开发环境中启动的。OpenRTM-aist还支持RTC模板,这是一种命令行类型的框架代码生成工具。
  • RT System Editor:基于Eclipse的工具链,用于设计组件和基于组件的系统。
  • rtshell是提供以下服务的命令行工具
  • RTC调试器:RTC的调试工具。RTC调试器是Eclipse插件。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.