Embedded Control Systems in C/C++: An Introduction for Software Developers Using MATLAB

In this chapter, I wrap up the discussion of control system design methods I covered in earlier chapters and provide a more comprehensive design example than the simpler examples given previously.
I will examine each of the control system design methods in terms of its benefits and its drawbacks. The objective here is to provide the designer with some insight as to how to select a suitable design approach for a given control system problem.
The design example I present in this chapter demonstrates how to break a complex control problem into a collection of simpler problems and then combine the resulting controllers into a complete control system. I develop a complete control system for a simplified helicopter that consists of a rigid body, a two-blade main rotor, and a two-blade tail rotor. The main rotor is the primary actuator for this system. By varying the blade's angle of attack as it rotates, it is possible to generate lifting force, a moment in the helicopter's front-back plane (pitching moment), and a moment in the side-to-side plane (rolling moment). The remaining actuator is the tail rotor, which generates a variable sideways force on the tail of the helicopter.
The helicopter control system must be able to control the roll, pitch, and yaw angular motion of the helicopter and must be able to fly the helicopter to a specified point in three-dimensional space. The helicopter moves forward or sideways by tilting the plane of the main rotor in the...