MATLAB与ROS通信:使用自定义ROS消息custom ros message

  1. 安装matlab三方支持包roscustommsg
    在这里插入图片描述

  2. 使用管理员模式运行matlab

  3. 如果自定义消息类型为util/sparkingspots。
    在工作目录下创建名为util的文件夹
    在util内创建名为msg的文件夹
    将.msg文件放置到msg文件夹内
    在这里插入图片描述

  4. 在util文件夹内创建名为package.xml的文件。内容如下
    注意!!!!!!!!
    util必须和文件夹名字util一致

<?xml version="1.0"?>
<package>
  <name>util</name>
  <version>1.0</version>

  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>message_generation</build_depend>
 
  <build_export_depend>roscpp</build_export_depend>
  <build_export_depend>std_msgs</build_export_depend>
 
  <exec_depend>roscpp</exec_depend>
  <exec_depend>std_msgs</exec_depend>
  <exec_depend>message_runtime</exec_depend>

</package>



  1. 返回到工作空间,运行命令
rosgenmsg('c:\MATLAB\custom_msgs')

在命令行窗口中出现如下内容

Checking subfolder "util" for custom messages.
 
Building custom message files for the following packages:
   util
 
 
Generating MATLAB classes for message packages in c:\MATLAB\custom_msgs\matlab_gen\jar.

Loading file util-1.0.jar.
Generating MATLAB code for util/ParkingSpot message type.

To use the custom messages, follow these steps:
 
1. Edit javaclasspath.txt, add the following file locations as new lines, and save the file:
 
c:\MATLAB\custom_msgs\matlab_gen\jar\util-1.0.jar
 
2. Add the custom message folder to the MATLAB path by executing:
 
addpath('c:\MATLAB\custom_msgs\matlab_gen\msggen')
savepath
 
3. Restart MATLAB and verify that you can use the custom messages. 
   Type "rosmsg list" and ensure that the output contains the generated
   custom message types.

如果成功,文件目录下会自动生成相关文件
在这里插入图片描述

  1. 按照matlab自动生成的说明文件执行,完成自定义msg文件的生成和调用
    在这里插入图片描述

PS:如果报错,删除matlab_gen文件夹后重试。清空javaclasspath.txt后重试。如果msg文件包含Header生成有可能会报错(一般没问题)

  1. 打开SIMULINK,如图设置,使用自定义ROS MASSAGE文件
    在这里插入图片描述
    参考文献https://ww2.mathworks.cn/help/ros/ug/create-custom-messages-from-ros-package.html

参考文献https://ww2.mathworks.cn/help/releases/R2020a/ros/ug/create-custom-messages-from-ros-package.html?s_tid=doc_srchtitle

posted @ 2022-01-14 11:43  你看不见我的blog  阅读(241)  评论(0编辑  收藏  举报  来源