0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ros的基本概念是什么

麥辣雞腿堡 ? 來(lái)源:古月居 ? 作者:越來(lái)越胖了mengle ? 2023-11-27 11:21 ? 次閱讀

基本概念:

ROS是一個(gè)用于在不同進(jìn)程間匿名的發(fā)布、訂閱、傳遞信息的中間件。

ROS2系統(tǒng)的核心部分是ROS網(wǎng)絡(luò)(ROS Graph)。

ROS網(wǎng)絡(luò)是指在ROS系統(tǒng)中不同的節(jié)點(diǎn)間相互通信的連接關(guān)系。

ROS Graph這里翻譯成了ROS網(wǎng)絡(luò),因?yàn)槲矣X得Graph更加抽象,而網(wǎng)絡(luò)的概念更容易幫助理解其內(nèi)涵。

ROS網(wǎng)絡(luò)(ROS Graph)概念簡(jiǎn)介:

節(jié)點(diǎn)(Nodes):一個(gè)節(jié)點(diǎn)是一個(gè)利用ROS系統(tǒng)和其他節(jié)點(diǎn)通信的實(shí)體

消息(Messages):ROS中在訂閱和發(fā)布主題時(shí)所用到的數(shù)據(jù)結(jié)構(gòu)

主題(Topics): 節(jié)點(diǎn)可以發(fā)布信息到一個(gè)主題,同樣也可訂閱主題來(lái)接收消息

發(fā)現(xiàn)(Discovery): 一個(gè)自動(dòng)運(yùn)行的進(jìn)程,通過(guò)這個(gè)進(jìn)程不同的節(jié)點(diǎn)相互發(fā)現(xiàn),建立連接

節(jié)點(diǎn)(Nodes)

一個(gè)節(jié)點(diǎn)就是一個(gè)在ROS網(wǎng)絡(luò)中的參與者。

ROS節(jié)點(diǎn)通過(guò)ROS客戶端程序庫(kù)(ROS client library)來(lái)和其他節(jié)點(diǎn)進(jìn)行通信。

節(jié)點(diǎn)可以發(fā)布或者訂閱主題 節(jié)點(diǎn)也可以提供ROS服務(wù)(Service)。

節(jié)點(diǎn)有很多可以配置的相關(guān)參數(shù)。

節(jié)點(diǎn)間的連接時(shí)通過(guò)一個(gè)分布式發(fā)現(xiàn)進(jìn)程來(lái)建立的(即上面所說(shuō)的發(fā)現(xiàn))。

不同的節(jié)點(diǎn)可以在同一個(gè)進(jìn)程里面,也可以在不同的進(jìn)程里面,甚至可以在不同的機(jī)器上。

客戶端程序庫(kù)

ROS客戶端程序庫(kù)可以讓不同的語(yǔ)言編寫的節(jié)點(diǎn)進(jìn)行通信。

在不同的編程語(yǔ)言中都有對(duì)應(yīng)的ROS客戶端程序庫(kù)(RCL),這個(gè)程序庫(kù)實(shí)現(xiàn)了ROS的基本API。

這樣就確保了不同的編程語(yǔ)言的客戶端更加容易編寫,也保證了其行為更加一致。

下面的客戶端程序庫(kù)是由ROS2團(tuán)隊(duì)維護(hù)的

rclcpp = C++ 客戶端程序庫(kù)

rclpy = Python 客戶端程序庫(kù)

另外其他客戶端程序也已經(jīng)有ROS社區(qū)開發(fā)出來(lái)。可以看[[ROS 客戶端程序庫(kù)]]來(lái)了解詳細(xì)信息

發(fā)現(xiàn)

節(jié)點(diǎn)之間的互相發(fā)現(xiàn)是通過(guò)ROS2底層的中間件實(shí)現(xiàn)的。

過(guò)程總結(jié)如下:

當(dāng)一個(gè)節(jié)點(diǎn)啟動(dòng)后, 它會(huì)向其他擁有相同ROS域名的節(jié)點(diǎn)進(jìn)行廣播,說(shuō)明它已經(jīng)上線。

ROS域名(ROS domain, 可以通過(guò)設(shè)置ROS_DOMAIN_ID環(huán)境變量來(lái)設(shè)置)

其他節(jié)點(diǎn)在收到廣播后返回自己的相關(guān)信息,這樣節(jié)點(diǎn)間的連接就可以建立了,之后就可以通信了。

