Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Standalone App Manager
Description: Launching and running a standalone app manager with no connections to the outside world.Keywords: appmanager rocon
Tutorial Level: INTERMEDIATE
Next Tutorial: Pairing Mode
Contents
Overview
This tutorial shows how to setup and run the rocon app manager in standalone mode. That is, no interaction with an android or multimaster concert. This is still useful in terms of having a useful structure on the robot that is able to install, upgrade and launch the robot in a useful way that makes maintenance and retasking simple.
Installation
Follow the instructions for installation of the rocon stacks.
Usage
> roslaunch rocon_app_manager standalone.launch --screen
To retrieve what apps are runnable (pre-installed in this case):
> rosservice call /app_manager/list_apps | grep -v data apps: - name: rocon_apps/listener display: Listener description: Default ros style listener tutorial platform: linux.ros.* status: Ready - name: rocon_apps/chirp display: Chirp description: Make an audible "chirp" sound. platform: linux.ros.* status: Ready - name: rocon_apps/talker display: Talker description: Default ros style talker tutorial platform: linux.ros.* status: Ready
Starting a rapp (robot application):
> rosservice call /app_manager/start_app rocon_apps/talker [] > rostopic list /app_manager/gateway_info /application/chatter /rosout /rosout_agg
The standalone app manager will always start application connections underneath the application namespace. Now the second argument in the start app call is for remapping the connections. By default, the talker app is, of course at chatter, but supposing we wish to start it at babble:
> rosservice call /app_manager/start_app rocon_apps/talker ['{remap_from: chatter, remap_to: babble }']
Stopping a rapp (currently needs the resource name, may drop this):
> rosservice call /app_manager/stop_app "{}"