full state feedback
Full state feedback is a control strategy where the robot's command is computed from every single one of its state variables at once, not just the one thing you happen to care about. Recall that the state is the short list of numbers that fully describes the system's current condition — for a balancing robot, that's its tilt angle, how fast it's tipping, its position, and its rolling speed. In full state feedback, the controller looks at all of these together, multiplies each by a chosen weight (a gain), and adds them up to decide how hard to push the motors. Because the decision draws on the complete picture, it can react to trouble brewing in any variable before it grows.
The big payoff is that this lets engineers shape the robot's behavior almost at will. Every dynamic system has natural tendencies — whether it settles quickly or slowly, smoothly or with oscillations — and these are captured by mathematical fingerprints called poles. By choosing the feedback gains, full state feedback can move those poles to wherever the designer wants, a technique called pole placement. It's like having a set of tuning knobs that directly dial in 'settle fast, no overshoot, no wobble,' rather than guessing and hoping.
The one catch is right there in the name: full. The method assumes you actually know every state variable, but real sensors often measure only some of them — an encoder gives you a joint angle but not its velocity, for instance. In practice this gap is bridged by pairing full state feedback with a state observer, a companion piece of software that estimates the missing variables from the ones you can measure, so the controller still gets the complete state it needs to do its job.
A self-balancing two-wheel robot feeds back four numbers — tilt, tilt rate, position, and speed — each scaled by its own gain. Tuning those four gains via pole placement makes the robot snap upright quickly without overshooting and tipping the other way.
All four state variables steer the motors — that's what 'full' means.
Pole placement only works if the system is controllable — meaning the inputs you have can actually influence every state variable; if some part of the robot is out of the motors' reach, no choice of gains can move its poles.