ROS學習(一) ROS入門

2021-10-22 09:15:40 字數 1052 閱讀 7667

注:主要是古月部落格學習過程中的記錄,其專欄為:

ros(robot operating system)是用於機械人的一種次級作業系統,可以提供硬體抽象描述、底層驅動程式管理、共用功能執行、程式間的訊息傳遞、程式發行包管理等功能。ros的設計目標是在機械人研發中提高**復用率,是一種分布式處理框架,可執行檔案可以單獨設計並在執行時鬆散耦合,這些過程可以封裝到資料報和堆疊中進行共享和分發。

ros的主要特點如下:

ros可以劃分為三個級別:

2.1 計算圖級

計算圖是ros處理資料的一種點對點的網路形式。程式執行時,所有程序以及它們進行的資料處理通過點對點的網路形式表現出來,這一級的重要概念:節點(node)、訊息(message)、主題(topic)、服務(service)。

為了使所有節點可以有條不紊的執行,可以通過ros的控制器實現(ros master)。ros master通過rpc(romote procedure call protocol,遠端過程呼叫)提供登記列表和對其他計算圖表的查詢。沒有控制器,節點無法找到其他節點。下圖模型描述了ros控制節點訂閱和發布訊息:

ros的控制器給儲存了ros節點的主題和服務的註冊資訊,節點與控制器通訊報告它們的註冊資訊。當節點與控制器通訊時,可以接受關於其他已註冊及節點的資訊並與其他已註冊節點建立聯絡。註冊資訊改變時控制器也會回饋這些節點,同事允許節點動態建立與新節點之間的連線。需要注意的是,節點與節點之間的連線是直接的,控制器僅提供了查詢資訊。

2.2 檔案系統級

檔案系統級主要指的硬碟上檢視的ros源**的組織形式。該級別的概念包括:包(package)、堆(stack)。

2.3 社群級

主要指的是ros網路上發布的一種表現形式,類似於github中的專案。

網上關於ros安裝的教程有很多,下面列出乙個ubuntu 18.04可用的參考教程:

也可以直接參考ros的wiki教程

參考:

[1]

[2]

ROS學習之路(一)認識ROS

機器代替人力走進各行各業解放人類已經成為一種不可遏制的趨勢,ros便是用來控制這些機器的比較流行的平台,類似於手機中的android。ros建立在linux系統之上,有點像linux的一種特殊軟體。裡面有很多庫,可以用來執行不同功能。我們經常會遇到這樣的情況,機器在下面執行著 比如一輛裝有攝像頭 雷...

ROS學習筆記(一) ROS術語

xmlrpc xml遠端過程呼叫 是一種rpc協議,其編碼形式採用xml編碼格式,而傳輸方式採用http協議,支援多種程式語言,但比較簡單,僅用於小資料型別或命令。主節點負責節點之間的連線和通訊,執行roscore命令即可啟動主節點,之後就可註冊其他節點的名字,並可建立節點間的通訊。主節點使用xml...

ROS入門(一)安裝並配置ROS環境

在學習這些教程之前先按照 在ubuntu中安裝ros kinetic 這篇部落格 完成安裝。注意 如果你是使用類似apt這樣的軟體管理器來安裝ros的,那麼安裝後這些軟體包將不具備寫入許可權,當前系統使用者比如你自己也無法對這些軟體包進行修改編輯。當你的開發涉及到ros軟體包原始碼層面的操作或者在建...