I'm reading Mechanics of Robotic Manipulation by Matthew T Mason and I stumbled upon the concept of kinematic constraints. The book mentioned about two types of constraints: holonomic and nonholonomic constraints
Following is one example of a holonomic constraint mentioned in the book:
A rectangular block sliding in a channel with free variations in the coordinates x,y,and theta. The channel imposes a constraint so that the rectangle's y value is fixed. The holonomic constraint is described below:
While the following is an example of a nonholonomic constraint mentioned:
Suppose that we add a wheel to the block, so it behaves like a unicycle or an ice skate. At any given point in time, the block can move forward and backward, it can rotate about the wheel center, but it cannot move sideways. The nonholonomic constraint equation is described below as:
The author also wrote that:
".. it is evident that each independent holonomic constraint reduces the degrees of freedom of the system by one, but a nonholonomic constraint does not."
All of the explanations so far seem to contradict my understanding of the physical meaning of robotic holonomic movement:
- I've always thought that a holonomic robot means that it can move in all directions and hence the total number of controllable degrees of freedom is equal to the total degrees of freedom. But how is that possible when every holonomic constraint reduces the degree of freedom of the system?
- And how come doesn't a nonholonomic constraint reduce the degree of freedom of the system? Isn't the unicycle constraining the block from moving sideways? Why is the degree of freedom of the system not considered as reduced then?
I hope someone can help to clarify my understanding.