Tuesday, 11 June 2024

INAV VTOL Tailsitter


INAV 7.1 now has VTOL capability, thanks to INAV dev Shota Hyashi 

With Mixer Profile switching and a Transition mode we can now change between horizontal and vertical board alignments on the fly.

It is not yet perfect, lots of experimentation with PIDs and rates is required to make each different model work smoothly.

INAV VTOL doc - https://github.com/iNavFlight/inav/blob/master/docs/VTOL.md

Tailsitter initial setup tips

At this stage (INAV 7.1.2 June 2024) Tailsitter is not available as a platform choice so you need to enter this CLI command - Set tailsitter_orientation_offset = ON

This allows the board orientation to be horizontal for Mixer Profile 1 and vertical for Mixer Profile 2 with a 45ยบ pitch forward transition mode.

Start with a normal fixed wing INAV setup. This will be Mixer Profile 1 / PID Profile 1.

Turn on "PID Profile will use same index...." so that the mixer and PIDs will match when switching Profiles.



Change to Mixer Profile 2 and PID Profile 2 and choose Quad X as the Mixer Preset.

Again turn on "PID Profile will use same index...." 

Later we will need to alter the Quad X mixer settings depending on the fixed wing model we are using. 

I am testing the AtomRC Theer wing and AtomRC Penguin.


In the Modes page - Configure Mixer Profile 2 and Profile Transition Modes using a channel which is operated by a 3 position switch.

Low channel value enables Profile 2 (VTOL), middle value adds the Transition Mode, high value switches to Profile 1 (level flight).


OK that covers the basics for all INAV tail sitters.

Now we need to make changes depending on the particular model, and play with the PIDs 


AtomRC Theer Tailsitter settings 

13th June 2024 - My Theer Tailsitter is now working OK for takeoff, hover, transition and level flight. I am having problems switching back to vertical and remaining stable. 

Profile 1 - use a normal twin motor flying wing mix


Profile 2 - Use Quad X mix like this screenshot, but make the changes below

In VTOL flight Motors give thrust and roll control.
Elevons give pitch and yaw control










Delete motors 3 and 4

Change Motor Roll values to 1, -1. Adjust directions as required to give the correct stabilisation direction..

Change Motor Pitch and Yaw values to 0, 0

Add elevon servo mixes and adjust directions and weights as required


This is the resulting Tailsitter mix


Initially the Theer did not have enough pitch stability action to keep it vertical so I added more elevon area. 

The preset Quad PIDs are incorrect for servo control so it's best to use values closer to Airplane PIDs for pitch and yaw, then adjust from there. 

For more elevon action in Angle mode I increased the pitch P value until the servos started shuddering, then backed off a bit. 

Then I increased the Level Pitch P value for more aggressive Angle mode pitch stability. 


set mc_p_level = 40 (0 to 255) Default value is 20

Here is my latest Theer VTOL Diff_All file Use with caution.




AtomRC Penguin Tailsitter settings (Not yet tested)

Profile 1 - normal mix for a twin motor plane without rudder


Profile 2 - Quad X but needs the changes below

In VTOL flight Motors give thrust and roll control,
elevator gives pitch control and ailerons give yaw control.

Delete motors 3 and 4

Change Motor Roll values 1, -1. Adjust directions as required to give the correct stabilisation direction.

Change Motor Pitch and Yaw values to 0, 0

Add elevator and aileron servo mixes and adjust directions and weights as required

Try increasing the Level Pitch P value for more Angle mode pitch stability

set mc_p_level = 40 (0 to 255) Default value is 20

In VTOL mode Elevator controls Pitch as usual but Ailerons change to Yaw


My YouTube VTOL Playlist 

WARNING - The INAV VTOL code is still being developed and is not yet complete. 

My tailsitters are still fairly unreliable and I haven't added GPS yet.  More tweaking is required.