I need some assistance analyzing a takeoff issue on my drone. The drone performs an extremely aggressive, “rocket-like” jump off the ground when initiating an automatic takeoff in modes like Loiter and Auto.
Problem:
When I apply throttle the vehicle lifts off with a vertical climb rate that is far high and sudden. But this happens only during liftoff. After liftoff everything becomes normal.
In the flight log, I see a clear and immediate mismatch in the vertical control loop:
• {CTUN.CRt} (Actual Climb Rate): Spikes to a very high value
• {CTUN.DCRt} (Desired Climb Rate): Remains at a gentle, commanded value.
Thanks for the log. It looks like a very powerful copter (which should be fine) and it’s overshooting the target acceleration and velocity so the core issue is a control problem (e.g. tuning).
Here’s a graph of the target acceleration (in red) vs the actual (in green). It’s in the “D” frame (down) so it’s upside-down for normal humans but you get the idea I suspect.
I see you’ve modified the PSC_ASCZ_P to 0.28 (normally 0.5) which seems like a good idea. It looks like PILOT_ACCEL_Z is 150 (normally 250) which is fine but this param affects the target which is not really the issue (it’s the response that’s the issue).
I suspect this is caused by a non-linear response in the ESCs. So they produce a lot more thrust than expected at low throttle so it may help to adjust MOT_THST_EXPO. Finding the right value though can be a bit of a process (documented here including a link to a webtool). Another possibility is the setting of the MOT_SPIN_MIN, maybe that’s too high.
I wonder if maybe reducing TKOFF_SLEW_TIME from 2 seconds to 4 seconds might help give the controllers more time to adjust to the non-linearity.