- ROS機器人項目開發11例(原書第2版)
- (印)拉姆庫瑪·甘地那坦 郎坦·約瑟夫
- 642字
- 2021-01-26 17:17:22
1.2 ROS概述
ROS是一個開源的、靈活的機器人軟件框架,用于機器人應用程序編寫。ROS提供了一個硬件抽象層,開發者可以在其中構建機器人應用程序,而不必擔心底層硬件。ROS還提供不同的軟件工具來可視化和調試機器人數據。ROS框架的一個核心是消息傳遞中間件,在這個中間件中,進程可以相互通信和交換數據,即使它們運行在不同的機器上。ROS消息傳遞可以是同步的,也可以是異步的。
ROS中的軟件以功能包的形式組織,具有良好的模塊性和可重用性。使用ROS消息傳遞中間件和硬件抽象層,開發人員可以創建大量的機器人功能,例如,地圖構建和導航(在移動機器人中)。ROS中的幾乎所有功能對機器人而言都是“不可知”的(即基于標準接口封裝起來的),因此所有類型的機器人都可以使用它。新的機器人可以直接使用那些功能包,而無須修改功能包中的任何代碼。
ROS在大學里有著廣泛的合作關系,許多開發人員對ROS的發展做出了貢獻。可以說ROS是一個由全世界開發者支持的社區驅動項目。這個活躍的開發者生態系統將ROS與其他機器人框架區分開來。
簡而言之,ROS是管道(或通信,即通信機制)、(開發)工具、(應用)功能和生態系統的組合,這些功能如圖1.1所示。
ROS項目于2007年在斯坦福大學以Switchyard為名啟動,隨后在2008年由一家名為Willow Garage的機器人研究初創公司進行開發。ROS的主要開發工作由Willow Garage完成。2013年,Willow Garage的研究人員成立了開源機器人基金會(Open Source Robotics Foundation,OSRF)。ROS現在由OSRF積極維護。下面,讓我們介紹幾個ROS發行版。
圖1.1 ROS“公式”(圖片來源:ros.org。基于知識共享授權協議CC-BY-3.0:https://creativecommons.org/licenses/by/3.0/us/legalcode)
下面是兩個組織的網址。Willow Garage:http://www.willowgarage.com/。OSRF:http://www.osrfoundation.org/。