FireFLY6 VTOL with APM Plane

David,

After flying the FF6 for years with AvA, I had gotten used to the left slider on the Taranis for transitioning from Hover mode to Forward Flight mode. This was also the case for my stock CL-84 and Aris V-Hawk VTOLs. The emergency bailout mode was sliding back to Hover mode. Now with APM Plane, it’s on my 6-position mode switch. Also, on my normal APM planes, I had gotten used to using Manual Mode as the emergency panic mode, which is all the way CCW, but on a QuadPlane, the emergency panic mode is QSTABILIZE which is all the way CW on the knob. The main point here is to program your mind as well as the transmitter model setting before each flight.

Remember my ThrOut plot of my first transition below. The throttle setting was above 50% during the transition from hover to forward flight until the first couple of turns when I realized I had full control and could relax. :sweat:

Good luck with your first FF6 APM flight!

Gents,

I am pleased to report a sucessful first flight. By sucessful I mean it didnt crash. It was only a VTOL test in q stablize and q hover. Man, I’ve been flying a long time and that was one of the more nerve racking flights I’ve flown. I definitely think it needs some tuning. I noticed a lot of pitch oscillations - the nose appeared to be bouncing. And the plane wasn’t very responsive to roll commands. This was the case with AVA but I was hoping to see more lateral movement with roll stick deflection. I only remember using yaw once and the FF6 seem to respond fine on the yaw access.

I could use some help defining PID corrections or other tuning suggestions.

I briefly looked at the log files. y and z vibes look good but x vibes are a bit troubling.

Here is a link the .bin file.

https://www.dropbox.com/s/uv43etv7bp5vz2h/2017-10-07%2012-52-40.bin?dl=0.

I am grateful to both of you for taking the time to hold my hand through this process. I couldn’t and wouldn’t have done this transition if you hadn’t blazed the trail. Thank you!

Dave

Greg,

Thank for the thoughts. Right now, I have my q modes set to q hover, q stablize and Q-RTL and p modes to FBWA and FBWB and manual. After more testing and refinement, I’ll set q modes to q loiter, q hover and q RTL and p modes to loiter or crusie and either FBWA or FBWB (haven’t flown with either to make an assesment of which I prefer) and finally auto. The plan is to be able to engage auto in either VTOL or plane and q RTL in either VTOL or plane. Make sense? I am trying to mimic AVA modes as much as possible to avoid confusion amongst my team as we make this transition.

Wide open to alternative modes and criticism of my mode selection and strategy outlined above.

Thanks,

dave

great!

yes, that shows in the log. It wasn’t really large - about 2 degrees, but would have been noticeable.
here is an example:


The culprit seems to be the P gain:

So as a first test, drop Q_A_RAT_PIT_P from 0.4 to 0.3

that’s interesting, as it did seem to track demanded roll pretty well:


was it the speed of response that was low? Or max angle?
ahh, I think I see the problem. You have a large roll estimation error:

that shows that the two EKF lanes disagree about your roll by an average of about 4 degrees, and often quite a bit larger amounts. That means you have a sensor error.
The prime culprit is your compass. The two compasses don’t agree at all, and also don’t agree with the world-magnetic-model for your location. Did you calibrate the compasses? If so, how? Can you show a picture of the install? Did you change the position of any magnetic materials since you calibrated?
There is also quite a significant discrepancy between your two accelerometers. When did you calibrate those?
Cheers, Tridge

David,

As an FYI, I only ever use the one external compass and do the Onboard Mag Calibration. Never had an issue.

Thanks Greg,

When I calibrated the compasses the internal compass corrections were excessively large - one greater than 700. So I disabled the internal compass. I’ve been flying quads with only an external compass for years with no problem.

Dave

Tridge,
Again, thank you! I apprecaite you posting the images along with your analysis. I need to understand how to use the logs better.

I went through the compass calibration. The external compass calibrated fine, but the internal corrections were large so I disabled the internal compass.

I also calibrated the accelerometers and did another test flight.

The airplane is much more responsive in roll and I didn’t notice the nose pitching up and down. Your suggested P values seems to be right on. Thanks!

I did notice the FF6 drifted forward (into the wind). I am guessing my tilt rotor might need to be rotated slight aft, probably 25 ms in PWM or so decrease on the tilt servo.

Also seem to notice the FF6 may have moved forward with roll inputs. Guessing this too may be related to the tilt mechanism. Overall, she was a bit challenging to fly, requiring near constant input. I fly quads a lot but most of the time I am in loiter. And honestly haven’t flown the FF6 in so long I really don’t remember how stable it was in alt hold with AVA.

Here is the log file. https://www.dropbox.com/s/2hcrsbkko0m1eq5/2017-10-07%2018-53-32.bin?dl=0

Thanks again for all you help,
David

