- ROS機器人項目開發11例(原書第2版)
- (印)拉姆庫瑪·甘地那坦 郎坦·約瑟夫
- 785字
- 2021-01-26 17:17:28
第2章 ROS-2及其特性簡介
ROS,更具體地說,ROS-1,目前推動機器人技術在開源社區發展到了一個里程碑式的水平。盡管在軟硬件連接同步方面存在缺陷與不足,但是ROS-1提供了一種簡單的通信策略,該策略使得用戶能夠輕松地將任何復雜的傳感器連接到微型計算機或微控制器中。在過去的十年里,ROS-1已經發展壯大,擁有一個龐大的功能包列表,每個功能包都能解決一個或一些問題,并一定程度上消除了重新發明輪子的問題。這些功能包帶來了一種看待機器人技術的全新方式,并使得當前可用的機器人系統具備了一定的智能。通過連接幾個小規模的功能包,用戶就可以創建一個全新的復雜自治系統。
盡管ROS-1讓我們可以輕松地與復雜的硬件和軟件組件進行通信,但使用ROS-1開發實際可用產品的過程涉及一些復雜的問題。例如,假設在制造業中需要一大群異構機器人(例如,移動機器人、機械臂等)協同工作,由于ROS-1的體系結構不支持多master的概念,因此很難在多異構機器人之間建立通信。
盡管有其他方法用于網絡中節點之間的通信(我們將在第6章探討),但它們之間沒有安全的通信方式。任何連接到master的用戶都可以很容易地訪問可用話題的列表,還可以使用或修改它們。鑒于此,人們通常使用ROS-1來驗證概念,或者構建科學研究的快速解決方案。
在使用ROS-1進行原型設計驗證和創建最終產品之間出現了一條難以逾越的鴻溝,這主要是因為ROS-1不是實時的。通過無線連接(Wi-Fi)使用有線連接(以太網)時,系統組件之間的網絡連接有所不同,這可能導致數據接收延遲,甚至丟失數據,從而導致系統不穩定。
考慮到這一點,OSRF開始了改進和建設下一代ROS——ROS-2的旅程。目前ROS-2正處于開發之中,主要目的是修復ROS-1在通信中存在的風險和不足。在本章中,讀者將了解ROS-2的概念及其與ROS-1的區別以及特點。為了讀者能夠更好地理解和比較,本章的組織方式與前一章相似:
·ROS-2概述。
·ROS-2基礎。
·ROS-2客戶端庫。
·ROS-2工具。
·安裝ROS-2。
·設置ROS-2工作空間。
·編寫ROS-2節點。
·ROS-1和ROS-2的通信。