自定义消息是用户定义的消息,可用于扩展ROS 2中当前支持的消息类型集。如果发送和接收支持的消息类型,则无需使用自定义消息。若要查看支持的消息类型列表,请致电金宝appros2消息列表
在MATLAB®命令窗口中。有关支持的ROS 2消息的更多信息,请参阅金宝app使用基本ROS 2消息.
如果这是您第一次使用ROS 2自定义消息,请检查ROS系统要求.
ROS 2自定义消息在包含味精
目录这个味精
文件夹包含所有自定义邮件类型定义。例如,包example_b_msgs
内,习俗
文件夹,具有以下文件夹和文件结构。
该包包含一种自定义消息类型,Standalone.msg
.MATLAB使用这些文件生成使用包中包含的自定义消息所需的文件。有关消息命名约定的详细信息,请参阅ros2接口定义.
在本例中,您将了解在MATLAB®中创建ROS 2自定义消息的过程。您必须有一个包含所需的ros2包味精
文件。
在确保您的自定义消息包是正确的之后,注意文件夹路径位置,然后调用ros2genmsg
下面的示例提供了三条消息example_package_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”);酒吧= ros2publisher(节点,“/example\u主题”,“示例_b_msgs/独立”);
在同一主题上创建订阅服务器。
sub=ros2subscriber(节点,“/example\u主题”);
创建一条消息并发送该消息。
自定义消息=ros2message(“示例_b_msgs/独立”); 自定义_msg.int_属性=uint32(12);自定义\u msg.string\u属性='这是ROS 2自定义消息示例'; 发送(发布、自定义消息);暂停(3)允许几秒钟消息到达
使用最新消息
字段以了解订户最近收到的消息。
sub.LatestMessage
ans=带字段的结构:int_property: 12 string_property: 'This is ROS 2 custom message example'
删除已创建的ROS对象。
清晰的节点酒吧附属的