Gazebo: Unsure about required aerodynamic plugins

Hello,

We have developed a custom fixed-wing UAV model in Gazebo Harmonic (gz-sim8) for a competition project.

Current status:

  • The full SDF model is assembled.
  • Collision geometries are defined.
  • Center of mass and inertial parameters are set.
  • Joints and control surface axes are configured.
  • ArduPlane SITL connection via ArduPilotPlugin is successfully established.
  • Control surfaces respond correctly from Mission Planner.

However, we are currently stuck at the aerodynamic stage.

We are unsure:

  1. Which aerodynamic plugins are actually required for a fixed-wing model in Harmonic?
  2. Should we use LiftDragPlugin for wings and tail?
  3. Should thrust be generated by Gazebo plugin or handled entirely by ArduPilot?
  4. Is there a recommended minimal plugin configuration for custom fixed-wing models?

We tried adapting the mini_talon_vtail example, but the behavior is unstable and the aircraft does not properly generate lift or take off.

Environment:

  • Ubuntu 22.04
  • Gazebo Harmonic
  • ArduPlane SITL
  • Custom SDF (version 1.9)

Any guidance on the correct plugin architecture for fixed-wing models in Harmonic would be greatly appreciated.

Thank you.

Param.txt (1.5 KB)

World.txt (3.4 KB)

ModelSDF.txt (26.4 KB)

Hello @Onur_Sen, did you manage to get the mini-talon example working? The version in SITL_Models main should fly all modes fairly well using the master version of ArduPilot. If there are any problems there, it may point to a problem in your development environment.

If the talon example is working well, then we’ll need to look into your model in more detail. The inertials may be part of the problem. Which links contribute to the intertials on the wings and the large box at the rear of the plane? I’d expect the wing inertials to be flat rectangles roughly aligning with the wings. Similarly for the ruddervator.

The location of the CoM looks reasonable in the picture, as do the collisions. If you place to small cones under the wing tips, does the plane roughly balance (it should pitch forward slowly).

Lift drag plugins should work for lift and control surfaces. The talon should be a good guide if you scale with surface area. Similarly for the prop lift drag plugins - scale by the prop area.

Hello @rhys

Thank you for the response.

We were able to run the mini_talon_vtail model successfully in Gazebo Harmonic using the master version of ArduPilot. It flies correctly in multiple modes, so the SITL + plugin environment appears to be working properly on our system.

We will review and adjust the inertial definitions in our custom model and align them more closely with the Mini Talon structure.

In our model:

  • The main wing inertial is defined inside the wing link.

  • The control surfaces (flap_left, flap_right) have separate inertial definitions in their respective links.

  • The rear section inertials are defined in the tail_left and tail_right links.

  • The fuselage mass and inertia are defined separately in the fuselage link.

Current aerodynamic behavior:

The aircraft accelerates forward properly.
Throttle response works.
Control surfaces respond correctly.
However, the aircraft does not generate sufficient lift to take off.

Also, should the LiftDrag parameters (area, cla, cda, a0, cp, etc.) be specifically computed for our geometry, or is scaling from the Mini Talon example generally sufficient as a starting point?

In your experience, is insufficient lift in this situation more commonly caused by incorrect inertia distribution, cp positioning relative to the CoM, or lift parameter scaling?

Thank you again for your guidance.

If your aircraft has a similar mass and size to the mini-talon, then it’s plugin parameters are probably a good start. Going by the grid size they appear roughly similar in size, so this could be a reasonable approach.

I corrected the inertia values in my model, but the problem still continues. The vehicle just moves forward on the ground and does not take off. What could I be missing?

The aerodynamic settings are almost the same as in the Mini Talon model.