Zero Pilot 3.0 Reqirements

 Success metrics

Goal

Metric

Goal

Metric

Design a flight controller that allows safe fixed-wing, helicopter, and multirotor UAS flight that can be piloted autonomously and manually while complying to all relevant laws

 

 

 Assumptions

  • Within legal spec?

  •  

 Requirements

Requirements / Constraints

Justification

Priority

Owner

Notes

Implementation Notes

Requirements / Constraints

Justification

Priority

Owner

Notes

Implementation Notes

HIGHMEDIUM LOW

 

ZeroPilot must have a method to physically Arm/Disarm the aircraft

For safety while working on/around the drone.

For clarity of drone operation (ie armed = going to fly).

HIGH

@Daniel Puratich (Unlicensed)

  • Prevent accidentally triggering arm/disarmed states?

  • How do we handle restarting the system in the event of hardfaults?

  • Not connected to zp (on a separate board)

  • Pressing a push button will arm the motors

  • switches and sticks should be in the right spot to arm (when the button is pressed)

  • gpio input

ZeroPilot shall have an audible buzzer

Debugging, clarity of operation

MEDIUM

@Daniel Puratich (Unlicensed)

  • Should at minimum be able to beep one tone (one gpio)

  • Consideration for having multiple tones?

  • Buzzer will also be external (on the same board as the arm/disarm switch)

  • Buzzer uses a pwm signal to drive tones

ZeroPilot shall have debugging LED’s of multiple colours

For status display when debugging

HIGH

@Sahil Kale

Could be RGB or multiple different LEDs (or both?)

  • maximum 7 LEDs, minimum 4

  • some are different colours

  • A colour reserved for power is red

  • gpio output

ZeroPilot must have the ability to monitor the battery

Need some way to monitor battery health while in the air to prevent falling out of the sky?

 

@Anthony Luo

 

  • Voltage monitoring (external ADC)

  • Overall voltage (not individual cells)

  • nice to have temp monitoring for zeropilot and batteries if there are extra ADC pins

ZeroPilot will have an IMU

The IMU tells the aircraft it’s orientation in space, and without it cannot fly

 

@Daniel Puratich (Unlicensed)

This could be external or internal

ZeroPilot will have Non-Volatile Data Storage

Having data storage allows logging of flight information for analysis

 

@Daniel Puratich (Unlicensed)

It should be accessible by devices other than just the MCU

  • MicroSD Card for data logging

  • MicroSD Card for saving model configuration

  • MicroSD cards MUST use SPI

  • No other external storage

ZeroPilot will have one microcontroller

Reduces complexity, and there is no need for two really (chance of failure of any given chip is still the same)

 

@Sahil Kale

 

 

ZeroPilot must be able to communicate with other boards on the aircraft

Communication with the computer vision computer and the ground station will depend on this

 

@Dhruv Upadhyay

need to spec architecture

  • UART based comms (USB UART)

    • CV opens a virtual com port, firmware already has software to do this

ZeroPilot will have at least 12 Motor/Servo/Actuator outputs

  • octacopter - 8

  • gimbal - 3

  • actuator - ?

 

@Aidan Bowers (Deactivated)

maybe put in as many as we can reasonably get?

  • At least 8 output must support DSHOT

    • DSHOT uses PWM & DMA

    • Consult @Christopher Chung and @Aidan Bowers (Deactivated) Re: clock speeds

  • The remaining 4 just support PWM

ZeroPilot must be able to communicate with a GPS

Legal requirement

 

@Sahil Kale

 

  • @Sahil Kale will deal with the GPS accuracy requirements

  • We will have extra of UART, SPI, I2C, GPIO, PWM input

ZeroPilot will have a debugging output data pipe

Super helpful in debugging

 

@Aaditya Chaudhary

(e.g. arduino serial)

  • SWO & stlink will handle this

    • We need SWO breakout

  • 1 connector (such as ribbon) for programming and data output - No FTDI no Onboard STlink

ZeroPilot must accept tele-op input

Allows pilot to control aircraft

 

@Aidan Bowers (Deactivated)

 

  • PPM input

  • UART upgrade path

ZeroPilot shall have a DataLink to ground

Allows pilot to see information such as gps location and send autopilot commands

 

@Aaditya Chaudhary

 

  • XBees use UART

  • open for future upgrades

The board will have user power input protection

Can save the board in case of user error such as reversing polarity or attaching incorrect voltage

 

@Kevin Li

Depends on power architecture

  • This is being discussed by electrical

  • Reverse polarity protection

  • Overvoltage protection (fuse and zener diode)

  • For all inputs/output have ESD protection through zener diode

  • External and internal power will have separate fuses

The board shall have the option to use locking, non-reversible connectors and simple jumpers

Non-locking connectors have a habit of falling out of the board, and are easy to plug in in the wrong order. Jumpers make it easier to quickly test components without spending hours crimping connectors.

 

@Anthony Luo

Perhaps connectors that are same form factor for headers and for locking, so can be soldered on depending on iteration of board.

Should not prevent easy access on breakout version of board

  • Locking connectors for key peripherals

  • Compatible with jumpers

ZeroPilot will be possible to place into a case

Putting the board in a case protects it from shorting components and makes it easier to handle

 

@Steven Wang

 

  • 4 mounting holes?

  • Talk to @Steven Wang,@Daniel Puratich (Unlicensed)

ZeroPilot will have power outputs for peripheral devices

Power for peripherals (5v, 3.3v) power should exist.

 

@Xierumeng

Power output protection (e.g. ESD protection) should be considered

  • This depends on the peripherals that are going to be connected

    • 5v & 3.3v side by side, and the connector will be crimped appropriately

    • each peripheral connection will have 5, 3.3, GND, and appropriate data pins

ZeroPilot will have an LED driver

Allow us to use navlights, strobes, or whatever is appropriate for the given mission

 

@Dhruv Upadhyay

 

  • 4 GPIO for LEDs (most likely neopixel)

  • (High current e.g. 3A per strip) current source could be from an external board or onboard zp

ZeroPilot will have sensor breakouts

External sensors that have not yet been identified may be desirable.

 

@Dhruv Upadhyay

 

  • all sensors will be external and should use common protocols (I2C, SPI, UART, GPIO, PWM)

  • extras of all these common protocols (whatever that means for the protocol)

ZeroPilot will have mounting holes that can support anti-vibration mounts

A way to mound the board securely is required, and reducing vibration will protect the components onboard

 

@Anthony Luo

 

  • Talk to @Steven Wang , @Daniel Puratich (Unlicensed)

ZeroPilot will have debugging buttons

This will provide an easy way to test/configure the drone

 

@Anthony Luo

Must be removable for flight (e.g. Debug Shield)

Comms emulator (that can be connected to a PC) will be used instead of this

 Open Questions

Question

Answer

Date Answered

Question

Answer

Date Answered

Will the board have USB programming capabilities

Will the board have redundant power input? (i.e. two 5v inputs from bms in case one falls out)

 

 

Will the board have ESD protection

 

 

Will the board have flash storage (for configuration stuff)?

 

 

We need to consider what IMU we are using (IE not locking ourselves into the vectornav)

 

 

Ground telem link upgrade path interface

 

 

@Dhruv Upadhyay How many extra peripherals are we adding, and what are their timing requirements

 

 

 Out of Scope

  • Test Points

  • Polarity Markings on silk screen

  • Small Footprint

  • Low Profile

  • Easy to solder

  • @Sahil Kale How are we going to develop a comms emulator (could be arduino ppm, uart, etc.)