Thread Tools
Jan 27, 2013, 10:55 AM
Registered User
Ran D. St. Clair's Avatar
Originally Posted by leadfeather View Post
There are details in the jump jet thread. The purpose of the jump jet build/experiment was to see if a standard quad FCB and programming would work for VTOL no mods to the quad code. It worked very well...much better than I expected. The tilt servo was hooked directly to the Rx with a servo slower device.

I think the spars I used for the fans in the jump jet were a stout 6mm. The motors are pretty protected by their location being nested in the airframe...less vulnerable to impact than plain quad. A single flush mounted servo in the fuselage tilted the fans.

I think tilting all 4 fans is probably better for a quad VTOL. As all 4 motors approach full forward tilt they will have little effect on forward flight control.

For the Bixler project I would suggest:
  • Beefing up main spar in wing...the spar that came with my Bixler was pretty wimpy. Also fans mounted on wings may cause wing twist with yaw inputs in hover.
  • Quad with all 4 fans tilting together
  • Tilt input direct from Rx with adjustable rate servo slower
  • Standard quad programing at first
  • After all else is working good make minor tweaks to programming such as turning off gyro to fans at full forward tilt.

I read your jump jet thread. Great stuff! It's clear you have been there and done that and that you know what you are talking about. Of course, I alredy knew that because your advice was so sound.

Speaking of advice, your list above is/was very much exactly what I had planned. I am waiting for parts now, so once I get the Bixler in hand I will be better able to see what I need to do.

My origional plan was to just glue the wings in and then add support struts from the motor pods to a flat plate on the bottom of the fuselage. That would solve both the wimpy spar problem and the torsional rigidity problem. Then I got to thinking about the disassembly for transport issue and now I am concerned about adequate access to the fuselage internals. A removable wing complicates the structure but could improve access. Everything is a tradeoff. If I were designing this thing to be productized (and I am not) I would want to mold in a large diameter wing tube and forgoe the drag and complexity of the external wing struts.

Speaking of productizing, I think you have proven that there are several variants on these concepts that are ready for prime time. I think they would be very marketable. I am not necessarily suggesting that you would want to do it. I gather that you, like me, have a "real job", and I think being a hobby toy designer is a very hard life for all but the special few. I do think you will see most of your designs available in an RTF version in just the next few years. It's just too cool and works too well for it not to happen.

Back to specifics... Can I assume your standard quad programming includes tuning for zero "I" and only "P"? I am concerned that any significan "I" at all would fight the plane hard in forward flight mode and probably cause all sorts of ugly side effects. On the other hand, without the "I" hovering is still entirely possible, and even relatively easy for an experienced quad pilot, but it is not the almost hands off "full training wheels" of a true auto level mode. As always, I am interested in your wisdom.

I am using the slow function in the TX instead of a servo slower, but I think it is the same concept. I would prefer to have the motor tilt on a pot rather than on the flap switch, but my DX7 doesn't support it. It has a pot of course, but it is not readily accessable without taking my hands off the sticks. Neither is the flap switch but at least it is a quick flip and back to the sticks. Some higher end transmitters have better ergonomics in this regard.

I will start with the KK2 standard programming, and the Guardian, since I already know how to make that all work. it would be better to have just one flight controller but in the short term I need the "I" (auto level) and the "tail following" mode in the Guardian. Both of these could be programmed into the flight controller but I haven't gotten there yet.

Your input is always appreciated.
Sign up now
to remove ads between posts
Jan 27, 2013, 11:55 AM
Winging it Ò>
leadfeather's Avatar
Ran D,

Yep, I only do this RC stuff for fun and challenge. Making a business out of it would reduce the fun for me.

If I were to make a VTOL product, I would probably go the "strap on" route. The quad would strap to the bottom of the Bixler ready to fly. The only mod to the Bixler airframe would be to make a hole in the bottom of the fuselage to pass the power and servo cables through. I'd keep the battery in the Bixler.

I don't think you want/need any I, just tune P & D. In fact you don't need much if any P & D in the Yaw direction. Check out this quad I built with a fuse. I wanted to see if I could make a Quad fly 3 channel in forward rudder worked.

With yaw gyro turned off; or way down; on the Bixler VTOL, the plane will weather vane into the wind when in a steady hover beause for the tail fin.

XS Quad (1 min 18 sec)
Jan 27, 2013, 02:42 PM
Registered User
Ran D. St. Clair's Avatar

That's good to know. The Bixler has plenty of vertical stabalizer and the tail has a fairly long moment arm so the aerodynamics alone may be enough to make it handle well in yaw. That means I just need the Guardian for the "I" in hover mode, and as you say, I don't absolutely need it. I was just doing some hovering with the Guardian turned off. It was wandering all over the place and out of trim. I know, I just need to retune the "P" and work on the motor mix to neutralize the trims. It's difficult to do a head to head comparison without a 2nd plane. It takes a while to tweak and tune all those parameters and I kind of hate messing up a good flying plane.

