concert_msgs

Summary

concert_msgs
Version:

0.7.12

Description:

Shared communication types for the concert framework.

Maintainers:
  • Daniel Stonier <d DOT stonier AT gmail DOT com>
  • Jihoon Lee <jihoonlee DOT in AT gmail DOT com>
Licenses:
  • BSD
Urls:
Authors:
  • Jihoon Lee
  • Daniel Stonier
BuildDepends:
BuildtoolDepends:
 
BuildExportDepends:
 
ExecDepends:
Exports:
  • <architecture_independent/>

Types

Message types

concert_msgs/SoftwareInstances
Field:
SoftwareInstance[] instances
concert_msgs/SoftwareInstance
Field:
  • resource_name (string) –
  • name (string) –
  • max_count (int16) –
  • namespace (string) –
  • users[] (string) –
  • parameters[] (rocon_std_msgs/KeyValue) –

Runtime

# Runtime
string  resource_name
string  name

int16   max_count
string  namespace
string[] users
rocon_std_msgs/KeyValue[] parameters
concert_msgs/Strings
Constant:
  • PARAM_ROCON_SCREEN (string):/rocon/screen
  • SCHEDULER_UNALLOCATED_RESOURCE (string):unallocated
  • CONCERT_CLIENTS (string):/concert/conductor/concert_clients
  • SERVICE_NAMESPACE (string):/services
  • SOFTWARE_NAMESPACE (string):/software

Some commonly used constant strings in the concert.

Note: avoid using hardcoded topic_name strings here. Prefer rostopic.find_by_type and rosservice.rosservice_find for getting services that should be unique (e.g. gateway/interactions). Refer to rocon_python_comms for some wrappers around these.

Parameters

# Some commonly used constant strings in the concert.
#
# Note: avoid using hardcoded topic_name strings here. Prefer rostopic.find_by_type
# and rosservice.rosservice_find for getting services that should be unique
# (e.g. gateway/interactions). Refer to rocon_python_comms for some wrappers around these.

# Parameters
string PARAM_ROCON_SCREEN = /rocon/screen

# Scheduler
string SCHEDULER_UNALLOCATED_RESOURCE = unallocated

# Conductor
string CONCERT_CLIENTS = /concert/conductor/concert_clients

# Namespaces
string SERVICE_NAMESPACE = /services
string SOFTWARE_NAMESPACE = /software
concert_msgs/ErrorCodes
Constant:
  • SUCCESS (int8):0
  • SERVICE_UNEXPECTED_ERROR (int8):31
  • SERVICE_INSUFFICIENT_CLIENTS (int8):32
  • SERVICE_NOT_READY (int8):33

Error types for concert components

General

# Error types for concert components

# General
int8 SUCCESS = 0

# Concert Service
int8 SERVICE_UNEXPECTED_ERROR = 31
int8 SERVICE_INSUFFICIENT_CLIENTS = 32
int8 SERVICE_NOT_READY = 33
concert_msgs/LinkGraph
Field:

A list of ‘named’ nodes, e.g. linux.*.ros.robosem.rocon_teleop

# A list of 'named' nodes, e.g. linux.*.ros.robosem.rocon_teleop

LinkNode[]        nodes
LinkConnection[]  topics
LinkConnection[]  actions
LinkConnection[]  services
LinkEdge[]        edges
concert_msgs/ConcertClient
Field:

The concert alias

# The concert alias
string name

# The unfriendly gateway name with the uuid suffix.
string gateway_name

# Platform information about the concert client.
rocon_std_msgs/PlatformInfo platform_info

# Is on the same machine ip as the conductor
bool is_local_client

# State of the concert client, see ConcertClientState.msg for string constants
# PENDING, BUSY, BLOCKING, BAD, JOINING, UNINVITED, AVAILABLE, MISSING, GONE 
string state

# Statistics
string ip
gateway_msgs/ConnectionStatistics conn_stats
# time last_connection_timestamp

rocon_app_manager_msgs/Rapp[] rapps
concert_msgs/SoftwareProfiles
Field:
SoftwareProfile[] profiles 
concert_msgs/ConductorGraph
Field:

Provide the conductor graph of all concert clients according to their current state (see ConcertClientState.msg for a list of states and always sync with that!). Compared to the regular ConcertClients topic, this includes all those not in use by this concert, which is useful for introspection and debugging.

It will typically show up in /concert/conductor/graph. Do not use this topic for runtime handling (use only for introspection) as it will consume cycles. If no-one is listening, this topic is lazy.

# 
# Provide the conductor graph of all concert clients according to their current state (see
# ConcertClientState.msg for a list of states and always sync with that!).
# Compared to the regular ConcertClients topic, this includes
# all those not in use by this concert, which is useful for introspection and debugging.
#
# It will typically show up in /concert/conductor/graph. Do not use this topic for
# runtime handling (use only for introspection) as it will consume cycles. If no-one is
# listening, this topic is lazy.  
#
concert_msgs/ConcertClient[] pending
concert_msgs/ConcertClient[] bad
concert_msgs/ConcertClient[] blocking
concert_msgs/ConcertClient[] busy
concert_msgs/ConcertClient[] uninvited
concert_msgs/ConcertClient[] joining
concert_msgs/ConcertClient[] available
concert_msgs/ConcertClient[] missing
concert_msgs/ConcertClient[] gone
concert_msgs/ConcertClients
Field:

Clients that have been invited to this concert and can be used

# Clients that have been invited to this concert and can be used
concert_msgs/ConcertClient[] clients

# Clients that have disappeared from the gateway network without formally leaving. 
# Usually this will mean they have dropped off the wireless
concert_msgs/ConcertClient[] missing_clients

