ROS通訊機制

2021-08-28 14:24:17 字數 621 閱讀 8982

ros的核心功能是提供一種軟體點對點通訊機制,基於這一機制,開發人員可以非常靈活和高效地組織智慧型機械人的軟體實現。ros的執行架構是一種基於socket網路連線的松耦合

架構。在這個執行架構中包括一系列程序,這些程序可以駐留在多個不同的主機上並且在執行的過程中通過點對點的拓撲結構實現通訊。

ros將每個工作程序看作乙個節點,使用節點管理器進行統一管理,並提供一套相應的訊息傳遞機制。在ros中,所有的訊息通訊都必須使用節點管理器。ros的特殊性主要體現在訊息通訊層,而不是更深的層次。點對點的連線和配置通過xmlrpc機制實現;節點間的資料流通過網路套接字實現,資料流在ros中被稱為訊息,模組間的訊息傳遞採用簡單的、語言無關的介面定義描述。

ros底層的通訊是通過http完成的,因此ros核心本質上是乙個http伺服器,它的位址一般是http://localhost:11311/,即本機的11311埠,當需要連線到另一台計算機上執行的ros時,只要連上該機的11311埠即可。

本文搬自 《ros通訊機制概述--機械人作業系統ros原理與應用》一書  3章中的一段, 希望對你的理解有所幫助

ROS入門 5 深入了解ROS話題通訊機制的過程

乙個節點需要與系統中其他節點進行通訊才有意義,系統中任何單獨的乙個節點其實都是沒有意義的。下圖是乙個話題通訊的過程示意圖,乙個節點通過節點管理器連線到另乙個節點,最終請求話題資料流。ps 在ros中有兩個節點 乙個是發布者talker,另乙個是訂閱者listener,兩個節點分別發布 訂閱同乙個話題...

ROS與ROS2通訊機制的區別

ros是由standford的pr2專案起源,它有一套非常完備的工程系統,可以適用於大部分的機械人場景。ros是通訊機制 工具軟體包 機械人高層技能以及機械人生態系統的集合體。來自roswiki 一般來說,ros需要有乙個roscore作為主節點來執行其他所有的程序,如果這個主節點出現錯誤,整個系統...

ROS通訊機制(二) 話題通訊自定義msg

在 ros 通訊協議中,資料載體是乙個較為重要組成部分,ros 中通過 std msgs 封裝了一些原生的資料型別,但這些資料一般只包含乙個 data 字段,當傳輸一些複雜的資料,可以使用自定義的訊息型別 建立自定義msg 功能包下新建msg目錄,新增person.msg string name i...