So what controller would you recommend for this project? I started with the KK2 because it was an out of the box solution. I still think it is a fine way for a beginning quad pilot (like me) to get started, though to be fair, I don't have anything to compare it to yet.

I did buy and AEORC MultiWii Mini Flight Control V0.1 from HK with the FTDI V0.1 USB interface board, but I haven't touched it yet. I also have an Arduino Mega and have written a few tiny sketchs to read pots and control servo's, but nothing serious. Ultimately I want to hand off the resulting package to fixed wing pilots who are not necessarily techno-nerds and be confident that they can succeed. Of course, if this were a fully baked off the shelf product that would be pretty easy because it would come pre-programmed and pre-tuned, but like you I am not trying to make money here, just share the fun. So, do you think I should go with something Arduino based to allow for future custom code download, or is there something more "ready to fly" like the KK2, that will get the job done?
Jan 27, 2013, 02:59 PM
Winging it Ò>
leadfeather's Avatar
I think a nice solution is a VTOL design where no special programming is needed and then any fcb can be used.

I haven't tried a KK control board. The Wii offers lots of programming flexibility but it can be difficult for the new to VTOL to get going correctly.

Long story short it would be nice if it would work with any controller and any common 5 ch Tx. Any flight control board, external servo slower, any 5ch Tx/Rx

The DX7 is a nice choice (what I have) since the three position flap switch allows the tilt to have three positions...Hover, Fast Hover, Forward. For a faster flying plane you can hold Fast Hover (about 45 degree fan tilt) a little longer to allow speed to build before completing the transition.

In forward flight you probably don't want auto level for pitch. Level in forward flight (flying on the wing) is slightly nose up vs level in hover is fuselage level...usually. If the auto level is accomplished due to accelerometers there will be a slight conflict between hover and forward flight for pitch. If autolevel is accomplished using "I" then it might be OK, but I think the aerodynamic pitch stability of the Bixler will feel more natural for controlling pitch in forward flight.
Jan 28, 2013, 11:46 AM
vtol fan
nadine's Avatar
Hi guys,
sorry if i ask...
What could possibile hapened if ,somehow with the help of electronic switch,to disconnect the pin from the kkv1 -168ap board,after hovering or even in line with servo slower,at the 3 gyro on the board!?It will be throtlle controll at the motors?
I'ts a stupid question!?
Jan 28, 2013, 02:05 PM
Registered User
Ran D. St. Clair's Avatar
Originally Posted by nadine View Post
Hi guys,
sorry if i ask...
What could possibile hapened if ,somehow with the help of electronic switch,to disconnect the pin from the kkv1 -168ap board,after hovering or even in line with servo slower,at the 3 gyro on the board!?It will be throtlle controll at the motors?
I'ts a stupid question!?
I am using a KK2 not a KK1 so I can't answer your question. I am not sure what pin you are suggesting to disconnect. If you are suggesting to disconnect the pitch, roll, and yaw input from the receiver, then it might default to throttle only. Even if the pitch, roll, and yaw inputs default to neutral, I assume the stability feedback would still be active, so it would not be entirely throttle only. I suppose you could just unplug those inputs and find out. If it works then a hardware solution is always possible. The more modern solution would be to modify the code of the flight controller board. There is nothing wrong with creative thinking though.
Jan 28, 2013, 06:08 PM
Registered User
Ran D. St. Clair's Avatar
Originally Posted by nadine View Post
Hi guys,
sorry if i ask...
What could possibile hapened if ,somehow with the help of electronic switch,to disconnect the pin from the kkv1 -168ap board,after hovering or even in line with servo slower,at the 3 gyro on the board!?It will be throtlle controll at the motors?
I'ts a stupid question!?
When I was working with the KK2 I noticed that setting both the P and I to zero not only turned off all stability but also turned off any mixing from roll pitch and yaw. In other words, throttle was the only thing controlling the motors. That suggests a simple point of attack for any code modification to support forward flight mode.

I see the KK1 board has 3 pots which I assume control the gain on roll pitch and yaw. If they work like the pots on the Guardian, the center position is zero gain and the extreme in either direction is maximum gain in either polarity (stabalizing or de-stabalizing). If that is true, then a possible hardward hack would be to force the pot wipers to a mid voltage between power and ground. That assumes that one end of the pot is connected to power, and the other to ground. I don't think a hardware hack is the best solution, but it might work for you.
Jan 29, 2013, 02:21 AM
vtol fan
nadine's Avatar
Originally Posted by Ran D. St. Clair View Post
When I was working with the KK2 I noticed that setting both the P and I to zero not only turned off all stability but also turned off any mixing from roll pitch and yaw. In other words, throttle was the only thing controlling the motors. That suggests a simple point of attack for any code modification to support forward flight mode.

