Difference between revisions of "SmartFestoFleetCom 16.04"
From RobotinoWiki
(→Deprecated Responses !!!) |
(→Jobs Pushed to the Fleet / Master) |
||
Line 182: | Line 182: | ||
|PushJob GripperLoad 2 0 10 GRASP | |PushJob GripperLoad 2 0 10 GRASP | ||
| | | | ||
− | *''' | + | *'''RobotGripper''' |
*'''JOBID''' unique number generated by the MES | *'''JOBID''' unique number generated by the MES | ||
*'''PRIORITY''' currently not used | *'''PRIORITY''' currently not used |
Revision as of 13:31, 28 June 2017
TCP/IP Communication Protocol B/W Fleet Manager and SmartFestoFleetCom
This page describes the interface for the most recent smartsoft-robotino version running on Ubuntu 16.04.
For the latest smartsoft-robotino version running on Ubuntu 12.04 version see this page: SmartFestoFleetCom_12.04
Fleet Management Commands Pushed to the Fleet / Master
Command | Usage Example | Description |
---|---|---|
Position Handling | ||
TeachPosition PositionID x y phi numBelts distance type | TeachPosition 1 0.54 23.5 45.0 3 0.85 pose | Teach Position with ID 1, in global coordinates x(in meters):0.54, y(in meters):23.5, phi(in degrees):45. In front of the position there is a station with 3 belts. The distance from position to station is 0.85m. If position ID already exists position is overwritten. If the position is not connected to a station set numBelts=0 and distance=0. Type could be of value pose or parking, parking positions will be used to park idle robots in automatic job assignment mode. |
ReplacePositions [Position PositionID x y phi numBelts distance type]* | ||
DeletePosition PositionID | DeletePosition 3 | Delete position with PositionID. If there is no position with PositionID nothing happens. |
DeleteAllPositions | DeleteAllPositions | Deletes all positions. |
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 |
Map Handling | ||
StartMapping RobotinoID (mapname) | StartMapping 1 "MapName" | Start creation of a new map (SLAM) using a specific robot. The mapname is optional, if none is given a time-stamp is used (map-YYYY-MM-DD_HH-MM-SS). |
AbortMapping (RobotinoID) | AbortMapping 1 | Abort the creation of a new map (new map is discarded). The current default map is reloaded in the localization (global localization is triggered). The RobtinoID is optional of not given the command is forwarded to all robots. |
StopMapping RobotinoID | StopMapping 1 | Stop map creation. New map is saved in the MapStorageDirectory. The new map is set as default map and is used for localization. |
ReloadDefaultMap | ReLoadDefaultMap | ReLoadDeafault map for navigation and localization, as well as the corresponding poses from file. Global localization is used unless SetRobotPose is called afterwards. |
ReloadDefaultPaths | ReloadDefaultPaths | ReloadDefaultPaths path-map for paths based navigation. |
Other | ||
SetRobotPose RobotinoID x y phi | SetRobotPose 1 1.2 2.5 90 | Set the current pose of the robot x y in meter phi in DEG. |
SetOperationMode ROBOTINOID MODE |
| |
ClearAllPathNetworkNodes RobotinoID | Frees all nodes currently allocated by the robot | |
ShutdownRobot RobotinoID | Stop all SmartSoft components in a coordinated manner and remove robot from fleet. In case the master is shutdown the slaves are as well. | |
<NOT YET> SetDriveSystem X_speed Y_speed Teta_speed | SetDriveSystem 0 0 0 | This command overrides the default set value in Robot base server. |
ManualAcknowledge RobotinoID | Acknowledge the Robotino that the box is placed/removed from it after reaching the manual pose(no docking station) | |
PauseRobot (RobotinoID) | StopRobot 1 | Halt the Robotinos movement, (jobs or other activities are not affected) The RobotinoID is optional, without the id the command is distributed to all robots. |
ContinueRobot (RobotinoID) | ContinueRobot 1 | Resumes the robots movement The RobotinoID is optional, without the id the command is distributed to all robots. |
EndTask (RobotinoID) | EndTask 1 | Terminates the ongoing task and stops any movement --> set robot mode to OUTOFSERVICE The RobotinoID is optional, without the id the command is distributed to all robots. |
Information Queries | ||
GetMyRobotinoId | GetMyRobotinoId | Get the ID of the robotino |
GetRobotFleetType robotinoId | GetRobotFleetType 1 | Get the fleet-type of the robotino (transport, manipulation, etc.) |
GetRobotInfo RobotinoID |
| |
GetAllRobotinoID | Reads all the RobotinoID | |
GetFleetState | Get state of all robots in the fleet. | |
GetRobotIDMasterComponentsRunOn | Get the id of the robot the master components run on (-1) of the components are not running on a robot within the fleet. | |
<NOT YET> GETESTIMATEDJOBDURATION RobotinoID FROMSTATION FROMBELT TOSTATION TOBELT |
Jobs Pushed to the Fleet / Master
Command | Usage Example | Description |
---|---|---|
PushJob JOBTYPE JOBID PRIORITY ROBOTINOID ..... | Push an job to the fleet (parameters depend on job type) | |
PushJob GotoPosition JOBID PRIORITY ROBOTINOID POSE | PushJob GotoPosition 2 3 1 1 |
|
PushJob DeliverFromTo JOBID PRIORITY ROBOTINOID FROMSTATION FROMBELT IsFromManual TOSTATION TOBELT IsToManual | PushJob DeliverFromTo 2 3 1 2 1 0 3 2 0 |
|
PushJob RobotCommissioning JOBID PRIORITY ROBOTINOID COMMISSIONINGROBOT FROMSTATION FROMBELT IsFromManual TOSTATION TOBELT IsToManual [ORDER_ITEM QUANTITY]+ | PushJob RobotCommissioning 2 0 -1 99 6 0 1 1 1 0 ITEM1 2 ITEM2 1 |
|
PushJob MPSDocking JOBID PRIORITY ROBOTINOID [DOCK | UNDOCK] TOBELT | PushJob MPSDocking 2 0 10 DOCK 1 |
|
PushJob MPSLoading JOBID PRIORITY ROBOTINOID [LOAD | UNLOAD] LOADMANUAL | PushJob MPSLoading 2 0 10 LOAD 1 |
|
PushJob BatteryChargerDocking JOBID PRIORITY ROBOTINOID [DOCK | UNDOCK] | PushJob BatteryChargerDocking 2 0 10 DOCK |
|
PushJob GripperLoad JOBID PRIORITY ROBOTINOID [GRASP | RELEASE] | PushJob GripperLoad 2 0 10 GRASP |
|
Job Management | ||
DeleteJob JOBID | DeleteJob 11 | Delete an already pushed, but not yet started, job. --> response: DeleteJob jobid:"id" success OR DeleteJob jobid:"id" failed if the job is already running or fished |
GetJobInfo JOBID | ||
GetJobError JOBID | ||
ClearError RobotinoID | Clears the robot error state and continue with job (and redo failed part) | |
AbortJobAndClearError RobotinoID | Abort the current job and clear the robot error state | |
<NOT YET> InterceptJob RobotID | InterceptJob | Intercept the job, other commands can be executed meanwhile |
<NOT YET> ContinueJob RobotID | JobID | Continue the intercepted job. |
Response from Fleet / Master
Command | Usage Example | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FleetState key:value key:value | FleetState robotinoid:3 x:0.5 y:11.4 phi:56.32 batteryvoltage:22.5 ipaddress:192.168.1.241 robotinoid:3 x:0.5 .... | info of all robots in the fleet | ||||||||||||||||||||||||||
MyRobotinoId id | MyRobotinoId 1 | the id of the asked robotino | ||||||||||||||||||||||||||
RobotIDMasterComponentsRunOn id | RobotIDMasterComponentsRunOn 1 | |||||||||||||||||||||||||||
RobotFleetType robotinoId master or slave | RobotFleetType 1 master | the fleet type of robotino asked | ||||||||||||||||||||||||||
AllPosition id x y phi numBelts distance,id x y phi numBelts distance... | AllPosition 1 0.4 3.7. 10 3 0.85 | If id is not a number id must not contain comma (0x2C) or whitespace. If the position is not connected to a station than numBelts=0. | ||||||||||||||||||||||||||
AllRobotinoID ID, ID ... | AllRobotinoID 1, 2 ... | ID must not contain comma (0x2C) | ||||||||||||||||||||||||||
<NOT YET> EstimatedJobDuration TimeInSec | TimeInSec = TimeToCompleteCurrentJob + TimeToCompleteReqestedJob | |||||||||||||||||||||||||||
GetManualAcknowledge RobotinoID | Pushed by SmartSoft when manual pose(no docking station) reached and waiting for his acknowledgement after placing/removing the box | |||||||||||||||||||||||||||
DeleteJob jobid:"id" success OR failed | DeleteJob jobid:11 failed | Pushed by JobDispatcher as response to the DeleteJob message. | ||||||||||||||||||||||||||
Robot State or Job Messages | ||||||||||||||||||||||||||||
RobotInfo key:value key:value ... | RobotInfo robotinoid:3 x:0.5 y:11.4 phi:56.32 batteryvoltage:22.5 laserwarning:0 lasersafety:0 boxpresent:1 state:Idle | Response to GETROBOTINFO or pushed by SmartSoft if cyclic response is enabled.State can be IDLE/BUSY/ERROR. | ||||||||||||||||||||||||||
JobInfo key:value key:value ... | DeliverFromTo: JobInfo robotinoid:10 jobid:10 priority:1 fromstation:2 frombelt:1 tostation:3 tobelt:4 state:STARTED GotoPosition: JobInfo robotinoid:10 jobid:10 state:STARTED |
with STATE being one of the following strings
Pushed by SmartSoft on state change. | ||||||||||||||||||||||||||
JobError key:value key:value ... | JobError robotinoid:1 jobid:10 error:"DockTo NO_DOCK_STATION" |
Pushed by SmartSoft when error occurs. |
Deprecated!!! Commands Pushed to Robots via Master
Command | Usage Example | Description |
---|---|---|
PushCommand RobotinoID Command_parameters | PushCommand 1 GoToPosition 2 | This command is used to send out individual commands.(GoToPosition PoseNo,DockTo BeltNo,LoadBox IsStationManual,Undock,UnloadBox IsStationManual,EndTask,DockToCharger,UnDockCharger) |
GotoPosition RobotinoID PositionID | GotoPosition 1 1 | Drives to Position 1 |
DockTo BeltID | DockTo 1 | Docks to MPS station Belt 1 |
Undock | Undock | Undocks from MPS station if already docked |
<TESTING> VisualDockTo | VisualDockTo | Docks to MPS station using vision (FOR TESTING ONLY!) |
DockToCharger | DockToCharger | Docks to robotino charger |
UnDockCharger | UnDockCharger | UnDockCharger from robotino charger |
LoadBox (loadManual) | LoadBox 1 | Loads on Box if no box already loaded on the belt and transport station ready to load, of parmeter (loadManual) is 1 manual loading performed |
UnloadBox (loadManual) | UnloadBox 1 | Unloads the Box if box present on the belt and transport station ready to receive |
GripperOpen | GripperOpen | Opens the gripper attached to robotino |
GripperClose | GripperClose | Closes the gripper attached to robotino |
Deprecated Responses !!!
Command | Usage Example | Description |
---|---|---|
CommandInfo key:value key:value ...<NOT YET IMPLEMENTED> | CommandInfo robotinoid:10 state:"Started-* or Finished-* or Error-*" | with STATE being one of the following strings
--
--
--
--
--
--
--
--
-- --
-- Pushed by SmartSoft on state change. |
fleetcom_request topic items handled by fleetcomd
Command | Usage Example | Description |
---|---|---|
GetMapList | ||
SetDefaultMap | ||
UploadMap | ||
DownloadMap | ||
RenameMap | ||
DeleteMap |