Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Ardupilot Integration


New SM Repo

stripped down version of system manager that only talks to telemetry manager & LOS layers. This is designed to allow easy and simple Ardupilot integration.

  • los layer integration

    • Integration with Ardupilot

  • controller state decoding

  • ppm output in los

Zeropilot SW ZeroPilot 3.0 Architecture - ZeroPilot - WARG (atlassian.net)


System Manager System Manager

System Manager manages the highest level operations of the drone. SM is in charge of spawning and managing the TM, AM, and PM threads, facilitating inter-thread communications, determining the drone’s state of operation, some signal decoding, and handling of drone fatal failures.

Outstanding Tasks:

  • 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

Attitude Manager Attitude Manager 3.0 - ZeroPilot - WARG (atlassian.net)

Attitude Manager manages the position of the aicrcraft in real time, using closed-loop controls algorithms for both fixed wing and multirotor aircraft. We receive position data from LOS_Pos and instructions either from PM or SM.

Generally, our flight modes include:

Manual (Acro) → the pilot controls the control surfaces directly, or controls the rate of angular acceleration

Stabilize (Horizon/Attitude) → the pilot inputs a desired angle, and the control algorithms attempt to maintain the desired angle in a global reference frame.

GPS (hold) → the pilot inputs desired translational motion, and the control algorithms attempt to maintain a position in a global reference frame.

In person only: Tuning

Outstanding tasks:

  • Fixed Wing Stabilize algorithm + tuning

  • Fixed Wing Manual tuning

  • Fixed Wing GPS algorithm + tuning

  • Quadcopter Stabilize tuning

  • Quadcopter GPS algorithm + tuning

  • Quadcopter Acro algorithm + tuning

  • Transition state algorithms + tuning

  • Newer / better PID Algorithms?

  • PID Auto-Tune?

Related SysInt material:

  • 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

Laminar OS


LaminarOS is the middleware interface between the application layer (ZeroPilot Software) drivers and board support package (STM32 HAL).

LOS Interfaces:

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

Outstanding task:

  • Implement the GPS position → yaw and pitch algorithm in C++ (already done in matlab)

  • Drivers for imu, GPS, and motors

  • Tune PID for motors if needed

Related:

  • Mechanical design for tracking antenna

Devops

  • No labels