I see the KK1 board has 3 pots which I assume control the gain on roll pitch and yaw. If they work like the pots on the Guardian, the center position is zero gain and the extreme in either direction is maximum gain in either polarity (stabalizing or de-stabalizing). If that is true, then a possible hardward hack would be to force the pot wipers to a mid voltage between power and ground. That assumes that one end of the pot is connected to power, and the other to ground. I don't think a hardware hack is the best solution, but it might work for you.
Thanks for answer.
Yah,why Rolf R Backke,not trying to make code for vtol stuff!?
Now the board have great feedback!!
Jan 29, 2013, 07:38 PM
Registered User
Ran D. St. Clair's Avatar

Waiting for parts

I am still mostly just waiting for parts. The Bixler I ordered hasn't arrived yet, and the CarbonBird motors are still out of stock, so I can't even order them. It doesn't bode well for something I want to be readily available for anyone to build.

I did get my order from Mcmaster Carr. These will be used for the tilting motor mounts. The 1/8" long by 1/4" dia. stainless steel standoff has a 4-40 internal thread, McMaster Carr part number 91125A339. They are $1.14 each and we need 8 of them for 4 motor mounts.

The 90062A015 are the nylon short barrel sholder washers that will act as bushings. They have an I.D. of about 0.26" and the standoff has an O.D. of about 0.25" so there is about 0.01" of slop, which is a bit more than I would like, but I don't seem to have a lot of choice in the matter. At a 3/4" lever arm that 0.01" of slop calculates to 0.76 degrees of angular slop so it is not horrible, but I had still hoped for better. The flange is .060" or about 1/16", and will form the spacer between the inner motor mount and the outer yoke. They are $5.82 for a package of 100 so not expensive.

Also shown is the 91145A162 which is a long barrel nylon bushing. I bought 100 of them for $6.02 hoping that they would be a tighter fit on the standoff, but they have an I.D. of 0.26" the same as the sholder washer, so I might as well use the sholder washers and not need to modify the barrel length.

The plan is to press the sholder washers into the motor mount yokes from the inside out. The inner part of the motor mount, which rotates, will have the standoff's mounted on the outside acting as stub shafts that fit into the sholder washers. One small 4-40 screw on each side, and some loctite should finish the assembly. The outer yoke will "pinch in" slightly on the inner motor mount, so I don't think there will be any need to capture the assembly, but if there is, I can always use a small washer and a nut on the outside.

Now if I can just get the motors so I can measure them and layout the sheet metal. It is probably the same as what I already have, but I don't want to share the design until I am sure it is correct.
Jan 30, 2013, 08:25 PM
Winging it Ò>
leadfeather's Avatar
Looking forward to more progess/details/photos.
Feb 01, 2013, 06:22 PM
Registered User
Ran D. St. Clair's Avatar

Control System Characterization

Since I am still gathering parts, and I can’t even order the motors because they are out of stock, I thought I would spend some time better understanding and explaining the control system. It’s difficult to describe this stuff with words, and it gets rather long, but if you really want to understand P,I,D, and Acceleration on X, Y, and Z, I will try to explain them to myself, and you get to listen.

I am not saying that I understand every aspect of the code for either the KK2 or the Guardian but I can speak to how they “act” through direct observation. That doesn’t mean that I have tested them for every possible input parameter configuration so they might well have other possible modes of operation not described here.

Lets start with some basic definitions:

P – is the “Primary” feedback loop. It is based on the output of the 3 axes gyro not the accelerometer. The gyro’s measure the rate of angular rotation, for example, degrees per second, or RPM. The gyro’s have no direct sense of whether the aircraft is tilted, only if the tilt is changing. For example, if the aircraft is slowly tilting to the left, the gyro should be able to measure that. If the plane is tilted to the left 20 degrees and holding there, the gyro will output nothing because the tilt angle is steady. There is a separate gyro output on roll, pitch, and yaw, but they all work in the same way.

The P feedback loop attempts to make the aircraft angular rate of change match your stick input. For example, if the aircraft is level and steady, and the stick input neutral, then all motors on a quadcopter should run about the same speed. If you move the aileron stick 5 degrees to the left, then the code will take that number, multiply it by the P value, and increase the speed of the right motors by 5% and decrease the speed of the left motors by 5%. In this purely hypothetical example the P value is 1, or 1% motor change per 1 degree of stick angle. The actual P value in the KK2 is scaled for convenience, so it may be more like 20, but the same concept applies.

If you set the P values on the KK2 to 20, and the I values to zero, and then power up the motors to a modest level, and then force the aircraft to tilt slowly to the left, the left motors will run faster, and the right motors will run slower, but only while you are actively tilting the aircraft. If you tilt the aircraft to 20 degrees and then hold it there, the motors will equalize, and the aircraft will make no attempt to return itself to level.

