The workstations are only described with a string, which technically contains the type, but with the current implementation, users are required to string match to get the location type.
The old refbox implementation used to send a location type with enums defined in the msg.
We defined our own workstation msg to create a struct with ros functionality:
WorkstationSimple.msg
# basic info
string name
### status
uint8 UNKNOWN = 0
uint8 KNOWN = 1
uint8 SCANNED = 2
uint8 status
### type
uint8 GROUND = 0
uint8 TABLE = 1
uint8 ROTATING_TABLE = 2
uint8 PRECISE_PLACE = 3
uint8 SHELF = 4
uint8 ARBITRARY = 5
uint8 type
Please also transmit a task ID. The old refbox sent the target task every 2s or so. If thats the case, we checked for the task ID to identify old / previously received tasks. ATM this is not possible anymore
The workstations are only described with a string, which technically contains the type, but with the current implementation, users are required to string match to get the location type.
The old refbox implementation used to send a location type with enums defined in the msg.
We defined our own workstation msg to create a struct with ros functionality:
WorkstationSimple.msg