自定义消息是用户定义的消息,可用于扩展ROS 2中当前支持的消息类型集。如果发送和接收支持的消息类型,则无需使用自定义消息。若要查看支持的消息类型列表,请致电万博1manbetxros2消息列表
在MATLAB®命令窗口中。有关支持的ROS 2消息的更多信息,请参阅万博1manbetx使用基本ROS 2消息.
如果这是您第一次使用ROS 2自定义消息,请检查ROS系统要求.
ROS 2自定义消息在包含味精
目录这个味精
文件夹包含所有自定义邮件类型定义。例如,包示例_b_msgs
,在风俗
文件夹,具有以下文件夹和文件结构。
该包包含一种自定义消息类型,Standalone.msg
.MATLAB使用这些文件生成使用包中包含的自定义消息所需的文件。有关消息命名约定的详细信息,请参阅ROS 2接口定义.
在本例中,您将完成在MATLAB®中创建ROS 2自定义消息的过程。您必须拥有包含所需消息的ROS 2包味精
文件
确保自定义邮件包正确后,记下文件夹路径位置,然后调用ros2genmsg
下面的示例提供了三条消息示例\u包\u a,
示例\u包\u b
和示例\u包\u c
有依赖关系的。此示例还说明,您可以使用包含多条消息的文件夹,并同时生成所有消息。
要在MATLAB中设置自定义邮件,请在新会话中打开MATLAB。将自定义邮件文件夹放置在某个位置,并记下文件夹路径。在本例中,自定义邮件接口文件夹位于当前目录中。如果要在单独位置创建自定义邮件包,请提供该文件夹的适当路径t自定义消息包。
folderPath=fullfile(pwd,“定制”);复制文件(“示例*MSG”,folderPath);
指定自定义邮件文件的文件夹路径并调用ros2genmsg
为MATLAB创建自定义消息。
ros2genmsg(folderPath)
识别文件夹“U:/Documents/MATLAB/Examples/ros-ex44405863/custom”中的消息文件。完成。正在验证文件夹“U:/Documents/MATLAB/Examples/ros-ex44405863/custom”中的消息文件。完成。[3/3]为自定义消息包生成MATLAB接口。。。完成。在文件夹“U:/Documents/MATLAB/Examples/ros-ex44405863/custom/MATLAB\U msg\U gen/win64”中运行colcon构建。在建工程。这可能需要几分钟。。。生成成功。生成日志
呼叫ros2消息列表
验证新自定义消息的创建。
您现在可以将上面创建的自定义消息用作标准消息。有关发送和接收消息的更多信息,请参阅与ROS 2发布者和订阅者交换数据.
创建要使用的发布服务器示例\u包\u b/独立
消息
node=ros2node(“/node_1”); pub=ros2publisher(节点,“/example\u主题”,“示例_b_msgs/独立”);
在同一主题上创建订阅服务器。
sub=ros2subscriber(节点,“/example\u主题”);
创建一条消息并发送该消息。
自定义消息=ros2message(“示例_b_msgs/独立”); 自定义_msg.int_属性=uint32(12);自定义\u msg.string\u属性='这是ROS 2自定义消息示例'; 发送(发布、自定义消息);暂停(3)%请等待几秒钟,以便消息到达
使用最新消息
字段以了解订户最近收到的消息。
最新消息
ans=带字段的结构:int_属性:12字符串_属性:“这是ROS 2自定义消息示例”
删除创建的ROS对象。
清楚的节点酒吧附属的