Naze32 for Airplane Stabilization using iNav

by goatboy29 | February 22, 2018 | (6) Posted in Projects

About a year ago, after building and flying multiple foamboard planes, I decided to try my hand at quadcopters. So I bought a pretty cheap quad kit from HobbyKing (its no longer available sadly) and a Naze32 rev 6 Acro board to use as a flight controller. It was a great first quad and helped me learn how to build, fly, and tune a multirotor. 

Anyway, a few months later I bought a better quad copter (premade) and a few months after that I bought an FT Gremlin. With these two new quads I decided that I was done with my beginner quad and decided to put the parts to different uses. I used the motors and esc's to build mini 4-engine planes; the most recent of which being the Super Duper Bee (maybe I'll write an article on that guy someday, he's a blast to fly!)

So I used the motors, but for months the Naze32 board just sat on the shelf doing nothing! Little did I know the potential that he held.

The thing that got me thinking about this was the FT Spear episode from Flite Test. In this episode, Josh Scott flew a version of the Spear that had been outfitted with a Vector system that acts to stabilize the wing; limiting bank angles and providing auto-leveling. 



So I looked up the Vector flight controller and quickly decided that it was beyond my budget. Then I remembered that I had a Naze32 board sitting on the shelf and I wondered if it would be possible to get the same results with a much cheaper piece of hardware (essentially free because I already had it!). So I spent some time googling the interwebs and discovered iNav.

Essentially, iNav is an extension of Cleanflight that is heavily focused on GPS features for controlling both drones (multirotors) and fixed-wing aircraft. It uses a configurator interface that is very similar to Cleanflight or Betaflight and allows you to program a UAV (Unmanned Aerial Vehicle) to essentially fly itself. You can tell it how to take off, specify GPS waypoints, tell it when and where to loiter, and finally instruct it how to land itself. Honestly, I don't even comprehend the full breadth of what it can do, so I'll just refer you to their website: https://github.com/iNavFlight/inav/wiki

Unfortunately for me, the Naze32 board that I have is only the Acro version and doesn't have all the functionality of the 10 DOF or Full Naze32 boards. The biggest shortcoming is that I can't hook a GPS up to my board and use the GPS waypoint functionality of iNav. However, even without a GPS, there is still a bunch of functionality that can be useful for fixed-wing aircraft.

A couple days before discovering iNav, I had just finished scratchbuilding the FT Mig 3. My younger brother built this airplane soon after it was released and I was very impressed by how smooth it flew. So when I crashed my Storch (thats another story), I had a whole bunch of parts on my hands, begging to be put into a new airframe. So I built the FT Mig 3. (BTW, props to NerdNic and Josh Bixler on the great design!)

You can probably see where this is going now. New plane, spare Naze32 board, newly discovered flight control software; I put a flight controller on the Mig 3!

First off, I'd like to say that this was incredibly simple to set up. I just flashed the latest version of iNav to my Naze32 using the iNav configurator, plugged the servos and motor into the right ports, made sure everything moved the right way, set up the flight modes I wanted, and it was ready to go! I've probably oversimplified the process, but thankfully the documentation for iNav is really good and they have a start up guide for fixed-wing aircraft that walks you through the whole process. Just look at the iNav website that I referenced earlier. 

For the Mig, the flight modes that I set up were 'passthrough', 'rate', and 'angle' with 'nav alt hold'. 'Passthrough' is pretty basic; it just passes the controls from the receiver directly to the servos. This is a good flight mode to have set up because if something goes wrong with the flight controller (too strong of gains, brownout, etc.) you can switch to 'passthrough' and just fly the plane manually. 'Rate' is a bit more interesting because instead of your stick inputs controlling the deflections of the control surfaces, they control the rotation rates about each of the axes. So the flight controller takes your stick inputs and decides how much it needs to deflect the control surfaces to get the airplane to rotate at the rate you specify. One nice side effect of this is that if you don't move the sticks, the flight controller keeps flying in the orientation it is in. This can make it easier to fly in wind or learn how to do basic 3D manuevers like hovering. 'Angle' is basically like the auto leveling of a quad copter. If you push sideways on the stick, the airplane will bank to a certain limit and then automatically level the plane when you return the stick to center. Combined with 'nav alt hold', the flight controller can keep the plane level and flying at a fixed altitude. I'm personally looking forward to using this feature to help teach other members of my family how to fly. There are many other flight modes that are available (lots more if you have a flight controller with a GPS), but these are the ones that I experimented with.

After the first flight, I had a couple of observations:

  1. The Angle and Nav Alt Hold modes work super well!! I could put the aircraft into an inverted dive, flip the switch to enable those two modes, and it would level itself and then climb back to the altitude that I enabled the modes at! Super handy to have as an 'Oh crap' button. At the same time, I had almost no turning authority once those modes were enabled, but I'm sure I just need to adjust some setting for that.
  2. There is a bit of lag between giving control inputs and the aircraft responding. This is probably just due to the low computational power of the Naze32 I am using, and it doesn't amount to more than a quarter second, but it was noticeable and kinda annoying.
  3. The Mig is probably not the best plane for this feature. All told, it worked great, but the Mig is already a stable plane as it is, so the flight controller was really just getting in the way of me just flying the plane. So I'd suggest putting it on an inherently less stable plane or one that you want to use to teach someone else.

All things told, I really like it and I'm excited to put it on a new plane. My plan is to put it onto an FPV plane so that I can get super smooth footage and a very relaxing flying experience. Plus, I'll be able to have an 'Oh crap' button in case I lose signal. More on that when it comes!

Happy flying!

COMMENTS

Nathaniel on May 15, 2018
Nice article! Enjoyed all the info ;)
Log In to reply
SmokeshowFPV on May 31, 2018
Finally! I am about to build a Sparrow using an OmnibusF4, UBLOX GPS and an FPV setup running iNav. Good to see someone else in the community experimenting with this stuff!
Log In to reply
Jackson T on May 15, 2018
PLEASE write an article about your Super Duper Bee!!! It looks really cool!!!
Log In to reply

You need to log-in to comment on articles.


Naze32 for Airplane Stabilization using iNav