path-Nachricht

Pfad-Nachrichten

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 Korrdinaten 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.