FreeSpace Autopilot Crash!


I rarely crash. Maybe I've been lucky? I had been ignoring a bug for the longest time only to have it occur just as I was over the trees ready to land. There was no time to recover.

Toward the end of the video you can see the crash. The plane is trying to follow a runway beam but winds up oscillating back and forth and eventually tip stalls. The only thing that saved me from ending up on the roof of the barn was accidentally flipping on the autopilot for 1/4 of a second as I was in a panic flipping every switch.

My beamfollow is what I suspect caused the crash. It works like this:

1) The "beam" is created and basically defines a path to follow. It is assigned a bearing.
2) I get the distance from the aircraft to the beam. 30m out the bearing command is perpendicular to the beam. As the aircraft gets nearer and nearer, the bearing command converges to the actual beam bearing
3) The aircraft follows the beam bearing by feeding the bearing error into the bank command (The aircraft simply banks toward the bearing)

If the aircraft is going decently fast, there aren't any issues. But something oscillates when I go slow, and especially when I just hover in the wind making no progress as in this video.

So the two bugs are:

1) Beamfollow oscillations induced by low airspeed
2) Altitude was lost making all the turns, making recovery impossible.
3) Probably flying 30 feet above the treetops in gusty winds made for all sorts of funky air currents.

I've learned 2 things from all this:

1) Don't ignore strange behavior. It WILL happen near the ground one day.
2) FAILSAFE MODES! Plane should recognize dangerously low altitudes or oscillations and enter a wings level climb and alert the user.

The damage? Stripped aileron servo gears, Cracked left aileron, busted pitot tube, chipped prop, and a few cracks on the fuse. She'll fly again in a few weeks!
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • @Ritchie - Yep, there are 3 or so versions of that camera. I am able to set the time, but every time I hook it to the PC it resets. Thanks for the encouragement. After a crash I get depressed for a few days. I shall return!! (I guess it happens to all of us at one time or another)

    @Ryan - I'm just trying to understand the various methods I'm seeing and pick which one makes the most sense for me. I think I have enough information, now I just need to play! I was simply observing that your formula doesn't do v^2 which seems like what you'd want. Could be a misunderstanding but I'll know soon.
  • So sorry to see your mishap but no doubt with all your gadgetry it shall fly again with new vigour

    As I am a cheap chinese cam man too, you know you can put a text file in to show the right date?
    Call it TAG.txt
    contents should be styled as follows
    [date]
    2010/10/20
    14:10:00
  • Developer
    My equation is the max bank for that given airspeed to maintain a stall limited steady level flight condition....That's it. You can command any turn rate you want from 0 deg bank to max and not loose altitude because of stall. This equation predict the max turn rate. The only thing left out is this assumes you arn't thrust limited. But yeah Not really seeing what your getting at. ..
  • And more good stuff. http://www.aerospaceweb.org/question/performance/q0146.shtml
    Aerospaceweb.org | Ask Us - Bank Angle and G's
    Ask a question about aircraft design and technology, space travel, aerodynamics, aviation history, astronomy, or other subjects related to aerospace…
  • I definitely have more reading to do. According to this book, "Principles of Flight Simulation", section on heading hold, they do exactly what you suggest. BUT- they use AIRSPEED and no atan:

    bank angle = (turn_rate*V) / g

    This of course seems weird to me, but here it is in a book.

    http://books.google.com/books?id=NtHy4YZDF_0C&pg=PA185&lpg=...
  • Maybe the answer is this: The inner loop, the turn rate command, is made to be independent of SOG with Ryan's formula. This loop most likely settles faster than the speed we encounter new bearing vector commands. So I suppose in my example, the aircraft enters each "grid square" and settles on that square's vector in short order with plenty of time to spare. So going twice the speed doesn't really matter-- what does matter is that the inner loop is made stable. Obviously the grid is just an example... I don't use a grid :)
  • Okay, what about this problem :)

    The solution presented here makes the turn rate the same no matter what the airspeed, which sounds good at first. But imagine the aircraft is traversing a vector field made up of a grid of vectors. It takes the aircraft say 10 secs to go from grid vector 1 to grid vector 2, and we command a turn rate to go between the two. But lets say we go that same distance in 5 seconds. The same turn rate won't be fast enough. We need twice the turn rate. So I'd scale my desired turn rate by SOG (*2). But your formula already scales it by SOG, so we really have SOG^2.

    Then there's the issue of wanting to turn at a slower rate the faster you go anyway, so you don't pull too many G's.

    I asked a "Missile guy" about this (he does this for a living) and in his experience you just do the atan() and command a force, not a turn rate. He did say it "depends on what you want to optimize for" but he thought that in this case you don't want to do SOG. I can't say it's entirely clear to me yet, but I am not sure I personally have the "correct" answer for my autopilot yet.

    But with that said, Ryan's solution makes me realize that I am doing it wrong in any case.
  • Developer
    Yeah the answer is above.... Here it is in the solved format

  • @Mikko - I totally agree with Ryan as it relates to trying to fly exact paths on the ground. But as far as airspeed goes, the other issue is limiting your bank angle so you don't bank so much that you cause a stall.
  • @ryan - that graph proves my point. Stall speed increases with bank angle. So you have to adjust the bank angle limits as airspeed decreases.
This reply was deleted.