...
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 |
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
...
Whether the system successfully transitioned into calibration mode.
...
Example Request
...
Code Block |
---|
{topic: Calibrate, data: {sensor_location: 1}} |
...
Example YAML Response
...
Code Block |
---|
// Successfully executed
{topic: Calibrate, type: Response, data: {}}
// Camera hardware failure
{topic: Calibrate, type: Response, error: {code: 5102, msg: Camera hardware failure.}}
|
...
Example CSV Response
...
Code Block |
---|
// Successfully executed
Calibrate,0
// Camera hardware failure
Calibrate,5102 |