Code Monkey home page Code Monkey logo

motion-planning-projects's Introduction

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

motion-planning-projects's People

Contributors

nicholasrenninger avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

yinhaolin-bot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.