STOMP
AdvancedA gradient-free trajectory optimizer that samples noisy trajectories around an initial guess and updates it by cost-weighted averaging.
STOMP was proposed by Mrinal Kalakrishnan, Sachin Chitta, Evangelos Theodorou, Peter Pastor, and Stefan Schaal at ICRA 2011 as a trajectory optimization method. It starts from an initial trajectory, which may pass straight through obstacles, and each round adds noise around it to generate several candidate trajectories; it computes per-waypoint costs such as collision, constraint violation, and smoothness, then combines the noise into an update weighted so lower-cost trajectories count for more, iterating toward a smooth, collision-free result. STOMP is derived from PI², a path-integral method from reinforcement learning, and it needs no gradient of the cost function, so it can incorporate costs — like torque, energy, or end-effector orientation — that are hard to differentiate. Compared with the gradient-based CHOMP, STOMP's randomness makes it less prone to getting stuck in local optima and needs less tuning; compared with OMPL's sampling-based planners, it is usually slower but produces smoother trajectories that often need no further smoothing afterward.
ExampleMoveIt implements STOMP as a planner plugin. Its behavior is set by parameters such as num_rollouts (how many noisy trajectories to generate per round), stddev (the noise magnitude per joint), and cost functions such as CollisionCheck and ObstacleDistanceGradient.
- Also called
- Stochastic Trajectory Optimization for Motion Planning
- Related
- Covariant Hamiltonian Optimization for Motion Planning · TrajOpt · Trajectory Optimization · Motion Planning · MoveIt Motion Planning Framework · Model Predictive Path Integral Control
- Sources
- MoveIt 2 文档:STOMP Planner (Chinese)
MoveIt 1 教程:STOMP Planner(引用 Kalakrishnan et al. ICRA 2011) (Chinese)