Control
Control systems are responsible for regulating the behavior of a system to achieve desired performance objectives. In embedded flight systems, control algorithms use estimated system states—such as orientation, angular velocity, and position—to compute actuator commands that stabilize and guide the vehicle.
Feedback Control
Most embedded control systems operate using feedback control, where the current state of the system is continuously measured and compared against a desired reference. The difference between the desired state and the measured state, known as the error, is used to compute corrective actions.
Feedback control enables the system to compensate for disturbances, model uncertainties, and sensor noise, making it essential for stable operation in dynamic environments.
Proportional-Integral-Derivative (PID) Control
One of the most widely used control strategies in embedded systems is the Proportional-Integral-Derivative (PID) controller. A PID controller computes the control input based on three components:
Proportional (P): Produces an output proportional to the current error. It provides immediate corrective action but may lead to steady-state error.
Integral (I): Accumulates the error over time to eliminate steady-state error. However, excessive integral action can lead to overshoot and instability.
Derivative (D): Responds to the rate of change of the error, providing damping and improving system stability. It is sensitive to noise and often requires filtering.
The control input is given by:
where is the error and are the controller gains.
Cascaded Control Architecture
In flight control systems, a single control loop is often insufficient to achieve stable and responsive behavior. Instead, a cascaded control architecture is used, where multiple control loops operate at different levels.
A typical structure consists of:
Outer Loop (Angle Control): Regulates the desired orientation (roll, pitch, yaw) by computing target angular rates.
Inner Loop (Rate Control): Regulates angular velocity using gyroscope measurements and generates actuator commands.
The inner loop operates at a higher frequency and provides fast response, while the outer loop operates at a lower frequency and ensures stability with respect to the desired orientation.
Actuator Command Generation
The outputs of the control system must be translated into actuator commands. In multi-rotor systems, this involves mapping control inputs (e.g., roll, pitch, yaw, and thrust) to individual motor outputs through a process known as motor mixing.
This mapping ensures that the combined effect of all actuators produces the desired forces and torques on the vehicle.
Practical Considerations
In real-world embedded systems, several practical factors influence control performance:
Sampling Rate: Control loops must run at sufficiently high frequencies to ensure responsiveness and stability.
Noise and Filtering: Sensor noise affects derivative terms and requires filtering techniques to maintain stability.
Saturation: Actuator limits can lead to saturation, which may cause integral windup and degraded performance.
Tuning: Proper tuning of controller gains is essential for achieving desired performance and stability.
Designing an effective control system requires balancing responsiveness, stability, and robustness under varying operating conditions. These principles form the foundation for the control strategies implemented in embedded flight systems.