Coder Social home page Coder Social logo

nicholasrenninger / bugalgorithms_and_kinematics Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 1.0 958 KB

Implementation of Bug Algorithms and Basic Forwards / Inverse Kinematics Equations.

Python 100.00%
bug-algorithms motion-planning-algorithms inverse-kinematics manipulator visualization forward-kinematics motion-planning

bugalgorithms_and_kinematics's Introduction

Motion Planning - Bug Algorithms and Kinematics

For optimal viewing of this document (and all *.md files), try opening it in a text editor that supports syntax highlighting for markdown *.md files (e.g. Sublime Text 2+).

Implementation of Bug Algorithms and Basic Forwards / Inverse Kinematics Equations. 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

Nicholas Rennninger


How to Run the Code

This repository uses python 3, which is managed with an anaconda environment.

Dependencies

In order to obtain all dependencies, you simply need to install anaconda for your OS, and then run from any shell with the conda command on its path:

$(REPO_DIR_LOCATION) $ conda env create -f conda/environment.yml

Running the Source Code

To run the code:

  • Activate the conda environment you just created in the "Dependencies" section: $(REPO_DIR_LOCATION) $ conda activate motionPlanning1

  • Run the main python module to run both the bug algorithms and kinematics codes: $(REPO_DIR_LOCATION) $ python main.py

Configuring the Code

Bug Algorithm Configuration

To change the scenarios for the bug algorithm code, simply modify one of the $(REPO_DIR_LOCATION)/config/bug_scenarioX.yaml files to create a new set of obstacles, or to change the location of the start / goal points.

Forwards / inverse Kinematics on a 2-link manipulator

To change the scenarios for the manipulator code, simply modify one of the $(REPO_DIR_LOCATION)/config/manipulator_scenarioX.yaml files to change the arm link lengths, the joint offset, the forward kinematics desired angle set, or the inverse kinematic desired end effector location.


Results

Bug1 Algorithm, Environment 1

Bug1 Algorithm, Environment 1

Bug2 Algorithm, Environment 1

Bug2 Algorithm, Environment 1

Bug1 Algorithm, Environment 2

Bug1 Algorithm, Environment 2

Bug2 Algorithm, Environment 2

Bug2 Algorithm, Environment 2

Forward Kinematics, Desired Angles = [pi/4, pi/2, -pi/6]

Forward Kinematics

Inverse Kinematics, Desired End Effector Location = [0, 4]

Inverse Kinematics

bugalgorithms_and_kinematics's People

Contributors

nicholasrenninger avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

seeking37

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.