path-Nachricht
An jedem weiteren Kommunikationspunkt übermittelt der Roboter zu Beginn der Übertragung den gefahrenen Pfad.
Dieser besteht aus Start- und Zielkoordinaten sowie den jeweiligen Himmelsrichtungen.
Mithilfe der Odometrie schätzt er dabei seine neue Position ab.
Das Mutterschiff bestätigt die Nachricht des Roboters, wobei es gegebenenfalls eine Korrektur in den Zielkoordinaten vornimmt (2).
Es berechnet außerdem das Gewicht eines Pfades und hängt es der Nachricht an.
(1) Publish to planet/<PLANET>/<GROUP>
{
"from": "client",
"type": "path",
"payload": {
"startX": <Xs>,
"startY": <Ys>,
"startDirection": <Ds>,
"endX": <Xe>,
"endY": <Ye>,
"endDirection": <De>,
"pathStatus": "free|blocked"
}
}
(2) Receive on planet/<PLANET>/<GROUP>
{
"from": "server",
"type": "path",
"payload": {
"startX": <Xs>,
"startY": <Ys>,
"startDirection": <Ds>,
"endX": <Xc>,
"endY": <Yc>,
"endDirection": <Dc>,
"pathStatus": "free|blocked",
"pathWeight": <weight>
}
}
Musste der Roboter zum Ausgangsknoten des Pfades zurückkehren, da der Weg blockiert war, sind Start- und Zielknoten identisch.
Die Koordinaten werden entsprechend an das Mutterschiff gesendet, wobei der Status des Pfades als blocked
übermittelt wird.
Das Gewicht kann in diesem Fall nicht berechnet werden und wird bei der Antwort des Mutterschiffs mit -1
angegeben.
Weitere Fälle wären, dass ein bekannter und eigentlich freier Pfad nachträglich blockiert wurde (siehe pathUnveiled
, Meteoritenschauer) und nun nicht mehr befahren werden kann.
Umgekehrt können natürlich auch ursprünglich blockierte Pfade durch einen gezielten Laser-Einsatz aus dem Orbit befahrbar gemacht werden.