## 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= [[rocon_app_manager/Tutorials/indigo/Standalone Rapp Manager|Standalone Rapp Manager]]
## descriptive title for the tutorial
## title = Configuring the Rapp Manager
## multi-line description to be displayed in search 
## description = How to configure the rapp manager.
## the next tutorial description (optional)
## next =
## links to next tutorial (optional)
## next.0.link=[[rocon_app_manager/Tutorials/indigo/Automatic Rapp Installation|Automatic Rapp Installation]]
## next.1.link=
## what level user is this tutorial for 
## level= BeginnerCategory
## keywords =
####################################

<<IncludeCSTemplate(TutorialCSHeaderTemplate)>>

<<TableOfContents(4)>>

== Overview ==

This tutorial shows how to configure a robot app manager launch for a standalone ros system.

If you haven't already, make sure you have installed either the [[rocon_app_platform/Tutorials/indigo/Installation|rocon_app_platform environment]], or the full [[rocon/Tutorials/indigo/Installation|rocon environment]] itself.

== Launch Modules ==

The [[https://github.com/robotics-in-concert/rocon_app_platform/blob/indigo/rocon_app_manager/launch/standalone.launch|standalone.launch|standalone rocon app manager launcher]] launches the core rocon app manager node as well as (optionally) a few highly correlated modules that work with the rapp manager. In the following list [C] indicates core modules and [O] optional modules:

 * '''[C] Rocon App Manager''' - the rocon app manager itself.
 * '''[C] Rocon Master Info''' - advertising your ros master information (see [[rocon_master_info]]
 * '''[O] Capabilities''' - if your rapps depend on [[capabilities]] this can be conveniently configured from here.
 * '''[O] Zeroconf''' - advertise your ros master on the lan so other tools can easily find the rapp manager
 * '''[O] Interactions''' - load up [[rocon_interactions]] to enable pairing with the rapp manager.

== Launch Args ==

There are also many args that can be set. Most of these are fairly straightforward and the comments in [[https://github.com/robotics-in-concert/rocon_app_platform/blob/indigo/rocon_app_manager/launch/standalone.launch|standalone.launch|standalone rocon app manager launcher]] should suffice.

== Customising a Launcher ==

To configure your own standalone rapp manager launcher, simply include the original and configure the required args.

=== Whitelisting your Rapps ===

The most important args are probably the whitelist/blacklist controls where you can constrain the rapps on the `ROS_PACKAGE_PATH` that are discoverable by the rapp manager. e.g.

{{{#!xml
<launch>
  <include file="$(find rocon_app_manager)/launch/standalone.launch">
    <arg name="rapp_package_whitelist" default="[rocon_apps, my_rapps]"/> <!-- comma separated list of package names -->
  </include>
</launch>
}}}

=== A Custom Icon ===

Use an icon with the following specifications:

 * '''Format''': png, jpg
 * '''Dimension''': 120x120 recommended

The dimension is not a hard constraint - if it is different it will be rescaled. An example:

{{attachment:cybernetic_pirate.png}}

Place the icon in a package of your choice and then pass it to the app manager as roslaunch argument specified by resource name (package/filename pair). e.g.

{{{#!xml
<launch>
  <include file="$(find rocon_app_manager)/launch/standalone.launch">
    <arg name="robot_name" value="barbarossa" />
    <arg name="robot_icon" value="rocon_app_manager/cybernetic_pirate.png" />
  </include>
</launch>
}}}

## AUTOGENERATED DO NOT DELETE 
## TutorialCategory
## FILL IN THE STACK TUTORIAL CATEGORY HERE