I created a URDF for my 3" FPV drone for PX4 SITL and I’m trying to tune the cascaded PID gains. What’s the recommended approach? I tried the autotune, but it fails every time, even on the default gz_x500 model in PX4 SITL. Has anyone experienced this or knows how to properly tune the PID gains?
I have zero experience with small drones, but suggest you read PX4 guides: Google AI suggests the following:
The PX4 MC Filter Tuning Guide recommends beginning from the Generic 250 Racer airframe template (Quadrotor x > Generic 250 Racer) to ⁷prioritize minimal latency over heavy filtering. [1, 2]
Increase IMU_GYRO_CUTOFF towards a ballpark of 120 Hz (up from the 30 Hz default) and set IMU_DGYRO_CUTOFF to between 50 Hz and 80 Hz.
Verify Motor Response: Ensure your simulated motor dynamics can keep up with these fast inputs by adjusting the actuator time constants in your Gazebo .sdf model if you notice high-frequency oscillations. [1, 2]
If manually tuning via QGroundControl , note that smaller frames like a 3" quad demand drastically different scaling ( Multicopter Racer Setup Guide). The Advanced Tuning Guide states that while a standard 500-sized drone expects a Proportional (P) gain around 1.0, a highly responsive 4" or 3" racer can require P gains up to 8.0 to eliminate tracking delays. [1, 2]