日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ROS2 服务通信

發布時間:2024/1/18 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ROS2 服务通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ROS2的服務通信

服務就是節點之間的你問我答。
服務通信是通過客戶端與服務端進行通信的,具有同步通信機制,服務器端是唯一的,而客戶端不是唯一的。
.srv文件定義請求和應答數據結構。

創建服務服務端的程序流程:

  • 創建接口初始化
  • 創建節點并初始化
  • 創建服務端對象
  • 通過回調函數處進行服務
  • 向客戶端反饋應答結果
  • 銷毀節點并關閉接口

現在創建一個服務端的節點,在節點里進行兩個整型的相加。

創建服務客戶端的程序流程:

  • 創建接口初始化
  • 創建節點并初始化
  • 創建客戶端對象
  • 創建并發送請求數據
  • 等待服務器應答數據
  • 銷毀節點并關閉接口

現在創建一個客戶端的節點,在節點里輸入兩個數,然后傳遞給服務端就行處理。

使用ROS2通信服務,創建一個物體識別的通信服務節點。

物體識別的服務端

服務端主要是對圖像驅動后的話題進行一個訂閱。同事對圖像進行一個處理,去識別到我們的目標位置。

這里設置號好所需識別的顏色的HSV閾值,并且初始化節點,訂閱對象,然后通過cv_bridge創建一個圖像轉換對象,將opencv圖像和ROS圖像的消息進行互相轉換,并且創建服務端

這里進行目標的識別,經過一些opencv的處理之后,最后將處理結果顯示出來

這是處理圖像的回調函數,將opencv圖像轉成ROS2的圖像數據。

這是目標位置的回調函數,會對目標位置進行獲取與輸出。

物體識別的客戶端

這里服務名稱要跟服務端的名稱一致

初始化節點的接口,并且創建了一個node對象

總結

以上是生活随笔為你收集整理的ROS2 服务通信的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。