Difference between revisions of "SmartFestoFleetCom 16.04"
(→FleetManager to SmartSoft) |
(→SmartSoft response to FleetManager requests) |
||
Line 125: | Line 125: | ||
! Usage Example | ! Usage Example | ||
! Description | ! Description | ||
+ | |- | ||
+ | |GETJOBINFO JOBID PRIORITY ROBOTINOID FROMSTATION FROMBELT TOSTATION TOBELT STATE | ||
+ | | | ||
+ | |with STATE being one of the following strings | ||
+ | *PENDING | ||
+ | *DOCKING | ||
+ | *UNDOCKING | ||
+ | *DRIVING | ||
+ | *LOADING | ||
+ | *UNLOADING | ||
+ | *FINISHED | ||
+ | *ERROR | ||
|} | |} | ||
Revision as of 09:04, 27 May 2014
TCP/IP Communication Protocol B/W Fleet Manager and SmartFestoFleetCom
FleetManager to SmartSoft
Command | Usage Example | Description |
---|---|---|
DeliverFromTo SourceStationID SourceBeltID DestinationStationID DestinationBeltID | DeliverFromTo 1 1 2 2 | Drive to Position 1, dock to Belt 1, Load, Undock, Drive to Position 2, dock to Belt 2, Unload, Undock |
GotoPosition PositionID | GotoPosition 1 | Drives to Position 1 |
DockTo BeltID | DockTo 1 | Docks to Belt 1 |
Undock | Undock | Undocks if already docked |
LoadBox | LoadBox | Loads on Box if no box already loaded on the belt and transport station ready to load |
UnloadBox | UnloadBox | Unloads the Box if box present on the belt and transport station ready to receive |
<NOT YET> Stop | Stop | Halt the Robotino, put the task on hold |
<NOT YET> Continue | Continue | Resumes the task if a task is on hold |
EndTask | EndTask | Terminates the ongoing task and stops any movement |
TeachPosition PositionID x y phi | TeachPosition 1 0.54 23.5 45.0 | Teach Position with ID 1, in global coordinates x(in meters):0.54, y(in meters):23.5, phi(in degrees):45 If position ID already exists position is overwritten. |
TeachPositionWithName PositionID x y phi "name" | TeachPositionWithName 1 0.54 23.5 45.0 "Station #1" | Teach Position with ID 1, in global coordinates x(in meters):0.54, y(in meters):23.5, phi(in degrees):45 with name "Station #1". If position ID already exists position is overwritten. |
DeletePosition PositionID | DeletePosition 3 | Delete position with PositionID. If there is no position with PositionID nothing happens. |
TeachCurrentPosition PositionID | TeachCurrentPosition 1 | Assign the current global position the ID 1 |
GetAllPosition | GetAllPosition | Reads the list of all taught positions with its ID and Name |
SetNameForPosition PositionID name | SetNameForPosition 1 RedParts | Sets a tag RedParts for PostionID 1 if exists |
ReloadPositionStorage | ReloadPositionStorage | Triggers a reload of the position storage file. This is neccessary after transfering a position storage file from another Robotino. |
StartMapping | StartMapping | Start creation of a new map. |
StopMapping | StopMapping | Stop map creation. Map is saved as new map with date and time (map-YYYY-MM-DD_HH-MM-SS), in the MapStorageDirectory. (eg. map-2013-11-28_10-00-18.yaml map-2013-11-28_10-00-18.pgm) |
ReLoadDefaultMap | ReLoadDefaultMap | ReLoadDeafault map for navigation and localization. Global localization is used unless SetRobotPose is called afterwards. |
SetRobotPose x y phi | SetRobotPose 1.2 2.5 90 | Set the current pose of the robot x y in meter phi in DEG. |
GetSystemState | GetSystemState | Get a SystemState message once |
PUSHJOB JOBID PRIORITY ROBOTINOID FROMSTATION FROMBELT TOSTATION TOBELT |
| |
SETOPERATIONMODE ROBOTINOID MODE |
| |
GETJOBINFO JOBID | ||
GETJOBERROR JOBID |
SmartSoft to FleetManager (Cyclic every 500ms)
Command | Usage Example | Description |
---|---|---|
RobotPose x y phi | RobotPose 0.5 12.56 12.5 | Position of robot in x=0.5(in meters),y=12.56(in meters)and angle=12.5 in degree |
BatteryState voltage voltageLow | BatteryState 18 1 | Battery voltage is 18Volts and voltage low is true |
SystemState CurrentCommand CommandArgs CurrentCommand: NoJob, StartJob, JobDone, JobError |
SystemState "NoJob" | Robot Idle and waiting for task |
SystemState "Setup" | Robot in Setup state, mapping etc. | |
SystemState "StartJob DeliverFromTo" | A Job has been started to Drive, dock, Load, Undock, Drive to the next Position, dock , Unload, Undock | |
SystemState "JobDone DeliverFromTo" | Box transported | |
SystemState "JobError DeliverFromTo PATH_BLOCKED" | Robot path blocked to complete the task | |
SystemState "JobError GoToPosition PATH_BLOCKED" | Robot path blocked to complete the task | |
SystemState JobError DockTo NO_DOCK_STATION | Robot not close to the docking station(If the laser scanner intensity value is not as desired) | |
SystemState JobError LoadBox BOX_PRESENT | Robot is already having a box on top(detected by "Box available" digital signal) | |
SystemState JobError LoadBox NO_RESPONSE_FROM_STATION | The transport station has nothing to load(detected by "Station Ready" digital signal) | |
SystemState JobError LoadBox NO_BOX | The box was not sucessfully loaded from the transport station(detected by "Box available" digital signal) | |
SystemState JobError UnloadBox NO_RESPONSE_FROM_STATION | The transport station is not ready to receive a box(detected by "Station Ready" digital signal) | |
SystemState JobError UnloadBox NO_BOX | No box on top of the Robot(detected by "Box available" digital signal) | |
SystemState JobError UnloadBox BOX_PRESENT | Task terminated but a box is still present on the robot(detected by "Box available" digital signal) | |
SystemState EndJob UnloadBox BOX_ABSENT | Task terminated no box on the robot(detected by "Box available" digital signal) | |
Progress | Progress 40 | 40% of the Job is complete |
SmartSoft response to FleetManager requests
Command | Usage Example | Description |
---|---|---|
GETJOBINFO JOBID PRIORITY ROBOTINOID FROMSTATION FROMBELT TOSTATION TOBELT STATE | with STATE being one of the following strings
|
Channel Two: only used for order and error handling
Commands in both the directions has the format, CommandName CommandArgument1 CommandArgument2 ie, Space between command name and its arguments, and additional commands appended with a newline character.
FleetManager to SmartSoft | ||
---|---|---|
Command | Usage Example | Description |
PUSHJOB JOBID PRIORITY ROBOTINOID FROMSTATION FROMBELT TOSTATION TOBELT
OrderList NoOfOrders OrderID OrderPriority AssignToRobot NoOfFromStation FromStation1 FromBelt1 Is1FromManual . . FromStationN FromBeltN IsNFromManual NoOfToStation ToStation1 ToBelt1 Is1ToManual . . ToStationN ToBeltN IsNToManual . . ||OrderList 2 100 1 127.134.10.15 1 2 1 False 2 3 1 False 4 0 True 101 0 0.0.0.0 2 3 1 False 4 0 True 1 2 1 False|| Fleet Manager sends orders to Master Robotino.
OrderNo: 101
| ||
ErrorAck RobotID Retry/Abort | ErrorAck 127.10.5.30 Retry | Response of Fleet Manager to error message Robot with IP 127.10.5.30 asked to retry its current task |
ErrorAck 127.10.5.30 Abort | Robot with IP 127.10.5.30 asked to Abort its complete order | |
ManualAck RobotID OrderID | ManualAck 127.10.5.30 100 | Acknowledge the box loaded or unloaded. After receiving acknowledgement, check the “BoxPresent” sensor to give error or to continue. |
ModeSelect NoOfRobot Robot1ID Robot1Mode Robot2ID Robot2Mode . . RobotNID RobotNMode | ModeSelect 3 10.12.14.1 Manual 10.12.14.2 Auto . . 10.12.14.100 OutOfService | Mode selection amongst the fleet of the Robotino |
SmartSoft to FleetManager (Responses in the order of query above) | ||
OrderAssignment NoOfOrders OrderID AssignToRobot FromStation FromBelt ToStation ToBelt . . | OrderAssignment 2 100 127.134.10.15 1 2 2 3 120.150.10.45 2 3 1 2 | Master Robotino informs about the assignments it has made. Order Assignment has
OrderNo: 101
|
RobotError Task ErrorParam | RobotError DeliverFromTo PATH_BLOCKED" | Robot path blocked to complete the task |
RobotError GoToPosition PATH_BLOCKED" | Robot path blocked to complete the task | |
RobotError DockTo NO_DOCK_STATION | Robot not close to the docking station(If the laser scanner intensity value is not as desired) | |
RobotError LoadBox BOX_PRESENT | Robot is already having a box on top(detected by "Box available" digital signal) | |
RobotError LoadBox NO_RESPONSE_FROM_STATION | The transport station has nothing to load(detected by "Station Ready" digital signal) | |
RobotError LoadBox NO_BOX | The box was not sucessfully loaded from the transport station(detected by "Box available" digital signal) | |
RobotError UnloadBox NO_RESPONSE_FROM_STATION | The transport station is not ready to receive a box(detected by "Station Ready" digital signal) | |
RobotError UnloadBox NO_BOX | No box on top of the Robot(detected by "Box available" digital signal) | |
RobotError UnloadBox BOX_PRESENT | Task terminated but a box is still present on the robot(detected by "Box available" digital signal) | |
ManualGoal RobotID OrderID StationID StationType | ManualGoal 12.10.15.1 100 1 FromStation | Robot informs the fleet manager the goal position and type it reached |
ManualGoal 12.10.15.1 100 1 ToStation | Robot informs the fleet manager the goal position and type it reached | |
BoxStatus RobotID OrderID StationID BeltID BoxJobType | BoxStatus 12.10.15.1 100 1 2 Unload | Robot informs the fleet manager the unloading of the box |
BoxStatus 12.10.15.1 100 1 2 Load | Robot informs the fleet manager the loading of the box |
GetAllPosition
Return value format
GetAllPosition id x y phi "name",id x y phi "name" ...
name must not contain comma (0x2C)
GETJOBINFO
Return value format
GETJOBINFO JOBID PRIORITY ROBOTINOID FROMSTATION FROMBELT TOSTATION TOBELT STATE
with STATE being one of the following strings
- PENDING
- DOCKING
- UNDOCKING
- DRIVING
- LOADING
- UNLOADING
- FINISHED
- ERROR
GETJOBERROR
Return value format
GETJOBERROR JOBID ERROR
ERROR string | Description |
---|---|
DeliverFromTo PATH_BLOCKED | Robot path blocked to complete the task |
GoToPosition PATH_BLOCKED | Robot path blocked to complete the task |
DockTo NO_DOCK_STATION | Robot not close to the docking station(If the laser scanner intensity value is not as desired) |
LoadBox BOX_PRESENT | Robot is already having a box on top(detected by "Box available" digital signal) |
LoadBox NO_RESPONSE_FROM_STATION | The transport station has nothing to load(detected by "Station Ready" digital signal) |
LoadBox NO_BOX | The box was not sucessfully loaded from the transport station(detected by "Box available" digital signal) |
UnloadBox NO_RESPONSE_FROM_STATION | The transport station is not ready to receive a box(detected by "Station Ready" digital signal) |
UnloadBox NO_BOX | No box on top of the Robot(detected by "Box available" digital signal) |
UnloadBox BOX_PRESENT | Task terminated but a box is still present on the robot(detected by "Box available" digital signal) |