In this episode I talk about:
- How Betaflight, Cleanflight and INAV filters gyroscope signals
- What is the difference between LPF and notch filter
- How to setup blackbox logs for precise gyro signal analysis
In this episode I talk about:
I’m not completely sure why, but I’ve been pushing this topic away for quite a long time now. But it’s finally time to present it in this blog too. So, here we go.
Something like 3 month ago I’ve started to record and publish a video series about basics of gyroscope data processing in modern flight controllers (Betaflight, INAV, Cleanflight). It started as a tutorial how to setup notch filters in INAV, but ended up as a much bigger thing. Series consist of 4 episodes where I use Blackbox logs to show gyroscope signal noise and how to fight with it. Over next few days I will be posting links to those videos here, but if you eager to see them sooner, just use this link.
In Episode 1 I talk about:
Ah yes, I’m running a YouTube channel too, feel free to subscribe 🙂
Today another tutorial video I recorded some time ago: how to install RC antennas using zip ties and heat shrink tubes. After all, dangling antennas will be chewed by propellers in a minutes.
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:
nav_landing_speedwhen 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_land_slowdown_minalt. So, on using default values, vertical speed is between 2m/s and 0.5m/s
nav_fw_cruise_thrwhen nose is up. This is to prevent airplane from gaining horizontal speed
ROLLaxis is locked to 0 degrees,
PITCHaxis is locked to
nav_fw_land_dive_angle(default is 2 degrees) and motor is stopped when
MOTOR_STOPis used or put to IDLE when
MOTOR_STOPis 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.
Very often, where you go cheap, there is a price to pay. Exactly like with cheap 433MHz transmitter-receiver pair of FS1000A and XY-MK-5V. You rather do not expect much for $1, right?
When playing with them in a middle of a big city (Berlin), few meters of range was all those modules were able to archive. Too much interferences form other devices. But what about open space in a middle of nowhere? I’ve decided to test that, and this is what I came up with:
If video was too long: 315m apart, no direct line of sight between transmitter and receiver and still stable data flow! It would be more, but nature was against me and I just was not able to go further. I did not expected that much range from those two…
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:
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.
It took me much more time to put my Scarab Knife 200 4″ from CarbonBird.com into the air and actually fly it. First try that happened 2 weeks ago failed due to beginner mistake: too long motor screw caused one of the motors to overheat. I had to order shorter M2 screws and redo some other things: add 1000uF 36V low-ESR capacitor to power rail, relocate VTX and X4RSB RX. Nothing super fancy. Final effect looks like this:
There are a few problems that I hope proper tuning will solve. One of them, is strange wobble, or low frequency oscillation, on full throttle. I’m not sure what is the source of it. It might be from quite soft props. I will try replacing stock HQProp 4×4.5″ with DAL T4045. But second problem is that probably 4″ props do not match my flying style. Those small props just do not gip so much air as 5-inchers and do not keep flying path as good as I’m used to. I had similar feelings when testing JJPro P175, so that might be the case.
Next tries in 2 weeks…
Yesterday I finally maidened my GPS Racer in full FPV configuration. RunCam Owl Plus and VTX finally arrived, it was not raining, so I took recording gear after sunset and went flying.
To be precise, it was not "night". But it was pretty dark. Too dark for my RunCam Swift. Owl Plus was sensitive enough to fly. It was not perfect, but doable. Next step: not IR blocked lens and IR emitter for real night flying. Both have been ordered.
Plus, thanks to GPS and OSD I finally saw the speed this thing can do. 92km/h recorded, but that was not the limit on those 6030 props. I do not think I've opened throttle to max…
Just like it was expected, my first attempt to wind a brushless motor (12N14P) was a failure. Probable cause: short circuit between phases and my creation released magic smoke.
Then I tried for a second time, and failed again. This time less, no smoke, but motor overheats and does not want to start most of the time. I suspect this can be an ESC problem (Emax 30A) that is configured for DampedLight. Perhaps motor is rotation too fast (no load after all) and ESC tries to slow it down. Hard to tell. Tomorrow I will add a propeller and disable DampedLight. Maybe it will help. I will also try WYE configuration. Right now phases are connected in Delta setup.
It's not a secret, that me, and QuadMeUp, are not only about quadcopters. From time to time I like to do something completely different.
When I was a child (10-12 or something like that) I loved to build boats. Simple crude design: styrofoam or bark, simple sail or DC motor and tinwire propeller. No RC link. Just let it sail in "somewhere there".
When I got a 3D printer and learned that servos can be converted to continuous rotation simply by replacing potentiometer with a pair of resistors, the idea to build paddle wheel boat powered by servos was almost obvious.
So, here it is!