Difference between revisions of "SmartFestoFleetCom 16.04"

From RobotinoWiki
(SmartSoft response to FleetManager requests)
(FleetManager to SmartSoft)
Line 47: Line 47:
 
|SetRobotPose x y phi||SetRobotPose 1.2 2.5 90 ||Set the current pose of the robot x y in meter phi in DEG.
 
|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
+
|<span style="background:#FF0000"><strike> GetSystemState </strike> </span>||GetSystemState||<span style="background:#FF0000"> Is now handled by getRobotInfo  </span>
 
|-
 
|-
 
|PushJob JOBTYPE JOBID PRIORITY ROBOTINOID FROMSTATION FROMBELT IsFromManual TOSTATION TOBELT IsToManual
 
|PushJob JOBTYPE JOBID PRIORITY ROBOTINOID FROMSTATION FROMBELT IsFromManual TOSTATION TOBELT IsToManual

Revision as of 16:00, 22 July 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 Is now handled by pushjob
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 Is now handled by getRobotInfo
PushJob JOBTYPE JOBID PRIORITY ROBOTINOID FROMSTATION FROMBELT IsFromManual TOSTATION TOBELT IsToManual PushJob DeliverFromTo 2 3 1 2 1 0 3 2 0
  • JOBTYPE type of job e.g DeliverFromTo,..
  • JOBID unique number generated by the MES
  • PRIORITY currently not used
  • ROBOTINOID number of Robotino that should do the job. The Robotino number is configured through the web-interface of each Robotino. The Robotino number should be made visible on each Robotino. Giving a -1 as ROBOTINOID indicates that the planner should automatically choose the Robotino fullfilling this job.
  • FROMSTATION station id from where to load the box
  • FROMBELT belt id from where to load the box
  • IsFromManual True if the pick up station is a manual position(No docking station)
  • TOSTATION station id where to unload the box
  • TOBELT belt id where to unload the box
  • IsToManual True if drop-off station is a manual position(No docking station)
<NOT YET> PushCommand RobotinoID Command_parameters PushCommand 1 GoToPosition 2 This command is used to send out individual commands.(GoToPosition,DockTo,LoadBox,Undock,UnloadBox,EndTask)
SetOperationMode ROBOTINOID MODE
  • ROBOTINOID number of Robotino to change the mode for.
  • MODE:
    • OUTOFSERVICE do NOT auto-assign jobs to Robotino
    • AUTO auto-assign jobs to Robotino.
    • MANUAL do NOT auto-assign jobs to Robotino, but assign to target Robotino when individual task received.
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
ManualAcknowlege RobotinoID Acknowledge the Robotino that the box is placed/removed from it after reaching the manual pose(no docking station)
<NOT YET> GETESTIMATEDJOBDURATION RobotinoID FROMSTATION FROMBELT TOSTATION TOBELT
GetRobotInfo ROBOTINOID [CYCLETIME]
  • ROBOTINOID ID of robot to request the ROBOTINFO from

*CYCLETIME (optional) If >0 than ROBOTINFO response is send cyclic every CYCLETIME ms. If CYCLETIME is smaller than 100ms CYCLETIME is set to 100ms. If CYCLETIME is 0 than cyclic sending is disabled and you get only one response to this request. If CYCLETIME is omitted the cyclic sending is not altered and you receive a single response to this request.

GetAllRobotinoID Reads all the RobotinoID with their IP address

SmartSoft response to FleetManager requests

Command Usage Example Description
GetAllPosition id x y phi "name",id x y phi "name" ... name must not contain comma (0x2C)
AllRobotinoID ID, ID ... AllRobotinoID 1, 2 ... ID must not contain comma (0x2C)
RobotInfo key:value key:value ... RobotInfo id:3 x:0.5 y:11.4 phi:56.32 batteryvoltage:22.5 laserwarning:0 lasersafety:0 boxpresent:1 dockcomplete:1 stationready: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 ... JobInfo robotinoid:10 jobid:10 priority:1 fromstation:2 frombelt:1 tostation:3 tobelt:4 state:STARTED with STATE being one of the following strings
  • NOTAVAILABLE
  • STARTED
  • DOCKING
  • UNDOCKING
  • DRIVING
  • LOADING
  • UNLOADING
  • FINISHED
  • NOTSTARTED
  • ERROR

Pushed by SmartSoft on state change.

CommandInfo key:value key:value ...<NOT YET IMPLEMENTED> CommandInfo robotinoid:10 state:StartedGoToPosition with STATE being one of the following strings
  • StartedGoToPosition
  • FinishedGoToPosition
  • ErrorGoToPosition

Pushed by SmartSoft on state change.

JobError key:value key:value ... JobError robotinoid:1 jobid:10 error:"DockTo NO_DOCK_STATION"
ERROR string Description
NOERROR
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)

Pushed by SmartSoft when error occurs.

<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


Smartsoft