great! The log looks a lot better. Your accelerometers now line up, and the two attitude estimates are much closer.
Your compass is also a lot better after the calibration. It isn’t perfect, but quite good enough for good flight.

then I think your next step should be to fly in QLOITER and see how you find it. It is possible we’ll need to adjust the XY position hold gains down a bit.

yes, that should help trim it a bit.
The angle of the airframe when you do the accel calibration also matters. I think I did mine on a level surface with the legs extended.
Also, is your current sensor properly calibrated? It is reading around 100A in hover, which for 6S is around 2.5kW. Unless you are carrying an awfully large payload that seems way too high. Mine draws about 450W and I’d expect yours to be about the same.
You have BATT_AMP_PERVOLT set to 94.9 at the moment, which is the same as mine, but you have a different battery setup to me, both with a different power module, and yours are in series. I have to set double the value as I have two batteries in parallel, but the power module only reads from one of them.
I suspect your BATT_AMP_PERVOLT should be around 18, but you should really calibrate it against a known current meter.
This will matter if you want to do battery failsafe.
Cheers, Tridge

David,

In QSTABILIZE and QHOVER modes, the aircraft will drift due to wind or thermals because GPS is not bring used. To properly set the ACCs for level, support the FF6 on the flat belly section and pad it so that the support is level in both directions using a level. I use a couple bricks stacked up. Then cal. the ACC for level. Alternatively, if you have the gimbal mounted, like I do on my DIY25, then use the level along the gimbal mount and prop up the nose wheel until level.

Are you using the T-motors or the Sunnysky motors on your 6s setup? Don’t forget to post your .param file. I won’t be testing my 6s setup until the holidays or early 2018 because a rebuild is needed.

Thanks…

Tridge,

Here is a typical mapping mission current plot on the 6s DIY25 using a Cannon S100. The second “Stabilize” in the FF6 Planner graph is actually “Auto” mode. The initial and last “Stabilize” is me arming and disarming the FF6.

Hey Greg,

Thanks! I understand these are both non GPS modes and the F6 will drift with the wind. But I think more tuning is required. My quad is much more stable in non GPS modes.

I plan to test q loiter and q rtl this today, wx permitting. If all goes well I’ll do my first transition tomorrow. Do you know if I can use plane Auto tune to dial in plane PIDs?

Thanks,

Dave

Yes, this is true because a quad is NOT directional. They cannot be treated the same. A plane in the air has much more susceptibility to becoming unstable when hovering. This was a lesson learned on my FF6 and initial QuadPlanes after a dozen or so copters.

I don’t recommend using Auto Tune…use Tridge-tune instead. :wink:

I don’t have an inline amp meter. But I looked at the original AVA param file. They had batt_amp_pervolt set to 19.2, which is where I set mine.

Tridge,
Thanks.

For my last flight I used the following PWM values for servo11
SERVO11_MAX 1855
SERVO11_MIN 1030
SERVO11_TRIM 1030

And now reset them to factory specs, which are

SERVO11_MAX 1885
SERVO11_MIN 1055
SERVO11_TRIM 1500

I set my initial servo output values based on inclinometer readings, but without knowing the exact angle of the longitudinal axis my readings aren’t all that accurate. So I set them back to “factory” defaults.

It’s raining here all day so I won’t be able to test these new parameters and q loiter until tomorrow. If all goes well, I may do our first transition.

Thanks for the steer on the amps. I don’t have this functionality on my quads so I am not accustomed to using it. I set batt_amp_pervolt back to “factory” default of 19.2 and adjusted batt_capacity to 10,400 instead of 5,200.

Hard for me to communicate how much I appreciate your time and expertise. Thank you!

Dave

you can, but I’d be surprised if you need to. The PIDs on my plane should be the same as yours.

indeed - if you put a sail on top of a normal quadcopter then you’ll find it tends to drift around in ALT_HOLD as well.
The wing of the FF6 is like having a pretty big sail on it when its hovering.

And I really appreciate people willing to try our new code! I get a lot of enjoyment out of working with ArduPilot users trying out new things.

An eventful day in the field.

Before the first flight I noticed a 20 degree discrepancy between the plane’s heading and actual heading, so we did a compass calibaration. After the calibration, we go the difference down to about 5 degrees. I thought this was sufficient for continued testing.

The Good, the Bad and the Ugly:

Good:
FF6 flew really well in q loiter. Very stable. The big old nose seemed to naturally weather vane in wind. Very easy to keep it pointed into the wind.

I’ll talk about the next good after the ugly.

The bad:

QRTL was’t a smooth transition. I have Q_RTL set to 1. I wanted to test this functionality to see how well it worked. Transitioned from Q Loiter to Q_RTL. Airplane immedidately veered to the right and appearred unstable. Quickly switched to Q Loiter and landed uneventfully.

