← All Modules|Mobile Robotics

2 Mobile Robot Kinematics and the Perception-Action Loop

robotics
control
physical-world

2.1 Overview: Close the Loop Before Choosing the Motion Model

A mobile robot is not just a moving mechanism. It is a system that repeatedly observes the world, decides what the observations mean, selects an action, and discovers what that action changed. The perception-action loop is the basic building block of autonomy because every useful robot behavior must close this cycle.

1. Perceive

Measure the robot and its environment.

2. Estimate

Turn measurements into a usable state.

3. Decide

Select a control action or planned motion.

4. Act

Drive the mechanism and change the world.

The loop can be organized in three increasingly stateful ways:

  • A reactive controller maps current sensor readings directly to an action. It is fast, but it has no internal account of what happened before.
  • A reactive controller with memory adds state variables or a filter. The action can depend on a history summarized into the current estimate.
  • A deliberative controller predicts future states and plans a sequence of actions before committing to one.

These are architectural choices, not a ranking from bad to good. A collision reflex may need to be reactive even inside a robot whose route planner is deliberative.

2.1.1 Two Independent Sensor Axes

Robot sensors are classified along two different axes. Do not collapse them into one list.

Proprioceptive

Measures the robot's own body or internal state: motor speed, joint angle, or battery voltage.

Exteroceptive

Measures the environment around the robot: range, light intensity, or an observed object.

Passive

Receives ambient energy without deliberately illuminating the scene: a camera, microphone, or temperature probe.

Active

Emits energy and measures the response: ultrasonic ranging or an infrared proximity measurement.

A sensor can occupy one category on each axis. An active wheel encoder is proprioceptive because it measures the robot, while an active ultrasonic ranger is exteroceptive because it measures the environment. The hardware mechanism does not decide the information role by itself.

2.1.2 Degrees of Freedom and Controllability

A degree of freedom (DOF) is one independent coordinate needed to describe motion. A motor shaft controls one rotational DOF; a plotter carriage controls one translational DOF. A robot pose on a flat floor normally needs three coordinates, (x,y,θ)(x,y,\theta), even if the platform has only two independent motor commands.

That comparison produces the core classification:

  • Holonomic: controllable DOF equals total DOF. The robot can command every instantaneous motion the state description allows.
  • Non-holonomic: controllable DOF is smaller than total DOF. A differential-drive robot has a sideways coordinate but cannot instantaneously slide sideways.
  • Redundant: controllable DOF exceeds the task’s required DOF. More than one actuator combination can produce the requested task motion.

Uncertainty remains inside every class. Wheels slip, mechanisms carry slack, inexpensive circuits add sensor noise, and the world moves between observations. Kinematics describes the intended geometry; feedback is what keeps that geometry useful in reality.

2.2 Practitioner: Turn Wheel Speeds into a Motion Contract

For a differential-drive robot, let each wheel have radius rr, let the wheels be separated by axle length dd, and let their angular speeds be ϕ˙l\dot{\phi}_l and ϕ˙r\dot{\phi}_r. The mechanism turns two actuator inputs into two body-frame motion quantities:

$$ u=\frac{r}{2}\left(\dot{\phi}_r+\dot{\phi}_l\right),\qquad \omega=\frac{r}{d}\left(\dot{\phi}_r-\dot{\phi}_l\right) $$

The average wheel speed gives forward velocity uu. The wheel-speed difference gives angular velocity ω\omega. From those equations you can read three useful operating modes without memorizing a table:

  • If both wheels turn forward at the same speed, ω=0\omega=0 and the robot drives straight.
  • If the right wheel is faster, ω>0\omega>0 under the stated sign convention and the robot curves left.
  • If the wheels turn at equal and opposite speeds, u=0u=0 and the robot rotates in place.

In the robot’s body frame, the non-holonomic constraint is explicit:

x˙B=u,y˙B=0,θ˙B=ω.\dot{x}_B=u,\qquad \dot{y}_B=0,\qquad \dot{\theta}_B=\omega.

The zero is load-bearing. It says the drive can create no instantaneous lateral velocity. A path planner may still move the robot to a point beside it, but only through a sequence of forward motion and turns.

2.2.1 Inverse Kinematics: Ask for Feasible Motion

Inverse kinematics runs the contract in the other direction. Given a feasible forward velocity uu and angular velocity ω\omega, command:

$$ \dot{\phi}_l=\frac{u-\omega d/2}{r},\qquad \dot{\phi}_r=\frac{u+\omega d/2}{r}. $$

Suppose r=0.05 mr=0.05\ \text{m}, d=0.30 md=0.30\ \text{m}, u=0.40 m/su=0.40\ \text{m/s}, and ω=0.80 rad/s\omega=0.80\ \text{rad/s}. Then:

