Skip to content

Optimal trajectory planning for the Stanford Robotic Manipulator using Genetic Algorithm. πŸš€πŸ€–

License

Notifications You must be signed in to change notification settings

amri-tah/Stanford-Robotic-Arm

Β 
Β 

Repository files navigation

πŸ€– Stanford Robotic Manipulator

This project showcases optimal trajectory planning for the Stanford Robotic Manipulator using Genetic Algorithms. The website is created with Next.js and Tailwind CSS, while the simulation was created using Blender and utilizes Three.js. MATLAB is used for implementing the Genetic Algorithm.

Check out the live demo of this project hosted by Vercel at: Stanford Robotic Arm Website

πŸ’» Tech Stack

tech Stack

βœ… Screenshots

image image image

πŸ–ΌοΈ MATLAB Simulation

Unoptimised Path Optimised Path using Genetic Algorithm
unoptimized optimized

πŸ“‚ Directory Structure

/stanford-ga-matlab/

This directory contains MATLAB scripts for simulating and optimizing the Stanford manipulator using Genetic Algorithms (GA).

  • genetic_algorithm/

    • Forward_kine.m - Script for forward kinematics.
    • GA.m - Main genetic algorithm script.
    • crossover.m - Crossover function for GA.
    • decode.m - Decoding function for GA.
    • distance.m - Distance calculation script.
    • fitness.m - Fitness function for GA.
    • initialization.m - Initialization function for GA.
    • interpolation_t1.m - Interpolation for theta1.
    • interpolation_t2.m - Interpolation for theta2.
    • interpolation_t3.m - Interpolation for theta3.
    • inv_kinematics.m - Inverse kinematics script.
    • main.m - Main script to run GA.
    • mutation.m - Mutation function for GA.
    • selection.m - Selection function for GA.
    • simulation.m - Simulation script for GA.
  • unoptimized/

    • Forward_kine.m - Unoptimized forward kinematics script.
    • distance.m - Unoptimized distance calculation script.
    • inv_kinematics.m - Unoptimized inverse kinematics script.
    • main.m - Unoptimized main script.
    • poly_interpolation.m - Polynomial interpolation script.
    • simulation.m - Unoptimized simulation script.
  • Simulation_Stanford_robot.m - Main simulation script for the Stanford robot.

/stanford-simulation-blender/

This directory contains files for simulating the Stanford manipulator using Blender.

  • css/ - CSS files for Blender simulation interface.
  • js/ - JavaScript files for Blender simulation interface.
  • models/ - 3D models for Blender simulation.
  • index.html - Main HTML file for Blender simulation.

/stanford-web/

This directory contains web-related files to visualize and interact with the Stanford manipulator.

  • stanford-webpages/ - Webpages with animations and flowcharts.
  • package-lock.json - Dependency lock file.
  • package.json - Node.js package file.

/stanford-rbtoolbox.ipynb

Jupyter Notebook with the implementation and analysis of the Stanford manipulator using Robotics Toolbox on Python.

πŸ› οΈ Usage

MATLAB Simulation

To run the MATLAB simulation, navigate to the stanford-ga-matlab directory and execute the Simulation_Stanford_robot.m script in MATLAB.

Blender Simulation

To view the simulation in Blender, open the index.html file in the stanford-simulation-blender directory in your browser or head over to the simulation page on the website!

Web Visualization

To access the web visualization, navigate to the stanford-web/stanford-webpages directory, and run npm install and npm run dev on the terminal.

Contributors 🀝

Profile
@Manasha-1204
Profile
@amri-tah
Profile
@sudheerkumarchowdary
Profile
@BURUGURAHUL

πŸ“œ License

This project is licensed under the MIT License.


Feel free to explore the directories and scripts to gain a deeper understanding of the Stanford robotic manipulator and its simulations!

Languages

  • JavaScript 40.1%
  • Jupyter Notebook 33.0%
  • MATLAB 17.3%
  • HTML 5.6%
  • CSS 4.0%