gif gif

The interesting corner

gif gif

DIY drone PX4 notes

Architecture

System architecture

Je kan PX4 standalone runnen en met een companion computer (mission computer). Wij gaan een mission computer gebruiken (de RPI).

De architecture met een mission computer is als volgt:

architecture with mission computer

Eigen diagram (autopilot is of Ardupilot of PX4)

Drone component diagram

Notations used with PX4: Notations.

De multicopter control system architecture wordt in deze video uitgelegd.

PX4 gebruikt uORB messaging om berichten te sturen. Dit is een publish() en subscribe() protocol. Er is een tutorial voor hoe je dit in C++ kan doen. ROS2 is nog wel under development.

PX4 gebruikt het ECL EKF2 algoritme voor de state estimation. In deze video wordt dit uitgelegd. Een update hiervan is te zien in deze video (2021)

what is a PID controller: A PID controller continuously calculates an error value e ( t ) e(t) as the difference between a desired setpoint (SP) and a measured process variable (PV) and applies a correction based on proportional, integral, and derivative terms (denoted P, I, and D respectively), hence the name. PID controller overview.

PX4 heeft een PX4/PX4 Avoidance project, waarmee obstacle avoidance in ROS nodes gemaakt is. Het is wel in ROS 1.

Flight modes

Flight modes overview

from the user guide: Flight Modes provide different types of autopilot-assisted flight, and fully autonomous flight.

Parameters config

  • UXRCE_DDS_CFG: 101 (run microxrce-dds on TELEM 1)
  • MAV_0_CONFIG: TELEM 4 (run mavlink on TELEM 4 because XRCE-DDS runs on TELEM 1)
  • SER_TEL1_BAUD: 921600 (high baud rate because serial)
  • COM_RC_IN_MODE: 4 (allow arming without GPS)
  • COM_RCL_EXCEPT: 5 (don't check for GPS)