我的公司很快将开始一个全新的机器人技术项目,并且我们仍在尝试决定是否应该从头开始设计和编码机器人软件平台,或者是否有任何现有的良好平台。
如果有一个学术界和工业界都普遍使用的软件平台,使我们的机器人系统与其他系统兼容,并且人们已经熟悉它,那将非常有用。
我们希望该软件平台能够:
- 轻松集成新的机器人硬件组件。
- 已经包含各种有用的数据处理和可视化工具
- 高效利用计算硬件
我的公司很快将开始一个全新的机器人技术项目,并且我们仍在尝试决定是否应该从头开始设计和编码机器人软件平台,或者是否有任何现有的良好平台。
如果有一个学术界和工业界都普遍使用的软件平台,使我们的机器人系统与其他系统兼容,并且人们已经熟悉它,那将非常有用。
我们希望该软件平台能够:
Answers:
ROS迅速成为工业和研究机器人技术的新标准。我所知道的大多数研究小组都在采用ROS进行工作,然后将其研究结果重新公开发布,以供所有人使用和改进。Willow Garage正在开发一套硬件和软件平台,这些平台都以ROS为核心。ROS是开始搜索的好地方。
机器人构造套件是ROS的替代品。它致力于模型驱动工程和复杂系统的设计/管理。它也趋向于“不紧紧依赖岩石”。Rock中的大多数算法/驱动程序都独立于组件层。另请参阅此页面以快速了解Rock和ROS之间的区别。
如先前的答案所指出,ROS主要用作精简通信库。Rock的组件层较厚,可提供扩展到复杂系统所需的工具。
您需要了解的是:在当今时代,唯一值得关注的开源机器人软件是与框架无关的(OpenCV,PCL,OpenRave,Gazebo等)。甚至Willow Garage也终于明白了这一点。因此,它可以与任何框架中的最少工作量集成。
现在:您的最佳选择还取决于您的目标。如果您想要的是出售硬件,那么拥有ROS节点很可能是您的最佳选择(即使拥有一个良好的驱动程序库然后集成到ROS节点中甚至更好)。
它是机器人技术中最古老的开源框架之一,自2001年以来一直在开发中,并且自2005年以来一直在使用专业的工业应用程序和产品。用C ++实现的所谓的实时工具包(RTT),并且尽可能独立于任何通信中间件和操作系统。
正如@BarretAmes所说,有一些集成可以实现混合系统的实现,在这些系统中,Orocos和其他软件框架可以协同工作。
我首选的平台是ROS。但是,还有一个强大的竞争者来自……敢说我……微软。它称为Robotics Developer Studio(RDS)。在这里开始搜索:http : //www.microsoft.com/robotics/
他们有许多令人印象深刻的应用视频。对我来说,最大的好处是通过Microsoft的Kinect SDK对Kinect的内置支持。从技术上讲,ROS使用的OpenNI具有相同的功能,但是知道RDS使用的SDK是由生产硬件的同一家公司编写的,这似乎令人感到欣慰。
Player / Stage仍然是最受欢迎的开源机器人技术之一。它已经存在了很长时间,并且它的一些开发人员已经着手开始创建ROS,但这并不影响Player的实用性。实际上,所有三个主要组件,即Player(框架),Stage(2D仿真器)和Gazebo(3D仿真器)都已与ROS兼容。
MOOS是牛津的ROS类似物。http://www.robots.ox.ac.uk/~mobile/MOOS/wiki/pmwiki.php它用于许多海军应用,从扫掠到低功率的UUV,这些UUV会按计数间隔报告在几个月内。