# Clients that are on the gateway network, but haven't been invited by this concert yet
# We do not have any implementation that can invite except by a conductor's auto_invite yet.
concert_msgs/ConcertClient[] uninvited_clients
concert_msgs/ServiceProfile
Constant:
  • TYPE_ROSLAUNCH (string):roslaunch
  • TYPE_CUSTOM (string):custom
  • TYPE_SHADOW (string):shadow
Field:
  • resource_name (string) –
  • name (string) –
  • description (string) –
  • author (string) –
  • priority (uint16) –
  • icon (rocon_std_msgs/Icon) –
  • launcher_type (string) –
  • launcher (string) –
  • interactions (string) –
  • parameters (string) –
  • parameters_detail[] (rocon_std_msgs/KeyValue) –
  • uuid (uuid_msgs/UniqueID) –
  • status (int16) –
  • enabled (bool) –

Constants - service types

# Constants - service types
string TYPE_ROSLAUNCH = roslaunch
string TYPE_CUSTOM    = custom
string TYPE_SHADOW    = shadow

# Pre-configured parameters
string                      resource_name
string                      name
string                      description
string                      author
uint16                      priority
rocon_std_msgs/Icon         icon
string                      launcher_type
string                      launcher
string                      interactions
string                      parameters
rocon_std_msgs/KeyValue[]   parameters_detail

# Initialised parameters (on startup)
uuid_msgs/UniqueID          uuid

# Runtime variables
int16                       status
bool                        enabled
concert_msgs/LinkNode
Field:
  • id (string) –
  • resource (string) –
  • min (int8) –
  • max (int8) –
  • force_name_matching (bool) –
  • parameters (rocon_std_msgs/KeyValue) –
Constant:
  • UNLIMITED_RESOURCE (int8):-1

Representation of a concert client node in the implementation graph

unique identifier

# Representation of a concert client node in the implementation graph

# unique identifier
string id

# rocon uri representing the required resource, e.g. rocon:/turtlebot/*#turtle_concert/turtle_stroll
string resource

# Constraints on how many of these nodes may exist
#   min, max not set -> min = 1, max = 1
#   min not set -> min = 1
#   max not set -> max = UNLIMITED_RESOURCE
# Zero is a valid minimum value
int8 UNLIMITED_RESOURCE=-1
int8 min
int8 max

# Force matching of robot name (only really useful for demos)
bool force_name_matching

# public parameters for node
rocon_std_msgs/KeyValue parameters
concert_msgs/Services
Field:
ServiceProfile[] services
concert_msgs/SoftwareProfile
Field:
  • resource_name (string) –
  • name (string) –
  • description (string) –
  • author (string) –
  • launch (string) –
  • max_count (int16) –
  • parameters[] (rocon_std_msgs/KeyValue) –

Configurations

# Configurations
string resource_name
string name
string description
string author
string launch
int16  max_count
rocon_std_msgs/KeyValue[] parameters
concert_msgs/LinkEdge
Field:
  • start (string) –
  • finish (string) –
  • remap_from (string) –
  • remap_to (string) –

Edge of the implementation graph. Client-Topic, or Topic-Client or Client-Action or Action-Client

# Edge of the implementation graph. Client-Topic, or 
# Topic-Client or Client-Action or Action-Client

string start
string finish
string remap_from
string remap_to
concert_msgs/LinkConnection
Field:
  • id (string) –
  • type (string) –

Representation of a topic/action node in the implementation graph

unique identifier

# Representation of a topic/action node in the 
# implementation graph

# unique identifier
string id
# type of the topic, e.g. std_msgs/String
string type
concert_msgs/ConcertClientState
Constant:
  • PENDING (string):pending
  • BAD (string):bad
  • BLOCKING (string):blocking
  • BUSY (string):busy
  • UNINVITED (string):uninvited
  • JOINING (string):joining
  • AVAILABLE (string):available
  • MISSING (string):missing
  • GONE (string):gone

States of concert clients, these should always be synced with what is provided in ConductorGraph.msg (for completeness, but also because I do some funny magic to extra the possible list of states from there).

pending introspection, the client’s advertised handles have not yet been pulled in so we can’t do anything yet

# States of concert clients, these should always be synced with what is provided in ConductorGraph.msg
# (for completeness, but also because I do some funny magic to extra the possible list of states from there). 

# pending introspection, the client's advertised handles have not yet been pulled in so we can't do anything yet
string PENDING   = pending
# the ip is invalid, unreachable or some other problem meaning we have to absolutely ignore it
string BAD       = bad
# happens if it is firewalling, we are remote and it is local only, we aren't in its whitelist, or in its blacklist
string BLOCKING  = blocking
# busy serving another remote controller
string BUSY      = busy
# waiting for a concert to invite it
string UNINVITED = uninvited
# in the middle of joining (or rejecting) an invitation from our concert
string JOINING   = joining
# is available for use inside this concert
string AVAILABLE = available
# has lost connection (wireless)
string MISSING   = missing
# has left the concert
string GONE      = gone

Service types

concert_msgs/UpdateServiceConfig
Field (Request):
 
Field (Response):
 
  • success (bool) –
  • error_message (string) –
ServiceProfile service_profile
---
bool success
string error_message
concert_msgs/AllocateSoftware
Field (Request):
 
Field (Response):
 
string user 
string software
bool allocate
rocon_std_msgs/KeyValue[] parameters
---
bool success
rocon_std_msgs/KeyValue[] parameters
string namespace # if success
string error_message # if fails
concert_msgs/EnableService
Field (Request):
 
  • name (string) –
  • enable (bool) –
Field (Response):
 
  • success (bool) –
  • error_message (string) –
string name 
bool enable
---
bool success
string error_message