Robot motion planning

A path through
the possibilities.

RRT and PRM explore how a robot can find a route through a two-dimensional environment.

01 · Sample

Explore before
you commit.

RRT grows a tree through sampled points, steering toward new configurations and checking the connecting edges.

02 · Connect

Build a map
of what is possible.

PRM constructs a roadmap. A* searches its connections for a route between a start and a goal.

03 · Follow

One route.
Many decisions.

The highlighted route explains the planning idea. This new illustration is separate from the repository’s recorded output.

04 · Evaluate

54 configurations.
Better questions.

The harness covers 27 RRT and 27 PRM parameter configurations. Historical benchmark results have not been independently reproduced.

A three-dimensional explanatory map with obstacles, a growing search tree and a highlighted path.
ROBOT MOTION PLANNINGIllustrative planning scene · not a recorded benchmark
Read the case study
Scroll or use arrow keys on the slider

Course project · ROBO 201 / 202 · Fall 2025

Robot Motion Planning

Exploring how a robot finds its way through obstacles.

PythonRRTPRMA* search

01 / Purpose

What we set out to do.

Explore how sampling-based algorithms construct a collision-free route between a start and a goal in a two-dimensional environment.

02 / Approach

How it came together.

The RRT implementation grows a tree through sampled points, steering and checking connections for collisions. PRM constructs a roadmap and uses A* to search for a route. A test harness covers 27 RRT and 27 PRM parameter configurations.

03 / Contribution

The work, and the team.

I implemented planning code within a course assignment structure. Repository history records my work, while the assignment’s provided interface remains part of that foundation.

04 / Demonstration

What the visuals show.

Planner visualizations show sampled nodes, connections, obstacles, and the selected path. The 3D extension demonstrates free-space planning; it does not include a demonstrated 3D obstacle-avoidance model.

05 / Results

What we can say.

The repository records benchmark outputs across 54 configurations. Those records have not been independently reproduced for this portfolio. They are parameter configurations, not 54 repeated controlled trials.

06 / Limitations

Where the limits are.

The inspected harness does not establish seeded repeated runs or identical obstacle environments across all parameter settings. Some plotting values are hardcoded, so these figures do not support statistical or average-performance claims.

07 / Lessons learned

What I’m taking forward.

Algorithm visualizations help explain behavior, while fair performance comparisons also require reproducible environments and repeated measurements.

Next project

Model T42 Robotic Gripper

Visual sources & attribution

Blender visuals explain the projects. Balancing-robot geometry, the planning environment, Flowra interface and AURORA lander are original illustrative concepts made for this portfolio. Their movement, example text and layouts are not recorded results, original course CAD, production screenshots or gameplay.

The T42 scene uses Yale OpenHand Model T42 CAD from the OpenHand repository, licensed CC BY-NC 3.0. The assembly, materials, actuator housings, tendon path and deformation are illustrative. Cast contact materials are not reconstructed.

R. R. Ma, L. U. Odhner, A. M. Dollar, “A Modular, Open-Source 3D Printed Underactuated Hand,” ICRA 2013.

The Yale OpenHand Project is an initiative to advance the design and use of robotic hands designed and built through rapid-prototyping techniques in order to encourage more variation and innovation in mechanical hardware. Please visit the Yale OpenHand site for more details.