Rosspawn is a project mainly written in C++, based on the GPL-2.0 license.
ROS On-the-fly Node Launcher
This ROS package provides a node that can start and stop other nodes. It is intended to be instructed from another node to launch specific nodes.
rosspawn does not try to be another roslaunch. Rather it is meant to provide tools for a different use case. During development, nodes are started and stopped frequently while people are working on the node. With roslaunch, this often means either starting and stopping larger ensembles, or getting a hold on the controlling machine's terminal for a specific node. rosspawn launches the nodes by itself, usually instructed by its companion application rosspawn_gui from any of the developer's machine. It resembles the way Fawkes plugins are loaded and unloaded. While nodes are running, they are monitored by rosspawn and status changed are announced. Other developers see if a node has been stopped by someone else.
rosspawn is mostly a proof of concept at this stage. It lacks some important features in comparison to roslaunch:
Since the number of binaries grows big very fast, rosspawn allows to create a module file which contains the names of the modules which should be announced by rosspawn.
This is a proof of concept implementation and probably not useful in its current state. Comments and patches welcome.
The following software packages are needed on your system in order to use actionlib_lua. Requirements marked with (*) have specific information further down below.
Run bin/rosspawn. Then run rosspawn_gui and click on any node name to get it started or stopped. Usually no modifications are necessary to the nodes. Nodes which are started without using rosspawn are currently not recognized.