Table of Contents | ||||
---|---|---|---|---|
|
...
los layer integration
Integration with Ardupilot
controller state decoding
ppm output in los
Zeropilot SW ZeroPilot 3.0 Architecture - ZeroPilot - WARG (atlassian.net)
...
Further testing of RC to AM passthrough barebones version
Hardfault in communication to AM?
Uncomment and update code to integrate PM
Uncomment and update code to integrate TM
Determine TM input data format and conversion to PM format
Add use of global flag object for PM to RC input switching
Already created, should be easy to use
Improve fatal failure detection
Timeout
Path Manager PM Re Architecture For MVP
PM handles path generation and autonomous path following for the drone. After receiving the drone’s current position data and our target waypoints (defined using latitude and longitude) from SM, PM will calculate the required heading unit vector, magnitude, and speed depending on what state of flight we are in (Takeoff, Cruising, Landing). This information will then be sent to AM.
Outstanding Tasks
Integrate takeoff/landing + comms with SM into main branch
Bring on newer members
implement Waypoint following (using list of target waypoints to continuously calculate and update AM instructions )
Takeoff/Landing tuning
Waypoint following tuning
Attitude Manager Attitude Manager 3.0 - ZeroPilot - WARG (atlassian.net)
...
pid tuning rig from mechanical
having a working & wired drone from mech/ee
understanding how to safely operate a drone either on a rig or in the air
Telemetry Manager
Telemetry Manager (TM) manages the data flowing into and out of zp from the ground station and the onboard jetson. TM is in charge of encoding and decoding messages and passing them to system manager. This manager makes use of LOS Comms and LOS Telem. Code uses code generation to build C++ code using LCM message generation.
Completed tasks:
CRC checks
LCM message generation
Outstanding tasks:
Interfacing with LOS and SM To decode and encode data (I am working on this - Aadi)
Related tasks:
write LOS Comms
Write LOS Telem
Characterize RFD and develop driver for CV and EFS
Laminar OS
...
LaminarOS is the middleware interface between the application layer (ZeroPilot Software) drivers and board support package (STM32 HAL).
LOS Interfaces:
LOS_Link
LOS_Link handles the interface for communication between the RC receiver and ZeroPilot.
Outstanding Tasks:
merge LOS_Link into LaminarOS main repo
LOS_Actuators
LOS_Actuators handles the interface for all moving peripherals such as servo motors and communication with motor ESCs.
Outstanding Tasks:
verify DSHOT300
LOS_Comms
LOS_Comms handles the interface for all on-drone communication, specifically for communication with the Jetson Nano.
Outstanding Tasks:
all
LOS_Telem
LOS_Comms handles the interface for all on-drone communication, specifically for communication with the Jetson Nano.
Outstanding Tasks:
all
LOS_Pos
LOS_Pos handles the interface for the current attitude of the drone, providing GPS, IMU, as well as VectorNAV300 data to any application module that requires it.
Verify VectorNav300 driver
Integrate VectorNav300 with LOS_Pos
LOS_Log
LOS_Pos handles the interface for the current attitude of the drone, providing GPS, IMU, as well as VectorNAV300 data to any application module that requires it.
Outstanding Tasks:
integrate SD card driver with LOS_Log
LOS_?
LOS Drivers
SD Card
The SD card is for storing logs. The SD card driver will allow us to read from or write to an SD card.
Outstanding Tasks:
Porting the SD card driver to L5 (NUCLEO-L552EZ-Q board). This means modifying some configuration files so that the driver can run on L5.
Write another version of the SD card driver that uses SDMMC (supported on L5) instead of SPI to communicate with the SD card.
Actuators (PWM +DShot)
Drivers for PWM and DSHOT are for communication with motor ESCs.
Outstanding Tasks:
verify DSHOT300
Comms ?
NEOM8
Airspeed
VN300
VectorNav 300 (VN300 for short) is a Navigation System that has GPS, gyroscope, and accelerometer functionalities. We will mainly use it as a GPS.
Outstanding Tasks:
Getting the VN300 to communicate with the L5 (NUCLEO-L552EZ-Q board), then testing the current driver prototype.
Optical Flow (3901 - L0X or PX4FLOW)
Barometer
PPM Output
LOS Core
TBD
INFRA
...
SIL (simulator)
The simulator validates the design of the aircraft that will be flown at competition.
Initially, the simulator was based off a MATLAB/Simulink model but now the focus has been shifted onto using a program called SIMNET (http://www.simnet.aero ).
Outstanding tasks:
Model the competition aircraft in SIMNET
Test the autopilot in SIMNET with using Ardupilot and Mission Planner (or another GCS)
HIL
Tracking Antenna Tracking Antenna Project - ZeroPilot - WARG (atlassian.net)
To automatically turn our directional antenna to always point at the aircraft
We use the GPS position and altitude of the drone to calculate the target yaw and pitch for the antenna, then control motors to rotate the antenna towards the target location
...
Mechanical design for tracking antenna
Devops
Devops is basically the development of things that make development easier. For example: writing bash scripts for building, docker files, CI/CD.
Note: Almost all devops tasks are “nice to haves” that should make our lives easier and be very useful in the long run, but they are not critical to the upcoming competition.
Outstanding Tasks
add .clang-tidy with certc and MISRA-c rules
Add .clang-format and .clang-tidy GitHub actions
Setup SSH on warg laptop to allow for remote development for users that dont have a Linux machine (I have ideas about this - Aadi)
Dockerfile for flashing (Im doing this currently - Aadi)
Get our dockers to work on windows and write necessary instructions to set them up
Create Dockerfiles and build scripts to build LOS on its own
Add GitHub actions to build LOS to LOS repo
Make an image for the efs laptop