主要内容

从ROS包创建自定义消息

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

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

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

在MATLAB中设置自定义消息:

  • 在新会话中打开MATLAB

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

    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 = rosessage (B /独立的
    custommsg = ROS带有属性的独立消息:MessageType: 'B/Standalone' IntProperty: 0 stringproperty: "使用showdetails显示消息的内容

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

custommsg = rosmessage('B/Standalone');custommsg2 = rosmessage('A/DependsOnB');

在MATLAB命令窗口和工作空间中查看Custommsg和custommsg2。

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

Simulink模型中的空白消息块,配置为创建自定义消金宝app息类型的空白消息。

另请参阅

|

相关的话题