Skip to content

nicholasRenninger/Motion-Planning-Projects

Repository files navigation

Motion Planning Projects

A repo containing all of my motion planning algorithm projects.

Tool Class Hierarchy

This diagram shows the notional, evolving class design for the underlying project framework:

This repo contains implementations of Bug Algorithms and a Forwards / Inverse Kinematics solver for a 3-link manipulator.

Results of the implentation include:

  • plots of the path performance of the different bug planning algorithms on multiple environments
  • plots of the results of running forwards / inverse kinematics on a user specified 2-link manipulator
Bug 1 Algorithm Bug 2 Algorithm 3-Link Manipulator

Implementation of a 2-D 2DoF manipulator configuration space visualizer, as well as implementations of a gradient descent and wavefront planner for this manipulator.

Results of the implentation include:

  • C-Space visualizer for a translating, rotating robot and obstacle of the same polygonal shape
  • Gradient descent planner path visualization for a point robot in multiple enviroments, including those from the bugAlgorithms_and_kinematics repo.
  • Wavefront planner path visualization for a point robot in multiple enviroments, including those from the bugAlgorithms_and_kinematics repo.
  • C-Space visualizer for a 2-link manipulator with arbitrary polygonal obstacles
  • Wavefront planner workspace path for the 2-link manipulator
2-Link Manipulator Plan Viz. 2-Link Manipulator C-Space Potential Gradient Planner

Implementation of the A* and Dijkstra optimal graph search algorithms, a Fast Probabilistic Roadmap (PRM) Planner with path smoothing, and a benchmarking suite for doing parametric performance evaluation of the planners modules.

Built with a networkx Graph backbone and library implementations of:

  • Set-Priority Queue (based on heapq)
  • KDTree (based on cKDTree)
  • Union-Find (based on newtorkx.util)

ADTs for speed.

Results of the imlementation include:

  • Visualization and implementation of the A and Dijkstra Optimal Search Algorithms*
  • Smoothing PRM Planner path visualization for a point robot in multiple enviroments, including those from the cSpaceViz_Gradient_Wavefront_planners repo.
  • Benchmarking and statistical analysis / visualization of the Smoothing PRM Planner in multiple enviroments, with the ability to do parametric studies of planner parameters.
PRM Planner Path Length Benchmarking Computation Time Benchmarking

Releases

No releases published

Packages

No packages published