A robot arm reaching into a cluttered bin. A mobile platform navigating a warehouse where forklifts appear without warning. A surgical manipulator threading through anatomy that shifts with each breath. These are motion planning problems, and they share a deceptively simple requirement: find a path from start to goal without hitting anything.
The difficulty scales quickly. A six-axis manipulator operates in a six-dimensional configuration space. Add a mobile base and you gain three more dimensions. Add dynamic obstacles and the space becomes time-varying. Exhaustive search collapses under this complexity within milliseconds.
Modern robotics addresses this through a layered approach: reformulate the geometry, sample intelligently, and approximate aggressively when execution demands it. Understanding these layers—configuration space representations, planning algorithm families, and real-time compromises—separates systems that reliably operate in the real world from those that only work in simulation.
Configuration Space: Where Obstacles Become Shapes You Can Reason About
Configuration space, or C-space, is the set of all possible poses a robot can assume, parameterized by its joint variables. A planar two-link arm has a two-dimensional C-space defined by joint angles θ₁ and θ₂. A KUKA KR6 has a six-dimensional C-space. The workspace obstacle—a table, a wall, a moving conveyor—maps into C-space as a forbidden region called C-obstacle.
The critical insight is representational. In workspace, checking whether a robot collides with an obstacle requires evaluating geometric intersection between complex mesh geometries at every configuration. In C-space, collision becomes a point-in-set query: is the current configuration inside C-obstacle or in C-free? The complexity of the robot geometry gets absorbed into the C-obstacle boundary, computed once and reused.
In practice, explicit C-obstacle construction is intractable beyond three or four dimensions. Modern planners therefore treat C-space implicitly: they sample configurations and query a collision detector like FCL or Bullet to classify each point. The C-space becomes an oracle rather than a stored map, which is what makes sampling-based planning practical for high-DOF systems.
Additional constraints layer onto C-space naturally. Joint limits define box constraints. Self-collision defines further C-obstacles. Kinematic loops for closed-chain mechanisms restrict motion to lower-dimensional manifolds. This unified representation is what allows a single planner to handle geometry, mechanics, and task constraints simultaneously.
TakeawayThe right coordinate system does not just simplify the math—it changes what problems are tractable. Reframing obstacles from workspace geometry to configuration-space regions turns collision avoidance into a search problem instead of a geometry problem.
Planning Algorithms: Trees, Roadmaps, and Trajectory Optimization
Sampling-based planners dominate practical robotics because they sidestep explicit C-space construction. The Rapidly-exploring Random Tree (RRT) grows a tree from the start configuration by drawing random samples, finding the nearest tree node, and extending toward the sample if the connecting motion is collision-free. RRT-Connect grows trees from both start and goal, dramatically accelerating convergence in narrow passages.
Probabilistic Roadmaps (PRM) invert the strategy. In a preprocessing phase, PRM samples many configurations, connects nearby valid samples with local paths, and builds a graph of C-free. Queries then become graph searches. PRM excels when the same environment is queried repeatedly—think a warehouse robot planning hundreds of picks against a mostly static shelf layout.
Neither vanilla RRT nor PRM produces optimal paths. RRT* and PRM* remedy this by rewiring the graph as new samples arrive, converging asymptotically to shortest paths under a chosen cost metric. The tradeoff is clear: more computation for smoother, shorter trajectories that execute better on real hardware.
Optimization-based methods like CHOMP, STOMP, and TrajOpt take a different route. They initialize a trajectory—often a straight line in C-space—and iteratively deform it to minimize a cost combining path length, smoothness, and obstacle proximity. These methods produce dynamically feasible trajectories directly but require good initialization and can get trapped in local minima around thin obstacles.
TakeawayAlgorithm choice is a bet on problem structure: sampling wins when the environment is unknown or high-dimensional, roadmaps win when it is reused, and optimization wins when smoothness matters more than global optimality.
Real-Time Considerations: When Milliseconds Redefine the Problem
Offline planning assumes the world stands still. Real robots operate in environments where humans walk in, pallets shift, and sensor readings arrive noisy at 30 Hz. The planner must produce a response within the control loop's deadline—often 10 to 100 milliseconds for reactive behavior. This constraint reshapes every algorithmic choice.
One common strategy is receding-horizon planning. Rather than computing a complete path to the goal, the planner produces a short trajectory over the next second or two, executes the first segment, and replans as new sensor data arrives. Model Predictive Control frameworks integrate this loop tightly, treating obstacle avoidance as a constraint in a rolling optimization.
For fully reactive obstacle avoidance, methods like Dynamic Window Approach, velocity obstacles, and artificial potential fields bypass global planning entirely. They compute an instantaneous velocity command that respects local obstacles and kinematic limits. These methods are fast enough for real-time execution but sacrifice completeness—they can stall in local minima that a global planner would resolve.
Hybrid architectures resolve this tension. A slow global planner runs at 1 to 5 Hz, providing a nominal path. A fast local planner runs at 50 to 100 Hz, deforming that path around unexpected obstacles. GPU-accelerated collision checking and precomputed distance fields make the local layer feasible. The architecture mirrors biological motor control: deliberate planning above, reflexive correction below.
TakeawayReal-time systems trade optimality for responsiveness by design. A perfect plan delivered late is worse than a good plan delivered on time, because the world the perfect plan solved no longer exists.
Motion planning under constraints is not a single algorithm but a stack of design decisions. Configuration space provides the language. Sampling and optimization provide the search machinery. Real-time architectures provide the discipline to deploy them against a moving world.
The engineering skill lies in matching methods to context. A surgical robot demands optimization for smoothness. A warehouse AMR demands roadmaps for reuse. A collaborative arm demands reactive layers for safety. No planner is universal.
The systems that succeed in production are rarely the ones with the most elegant algorithm. They are the ones whose planning stack respects the physics, the deadlines, and the failure modes of the environment they actually inhabit.