4 March, 2017 at 13:08 #36732
As per request, I have created a Patreon and Paypal pages for showing you appreciation for Triflight development:
I have spent hundreds of hours in developing and testing the firmware and enjoyed every bit of it. The community here in the forums has been superb, it wouldn’t have been possible without your help in testing and brainstorming. Together we have made this possible.
Please consider a small donation if you have found this project useful, thank you all!5 March, 2017 at 14:12 #36749
Huge thanks to everyone who donated and pledged! I’m very grateful for your interest and support in this project!
Thanks go to: @litterbug, Terje and 3 other persons whose nickname I don’t know.
Motivated from this, I traded some of my sleep last night to start the merge to Betaflight. I got to a good start, the biggest part of the merging is already done. I encountered two things in the PID controller that do not work in the favor of tricopters:
– Yaw D is completely disabled. In my experience it is needed for tricopter to help accelerate the movement of the mass when starting and ending a yaw move. I changed it to be enabled for tricopters, still need to test how the setpoint weight and relaxing affects tricopter yaw. Is the same setpoint weight suitable for motors and the servo? IMO tricopter yaw needs full error based D.
– The integral disabling is done based on motor saturation for all axises. This is not the optimal way for tricopters where one of the axises is controlled by a servo (+ a motor). For now I implemented the saturation detection for yaw axis similarly as it has been on triflight (disable based on yaw angular velocity). I will leave it like this for now, after some flight testing we can think of a better way to detect servo saturation. It could be for example based on the servo offset from setpoint. Servo is saturated when it is far away from current setpoint, I term mustn’t accumulate in this case to prevent windup.
The work will continue with merging the rest of the commits, then with a lot of flight testing and recording blackbox logs.6 March, 2017 at 22:01 #36770
keep up the good work lauka 😉7 March, 2017 at 16:24 #36775
Happily setup a patreon submission! Thanks for the great work. Actually, in addition to the RCE-SPF3 Tricopter, I’m looking forward to trying the new Betaflight forked/based triflight on a FliteTest Electrohub Tricopter I had long ago built with a MultiWii board. I’ll replace the MWFC with a spare SPF3 I have.7 March, 2017 at 20:16 #36777
I have continued on the implementation. Did first LOS tests today. After some iteration and tuning it worked very well. To my surprise it runs at 8k/4k just fine:). I basically had to revert back to the good old PID integrator disabling, I have tested many other solutions before. This is working the best. The default betaflight integrator behavior doesn’t work for tricopters, causes drift. I will make a video comparing this later.
I started testing more aggressive low throttle yaw authority while at it. I found out that I could boost the servo angle based thrust correction up to 3x from what it was in Triflight 0.5. What a HUGE difference it made! The LOS testing shows that the baby tri yaws pretty much as good as a quad at zero throttle. My jaw dropped when I saw that 🙂 Pretty sure no-one has seen tri yawing so well at zero throttle before. Exciting stuff, hopefully it works as well in FPV flight.
You can follow the progress here: https://github.com/lkaino/Triflight/commits/betaflight_merge
8 March, 2017 at 04:58 #36783
- This reply was modified 3 weeks ago by lauka.
Sounds promising! Let us know when you have something you’d like us to test!8 March, 2017 at 14:38 #367898 March, 2017 at 20:15 #36794
I used some of the support money today to buy a “turntable” from a scrapyard :). I have wanted something like this for a long time, finally I found one. I made it into a tricopter yaw tuning jig, Now it is possible for me to tune the yaw parameters consistently.
I tested the linear yaw output and fortunately the formulas in the code seem to be correct. I tested the yaw speed at 50% PID output to both directions. The result was exactly the same on both directions!
I began to tune the dynamic yaw so that I fixed the PID output to 50%. I tuned the dynamic yaw min gain so that the yaw speed was roughly the same from 0% to 50% tail motor throttle range. For some reason the yaw speed is a bit higher at 25% throttle than it is at 0% and 50%, but it’s close enough to not notice in flight I think. Ran out of battery from my laptop when tuning the 50% – 100% range.
Need to make a video out of this test jig also, it’s pretty cool :).8 March, 2017 at 20:59 #36795
All this talk of yaw reminds me of when I had the yaw direction backwards on the servo. Found out how perfectly balanced my Baby Tri was when I went to take off for maiden and it went into a perfect hyper spin on the ground. Oh how I wish the camera and DVR would have been running…. May have to do it again sometime just for shiggles… LOL
LitterBug11 March, 2017 at 12:19 #36831
Made a video showing the improved yaw authority at zero throttle.
Needs some tuning, it’s overshooting a bit, but the authority is amazing. With the stock Betaflight the copter has no authority at all at zero throttle.
Unfortunately it’s too cold for FPV testing and tuning still, my fingers are frozen after 10 minutes of LOS testing :).
11 March, 2017 at 13:10 #3683413 March, 2017 at 04:25 #3684713 March, 2017 at 05:20 #36849
- This reply was modified 2 weeks, 3 days ago by lauka.
Awesome work man!!!
Mike13 March, 2017 at 16:16 #36851
wow very cool 🙂13 March, 2017 at 16:38 #36852
I have been flying and tuning 20 or so batteries now in FPV around the yard. I must say that the yaw performance is very good. It wasn’t bad in 0.5 but it feels that it’s more stable now.
With the added yaw “boost” the copter holds heading quite well even with 0 tri_motor_acc_yaw_correction. Even better is that the tumbling effect when cutting throttle in FFF is reduced a lot.
I think the code is now ready for 0.6 RC2 release. I just need to do more tuning to find the best default values before that. I’m running at 8k/4k, multishot with gyro lpf at 100hz and D lpf at 110hz. My motors come down cool, even with beaten up props. Not sure if I can set those as defaults.
You must be logged in to reply to this topic.