class documentation

ROSLaunchParent represents the main 'parent' roslaunch process. It is responsible for loading the launch files, assigning machines, and then starting up any remote processes. The __main__ method delegates most of runtime to ROSLaunchParent.

This must be called from the Python Main thread due to signal registration.

Method __init__ @param run_id: UUID of roslaunch session @type run_id: str @param roslaunch_files: list of launch configuration
Method shutdown Stop the parent roslaunch.
Method spin Run the parent roslaunch until exit
Method spin_once Run the parent roslaunch event loop once
Method start Run the parent roslaunch.
Instance Variable config Undocumented
Instance Variable force_log Undocumented
Instance Variable force_required Undocumented
Instance Variable force_screen Undocumented
Instance Variable is_core Undocumented
Instance Variable is_rostest Undocumented
Instance Variable local_only Undocumented
Instance Variable logger Undocumented
Instance Variable master_logger_level Undocumented
Instance Variable num_workers Undocumented
Instance Variable pm Undocumented
Instance Variable port Undocumented
Instance Variable process_listeners Undocumented
Instance Variable remote_runner Undocumented
Instance Variable roslaunch_files Undocumented
Instance Variable roslaunch_strs Undocumented
Instance Variable run_id Undocumented
Instance Variable runner Undocumented
Instance Variable server Undocumented
Instance Variable show_summary Undocumented
Instance Variable sigint_timeout Undocumented
Instance Variable sigterm_timeout Undocumented
Instance Variable timeout Undocumented
Instance Variable verbose Undocumented
Method _init_remote Initialize the remote process runner, if required. Subroutine of _start_remote, separated out for easier testing
Method _init_runner Initialize the roslaunch runner
Method _load_config Undocumented
Method _start_infrastructure load config, start XMLRPC servers and process monitor
Method _start_pm Start the process monitor
Method _start_remote Initializes and runs the remote process runner, if required
Method _start_server Initialize the roslaunch parent XML-RPC server
Method _stop_infrastructure Tear down server and process monitor. Not multithread safe.
Instance Variable _shutting_down Undocumented
def __init__(self, run_id, roslaunch_files, is_core=False, port=None, local_only=False, process_listeners=None, verbose=False, force_screen=False, force_log=False, is_rostest=False, roslaunch_strs=None, num_workers=NUM_WORKERS, timeout=None, master_logger_level=False, show_summary=True, force_required=False, sigint_timeout=DEFAULT_TIMEOUT_SIGINT, sigterm_timeout=DEFAULT_TIMEOUT_SIGTERM):

@param run_id: UUID of roslaunch session @type run_id: str @param roslaunch_files: list of launch configuration

files to load

@type roslaunch_files: [str] @param is_core bool: if True, this launch is a roscore

instance. This affects the error behavior if a master is already running (i.e. it fails).

@type is_core: bool @param process_listeners: (optional) list of process listeners

to register with process monitor once launch is running

@type process_listeners: [L{roslaunch.pmon.ProcessListener}] @param port: (optional) override master port number from what is specified in the master URI. @type port: int @param verbose: (optional) print verbose output @type verbose: boolean @param show_summary: (optional) whether to show a summary or not @type show_summary: boolean @param force_screen: (optional) force output of all nodes to screen @type force_screen: boolean @param force_log: (optional) force output of all nodes to log @type force_log: boolean @param is_rostest bool: if True, this launch is a rostest

instance. This affects validation checks.

@type is_rostest: bool @param num_workers: If this is the core, the number of worker-threads to use. @type num_workers: int @param timeout: If this is the core, the socket-timeout to use. @type timeout: Float or None @throws RLException @param master_logger_level: Specify roscore's rosmaster.master logger level, use default if it is False. @type master_logger_level: str or False @param force_required: (optional) whether to make all nodes required @type force_required: boolean @param sigint_timeout: The SIGINT timeout used when killing nodes (in seconds). @type sigint_timeout: float @param sigterm_timeout: The SIGTERM timeout used when killing nodes if SIGINT does not stop the node (in seconds). @type sigterm_timeout: float @raise RLException: If sigint_timeout or sigterm_timeout are nonpositive.

def shutdown(self):

Stop the parent roslaunch.

def spin(self):

Run the parent roslaunch until exit

def spin_once(self):

Run the parent roslaunch event loop once

def start(self, auto_terminate=True):

Run the parent roslaunch.

@param auto_terminate: stop process monitor once there are no more processes to monitor (default True). This defaults to True, which is the command-line behavior of roslaunch. Scripts may wish to set this to False if they wish to keep the roslauch infrastructure up regardless of processes being monitored.

config =

Undocumented

force_log =

Undocumented

force_required =

Undocumented

force_screen =

Undocumented

is_core =

Undocumented

is_rostest =

Undocumented

local_only =

Undocumented

logger =

Undocumented

master_logger_level =

Undocumented

num_workers =

Undocumented

pm =

Undocumented

port =

Undocumented

process_listeners =

Undocumented

remote_runner =

Undocumented

roslaunch_files =

Undocumented

roslaunch_strs =

Undocumented

run_id =

Undocumented

runner =

Undocumented

server =

Undocumented

show_summary =

Undocumented

sigint_timeout =

Undocumented

sigterm_timeout =

Undocumented

timeout =

Undocumented

verbose =

Undocumented

def _init_remote(self):

Initialize the remote process runner, if required. Subroutine of _start_remote, separated out for easier testing

def _init_runner(self):

Initialize the roslaunch runner

def _load_config(self):

Undocumented

def _start_infrastructure(self):

load config, start XMLRPC servers and process monitor

def _start_pm(self):

Start the process monitor

def _start_remote(self):

Initializes and runs the remote process runner, if required

def _start_server(self):

Initialize the roslaunch parent XML-RPC server

def _stop_infrastructure(self):

Tear down server and process monitor. Not multithread safe.

_shutting_down: bool =

Undocumented