Recently released INAV 1.7.2 introduced new hardware support: analog airspeed sensors. I’ve written new but it is new only to INAV. Analog airpseed sensors aka APM Pitot Tubes aka Ardupilot Airspeed Meter and one the market for years. And they are cheap. By cheap, I mean below $30. And until recently they were usable only in APM world.
I just finished first test flights with laser rangefinder VL53L0X and well, I'm disappointed. Before I will show any data, let's review test conditions:
- VL53L0X configured for Long range mode: 2m
- 8PM, obscured sky, no direct sunlight
- Over concrete
And it looks like this:
Solid readout ended at more less 80cm. Above that, valid readout appeared only from time to time. So I have to assume, that everything above 1m is absolutely not reliable and useful range is max. 75cm. Probably much less over different surfaces.
And that means it will have rather limited usefulness. Landing detection probably. Or low altitude flights with terrain following. I tried that too and it worked as long as quadcopter was not higher as 20 or 30cm above ground.
Oh well… I had high hopes for VL53L0X. Next attempts will be with hybrid approach: US-100 sonar and Sharp optical (IR) GP2Y0A710K0F (up to 5 meters) data fusion.
I have a news for all INAV pilots using Naze32, Flip32 and other boards compatible with NAZE target. You might call it a bad news, but reality is that it is not that bad and was long anticipated. It is official: INAV 1.7.2 was the last INAV release with NAZE target. That means the following: INAV 1.8 will not be available for Naze32, Flip32 and other boards compatible with that target.
You might was "why?". Quite simple: not enought flash memory, no way for new features to fit in. There was even not enought flash memory for bugfixes. And to be honest, I do not remember last time when NAZE users really got a new feature. Almost all new things were disabled for them. For more than a year, compiling NAZE target after adding something new was quite a challenge.
Does that mean that you can not use Nazes any more? Absolutely not. They are good boards and INAV 1.7.2 works on them just fine. You only will not be able to upgrade to INAV 1.8. And trust me, it is really worth it to invest in something better like F3 board. They are not that expensive after all…
By the way, CC3D is the next thing to be removed. Not yet, it still fits flash. Barely, but fits…
You just know a great project when you see one. Like, for example, large BiCopter made from wood and running INAV and flight controller software that kermets has built.
BiCopters might look strange, but the idea is quite simple. Instead of 4 motors, we have 2 motors and 2 servos tilting the motors. Like a one step further from a tricopter.
Similar idea (not the same, only similar) is used on large helicopters like Boeing CH-47 Chinook
Let's say I have almost a good news about sonar support in INAV: yesterday I flew terrain following mode with experimental INAV code. And did not crashed when shooting video below. I did crashed next code version, but that is only a minor detail, right?
- When shooting that video I did not touched throttle stick. Altitude control was 100% automatic
- It is US-100, not HC-SR04 ultrasonic rangefinder!
- US-100 was connected to Omnibus F4 Pro using experimental I2C interface with ATtiny85
- If you want to try it, here is the code. But be prepared to crash 🙂
A week ago I wrote that HC-SR04 ultrasonic rangefinder is crap and it is still true. Only around 1m useful range and very jumpy behavior above are at least problematic…
There is a better solution. US-100 ultrasonic rangefinder. Comparing to HC-SR04, it has at least twice the useful range. My preliminary tests gave solid readout over concrete up to 2 meters and something. Let's call it 2 meters. But what more important, US-100 was reporting out-of-range state instead of some random values when being out of range! Huge step forward comparing to HC-SR04.
Unfortunately, better does not mean good. US-100 also has some problems.
Readouts becomes "jumpy" at the edge of useful range and they are far far away from declared. But OK, declared always means "perfect conditions". Still, trust me on this, comparing to this, HC-SR04 is crap…
“Let’s do the news….” and INAV 1.7.2 has been released yesterday. Besides new targets (MATEKF405, Alienflight F7, SP Racing F3 NEO) there are few quite important changes:
- ADC channel to function mapping is now configurable. Any ADC using function (battery voltage, current, RSSI) can be assigned to any ADC pin. You smoked Current pin? No problem, now you can use RSSI for that. It can be done using
- Support for analog pitot tubes, based on MPXV7002DP, known as APM Airspeed Sensor. It requires some hacking, but is pretty simple. I will publish detailed instructions in a next few days
- Servo handling improvements:
- servo min and max now do what they are supposed to be doing: output is scaled to reach them on max/min input, not just clip. And that means, that aileron differential is not super simple to archive
- servo rule speed is now defined as
1 speed = 10 us/s. So,
speed 100means that full servo sweep will be done in 1 second.
speed 50means full servo sweep in 2 seconds and so on
smixmin and max parameters were removed
- Support for eLeReS receivers built into KFC flight controllers
- Total flight statistics via
- AnyFC F7 improvements:
- buzzer on output #9
- SD card detection is now configurable via
- support for external barometers using ANYFCF7_EXTERNAL_BARO target
- Fixed wing landing after RTH that I already described here
Full list of changes is available here.
Only few days ago I mentioned that I started to reintroduce sonar support to INAV. When DigitalEntity told me that popular HC-SR04 is crap I did not belived him. I expected that “official” 4m range on a noise-machine aka quadcopter is unrealistic, but data I recorded today clearly shows: HC-SR04 is crap and is absolutely not suited for quadcopters and probably other UAVs. Why? Because it goes nuts and starts to pick background noise instead of surface.
Let’s take a look here:
Bottom trace shows pseudo Signal-to-Noise-Ratio (SNR) while top one shows raw HC-SR04 altitude and INAV position estimator altitude (GPS, barometer and accelerometer combined). As you can see, it’s not that bad. There is a correlation between both of altitudes and SNR is pretty low.
Same thing is happening here. Quadcopter descended to land, both altitudes went down to finally meet at
zero. SNR is low too. Nice.
But, very bad things starts to happen as soon as altitude crosses 1.5m. Not only SNR goes up, but HC-SR04 starts to report completely unreliable data! If it was reporting out-of-range state, it would be fine. But no, it keeps reporting something between 1 and 2 meters while real altitude is much higher. Total crap.
Conclusion is simple: HC-SR04 can be used on multirotors but only on very low altitudes. Something like 0.75m over concrete. Or 0.5m above short grass. Or even less over long grass. Definitely not good enough for terrain following flight mode.
Next week I will test US-100 ultrasonic rangefinder. It is supposed to give much better results. I hope so…
Did you ever wondered what is the most popular flight controller? Hardware I mean. I can tell you 🙂 OK, maybe it will not be a full truth, since I have data only from INAV, but assuming that distribution for Betaflight and Cleanflight is similar, we might know what is happening…
Important, this is not the number of boards flashed with INAV, but rather number of times a board was connected to Configurator!
This counts TARGET software name, not retail name. For example, all clones of Naze32 will be counted as Naze32
Data was taken in June 2017, multiple connections during single user session are stored as single entry. Continue reading “And the most popular flight controller for INAV is…” »
I honestly admit, that my 6″ quad (codename GPS Racer) was never very pretty. It was just ugly with that GPS tower on the front. Today it got even uglier: I’ve equipped it with HC-SR04 sonar connected via I2C bus (ATtiny85 to the rescue).
Why, you might ask, have I done something so useless? Answer is simple: to make it less useless. There are at least few problems with sonar and modern flight controllers. First of all, most new boards does not have connections for it. Second of all, it does not work reliably.
It just don’t. It was no unreliable that INAV, for example, disabled it for some time completely. Right now it is back, but used only during landing on multirotors. No terrain following or anything like that. Continue reading “GPS Racer: worklog #8 – sonar test platform” »