一文讀懂自動駕駛中的機器人作業系統ROS

BFT機器人發表於2022-11-04

一.什麼是機器人作業系統ROS


1.ROS(Robot Operating System)是一個作業系統

ROS是對機器人的硬體進行了封裝,不同的機器人、不同的感測器,在ROS裡可以用相同的方式表示(topic等),供上層應用程式(運動規劃等)呼叫。

計算機OS與機器人OS對比示意圖,圖片引用自Nao


2.ROS是一種跨平臺模組化軟體通訊機制


ROS用節點(Node)的概念表示一個應用程式,不同node之間透過事先定義好格式的訊息(Topic),服務(Service),動作(Action)來實現連線。

因為ROS本身是基於訊息機制的,開發者可以根據功能把軟體拆分成為各個模組,每個模組只是負責讀取和分發訊息,模組間透過訊息關聯。

3.ROS是一系列開源工具


很多知名的機器人開源庫,比如基於quaternion的座標轉換、3D點雲處理驅動、定位演算法SLAM等都是開源貢獻者基於ROS開發的。

.機器人作業系統ROS特性

1.系統安全可靠

  • 去中心化

ROS重要節點需要熱備份,以便當機時可以隨時切換。主節點當機後,備份節點被切換為主節點,並且用備份的主節點完成資訊初始化。

  • 實時監控和報警

    對於執行的節點實時監控其執行資料,並檢測到嚴重的錯誤資訊時報警。

基於ZooKeeper的監控和報警


  • 節點當機狀態恢復


節點當機的時候,需要透過重啟的機制恢復節點,這個重啟可以是無狀態的,但有些 時候也必須是有狀態的,因此狀態的備份格外重要。 節點的當機檢測也是非常重要的,如果察覺到節點當機,必須很快地使用備份的資料重啟。

2.系統通訊效能提升


由於無人駕駛系統模組很多,模組間的資訊互動很頻繁,提升系統通訊效能會對整個系統效能提升的作用很大。

3.系統資源管理與安全性


如何解決資源分配與安全問題是無人駕駛技術的一個大課題。

.ROS在自動駕駛上的應用

想要製造無人駕駛汽車,有很多關鍵問題需要解決。

怎麼在車內搭建可靠的網路,如何管理記憶體、儲存資料和日誌記錄,如何使感測器和計算機能夠同時相互通訊,以及如何確保它們都很穩定且安全。

機器人作業系統ROS為許多問題提供了開源解決方案。

要保證一個複雜的系統穩定、高效地執行,每個模組都能發揮出最大的潛能,需要一個成熟有效的管理機制。


在無人駕駛場景中,ROS提供了這樣一個管理機制,使得系統中的每個軟硬體模組都能有效地進行互動。原生的ROS提供了許多必要的功能,但是這些功能並不能滿足無人駕駛的所有需求,因此我們在ROS之上進一步地提高了系統的效能與可靠性,完成了有效的資源管理及隔離。

我們相信隨著無人駕駛技術的發展,更多的系統需求會被提出,比如車車互聯、車與城市交通系統互聯、雲車互聯、異構計算硬體加速等,我們也將會持續最佳化這個系統,力求讓它變成無人駕駛的標準系統。

本文轉載於公眾號:BFT機器人

關注瞭解更多機器人知識



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70019748/viewspace-2921925/,如需轉載,請註明出處,否則將追究法律責任。

相關文章