主要内容

得到参数

从ROS参数服务器获取值

  • 库:
  • ROS工具箱/ ROS

  • 获取参数块

描述

得到参数block输出指定ROS参数的值。该块使用Simulink的ROS节点万博1manbetx®模型连接到ROS网络。该节点在运行模型时创建,在模型终止时删除。如果模型没有节点,则块创建一个。

在每次采样命中时,块检查ROS参数服务器以获得指定的ROS参数并输出其值。

港口

输出

全部展开

ROS网络的参数值。该值取决于数据类型参数。

ROS参数的状态,指定为以下之一:

  • 0 -成功检索ROS参数。检索的值输出到价值端口。

  • 1 -没有找到指定名称的ROS参数。如果没有已知的价值,价值设置为最后接收的值还是初始值

  • 2 -检索到ROS参数,但其类型与指定的不同数据类型.如果没有已知值,则将value设置为最近接收的值或为初始值

  • 3 -对于字符串参数,传入的字符串已根据指定的长度被截断。

字符串参数的长度,以整数形式返回。这个长度是元素的个数uint8数组或要强制转换的字符串中的字符数uint8

请注意

当从ROS网络获取字符串参数时,由于不兼容的字符类型,ASCII值13将返回一个错误。

依赖关系

若要启用此端口,请设置数据类型uint8[](字符串)

参数

全部展开

将参数名称指定为下列之一的源:

  • 从ROS网络选择——使用选择选择参数名称。的数据类型参数自动设置。您必须连接到ROS网络。

  • 指定你自己的—在中输入参数名称名字并指定其数据类型数据类型.必须精确匹配参数名。

要从ROS网络获取的参数名称,指定为字符串。当设置为从ROS网络选择,使用选择选择已存在的参数。必须连接到ROS网络才能获得参数列表。否则,请指定参数和数据类型。

参数名称字符串必须遵循ROS图名称规则。有效名称具有以下特征:

  • 第一个字符是alpha字符([a-z| a-z])、波浪号(~)或正斜杠(/)。

  • 后面的字符为字母数字([0-9|a-z| a-z])、下划线(_)或正斜杠(/)。

参数的数据类型,以字符串形式指定。的uint8[](字符串)使最大长度参数。

请注意

uint8[](字符串)data type是一个ASCII值数组,对应于字符串中的字符。获取字符串参数时,可以创建MATLAB函数(万博1manbetx模型)块将字符串与所需参数值进行比较。有关更多信息,请参见Simulink中的ROS参数万博1manbetx

数据类型:|int32|布尔|uint8

的最大长度uint8数组,指定为标量。如果参数字符串的长度大于最大长度,错误代码输出设置为3。

依赖关系

若要启用此端口,请设置数据类型uint8[](字符串)

当发生错误且没有从参数服务器接收到有效值时输出的默认参数值。数据类型必须与指定的匹配数据类型

输出之间的间隔,指定为标量。此默认值表示块输出永不改变。使用此值可以通过消除重新计算块输出的需要来加快模拟和代码生成。否则,块在的每个间隔输出一个新的空白消息样品时间

有关更多信息,请参见指定采样时间(万博1manbetx模型)

如果启用错误码输出,选中该参数。清除此参数时,错误代码输出端口从块中移除。状态选项包括:

  • 0 -成功检索ROS参数。检索的值输出到价值端口。

  • 1 -没有找到指定名称的ROS参数。如果没有已知的价值,价值设置为最后接收的值还是初始值

  • 2 -检索到ROS参数,但其类型与指定的不同数据类型.如果没有已知值,则将value设置为最近接收的值或为初始值

  • 3 -对于字符串参数,传入的字符串已根据指定的长度被截断。

扩展功能

C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。万博1manbetx

版本历史

R2019b引入