我的公司即将开始一个全新的机器人技术项目,并且我们仍在尝试决定是否应该从头开始设计和编码机器人软件平台,或者是否有现有的良好软件平台。 br />如果有一个学术界和行业中普遍使用的软件平台,使我们的机器人系统与其他人普遍兼容,并且人们已经熟悉它,那将非常有用。 />我们希望该软件平台能够:


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


评论

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

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

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

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

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

#1 楼

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

评论


$ \ begingroup $
注意:尽管ROS可以在大多数操作系统上运行,但是经过最彻底的测试,可以在Linux的Ubuntu发行版上运行。
$ \ endgroup $
– giogadi
2012年10月23日19:58

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



#2 楼

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

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

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

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

评论


$ \ begingroup $
也许可以在此答案上加上一点,Rock是基于Orocos的,它在另一个答案中列出,因此使基于它的系统具有实时能力变得更加容易。
$ \ endgroup $
–雅各布
2012年10月25日10:25

#3 楼

Orocos


它是机器人技术中最古老的开源框架之一,自2001年以来一直在开发中,并自2005年左右开始使用专业的工业应用程序和产品。提供一个硬的,具有实时功能的组件框架(即用C ++实现的所谓的实时工具包(RTT)),并尽可能独立于任何通信中间件和操作系统。 >正如@BarretAmes所说,有一些集成可以实现混合系统,Orocos和其他软件框架可以在该系统之间协同工作。



用于ROS和ROS集成的ROS Orocos集成

用于Java和ROS集成的JOrocos


评论


$ \ begingroup $
还有一些方法可以将Orocos与其他框架配对。例如,将ROS与Orocos结合使用。
$ \ endgroup $
–巴雷特·埃姆斯(Barrett Ames)
2012年10月25日在20:10

$ \ begingroup $
仅供参考,Rock使用Orocos / RTT作为其组件实现-只是在周围添加了许多工具和库
$ \ endgroup $
– sylvain.joyeux
2012年10月26日上午11:55

$ \ begingroup $
orocos可能不错,但是现在他们的官方网站和论坛不再更新任何内容,也没有新用户可以登录他们的论坛,因此orocos现在很烂。
$ \ endgroup $
–user14148
18 Mar 3 '18 at 10:58

#4 楼

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

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

#5 楼

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

#6 楼

MOOS是牛津的ROS类似物。 http://www.robots.ox.ac.uk/~mobile/MOOS/wiki/pmwiki.php它用于许多海军应用,从扫掠到低功率的UUV,这些UUV会按计数间隔报告几个月内。

#7 楼

OpenRTM

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

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


RTC Builder:用于生成骨架代码的工具。它是在日食开发环境中启动的。 OpenRTM-aist还支持RTC模板,这是一种命令行类型的骨架代码生成工具。
RT系统编辑器:用于设计组件和基于组件的系统的基于Eclipse的工具链。
rtshell是命令提供以下服务的在线工具
RTC调试器:RTC的调试工具。 RTC调试器是Eclipse插件。