uWSC Aircraft Simulator: A Gazebo-based model for uncrewed weight-shift control aircraft flight simulation.

Working with Romaeris Corporation as part of a research collaboration with the University of Ottawa, we have developed a Gazebo model for a weight-shift controlled aircraft, based on the Romaeris unmanned weight-shift control (uWSC) electric aircraft, a >100 kg autonomous fixed-wing electric UAV. This simulator model aided us with validating novel flight controller designs, and mission scenario management, such as GHG emissions detection. Further, this model includes a demo of a gimbal mechanism implemented in Gazebo. We are contributing this as an open-source contribution with the hope that the implementation can serve as a useful reference for fixed-wing aircraft simulation development with ArduPlane SITL and Gazebo.



As the model name suggest, the attitude control of the aircraft relies on shifting the effective center of gravity as opposed to conventional control surfaces. This introduces their own set of tricky dynamics and control problems that I won’t get into here, but in a nutshell, flight control for these are surprisingly more difficult than you’d expect. Specialized training is required for hang-gliders and air trikes that rely on this method of flight control. Conventionally trained pilots will mention that it can be mind bending compared to regular 3-axis control surface based flight control.

Thanks to the extremely valuable support of @rhys, I’ve pushed the model as an open-source contribution to the official ArduPilot Software-in-the-Loop (SITL) Gazebo simulation model repository. Documentation for the model is provided here, including details on ArduPlane configuration. The provided parameter file enables Automatic flight modes out of the box. A gimbal mechanism is also included that works with the ArduPilot gimbal control feature.


We have validated the ability for the model to match flight trajectories of real weight-shift air trikes. The method and results can be found in our conference paper; a pre-print version is available here uWSC Aircraft Simulator: A Gazebo-based model for uncrewed weight-shift control aircraft flight simulation, and the final publication is available on IEEE Xplore.

In the paper, we compare the simulation vehicle to avionics data gathered from 13 real weight-shift aircraft flights, and found that the modelling approach yielded a reasonably good approximation of the real thing. Here are two figures from the pre-print version of the paper that quantify this point, the first being a sample of trajectory matching, and the second being collections of ‘flight phase subcategories’ as defined in the paper. If you review the simulator model and the paper and it helps you with your own work, please consider citing us to tie our works together:

N. Mailhot, T. de Jesus Krings, G. T. Navajas, B. Zhou and D. Spinello, “uWSC Aircraft Simulator: A Gazebo-based model for uncrewed weight-shift control aircraft flight simulation,” 2023 IEEE International Symposium on Robotic and Sensors Environments (ROSE), Tokyo, Japan, 2023, pp. 1-8, doi: 10.1109/ROSE60297.2023.10410672.

To conclude, this work directly supports our high level flight controller development for high range, low cost, fully electric unmanned weight-shift aircraft. We found that ArduPilot SITL with Gazebo simulation provided us with a strong utility that complemented our ongoing prototype design efforts. My hope is that by providing the simulation approach and results described here, it helps to inform and motivate other teams or individuals to incorporate these techniques in their work. In the near future Romaeris will look into supporting the ArduPilot community as part of the Partners Program.

I would be very happy to lend my personal support to anyone who is looking for help implementing methods like ours.


  • Nathaniel Mailhot, a.k.a. NDev

That is truely a cool new control for plane ! Thanks you for sharing this work. I hope that would inspired new team to test unconventional controler or frames !


Thank you khancyr. I believe that we owe you greatly for the original ardupilot_gazebo repo that this is all built upon: Original ardupilot_gazebo plugin repo

You were the first, correct?

Maybe not the first but I indeed push this to make available for the community !
Rhys and Ryan are now doing much better work than I did !


great work!
I love seeing ArduPilot used for this sort of research, thanks!


Research with a visual simulation will make it easier for readers to access. <3 love it