自定義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.通過執(zhí)行以下命令將自定義消息文件夾添加到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文章
2980瀏覽量
230817 -
機器人
+關注
關注
211文章
28632瀏覽量
208000 -
imessage
+關注
關注
0文章
13瀏覽量
9576 -
ROS
+關注
關注
1文章
280瀏覽量
17056
發(fā)布評論請先 登錄
相關推薦
評論