| |
Chatter Concert
Description: An example concert demonstration, talker-listener style.Keywords: concert tutorials rocon
Tutorial Level: BEGINNER
Next Tutorial: Chatter Concert - Distributed
Contents
Overview
This tutorial is a glorified version of ros' simple chatter tutorials. We up the game here by launching each talker (dudette) and listener (dude) on its own master and co-ordinate them from a central concert service.
Preparation
Follow the rocon installation instructions.
Demo
Source your setup.bash and rocon_launch the chatter concert, e.g. for a source install:
> source ~/rocon/devel/setup.bash > rocon_launch chatter_concert chatter.concert --screen
This launches the concert solution, robot apps and immediately links everything once all the components are discovered.
Interacting
You're a human! Interact with it...
> source ~/rocon/devel/setup.bash > rocon_remocon
- Point it at your localhost ip, port 11311
Here you will find various roles in which you can interact with the concert. Feel free to explore the interactions provided for each role. A good example is the gateway graph introspection of the concert (inside the admin role):
You'll notice four masters in this system - the concert, dudette and two dudes. Dudette and the dudes flip your usual chatter pubs and subs (dudes of course have to listen to dudette, so they flip the subscribers and dudette flips the publisher).
Looking Around
Concert Info
Some basic information about this concert.
> concert_info
|
Human Interactions
You can also get a quick view of all the interactions from the command line on the concert master:
> rocon_interactions
Admin
Concert Info
Name : concert_info
Description : Generic information about this concert.
Icon : rocon_bubble_icons/rocon.png
Rocon URI : rocon:/pc/*/hydro|indigo/precise|quantal|raring|saucy|trusty
Namespace : /services/admin
Max : infinity
Hash : -1521334899
Conductor Graph
Name : concert_conductor_graph
Description : Graph of all elements in a rocon conductor network.
Icon : rocon_bubble_icons/rocon.png
Rocon URI : rocon:/pc/*/hydro|indigo/precise|quantal|raring|saucy|trusty
Namespace : /services/admin
Max : infinity
Hash : 738504379
Ros Graph
Name : rqt_graph
Description : Graph of all topics and services in the concert workspace.
Icon : rocon_bubble_icons/rocon.png
Rocon URI : rocon:/pc/*/hydro|indigo/precise|quantal|raring|saucy|trusty
Namespace : /services/admin
Max : infinity
Hash : 844838261
Gateway Graph
Name : rocon_gateway_graph
Description : Graph of all elements in a rocon gateway network.
Icon : rocon_bubble_icons/rocon.png
Rocon URI : rocon:/pc/*/hydro|indigo/precise|quantal|raring|saucy|trusty
Namespace : /services/admin
Max : infinity
Hash : 1296470224
Docs
Ros Wiki - Chatter Concert
Name : http://wiki.ros.org/chatter_concert
Description : A ros chatter style introduction to the concert.
Icon : rocon_bubble_icons/ros.png
Rocon URI : rocon:/pc
Namespace : /services/chatter
Max : 1
Hash : -1295151295
Chatter
Dude
Name : chatter_concert/remocon_dude
Description : For human dudes who have to listen to nagging dudettes.
Icon : rocon_bubble_icons/rocon.png
Rocon URI : rocon:/pc/*/hydro|indigo/precise|quantal|raring|saucy|trusty
Namespace : /services/chatter
Max : infinity
Remappings : chatter->/conversation/chatter
Hash : -2138897534
Android Listener
Name : com.github.rosjava.android_remocons.listener.Listener
Description : Android listener
Icon : rocon_bubble_icons/rocon.png
Rocon URI : rocon:/*/*/hydro/jellybean|ice_cream_sandwich|kitkat
Namespace : /services/chatter
Max : infinity
Remappings : chatter->/conversation/chatter
Hash : -965118903The Clients (Retaskable Robots)
> rosservice list
In this list you can see all of the app manager handles provided by the dudes and dudette. Each client provides their handles in namespaces that are all postfixed with uuid strings. This is the default behaviour for naming and ensures that each member in the concert is unique.
The Services
Get some information about the services running inside the concert.
> concert_service_info Concert Service Information Resource : rocon_service_admin/admin Name : admin Description : Administrative services and tools Author : DanielStonier Priority : 1 Launcher Type : shadow Status : 0 Enabled : True Resource : chatter_concert/chatter Name : chatter Description : Dudes and dudettes chatting. Author : Daniel Stonier Priority : 2 Launcher Type : roslaunch Status : 0 Enabled : True
Scheduled Resources
> concert_scheduler_requests
##############################################################################
# Scheduler Request Feedback #
##############################################################################
Requester [2953da1f-a537-4bf3-92a6-bc931e1ac20e]
Request
Id : 2785ce60-5d98-4334-8804-e6baf7131467
Priority : 10
Status : granted
Resources : 9004c2b8-f2b9-4064-bf2e-f8818c327afc-rocon:/pc/dudetteb3a53f75f8434aa4a6acba230772d3b2/indigo/saucy-rocon_apps/talker
: 2467ecfa-339b-42e7-81d3-c02e2ce02aa9-rocon:/pc/dude61509a4d1b594cbfb3e211ef2d0d60fe/indigo/saucy-rocon_apps/listener
: a7ebd33a-9c3d-487f-9cc2-4a3213ac87b0-rocon:/pc/dudebd55b785281d4da4b30b65861a9aab78/indigo/saucy-rocon_apps/listener
Request
Id : 77fb9997-7706-4fb1-a700-cb2c51e96d13
Priority : 0
Status : waiting
Resources : d59657b0-3ab8-424a-9327-4cae688e9fed-rocon:/*/*#rocon_apps/listener-rocon_apps/listenerHere you can see dudette and the two dudes already having been allocated (granted) in the first request. You notice that the service has also lined up a further request for another dude (listener) that is yet waiting. The chatter service itself allows four dudettes to a dude (read what you will into that!). While the concert_scheduler_requests call is stil running, open new shells and try launching additional dudes:
> roslaunch -p 11315 chatter_concert dude.launch --screen > roslaunch -p 11316 chatter_concert dude.launch --screen
You should see requester-scheduler process interactively granting and creating new requests.








