The Unicycle Model and Nonholonomic Constraints
Many wheeled robots can drive forward or backward and can turn, but cannot slide sideways, because their wheels would have to skid. This limit on velocity, not on position, is called a nonholonomic constraint. The robot can still reach any pose, just not directly.
The unicycle model
With pose \((x, y, \theta)\), forward speed \(v\), and turn rate \(\omega\):
No choice of \(v\) and \(\omega\) gives sideways motion. That is the constraint:
What to notice
Press "Try to move sideways": nothing happens, since the wheels only roll along the heading. Yet the robot can still end up sideways from where it started, by combining moves, as the parking maneuver shows. This is what "nonholonomic" means: the constraint limits how you can move at each instant, but not where you can eventually get.
A differential drive robot, like a TurtleBot, follows this model. It matters for planning: the shortest path for such a robot is not a straight line to the goal, and planners have to respect the constraint.