Technically this is not “stability”, it is just “damping”. For true stability the aircraft would have to bring itself back to level when you return the stick to neutral. The purpose of P is not to make the aircraft stable. It is to make the aircraft control response slow enough and predictable enough so that you, the human pilot, can make it stable via your control inputs.

All of these concepts apply equally well to roll, pitch, and yaw. Most quadcopters react similarly in roll and pitch because they are approximately the same physical configuration from front to back as side to side. They are, however, significantly different in yaw. The yaw response is inherently more sluggish due to the physics of the situation. This often results in a higher value of P for yaw in order to get a similar control feel. Yaw is also different in terms of how it interacts with gravity. You can hover with the nose pointed most any direction so long as the aircraft is level, but if the aircraft starts to tilt even a little bit, you are soon not hovering any more.

I – is the “Integral” of the primary feedback loop. Integral is a fancy math concept that just means to keep adding things up, like a running total. I is the feedback loop that provides “heading hold” for yaw, whereas P is sometimes called a “rate gyro”. I provides true stability, sort of, whereas P only provides damping. I use the words “sort of” because the reality is complicated and will take some serious explaining.

For the KK2, with the P turned off, and only the I set to 20, if you hold the aircraft level, and then increase the throttle to a modest level, all of the motors will start to run at approximately the same speed, but gradually over the next 30 seconds or so, some of the motors will slowly speed up, and some will slowly slow down. If you bring the throttle back to idle, and then throttle up again, the motors will come up evenly, but then start to drift again. This is the basic problem with I. It doesn’t really know where level is. It only assumes you were level the last time the throttle was off. It also slowly loses track of level over time, which is called “drift”.

I works by reading the output of the gyro’s many times per second. For example, if the aircraft is held steady at any angle, and you throttle up to a modest value, the code will read the output of the roll gyro, which should read zero because the aircraft is not rolling at that point. On the KK2 the actual value will be something like 550, but the code also knows to subtract 550 based on the sensor calibration, so the net value is zero. The code then adds this zero value in a running total hundreds of times per second. If the value really is zero then zero plus zero plus zero, etc. adds up to zero, but if the calibration is off by even one tiny little count, then 1 plus 1 plus 1 plus 1, etc. eventually becomes a really big number.

Meanwhile the code is also integrating the stick input. If the stick is at neutral then the code is adding zero plus zero plus zero again, but just like the gyro output, the stick input can be off ever so slightly and the count eventually adds up.

The I control loop is constantly comparing the integral from the gyro to the integral from the stick input and using the difference between the two to drive the motors. For example, if the gyro integral is 27, and the stick input integral is 37, then the difference is 10. That value of 10 is multiplied by the constant “I” and is applied to the motors. For example, the left motors might throttle up by 10% and the right motors might throttle down by 10%. That would imply that the I feedback loop thinks that the aircraft is tilted 10 counts too far to the left and is trying to correct the error. In this example the gyro integral is 27, not zero, so it won’t return the aircraft to level, only some angle corresponding to a count of 27. That could be because of drift, or it could be because you have given stick inputs such that you don’t want the aircraft to be level, or most likely, it is some of both.

So all this drift sounds like a really horrible problem, but it’s not so bad. So long as it takes many seconds for the drift to become a problem you won’t even notice it. You will constantly be flying the aircraft, making it do what you want, and in the process compensating for the drift. Once again, you the pilot are the real stability.

For the KK2, set the I to 20 and the P to 0 in pitch and roll, and set both the I and P to zero for yaw. Hold the aircraft level and throttle up to a modest value. Now tilt the aircraft to the left about 20 degrees and hold it there. Note that left motors throttle up and the right motors throttle down, and that they will continue to fight to bring the aircraft back to level. If you hold the aircraft tilted long enough you will note that eventually the drift gets so bad that the motors are no longer doing the right thing. Just bring the throttle back to zero and the KK2 is smart enough to zero out the drift.

Try the same exercise as above but tilt the aircraft in pitch. You should see the same basic effect.

Now set the I to 20 for yaw and set both P and I on everything else to zero. Try the same exercise as above but this time yaw the aircraft. Once again, you should see the same basic effect. The aircraft will fight to hold heading, but slowly drift.

D – is the differential of P. Differential is another fancy math concept that is the inverse of Integral. For our purposes it is based on the rate of angular acceleration. As near as I can tell, D isn’t part of the KK2 programming, or if it is, it is buried in the code and we can’t adjust it. There is also no easy way for me to characterize it without a lot of fancy instrumentation and then there would be no easy way to tell you how to demonstrate it to yourself, so let’s not spend much time on it. D can be useful for improving control response when used in the proper proportion with P.

P is by far the most necessary feedback to make a flyable quadcopter. A little bit of I is nice, but not really necessary, and D can be nice for a really crisp control response, but is even less necessary. As any experienced quadcopter pilot knows, too much P will make the aircraft do a fast wobble, or oscillation. Too much I will result in a slower wobble or oscillation. Too little P will make the aircraft “drifty” and you will be constantly fighting to stay level.

