Path vs. Trajectory
Two fundamental concepts in robot motion planning are often confused:
Path: A geometric description of motion — a locus of points in configuration space (C-space) or Cartesian space that the robot traverses. A path has no time information — it only describes where the robot goes, not when.
Trajectory: A path with an associated time law — specifying when the robot reaches each point along the path. A trajectory includes position, velocity, and acceleration as functions of time: q(t), q̇(t), q̈(t).
Why the distinction matters: The path determines which configurations are visited (collision avoidance, reachability). The trajectory determines the forces/torques required (dynamics) and whether speed/acceleration limits are respected.
Example: A welding robot follows the same geometric path on each pass, but may execute it at different speeds (trajectories) depending on material thickness and desired weld quality.
Motion Planning Algorithms
Configuration Space (C-Space): A mathematical space where each point represents a unique robot configuration. An n-DOF robot has an n-dimensional C-space. Obstacles in physical space map to forbidden regions (C-obstacles) in C-space.
Classical Planning Algorithms:
Grid-based Methods (A, Dijkstra):* Discretize C-space into a grid. A* uses a heuristic to guide search toward goal. Guaranteed complete and optimal (for admissible heuristics). Computationally expensive for high-dimensional spaces.
Sampling-Based Methods:
- RRT (Rapidly-exploring Random Tree): Builds a tree by randomly sampling C-space and extending toward samples. Probabilistically complete. RRT* adds rewiring for asymptotic optimality
- PRM (Probabilistic Roadmap Method): Two phases: (1) Build roadmap by connecting random samples; (2) Query roadmap for start-to-goal paths. Excellent for multi-query planning in static environments
Potential Field Methods: End-effector attracted to goal by artificial potential well, repelled from obstacles by repulsive potential. Fast but can get stuck in local minima.
Modern AI-based Planning:
- Neural networks learn collision-free policies from demonstrations
- Diffusion models generate entire trajectories at once
- LLMs decompose high-level tasks into motion primitives
Trajectory Generation: Polynomial Profiles
Trajectory generation creates smooth q(t) satisfying boundary conditions and constraints:
q(t) = a₀ + a₁t + a₂t² + a₃t³ + a₄t⁴ + a₅t⁵
Cubic polynomial (4 constraints: q₀, qf, q̇₀, q̇f): q(t) = a₀ + a₁t + a₂t² + a₃t³ • q̇(t) = a₁ + 2a₂t + 3a₃t² • q̈(t) = 2a₂ + 6a₃t Quintic polynomial (6 constraints: adds q̈₀, q̈f): q(t) = a₀ + a₁t + a₂t² + a₃t³ + a₄t⁴ + a₅t⁵ • Ensures continuous acceleration — important for vibration-free motion Trapezoidal (Bang-coast-bang) velocity profile: Phase 1: Constant acceleration (q̈ = amax) Phase 2: Constant velocity (q̈ = 0) Phase 3: Constant deceleration (q̈ = -amax) • Minimizes travel time for given velocity/acceleration limits • Common in industrial point-to-point motion
Choosing the right profile balances smoothness, speed, and dynamic feasibility
Trajectory Planning in Joint Space vs. Cartesian Space
| Aspect | Joint Space Planning | Cartesian Space Planning |
|---|---|---|
| Description | Interpolate joint angles directly | Interpolate end-effector position/orientation |
| Path shape | Unpredictable in Cartesian space | Straight lines, arcs (predictable) |
| Singularity handling | Natural avoidance possible | May pass through singularities — problematic |
| Joint limits | Easy to respect | Hard to guarantee in advance |
| Computation | Simple interpolation | Requires IK at every time step |
| Use case | Point-to-point motion, no obstacle concerns | Welding seams, precision assembly, gluing |
| Standard | Default for most industrial robots | Required for tool-path following (PTP vs. LIN/CIRC) |
Robot Control Strategies
Position Control (PD/PID): The most basic control: minimize error between desired and actual joint position. τ = Kp(qd - q) + Kd(q̇d - q̇) + Ki∫(qd - q)dt PID is robust and widely used but ignores robot dynamics — performance degrades at high speeds or with large payloads.
Computed Torque Control (Model-Based): Cancels nonlinear dynamics using the robot dynamic model, then applies linear PD control to the residual: τ = M(q)[q̈d + Kd(q̇d - q̇) + Kp(qd - q)] + C(q,q̇)q̇ + G(q) Excellent tracking performance but requires accurate dynamic model.
Impedance Control: Instead of controlling position precisely, control the relationship between force and displacement: F = Md(ẍ - ẍd) + Bd(ẋ - ẋd) + Kd(x - xd) Creates a virtual spring-mass-damper between robot and environment. Ideal for compliant contact tasks.
Force Control: Directly regulate contact forces using a force/torque sensor. Used in precision assembly, grinding, polishing, medical procedures.
Adaptive Control: Controller parameters adapt online to compensate for unknown or changing dynamics — payload variations, wear, environmental changes.
Key Concepts in Trajectory Execution
- 01
Via Points: Intermediate waypoints the robot must pass through. Polynomial segments connect via points; junction conditions determine smoothness (C1, C2 continuity)
- 02
Time Scaling: Separating path geometry from time law — allows changing speed of motion without changing the geometric path
- 03
Joint Velocity/Acceleration Limits: Physical constraints on motors that must be respected; violated limits cause tracking errors or servo faults
- 04
Online vs. Offline Planning: Offline planning precomputes full trajectory before execution; online planning adapts in real-time to dynamic obstacles or sensor feedback
- 05
Minimum Jerk Trajectory: Minimizes the third derivative of position (jerk) — produces the smoothest, most natural-looking motion; used in humanoid robotics and HRI
- 06
Dynamic Feasibility: A geometrically valid path may require infeasible accelerations — time-optimal rescaling (TOPP-RA algorithm) finds the fastest feasible time scaling
- 07
Trajectory Blending: At via points, stopping and restarting wastes time — blending creates smooth transitions through intermediate points using polynomial or circular blends