Mobile Robots & Locomotion

holonomic vs nonholonomic constraints

Holonomic and nonholonomic are two kinds of rules that limit how a robot can move, and the difference is whether the rule can be boiled down to a relationship among positions or only ties down the velocities — how the robot may move from one instant to the next. A holonomic constraint is one you can express purely in terms of where the parts are: it locks certain positions together, so it actually shrinks the set of places the robot can ever reach. A nonholonomic constraint is subtler — it restricts the robot's instantaneous motion without forbidding any destination, so the robot can still reach anywhere, just never by heading straight there.

A shopping cart is the perfect picture. There is no spot in the store the cart cannot reach, so nothing rules out any final position — yet the cart cannot slide directly sideways; at every instant it is only allowed to roll along the way its wheels point. To move sideways into a gap you have to shuffle forward and back, wiggling the wheels, until you have crept over. That ban on sideways sliding is a nonholonomic constraint: a limit on instantaneous velocity that can never be rewritten as a rule about position alone, which is exactly what makes it nonholonomic. A car and a differential-drive robot live under the same rule, which is why parallel parking takes a careful little dance.

Why bother with the distinction? Because it tells you how hard path planning will be, and what counts as a holonomic robot. A holonomic robot — like an omnidirectional drive, which is free of any such velocity restriction and can scoot in any direction at any instant — can be steered straight to its goal along the most obvious line, so planning its motion is easy. A nonholonomic robot can reach the same goal but must obey its moment-to-moment limits along the way, so its planner has to thread together a sequence of allowed wiggles and curves. Recognizing which kind of constraint a robot faces is the first thing an engineer checks before deciding how to make it move.

Asked to move one meter to its right, an omnidirectional robot just slides there in a straight line, while a differential-drive robot must turn, drive forward, and turn back — both reach the spot, but only one was free to go straight at it.

Same destination, very different freedom to get there.

Roughly: a holonomic robot can move instantaneously in as many directions as it has degrees of freedom; a nonholonomic one has fewer instantaneous moves than its reachable positions would suggest.

Also called
holonomic constraintnonholonomic constraint完整性约束非完整性约束