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

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)不再提示

如何在Matlab中自定義Message

麥辣雞腿堡 ? 來(lái)源:古月居 ? 作者:敢敢のwings ? 2023-11-15 18:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

自定義Message

當(dāng)我們的 message 消息比較復(fù)雜時(shí),通常要用到自定義的 message 消息,MATLAB 2020b以上的版本自帶了ROS Toolbox Interface for ROS Custom Messages 工具,如果低于這個(gè)版本就需要通過(guò)鏈接ROS Toolbox Interface for ROS Custom Messages 下載。

自定義 Message 編譯的目錄結(jié)構(gòu),必須是特定的,即有一個(gè)文件夾下放 ROS package,該文件夾可以放多個(gè) ROS 包,然后在某個(gè)包下放其 ROS message,ROS message 放置該包目錄的msg/ 下,服務(wù)文件放于該包目錄的 srv/ 目錄下,這里就是基本的ROS目錄,直接看一下目錄結(jié)構(gòu):

圖片

然后MATLAB 下采用 rosgenmsg 命令來(lái)編譯msg信息,這是我們的路徑。

圖片

% 注意,該目錄是到大的目錄,而不是在包的目錄
% folderpath = "./all_package"
folderPath = fullfile(pwd,"custom");
copyfile("example_*_msgs",folderPath);
rosgenmsg(folderpath)
% ros2genmsg(folderPath) %ros2

編譯完成后,會(huì)在大目錄下生成一個(gè) custom文件夾,

Identifying message files in folder ‘C:/Work/custom’.Done.
Removing previous version of Python virtual environment.Done.
Creating a Python virtual environment.Done.
Adding required Python packages to virtual environment.Done.
Copying include folders.Done.
Copying libraries.Done.
Validating message files in folder ‘C:/Work/custom’.Done.
[3/3] Generating MATLAB interfaces for custom message packages… Done.
Running colcon build in folder ‘C:/Work/custom/matlab_msg_gen/win64’.
Build in progress. This may take several minutes…
Build succeeded.build log
ros2 msg list
  • example_a_msgs/DependsOnB
  • example_b_msgs/Standalone
  • example_c_msgs/DependsOnB

matlab 提示,進(jìn)行下面三個(gè)操作后,可以使用addpath將message位置添加到MATLAB路徑,并使用savepath保存這些更改。

1.編輯javaclasspath.txt,添加以下文件位置作為新行,并保存文件:

D:matlabDemoros-messagescustomjartest_pkg-0.0.0.jar

2.通過(guò)執(zhí)行以下命令將自定義消息文件夾添加到MATLAB路徑:

addpath('D:matlabDemoros-messagescustommsggen') 
savepath

3.重新啟動(dòng)MATLAB并驗(yàn)證您可以使用自定義消息。輸入“rosmsg list”,并確保輸出包含生成的自定義消息類(lèi)型。

注意:javaclasspath.txt文件放置于 prefdir 目錄,可以在matlab 命令行中輸入prefdir命令進(jìn)行查看。

特別特別注意:實(shí)踐中將javaclasspath.txt放入 prefdir 目錄中,通過(guò)查相關(guān)問(wèn)題,則可以從快捷方式啟動(dòng);如果將javaclasspath.txt放入bin/目錄下,也就是matlab 的啟動(dòng)目錄后,重啟matlab 之后,可以查看 msg,不能從快捷方式啟動(dòng),要從bin/目錄下的matlab.exe啟動(dòng),所以,還是把該文件放到 prefdir 目錄下最好。