Despite the QRTL functionality, I was confident enought to move forward with the transition flight.

I’ll probably get some grief for choosing loiter instead of FBWA or FBWB for the first transition. I’ll take my lumps for that decision. But would like to know why a non GPS mode is better for the first test.

Anyway, I took off in q loiter and climbed to about 100ft. The plane was behaving well and responding to inputs well, so I commanded loiter. The airplane immediately spun out of control and started to plummet to the deck.

The good, which should acutally be categorized as the phenomenal. I immediately switch back to q loiter and the flight controller did an absolutely outstanding recovering. Probably lost about 50ft but it recovered remarkably well from a crazy attitude. Totally impressive. Gives me a bunch of confidence in the fundemental stability of the code and the autopilot.

I took a look at the logs, but really don’t know where to start.

Here is a link to the fateful log file.

Thank you,

Dave

ouch! I’m very glad it survived.
Doing your first transition from QLOITER to LOITER is certainly “courageous”. I should explain what it tried to do.
As soon as it went into LOITER it wanted to change from a hover to flying in circles as a fixed wing. That means the following things happened:

  • the nav controller told the fixed wing controller to bank hard left (it demanded a 25 degree left bank)
  • the multicopter controller saw the demanded left bank, and tried to help the left bank with its attitude controller
  • the navigation controller told the multicopter code to yaw hard as it tried to line up to start circling
  • the tilt servo started tilting forward
    It should have been possible, but I don’t believe anyone has tried this before on an ArduPilot tiltrotor. For first transition we recommend FBWA mode as it is the simplest mode, and you want things as simple as possible so you can separate out any issues. Flying straight ahead in FBWA mode is the simplest possible thing, then once you have good airspeed and have finished your transition do your first turn. Be ready to go to QHOVER if something goes wrong.
    You certainly did the right thing by climbing to 90m for your first transition (you said 100ft, but it looks like you did 90m, which is good!). You lost about 50m rapidly when things went wrong. Also well done for flicking back to QLOITER quickly. I would suggest that QHOVER is a bit better “recovery mode”, as it is simpler, but QLOITER is ok if you don’t have QHOVER handy, and it clearly worked.
    The problem now is working out exactly what went wrong. I have plenty of data in the log, but the data is all mixed together as its trying to do everything at once. Every controller is working hard, and clearly overshooting.
    The most interesting part of your log is actually the QRTL part as that is showing attitude control issues in pitch, and is much simpler as it isn’t transitioning.
    Let’s look at that QRTL. You were in QLOITER and changed to QRTL at about 38m. The log shows the plane wanted to turn right, put the nose down and descend. This is what happened to attitude:

    (sorry for the “UNKNOWN” that is QLOITER, its because I trimmed the log for rapid analysis)
    You can see that the right roll succeeded as Roll and DesRoll track each other OK. The pitch is much less happy. It does initially put the nose down a bit, then the nose comes back up while its trying to put the nose even further down.
    Let’s see what happens with the motor outputs (its a multicopter at this point, so the only control it has is with the motors)

    You can see that motor 1 and 4 saturate at max power. They are the two rear motors. So it was really trying as hard as it could to stick the nose down, yet the nose came up. Let’s look at the pitch PID controller:

    see the PIQP.I ? that means that when it was in QLOITER it was having to apply more power on the rear motors. It is either tail heavy as a multicopter, or the rear motors are not generating their full power level. You can see that in the motor graphs above too.
    I’d ask you to do a few things. First off, go over those rear motors and props carefully. Check you didn’t do what I did when I first flew my FF6 which was to have one of the props upside down! (writing should point up on all props). Does everything look ok?
    Next, use the motor test to run each of the motors one at a time at 70% throttle. Do they all sound the same? Do either of the rear motors sound any different?
    Next, how far off the recommended CoG are you? Can you put a bit more weight in the front?
    If all the hardware seems good and motor test is good, then next step is to go back to QHOVER. Flying in QHOVER mode at a reasonable height, can you demand both right roll and down-pitch at the same time and it responds correctly? Does everything sound OK when you do it?
    Cheers, Tridge

You gotta love Tridge-tune! Even the graphs are labeled better than in Mission Planner.

My preference for first flights on a tilt-rotor is:

  1. QSTABILIZE
  2. QHOVER
  3. FBWA
  4. Loiter (CRUISE) (not used)
  5. RTL (QRTL) (AUTO) (not used)
  6. Manual (not used)

When using the Taranis 6-position switch, it is easy to remember that panic mode is turning the knob fully clockwise to QSTABILIZE. Note that on my maiden flight, I never went past position 3. However, I did replace QHOVER with QLOITER because it was a calm day and I wanted to test the BARO and GPS hold.