For this project I don’t use I at all. A little I would be fine in hover or even slow flight mode, but in forward flight mode I don’t know what it would do and I am afraid to find out. I can live with the P in forward flight mode because it only lasts for a moment when control inputs are applied, or when the plane is changing roll pitch or yaw. Even then, the impact of P is fairly minor except for yaw. With I, the motors could be fighting me more or less indefinitely. The ultimate impact on forward flight is too complex to estimate. The bottom line is that I don’t need it or want it in forward flight, so I just turn it off.

All of this P, I, and D stuff is based on the output from the gyro’s and has nothing to do with the accelerometer. That is the next topic.
Feb 01, 2013, 06:24 PM
Registered User
Ran D. St. Clair's Avatar

Control System Characterization (Continued)

The KK2 board does have an accelerometer chip, and I believe it is a 3 axis accelerometer, but I am effectively not using it so I can’t speak much to how it works. The KK2 board does have self level settings that are based on the ACC (accelerometer) and if I were flying a standard quadcopter I would probably use them, but I am afraid of what they would do in forward flight mode, so I have them all set to zero.

The KK2 board also has “Height Dampening” which I believe uses the Z axes accelerometer to try and make it easier to hold a constant altitude in a hover. This might be a nice feature for a standard quadcopter but I suspect it would be a problem in forward flight mode so I have it set to zero.

Most of the P, all of the I, and if necessary any D, that I need in a hover comes from the Eagletree Guardian. It has gyros and accelerometers just like the KK2, and the same basic concepts apply, but the Guardian is designed for use by fixed wing pilots so the terminology they use is very different.

The Guardian has 3 pots for roll pitch and yaw, which allow you to set the feedback gain and polarity. It is not clear to what extent these pots control the individual feedback values of P, I, D, and acceleration in the X Y and Z as they don’t give you that kind of detailed control. The feedback proportions also depend on the specific flight mode and whether we are talking about roll, pitch, or yaw.

I won’t attempt to describe all of the flight mode options. You would be better served to read the Guardian users manual for that. I will say that I use just two flight modes. For forward flight I use a “Pass Through” mode. This is the “middle input” position (1.5ms pulse width) into the “Mod” input of the Guardian. In Pass Through mode it is like the Guardian isn’t there.

For hovering and slow forward flight I use the Guardian “2D” mode. I gather they call it 2D mode because they want to imply a more sedate style of flying like you might do with a trainer plane while teaching a student. The 3D mode, which I don’t use, is more for aerobatics, hovering, and aggressive fixed wing flying.

I do have the gear switch on my TX set up to drive the Guardian into 3D mode but I never use it in the air. It is only used on the ground to switch between 2D mode and 3D mode and back again. This sequence of inputs is used to initialize the Guardian in the “level” position, and also to zero out any TX trim changes. Once again, read the Guardian users manual for all the details.

In 2D mode the Guardian is using a combination of P, possibly some I, and a little D to provide stabilization. It is also using the 3 axes accelerometer to provide auto leveling. It is somewhat more difficult to reverse engineer the Guardian based on how it reacts as compared to the KK2. They also don’t give you as much direct control over the flight parameters. I think most people would be put off by all the technical details, and too many options would give too many ways to screw up, so it is probably wise that they did what they did. I can, however, partially show you how it works.

Assume we have the plane set up in hover mode with all of the various Guardian and KK2 settings as published in previous posts. In brief, this means the Guardian is in 2D mode with maximum gains on all 3 pots, and the KK2 is set to 20 P and zero I on all 3 axes.

We will start by looking at the control surfaces and leaving the throttle off, both because it is safer, and because the servo’s are only driven by the Guardian. The KK2 has nothing to do with the servo’s or the control surfaces.

If you force the plane to roll left 20 degrees you will see the ailerons move to fight the roll. If you hold the aircraft at 20 degrees you will see the ailerons fight the roll indefinitely with no obvious drift. This is the result of the accelerometer (ACC) detecting that the aircraft is not level. There is no drift because the ACC is continuously measuring the “local gravity vector”. I like to imagine the local gravity vector as a weight hanging from a rubber band under the aircraft. When the aircraft is tilted the weight hangs to one side, relative to the aircraft, and the ACC knows that the aircraft is not level. It also knows that the aircraft is not pulling any G’s because the rubber band isn’t any more stretched than usual.

If you quickly force the aircraft back to level in roll you may be able to see the ailerons overshoot before moving back to level. This is hard to see, and it could be coming from a number of places. It could be that the servo is just a tiny bit slow. Or it could be the P gain from the Guardian. It could also be from the Guardian D gain, but that would be very hard to see.

