Announcement: Fix for AdvancedLiftDrag Pitching Moment Computation

Hello Gazebo Community,

We want to highlight an important bug fix and subsequent behavior change in the AdvancedLiftDrag system, recently addressed in Issue #3695.

What was the issue?

Previously, when computing the pitching moment coefficient (Cem) in AdvancedLiftDrag.cc, the alpha-based pitching moment (derived from Cem0, Cema, and CemaStall) was unintentionally being overwritten by the sideslip contribution.

Because the code used an assignment instead of an accumulation, the previously computed alpha-based pitching moment was discarded entirely. As a result, parameters like Cem0 and Cema configured in your SDF files were having no effect on the final aerodynamic calculations.

What has changed?

This behavior has been corrected. The sideslip contribution is now correctly added to the existing alpha-based pitching moment, matching the intended coefficient build-up method:

// Previous unintended behavior
Cem = this->Cemb \* this->beta;

// New corrected behavior
Cem += this->Cemb \* this->beta;

Fixed Versions

This fix is available starting in the following gz-sim releases:

  • gz-sim 10.5.0

  • gz-sim 9.6.0

  • gz-sim 8.15.0

Action Required

If you use the AdvancedLiftDrag plugin, we highly recommend updating to one of these versions.

Important Note: Because Cem0, Cema, and Cema_stall are now correctly contributing to the simulation, you may notice changes in the aerodynamic behavior of your existing models if they unknowingly relied on the broken state. We recommend re-testing your aircraft and aerodynamic models to ensure they perform as expected now that the proper physics are being applied.

A special thank you to @lyw426457 for reporting this issue, and to @Jaeyoung-Lim for providing the fix!

If you run into any issues or have questions regarding this change, please feel free to reply to this thread.

1 Like