衡阳派盒市场营销有限公司

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

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

3天內不再提示

如何在Matlab中自定義Message

麥辣雞腿堡 ? 來源:古月居 ? 作者:敢敢のwings ? 2023-11-15 18:12 ? 次閱讀

自定義Message

當我們的 message 消息比較復雜時,通常要用到自定義的 message 消息,MATLAB 2020b以上的版本自帶了ROS Toolbox Interface for ROS Custom Messages 工具,如果低于這個版本就需要通過鏈接ROS Toolbox Interface for ROS Custom Messages 下載

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

圖片

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

圖片

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

編譯完成后,會在大目錄下生成一個 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 提示,進行下面三個操作后,可以使用addpath將message位置添加到MATLAB路徑,并使用savepath保存這些更改。

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

D:matlabDemoros-messagescustomjartest_pkg-0.0.0.jar

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

addpath('D:matlabDemoros-messagescustommsggen') 
savepath

3.重新啟動MATLAB并驗證您可以使用自定義消息。輸入“rosmsg list”,并確保輸出包含生成的自定義消息類型。

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

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

# 將 javaclasspath.txt 放入 prefdir 目錄,通過 rosmsg list 可查找到消息
rosmsg list
# 但是查看具體消息內容時會報錯
rosmsg show test_pkg/BodyIMU
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • matlab
    +關注

    關注

    185

    文章

    2981

    瀏覽量

    231012
  • 機器人
    +關注

    關注

    211

    文章

    28643

    瀏覽量

    208424
  • imessage
    +關注

    關注

    0

    文章

    13

    瀏覽量

    9581
  • ROS
    ROS
    +關注

    關注

    1

    文章

    280

    瀏覽量

    17099
收藏 人收藏

    評論

    相關推薦

    不能自定義安裝matlab

    用WIN7安裝matlab的時候怎么不能自定義安裝,自定義安裝的時候總是彈出一個對話框
    發表于 03-10 13:11

    新手請教一個關于MATLAB自定義函數的問題?

    我請教大家一個MATLAB的問題,就是關于自定義函數的。假如我的一個程序里面有我自定義的一個函數,以前的做法就是把這個自定義的函數保存一個M文件,然后在程序里面直接調用就是,那這樣一來
    發表于 04-11 08:53

    matlab自定義函數調用的方法

    matlab自定義函數調用的方法 命令文件/函數文件+ 函數文件 - 多
    發表于 11-29 13:14 ?88次下載

    SOPC自定義外設和自定義指令性能分析

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

    1602自定義字符

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

    何在android設備上安裝自定義rom

    完成后,請執行相同的操作,但不要選擇自定義rom,而是選擇間隙。安裝間隙之前需要使用一些自定義rom,您可以從自定義rom的開發人員網頁上了解,如果他們沒有提及任何相關內容,只需在自定義
    的頭像 發表于 11-05 10:48 ?5223次閱讀

    何在LabVIEW實現自定義控件

    本文檔的主要內容詳細介紹的是如何在LabVIEW實現自定義控件。
    發表于 01-14 17:17 ?48次下載
    如<b class='flag-5'>何在</b>LabVIEW<b class='flag-5'>中</b>實現<b class='flag-5'>自定義</b>控件

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

    因為 BD 連線太多,所以想自定義下 interface 簡化連線,定義好了一個 interface,但當準備在自定義 IP 中指定它時,發現我把一個信號的方向搞錯了,應該
    的頭像 發表于 03-30 15:49 ?5013次閱讀
    淺談如<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.
    發表于 04-08 10:48 ?14次下載

    何在Vivado更改自定義的Interface

    因為 BD 連線太多,所以想自定義下 interface 簡化連線,定義好了一個 interface,但當準備在自定義 IP 中指定它時,發現我把一個信號的方向搞錯了,應該
    的頭像 發表于 08-02 09:49 ?2993次閱讀
    如<b class='flag-5'>何在</b>Vivado<b class='flag-5'>中</b>更改<b class='flag-5'>自定義</b>的Interface

    ArkUI如何自定義彈窗(eTS)

    自定義彈窗其實也是比較簡單的,通過CustomDialogController類就可以顯示自定義彈窗。
    的頭像 發表于 08-31 08:24 ?2291次閱讀

    labview自定義控件

    labview自定義精美控件
    發表于 05-15 16:46 ?18次下載

    自定義算子開發

    一個完整的自定義算子應用過程包括注冊算子、算子實現、含自定義算子模型轉換和運行含自定義op模型四個階段。在大多數情況下,您的模型應該可以通過使用hb_mapper工具完成轉換并順利部署到地平線芯片上……
    的頭像 發表于 04-07 16:11 ?2872次閱讀
    <b class='flag-5'>自定義</b>算子開發

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

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

    Python自定義輸出格式

    自定義輸出格式 我們可以在之前添加的輸出格式添加其他的格式內容 import coloredlogs import logging def func_name (): # 增加了 modules
    的頭像 發表于 10-07 11:49 ?830次閱讀
    Python<b class='flag-5'>自定義</b>輸出格式
    百家乐官网筹码防伪套装| 威尼斯人娱乐网网上百家乐的玩法技巧和规则| 澳门百家乐官网赌技巧| 博彩乐百家乐官网平台| 德州扑克高手| 大发888娱乐城娱乐城| 百家乐长龙技巧| 百家乐庄家必赢诀窍| 做生意仓库和办公桌在家里是不是讲风水| 破解百家乐官网游戏机| 网络百家乐官网免费试玩| 星河百家乐官网现金网| 百家乐路单统| 百家乐图形的秘密破解| 十三张百家乐的玩法技巧和规则 | 百家乐平台| 威尼斯人娱乐城赌博| 威尼斯人娱乐城排名| 全讯网1| 老虎机规律| 大发888娱乐场下载co| 大发888游戏| 足球直播| 高淳县| 订做百家乐官网桌子| 棋牌乐| 鑫鼎娱乐| 鸡泽县| 百家乐官网平注法口诀| 打百家乐官网最好办法| 百家乐官网网上娱乐场开户注册| 兰桂坊百家乐官网的玩法技巧和规则| 悍马百家乐官网的玩法技巧和规则| 百家乐官网筹码币套装| k7百家乐最小投注| 利博百家乐破解| 真人游戏网| 利博娱乐城开户| 百家乐官网最佳下注方法| 如何看百家乐官网的玩法技巧和规则 | 百家乐官网学院教学视频|