主要内容

rosgenmsg

从活性氧生成自定义消息定义

描述

rosgenmsg (folderpath)ROS生成自定义消息通过阅读ROS自定义消息,服务定义和操作定义指定的文件夹路径。函数必须包含一个或多个ROS包文件夹的文件夹。这些包包含的消息定义.msg文件,服务定义.srv定义文件和行动.action文件。

在生成自定义消息之后,您可以发送和接收在MATLAB®像所有其他支持信息。金宝app您可以创建这些消息使用rosmessage通过输入或视图的列表信息rosmsg列表在MATLAB命令窗口。

请注意

  • 为ROS生成自定义消息,必须构建ROS包。这个过程需要使用CMake软件和一个c++编译器为你的平台。有关更多信息,请参见ROS工具箱系统需求

  • 与MATLAB的每一个新版本,你必须重新生成活性氧的自定义消息定义。

例子

rosgenmsg (folderpath,名称=值)使用一个或多个名称参数指定附加选项。

例子

全部折叠

您定义的自定义消息的消息。使用自定义消息扩展目前的消息类型支持ROS。金宝app如果你是发送和接收消息类型的支持,您不需要使用自定义消息。金宝app支持的消息类型列表,进入金宝approsmsg列表在MATLAB命令窗口。关于支持ROS消息的更多信息,请参阅金宝app处理基本的ROS消息

如果这是你第一次与ROS自定义消息,明白了ROS工具箱系统需求

活性氧ROS包中指定自定义消息包含一个文件夹命名的文件夹味精。的味精文件夹包含所有您的自定义消息类型定义。例如,simple_msgs包的rosCustomMessages文件夹,这个文件夹和文件结构。

包包含自定义消息类型Num.msg。MATLAB使用这些文件来生成所需的文件使用自定义消息包含在包中。

在本例中,您创建ROS定制消息在MATLAB和压缩在一个可共享的ZIP归档。你必须有一个包含所需的ROS包味精文件。

在准备您的自定义消息包文件夹之后,您指定父文件夹的路径和电话rosgenmsg指定的路径。

打开一个新的MATLAB会话和创建一个自定义消息包文件夹在本地文件夹。选择一个文件夹路径短,当你生成自定义消息在Windows机器上,以避免限制的字符数在文件夹路径中。例如,

genDir = fullfile (“C: /测试/ rosCustomMessages”)

genDir = fullfile (pwd,“rosCustomMessages”);packagePath = fullfile (genDir,“simple_msgs”);mkdir (packagePath)

创建一个文件夹命名味精在自定义消息包文件夹。

mkdir (packagePath“味精”)

创建一个文件命名.msg味精文件夹中。

messageDefinition = {“int64 num”};文件标识= fopen (fullfile (packagePath“味精”,“Num.msg”),' w ');流(文件标识,“% s \ n”,messageDefinition {:});文件关闭(文件标识);

创建一个文件夹命名深水救生艇在自定义消息包文件夹。

mkdir (packagePath“电脑”)

创建一个文件命名.srv深水救生艇文件夹中。

serviceDefinition = {“int64““int64 b”“- - -”“int64总和”};文件标识= fopen (fullfile (packagePath“电脑”,“AddTwoInts.srv”),' w ');流(文件标识,“% s \ n”,serviceDefinition {:});文件关闭(文件标识);

创建一个文件夹命名行动在自定义消息包文件夹。

mkdir (packagePath“行动”)

创建一个文件命名.action行动文件夹中。

actionDefinition = {“int64目标”“- - -”“int64结果”“- - -”“int64反馈”};文件标识= fopen (fullfile (packagePath“行动”,“Test.action”),' w ');流(文件标识,“% s \ n”,actionDefinition {:});文件关闭(文件标识);

从活性氧生成自定义消息定义.msg,.srv,.action文件。使用CreateShareableFile名称-值参数创建一个可共享的ZIP归档文件生成的自定义消息。

信息如何使用使用这个ZIP归档文件在另一台机器上注册自定义消息,明白了rosRegisterMessages

rosgenmsg (genDir CreateShareableFile = true)
识别消息文件在文件夹C: /测试/ rosCustomMessages .Done。创建一个虚拟environment.Done Python。添加虚拟environment.Done要求Python包。复制包括folders.Done。复制libraries.Done。验证消息文件在文件夹C: /测试/ rosCustomMessages .Done。[1/1]生成MATLAB接口自定义消息包……完成了。柔荑花序建立文件夹中运行的“C: /测试/ rosCustomMessages / matlab_msg_gen_ros1 / win64”。建立在进步。 This may take several minutes... Build succeeded.build log Generating zip file in the folder 'C:/test/rosCustomMessages'.Done. To use the custom messages, follow these steps: 1. Add the custom message folder to the MATLAB path by executing: addpath('C:\test\rosCustomMessages\matlab_msg_gen_ros1\win64\install\m') savepath 2. Refresh all message class definitions, which requires clearing the workspace, by executing: clear classes rehash toolboxcache 3. Verify that you can use the custom messages. Enter "rosmsg list" and ensure that the output contains the generated custom message types.

通过输入验证创建新的自定义消息rosmsg列表

输入参数

全部折叠

路径ROS消息包,指定为一个字符串标量或特征向量。父文件夹必须包含包文件夹。这些文件夹包含一个文件夹命名/味精.msg为消息定义文件,文件夹命名如果.srv为服务定义文件,文件夹命名/行动.action文件操作的定义。

例子:“C: /测试/ rosCustomMessages”

数据类型:字符|字符串

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:BuildConfiguration = ' fasterruns '

构建配置,指定为一个值。

  • “fasterbuilds”——构建消息库编译器优化,缩短构建时间。这是默认配置。

  • “fasterruns”——构建消息库编译器优化更快地执行。

例子:rosgenmsg (C: /测试/ rosCustomMessages, BuildConfiguration =“fasterruns”)

数据类型:字符|字符串

选项来创建一个可共享的ZIP归档文件,指定为一个数字或逻辑1(真正的)0(假)

当你指定这个参数1(真正的),该函数创建一个ZIP归档压缩中的安装文件夹matlab_msg_gen_ros1文件夹中。您可以使用这个文件与另一个机器上运行相同的平台,使用相同的MATLAB版本。

当你指定这个参数0(假),该函数并不创建一个ZIP归档。

例子:rosgenmsg (C: /测试/ rosCustomMessages, CreateShareableFile = true)

数据类型:逻辑

限制

MATLAB编译器™软件不支持ROS和自定义消息金宝approsgenmsg函数。

版本历史

介绍了R2019b