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

  1. 安装matlab三方支持包roscustommsg
    MATLAB与ROS通信:使用自定义ROS消息custom ros message_第1张图片

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

  3. 如果自定义消息类型为util/sparkingspots。
    在工作目录下创建名为util的文件夹
    在util内创建名为msg的文件夹
    将.msg文件放置到msg文件夹内
    MATLAB与ROS通信:使用自定义ROS消息custom ros message_第2张图片

  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.

如果成功,文件目录下会自动生成相关文件
MATLAB与ROS通信:使用自定义ROS消息custom ros message_第3张图片

  1. 按照matlab自动生成的说明文件执行,完成自定义msg文件的生成和调用
    MATLAB与ROS通信:使用自定义ROS消息custom ros message_第4张图片

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

  1. 打开SIMULINK,如图设置,使用自定义ROS MASSAGE文件
    MATLAB与ROS通信:使用自定义ROS消息custom ros message_第5张图片
    参考文献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

你可能感兴趣的:(软件,仿真及平台,matlab,自动驾驶,开发语言)