Now hold the plane in a 20 degree left bank and then apply left aileron stick input until the ailerons come back to neutral. Now bank the plane 40 degrees and note that it takes more stick input to bring the ailerons back to neutral. In 2D mode when you tilt the stick it tilts the plane by some proportional amount. This is fundamentally different than flying a regular plane. For most aircraft, when you tilt the stick it results in a certain rate of role. If you hold the stick tilted the plane will keep rolling until it is upside down, and eventually upright again. This confuses the heck out of beginner pilots and increases the workload for experienced pilots slightly. Our brains are very adaptable when it comes to this stuff but this mode of flight is still easier except when it gets in the way.

You can do all the same things in pitch and watch the effect on the elevator.

You can force the aircraft to yaw but the effect on the rudder is somewhat different. It will move to fight the yaw, but only while the plane is actually yawing. This looks to be pure P. There is no I, and probably not much D though it is hard to tell just by watching the rudder. The Guardian is not providing yaw stability but only yaw dampening. True yaw stability on an airplane would be a bad thing because unlike a quad copter, airplanes don’t fly sideways let alone backwards. They need to weathervane into the relative wind, and true stability like a heading hold gyro would be a problem. A rate gyro, on the other hand just smooth’s things out and is a good thing.

There is also no impact on yaw from the accelerometers, nor is any possible. The gravity vector doesn’t tell you if you are pointing north or south. You would need a magnetometer for that and we don’t have one.

The accelerometers do, however, affect the rudder in a different way. If you force the aircraft to roll left 20 degrees and hold it there you will see the rudder move to the left. This is the automatic turn coordination in action. Full scale pilots call this “stepping on the ball”. They have a slip indicator that is nothing more than a little ball inside a fluid filled glass tube that is shaped like a smile. If the plane is slipping to the left then the little ball will move to the left indicating that the local gravity vector isn’t straight down relative to the plane. They fix the problem by pushing on the left rudder pedal which brings the plane into a properly coordinated turn. The Guardian does this for you by turning the rudder towards the low wing. This is especially handy in slow flight mode where the airflow over the vertical stabilizer might not be enough to keep the tail in back where it belongs. As the pilot, you can help it along by moving the rudder and ailerons together, but it isn’t entirely necessary as the Guardian will mostly do it for you.

The automatic turn coordination gain is not so high that you can’t fly sideways or even backwards in a hover. You can, but not very fast. The faster you move the more the vertical stabilizer and the automatic turn coordination will try to turn the nose into the relative wind.

All of these roll, pitch, and yaw outputs from the Guardian, that you can see in the control surfaces, are also inputs to the KK2. The KK2 applies the additional P stabilization and of course mixes the roll pitch and yaw inputs as necessary to control the motors.

You might wonder why the KK2, or copter controllers in general, don’t make more use off the 3 axes accelerometers to provide true flight stabilization more like the Guardian. Why bother with I and all the long term drift issues when you have accelerometers that don’t drift (much)? The answer is that they do, to some degree, but more importantly it is because an aircraft in flight is not as simple as an aircraft held in your hands.

If you have a quadcopter in a perfect hover, and then something comes along, like a pushy finger, and causes it to tilt 5 degrees to the left, the accelerometer will not immediately be able to tell. The aircraft will immediately begin translating sideways to the left and the net result will be that the local gravity vector will remain in line with the aircraft. It won’t be straight down relative to the earth any more, but it will be tilted by the same amount as the aircraft.

As the aircraft accelerates sideways it will begin to develop drag and at some point, if the tilt angle remains the same, it will reach some terminal horizontal velocity. At that point the local gravity vector will be straight down relative to the earth and the accelerometer will easily see that the aircraft must be tilted. Long before terminal velocity is reached the local gravity vector will begin tilting and some stabilizing feedback is possible.

So, going back to a perfect hover… At the point of upset the P will be fighting strongly to prevent the upset from ever happening. Once the upsetting force is gone, so is the pushback from P. At this point, if P didn’t entirely win the battle then I can see that the aircraft is tilted and will try to push it back to level and pretty much never give up, but I has long term drift issues. If I doesn’t bring things back to level, It may be a few seconds later before the local gravity vector gets tilted enough for the accelerometer to notice and help straighten things out, and by then the aircraft will have translated horizontally a considerable distance. You can see all this play out when flying indoors with no wind if you have enough room to let the aircraft do what it wants, and everything is perfectly trimmed.

None of this helps you with wind. The aircraft has no way to know where it is relative to a spot on the ground, except via feedback from you, the pilot. Left to its own devices it will go with the flow like a hot air balloon. To solve that problem we need something like GPS, at which point you really are unnecessary. On the other hand, the aircraft has no concept of having fun, so you still have to do that part yourself. I would work on teaching the aircraft how to have fun, but therein lies the path to Skynet.
Feb 04, 2013, 07:37 PM
Registered User
Ran D. St. Clair's Avatar
Still waiting for parts. The good folks at say the motors should be in stock soon. Apparently the factory is in China and they are about to begin the Chinese new years holiday season. Everyone orders double in January to compensate and deliveries are a bit slow.

