One of the things that INAV was missing, was a decent support for Pitot tubes, or more generally speaking, airspeed sensors. Autonomous flight, or landing, without knowledge about airspeed can easily lead to a stall. Stall can lead to crash. A crash leads to rebuild. Rebuild of big airplane is a nightmare. Although, for some time now INAV was able to use digital PX4 Airspeed Sensors (I2C, based on MS4525), but they are quite expensive and airspeed was only reported in blackbox logs. Not very useful, right?
Now, this is changing. Next release of INAV (1.8 probably) will bring at least support for much cheaper, analog, APM Airspeed Sensor based on MPXV7002 chip. Although some simple additional electronics (2 resistors to be precise) will be required, but this pitot tube should be available for all flight controllers with free ADC input (Current or RSSI). Fancy ADC remapping will allow to use any ADC without built in dividers (Vbat has dividers so can not be used) as pitot input.
More than that, INAV 1.8 will (or at least should) bring PID scaling according to airspeed for fixed wings. This should result in better handling on both low and high speed.
As you can see on the picture above, APM Airspeed Sensor is already installed on my small flying wing and is waiting for first flight tests this weekend. Logging only for now…
It's official: next release of INAV (1.8 or maybe 1.7.2) will incorporate an automated landing procedure for fixed wings. I was already writing about it 2 weeks ago, but now new code has been merged back and will be released.
Bear in mind, that this is not "state of the art" landing yet. It's rather a simple solution that can be used in emergency situations that will not crash an airplane, but rather put it on the ground without crashing. Procedure is quite simple:
When Return-To-Home or Failsafe with RTH is engaged, go to Home position
When Home is reached, start to loiter with defined radius and descend. Descent speed is limited to nav_landing_speed when altitude is above nav_land_slowdown_maxalt. When altitude is below nav_land_slowdown_maxalt, vertical speed is scaled down to one fourth of nav_landing_speed at nav_land_slowdown_minalt. So, on using default values, vertical speed is between 2m/s and 0.5m/s
During descend, airplane is not allowed to raise throttle above nav_fw_cruise_thr when nose is up. This is to prevent airplane from gaining horizontal speed
When nav_land_slowdown_minalt is reached, ROLL axis is locked to 0 degrees, PITCH axis is locked to nav_fw_land_dive_angle (default is 2 degrees) and motor is stopped when MOTOR_STOP is used or put to IDLE when MOTOR_STOP is not used. This puts airplane into a shallow dive to the ground
That is all. Airplane should glide last few meters to the ground. Most designs should be able to do it without a problem. My testing platform did it like that:
Since there is no auto-disarm procedure yet, MOTOR_STOP is recommended to prevent propeller from breaking and motors/ESC from burning.
Those of you how subscribed to my YouTube channel should have noticed, that I got an interest in automated landing of fixed wings after RTH in INAV. And the sad truth was that, well, INAV up to 1.7 was unable to do it right. When landing after RTH was enabled (nav_rth_allow_landing = ON) and it was enabled by default, airplane usually started a 20 degrees dive to the ground. One does not has to be a prophet to figure out how it ended.
For example like this:
If not manual override, that would end up in a beautiful crash and probable full rebuild of an airplane.
Luckily, that motivated DigitalEntity enough to something about that, and yesterday I was able to perform (probably the first one ever) a controlled descend after RTH that ended up with an airplane on the ground without any damage. With enough optimism one can call it even a landing. This is how it looked like:
Current implementation is still far from perfect. Although it does not crash, it has a few small problems:
No disarm. Throttle is open all the time
It happily ignores speed. Both ground and airspeed
It also ignores wind, heading and so on
But, to be honest, this is a nice progress. Stay tuned for more changes here, since I’m planning to work on it in the near future.
Miniquads are fun, right? After all, there is a reasons most uf us flies 210-250 quadcopters. If so, small flying wings should be fun too! I tried that already in late 2015 and failed miserably! My design did not survived maiden flight. Well, things like that happens from time to time, so few months ago, after learning few new things, I’ve made a second attempt. And this time I’ve succeeded.
With this short article I would like to initiate new series: Fixed Wing 101 where I will describe some basic concepts connected with fixed wing airplanes that should help beginners to enter the hobby. Today: why airplanes fly and why, from time to time, they fall down from the sky…
Airplanes fly thanks to the lift. It is a force generated by wings (by the way, propeller thrust and wing lift are the same force. After all, propeller is a rotating wing) thanks to pressure difference. When air pressure below the wing is higher than above it, lift appears. To archive level flight, lift has to be big enough to counteract mass and gravity.
The most important condition for a wing to generate lift is: wing has to move though the air (or air has to move around the wing). If there is no movement, there is no lift.
When there is air movement, there are two factors responsible for lift:
when gas or liquid is moving faster, it has lower pressure.
Simple. To obtain lower pressure above the wing, we have to make air move faster over there. This is why wing has a shape (airfoil) it has: top side (above chord) of a wing is longer than the lower side. Wing splits air into 2 stream. Upper one has longer way to travel than lower one, so it has to move faster. If it moves faster, it has lower pressure. If it has lower pressure, lift appears.
One of the hardware limitations of flight controllers that usually multirotor users ignores is a number of PWM outputs. To fly a quadcopter you need “only” 4 PWM outputs. Since most FCs have 6 outputs and 90% of multirotors are quadcopters, there is no problem.
In case of airplanes, this is not that simple. 6 PWM outputs is an absolute minimum to fly a classic airplane using MultiWii and derivatives (Baseflight, Cleanflight, INAV): 2 outputs reserved for motors, 2 ailerons, elevator, rudded. Suddenly, 6 outputs barely meets the requirements. If you want flaps, gas engine, pan & tilt or anything else, you are missing some outputs.
For some time INAV tries to address this issue by supporting external PWM driver: PCA9685.
One of the best new features of INAV 1.4 was Launch assistant mode (NAV LAUNCH). It greatly simplified the process of hand launching a fixed wing. All you had to do was to throw it into the air. INAV detected the throw, engaged motor(s) and stabilized flight and kept constant climb rate in the initial flight phase. INAV 1.5 will make it even better: it will also allow swing launch!
Since INAV 1.5 should be release in next 2 days, and there is very little info on INAV Launch mode, I’ve decided to create a short video showing how to do it.
Marabou Stork, my Depron FPV airplane had a bad luck. Few weeks ago, when I was testing development version of INAV, it crashed during take off. Poor accelerometer calibration combined with a software bug resulted in heavy roll 2 meters above ground. As a result, whole front section was smashed. Everything else more less survived. Luckily, winter is coming, flying season is more less over. I have few month to rebuild the nose and glue it back into place. With some extra reinforcements.
While Marabou Stork awaits new nose, I still have some footage to show…
Entry level DLG (Discus Launch Glider) from HobbyKing has a quite important flaw for a “entry” level model: it is not durable. As a matter of fact, it is quite fragile, specially where plastic nose section is attached to composite fuselage tube. It is attached only with 3 small screws, and I can guarantee: every harder landing will result with something broken. During 3 first weekends with my Mini DLG Pro, I had to glue it back together every second flying session.
Those 3 screws are just not stron enough to keep everything together, so I’ve decided to fix it with epoxy glue and I suggest all new owners of this DLG do it at the beginning. Thin layer of epoxy put everywhere where plastic meets fuselage tube is enough. It make glider strong like it should be from the beginning.
There is a penalty of course: nose section no longer can be detached. Since HobbyKing does not sell replacement parts for this model, this is not a big problem after all…
Hey, don't leave yet, there is more!
Do you know that there is a YouTube channel with awesome, drone and FPV related video? Why don't you give it a try?