Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

DRAFT TODO R D until this is approved: 2023-02-06 - Request for Clarification on CV Communications during Landing Procedure

Introduction

Behaviour of both devices as they send and receive messages.

...

Communication & Message Formats

Search for Landing Pad

Drone state when sending message

Odometry Data (type 0)

ZP sends Odometry Data (type 0) : Sent to Jetson at a rate of 10 Hz, in all flight modes.

MovementRequest (type 1): Drone is not moving.

RelativeMovementCommand (type 2): Drone is not moving.

Landing initiation Command (type 3): Drone is not moving.

Cruise to Search

Navigation control is transferred from ZP to Jetson by ZP sending MovementRequest Movement Request (type 1) to Jetson.

Search

ZP is the master device (client) and Jetson alternate waiting for is the other slave device (server). ZP is waiting for Jetson after transferring navigation control.

...

will always initiate communication with Jetson.

Movement Request (type 1)

ZP sends MovementRequest Movement Request (type 1) to Jetson.ZP waits for Jetson and expects to receive RelativeMovementCommand with request ID of either 0, 1, or 2. Jetson responds with Relative Movement Command (type 2) or Landing initiation Initiation Command (type 3) with the same ID.

When ZP sends a request, the drone is not moving and does not move until ZP has received a command.

Request ID

The initial ID to start search is 0. Jetson resets its search state, discarding all previous search work.

Subsequent IDs alternate between 1 and 2, allowing ZP to either send a new request or repeat the current request. Jetson stores the latest command to support request repeats.

ZP waits for Jetson to respond before sending the next request.

Timeout

If ZP Jetson does not receive a message from Jetson within TODO R D, ZP resends MovementRequest (type 1) to Jetson.

If there are 3 consecutive timeouts, the Jetson has failed. TODO: R D ZP can do whatever fallback (most likely operator control).

Jetson waiting for ZP

Jetson sends a RelativeMovementCommand (type 2) to ZP.

Jetson waits for ZP and expects to receive a MovementRequest (type 1).

Search cancellation

TODO: R D

Search to Landing

Navigation control is transferred from Jetson to ZP through Landing initiation Command (type 3respond to a request within the timeout of TODO(Autonomy, EFS), the request has timed out. ZP either repeats the current request or goes to a fallback state.

See fallback section for consecutive timeouts.

Search to Landing

Navigation control is transferred from Jetson to ZP through Landing Initiation Command (type 3) with an ID of 1 or 2.

When Jetson sends Landing Initiation Command (type 3), the drone is between TODO(Autonomy, EFS) metres above the ground.

See fallback section for ID 0.

ZP Fallback

ZP considers the Jetson to have failed if any of the following occur:

  • TODO(EFS) consecutive request timeouts.

  • Jetson sends a command with ID that does not match the ZP request ID.

  • Jetson sends a Relative Movement Command (type 2) that would bring the drone outside of height limits.

  • Jetson sends a Landing Initiation Command (type 3) with ID 0.

  • Jetson sends a Landing Initiation Command (type 3) too high above the ground.

ZP must handle the Jetson failure case (e.g. by switching to operator override).