I spent this weekend reconfiguring the existing plane to work with just the KK2 board rather than the KK2 in addition to the Eagletree Guardian. The bottom line is that it can be done, and the result is very acceptable, though not quite as good as the original configuration with both the Guardian and the KK2 board. The specific issues are that the Guardian makes the “tail following mode” a little more automatic, It smooths out the transitions a bit, mostly the transition from FF (Forward Flight) to SFF (Slow Forward Flight) or if desired, directly to hover mode, and it also makes the hover mode slightly more solid. All of these issues are very subjective and in some cases so subtle that they might not even be noticed.

I have attached a spreadsheet with the “KK2 Only” configuration, and it also includes the DX7 setup for reference. I have also attached a file with the KK2 factory reset settings for reference.

The KK2 does not have “tail following mode”, but the aircraft does have a vertical stabilizer, so it will weathervane by itself to a fair degree. Coordinating rudder with ailerons easily solves the problem, but it adds slightly to the pilot work load. This is only an issue in SFF mode.

The original configuration with the Guardian had the servo’s connected to the output of the Guardian. I could have connected the servo’s directly to the output of the RX, but I didn’t think it would matter since the Guardian is in bypass mode when in FF. It turns out that the control surfaces may have had some limited effectiveness when in SFF, especially if you happen to be carrying some extra airspeed such as when transitioning from FF, or even when in a shallow dive in SFF mode. Thus the control surfaces may have been helping to smooth the transition. In the current KK2 only configuration, the servo’s are connected directly to the RX so they receive no stabilization input in any flight mode. This mostly works just fine, but if you enter SFF or even hover mode with some extra forward airspeed, and especially if you happen to be holding some up elevator as you make the transition, the plane may climb a bit until it slows down. It’s all very safe and manageable though.

The hover may be slightly better with the Guardian helping. This one is the most difficult to judge. Either way the hover mode is quite good. It is not rock solid, but it is self leveling and pretty easy to manage. The lack of “I” in the feedback loop is what makes it less than perfect, but the self leveling feedback from the accelerometers makes up for it to some extent. The KK2 is capable of providing this self leveling feedback the same as the Guardian so little if anything is lost when not using the Guardian.

The KK2 has an auto-level mode that can be controlled via the Aux input, which I have driven from the TX Gear output. This is very similar to the Gear output driving the Mod. input to the Guardian except that the KK2 has only two states for the auto-level mode, on and off. It is set up for auto-level mode on for hover and SFF, and auto-level off for FF.

I did very carefully try a little “I” in forward flight mode. I started with a very small amount, like “3” just in case it turned out to be a problem. It was, but at first I didn’t recognize it.

To explain I first need to demonstrate the integration effect on your control inputs. Set I to 30 and P to zero in all 3 axis. Hold the plane level and throttle up a modest amount. (We have done all this before.) Now apply a tiny amount of left aileron. You should see the right motors slowly ramp up to full throttle and the left motors slowly ramp down until they are stopped. Now apply a tiny amount of right aileron and the left motors will slowly ramp up while the right motors ramp down. Depending on how far you move the stick this can take several seconds. This demonstrates how a very small stick input is integrated over time and within a few seconds becomes full throttle, or zero throttle, as the case may be.

Now imagine you are in SFF mode and setting up for a landing. You reduce the throttle to near idle and are essentially gliding down with the motors running slowly. In order to flatten the glide you instinctively apply a touch of up elevator. If the I feedback loop is enabled then it is integrating this small input as you glide but nothing much is happening because the throttle is nearly off. When you get down to a comfortable altitude and want to level off you bring up the throttle and get a nasty surprise. The front motors come on full tilt, and the rear motors not at all. This pitches the nose up hard, and you are immediately jamming the stick forward out of instinct. Almost instantly the control loop is closed and you are back in command, but all your airspeed is gone. You are mostly hovering safely at that point, but your nice clean approach has been ruined.

With airplanes we often give control inputs knowing that the aircraft can’t literally follow them. For example, on landing we pull back on the stick to slow the plane to nearly a stall, but we don’t expect the plane to do a loop, it just doesn’t have enough energy. The I control loop expects the plane to do what you told it to do, and it will integrate and remember all of your past inputs. As soon as the power is available it will try to make up for lost time, even if that isn’t really what you had in mind. Bottom line, leave the I set to zero when in FF mode. Even a little I will do some unexpected things that you probably won’t like.