節(jié)點(diǎn)會(huì)定時(shí)廣播它的信息,這樣即使它已經(jīng)錯(cuò)過(guò)了最初的發(fā)現(xiàn)過(guò)程,它也可以和新上線的節(jié)點(diǎn)進(jìn)行連接。

節(jié)點(diǎn)在下線前它也會(huì)廣播其他節(jié)點(diǎn)自己要下線了。

節(jié)點(diǎn)只會(huì)和具有相兼容的[服務(wù)質(zhì)量]設(shè)置的節(jié)點(diǎn)進(jìn)行通信。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7565

    瀏覽量

    88794
  • 客戶端
    +關(guān)注

    關(guān)注

    1

    文章

    290

    瀏覽量

    16688
  • ROS
    ROS
    +關(guān)注

    關(guān)注

    1

    文章

    278

    瀏覽量

    17010
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ROS基本概念和系統(tǒng)架構(gòu) ROS的安裝和簡(jiǎn)單測(cè)試

    前言:一直都覺得ROS很神秘,到底是個(gè)操作系統(tǒng),僅憑稱呼就讓我望而卻步了。但ROS和自動(dòng)駕駛仿真有著千絲萬(wàn)縷的聯(lián)系,作為仿真軟件和智駕算法的數(shù)據(jù)橋梁,ROS是個(gè)繞不開的話題,所以還是得硬著頭皮啃一啃。然后用大白話講給你聽,最好再
    的頭像 發(fā)表于 11-15 12:42 ?6287次閱讀
    <b class='flag-5'>ROS</b>的<b class='flag-5'>基本概念</b>和系統(tǒng)架構(gòu) <b class='flag-5'>ROS</b>的安裝和簡(jiǎn)單測(cè)試

    #硬聲創(chuàng)作季 智能機(jī)器人系統(tǒng):機(jī)器人操作系統(tǒng)—ROS基本概念

    機(jī)器人智能機(jī)器
    Mr_haohao
    發(fā)布于 :2022年10月25日 23:48:57

    微帶的基本概念

    微帶的基本概念 如果說(shuō)帶線可以看成是由同軸線演變而成的,那么,微帶則可以看成是雙導(dǎo)線演化而成的。 [/hide]  
    發(fā)表于 11-02 16:11

    Proteus涉及的基本概念

    Proteus涉及的基本概念
    發(fā)表于 08-01 20:58

    電子元件基本概念和原理

    電子元件基本概念和原理
    發(fā)表于 08-05 21:25

    Fpga Cpld的基本概念

    Fpga Cpld的基本概念
    發(fā)表于 08-20 17:14

    C語(yǔ)言基本概念

    C語(yǔ)言基本概念
    發(fā)表于 08-01 02:00

    數(shù)據(jù)結(jié)構(gòu)的基本概念是什么

    數(shù)據(jù)結(jié)構(gòu)之基本概念
    發(fā)表于 05-27 08:29

    阻抗控制相關(guān)的基本概念

    阻抗控制部分包括兩部分內(nèi)容:基本概念及阻抗匹配。本篇主要介紹阻抗控制相關(guān)的一些基本概念。
    發(fā)表于 02-25 08:11

    智能天線的基本概念

    1智能天線的基本概念 智能天線綜合了自適應(yīng)天線和陣列天線的優(yōu)點(diǎn),以自適應(yīng)信號(hào)處理算法為基礎(chǔ),并引入了人工智能的處理方法。智能天線不再是一個(gè)簡(jiǎn)單的單元,它已成為一個(gè)具有智能的系統(tǒng)。其具體定義為:智能
    發(fā)表于 08-05 08:30

    CODESYS的基本概念有哪些

    CODESYS是什么?CODESYS的基本概念有哪些?CODESYS有哪些功能?
    發(fā)表于 09-18 06:52

    通信原理的基本概念講解

    通信原理的基本概念講解。
    發(fā)表于 05-27 14:48 ?17次下載

    ROS學(xué)習(xí)筆記之ROS基本概念

    ROS概念分為三個(gè)層次:文件系統(tǒng)層、計(jì)算圖層、社區(qū)層,這些層次以及概念將會(huì)在接下來(lái)的章節(jié)介紹。 除了這三個(gè)層次的概念,ROS同樣定義
    的頭像 發(fā)表于 05-19 17:11 ?1727次閱讀
    <b class='flag-5'>ROS</b>學(xué)習(xí)筆記之<b class='flag-5'>ROS</b><b class='flag-5'>基本概念</b>

    基本概念.zip

    基本概念
    發(fā)表于 12-30 09:21 ?2次下載