CDF-MPPI on a two-link robot

The configuration-space distance field (right) is recomputed live from the obstacles (left). CDF-MPPI (red) samples one step ahead and uses the field's gradient to slide around obstacles in joint space. The MPPI baseline (dark, dashed) rolls sampled control sequences out 50 steps and scores them with goal, collision, joint-limit and progress costs. Drag the obstacles, or the start and goal poses, and both planners restart.

Workspace · drag obstacles or the arm tips

Configuration space · CDF, drag ○ start / ★ goal

CDF-MPPI (ours, horizon 1)

–

MPPI (original, horizon 100)

–
Scenes

Drag an obstacle to move it, drag on empty space to draw a new one, double-click to delete it. Drag the tip of the grey (start) or gold (goal) arm, or the ○ and ★ in configuration space.

What is happening

The configuration-space distance field (CDF) gives, for every joint configuration q, the distance in joint space to the nearest configuration where the robot touches an obstacle. Here it is rebuilt on every change: the robot's collision state is evaluated on a 200×200 grid over [−π, π]², the zero level set is located by bisection on the analytic signed distance, and the field is the distance to that set.

CDF-MPPI samples 200 joint velocities per step and scores each by two angles: its angle to the direction of the goal, and, when the obstacle term is active, its angle to the CDF gradient if that angle exceeds 90° (the sample heads into the obstacle). The obstacle term is active when the obstacle is closer than the goal and within an activation distance. That distance grows when the goal direction points into the obstacle, dact + αh·max(−g·ê, 0), a rate-aware rule borrowed from control barrier functions that switches avoidance on before a fast head-on approach. Because the gradient already says which way is free, a one-step horizon is enough.

The baseline is the finite-horizon MPPI from the thesis appendix: 200 control sequences over a horizon of H steps (H = 50 in the thesis; switch it above), a terminal goal cost, CDF collision and joint-limit costs along the rollout, and a penalty for standing still. Its grey lines in configuration space are the rollouts it is weighing at the current step; CDF-MPPI's red rays are its one-step samples. All weights, sample counts and dt = 0.01 follow the thesis. Code: github.com/Rin-Li/cdf_mppi · Paper: arXiv:2509.00836 (ICRA 2026)