My next experiment will be to use the 4 remaining outputs of the KK2 to drive the 4 servo’s. Currently they are driven directly from the RX using Y harnesses. By driving them from the KK2 they will gain the benefit of the stabilization feedback. This could potentially smooth the transitions just like the Guardian did previously. The difference is that the Guardian was set up to go into pass-through mode during FF. With the KK2 the best I can do is turn off self level mode when in FF. It will still have the P feedback on all the time. This could be OK and even make the plane fly smoother, but it could also cause problems with oscillations. As airplanes fly faster the control surfaces become more effective. This can easily drive the overall loop gain too high and cause oscillations, especially since my control surface servo’s are not especially high speed or tight. I don’t want to turn the P gain down since it would compromise the hover stability, so if I have oscillation problems I will just have to stick with the current configuration (which works just fine).

This is one of the reasons I designed the plane with modest size control surfaces, not the monster control surfaces as is common for modern 3D planes. There is no need for big surfaces and monster throws when flying in normal sport flying 2D mode. This plane doesn’t need them for flying at or below stall, that is what the quad-copter is for. By keeping the control surfaces modest I hoped to better harmonize the FF response with the hover response, and they do seem to go together nicely.
Feb 05, 2013, 07:03 PM
Registered User
Ran D. St. Clair's Avatar

Boom Strikes

I should mention that I have been having some issues with boom strikes on the rear rotors. There is about 3/4” of clearance from the tip of the propellers to the boom (motor pod) in hover mode. The front rotors (propellers) are pulling away from the boom, so I have never had any problem with them. The rear motors are set up as pushers, so in hover mode the propellers are pushing up towards the motor pods.

I had a severe boom strike on both rear rotors that resulted in a crash early on in the project. That was when I added the mechanical stops to the motor mounts, and also added a support to the motor mount pushrod so it couldn’t bow and allow the motors to over rotate. That certainly made the problem better, but this weekend I was attempting some rather sloppy hover mode aerobatics and managed another boom strike. The plane tumbled out of the sky and narrowly avoided a crash before making a soft landing under full control. Afterwards I realized that I was missing the outer ½” or so from all three prop tips on the left rear motor. I replaced the prop and flew some more, but more gently.

Last night I powered up the motors and then pushed the plane downward through the air as hard as I could. I was able get the prop tips on the left side to lightly nick the boom. There was no visible damage, but I could hear them hitting. Clearly the GWS 9”x5” 3 blade props are flexing quite a bit. For the short term I will limit my poor attempts at aerobatics to SFF mode where the motors are tilted slightly forward and there is more prop clearance. In the longer term, I need to design for more prop clearance and possibly find some suitable stiffer propellers. I have also adjusted the linkage so the rear props are tilted forward (away from the boom) by a couple of degrees in hover mode. It is not a problem to hover just a few degrees nose up, in fact it makes very SFF easier as is often necessary when taking off in a little wind. I could also look for a slightly longer prop adapter. Even an additional ¼” of clearance would probably solve the problem.
Feb 05, 2013, 09:15 PM
Registered User
Ran D. St. Clair's Avatar
I rewired the plane to have the KK2 drive the servo's, it didn't work, and now I have put it back to where it was.

It turns out that the KK2 board has a fatal flaw when it comes to driving servo's on any aircraft that might glide. When you go to full idle the servo's go dead. They still have power, but no PWM input. I can understand why and ESC should go dead, and I can understand why the servo's might go dead when the board is not armed, but to have them go dead at full idle is just odd.

Now that I think about it, I better be careful about applying full left rudder when gliding as well. Likewise, gliding for more than 30 seconds could also be a problem. Fortunately, none of these scenarios has ever come up, and at least with this plane they probably never will. Full right rudder while gliding might be an interesting maneuver, though it is unlikely that I would have time to pull it off if I needed to.

I am assuming that everyone here knows that full right rudder at full idle arms the motors, and full left ruddder at idle disarms the motors. Full idle for more than about 30 seconds also disarms the motors, but at least that is an option you can select in the menu. I rather like it as a safety feature actually.

I also noted that even at the maximum value for the respective aileron, elevator, and rudder mix, the servo's only traveled about 2/3 as far as they do with the straight output from the TX. I would not consider that to be a fatal flaw necessarily, but a fairly bad one.

Overall I have been very positively impressed by the KK2. It has done an amazingly good job of what I needed, especially considering that it was never intended for this application. It is, however, not a universal flight controller. It doesn't seem to handle servo's very well.

Fortunately, I still have an entirely acceptable solution. I had just hoped to make it a tad better.

Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion Another Success Story for the Obama Administration. LcJ Life, The Universe, and Politics 77 Jan 20, 2013 12:05 AM
Discussion Another F35 trying to VTOL! capt VTOLs 13 Feb 07, 2010 12:59 PM
Discussion EDF vtol..most successful vortices VTOLs 4 Mar 24, 2009 10:44 AM
Discussion Yet another VTOL Bobnormal Foamies (Scratchbuilt) 29 Oct 27, 2008 05:50 AM
Vtol Plane Success vtolman Electric Plane Talk 34 Jan 11, 2006 01:01 PM