...
2022/03/14: Initial 2.0 API documentation; motion and setup commands.
2022/03/21: Preset name argument added to Move and Combined move. Collision checking against DSM has been moved to an explicit new argument in Move command. Combined move structure row clarifications.
2022/03/30: GetTCPPose description added (formerly duplicated GetJointAngles). DSM command descriptions added. Additional desctiption added to SetAlternateLocation’s “mode” argument. Moved SetServos location for better organization.
2022/04/08: SetResponseType and SetUnits can now be stored per IP address rather than per client. Example CSV responses added to DSM commands. Robot Presets and Object states are now stored to disk so project reload will have the last set values. SetInterruptBehavior timeout value is now used as the timeout for the alternate location mode: 0 with complete_move: 1, and mode: 1. UpdateTarget can now optionally re-generate the autoconnects associated with that target.
2022/04/14: Initial RSM command documentation. AddBox description updated to include box origin and offset argument. AddFrame description updated to note that frames are not saved to disk.
2022/04/21: API specs for enabling a subset of a project added (Activate, Deactivate, UpdateInactiveRobotSettings).
2022/04/28: GetRapidSenseStatus now returns the pallet_id if one exists. InspectPallet no longer returns the package_id. QueryClearance argument description and response details corrected to state that the clients active units will be used for the clearance value. Fixed minor typos in AddFrame and InspectInboundPackage.
2022/05/02: InspectInboundPackage now returns the package_orientation. Interlock generation and report commands added.
2022/05/03: InspectPallet now returns the package_id.
2022/05/04: SetUnits and SetResponseType descriptions updated to make it clear that only new connections will be affected by set_ip_default.
2022/05/12: GetTCPPose YAML response corrected, the key is pose, not tcp_pose. CreateTarget CSV response delayed response corrected from CreateTarget to CreateTargetResult. Added a note to the SetRobotPreset description that ReleaseControl must be called first, if the number of axes on the robot is changing. Added to the UpdateTarget description to indicate that auto connect constraints will be maintained at the targets new location. Updated CancelMove description to note that it is only accepted in OPERATION mode.
2022/05/31: Preset argument description updated in Move and CombinedMove. GetJointAngles is being renamed to GetJointConfiguration, but both are supported currently.
2022/06/01: Added acceptable string characters to the formation rules section.
2022/06/08: Added SetMaxLinearSpeed and SetMaxLinearAcceleration descriptions.
2022/06/14: More SetAlternateLocation examples added. Clarified the behavior of the reset flag for SetMaxLinearSpeeds and SetMaxLinearAcceleration.
2022/06/17: Corrected SetMaxLinearAcceleration’s max value.
2022/07/01: Updated spec for Move with supported move type and goal combinations.
2022/08/08: Clarified the effect CancelMove has on queued Move and CombinedMove commands.
2022/08/30: Added OverrideInspectError, ToggleMonitorFaults, Calibrate descriptions.
2022/08/31: Updated Queuing Moves when a robot preset changes. Updated Queuing Moves with smoothing support. Updated Move spec that supports robot preset changes. Updated SetRobotPreset spec.
2022/10/03: Updated spec for DeactivateRobots.
2022/12/03: (2.2)Updated spec for CreateTarget to add a new target without connections.
2022/12/03: (2.2)Added RenameTarget command.
2022/12/03: (2.2)Added RemoveTarget command.
2022/12/03: (2.2)Added AddConnection command.
2022/12/03: (2.2)Added RemoveConnection command.
2022/12/03: (2.2)Updated spec for Move with support for external axes and triggers.
2022/12/03: (2.2)Updated spec for CombinedMove with support for external axes and triggers.
2022/12/03: (2.2)Updated spec for CancelMove with ramp-down speed at a fixed 80%.
2022/12/03: (2.2)Updated spec for SetDefaultProject to clear the default project if project name input is not specified.
2022/12/03: (2.2)Added GetLoadedProject command.
2022/12/03: (2.2)Added GetRobotPresets command.
2022/12/03: (2.2)Updated spec for UserLog with allowed characters in a user log.
2022/12/04: (2.2)Danger/risk of interleaving RTR with non-RTR move commands is documented in the Move command.
2022/12/05: (2.2)GetJointAngles command is deprecated and replaced by GetJointConfiguration.
2022/12/05: (2.2)Added move type and target type support matrix.
2022/12/05: (2.2)Added 2 cautionary statements regarding mixing RTR with non-RTR moves and robot off-roadmap behaviors for Move command.
2022/12/09: (2.2)Added 1 cautionary statement regarding mixing RTR-controlled moves with non-RTR stop commands.
2023/01/04: (2.2)SetServos command is removed.
2023/01/13: (2.2)Move command and queued move smoothing behavior description is updated.
2023/01/18: (2.2)API command string size limit is specified.
2023/01/30: (2.2)Move command trigger behavior description is updated.
2023/03/06: SetRobotPreset command description is updated
Goal
The ASCII API is a fundamental component of how a user interacts with the Realtime Controller and ultimately controls a robot. In order to effectively complete a task, the user must be able to retrieve information from the Rapidplan Create project, set behavioral characteristics of the robots, and move the robots either following the offline motion plans or with conventional move types.
...
Command strings will be terminated with CR+LF
line endings. The length of the command strings should be less then 2KB. Commands that exceed the 2KB size limit are not forwarded out of the networking layer. They’re simply discarded and the connection is closed.
Requests
Requests sent to the Realtime controller will be formatted according to the inline YAML spec. The function type is set by the topic
key and then arguments are passed as key value pairs.
...
Structure |
| ||
---|---|---|---|
Argument Description |
| ||
Function Description | This command changes the active robot preset for a specific robot. When a preset is changed, current robot motions are not re-validated, but new move commands will respect the new active preset. A robot must be stationary in order to call this command explicitly. Robot preset changes are only allowed while a robot is moving if using the queued Moves or a CombinedMove.If the new preset has a SetRobotPreset commands will be rejected if sent between a user issuing move request to the RTR controller, and the final response being sent from the RTR controller to the user for a given bot . If a preset change is needed, it can be accomplished using the preset_name key within a queued move or combined move request. In the case of switching presets using the preset_name key, there is a requirement that changes in preset during queued moves or CombinedMoves must not change the TCP or the controllable axes. This requirement is in effect if there are any current motions that the user has issued to RTR, that RTR has not yet returned the final API response to the user. If the new preset has a different number of controlled axes than the current preset, ReleaseControl must be called for that robot prior to the SetRobotPreset command. Once the preset change has succeeded, AcquireControl can be called again. When called, the selected preset is stored to disk so upon project reload, the last active preset will be used. | ||
Response Details | This command will return a response to acknowledge the command has been received and executed successfully. | ||
Example Request |
| ||
Example YAML Responses |
| ||
Example CSV Responses |
|
...
Only
Direct
andRoadmap
move types can be added to the queue.A maximum of 100 moves can be added to the queue.
If received in time, the robot will smooth it's current motion into the next in the queue using it's smoothing argument.
The move queue for a given robot is cleared when:
A Move fails
A Move is cancelled
While a robot is executing a motion, the next move in the queue is planned
A robot reserves the swept volume of it’s current motion and the next move in the queue.
A Move is only added to the queue, if a path could be found.
Initial responses will be sent for move requests when planning has finished.
Delayed responses will be sent when queued move segments terminate (due to completion, cancelling, or interruption).
Canceling a robot’s motion with
CancelMove
will clear the move queue and cancel all moves simultaneously. The delayed responses of these moves are not guaranteed to be in queue order.Queued motions will use the interrupt settings when planning in the background.
Queued motions will use the alternate location, if enabled.
A robot’s preset can be changed when Moves are queued. The number of controlled axes shall stay the same. The robot TCP could change when a robot’s preset switches in the queue.
It is highly recommended to include
preset_name
in every queued Move command in case a robot’s preset switches in the queue.Smoothing is supported in queue moves. If the new motion is received in time, the robot will use the current motions smoothing value to blend into the new motion.
Move
Structure |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Argument Description |
If a robot's external axes remain fixed during a move, or switch to different setpoint values defined by a target,
interp : Status |
Direct move types. Robot to robot collisions will always be checked regardless of this flag, but robot self collisions will not be checked. A value of 1 specifies collisions should be checked, and a value of 0 specifies collisions will not be checked. Default value is 1 .
Direct move types. A value of 1 specifies collisions should be checked, and a value of 0 specifies collisions will not be checked. Default value is 1 .
planning move types when the interrupt behavior is not applicable. This value is the amount of time given to plan a path to the specified goal, in seconds. If not provided, the default value is 10 seconds. The minimum value is 0.01 seconds and the maximum value is 120.0 seconds.
pose move should be performed relative to the last commanded robot pose. Default value is false . The move type must be direct when using the relative flag. A reference frame can be specified as well for the pose to be in.
relative moves. The default reference frame is world .
SetRobotPreset before the Move command. If included, the robot cannot have any moves in it’s queue with a different TCP or number of controlled axes.
trigger is an object with 3 A trigger argument has the following fields: Formerly there were blind moves, MoveToXXX, and OffroadtoXXX commands. We would end up with a minimum of 9 different move commands based on if you wanted to move to a target, coordinate (pose) or a joint configuration. With this new generic Move command and the key value syntax, you can specify any of those moves with this one command.A direct move moves the robot directly from it's current position to it's goal position with a given interpolation type. This command is efficient, but can easily be blocked by other robots. It is very useful for final motions, especially if collision checking needs to be disabled.A roadmap move will follow the edges defined in the RPC project. This is expected to be the most common move type since the robots will use the roadmap to dynamically avoid obstacles. If pose is specified, and there is no target in the roadmap as that pose, the robot will leave the roadmap to reach the actual pose. The off-roadmap portion will be collision checked, and will use the interpolation type specified (or joint interpolation by default).A planning move calculates a path for the robot at runtime to reach the goal. This is primarily used to put a robot on the roadmap in the beginning of a task. When called, the
| Function Description |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Function Description | Formerly there were blind moves, MoveToXXX, and OffroadtoXXX commands. We would end up with a minimum of 9 different move commands based on if you wanted to move to a target, coordinate (pose) or a joint configuration. With this new generic Caution: There are risks involved with mixing RTR moves with non -RTR moves(for example, native moves from a robot teach pendant program). The user must make sure that a RTR Caution: There are collision risks involved with stopping a robot from a robot teach pendant program when multi-robot moves are controlled by a RapidPlan controller. The user must make sure that all RTR Caution: When a roadmap move is issued, how far the robot can be away from the roadmap is defined as the distance tolerance to the roadmap node,
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Response Details | When a Move request is received, path planning occurs before a response is sent. If a path is found, this command will return a response code to acknowledge the command has been received, the name of the robot that this move is for, and a unique sequence ID for this specific move. If planning fails, an appropriate error code will be returned, and no delayed response will be sent.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Delayed Response Details | If a path was found, the system will send a
or, for a
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example Request |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example YAML Responses |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example CSV Responses |
|
...
API Endpoints - Scene Modeling
...
In addition to Static Scene Model command SetObjectState, there are Dynamic Scene Model (DSM) commands that allow a user to add obstacles at runtime. A user may need DSM feature if the size or location of the obstacles is unknown offline, and therefore cannot be modeled. A user may also use the DSM object if the number of obstacle variations is unrealistic to model (e.g. in palletizing there may be thousands of obstacle sizes and possible object states).
Any possible DSM obstacle can be modeled with either a Box or CAD Object.
CAD objects must be configured in RapidPlan Create ahead of time to reference at runtime.
The DSM objects cannot be attached to stateful objects.
SetObjectState
Structure |
| ||
---|---|---|---|
Argument Description |
| ||
Function Description | This command changes the active state of a stateful mate. An object is specified as a function argument, and the direct parent’s mate state will be set based on the specified When called, the selected object state is stored to disk so upon project reload, the last active state will be used. | ||
Response Details | This command will return a response to acknowledge the command has been received and executed successfully. | ||
Example Request |
| ||
Example YAML Responses |
| ||
Example CSV Responses |
|
...
Structure |
| ||||||
---|---|---|---|---|---|---|---|
Argument Description |
object that will be removed. | ||||||
Function Description | This command removes a specified object from the Dynamic Scene Model. If no arguments are passed, all objects will be removed, or an array of the box names can be passed to selectively remove. | ||||||
Response Details | This command will return a response to acknowledge the command has been received and executed successfully. | ||||||
Example Request |
| ||||||
Example YAML Response |
| ||||||
Example CSV Response |
|
Reparent
CreatePallet
...
Structure
...
Code Block |
---|
{topic: CreatePallet} |
...
Argument Description
...
None
...
Function Description
...
This command must be run before any packages can be enqueued to be added to the pallet. If a pallet currently exists, this command will clear the existing pallet and replace it with a new one.
...
Response Details
...
This command will return a response to acknowledge a pallet has been created successfully, and will return it’s UUID.
...
Example Request
...
Code Block |
---|
{topic: CreatePallet} |
...
Example YAML Responses
Code Block |
---|
{topic: CreatePallet, type: Response, data: {UUID: 1234-5678-9101-abcd}} |
...
Example CSV Responses
...
Code Block |
---|
CreatePallet,0,1234-5678-9101-abcd |
InspectInboundPackage
...
Structure
...
Code Block |
---|
{topic: InspectInboundPackage, data: {conveyor: <value>, package_id: <value>, package_size: [<value>,<value>,<value>], package_orientation: <value>, package_type: <value>, content_type: <value>, edge_reduce_top_size: [<value>,<value>,<value>], edge_reduce_bottom_size: [<value>,<value>,<value>], place_location: [<value>,<value>,<value>], place_orientation: <value>}} |
...
Argument Description
...
The arguments require the the conveyor ID (e.g., left/right), package ID, the package dimensions, package attributes as provided by the build plan, and the expected place location.
conveyor
: A string indicating upon which conveyor the package is placed. For example, whether it is on the left or right conveyor. The conveyor IDs must match the RapidSense’s configuration. This can be configured before deployment. Valid values are left and right.
package_id
: A unique string corresponding to the item number or ID.
package_size
: An array of 3 floats specifying the expected length, width, height of the product to be confirmed by RapidSense. The clients active units will be used or the default which is millimeters.
package_orientation
: is the orientation of the package along the axis of motion on the conveyor. Supported values are: LENGTH_WIDTH, WIDTH_LENGTH
package_type
: A string with one of the following values:
CARTON_COR for corrugated cardboard
CARTON_OPEN for cartons that are open (display side and top are open)
CARTON_S for solid, rectangular shaped packages
PAPER_WRAPPED for paper wrapped products
SHRINK_WRAPPED for shrink wrapped products
SHRINK_WRAPPED_PLATE for shrink wrapped items resting on a plate made of cardboard, for instance
TOTE for closed plastic totes
TOTE_COLLAPSE for collapsible totes
TOTE_NESTABLE for nestable totes
TOTE_TAPERED for tapered totes
TRAY for items shrink wrapped together sitting in a shallow (e.g., short) tray
TRAY_POLY for polystyrene trays made to support items nested within them
TRAY_UPSIDE for packaging in which the tray is on the top of the products instead of the typically on the bottom
content_type
: A string indicating the material properties of the items in the package. This information is particularly useful for adjusting camera parameters to improve object detection. Values are strings and the possible values are (roundness is determined in conjunction with edge-reduce values):
AEROSOL for aerosol products
BLISTER this could be bubble wrapped items (need to confirm with Marius)
BOTTLE_GLASS for glass bottles
BOTTLE_METAL for metal bottles
BOTTLE_PLASTIC for plastic bottles
BOX for boxed items
CANISTER_METAL for metal canisters
CANISTER_PLASTIC for plastic canisters
CAN_GLASS for glass cans
CAN_METAL for metal cans
CAN_PLASTIC for plastic cans
COMPOSITE for composite materials
CUP for cups
POUCH for items in pouches
TUBE for tubed items
edge_reduce_top_size
: An array of 3 floats specifying the length, width, height of the top of the package if it is tapered from the point at which it would be flush with the package sides. The clients active units will be used or the default which is millimeters.
edge_reduce_bottom_size
: An array of 3 floats specifying the length, width, height of the bottom of the package if it is tapered from the point at which it would be flush with the package sides. The clients active units will be used or the default which is millimeters.
place_location
: An array of 3 floats specifying the X,Y,Z position of the bottom-left-origin for the place location of the package. The position is the the pallet frame created with CreatePallet. The clients active units will be used or the default which is millimeters.
place_orientation
: The orientation of the package upon placement. Supported values are: LENGTH_WIDTH, WIDTH_LENGTH
...
Function Description
...
This command has 2 purposes: it informs RapidSense of a prospective candidate for palletizing as well as corroborating the build plan expectations.
...
Response Details
...
The response contains a pass or fail for the check against the build plan AND the package orientation. Upon failure, the failure reasons (wrong dimensions, missing package, etc) are returned to the caller along with the package orientation in the case of wrong orientation.
package_orientation
: is the orientation of the package along the axis of motion on the conveyor.
0
which represents LENGTH_WIDTH1
which represents WIDTH_LENGTH
...
Example Request
...
Code Block |
---|
{topic: InspectInboundPackage, data: {conveyor: left, package_id: 11213, package_size: [400,320,360], package_orientation: LENGTH_WIDTH, package_type: CARTON_COR, content_type: BOX, edge_reduce_top_size: [0,0,0], edge_reduce_bottom_size: [0,0,0], place_location: [900,1100,700], place_orientation: LENGTH_WIDTH}} |
...
Example YAML Response
...
Code Block |
---|
{topic: InspectInboundPackage, type: Response, data: {package_orientation: 1}}
{topic: InspectInboundPackage, type: Response, error: {code: 5401, msg: <value>}} |
...
Example CSV Response
...
Code Block |
---|
InspectInboundPackage,0,1
InspectInboundPackage,5401 |
QueryClearance
...
Structure
...
Code Block |
---|
{topic: QueryClearance, data: {package_id: <value>}} |
...
Argument Description
...
package_id
: The ID of the package to place.
...
Function Description
...
RapidSense computes the average maximum height for a placement location to allow dynamic adjustment of the z-height during placing. NOTE: objects that are to be placed with significant overhang will bias the measurements so care should be taken in computing this value to allow overhangs but not bias the calculations to negatively impact system operations. This command can be run at any time while RapidSense is in OPERATING state.
...
Response Details
...
The response contains a status for the operation and the clearance if the operation status was successful (i.e., 0). Upon failure, the error code is returned. The clearance value will use the clients active units or the default which is millimeters.
Status indicates whether the query command was successful or whether an error was encountered. A status of 0 indicates the operation was a success. Otherwise, the error code is returned. If an error code is encountered, the clearance is not returned.
...
Example Request
...
Code Block |
---|
{topic: QueryClearance, data: {package_id: 14}} |
...
Example YAML Response
...
Code Block |
---|
{topic: QueryClearance, data:{clearance: 13}}
{topic: QueryClearance, error: {code: 5001, msg: <value>}} |
...
Example CSV Response
...
Code Block |
---|
QueryClearance,0,13
QueryClearance,5001 |
InspectPallet
...
Structure
...
Code Block |
---|
{topic: InspectPallet, data: {package_id: <value>}} |
...
Argument Description
...
package_id
: The placed package ID.
...
Function Description
...
This command is run after a package is added to the pallet.
...
Response Details
...
The response contains the status of the operation and the package_id provided in the request. A status of 0 indicates the operation was successful, otherwise an error code corresponding to the failure mode is returned and the appliance shall take appropriate action (halting the system when necessary). Remediation strategies differ based on the error encountered.
...
Example Request
...
Code Block |
---|
{topic: InspectPallet, data: {package_id: 12345}} |
...
Example YAML Response
...
Code Block |
---|
{topic: InspectPallet, data: {package_id: 12345}}
{topic: InspectPallet, error: {code: 5401, msg: <value>}} |
...
Example CSV Response
...
Code Block |
---|
InspectPallet,0,12345
InspectPallet,5401 |
SetElevatorState
...
Structure
...
Code Block |
---|
{topic: SetElevatorState, data: {state: <value>, offset: <value>}} |
...
Argument Description
...
state
: The current state of the elevator. Either a case insensitive string, or it’s integer map.
MOVING
or0
STATIONARY
or1
offset
: A float specifying how far the elevator has moved. The clients active units will be used or the default which is millimeters.
...
Function Description
...
This command is run once when the elevator begins moving and another time when the elevator stops moving. The destination offset will use the client specific settings, or millimeters by default.
...
Response Details
...
This command will return a response to acknowledge the command has been received and executed successfully.
...
Example Request
...
Code Block |
---|
{topic: SetElevatorState, data: {state: MOVING, offset: 0}} |
...
Example YAML Responses
...
Code Block |
---|
{topic: SetElevatorState, type: Response} |
...
Example CSV Responses
...
Code Block |
---|
SetElevatorState,0 |
OverrideInspectError
...
Structure
...
Code Block |
---|
{topic: OverrideInspectError, data: {package_id: <value>}} |
...
Argument Description
...
package_id
: The package ID of the package, in error, to override.
...
Function Description
...
This command is valid anytime an inspection call is made that fails during inbound or pallet inspection. The command will “promote” a package on inbound from failed to ready for placement on the pallet. If the package is on the pallet, that package is marked OK.
...
Response Details
...
If the package ID invalid, BAD_PARAMS (5015) is returned, otherwise, if the operation is successful, OK (0), is returned.
...
Example Request
...
Code Block |
---|
{topic: OverrideInspectError, data: {package_id: <value>}} |
...
Example YAML Response
...
Code Block |
---|
// Successfully executed
{topic: OverrideInspectError, type: Response, data: {}}
// Bad parameters provided
{topic: OverrideInspectError, type: Response, error: {code: 5015, msg: Bad parameters in function call.}} |
...
Example CSV Response
...
Code Block |
---|
// Successfully executed
OverrideInspectError,0
// Bad parameters provided
OverrideInspectError,5015 |
ToggleMonitorFaults
...
Structure
...
Code Block |
---|
{topic: ToggleMonitorFaults, data: {speed_scaling_factor: <value>} |
...
Argument Description
...
speed_scaling_factor
Status | ||||
---|---|---|---|---|
|
...
Function Description
...
This command toggles whether monitor faults cause the controller to fault and sets the scaling factor for all active robots' motions. Valid values are between 0.001 and 1.0. Use 1.0 to enable the entire range of speeds. These values are percentages, for instance, 0.1 is 10%.
...
Response Details
...
Whether the command was successful in toggling the flag allowing monitor failures to cause controller faults along with the new value of speed scaling factor that was set for the system speed limit.
...
Example Request
...
Code Block |
---|
{topic : ToggleMonitorFaults, data : { speed_scaling_factor : 0.1}} |
...
Example YAML Response
...
Code Block |
---|
// Succesfully executed
{topic: ToggleMonitorFaults, type: Response, data: {}} |
...
Example CSV Response
...
Code Block |
---|
// Successfully executed
ToggleMonitorFaults,0 |
Calibrate
Structure
Code Block |
---|
{topic: Calibrate, data: {sensor_location: <value>}} |
Argument Description
sensor_location
: Valid values are:
Inbound camera = 0
Pallet left camera = 1
Pallet right camera = 2
Function Description
This command initiates the calibration of a sensor.
Response Details
Structure |
| ||
---|---|---|---|
Argument Description |
| ||
Function Description | This command will re-assign the parent frame for a specified DSM box. After this command executes, the box will have a new parent frame with an offset such that it remains in it’s current position. If the box’s new parent frame is moved, the box will move with it with that offset. A box’s parent frame can also be the TCP of a robot, and as the robot moves, the box moves with it maintaining the initial offset. A robot’s default TCP should be used that way it is independent of presets. A robot’s default TCP can be specified as {robot_name}_default_tcp. In order to assign a robot’s tcp as the parent of a box, the robot must be stationary. | ||
Response Details | This command will return a response to acknowledge the command has been received and executed successfully. | ||
Example Request |
| ||
Example YAML Response |
| ||
Example CSV Response |
|
API Endpoints - RapidSense and RapidSenseMonitor
GetRapidSenseStatus
...
Structure
...
Code Block |
---|
{topic: GetRapidSenseStatus, data: {response_format: <value>}} |
...
Argument Description
response_format
:
Status | ||||
---|---|---|---|---|
|
0
orint
to specify integer response format1
orstr
to specify string response format
...
Function Description
...
This command returns the status of various RTR subsystems.
...
Response Details
...
This command will return a response containing the status of Rapidsense
rapidsense_version
: The current version of Rapidsense in the form, major.minor.build
rapidsense_mode
: IDLE or 0, CALIBRATING or 1, OPERATING or 2, FATAL or 3
pallet_id
: The UUID of the current pallet (as returned in CreatePallet). If no pallet exists, the YAML response will omit this key and the CSV response will return null
.
number_of_errors
: The number of errors present. Note: only included in the CSV response type.
error_list
: The list of current Rapidsense response codes.
...
Example Request
...
Code Block |
---|
{topic: GetRapidSenseStatus, data: {response_format: 0}}
{topic: GetRapidSenseStatus, data: {response_format: 1}} |
...
Example YAML Responses
...
Code Block |
---|
{topic: GetRapidSenseStatus, type: Response, data: {rapidsense_version: 2.0.0,rapidsense_mode: 2,pallet_id: 1234-5678-9101-abcd,error_list: [5001]}}
{topic: GetRapidSenseStatus, type: Response, data: {rapidsense_version: 2.0.0,rapidsense_mode: OPERATING,pallet_id: 1234-5678-9101-abcd,error_list: [5001]}}
{topic: GetRapidSenseStatus, type: Response, data: {rapidsense_version: 2.0.0,rapidsense_mode: 0,error_list: [5001]}}
{topic: GetRapidSenseStatus, type: Response, data: {rapidsense_version: 2.0.0,rapidsense_mode: IDLE,error_list: [5001]}}
{topic: GetRapidSenseStatus, type: Response, data: {rapidsense_version: 2.0.0,rapidsense_mode: 1,error_list: [5102,5103]}}
{topic: GetRapidSenseStatus, type: Response, data: {rapidsense_version: 2.0.0,rapidsense_mode: CALIBRATING,error_list: [5102,5103]}} |
...
Example CSV Responses
...
Code Block |
---|
GetRapidSenseStatus,0,2.0.0,2,1234-5678-9101-abcd,0
GetRapidSenseStatus,0,2.0.0,OPERATING,1234-5678-9101-abcd,0
GetRapidSenseStatus,0,2.0.0,0,null,1,5001
GetRapidSenseStatus,0,2.0.0,IDLE,null,1,5001
GetRapidSenseStatus,0,2.0.0,1,null,2,5102,5103
GetRapidSenseStatus,0,2.0.0,CALIBRATING,null,2,5102,5103 |
_tcp. In order to assign a robot’s tcp as the parent of a box, the robot must be stationary. | |||
Response Details | This command will return a response to acknowledge the command has been received and executed successfully. | ||
---|---|---|---|
Example Request |
|
|
|
|
| ||
Example YAML Response |
|
---|
|
|
|
|
Example CSV Response |
|
---|
|