ϕ˙l=0.40(0.80)(0.30)/20.05=5.6 rad/s\dot{\phi}_l=\frac{0.40-(0.80)(0.30)/2}{0.05}=5.6\ \text{rad/s}

ϕ˙r=0.40+(0.80)(0.30)/20.05=10.4 rad/s.\dot{\phi}_r=\frac{0.40+(0.80)(0.30)/2}{0.05}=10.4\ \text{rad/s}.

The right wheel must turn faster, which agrees with the intended positive turn. This sign-and-shape check catches command swaps before a numerical test does.

2.2.2 Open Loop or Closed Loop?

After a planner produces a path, the controller still has to follow it.

Open-loop path following

Replay precomputed commands without observing whether the robot remains on the path. The result depends on the model and disturbances staying as expected.

Closed-loop path following

Move briefly, observe the new state, compare it with the path, and recompute. Wheel slip, sensor error, and moving obstacles become evidence for the next command.

Closed loop is more robust because it makes model error visible. It does not make the sensor estimate perfect, nor does it guarantee a feasible replanned path. A production motion contract should therefore record the state estimate used, command limits, update rate, saturation behavior, and the safe response when perception becomes stale.

2.3 Under the Hood: Rotate Frames, Respect Constraints, Plan Curvature

Body-frame motion becomes world-frame motion by rotating the translational axes through heading θ\theta:

$$ \begin{bmatrix}\dot{x}\\\dot{y}\\\dot{\theta}\end{bmatrix} = \begin{bmatrix} \cos\theta & -\sin\theta & 0\\ \sin\theta & \cos\theta & 0\\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix}u\\0\\\omega\end{bmatrix} = \begin{bmatrix}u\cos\theta\\u\sin\theta\\\omega\end{bmatrix}. $$

The inverse rotation gives u=x˙cosθ+y˙sinθu=\dot{x}\cos\theta+\dot{y}\sin\theta and ω=θ˙\omega=\dot{\theta}, but it does not erase the mechanism’s constraint. A commanded world velocity must still satisfy:

x˙sinθ=y˙cosθ.\dot{x}\sin\theta=\dot{y}\cos\theta.

That equation is why an apparently simple pose-error controller cannot independently command arbitrary x˙\dot{x} and y˙\dot{y} for a differential drive. The planner must produce a curve whose tangent follows the robot’s heading.

2.3.1 Goal Poses and Cubic Bezier Curves

A cubic Bezier path offers one construction. Let p1=(x,y)p_1=(x,y) be the current position and p4=(xG,yG)p_4=(x_G,y_G) the goal. Choose the inner control points along the current and goal headings:

p2=(x+K1cosθ, y+K1sinθ)p_2=(x+K_1\cos\theta,\ y+K_1\sin\theta)

p3=(xG+K2cosθG, yG+K2sinθG).p_3=(x_G+K_2\cos\theta_G,\ y_G+K_2\sin\theta_G).

The curve B(tp1,p2,p3,p4)B(t\mid p_1,p_2,p_3,p_4) now leaves along the current orientation and arrives along the target orientation. Its curvature supplies the turn-rate schedule. This does not automatically make every choice of K1K_1 and K2K_2 safe: curvature, wheel-speed, obstacle-clearance, and acceleration limits still have to be checked.

2.3.2 Compare Models by State and Control Rank

Platform
Pose state
Control inputs
Key constraint
Differential drive
(x,y,θ)(x,y,\theta): 3 DOF
Forward and angular velocity: 2 controllable DOF
No instantaneous lateral velocity
Bicycle model
(x,y,θ)(x,y,\theta): 3 DOF
Speed $v$ and steering angle ϕ\phi: 2 controllable DOF
θ˙=vtanϕ/L\dot{\theta}=v\tan\phi/L couples turning to forward motion
Quadrotor
Position plus roll, pitch, yaw: 6 DOF
One body-force and three body-moment inputs: 4 controllable DOF
Translation and attitude are dynamically coupled

All three examples are non-holonomic or underactuated in the immediate sense shown: the state has more independent coordinates than the actuator input vector. Their equations differ because their mechanisms differ. Reusing a differential-drive controller on a bicycle or quadrotor is not abstraction; it is a model mismatch.

2.4 Summary

  • The perception-action loop connects sensing, estimation, decision-making, and physical action.
  • Proprioceptive/exteroceptive and passive/active are separate sensor-classification axes.
  • A differential drive has three planar pose coordinates but only two independently controllable instantaneous motions.
  • Forward kinematics predicts motion from wheel speeds; inverse kinematics maps feasible body motion back to wheel commands.
  • Closed-loop following repeatedly measures and replans because kinematics alone cannot remove disturbance or uncertainty.

2.5 Key Takeaway

A useful mobile-robot controller starts with an honest motion model. State what the robot can measure, what its actuators can command, and which velocities its mechanism forbids; then close the loop around that contract.

2.6 See Also