官术网_书友最值得收藏!

1.2.4 為什么選擇ROS

構建ROS框架的主要目的是打造機器人的通用軟件框架。盡管在ROS之前就有了許多機器人學的相關研究,但大多數(shù)軟件都是各自的機器人獨有的。這些獨有的軟件可能是開源的,但很難重用。

與現(xiàn)有的其他機器人框架相比,ROS在以下方面表現(xiàn)出色:

·協(xié)作開發(fā):正如我們討論過的,ROS是開源的,可以免費用于工業(yè)界和學術界。開發(fā)人員可以通過添加功能包的方式擴展ROS的功能。幾乎所有的ROS功能包都在一個硬件抽象層上工作,因此它可以很容易地被其他機器人應用程序重用。所以,如果一所大學擅長移動導航,另一所大學擅長機器人操控,則可以把相應的功能包貢獻給ROS社區(qū),這樣其他開發(fā)人員就可以重用這些功能包并構建新的應用程序。

·多語言支持:ROS通信框架可以使用多種現(xiàn)代編程語言輕松實現(xiàn)。它支持的流行語言包括C++、Python和Lisp,此外它還有Java和Lua的實驗庫。

·庫集成:ROS具有與許多第三方機器人庫的接口,如開源計算機視覺(OpenCV)、點云庫(PCL)、OpenNI、OpenRAVE和Orocos。開發(fā)人員可以輕松地使用這些庫進行應用程序開發(fā)。

·模擬器集成:ROS還與開源模擬器(如Gazebo)聯(lián)系緊密、相互融合,并與專有模擬器(如Webots和V-REP)有良好的接口。

·代碼測試:ROS提供了一個名為rostest的內置測試框架來檢查代碼質量和錯誤。

·可伸縮性:ROS框架設計考慮了可伸縮性。可以使用ROS與機器人一起執(zhí)行繁重的計算任務,其中ROS可以放在云上,也可以放在異構集群上。

·可定制性:正如我們討論過的,ROS是完全開源和免費的,因此可以根據(jù)機器人的實際需求定制這個框架。如果我們只想使用ROS消息平臺,那么可以刪除所有其他組件并僅使用它。我們甚至可以為特定的機器人定制ROS以獲得更好的性能。

·社區(qū):ROS是一個社區(qū)驅動的項目,主要由OSRF領導。大型社區(qū)支持是ROS的一大優(yōu)勢,這意味著我們可以輕松地開始機器人應用程序開發(fā)。

以下是可與ROS集成的庫和模擬器的URL:

·OpenCV:http://wiki.ros.org/vision_opencv

·PCL:http://wiki.ros.org/pcl_ros

·OpenNI:http://wiki.ros.org/openni_launch

·OpenRAVE:http://openrave.org/

·Orocos:http://www.orocos.org/

·V-REP:http://www.coppeliarobotics.com/

下面讓我們了解ROS的一些基本概念,這些概念是ROS項目的基礎。

主站蜘蛛池模板: 饶平县| 苏尼特右旗| 仙桃市| 金阳县| 溧水县| 随州市| 柘城县| 颍上县| 庆云县| 齐河县| 淄博市| 海林市| 枣强县| 黑山县| 九台市| 婺源县| 临湘市| 昌宁县| 钟山县| 五河县| 虹口区| 门头沟区| 灵寿县| 崇左市| 灌云县| 渭源县| 四会市| 长乐市| 黎平县| 龙游县| 阿拉尔市| 三原县| 兖州市| 辉南县| 衡阳县| 化德县| 文昌市| 博白县| 和政县| 麟游县| 科技|