CodeTheRobot

Module 08 ยท 75 lessons

Autonomous Drone (PX4 + ROS 2)

Quadcopter drone flying a waypoint mission inside a geofence
MODULE 08
DRONE FIELD

Ubuntu for Drone Developers

  1. 01Terminal, packages and permissions for flight software
  2. 02Networking for MAVLink
  3. 03SSH and Git for drone projects
  4. 04systemd services on a companion computer
  5. 05udev rules for flight controllers and radios
  6. 06Serial communication (UART and USB)
  7. 07Telemetry radios and network telemetry (UDP and TCP)
  8. 08The real-time kernel for flight code

C++17 for Flight Control

  1. 09Real-time safe C++
  2. 10Low-latency callbacks
  3. 11Memory use without allocation
  4. 12Concurrency with threads and mutexes
  5. 13State machines for flight logic
  6. 14PID control loops
  7. 15Cascaded control: position, velocity, attitude and rate

ROS 2 Lyrical Luth for Drones

  1. 16Nodes, topics and executors for flight software
  2. 17Services, actions and parameters
  3. 18Launch files for a drone stack
  4. 19QoS for telemetry
  5. 20High-frequency topics: IMU, odometry and attitude
  6. 21Low latency and real-time constraints
  7. 22Sensor-fusion pipelines

PX4 Autopilot

  1. 23PX4 architecture
  2. 24Flight modes: Manual, Position, Mission and Offboard
  3. 25PX4 parameters
  4. 26PX4 modules and uORB
  5. 27PX4 SITL simulation
  6. 28PX4 MAVLink communication
  7. 29The px4_ros_com bridge (uXRCE-DDS)
  8. 30Failsafe logic

MAVLink

  1. 31MAVLink message types
  2. 32MAVLink over serial
  3. 33MAVLink over UDP
  4. 34MAVLink routing
  5. 35The heartbeat and connection state
  6. 36Command messages
  7. 37Telemetry: attitude, GPS and battery
  8. 38Mission upload protocol

Offboard Control with ROS 2

  1. 39px4_msgs and the topic map
  2. 40Offboard setpoints and the heartbeat
  3. 41Arm and disarm
  4. 42Takeoff
  5. 43Land
  6. 44Position control
  7. 45Velocity control
  8. 46Attitude control
  9. 47Trajectory execution
  10. 48Mission control

Drone Perception

  1. 49Cameras
  2. 50Depth sensors
  3. 51LiDAR on a drone
  4. 52Optical flow
  5. 53Visual odometry
  6. 54Visual-inertial odometry (VIO)
  7. 55ORB-SLAM3
  8. 56OpenCV and PCL on a drone
  9. 57Depth processing
  10. 58Object detection with YOLO

Drone Navigation

  1. 593D mapping with OctoMap
  2. 603D SLAM
  3. 613D path planning: A*
  4. 623D path planning: RRT
  5. 63Trajectory optimization
  6. 64Collision avoidance
  7. 65Obstacle avoidance in flight
  8. 66Mission planning

Real Drone Hardware

  1. 67The Pixhawk flight controller
  2. 68Companion computers: Jetson, Raspberry Pi and NUC
  3. 69Telemetry radios
  4. 70GPS modules
  5. 71ESCs
  6. 72Motors and propellers
  7. 73Battery systems
  8. 74Safety systems
  9. 75Full autonomous drone project