2023-05-17: ZP and LOS Discussion

Goals

Discuss the future of ZP and LOS. Specifically the issues we encountered last season and how we can simplify in an effort to ease development, decrease complexity, and get something flying.

 

Previous Issues with LOS and ZP

  • Takes a long time to set up (Submodule download, cmakefile issue)

  • Fatal flaw: LOS contained the MOST project specific thing (boardfiles) which led to really bad DMA issues

  • Dealing submodules was just annoying and confusing

  • Historically, whenever we have these types of discussions, we are so focused on future proofing which greatly increases complexity

  • Unordered folders/files.

  • Config driver files and lack of documentation for additions to that

 

Solution Requirement

Simplicity is Key:

  • Support multiple IOCs (mainly L5 nucleo, ZP, and possible F401RE)

  • Either IDE or Cmake

  • Strong recommendation against submodules (one repository for managers, drivers, and boardfiles)

  •  

 

 

Proposed Solutions

/Models

/Icurus

/Houston

/System_manager

/Attitude_manager

/Path_manager

/Telemetry_manager

/Drivers

/Boardfiles

/L5nucleo

/ZP

/F401re

Cmake.make

  • make a config for each board + drone config as needed

  • only support 1 airframe?

  • How are we going to deal with multiple air frames to work with multiple boardfiles?

    • who is going to be setting up/interacting with configs?

    • is it okay to be complex in our build system?

    • can automation simplify this?

 

 

Milestones

  1. Raw Control Fixed Wing

    1. SBUS or PPM input driver

    2. PWM output

    3. Arm/Disarm

    4. RSSI/Watchdog

  2. Assisted Raw Control Fixed Wing

    1. Sensor fusion and AHRS

    2. IMU driver

    3. Integration between a) and b)

    4. Simple Attitude manager (could be simple function)

  3. Pilot assist features on fixed wing

    1. Altitude hold/ “fly by wire” modes

    2. Additions to attitude manager

  4.  

x.

Note: What milestone for fixed wing is enough to transition to multicopter development?

 

Action Items:

  • finalize the directory structure / build / config set up

  • Fully define milestones (deadlines, testing dates, make more milestones)

  • when to start multirotor development

Next meeting date: 8 oclock est 18th May, 2023

Appendix Lol

HandleType_UART GPS_UART = huart2;

abstract class Airspeed

in config.h for Icarus

Airspeed airspeed = MP6005();

in path manager

#include config.h

airspeed.get_Speed();