Hi, I’m working on a student project involving PX4 with a Pixhawk flight controller, a companion computer (Raspberry Pi with ROS2), and a custom control/monitoring application written in C++ (using MAVSDK and Qt).
The goal of the project is to create drone light painting, where the drone flies a 2D path and generates a visible image (e.g. text) using LEDs and long-exposure photography.
I would like to better understand the full communication flow in such a setup:
Could you briefly explain how the data flow should ideally work end-to-end?
Starting from a mission path (waypoints with coordinates and LED color data) provided via a CSV file in our application, then sending it via MAVLink to PX4, and in parallel forwarding LED-related data via ROS2 topics to a Raspberry Pi companion computer so that the LEDs are triggered at the correct positions.
Is it best practice to upload the full mission to PX4 before flight, or stream waypoints during execution?