A two-wheeled robot where each wheel is independently driven. The wheels share a common axle and the robot pivots about a point on that axle.
| Symbol | Code name | Description |
|---|---|---|
wheel_radius_m |
Wheel radius | |
track_width_m |
Distance between the center of the two wheels |
-
$v$ — forward linear velocity of the body center (positive = forward) -
$\omega$ — angular velocity about the body center (positive = counter-clockwise / left turn) -
$\omega_L, \omega_R$ — angular velocities of the left and right wheels (positive = forward rolling)
Each wheel's ground speed is its angular velocity times the wheel radius:
The body center lies midway between the wheels, so its linear velocity is the average of the two ground speeds:
The angular velocity comes from the velocity difference across the track width. The right wheel is at
Solve the forward equations for the wheel ground speeds:
Then convert to wheel angular velocities:
| Condition | Behavior |
|---|---|
| Straight line ( |
|
| Spin in place ( |
|
| One wheel stationary | Pivot about that wheel |
The ICR lies on the wheel axle at a signed distance from the body center:
When the robot drives straight, the ICR is at infinity. When spinning in place, it is at the origin.
Add diagrams to the readme for visualization