Below is a short video of the Rovio when commanded to move in a straight line to the left.

The robot has intentionally been aligned with the floorboards at the start, to make it easier to tell if it is traveling in a straight line. Note that it actually turns significantly. In one anticipated Rovio-based projects, students will design feedback control to correct for these errors and track motions desired motion plans much more accurately.

One exciting - and often unavoidable - challenge in robotics in the problem of **underactuation**:
Sometimes, there are more degrees of freedom in a system than we can control directly with
the actuators we have. Below are several examples of underactuated systems.

Below is an animation of a "hovercraft" which has 3 degrees of freedom but only 2 thrusters (the actuators), making it underactuated. The degrees of freedom are: (1) x position, (2) y position, and (3) the rotation angle, theta.

Here, we can control any 2 out of 3 degrees of freedom, but not all 3. Thus, if we want to follow an (x,y) path, the angle theta is left uncontrolled, and the hovercraft spins. The Rovio, by comparison, has the same 3 degrees of freedom (x, y, and theta), but it has 3 actuators (the 3 wheels), making it fully actuated. Unlike the hovercraft below, the Rovio can therefore follow a desired motion path in x, y, and theta.

The acrobot is a two-link pendulum with a single actuator at the elbow that can be (1) brought into an upright position and (2) stabilized. Below are two methods for achieving the first goal of pumping energy into the system to raise both links; an additional, linearized controlled can than be added for stabilization.

The first videos shows **colocated** partial feedback linearization (PFL), while
the second demonstrates **non-colocated** PFL.

Note that while the second method is much faster at getting upright, it
also requires a HUGE amount of power initially to do so! It may work in
simulation, but would not work on practical hardware. Also note the
long-term behavior of each approach: this method does **NOT** stabilize
the pendulum at the top; it only raises it into a position where a
second control algorithm could take over to do so.

The final simulation example shows the Raibert hopper. It is impressive that Raibert's simple balance algorithms can stabilize this underactuated system. However, the resulting speed control is not very accurate. Note that Raibert's control ideas, which were first developed in the 1980's, are at the basis of control for the BigDog robot that you may seen on YouTube in recent years.