Simple System Manager MicroArch

Principle Engineer

@Hardy Yu

Reviewers

@Anthony Luo@Aaditya Chaudhary @Ayoung Eun @Aidan Bowers (Deactivated) @Christopher Chung

Objective

Simple manager that coordinates the competition flight system

Due date

Jun 20, 2023

Key outcomes

Design and implement an object-oriented system running in a linear loop that can communicate with the ground station, tower, and Pixhawk to make a drone fly

Status

DESIGN

Problem Statement

  • With the complicated competition flight system, we need high-level software to aid us in the coordination of different sub-systems. The flight system EFS came out last year has a fantastic and delicate architecture, but it also takes way longer time than we expected to accomplish. We want to have a high-level system with simpler logic that can fly a drone with the aid of Pixhawk as the backup plan for competition.

Scope

 

 

Current Must Haves:

  • Support input/output by PPM, MAVlink

  • Object-oriented (class)

  • run in a FreeRTOS thread

  • Proper flow of function calls

  • RC control to the drone

  • fly the drone

  • Using TM to pass waypoints to Pixhawk to achieve autonomous control

Current Must Haves:

  • Support input/output by PPM, MAVlink

  • Object-oriented (class)

  • run in a FreeRTOS thread

  • Proper flow of function calls

  • RC control to the drone

  • fly the drone

  • Using TM to pass waypoints to Pixhawk to achieve autonomous control

Future Expansion:

  • Support SBUS

  • Mavlink to ground station

Not in scope:

  • No managment to AM or PM. Everything will instead be accomplished by PX4

  • No video Transmitting

High-Level Flowchart

 

  • This is the rough idea of how it is gonna work

  • In brief, the system has two running modes. The manual mode and auto mode.

  • The mode the system is currently running depends on the PPM instruction we fetched first.

  • If the PPM tells the drone is in manual mode, then only the manual PPM instruction is sent to PX4

  • If the PPM tells the drone is in auto mode, then try to fetch the auto command from RFD

  • Fetch failure will cause the system to transition to manual mode

  • If fetch success, the ZP3 will send the auto command to PX4 to process. PX4 will send the telemetry data back to ZP3. ZP3 then processes it with PM and sends it to RFD.

Timeline

  • The first stage of the development of simple SM would be building the PPM protocol bridge such that the drone will be flyable by manual control. The anticipated first flight test will happen by the end of May.

  • Then it can move on to the second stage, which is testing and fixing TM and Mavlink so that the drone can fly autonomously. The flight test for the autonomous flight will be in mid-June.

  • The actual time span can be longer since there will be a lot of components involved and they all need testing and debugging.

 

 

Milestones & Deadline

Mileston

Owner

Deadline

Progress

Mileston

Owner

Deadline

Progress

Class structure design

@Hardy Yu

May 12th

 

PPM

@Hardy Yu @Stanley Tang

@Ayoung Eun

May 21th

 

Integration, Testing, Review

@Hardy Yu

May 26th

 

Houston Flight Test #1

@Hardy Yu

May 27th

 

MAVlink

@Hardy Yu

@Neha Srivastava

June 2nd

 

TM

@Hardy Yu

@Aaditya Chaudhary

June 8th

 

Integration, Testing, Review

@Hardy Yu

June 9th

 

Houston Flight Test #2

@Hardy Yu

June 10th

 

Questions

  • How does the simple system manager interact with ZP3 and LOS?

  • Is this linear loop system going to work? Does it need to run under a certain frequency? What can be the potential issues to this system and how to avoid them?