-
Notifications
You must be signed in to change notification settings - Fork 7
/
nexus_endpoints.redf.yaml
152 lines (150 loc) · 6.2 KB
/
nexus_endpoints.redf.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
title: NEXUS Endpoints
description: NEXUS
version: 0.0.1
maintainers:
- name: Teo Koon Peng
email: [email protected]
license: Apache License 2.0
cpp_namespace: nexus::endpoints
endpoints:
- title: List Workcells Service
description: List of all registered workcells
type: service
service_name: /list_workcells
service_type: nexus_orchestrator_msgs/srv/ListWorkcells
- title: Workcell State Topic
type: topic
description: Current state of a workcell
topic_name: /{workcell_id}/workcell_state
message_type: nexus_orchestrator_msgs/msg/WorkcellState
qos: {durability: "transient_local", reliability: "reliable"}
# Work Order
- title: Work Order Action
description: Request for a work order to be executed in the NEXUS system
type: action
action_name: /system_orchestrator/execute_order
action_type: nexus_orchestrator_msgs/action/ExecuteWorkOrder
- title: Work Order States Topic
description: States of work orders
type: topic
topic_name: /work_order_states
message_type: nexus_orchestrator_msgs/msg/WorkOrderState
- title: Get Work Order State Service
description: Get the state of a work order
type: service
service_name: /get_work_order_state
service_type: nexus_orchestrator_msgs/srv/GetWorkOrderState
- title: Is Task Doable Service
description: Checks if a task can be performed.
type: service
service_name: /{workcell_id}/is_task_doable
service_type: nexus_orchestrator_msgs/srv/IsTaskDoable
# Workcell Request
- title: Workcell Request Action
description: Request a workcell to do some work. If the task is not already queued, it will be added to the back of the queue.
type: action
action_name: '{workcell_id}/request'
action_type: nexus_orchestrator_msgs/action/WorkcellTask
- title: Queue Workcell Task Service
description: Queue a task on the workcell, the task can be started later with a call to "Workcell Request" with the same task id.
type: service
service_name: '{workcell_id}/queue_task'
service_type: nexus_orchestrator_msgs/srv/QueueWorkcellTask
- title: Remove Pending Task Service
description: Remove a pending workcell task.
type: service
service_name: '{workcell_id}/remove_pending_task'
service_type: nexus_orchestrator_msgs/srv/RemovePendingTask
- title: Register Workcell Service
description: Register a workcell
type: service
service_name: /register_workcell
# Robot Arm Controller
service_type: nexus_orchestrator_msgs/srv/RegisterWorkcell
- title: Controller Robot Trajectory Action
description: Send a controller action goal to a robot arm
type: action
action_name: /joint_trajectory_controller/follow_joint_trajectory
action_type: control_msgs/action/FollowJointTrajectory
- title: Controller Robot Trajectory Topic
description: Send a controller trajectory to a robot arm via topic
type: topic
topic_name: /joint_trajectory_position_controller/joint_trajectory
message_type: trajectory_msgs/msg/JointTrajectory
# Transporter
- title: Register Transporter Service
description: Register a system that provides transportation services with the System Orchestrator
type: service
service_name: /register_transporter
service_type: nexus_orchestrator_msgs/srv/RegisterTransporter
- title: List Transporter Service
description: List of transporters registered
type: service
service_name: /list_transporters
service_type: nexus_orchestrator_msgs/srv/ListTransporters
- title: Is Transporter Available Service
description: Query a transporter to check if it can fulfil a request
type: service
service_name: '{transporter_id}/available'
service_type: nexus_transporter_msgs/srv/IsTransporterAvailable
- title: Transport Action
description: Send a transporter an action goal
type: action
action_name: '{transporter_id}/transport'
action_type: nexus_transporter_msgs/action/Transport
# Detector
- title: Detector Service
description: Get 3D poses of objects detected by a detector
type: service
service_name: '{detector_id}/detect'
service_type: nexus_detector_msgs/srv/Detect
# Gripper
- title: GripperCommand Action
description: Send a command to a gripper
type: action
action_name: '{gripper_id}/command'
action_type: control_msgs/action/GripperCommand
# Motion Planner Server
- title: Get Motion Plan Service
description: Get a motion plan from the motion planner server
type: service
service_name: /motion_planner_server/plan
service_type: nexus_motion_planner_msgs/srv/GetMotionPlan
# Emergency stop
- title: Emergency Stop Topic
description: |
Emergency stop alarm.
When this is triggered, all workcells will cancel their current action as soon as possible, all current work orders will fail and new work orders will not be accepted until it is cleared.
type: topic
topic_name: /estop
message_type: nexus_alarm_msgs/msg/EmergencyStop
- title: Pause System Service
description: Pause execution of all workcells
type: service
service_name: /pause
service_type: nexus_orchestrator_msgs/srv/PauseSystem
- title: Pause Workcell Service
description: |
Pause execution of a workcell.
When a workcell receives a pause request, it will complete it's current action and stop processing furthur actions until it is unpaused.
type: service
service_name: /{workcell_id}/pause
service_type: nexus_orchestrator_msgs/srv/PauseWorkcell
qos: {durability: "transient_local", reliability: "reliable"}
- title: Signal Workcell Service
description: Sends a signal to a workcell.
type: service
service_name: /{workcell_id}/signal
service_type: nexus_orchestrator_msgs/srv/SignalWorkcell
# Dispenser Service
- title: Dispenser Service
description: Send a request to a dispenser
type: service
service_name: '{dispenser_id}/dispense'
service_type: nexus_dispenser_msgs/srv/DispenseItem
# Calibration
- title: Extrinsic Calibration Service
description: Get extrinsic calibration results from a workcell
type: service
service_name: '/{workcell_id}/calibrate_extrinsics'
service_type: nexus_calibration_msgs/srv/CalibrateExtrinsics