ENGINEER · PILOT · BUILDER

Robotics · 2024

Robot Planning & Decision-Making

Sampling-based motion planning for a point robot and an oriented L-shaped body, supported by a compact grid-world decision-making study.

Project type
Motion-planning and decision-making studies · RRT notebooks with a supporting MDP study
Role
RRT implementation with Mark Charnot; MDP notebook individual
Maturity
RRT notebooks + supporting MDP study
Collaboration
Seif Elkhashab and Mark Charnot on RRT; value and policy iteration individual
Sampling-based paths
RRT
Position and orientation
Rigid body
Geometry-aware planning
Collision checks
Grid-world decisions
Dynamic programming
Read the point-robot RRT notebook
01

The goal

This project explored two sides of robot autonomy. The main study built sampling-based motion planners, progressing from a point robot moving around obstacles to an L-shaped body that also had to rotate through a narrow passage. A smaller grid-world exercise compared value iteration and policy iteration as a complementary study in decision-making under uncertainty.

SYSTEM ARCHITECTURE

Point-robot RRT

sample → find nearest node → steer → check collisions → recover path

A goal-biased RRT expanded through a cluttered 2D workspace. Candidate edges were rejected when they crossed an obstacle, and a feasible route was recovered by tracing parent links once the tree reached the goal.

Oriented L-body RRT

sample position and angle → transform body → check its edges → extend tree

The planner was extended to include orientation and the full outline of an L-shaped body. Every candidate pose transformed the body geometry before collision testing, allowing the planner to find a route that rotated through a constrained opening.

Supporting 4 × 4 MDP

model uncertain moves → update state values → extract policy → compare methods

A stochastic grid world provided a compact test of decision-making with uncertain motion. Value iteration and policy iteration were implemented from the same transition and reward model and produced the same final route around the obstacle.

02

Development

  1. STAGE 01

    Grow a point-robot tree to the goal

    Implemented goal-biased RRT expansion, nearest-node search, bounded steering, obstacle checks, and parent-based path recovery.

  2. STAGE 02

    Study planning parameters in clutter

    Tested the point planner in simple and randomly cluttered maps, then compared runtime across obstacle counts and steering step sizes.

  3. STAGE 03

    Plan for an L-shaped body in (x, y, θ)

    Extended the planner from points to full poses, transforming the L-shaped body at every sample before checking its edges for collisions.

  4. STAGE 04

    Solve the 4 × 4 MDP with value iteration

    Implemented value iteration and policy iteration on the same stochastic grid model, then compared their resulting policies and runtime.

03

The hardest parts

A point path is not a robot path

A route that clears an obstacle as a line can still be impossible for a finite body. Adding orientation required transforming the complete L-shaped outline and testing its edges at every candidate pose, making collision checking a central part of the planner rather than a simple boundary test.

Planning parameters change both speed and reachability

Larger steering steps were faster on the tested maps, while smaller steps produced more variable runtimes. Because RRT is stochastic and coarse steps can miss useful configurations, these results show a project-specific tradeoff rather than a universally best setting.

The two studies answer different planning questions

RRT searched continuous geometry for a feasible path, while the grid-world methods selected actions from a known stochastic model. Keeping them separate makes the scope clear: one demonstrates motion-planning implementation; the other demonstrates dynamic-programming fundamentals.

04

Results

  • The point-robot planner recovered collision-free paths in both a single-obstacle map and a randomly cluttered field.
  • A parameter sweep showed how obstacle count and steering step size affected runtime on the tested maps.
  • The oriented-body planner rotated an L-shaped footprint through a narrow wall opening without intersecting the obstacles.
  • Value iteration and policy iteration produced the same obstacle-avoiding route in the stochastic grid world.
05

What I learned

Representing the robot as a finite body changed both the state space and the collision-checking problem; a valid point path was no longer enough.

Planner settings have geometric consequences. Faster expansion on one map does not guarantee better exploration or clearance on another.

RRT and dynamic programming address different layers of autonomy: one searches for feasible motion, while the other chooses actions from a known model.

06

Technical archive

NEXT PROJECT / 10

Pendulum Fidget Product Prototype