一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何將消息導入Unity

麥辣雞腿堡 ? 來源:古月居 ? 作者:敢敢のwings ? 2023-11-17 17:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

自定義msg

將消息導入Unity的步驟如下所示:

1.Unity的菜單“Robotics→Generate ROS Messages…”選擇。

2.在“ROS message path”中選擇“catkin_ws/src”。

然后就可以看到path下的msg都會顯示在Unity下面

圖片

然后點擊“MyString.msg”中的“Build msg”。這樣“MyString.msg”將被轉(zhuǎn)換成c#腳本“MyStringMsg”,并在Project窗口中輸出“RosMessages”。

圖片

Topic話題

這一小節(jié)我們主要來說Topic的發(fā)布和訂閱,首先我們來看一下發(fā)布者的Unity編程。

1.在Hierarchy窗口的“+→Create Empty”中創(chuàng)建空GameObject,命名為“Publisher”。

2.在“Publisher”中追加新腳本“ChatterPublisher”,編輯如下

using UnityEngine;
using Unity.Robotics.ROSTCPConnector;
using MyStringMsg = RosMessageTypes.Hello.MyStringMsg;


public class ChatterPublisher : MonoBehaviour
{
    private ROSConnection ros;


    // 初始化時被調(diào)用
    void Start()
{
        // 向ROS連接注冊Topic話題
        ros = ROSConnection.instance;
        ros.RegisterPublisher< MyStringMsg >("chatter");
    }


    // 每幀更新
    void FixedUpdate()
{
        // 發(fā)送msg信息
        MyStringMsg msg = new MyStringMsg("Hello Unity!");
        ros.Send("chatter", msg);
    }
}

而接收者和發(fā)布者類似,都在Hierarchy窗口的“+→Create Empty”中創(chuàng)建空GameObject,命名為“Subscriber”。

在“Subscriber”中添加新的腳本“ChatterSubscriber”,編輯如下。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Robotics.ROSTCPConnector;
using MyStringMsg = RosMessageTypes.Hello.MyStringMsg;


public class ChatterSubscriber : MonoBehaviour{


    void Start(){
        // 向ROS連接注冊Subscribe
        ROSConnection.instance.Subscribe< MyStringMsg >("chatter", Callback);
    }


    void Callback(MyStringMsg msg){
        Debug.Log(msg.data);
    }
}

同時我們可以在ROS當中訂閱這些信息,運行

roscore
rosparam set ROS_IP 127.0.0.1
rosparam set ROS_TCP_PORT 10000
rosrun ros_tcp_endpoint default_server_endpoint.py
# roslauch ros_tcp_endpoint endpoint.launch tcp_ip:=127.0.0.1 tcp_port:=10000 # 將127.0.0.1

然后寫一個listener.py的訂閱器。

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

    關(guān)注

    88

    文章

    3686

    瀏覽量

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

    關(guān)注

    1

    文章

    286

    瀏覽量

    17637
  • Unity
    +關(guān)注

    關(guān)注

    1

    文章

    128

    瀏覽量

    22384
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何將dxf導入Allegro

    如何將dxf導入Allegro Allegro可以導入AutoCAD產(chǎn)生的DXF文件(支持DXF R10-R14版本)。同時Allegro也可以將設(shè)計文
    發(fā)表于 03-21 18:21 ?1.2w次閱讀
    <b class='flag-5'>如何將</b>dxf<b class='flag-5'>導入</b>Allegro

    如何將solidworks文件導入到labview中

    最近正在使用labview,請問如何將已建模的solidworks文件導入到labview中并顯示
    發(fā)表于 09-09 16:54

    如何將matlab仿真得到的波形導入labview中?

    如何將matlab仿真得到的波形導入labview中?
    發(fā)表于 11-11 15:56

    如何將 DXF 導入 PADS

    attach://173051.pdf 如何將 DXF 導入 PADS
    發(fā)表于 12-11 11:41

    如何將pcan view 中讀到的數(shù)據(jù)導入labview中?

    如何將pcan view 中讀到的數(shù)據(jù)導入labview中?是不是因為labview中沒有裝DAQ_MX呀?求大神給予幫助
    發(fā)表于 11-21 16:06

    如何將cad畫好的圖導入到labview中

    如何將cad畫好的圖導入到labview中
    發(fā)表于 11-06 14:33

    如何將PADS的原理圖清晰的導入到word

    如何將原理圖導入到word我試了試 截圖一點都不清楚,求大神啊
    發(fā)表于 05-17 14:04

    如何將示例項目導入MCUXpresso IDE?

    使用 RT1050 板,并有這個例子。我閱讀了 RT1020 板支持 mc_pmsm 與板 FRDM-MC-LVPMSM 組合的文檔。我正在尋找如何將示例項目導入 MCUXpresso IDE,有人可以幫助我嗎?
    發(fā)表于 03-16 08:15

    如何將FPGA里的數(shù)據(jù)導入dsp板子里去呢?

    如何將FPGA里的數(shù)據(jù)導入dsp板子里去呢?有哪位大神可以指教一下嗎
    發(fā)表于 03-21 14:47

    如何將ECC密鑰導入HSE FW?

    我目前正在嘗試 ECC 公鑰導入 HSE FW。 OpenSSL 已生成擴展名為“.pem”的私鑰和公鑰。 所以我的問題是,如何將這個 pem 文件轉(zhuǎn)換成可用于密鑰導入的文件。
    發(fā)表于 05-04 06:13

    如何將Unity著色器移植到通用渲染管道

    介紹如何將為內(nèi)置管道編寫的Unity著色器移植到URP。本指南還介紹了如何將自定義著色器移植到URP。這是因為這些著色器無法自動移植到URP。在指南的末尾,您將:?熟悉URP?了解如何將
    發(fā)表于 08-02 13:39

    如何將Arm Neon C#內(nèi)部函數(shù)與Unity Burst編譯器一起使用

    本指南解釋了如何將Arm Neon C#內(nèi)部函數(shù)與Unity Burst編譯器一起使用,以提高Unity Android應用程序的性能。 在本指南結(jié)束時,您將了解到: ?單指令多數(shù)據(jù)(SIMD)指令
    發(fā)表于 08-10 07:11

    如何將AD庫轉(zhuǎn)換導入到PADS中使用

    想學習pads,學會如何將AD庫轉(zhuǎn)換導入到PADS中使用,方便自己
    發(fā)表于 12-11 16:46 ?0次下載

    如何將Klayout Cell動態(tài)導入Lumerical Multiphysics

    在本例中,演示了如何將KLayout Library Cell動態(tài)導入 Lumerical 以執(zhí)行設(shè)計掃描和表征。該功能支持動態(tài)導入到Lumerical FDTD、MODE以及Multiphysics的所有工具,包括CHARGE
    的頭像 發(fā)表于 01-22 14:27 ?1162次閱讀
    <b class='flag-5'>如何將</b>Klayout Cell動態(tài)<b class='flag-5'>導入</b>Lumerical Multiphysics

    如何將python文件導入到ROS系統(tǒng)中

    本文通過使用myCobot機械臂進行QR碼視覺追蹤的實踐案例分析,介紹如何將 python 文件導入到 ROS 系統(tǒng)中。
    的頭像 發(fā)表于 02-11 11:08 ?737次閱讀
    <b class='flag-5'>如何將</b>python文件<b class='flag-5'>導入</b>到ROS系統(tǒng)中