Controllability refers to the ability to drive a system from one state to another. For a
kinematic model of a wheeled mobile robot, the state is just the configuration q of the
chassis, with components phi, x, y.
Consider an omnidirectional wheeled mobile robot with a goal configuration q_goal. A
simple controller to drive the robot to the goal configuration is the proportional controller
q-dot equals K times (q_goal minus q), where the feedback gain matrix K acts like a spring
to pull q to q_goal. We could choose K to be the identity matrix, but as long as it's
positive definite, the configuration error will decay to zero, as seen in this animation.
We might as well choose the goal configuration as the origin, so this controller simplifies
to q-dot equals minus K times q.
This controller only works because the chassis velocity q-dot and the controlled wheel speeds
u satisfy u equals H of phi times q-dot, where H is rank 3 as we learned in an earlier video.
This means that any q-dot can be achieved by some choice of wheel speeds u. Therefore
we can write the controller as q-dot equals minus K times q equals the pseudoinverse of
H of phi times u, which we express more simply as q-dot equals nu.
This is a simple example of a more general class of linear control systems x-dot equals
A x plus B nu, where x is n-dimensional, nu is m-dimensional, A is n-by-n, and B is n-by-m.
Systems such as this are said to be linearly controllable if they satisfy the Kalman rank
condition: the rank of the matrix whose columns are given by the matrices B, AB, A-squared
B, etc., is equal to n, the dimension of x. This condition ensures that the m controls
can act on all n states.
If a system is linearly controllable, it's possible to drive it between arbitrary states.
To stabilize the origin, we can choose the feedback controller nu equals minus K times
x, resulting in the dynamics x-dot equals A minus B K times x. For stability, we need
to choose K so that the eigenvalues of A minus B K all have negative real components.
Since we can write our omnidirectional mobile robot control system as q-dot equals nu, it's
a simple example of a linear control system with A equal to zero and B the identity matrix.
The identity matrix trivially satisfies the Kalman rank condition.
The canonical nonholonomic mobile robot is not a linear control system, because the matrix
G depends on the configuration q. We might still wonder if there is a simple control
law that can stabilize a desired chassis configuration q_goal. Without proving it, I'll state a famous
negative result:
The system q-dot equals G of q times u, where the rank of G of zero is less than the dimension
of q, cannot be stabilized to the origin by a continuous time-invariant feedback control
law. For the canonical nonholonomic mobile robot, the rank of G is always 2, which is
less than 3, the dimension of q.
So, not only is there no control law that is linear in q that can stabilize a desired
configuration, there isn't even a stabilizing control law that's continuous in q. The nonholonomic
mobile robot is not linearly controllable, but in the next video, I'll define weaker
notions of controllability, taken from nonlinear control theory, that apply to nonholonomic
mobile robots.