Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Competition Year

2022-2023 Aerial Evolution of Canada Student Competition

Team

Waterloo Aerial Robotics Group

Architect(s)

Anthony Luo

Status

Status
colourBlue
titledraft

Last date updated

by Anthony Luo

On this page

Table of Contents
minLevel1
maxLevel5

...

[Competition Requirements] [CR]Competition Requirements

📐 Architecture

...

<Add diagram>

The architecture of a drone can be found in the [Competition Design Outline]. <# iterations> iterations of the drone will be created, at <#milestones>. <# final copies> of the drone will be created in “competition spec”. Our system will meet the requirements in [Competition Requirements].

...

Once the takeoff command is given, ZPSW or the PX5 will take the drone from the ground to a steady height in the air. The drone will hover in the air until it receives the ACK signal from GSSW saying that telemetry & vtx are OK (making sure that tracking antennas are working). Once it receives the ACK Signal, the drone will return ACK_Confirm wait for GS_SW to send a list of waypoints and then enter into cruise mode. Takeoff mode is purely ZP based. We expect GS_SW to send a list of waypoints before we liftoff from the ground.

Should an error occur during takeoff, the drone will land itself. Should an error occur when the drone is in the air, user override can be provided to bring it into cruise if desired, or the drone will land itself within 2 minutes. is this a reasonable amount of time to debug?

Cruise

In During cruise mode, the groundstation will continue sending a list of waypoints to the drone . The drone will continually send back healthcheck, telemetry, and position data. In cruise mode, the primary decision makers are ZP & GS_SW. Should a re-route be needed, GS will send the remaining waypoints for the rest of the route, with waypoint [0] being the current position of the drone.

Waypoints

A waypoint is a GPS coordinate paired with an ID number. The ID Number describes the sequence in which the drone is to fly waypoints. ZP will string together all the waypoints to create a flight path, where the final waypoint is the “hover” point.

...

struct TelemWaypointData {

0010

Communication Message Formats

Message Type (Bits)

[message name] description

Expected Uses

0001

[position] Position only data

GSPC → Tracking Towers

ZP → Jetson

Code Block

[waypoints] Full List of waypoints

GSPC → ZP

0011

[Telemetry] Full telemetry struct

ZP → GSPC

0100

[movement request] Relational movement request

ZP → Jetson

0101

[movement command] Relational movement command

Jetson → ZP

Datatype Structs

0001 - Position Only Data Mostafa Hussein

Code Block
languagecpp
// could this just be the LOS_Pos struct?

0010 - Full List of Waypoints

Code Block
languagecpp
struct TelemWaypointData {    
  double longitude; // 8 byte   
  double lattiude; // 8 byte   
  uint8_t waypoint_id; // 1 byte
};
typedef struct CommandsFromTM{
    bool start_landing; // 1 byte
    

...

uint8_t num_waypoints; // 

...

1 byte
    TelemWaypointData waypoints[num_waypoints];
} CommandsFromTM;

0011 - Full Telemetry Struct Mihir Gupta

Code Block
languagecpp
// No clue what 

...

we 

...

include 

...

in telemetry

0100 - Relational Movement Request

Code Block
languagecpp
struct ZpToJetsonLandingRequest {
  

...

uint8_t 

...

request;

...

}

0101 - Relational Movement Command

Code Block
struct JetsonToZpMovementCommand {
  

...

float x;
  

...

float y;

...

 

...

 

...

float z;
  

...

float heading;

...

}

...

[waypoints] Full List of waypoints

...

GSPC → ZP

...

[Telemetry] Full telemetry struct

...

ZP → GSPC

...

[movement request] Relational movement request

...

ZP → Jetson

...

[movement command] Relational movement command

...

Logging

Logging will be done using an SD card. It will either be on an SPI-Based carrier board or using SDMMC on the L5 pins directly. The former will be used if we fly on a nucleo, the latter will be used if we fly on zp.

...