# 將 javaclasspath.txt 放入 prefdir 目錄,通過(guò) rosmsg list 可查找到消息
rosmsg list
# 但是查看具體消息內(nèi)容時(shí)會(huì)報(bào)錯(cuò)
rosmsg show test_pkg/BodyIMU
聲明:本文內(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)投訴
  • matlab
    +關(guān)注

    關(guān)注

    189

    文章

    3001

    瀏覽量

    234186
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    213

    文章

    29748

    瀏覽量

    212995
  • imessage
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

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

    關(guān)注

    1

    文章

    288

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    不能自定義安裝matlab

    用WIN7安裝matlab的時(shí)候怎么不能自定義安裝,自定義安裝的時(shí)候總是彈出一個(gè)對(duì)話(huà)框
    發(fā)表于 03-10 13:11

    新手請(qǐng)教一個(gè)關(guān)于MATLAB自定義函數(shù)的問(wèn)題?

    我請(qǐng)教大家一個(gè)MATLAB的問(wèn)題,就是關(guān)于自定義函數(shù)的。假如我的一個(gè)程序里面有我自定義的一個(gè)函數(shù),以前的做法就是把這個(gè)自定義的函數(shù)保存一個(gè)M文件,然后在程序里面直接調(diào)用就是,那這樣一來(lái)
    發(fā)表于 04-11 08:53

    matlab自定義函數(shù)調(diào)用的方法

    matlab自定義函數(shù)調(diào)用的方法 命令文件/函數(shù)文件+ 函數(shù)文件 - 多
    發(fā)表于 11-29 13:14 ?88次下載

    SOPC自定義外設(shè)和自定義指令性能分析

    SOPC自定義外設(shè)和自定義指令性能分析 NiosII是一個(gè)建立在FPGA上的嵌入式軟核處理器,靈活性很強(qiáng)。作為體現(xiàn)NiosII靈活性精髓的兩個(gè)最主要方面,自
    發(fā)表于 03-29 15:12 ?1717次閱讀
    SOPC<b class='flag-5'>中</b><b class='flag-5'>自定義</b>外設(shè)和<b class='flag-5'>自定義</b>指令性能分析

    1602自定義字符

    1602液晶能夠顯示自定義字符,能夠根據(jù)讀者的具體情況顯示自定義字符。
    發(fā)表于 01-20 15:43 ?1次下載

    何在android設(shè)備上安裝自定義rom

    完成后,請(qǐng)執(zhí)行相同的操作,但不要選擇自定義rom,而是選擇間隙。安裝間隙之前需要使用一些自定義rom,您可以從自定義rom的開(kāi)發(fā)人員網(wǎng)頁(yè)上了解,如果他們沒(méi)有提及任何相關(guān)內(nèi)容,只需在自定義
    的頭像 發(fā)表于 11-05 10:48 ?5595次閱讀

    何在LabVIEW實(shí)現(xiàn)自定義控件

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何在LabVIEW實(shí)現(xiàn)自定義控件。
    發(fā)表于 01-14 17:17 ?49次下載
    如<b class='flag-5'>何在</b>LabVIEW<b class='flag-5'>中</b>實(shí)現(xiàn)<b class='flag-5'>自定義</b>控件

    淺談如何在Vivado更改自定義的Interface方法

    因?yàn)?BD 連線(xiàn)太多,所以想自定義下 interface 簡(jiǎn)化連線(xiàn),定義好了一個(gè) interface,但當(dāng)準(zhǔn)備在自定義 IP 中指定它時(shí),發(fā)現(xiàn)我把一個(gè)信號(hào)的方向搞錯(cuò)了,應(yīng)該
    的頭像 發(fā)表于 03-30 15:49 ?5331次閱讀
    淺談如<b class='flag-5'>何在</b>Vivado<b class='flag-5'>中</b>更改<b class='flag-5'>自定義</b>的Interface方法

    自定義視圖組件教程案例

    自定義組件 1.自定義組件-particles(粒子效果) 2.自定義組件- pulse(脈沖button效果) 3.自定義組件-progress(progress效果) 4.
    發(fā)表于 04-08 10:48 ?15次下載

    何在Vivado更改自定義的Interface

    因?yàn)?BD 連線(xiàn)太多,所以想自定義下 interface 簡(jiǎn)化連線(xiàn),定義好了一個(gè) interface,但當(dāng)準(zhǔn)備在自定義 IP 中指定它時(shí),發(fā)現(xiàn)我把一個(gè)信號(hào)的方向搞錯(cuò)了,應(yīng)該
    的頭像 發(fā)表于 08-02 09:49 ?3452次閱讀
    如<b class='flag-5'>何在</b>Vivado<b class='flag-5'>中</b>更改<b class='flag-5'>自定義</b>的Interface

    ArkUI如何自定義彈窗(eTS)

    自定義彈窗其實(shí)也是比較簡(jiǎn)單的,通過(guò)CustomDialogController類(lèi)就可以顯示自定義彈窗。
    的頭像 發(fā)表于 08-31 08:24 ?2691次閱讀

    labview自定義控件

    labview自定義精美控件
    發(fā)表于 05-15 16:46 ?19次下載

    自定義算子開(kāi)發(fā)

    一個(gè)完整的自定義算子應(yīng)用過(guò)程包括注冊(cè)算子、算子實(shí)現(xiàn)、含自定義算子模型轉(zhuǎn)換和運(yùn)行含自定義op模型四個(gè)階段。在大多數(shù)情況下,您的模型應(yīng)該可以通過(guò)使用hb_mapper工具完成轉(zhuǎn)換并順利部署到地平線(xiàn)芯片上……
    的頭像 發(fā)表于 04-07 16:11 ?3390次閱讀
    <b class='flag-5'>自定義</b>算子開(kāi)發(fā)

    labview超快自定義控件制作和普通自定義控件制作

    labview超快自定義控件制作和普通自定義控件制作
    發(fā)表于 08-21 10:32 ?14次下載

    Python自定義輸出格式

    自定義輸出格式 我們可以在之前添加的輸出格式添加其他的格式內(nèi)容 import coloredlogs import logging def func_name (): # 增加了 modules
    的頭像 發(fā)表于 10-07 11:49 ?1046次閱讀
    Python<b class='flag-5'>自定義</b>輸出格式