## page was renamed from rocon_launch/Tutorials/indigo/Rocon Launch for SingleMaster ## page was renamed from rocon_launch/Tutorials/indigo/Multi-Launcher for SingleMaster ## page was renamed from rocon_launch/Tutorials/indigo/Multi-Launcher for Single Masters ## For instruction on writing tutorials ## http://www.ros.org/wiki/WritingTutorials #################################### ##FILL ME IN #################################### ## for a custom note with links: ## note = ## for the canned note of "This tutorial assumes that you have completed the previous tutorials:" just add the links ## note.0= ## descriptive title for the tutorial ## title = Rocon Launch for Single Masters ## multi-line description to be displayed in search ## description = Spawn multiple roslaunch terminals working with a single master. ## the next tutorial description (optional) ## next = ## links to next tutorial (optional) ## next.0.link= ## next.1.link= ## what level user is this tutorial for ## level= BeginnerCategory ## keywords = rocon roslaunch rocon_launch #################################### <> <> == Overview == Quite often in develop you need to start multiple roslaunch instances, each from different shells. This can get tedious opening the multiple shells and typing out the roslaunch commands. That is where this convenience tool comes in handy. == Preparation == Make sure you have installed the roscpp tutorials for this demo. {{{ > sudo apt-get install ros-indigo-roscpp-tutorials }}} You will also need either `gnome-terminal` or `konsole` installed on your system. Other terminals can be supported, but there has been no need yet. == Demo == === The Launcher === The format of a rocon launcher file is very similar to a roslaunch file. Save the following file as `chatter.concert`. {{{#!highlight xml }}} The format should be mostly self-describing. The `title` attribute will set the title of the spawned terminal (very useful when alt-tabbing). Also, to make sure you running a single master, make sure the port specification for each roslaunch tag is identical. === Launching === Launching is very similar to roslaunch. Once executed, it will spawn multiple terminals, one for each launch tag in the rocon launcher. {{{ # A regular launch > rocon_launch chatter.concert # Full standard output, just like roslaunch > rocon_launch chatter.concert --screen # Inside a pkg > rocon_launch my_pkg chatter.concert --screen # Remapping args > rocon_launch chatter.concert --screen topic_name:=babbler # Holding terminals open after killing roslaunch instances > rocon_launch chatter.concert --screen --hold # Forcing use of konsole > rocon_launch chatter.concert --konsole --screen # Forcing use of gnome-terminal > rocon_launch chatter.concert --gnome --screen }}} Killing the original rocon_launch process (e.g. CTRL-C in the original terminal) will gracefully kill and wait for all roslaunch processes to die. === Screenshot === ||{{attachment:rocon_launch.png||width=100%}}|| <
> == Features == === Terminals === The script launches a terminal for each launch in the rocon launch file. The type of terminal is autodetected, but can be forced to `gnome-terminal` or `konsole` with the `--gnome` or `--konsole` options. === Tab Completion === Multiple launchers may use the same port. If the file suffix is `.concert`, then tab completion will also work just like roslaunch. === Command Line Options === {{{ -h, --help show this help message and exit -k, --konsole spawn individual ros systems via multiple konsole terminals -g, --gnome spawn individual ros systems via multiple gnome terminals --screen run each roslaunch with the --screen option --no-terminals do not spawn terminals for each roslaunch --hold hold terminals open after upon completion (incompatible with --no-terminals) }}} The `--no-terminals` option is useful for tests and headless boards where you don't want to commit to one super roslaunch file. ## AUTOGENERATED DO NOT DELETE ## TutorialCategory ## FILL IN THE STACK TUTORIAL CATEGORY HERE