launch_ros.actions.node module

Module for the Node action.

class launch_ros.actions.node.Node(*args: Any, **kwargs: Any)

Bases: ExecuteProcess

Action that executes a ROS node.

UNSPECIFIED_NODE_NAME = '<node_name_unspecified>'
UNSPECIFIED_NODE_NAMESPACE = '<node_namespace_unspecified>'
execute(context: launch.launch_context.LaunchContext) List[launch.action.Action] | None

Execute the action.

Delegated to launch.actions.ExecuteProcess.execute().

property expanded_node_namespace

Getter for expanded_node_namespace.

property expanded_remapping_rules

Getter for expanded_remappings.

is_node_name_fully_specified()
property node_executable

Getter for node_executable.

property node_name

Getter for node_name.

property node_package

Getter for node_package.

classmethod parse(entity: launch.frontend.Entity, parser: launch.frontend.Parser)

Parse node.

static parse_nested_parameters(params, parser)

Normalize parameters as expected by Node constructor argument.

class launch_ros.actions.node.NodeActionExtension

Bases: object

The extension point for launch_ros node action extensions.

The following properties must be defined: * NAME (will be set to the entry point name)

The following methods may be defined: * command_extension * execute

EXTENSION_POINT_VERSION = '0.1'
NAME = None
prepare_for_execute(context, ros_specific_arguments, node_action)

Perform any actions prior to the node’s process being launched.

context is the context within which the launch is taking place, containing amongst other things the command line arguments provided by the user.

ros_specific_arguments is a dictionary of command line arguments that will be passed to the executable and are specific to ROS.

node_action is the Node action instance that is calling the extension.

This method must return a tuple of command line additions as a list of launch.substitutions.TextSubstitution objects, and ros_specific_arguments with any modifications made to it. If no modifications are made, it should return [], ros_specific_arguments.

launch_ros.actions.node.expose_action(_)
launch_ros.actions.node.get_extensions(logger)
launch_ros.actions.node.instantiate_extension(group_name, extension_name, extension_class, extensions, logger, *, unique_instance=False)