Stability Augmentation System



I just added a simple stability augmentation system (SAS) to my autopilot code. I am posting a video of the very first test flight. As you can see if you watch it, I had some success, and there were a few things to tweak for the next flight.

I've posted a few more details and explanations here:


This is my first crack at an SAS, and it is very simplistic. The pilot stick inputs map to roll and pitch *rates*. When the pilot centers the stick, the SAS holds the current target roll and pitch angles as best as it can. For now I've let the pilot have direct control over the throttle and rudder while the SAS is active. This allows the pilot to taxi on the ground to set up a take off. It allows the pilot to steer with the rudder while the SAS holds the wings level. I'm not convinced this is the best arrangement, but for a first crack it certainly is workable. By my third flight I was able to taxi to the end of the runway, do a full wheel take off, fly a complete flight, and finish with a smooth landing -- with the SAS turned on from start to finish.

I have a few questions though.

Is it fair to call what I've put together an "SAS" or is there a better term I should be using? I hate playing acronym of the day though. In this field everyone likes to make up their own variants anyway. I've set up my system so that stick deflections map to roll and pitch rates and then the system holds the current bank and pitch angles when the stick is centered. This works pretty intuitively as long as you recognize and account for some latency. But how have other people rigged up their systems? What do people feel works the best and is most intuitive from a pilot's perspective? What is the ardupilot mega doing?

Thanks,

Curt.
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Hi Curt, I implemented the same system (also wonder what term to use) and did some tests in flightgear and in the air, but not takeoff/landing. When the pilot centers roll/pitch stick, the autopilot holds current pitch and slowly decrements roll to zero. The throttle stick controls autothrottle: center position = hold the predefined airspeed, maximum = maximum throttle, minimum = idle throttle. When the airspeed is less than the predefined value the throttle stick maps directly to throttle (taxi mode).
  • Hi Gary, here's a follow on video showing my last flight of the day. Taxi, take off, flight, and landings were all done with the SAS turned on.


    You ask an excellent question though. In my case I'm flying a telemaster and I've rigged the maximum pitch up angle and the maximum up elevator in SAS mode to never exceed the aircraft limits and produce a stall. I can hold full up stick position on the transmitter and the aircraft will get really mushy, and the nose will drop straight forward, but it always remains controllable.

    This of course would not be a good strategy (stragedy?) on a higher performance airframe with nastier stall characteristics. I think it's neat to see the aircraft hold it's target pitch angle even with radical throttle changes, but I agree that this might not be the most intuitive mode of operation from a pilot's perspective.

    It's disconcerting (for instance) on a missed approach/go around to give full throttle and watch the aircraft accelerate in a straight line, continuing to descend towards the obstacles at the end of the field. The pilot needs to remember to give power and pitch the nose up manually, it won't come up on it's own. Same issue in reverse when landing. When you pull off power, the nose doesn't drop which makes you nervous about getting too slow on your approach.

    I need to think about it a bit more ... the standard DIYdrones air speed sensor with 10bit ADC is pretty crude and jumpy at approach speeds and not dependable enough or stable enough for solid pitch control (I don't think.)

    In my own defense, this was my first day out testing a brand new system so I was probably a bit naively brave to even try take offs and landings and low passes without building up some more time at altitude. But what the heck, flying days can be hard to come by when you mix work schedules and weather and family schedules and all that.
  • Moderator
    What happens with airspeed?? Is held or allowed to increase/decrease?
  • Curt, your approach sounds like the heading hold mode of an RC helicopter gyro. There are also 3-axis units available - for planes and helicopters.
  • Developer
    Yeah, it totally makes sense. I made that mode to solely test the planes ability to react to autopilot commands. In the end though we made a second version that's super easy to fly for novice pilots or FPV.
  • Hi Jason, sounds like your FBW is very similar. The main difference (if I understand your approach correctly) is that when you want to fly a turn you have to hold the stick over to get the desired bank angle and then hold that through the turn. With the approach I setup for my first try, you roll the airplane into the turn with some stick deflection, but then let the stick center and the SAS will hold that bank angle untill you roll it out with opposite stick deflection. My goal was to make it "intuitive" for regular pilots. It's not quite as intuitive as I'd like (yet) for a couple other reasons but hopefully with some more work and fiddling it will get there.

    A few years ago I got some stick time in a full motion A-320 system so in my head I was trying to mimic a very simplistic version of the airbus flight control system when I setup my system. I'm not sure what is ultimately the best approach for an RC airplane, but that's what was going on inside my head when I set things up.
  • Developer
    This is like our Fly-by-wire mode. We use the absolute position of the sticks to generate a roll and pitch value which are limited like yours.

    I am planning on adding something like an acro-mode for holding a knife edge or inverted flight with stabilization. The only reason I haven't is my EZ-Star would probably not be the right test vehicle.

    To do that I planned to set up a rate of change based on stick deflection and sum it with roll and pitch. The plane would do it's best to hold that attitude using the stabilization code. This would allow rolls and holding any attitude you want.

    Our Stabilize mode works differently. It always attempts to return the plane to level flight and has a mix enabled so the effect is scaled to stick deflection. This allows you to fly it normally and do loops, rolls, etc.


    Jason
This reply was deleted.