ParameterTree

Доступ к серверу параметра ROS

Описание

ParameterTree объект связывается с сервером параметра ROS. Сервер параметра ROS может сохранить строки, целые числа, удваивается, boolean и массивы ячеек. Параметры доступны глобально по сети ROS. Можно использовать эти параметры, чтобы хранить статические данные, такие как параметры конфигурации.

Чтобы непосредственно установить, доберитесь, или доступ параметры ROS, не создавая ParameterTree возразите, смотрите rosparam.

Следующие типы данных ROS поддерживаются как значения параметров. Для каждого типа данных ROS, соответствующего MATLAB® тип данных также перечислен.

Тип данных ROSТип данных MATLAB
32-битное целое числоint32
booleanlogical
'double'double
строкавектор символов (char)
списокмассив ячеек (cell)
словарьструктура (struct)

Создание

Описание

ptree = rosparam создает объект дерева параметра, ptree. После ptree создается, связь с сервером параметра остается персистентной, пока объект не удален, или ведущее устройство ROS становится недоступным.

пример

ptree = ros.ParameterTree(node) возвращает ParameterTree объект связаться с сервером параметра ROS. Дерево параметра присоединяет к узлу ROS, node. Чтобы соединиться с глобальным узлом, задайте node как [].

Свойства

развернуть все

Это свойство доступно только для чтения.

Список названий параметра на сервере в виде массива ячеек.

Пример: {'/myParam';'/robotSize';'/hostname'}

Типы данных: cell

Функции объекта

getПолучите значение параметров ROS
hasПроверяйте, существует ли название параметра ROS
searchПоисковая сеть ROS для названий параметра
setУстановите значение параметра ROS или добавьте новый параметр
delУдалите параметр ROS

Примеры

свернуть все

Запустите ведущее устройство ROS и создайте узел ROS.

master = ros.Core;
Launching ROS Core...
Done in 0.67624 seconds.
node = ros.Node('/test1');

Создайте объект дерева параметра.

ptree = ros.ParameterTree(node);

Установите несколько параметров.

set(ptree,'DoubleParam',1.0)
set(ptree,'CharParam','test')
set(ptree,'CellParam',{{'test'},{1,2}});

Просмотрите доступные параметры.

parameters = ptree.AvailableParameters
parameters = 3x1 cell
    {'/CellParam'  }
    {'/CharParam'  }
    {'/DoubleParam'}

Получите значение параметров.

data = get(ptree,'CellParam')
data=1×2 cell array
    {1x1 cell}    {1x2 cell}

Ищите название параметра.

search(ptree,'char')
ans = 1x1 cell array
    {'/CharParam'}

Удалите дерево параметра и узел ROS. Закройте ведущее устройство ROS.

clear('ptree','node')
clear('master')

Используйте структуры, чтобы задать словарь параметров ROS под определенным пространством имен.

Соединитесь с сетью ROS.

rosinit
Launching ROS Core...
...Done in 4.0269 seconds.
Initializing ROS master on http://192.168.88.1:57165.
Initializing global node /matlab_global_node_09024 with NodeURI http://ah-avijayar:60223/

Создайте словарь значений параметров. Этот словарь содержит информацию, относящуюся к изображению. Отобразите структуру, чтобы проверить значения.

image = imread('peppers.png');

pval.ImageWidth = size(image,1);
pval.ImageHeight = size(image,2);
pval.ImageTitle = 'peppers.png';
disp(pval)
     ImageWidth: 384
    ImageHeight: 512
     ImageTitle: 'peppers.png'

Установите словарь значений с помощью желаемого пространства имен.

rosparam('set','ImageParam',pval)

Получите параметры с помощью пространства имен. Проверьте значения.

pval2 = rosparam('get','ImageParam')
pval2 = struct with fields:
    ImageHeight: 512
     ImageTitle: 'peppers.png'
     ImageWidth: 384

Закройте сеть ROS.

rosshutdown
Shutting down global node /matlab_global_node_09024 with NodeURI http://ah-avijayar:60223/
Shutting down ROS master on http://192.168.88.1:57165.

Расширенные возможности

Введенный в R2019b