Mission Mode - Circling Down Instead of Diving

Hello everyone,

I am flying a fixed wing in mission mode. My flight profile requires a rapid drop of altitude. Hence, I have one waypoint practically under another in my mission plan with ~700 ft altitude drop. However, the plane refuses to dive down and circles down around the waypoint for altitude loss. Does someone know how do disable this circling down behavior and make the autopilot command aggressive dive ?

My process included tuning the PID, then TECS as per these instructions:

Some of the key parameters I have adjusted during this process include:

  • FW_P_LIM_MIN = -85 deg
  • FW_T_SINK_MAX = 100mph
  • FW_AIRSPD_MAX = 120 mph
  • FW_T_SINK_R_SP = 70 mph
  • FW_T_SINK_MIN = 40mph

The values are pretty aggressive to allow for the diving behavior and allowed me to achieve my best attempt yet.

However, the vehicle still refuses to dive. Here is my log:

Any help would be highly appreciated

PS: flying was done in SITL simulation using gazebo classics. My original post on this issue: Aggressive maneuvers in mission mode

So you’ve set the new waypoint with the lower altitude at the same horizontal position as the previous one?


Then the loitering down behavior is expected. To have it fly directly to a setpoint with a lower altitude you need to increase the horizontal spacing, at least to be bigger than the acceptance radius, which in turn is based on current groundspeed an the paramter NPFG_PERIOD.

You can check FW_T_F_ALT_ERR in latest firmware. I would try something similar but with older firmware and there was no parameter like this. May be it can solve your problem.
Also I think you should check FW_AIRSPD_MAX because during diving phase tecs may try to slow down the vehicle by limiting pitch command.

And last one FW_T_SPDWEIGHT . If set this parameter to 0.0 TECS will ignore speed error. May be this can be helpful to dive the vehicle. I intend to review TECS more detailed if I understand something useful I will share. Please share too. I’m trying to do similiar thing with you.