Simulate a drone flying a fixed circular path while keeping its camera locked on a ground target.
Study how Model Predictive Control handles a mismatch between the planning model and the true physical dynamics.
Generate fast compiled C solver code from a Python-defined drone model using ACADOS.
Prototype control logic that could transfer to a real flight controller such as PX4.
| brunopinto900/argus | adewale/skill-eval-harness | anil-matcha/seedream-5-pro-api | |
|---|---|---|---|
| Stars | 38 | 38 | 38 |
| Language | Python | Python | Python |
| Last pushed | — | — | 2026-07-08 |
| Maintenance | — | — | Active |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 5/5 | 3/5 | 2/5 |
| Audience | researcher | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires installing ACADOS and a C++ toolchain to compile the generated solver.
Argus is a control system for a small flying drone, specifically a quadrotor, that makes it fly a smooth circle around a fixed point while always pointing its camera at that point. Picture a drone hovering in a ring around a target on the ground, keeping its nose aimed at that target the whole time it circles. This is achieved using a method called Model Predictive Control, which works by continuously predicting a few steps into the future and choosing thrust and rotation commands that keep the drone on the planned path. The drone's physical behavior, its position, speed, tilt angles and rotation rates, is described mathematically so the control system can simulate what will happen next before deciding what to do. The project uses a tool called ACADOS to turn this math into fast, compiled C code, which is then used inside a C++ program that actually runs the control loop in real time. The commands the controller sends match what a real drone's flight computer expects, meaning thrust and rotation rate targets, so the same logic could work on real hardware and not just in simulation. To make the simulation realistic, the project purposely uses two different models: a simpler one for planning ahead, and a more detailed one to simulate how the real drone would actually respond. This mismatch is intentional. It tests whether the controller still performs well even when its internal assumptions about the drone are not perfectly accurate, which is closer to what happens with a real physical drone. The project is organized so that the physics of the drone and the control strategy are defined separately in Python files, using a library called CasADi that lets the math be written in a readable form and automatically turned into the precise calculations the solver needs. Python is only used to build and generate this control code ahead of time. Nothing about running the drone control loop at flight time depends on Python, the final program is a compiled C++ binary with no interpreter involved.
A drone flight control project that plans and executes circular flight paths while keeping the camera locked on a ground target, using predictive math turned into fast compiled code.
Mainly Python. The stack also includes Python, C++, CasADi.
No license information is stated in the README.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
double-check against the repo, no cap.