欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

服務(wù)通信接口的定義與使用

麥辣雞腿堡 ? 來(lái)源:古月居 ? 作者:古月 ? 2023-12-01 15:28 ? 次閱讀

了解了通信接口的概念,接下來(lái)我們?cè)購(gòu)拇a實(shí)現(xiàn)的角度,研究下如何定義以及使用一個(gè)接口。

在之前服務(wù)概念講解的課程中,我們編寫(xiě)了這樣一個(gè)例程,我們?cè)賮?lái)回顧下。

圖片

有三個(gè)節(jié)點(diǎn):

第一個(gè)驅(qū)動(dòng)相機(jī)發(fā)布圖像話(huà)題

第二個(gè)是機(jī)器視覺(jué)識(shí)別節(jié)點(diǎn),封裝了一個(gè)服務(wù)的服務(wù)端對(duì)象,提供目標(biāo)識(shí)別位置的查詢(xún)服務(wù);

第三個(gè)節(jié)點(diǎn)在需要目標(biāo)位置的時(shí)候,就可以發(fā)送請(qǐng)求,收到位置進(jìn)行使用了。

圖片

接口定義

在這個(gè)例程中,我們使用GetObjectPosition.srv定義了服務(wù)通信的接口:

learning_interface/srv/GetObjectPosition.srv

bool get      # 獲取目標(biāo)位置的指令---int32 x       # 目標(biāo)的X坐標(biāo)int32 y       # 目標(biāo)的Y坐標(biāo)

定義中有兩個(gè)部分,上邊是獲取目標(biāo)位置的指令,get為true的話(huà),就表示我們需要一次位置,服務(wù)端就會(huì)反饋這個(gè)x、y坐標(biāo)了。

完成定義后,還需要在功能包的CMakeLists.txt中配置編譯選項(xiàng),讓編譯器在編譯過(guò)程中,根據(jù)接口定義,自動(dòng)生成不同語(yǔ)言的代碼:

...find_package(rosidl_default_generators REQUIRED)rosidl_generate_interfaces(${PROJECT_NAME}  "srv/GetObjectPosition.srv")...

功能包的package.xml文件中也需要添加代碼生成的功能依賴(lài):

... < build_depend >rosidl_default_generators< /build_depend > < exec_depend >rosidl_default_runtime< /exec_depend > < member_of_group >rosidl_interface_packages< /member_of_group > ...

程序調(diào)用

我們?cè)诖a中再來(lái)重點(diǎn)看下接口的使用方法。

客戶(hù)端接口調(diào)用

learning_service/service_object_client.py

#!/usr/bin/env python3# -*- coding: utf-8 -*-"""@作者: 古月居@說(shuō)明: ROS2服務(wù)示例-請(qǐng)求目標(biāo)識(shí)別,等待目標(biāo)位置應(yīng)答"""import rclpy                                            # ROS2 Python接口庫(kù)from rclpy.node   import Node                           # ROS2 節(jié)點(diǎn)類(lèi)from learning_interface.srv import GetObjectPosition    # 自定義的服務(wù)接口class objectClient(Node):    def __init__(self, name):        super().__init__(name)                          # ROS2節(jié)點(diǎn)父類(lèi)初始化        self.client = self.create_client(GetObjectPosition, 'get_target_position')        while not self.client.wait_for_service(timeout_sec=1.0):            self.get_logger().info('service not available, waiting again...')        self.request = GetObjectPosition.Request()    def send_request(self):        self.request.get = True        self.future = self.client.call_async(self.request)def main(args=None):    rclpy.init(args=args)                             # ROS2 Python接口初始化    node = objectClient("service_object_client")      # 創(chuàng)建ROS2節(jié)點(diǎn)對(duì)象并進(jìn)行初始化    node.send_request()    while rclpy.ok():        rclpy.spin_once(node)        if node.future.done():            try:                response = node.future.result()            except Exception as e:                node.get_logger().info(                    'Service call failed %r' % (e,))            else:                node.get_logger().info(                    'Result of object position:n x: %d y: %d' %                    (response.x, response.y))            break    node.destroy_node()                              # 銷(xiāo)毀節(jié)點(diǎn)對(duì)象    rclpy.shutdown()                                 # 關(guān)閉ROS2 Python接口

服務(wù)端接口調(diào)用

learning_service/service_object_server.py

