Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Overview

The goal of this module is to orchestrate the aircraft’s turns. That means that it takes as input the current heading and the desired heading (along with a few other sensor measurements) and it spits out the requested bank angle and rudder position.

***Note: I think it’s a good idea to worry about elevators and airspeed in another module. From what I understand, there is no interdependence.

Radius of the turn

Given a certain desired radius of the turn at a given airspeed, there exists a formula to compute the required bank angle:
phi = arctan(v^2/rg), where v is the airspeed, r is the radius, g is gravity and phi is the bank angle.

Sliding and skidding turns

A slip is when the bank angle is too great for the rate of the turn, so the airplane starts "slipping" towards the inside of the turn. In a sliding turn, the relative wind vector points from the inside of the turn. A skid is when the bank angle is too small for the rate of the turn, so the airplane starts "skidding" towards the outside of the turn. In a skidding turn, the relative wind vector points from the outside of the turn. A coordinated turn is the middle point between these 2; that is what we are aiming for. In a coordinated turn, the relative wind vector is pointing directly through the center line of the aircraft.

Forces involved in a turn

When an airplane banks, the lift vector remains perpendicular to the wing, so part of it works to counteract gravity, and the other part of it points towards the inside of the desired turn.

This means that if an aircraft was holding its altitude before the turn, it would start descending as it banks its wings. To account for this, we need to increase its angle of attack in order to increase the lift vector enough so that its vertical component counteracts gravity once more. We could potentially also increase airspeed, that would achieve the same result, but that gets messy because the radius of the turn increases. If we choose to increase the angle of attack, care must be taken to avoid stalling.

Now, once the wings bank, a phenomenon known as adverse yaw occurs. The upwards wing has more lift than the downwards wing as it yaws (that’s why its going up while the other one is going down). Because of this, its inherent drag, (a drag force proportional to the lift generated), will be larger than the lower wing, and this will tend to yaw the aircraft towards the outside of the desired turn. that means the aircraft starts to “slip”. To counteract that slip, rudder must be applied. But actually, more rudder must be applied than just what’s needed to counteract the adverse yaw. If exactly that quantity was applied, the airplane would be moving forward and in the direction of the bank (because the banked wings provide some sideways force), but would be pointing only forward! We would still be slipping. So rudder needs to be applied until the nose points in the direction of motion of the airplane, that is when coordinated flight is achieved.

Now for a deeper look at the forces:

In a slipping turn, there is too much centripetal force for the turn to be coordinated. From the pilot’s perspective, he feels too little “centrifugal force” and it feels like he’s falling towards the inside of the turn. The seat restricts him, but nothing restricts the inclinometer ball, that finds its way to the inside side of the center point. If there was an accelerometer on board it would measure a force pointing towards the outside of the turn. You can think of an accelerometer as being a ball on a spring, and the measurement is of how much the spring compresses. Since the ball is forced to the inside of the turn, the spring would create a force towards the inside of the turn to compensate. In this case, adding rudder to steer the nose “into” the turn effectively decreases the radius of the turn. When the radius is small enough that the centripetal force is correct, we enter coordinated flight.

In a skidding turn, there is not enough centripetal force for the turn to be coordinated. From the pilot’s perspective, he feels too much “centrifugal force” and it feels like he’s being thrown to the outside of the turn. The seat restricts him, but nothing restricts the inclinometer ball, that finds its way to the outside side of the center point. If there was an accelerometer on board it would measure a force pointing towards the inside of the turn. You can think of an accelerometer as being a ball on a spring, and the measurement is of how much the spring compresses. Since the ball is forced to the outside of the turn, the spring would create a force towards the inside of the turn to compensate. In this case, adding rudder to steer the nose “out of” the turn effectively decreases the radius of the turn. When the radius is large enough that the centripetal force is correct, we enter coordinated flight.

In a coordinated turn, the wings produce just the right amount of centripetal force. The pilot feels all that force coming from the bottom of his seat.

I think a good way of looking at it is the bank angle determines the centripetal force while the rudder determines the radius of the expected turn. You need both these things matching up to actually produce a good coordinated turn.

Implementation of the module

Here is the early plan for the architecture of this module:

Inputs:

  • Current heading

  • Desired heading

  • accelerometer readings ( only y is required)

Outputs:

  • requested bank angle

  • requested rudder position

Every time the module is called:

  1. Use PID on the headings to determine the bank angle, probably just P or PI (a maximum bank angle should definitely be selected though).

  2. Depending on the bank angle, determine a rudder angle setpoint. This can be done with a simple linear equation that should be tuned experimentally.

  3. Feed the value of the y accelerometer reading into a PID algorithm (probably just P or PI). Vary the rudder around it’s set point based on this value to maintain turn coordination.

  4. Return the determined values of the requested bank angle and the requested rudder angle.

  • No labels