主要内容

ROS 2自定义消息的支持金宝app

自定义消息是用户定义的消息,您可以使用扩展的消息类型目前支持ROS 2。金宝app如果你是发送和接收消息类型的支持,您不需要使用自定义消息。金宝app看到一个支持的消息类型列表,电话金宝appros2味精列表在MATLAB®命令窗口。关于支持ROS 2消息的更多信息,请参阅金宝app处理基本的ROS 2消息

如果如果你第一次使用ROS 2自定义消息,检查ROS系统需求

自定义消息内容

活性氧ROS中指定自定义消息2包包含一个文件夹味精目录中。的味精文件夹包含所有您的自定义消息类型定义。例如,包example_b_msgs内,自定义文件夹中,有下面的文件夹和文件结构。

包包含一个自定义的消息类型,Standalone.msg。MATLAB使用这些文件来生成所需的文件使用自定义消息包含在包中。有关消息命名约定的更多信息,请参阅ROS 2接口定义

在本例中,您通过创建ROS的过程2自定义消息在MATLAB®。你必须有一个包含所需的ROS 2包味精文件。

确保您的自定义消息包后是正确的,注意文件夹路径位置,然后,电话ros2genmsg指定的路径。下面的例子提供了三个消息example_package_a,example_package_b,example_package_c有依赖性。这个例子还说明,您可以使用一个文件夹包含多个消息和生成它们都在同一时间。

在MATLAB建立自定义消息,在一个新的会话打开MATLAB。把你的自定义消息文件夹的文件夹路径的位置和报告中。在这个例子中,自定义消息接口文件夹出现在当前目录。如果你创建自定义消息包在一个单独的位置,提供适当的路径文件夹包含自定义消息包。

folderPath = fullfile (pwd,“自定义”);拷贝文件(“example_ * _msg”,folderPath);

指定自定义消息文件的文件夹路径和电话ros2genmsg为MATLAB创建自定义消息。

ros2genmsg (folderPath)
识别消息文件在文件夹“U: /文件/ MATLAB / / ros-ex44405863 /自定义的例子.Done。验证消息文件在文件夹“U: /文件/ MATLAB / / ros-ex44405863 /自定义的例子.Done。(3/3)生成MATLAB接口自定义消息包……完成了。运行colcon建立文件夹的U: /文件/ MATLAB /例子/ ros-ex44405863 /定制/ matlab_msg_gen / win64’。建立在进步。这可能需要几分钟…构建成功。建立日志

调用ros2味精列表验证创建新的自定义消息。

您现在可以使用上面创建的自定义消息作为标准的消息。发送和接收消息的更多信息,请参阅与ROS 2交换数据发布者和订阅者

创建一个出版商使用example_package_b /独立消息。

节点= ros2node (“/ node_1”);酒吧= ros2publisher(节点,“/ example_topic”,“example_b_msgs /独立”);

创建一个用户相同的主题。

子= ros2subscriber(节点,“/ example_topic”);

创建一个消息并发送消息。

custom_msg = ros2message (“example_b_msgs /独立”);custom_msg.int_property = uint32 (12);custom_msg.string_property =“这是ROS 2自定义消息的示例;发送(酒吧,custom_msg);暂停(3)%允许几秒钟到达的消息

使用LatestMessage实地了解最近的用户收到的消息。

sub.LatestMessage
ans =结构体字段:int_property: 12 string_property:“这是ROS 2自定义消息的示例

删除创建的ROS对象。

清晰的节点酒吧