Open Source Robotics

A curated collection of high-quality open source robotics projects, tools, and software to propel the robotics community forward.

Cascaded Control

  • Also called: cascade control, nested-loop control, inner-outer loop control
  • Category: Control › Feedback control
  • Tags: feedback-control, pid, flight-control, motor-control, control-architecture

A control structure with nested feedback loops, in which an outer loop computes the setpoint for a faster inner loop, such as position over attitude over body rate on a drone.

Definition

Cascaded control splits a control problem into nested feedback loops. The outer loop regulates the slow quantity the user cares about, such as position, and its output is not an actuator command but a setpoint for an inner loop that regulates a faster intermediate quantity, such as velocity, attitude or current. Each loop only has to deal with part of the dynamics, which makes the controllers simpler to design and tune, and the inner loop rejects disturbances, such as a gust or a load torque, before they reach the outer variable.

The structure works best when the inner loop is much faster than the outer one. The outer loop can then treat the inner loop as if it tracked its setpoint immediately. A common rule of thumb is to make each inner loop several times faster in bandwidth than the loop around it, often by a factor of about five to ten. Loops are tuned from the inside out: the innermost loop first, then each outer loop with the inner loops closed. Limits must be passed between levels, for example a maximum tilt angle or current, and outer loops need anti-windup so that they do not keep integrating error while the inner loop is saturated.

Two examples are almost universal in robotics. Electric motor drives use a current (torque) loop inside a velocity loop inside a position loop. Multirotor flight controllers use a position controller that outputs a desired acceleration, which is converted into a total thrust and a desired attitude; an attitude controller then outputs body-rate commands; and a rate controller produces torques that a mixer turns into individual motor commands. The outer loops may be PD, PID or model-based controllers, and the position level is sometimes replaced by model predictive control while keeping the inner attitude and rate loops. The limitation of cascaded control is that it ignores coupling between levels: aggressive maneuvers that demand performance near the inner loop's bandwidth, or strongly coupled dynamics, can be handled better by controllers that consider the full system at once.

Why it matters

Most commercial drones, motor drives and many robot joints are controlled by cascaded loops, so engineers meet this structure whenever they tune, debug or extend real hardware. Understanding the bandwidth separation and the interfaces between loops explains many common problems, from sluggish position tracking to oscillation caused by a poorly tuned inner loop.

Key applications

  • Multirotor flight controllers with position, attitude and rate loops
  • Servo motor drives with current, velocity and position loops
  • Joint control of robot arms and legged robots
  • Process control, such as temperature and flow regulation
  • Combining a model predictive outer loop with fast inner tracking loops

In practice

On a racing drone, a team's planner sends position, velocity and acceleration references. An outer PD position loop running at a lower rate computes a desired acceleration, adds gravity and the feedforward acceleration, and turns the result into a collective thrust and a desired thrust direction. An inner proportional attitude loop converts the attitude error into body-rate commands, which the flight controller's rate loop tracks at a much higher rate using gyroscope feedback. When the drone oscillates in hover, the team first retunes the rate loop on its own, then the attitude loop, and only then the position gains, rather than adjusting the outer loop to compensate for a poorly tuned inner one.

Common misconceptions

  • Any controllers can be stacked into a cascade — the structure relies on the inner loop being considerably faster; without that separation the loops interact and can become unstable
  • Cascaded loops can be tuned in any order — inner loops should be tuned first, because the outer loop's behavior depends on how the inner loop responds
  • Cascaded control is outdated compared with model predictive control — many MPC-based systems still run cascaded inner loops for attitude, rate or current, with MPC replacing only the outer level

Who should know this

  • Drone and flight-control engineers
  • Motor control and drive engineers
  • Robotics engineers tuning joint and mobile-base controllers
  • Students learning practical feedback control

Related technologies

  • PID Control
  • PX4 Autopilot
  • Betaflight
  • Field-Oriented Control
  • Anti-Windup

Related terms

  • PID Controller
  • UAV
  • Differential Flatness
  • Model Predictive Control
  • Thrust-to-Weight Ratio
  • Fault-Tolerant Control

Related projects

  • MAVROS: ROS gateway for MAVLink-compatible autopilots (PX4, ArduPilot)

Videos

  • Introduction to Cascade Control: LearnChemE

This website requires JavaScript to function properly. Please enable JavaScript to explore our collection of open source robotics projects.