自定义消息是用户定义的消息,您可以使用扩展的消息类型目前支持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对象。
清晰的节点酒吧子