Difference between revisions of "Smartsoft"

From RobotinoWiki
(API2 Interaktion)
Line 1: Line 1:
=API2 Interaktion=
+
=Robotino-SmartSoft-FleetManager=
[[Image:smartsoft_api2_interaction.png]]
+
[[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

Robotino-SmartSoft-FleetManager

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.

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.

Navigation und Selbstlokalisieung

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