/trajectory-optimization-in-skateboarding

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

NAnderson_FYP_2019

This repository contains the Python code and report for the final year project of Nick Anderson (ANDNIC019) prepared for the University of Cape Town. It also includes the final poster, presentation and published RobMech paper.

  • The final report: "EEE4022S_2019_FINAL_REPORT_ANDNIC019_ANDERSON_NH_PATEL.pdf"
  • The Robmech paper: "RobMech_Paper_2019.pdf"
  • The final presentation: "FYP_open_day_presentation.pptx"
  • The final poster: "FYP_2019_poster_final.pdf"

The folders are structured as follows:

  • The "Complementarity Method" folder includes the Python scripts used to develop the system to perform the ollie using the contact-implicit method.

  • The "Bouncing Ball" folder shows the development phases of the individual aspects of the system.


Install Guide

In order to run the notebooks, the following steps should be taken:

  1. Install Anaconda

https://www.anaconda.com/distribution/

  1. Install libraries using Anaconda

Open the Anaconda Prompt

> conda install -c conda-forge pyomo

> conda install -c conda-forge pyomo.extras

> conda install -c conda-forge ipopt

> conda install jupyter numpy matplotlib sympy

> conda install -c conda-forge ffmpeg

> conda install cloudpickle

(might need to update some of the libraries. I needed to update matplotlib to use the arrow function)


If you want to get started with Pyomo and trajectory optimization, contact Stacey Shield (SHLSTA001@myuct.ac.za) to request her introductory tutorials.