ParameterTree

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

Описание

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

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

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

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

Создание

Синтаксис

ptree = rosparam
ptree = robotics.ros.ParameterTree(node)

Описание

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

пример

ptree = robotics.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 = robotics.ros.Core;
node = robotics.ros.Node('/test1');

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

ptree = robotics.ros.ParameterTree(node);

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

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

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

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

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

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

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

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

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

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

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

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

rosinit
Initializing ROS master on http://bat6230glnxa64:34913/.
Initializing global node /matlab_global_node_88812 with NodeURI http://bat6230glnxa64:43509/

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

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

Сеть Shutdown ROS.

rosshutdown
Shutting down global node /matlab_global_node_88812 with NodeURI http://bat6230glnxa64:43509/
Shutting down ROS master on http://bat6230glnxa64:34913/.

Представленный в R2015a