Difference between revisions of "Smartsoft"
(→API2 Interaktion) |
|||
Line 1: | Line 1: | ||
− | = | + | =Robotino-SmartSoft-FleetManager= |
− | [[Image: | + | [[Image:FM-SS-Structure.PNG]] |
+ | ---- | ||
+ | =TCP/IP Communication Protocol B/W Fleet Manager and SmartFestoFleetCom= | ||
+ | |||
+ | 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. | ||
+ | |||
+ | {|class="wikitable" | ||
+ | ! FleetManager to SmartSoft | ||
+ | |- | ||
+ | |'''Command'''||'''Usage Example'''||'''Description''' | ||
+ | |- | ||
+ | |DeliverFromTo SourceStationID SourceBeltID DestinationStationID DestinationBeltID||DeliverFromTo 1 0 2 0||Drive to Position 1, dock to Belt 0, Load, Undock, Drive to Position 2, dock to Belt 0, Unload, Undock | ||
+ | |- | ||
+ | |GotoStation StationID||GotoStation 1||Drives to Position 1 | ||
+ | |- | ||
+ | |DockTo BeltID||DockTo 0||Docks to Belt 0 | ||
+ | |- | ||
+ | |Undock||Undock||Undocks if already docked | ||
+ | |- | ||
+ | |LoadBox||LoadBox||Loads on Box if no box already loaded and box available to load | ||
+ | |- | ||
+ | |UnLoadBox||UnLoadBox||Loads on Box if no box already loaded | ||
+ | |- | ||
+ | |Stop||Stop||Halt the Robotino, put the task on hold | ||
+ | |- | ||
+ | |Continue||Continue||Resumes the task if a task is on hold | ||
+ | |- | ||
+ | |EndTask||EndTask||Terminates the ongoing task and go to Home Position | ||
+ | |- | ||
+ | |TeachPosition PositionID x y z||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 theta(in degrees):45 | ||
+ | |- | ||
+ | |TeachCurrentPosition PositionID||TeachCurrentPosition 1||Assign the current global position the ID 1 | ||
+ | |- | ||
+ | |SetNameForPosition PositionID name||SetNameForPosition 1 RedParts||Sets a tag RedParts for PostionID 1 if exists | ||
+ | |- | ||
+ | |GetNameForPosition PositionID||GetNameForPosition 1||Reads the tag for PostionID 1 if ID and tag exists | ||
+ | |- | ||
+ | |colspan="3"| '''SmartSoft to FleetManager (Cyclic every 500ms)''' | ||
+ | |- | ||
+ | |RobotPose x y z||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 | ||
+ | |- | ||
+ | |Rowspan="4"|SystemState CurrentCommand CommandArgs <br> '''CurrentCommand:''' NoJob, StartJob, JobDone, JobError||SystemState StartJob 1 0 2 0||A Job has been started to Drive to Position 1, dock to Belt 0, Load, Undock, Drive to Position 2, dock to Belt 0, Unload, Undock | ||
+ | |- | ||
+ | |SystemState NoJob||Robot Idle and waiting for task | ||
+ | |- | ||
+ | |SystemState JobDone 1 0 2 0||Box transported from Position 1, Belt 0, to Position 2,Belt 0 | ||
+ | |- | ||
+ | |SystemState JobError PATH_BLOCKED||Robot path blocked to complete the task | ||
+ | |- | ||
+ | |Progress||Progress 40||40% of the Job is complete | ||
+ | |} | ||
=Tasks= | =Tasks= |
Revision as of 10:13, 16 October 2013
Contents
Robotino-SmartSoft-FleetManager
TCP/IP Communication Protocol B/W Fleet Manager and SmartFestoFleetCom
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 |
DeliverFromTo SourceStationID SourceBeltID DestinationStationID DestinationBeltID | DeliverFromTo 1 0 2 0 | Drive to Position 1, dock to Belt 0, Load, Undock, Drive to Position 2, dock to Belt 0, Unload, Undock |
GotoStation StationID | GotoStation 1 | Drives to Position 1 |
DockTo BeltID | DockTo 0 | Docks to Belt 0 |
Undock | Undock | Undocks if already docked |
LoadBox | LoadBox | Loads on Box if no box already loaded and box available to load |
UnLoadBox | UnLoadBox | Loads on Box if no box already loaded |
Stop | Stop | Halt the Robotino, put the task on hold |
Continue | Continue | Resumes the task if a task is on hold |
EndTask | EndTask | Terminates the ongoing task and go to Home Position |
TeachPosition PositionID x y z | 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 theta(in degrees):45 |
TeachCurrentPosition PositionID | TeachCurrentPosition 1 | Assign the current global position the ID 1 |
SetNameForPosition PositionID name | SetNameForPosition 1 RedParts | Sets a tag RedParts for PostionID 1 if exists |
GetNameForPosition PositionID | GetNameForPosition 1 | Reads the tag for PostionID 1 if ID and tag exists |
SmartSoft to FleetManager (Cyclic every 500ms) | ||
RobotPose x y z | 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 StartJob 1 0 2 0 | A Job has been started to Drive to Position 1, dock to Belt 0, Load, Undock, Drive to Position 2, dock to Belt 0, Unload, Undock |
SystemState NoJob | Robot Idle and waiting for task | |
SystemState JobDone 1 0 2 0 | Box transported from Position 1, Belt 0, to Position 2,Belt 0 | |
SystemState JobError PATH_BLOCKED | Robot path blocked to complete the task | |
Progress | Progress 40 | 40% of the Job is complete |
Tasks
Manuelle Kartenerstellung
Ziel ist die Erstellung einer Umgebungskarte mithilfe eines auf Robotino montierten Laserscanners. Die Karte soll nach der Fertigstellung als Grundlage der Navigation und Selbstlokalisierung genutzt werden. Zum Aufbau der Karte wird Robotino mittels eines Joysticks bewegt.
Automatische Kartenerstellung
Robotino fährt automatisch den zugänglichen Bereich ab und erstellt dabei eine Karte.
Nach der Erstellung eines Karte kann Robotino auf Grundlage dieser Karte navigieren und seine Position im Raum bestimmen. Voraussetzung ist auch hier ein Laserscanner auf Robotino. Zu Beginn muss Robotino seine Position in der Karte bekannt gemacht werden. Danach können Koordinaten in der Karte als Ziel angegeben werden. Ein Weg wird dann von der aktuellen zu Zielposition geplant. Robotino fährt den geplanten Weg ab.
Hindernisse auf dem Pfad
- Robotino bricht die Fahrt zum Ziel ab
- Robotino umfährt das Hindernis selbstständig
Andocken an MPS Station
In der Nähe eine MPS Station kann Robotino mittels spezieller Sensoren an die MPS Station andocken.
Kommunikation zum Leitrechner
Robotino nimmt von einem Leitrechner Befehle entgegen und kommuniziert seinen Status zum Leitrechner. Robotino Leitrechner Kommunikation