主要内容

ParameterTree

接入ROS参数服务器

描述

一个ParameterTreeobject与ROS参数服务器通信。ROS参数服务器可以存储字符串、整数、双精度、布尔值和单元格数组。这些参数可以通过ROS网络进行全局访问。您可以使用这些参数来存储静态数据,例如配置参数。

直接设置、获取或访问ROS参数,无需创建ParameterTree对象,看到rosparam

支持如下的ROS数据类型作为参数值。金宝app对于每个ROS数据类型,相应的MATLAB®还列出了数据类型。

ROS数据类型 MATLAB数据类型
32位整数 int32
布尔 逻辑
字符串 特征向量(字符
列表 单元阵列(细胞
字典 结构(结构体

创建

描述

ptree= rosparam创建一个参数树对象,ptree.后ptree,与参数服务器的连接将保持持久,直到对象被删除或ROS主服务器变得不可用。

例子

ptree = ros。ParameterTree (节点返回一个ParameterTree对象,用于与ROS参数服务器通信。参数树连接到ROS节点,节点.要连接到全局节点,请指定节点作为[]

属性

全部展开

此属性是只读的。

服务器上的参数名称列表,指定为单元格数组。

例子:{' / myParam '; ' / robotSize '; ' /主机名'}

数据类型:细胞

对象的功能

得到 获得ROS参数值
检查是否存在ROS参数名称
搜索 搜索ROS网络参数名称
修改ROS参数的值或添加新的参数
删除ROS参数

例子

全部折叠

启动ROS master并创建ROS节点。

主= ros.Core;
启动ROS核心……用时0.89857秒。
节点= ros。节点(' / test1 ');

创建参数树对象。

ptree = ros.ParameterTree(节点);

设置多个参数。

集(ptree,“DoubleParam”1.0)组(ptree“CharParam”“测试”)设置(ptree“CellParam”{{“测试”}, {1,2}});

查看可用参数。

= ptree参数。AvailableParameters
参数=3 x1细胞{'/CellParam'} {'/CharParam'} {'/DoubleParam'}

获取一个参数值。

data =得到(ptree“CellParam”
data =1×2单元阵列{1x1 cell} {1x2 cell}

搜索参数名称。

搜索(ptree,“字符”
ans =1 x1单元阵列{' / CharParam '}

删除参数树和ROS节点。关闭ROS master。

清楚(“ptree”“节点”)明确(“大师”

使用结构来指定特定名称空间下的ROS参数字典。

连接到ROS网络

rosinit
启动ROS Core... ...用时4.0269秒。在http://192.168.88.1:57165上初始化ROS master。使用NodeURI http://ah-avijayar:60223/初始化全局节点/matlab_global_node_09024

创建一个参数值字典。这个字典包含与图像相关的信息。显示结构以验证值。

形象= imread (“peppers.png”);pval。ImageWidth =大小(图片1);pval。ImageHeight =大小(图片2);pval。ImageTitle =“peppers.png”;disp (pval)
ImageWidth: 384 ImageHeight: 512 ImageTitle: 'pepper .png'

使用所需的名称空间设置值的字典。

rosparam (“设置”“ImageParam”pval)

使用名称空间获取参数。验证的值。

pval2 = rosparam (“得到”“ImageParam”
pval2 =结构体字段:ImageHeight: 512 ImageTitle: 'pepper .png' ImageWidth: 384

关闭ROS网络。

rosshutdown
使用NodeURI http://ah-avijayar:60223/关闭全局节点/matlab_global_node_09024

扩展功能

介绍了R2019b