#!/usr/bin/env python3# -*- coding: utf-8 -*-"""@作者: 古月居(www.guyuehome.
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 通信接口
    +關(guān)注

    關(guān)注

    3

    文章

    240

    瀏覽量

    31074
  • 服務(wù)端
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

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

    關(guān)注

    1

    文章

    281

    瀏覽量

    17126
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    iphone接口定義

    本文提供詳細(xì)的iphone接口定義,有iphone接口定義英文版和iphone接口定義中文介紹說(shuō)
    發(fā)表于 03-28 15:15 ?1.5w次閱讀

    USB接口定義

    USB接口定義 USB接口定義  更多盡在:USB產(chǎn)品網(wǎng)
    發(fā)表于 04-21 11:58 ?3.4w次閱讀

    MIDI接口定義和游戲桿接口定義

    MIDI 接口定義和游戲桿接口定義圖 MIDI 接口和 PC 游戲桿接口是共用的,外觀為 15
    發(fā)表于 11-27 20:13 ?4153次閱讀
    MIDI<b class='flag-5'>接口</b><b class='flag-5'>定義</b>和游戲桿<b class='flag-5'>接口</b><b class='flag-5'>定義</b>圖

    rs422接口定義 rs232接口定義 rs485接口定義

    rs422接口定義 rs232接口定義 rs485接口定義 Pin 信
    發(fā)表于 04-27 17:33 ?1.6w次閱讀

    手機(jī)usb接口定義

    手機(jī)8針的usb接口定義 手機(jī)12針的usb接口定義 K750c手機(jī)US
    發(fā)表于 06-10 11:19 ?1.5w次閱讀
    手機(jī)usb<b class='flag-5'>接口</b><b class='flag-5'>定義</b>

    MIDI接口定義,MIDI接口游戲桿接口引腳功能定義

    MIDI接口信號(hào)定義與游戲桿接口功能定義 MIDI接口和PC游戲桿接口是共用的,外觀見(jiàn)下圖:
    發(fā)表于 05-03 23:27 ?6871次閱讀
    MIDI<b class='flag-5'>接口</b><b class='flag-5'>定義</b>,MIDI<b class='flag-5'>接口</b>游戲桿<b class='flag-5'>接口</b>引腳功能<b class='flag-5'>定義</b>圖

    SCART接口功能定義

    SCART接口功能定義 附錄:SCART 接口功能定義A、傳輸復(fù)合視頻信號(hào)(Composite Video Only):
    發(fā)表于 08-21 22:40 ?7530次閱讀
    SCART<b class='flag-5'>接口</b>功能<b class='flag-5'>定義</b>

    USB接口與miniUSB接口定義

    USB接口與miniUSB接口定義 USB接口定義:
    發(fā)表于 12-21 10:54 ?2.6w次閱讀

    常用接口定義

    常用接口定義,常用接口定義,常用接口定義.
    發(fā)表于 04-29 17:57 ?20次下載

    SATA的接口定義及硬盤(pán)電源接口定義

    SATA接口的pin定義包括:信號(hào)電源和數(shù)據(jù)線(xiàn)接口定義
    發(fā)表于 06-16 18:21 ?23次下載

    接口定義 通信接口的作用

    通信接口 在ROS系統(tǒng)中,無(wú)論話(huà)題還是服務(wù),或者我們后續(xù)將要學(xué)習(xí)的動(dòng)作,都會(huì)用到一個(gè)重要的概念——通信接口
    的頭像 發(fā)表于 12-01 14:59 ?981次閱讀

    ROS通信接口機(jī)制介紹

    ROS通信接口 接口可以讓程序之間的依賴(lài)降低,便于我們使用別人的代碼,也方便別人使用我們的代碼,這就是ROS的核心目標(biāo),減少重復(fù)造輪子。 ROS有三種常用的通信機(jī)制,分別是話(huà)題、
    的頭像 發(fā)表于 12-01 15:03 ?912次閱讀
    ROS<b class='flag-5'>通信</b><b class='flag-5'>接口</b>機(jī)制介紹

    話(huà)題通信接口定義和運(yùn)行效果

    話(huà)題接口定義與使用 話(huà)題通信接口定義也是類(lèi)似的,繼續(xù)從之前的機(jī)器視覺(jué)案例中來(lái)衍生,我們想把服務(wù)
    的頭像 發(fā)表于 12-01 15:32 ?527次閱讀
    話(huà)題<b class='flag-5'>通信</b><b class='flag-5'>接口</b>的<b class='flag-5'>定義</b>和運(yùn)行效果

    fpga仿真器接口定義

    FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列)仿真器接口定義主要依賴(lài)于仿真器的具體設(shè)計(jì)和所支持的通信協(xié)議。在FPGA的設(shè)計(jì)和仿真過(guò)程中,接口
    的頭像 發(fā)表于 03-15 14:01 ?1397次閱讀

    SIM卡座的接口定義

    SIM卡座連接器的接口定義是移動(dòng)通信設(shè)備中不可或缺的一部分,確保了SIM卡與設(shè)備之間的穩(wěn)定通信和數(shù)據(jù)傳輸。在本文中,連欣科技將詳細(xì)探討一下SIM卡座的
    的頭像 發(fā)表于 06-17 17:47 ?5047次閱讀
    SIM卡座的<b class='flag-5'>接口</b><b class='flag-5'>定義</b>