In the last video, we learned that the Lie bracket of two vector fields expresses their noncommutativity. This noncommutativity may allow approximate motion in directions not directly allowed by the control vector fields. The Lie bracket is, itself, a vector field. Therefore, we can take Lie brackets of Lie brackets. For example, we can take the Lie bracket of g_1 with the Lie bracket of g_1 and g_2. Higher-degree Lie brackets like this one correspond to higher-order terms in the Taylor expansions from the last video. We call the original vector fields Lie products of degree 1, the Lie bracket of two of the original vector fields a Lie product of degree 2, the Lie bracket of Lie products of degree 1 and 2 a Lie product of degree 3, and so on. The key idea behind testing for local controllability from a configuration q is to see if the Lie products of all degrees, evaluated at the configuration q, allow motion in every direction. We say that a set of vector fields satisfies the Lie algebra rank condition, or LARC, at a configuration q if their Lie products, of all degrees, span the n-dimensional space of feasible motions at the configuration q. With this definition, we can state the main theorem: Consider a control system q-dot equals g_1 times u_1 plus g_2 times u_2, etc., such that the vector fields satisfy the LARC at q. Then the system is small-time locally controllable from q if the control set U positively spans the m-dimensional control space, and it's small-time locally accessible from q if the control set spans, but does not positively span, the m-dimensional control space. Basically, a positively spanning control set allows motion forward and backward along vector fields, while a spanning control set may only allow unidirectional motion along the vector fields. Let's apply this test to our canonical nonholonomic mobile robot. The vector field g_1 corresponds to forward motion and the vector field g_2 corresponds to rotating in place. The Lie bracket of g_1 and g_2, which I'll call g_3, is zero, sine phi, minus cosine phi, a sideways parallel-parking motion. If we create a matrix whose columns are the three vector fields, we find that the determinant is 1. Since the determinant is nonzero, these 3 vector fields are linearly independent, and therefore they span the 3-dimensional space of velocities of the chassis. Therefore the LARC is satisfied at all configurations. If the robot is a car with a reverse gear, the control set U is a bowtie-shaped region, as we learned in an earlier video. This control set positively spans the 2-dimensional control space. Therefore, by the theorem, the car with a reverse gear is small-time locally controllable from all configurations. On the other hand, if the robot is a car without a reverse gear, the control set is only half of the bowtie-shaped region. This control set spans the control space, but does not positively span the control space. Therefore the car without a reverse gear is small-time locally accessible from all configurations, but it's not small-time locally controllable. Although we're usually only interested in the motion of the chassis, we could include other configuration variables in the description of the robot. For an upright rolling wheel, the full configuration is phi, x, y, and theta, where theta is the rolling angle of the wheel. If the radius of the wheel is r, then the forward motion vector field is g_1 equals zero, r cosine phi, r sine phi, 1, and the spin-in-place vector field is g_2 equals 1, zero, zero, zero. The degree-2 Lie bracket is g_3 equals zero, r sine phi, minus r cosine phi, zero, which corresponds to sliding sideways. We need at least one more Lie bracket to be able to span the four-dimensional space of velocities, so we can construct the degree-3 Lie bracket of g_2 and g_3, which is zero, r cosine phi, r sine phi, zero, which corresponds to sliding forward without changing the rolling angle theta. Taking the determinant of the 4-by-4 matrix with these vector fields as the columns, we find that the determinant is minus r squared, so the four vector fields are linearly independent, provided the wheel radius is nonzero. Therefore the LARC is satisfied at all configurations. If the control set positively spans the control space, the robot is small-time locally controllable from all configurations, meaning that it can follow any path in its 4-dimensional configuration space arbitrarily closely, despite the 2 velocity constraints that the wheel cannot slide forward or sideways.