其中clients文件夾一共有127個文件,看來是最大的包了。
現在我們來到了ROS最核心的地帶。
客戶端這個名詞出現的有些突然,一個機器人操作系統里為什么需要客戶端。
原因是,節點與主節點master之間的關系是client/server,這時每個節點都是一個客戶端(client),而master自然就是服務器端(server)。
那客戶端庫(client libraries)是干什么的?就是為實現節點之間通信的。
雖然整個文件夾中包含的文件眾多,但是我們如果按照一定的脈絡來分析就不會眼花繚亂。
節點之間最主要的通信方式就是基于消息的。為了實現這個目的,需要三個步驟,如下。
弄明白這三個步驟就明白ROS的工作方式了。這三個步驟看起來是比較合乎邏輯的,并不奇怪。
消息的發布者和訂閱者(即消息的接收方)建立連接;
發布者向話題發布消息,訂閱者在話題上接收消息,將消息保存在回調函數隊列中;
調用回調函數隊列中的回調函數處理消息。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
通信
+關注
關注
18文章
6072瀏覽量
136432 -
客戶端
+關注
關注
1文章
290瀏覽量
16767 -
ROS
+關注
關注
1文章
280瀏覽量
17100
發布評論請先 登錄
相關推薦
在Android中使用ROS
由于ROS提供了Android的對應的開發庫,我們可以方便的在Android中開發相應的ROS客戶端程序。下面介紹一下在Android中使用ROS
發表于 05-16 19:16
ROS與STM32是如何進行通信的
角速度、實際線速度STM32端ROS端之前運行的ROS項目都是在終端編譯,用vim或者gedit修改代碼,很不方便,函數跳轉查看都沒辦法實現。所以今天先安裝一個IDE試試
發表于 08-11 07:25
做ROS與樹莓派進行通信
成了兩個類而已。asio_server類運行于樹莓派上作為服務器,asio_client運行于PC上作為客戶端。剛開始寫的代碼僅僅是客戶端發送,服務器端接收這么簡單。但后來一想,樹莓派不是還要返回數據給R...
發表于 09-06 07:26
什么是ROS?ROS產生、發展和壯大的原因和意義
機器人操作系統(ROS)入門(嵌入式系統應用開發)一、ROS 基本問題1. 什么是 ROS2. ROS 產生、發展和壯大的原因和意義二、安裝 ROS
發表于 12-17 06:08
怎樣通過ROS Arduino程序去點亮LED燈呢
roscore:然后,運行rosserial客戶端應用程序, 其中為你安裝rosserial的工作空間,確保使用正確的串口:最后,你可以使用rostopic轉換你的LEd狀態。原作者:liuyu-419812
發表于 07-07 10:43
基于FreeRTOS的micro(微型)ROS
。 一、關于ROS ROS:Robot Operating System,,即機器人操作系統。 和普通OS不一樣的是,ROS主要是針對機器人,是基于操作系統之上,提供一系列程序庫和工具
![基于FreeRTOS的micro(微型)<b class='flag-5'>ROS</b>](https://file.elecfans.com/web1/M00/C8/2A/pIYBAF9tim2AHt85AAAgW-UsIuY014.png)
ROS與STM32通信
角速度、實際線速度STM32端ROS端之前運行的ROS項目都是在終端編譯,用vim或者gedit修改代碼,很不方便,函數跳轉查看都沒辦法實現。所以今天先安裝一個IDE試試
發表于 12-24 19:00
?12次下載
![<b class='flag-5'>ROS</b>與STM32通信](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
深度解析開源無人機ROS開發方案
rospy 是 ROS 的純 Python 客戶端庫。rospy 客戶端 API 使 Python 程序員能夠快速與 ROS主題、服務和參數
發表于 07-08 17:02
?2719次閱讀
Unity與ROS鏈接介紹
對于ROS而言,其最常用的就是Topic話題以及Service兩個了。之前我們在了解Unity Robotics Hub時候就了解到基本的Unity和ROS的通訊,下面我們來詳細介紹一下Unity
![Unity與<b class='flag-5'>ROS</b>鏈接介紹](https://file1.elecfans.com/web2/M00/AE/E2/wKgaomVXMEmASX6AAAHdnUBh7GQ098.jpg)
ROS的擴展有哪些方法
也是毫不夸張的。 ROS的擴展即ROS universe,是全球范圍的代碼,有不同國家的ROS社區組織開發和維護。 有的是庫代碼,如OpenCV、PCL等;
ros的基本概念是什么
基本概念: ROS是一個用于在不同進程間匿名的發布、訂閱、傳遞信息的中間件。 ROS2系統的核心部分是ROS網絡(ROS Graph)。 ROS
評論