scheduler_msgs¶
Contents:
Summary¶
-
scheduler_msgs
¶ Version: 0.7.12
Description: Messages used by the rocon scheduler.
Maintainers: - Daniel Stonier <d DOT stonier AT gmail DOT com>
- Jihoon Lee <jihoonlee DOT in AT gmail DOT com>
- Piyush Khandelwal <piyushk AT gmail DOT com>
- Jack O’Quin <jack DOT oquin AT gmail DOT com>
Licenses: - BSD
Urls: - website<http://wiki.ros.org/scheduler_msgs>
- repository<https://github.com/robotics-in-concert/rocon_msgs>
- bugtracker<https://github.com/robotics-in-concert/rocon_msgs/issues>
Authors: - Jack O’Quin
BuildDepends: BuildtoolDepends: BuildExportDepends: ExecDepends: Exports: - <architecture_independent/>
Types¶
Message types¶
scheduler_msgs/CurrentStatus
scheduler_msgs/Resource
scheduler_msgs/KnownResources
scheduler_msgs/SchedulerRequests
scheduler_msgs/Request
-
scheduler_msgs/CurrentStatus
¶ Field: - uri (string) –
- status (uint8) –
- owner (uuid_msgs/UniqueID) –
- priority (int16) –
- rapps[] (string) –
Constant: - AVAILABLE (uint8):
0
– - ALLOCATED (uint8):
1
– - MISSING (uint8):
2
– - GONE (uint8):
3
–
## ROCON resource current status.
A ROCON scheduler uses this message to report the status of each resource it manages.Resource IdentificationA canonical ROCON Uniform Resource Identifier describing this resource, a fully-resolved character string in the form:
rocon:/platform/name/framework/os### ROCON resource current status. # # A ROCON scheduler uses this message to report the status of each # resource it manages. # ############################################################################## # Resource Identification ############################################################################## # A canonical ROCON Uniform Resource Identifier describing this # resource, a fully-resolved character string in the form: # # rocon:/platform/name/framework/os # string uri ############################################################################## # Status ############################################################################## uint8 status # Current status of this resource # Status value labels: uint8 AVAILABLE = 0 # Available for use uint8 ALLOCATED = 1 # Allocated to some ROCON request uint8 MISSING = 2 # Not currently responding uint8 GONE = 3 # Has left the concert (cleanly) # The owner is the unique identifier of the Request message to which # this resource is currently assigned, or a zero UUID if it is not # assigned. An AVAILABLE resource never has an owner, but a MISSING # one might. uuid_msgs/UniqueID owner # The priority of an ALLOCATED resource is the priority of its # owning request. An AVAILABLE resource never has a non-zero # priority, but a MISSING one might. int16 priority # List of ROCON application names currently available with this # resource. The name string is usually a ROS "package/node" # identifier, unique because ROS package names are unique. The # contents of this list could change over time due to the device's # own activities. string[] rapps
-
scheduler_msgs/Resource
¶ Field: - rapp (string) –
- id (uuid_msgs/UniqueID) –
- uri (string) –
- remappings[] (rocon_std_msgs/Remapping) –
- parameters[] (rocon_std_msgs/KeyValue) –
## ROCON resource request or response.
A scheduler_msgs/Request message includes one Resource message for each desired resource. The scheduler responds using this same message to identify exactly what corresponding resource it has granted.This is usually a uniquely identifying ros_package/rapp name identifier, which is unique because ros packages are unique.
### ROCON resource request or response. # # A scheduler_msgs/Request message includes one Resource message for # each desired resource. The scheduler responds using this same # message to identify exactly what corresponding resource it has # granted. # This is usually a uniquely identifying ros_package/rapp name # identifier, which is unique because ros packages are unique. string rapp # Unique identifier assigned by the requester to track resources # assigned in the scheduler feedback. uuid_msgs/UniqueID id # Uniform Resource Identifier for the platform. ROCON defines two # kinds of URI strings: # # 1) A "resource description URI" is a canonical string for a specific # device. All components are fully resolved to their most specific # values, like: # # "rocon:/turtlebot/dude3/hydro/precise" # # The scheduler provides fully resolved resource description URIs # in its feedback for requests that have been granted. # # 2) A "request URI" may provide a similar descriptive representation, # or may include patterns for matching multiple alternative # platforms. Omitted or '*' patterns match any valid value: # # "" # (empty string): any platform # "rocon:/turtlebot" # any turtlebot # "rocon:/(turtlebot|segbot)" # any robot of either type # "rocon:/*/dude3" # any device named dude3 # "rocon:/*/*/ros/ubuntu" # any ROS Ubuntu platform # string uri # Remappings which get passed on for starting the rapps. Also potentially for # more esoteric use cases such as checking whether an app is sharable. rocon_std_msgs/Remapping[] remappings rocon_std_msgs/KeyValue[] parameters
-
scheduler_msgs/KnownResources
¶ Field: - header (std_msgs/Header) –
- resources[] (scheduler_msgs/CurrentStatus) –
## Known resources.
A ROCON scheduler uses this message to report the status of all the resources it knows about and manages.### Known resources. # # A ROCON scheduler uses this message to report the status of all # the resources it knows about and manages. # Header header # Time of this status, frame_id irrelevant CurrentStatus[] resources # Status of every currently-known resource
-
scheduler_msgs/SchedulerRequests
¶ Field: - header (std_msgs/Header) –
- requester (uuid_msgs/UniqueID) –
- requests[] (scheduler_msgs/Request) –
## Scheduler Requests
Rocon services send this message on the scheduler’s input topic to make or update their resource requests. All resources they currently have or desire should be included.
If not all of the requested resources are immediately available, the scheduler will queue those requests and provide feedback using a message of the same type. The requester should wait until feedback indicates the associated resources are available. It may cancel some requests at any time via an new allocation message.
### Scheduler Requests # # Rocon services send this message on the scheduler's input topic to # make or update their resource requests. All resources they # currently have or desire should be included. # # If not all of the requested resources are immediately available, # the scheduler will queue those requests and provide feedback using # a message of the same type. The requester should wait until # feedback indicates the associated resources are available. It may # cancel some requests at any time via an new allocation message. # Header header # Time of this status, frame_id irrelevant uuid_msgs/UniqueID requester # Requester identifier Request[] requests # Status of every currently-known request
-
scheduler_msgs/Request
¶ Field: - id (uuid_msgs/UniqueID) –
- resources[] (scheduler_msgs/Resource) –
- status (uint8) –
- reason (uint8) –
- problem (string) –
- availability (time) –
- hold_time (duration) –
- priority (int16) –
Constant: - NEW (uint8):
0
– - RESERVED (uint8):
1
– - WAITING (uint8):
2
– - GRANTED (uint8):
3
– - PREEMPTING (uint8):
4
– - CANCELING (uint8):
5
– - CLOSED (uint8):
6
– - NONE (uint8):
0
– - PREEMPTED (uint8):
1
– - BUSY (uint8):
2
– - UNAVAILABLE (uint8):
3
– - TIMEOUT (uint8):
4
– - INVALID (uint8):
5
– - BACKGROUND_PRIORITY (int16):
-20000
– - LOW_PRIORITY (int16):
-10000
– - DEFAULT_PRIORITY (int16):
0
– - HIGH_PRIORITY (int16):
10000
– - CRITICAL_PRIORITY (int16):
20000
–
## Resource request description
This tracks the progress of a single requested resource group. All these resources will be granted, preempted or canceled together as a unit.Resource Identification### Resource request description # # This tracks the progress of a single requested resource group. # All these resources will be granted, preempted or canceled # together as a unit. ############################################################################## # Resource Identification ############################################################################## uuid_msgs/UniqueID id # Requester-assigned universally unique identifier Resource[] resources # List of requested rapps and platforms ############################################################################## # State ############################################################################## uint8 status # Current status of this request uint8 reason # Reason for this status string problem # Convenience message for introspecting on the reason # Status value labels: uint8 NEW = 0 # New request for the scheduler uint8 RESERVED = 1 # Request for a reservation at some future time uint8 WAITING = 2 # Request has been queued by the scheduler uint8 GRANTED = 3 # Request was granted by the scheduler uint8 PREEMPTING = 4 # The scheduler wants to preempt this # previously-granted request, but the # requester has not yet canceled it uint8 CANCELING = 5 # The requester wishes to cancel this # request, but the scheduler has not yet # confirmed that it is closed uint8 CLOSED = 6 # Request is now closed (terminal state) # Reason labels: uint8 NONE = 0 # No reason provided uint8 PREEMPTED = 1 # Preempted for higher-priority task uint8 BUSY = 2 # Requested resource busy elsewhere uint8 UNAVAILABLE = 3 # Requested resource not available uint8 TIMEOUT = 4 # Lost contact with requester uint8 INVALID = 5 # Ill-formed request: see problem string for details ############################################################################## # Scheduling Variables ############################################################################## time availability # Estimated time of availability (zero if unknown) duration hold_time # Estimated hold time once allocated (zero if unknown) int16 priority # Current priority of this request # Priority labels: int16 BACKGROUND_PRIORITY = -20000 # When nothing else to do int16 LOW_PRIORITY = -10000 # Low-priority task int16 DEFAULT_PRIORITY = 0 # Sane default priority int16 HIGH_PRIORITY = 10000 # High-priority task int16 CRITICAL_PRIORITY = 20000 # Mission-critical task