Main Content

has

Check if parameter exists in ROS 2 node

Since R2022b

Description

exists = has(paramObj,paramName) checks if the parameter paramName exists in the ROS 2 node associated with the parameter object paramObj. This function returns exists as true only if the parameter exists.

example

Examples

collapse all

Create a ROS 2 node with parameters.

nodeParams.my_double = 2.0;
nodeParams.my_namespace.my_int = int64(1);
nodeParams.my_double_array = [1.1 2.2 3.3];
nodeParams.my_string = "Keyparams";
mainNode = ros2node("mainNode",Parameters=nodeParams);
pause(1)

Create a ros2param object to interact with the parameters of the ROS 2 node, /node1.

paramObj = ros2param("mainNode");

Use the set function to change the value of the parameter my_string.

set(paramObj,"my_string","Newparams");

Use the get function to obtain the new value of my_string.

stringVal = get(paramObj,"my_string")
stringVal = 
'Newparams'

Use the has function to check if the parameter my_char exists in the ROS 2 node, /node1.

flag = has(paramObj,"my_char")
flag = logical
   0

Use the search function to search for names of all the parameters that contain the string "my_d". Obtain the values of the matching parameters.

[pNames,pVals] = search(paramObj,"my_d")
pNames = 2x1 cell
    {'my_double'      }
    {'my_double_array'}

pVals=2×1 cell array
    {[                   2]}
    {[1.1000 2.2000 3.3000]}

Use the list function to list the names of all parameters in the ROS 2 node.

pList = list(paramObj)
pList = 9x1 cell
    {'my_double'                                            }
    {'my_double_array'                                      }
    {'my_namespace.my_int'                                  }
    {'my_string'                                            }
    {'qos_overrides./parameter_events.publisher.depth'      }
    {'qos_overrides./parameter_events.publisher.durability' }
    {'qos_overrides./parameter_events.publisher.history'    }
    {'qos_overrides./parameter_events.publisher.reliability'}
    {'use_sim_time'                                         }

Input Arguments

collapse all

ROS 2 parameter object, specified as a ros2param object handle.

Name of the parameter, specified as a string scalar or a character vector.

Output Arguments

collapse all

Flag indicating whether the parameter exists, returned as a logical scalar.

Version History

Introduced in R2022b

See Also