主要内容

创建自定义ROS包消息

在本例中,您将了解在MATLAB中创建ROS自定义消息的过程®.您必须有一个包含所需的ROS包味精深水救生艇,行动文件。正确的文件内容和文件夹结构在自定义消息内容.这个文件夹结构遵循标准ROS包约定。因此,如果您有任何现有的包,它们应该匹配这个结构。

要确保您有适当的第三方软件,请参见ROS系统需求

在确保您的自定义消息包正确之后,请注意文件夹路径位置。然后,调用rosgenmsg使用指定的路径,并按照命令窗口中输出的步骤执行。下面的例子有三条消息,一个B,C它们彼此依赖。这个示例还演示了可以使用包含多个消息的文件夹并同时生成所有消息。

在MATLAB中设置自定义消息:

  • 在新的会话中打开MATLAB

  • 将您的自定义邮件放在某个位置并注意文件夹路径。我们建议您将所有自定义消息定义放在单个包文件夹中。

    folderpath =“c: \ MATLAB \ custom_msgs \包”
  • (可选)如果您有一个现有的柳絮工作区(catkin_ws),您可以指定其路径src文件夹。但是,这个工作区可能包含大量的包,并且将为所有包运行消息生成。

    folderpath = fullfile (“catkin_ws”“src”);
  • 指定包含自定义消息包的文件夹路径并调用rosgenmsg函数为MATLAB创建自定义消息。

    rosgenmsg (“c: \ MATLAB \ custom_msgs”
  • 然后,按照的输出步骤执行rosgenmsg

  1. 通过运行将给定的文件添加到MATLAB路径中目录savepath在命令窗口中。

    目录“C: \ MATLAB \ custom_msgs \ \ matlab_msg_gen_ros1 \ msggen包') savepath
  2. 刷新所有消息类定义,这需要清除工作区:

    明确的类
    重复toolboxcache

  3. 然后,您可以像使用支持的任何其他ROS消息一样使用自定义消息金宝appROS工具箱.通过调用来验证这些更改rosmsg列表并搜索您的消息类型,或使用rosmessage创建新消息。

    custommsg = rosmessage (B /独立的
    custommsg = ROS带有属性的独立消息:MessageType: 'B/Standalone' IntProperty: 0 stringproperty: "使用showdetails显示消息的内容

最后的验证表明您已经正确地执行了自定义消息生成过程。现在,您可以使用MATLAB和Simulink在ROS网络上发送和接收这些消息金宝app®.新的自定义消息可以像普通消息类型一样使用。您应该看到它们创建了特定于其消息类型的对象,并显示在工作区中。

custommsg = rosmessage (B /独立的);custommsg2 = rosmessage(“A / DependsOnB”);

定制消息也可以与ROS Simulink块一起使用。金宝app

另请参阅

|

相关的话题