- ROS機器人項目開發(fā)11例(原書第2版)
- (印)拉姆庫瑪·甘地那坦 郎坦·約瑟夫
- 801字
- 2021-01-26 17:17:23
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項目的基礎。
- 機器人構建實戰(zhàn)
- 知識圖譜與認知智能:基本原理、關鍵技術、應用場景與解決方案
- 虛擬偶像AI實現(xiàn)
- 秒懂AI設計:人人都能成為設計高手
- 機器學習實戰(zhàn):基于Scikit-Learn、Keras和TensorFlow(原書第3版)
- DeepSeek實戰(zhàn):操作攻略與商業(yè)應用
- 深度學習原理與應用
- 機器學習與數(shù)據(jù)科學(基于R的統(tǒng)計學習方法)
- PVCBOT超簡單機器人設計與制作(第2版)
- 被人工智能操控的金融業(yè)
- 未來之地
- 人工智能核心:神經網絡(青少科普版)
- AI進化論:解碼人工智能商業(yè)場景與案例
- 人工智能革命:開啟超級智能新時代
- 深度學習與機器人