Now the plant dynamics can be analyzed with root locus techniques:
Figure 32: Root Locus of Bixler 3
From the root locus plots of our system above, it is apparent that controlling speed ‘u’
with throttle ‘dt’ and pitch ‘ ’ with elevator ‘de’. With this decision in place, we can nowθ proceed to close our loops. Sparing the detailed control analysis, our model simulation using Simulink takes the following form for longitudinal motion:
Figure 33: Simulation for a unit step input
After completing the controller synthesis, it was found that simple constant proportional gains were capable of successfully closing the control loops on speed (using K1), pitch (using K_t), and height (using K_h). These theoretical gain values are:
K1 = 5.95 K_t = 1 K_h = 0.029
Using these gains, favorable responses to a unit step command in height (h_c) were found. The overall step response data for resulting height includes:
RiseTime: 1.6463 s SettlingTime: 3.9439 s
SettlingMin: 0.9024 SettlingMax: 1.0284
Overshoot: 2.8363 Undershoot: 62.6028
Peak: 1.0284 PeakTime: 5.20 s
Figure 34: Simulation Results
Here we see that a unit step command in height causes the elevators to deflect upwards.
This first has the effect of causing both speed and height decreases, but throttle is then inputted to make up for this and the aircraft then starts to recover and rise to its commanded height while regaining velocity. The control inputs are not too strenuous, so it seems that this design, in theory, bodes well. However, further optimization of our controller can occur using LQR methods. This will be tested in later designs.
The previous theoretical analysis shows that certain proportional gain choices can indeed result in favorable response characteristics for the Bixler 3. So how does all of this analysis compare with experimental design techniques? The answer is that the theoretical results give a good starting point for gain choices: they reveal that the Bixler can in fact be controlled with simple proportional gains, and the results also give good insight into the response of the craft to
step commands in height while trying to maintain a constant speed (in this case, the reference
challenges that separates the theory and the actual controller specs are limitations both that of and correction much more friendly and streamlined to iterative design techniques. Another challenge that will later be addressed and is mentioned in later analysis is that of the polarization of angles due to singularity switches between – pi and pi radians when reading orientation values for roll, pitch, and yaw. A simple fix for this will be to convert these values to a range from 0 and 2pi, but this isn’t necessary to solve our current problem.
After addressing the above problems, applying the mentioned control strategy, and iterating through our gains, our controller takes the following form:
* yaw + atan(speed_body_v/speed_body_u));*/ //To be applied later
ThrottleCorrection = 1.0f;
} else if (ThrottleCorrection < 0.0f ) { ThrottleCorrection = 0.0f;
}
END ARCHITECTURE
The above architecture yields the following experimental results for maintaining speed, altitude, and heading. Each result is annotated accordingly. Note that the flight path distances are simply magnitudes calculated by using distances between longitudinal and lateral coordinates.
These are then converted into distances to prove that each test was taken over at least 100 meters of field.
Experimental Results
Autonomous flight #1
Figure 35: First autonomous flight
Here we see the airplane being flown in R/C mode to an altitude of approximately 35 m above Lake Lagunita. Autonomous flight then begins around 127 seconds of flight time. Once the autonomous flight is active, the altitude is shown to remain constant with slight noise and oscillation. Similarly, heading remains surprisingly constant and velocity has slight fluctuations around 10 m/s. The overall flight path from a top view is shown in the graph below in longitude vs latitude coordinates that have been zeroed relative to starting position and converted to distance in meters. The height vs distance is shown to be nicely constant with slight fluctuation around 35 meters. Overall, this was a very successful test for our controller!
Figure 36: Path for first autonomous flight
In Figure 36 we see that autonomous flight occurs as we wrap the aircraft around to face us so that its heading is towards our location. In the flight path plot, the autonomous flight begins at the point (58,50) and ends at (8,20). This path is also represented by the level portion of the altitude plot in Figure 36. The aircraft remains relatively level with expected perturbations around the desired altitude input.
Autonomous flight #2
Figure 37: Second autonomous flight data
Figure 38: Second autonomous flight path
In autonomous flight number 2, we see a relatively constant heading, altitude, and ground speed! The speed fluctuates around 10 m/s here, while the altitude fluctuates between 36 and 40 meters above lake lag. This was yet another successful test!
Autonomous flight #3
Figure 38: Third autonomous flight data
Figure 39: Third autonomous flight path
For autonomous flight number 3, the plane is switched into autonomous mode at 189 seconds flight time and lasts for about 5 seconds, ending at approximately 194 seconds of flight time. We notice that during this time, the aircraft traveled approximately 100 meters, give or take a few. During this time span we also notice a relatively linear heading with some slight perturbations, a ground speed fluctuating around 16 m/s, and an altitude fluctuating around 34 m above lake lag. At about a ground distance of 100 meters, the third test is then brought back into R/C mode, which is apparent from the sweep in the flight path and the slight drop in altitude.
Autonomous flight #4
Figure 40: Fourth autonomous flight data
Autonomous flight number 4 shows similar results to the previous tests. Here we see some noisy height and yaw, which may be due to some strong gusts of wind due to flying conditions becoming unfavorable. However, the data still yields nice steady responses, and height fluctuations are within reason. Ideally, we can improve on the response of the system even further by tuning the gains of Bixler for both yaw and height, and possible by adding some damping to error in climb rate to reduce noise. However, in the future, more of our team’s resources will be focused on our actual design for the blended body aircraft. We are optimistic that our control laws will prove as effective as they appear to be for the Bixler. Over these four tests, our gains were tuned to reduce error in the aircraft’s ability to maintain a constant altitude,
heading, and velocity. Overall, I believe our results show a reasonable margin of success after