CrackRobotics

Motion Planning

Put a wall on the table and build the sampling-based planning stack used by MoveIt and OMPL: configuration space, edge checking, RRT, path shortcutting and probabilistic roadmaps.

Start the lesson0/5 steps done

What you'll learn

Before you start

You should be comfortable with basic Python: variables, loops and functions. We'll introduce the robotics and the maths as you go. The first visit downloads the physics engine and Python, about 20 MB, and later visits load from your browser's cache.

Steps

  1. 1Configuration spaceSee the wall the way a planner does: as a forbidden region in the space of joint angles.Configuration spaceC-space obstaclesCollision checkingOpen
  2. 2Is the straight line safe?Two safe poses can still have a crash between them. Check the whole motion, finely enough that nothing slips through.Edge validationResolutionConservative checksPro
  3. 3Rapidly-exploring random treesGrow a tree of collision-free motions through joint space until it reaches the goal, then follow it.RRTSamplingGoal biasPro
  4. 4Shorter, smoother pathsRRT paths wander. Cut out the detours with random shortcuts, then drive the result.Path smoothingRandom shortcuttingPath lengthPro
  5. 5Pick & place with a plannerPut the planner to work: plan every transit of a pick-and-place task around the wall, on a new layout every run.Planning in a taskRe-planningRobustnessPro
  6. ★Bonus: Build once, query manySample a roadmap of safe motions once, then answer every transit with a graph search.Probabilistic roadmapsDijkstra's algorithmMulti-query planningPro