Giter VIP home page Giter VIP logo

robust_standingback's Introduction

Robust_standingBack

The purpose of this repo is to present all the work I've done on optima control backbend simulations during my 6-month internship at the S2M laboratory of the Université de Montréal . In particular, we worked on the robustness of the movement and on the implementation of a closed loop of the kinematic chain during the tucked phase of a back somersault.

Steps

2D model

Create model 2D from 3D model with the file GeneratePlanarModel.py in the folder (code_salto.py)

Generate jump, salto (3, 4, 5 and 6 phases) and salto with actuator

All jump and salto simulations can be found in the folder: (code_salto.py)

In first, I create codes to generate simple jump in two (Salto_2phases.py) and three phases(Salto_3phases.py) in order to learn how to use bioptim.

The second step was to add a backward somersault during the flight phase, when the model attain the maximal height of his centre of mass (CoM). I begin by implement a backward somersault in a 3 phases movement (Salto_3phases.py) and gradually I increase the number of phases until reach 7 phases(Salto_7phases.py).

We also tried to simulate a backward salto with actuator dynamics (Salto_actuator.py).

Robustness

After this, we want a code who produce two different techniques of backward somersault (Dedoublement_phase.py): one in 6 phases and an other with a waiting phase (i.e. phase 2) between the propulsion phase and the take-of phase. These two methods have the same results for the preparation of propulsion and the propulsion phase.

Robustness

Closed-loop during the tucked phase

We also tried to simulate a backward salto with a closed-loop during the tucked phase, all these simulations can be found in the folder: (holonomic_research). Several salto with and without floating base and with a certain number of phases were simulated up to 6 phases (`Salto_6phases_CL.py). However, the 6-phase salto is not yet complete, as the landing is too rigid.

We list all the results of the simulation of jump and salto (simple, actuator, robustness and closed-loop) into a Google Sheets.

Model

The different model use are in the folder "Model". The name of the model is defines like this: "Model2D_8Dof_2C_3M" according to the type of the model (i.e. 2D or 3D), the number of degree of freedom (i.e. Dof) the number of contact (i.e. C) and the number of markers (i.e. M).

How to save and visualize data

To save data, we use a function save_results_with_pickle, from the Save file, who use pickle to save all parameters (states, states dot, controls, cost, objectives, contraints). There are different codes for saving data depending on the nature of the salto (with or without a closed-loop during the grouping phase) because the variables (i.e. q and qdot) do not have the same name with a closed-loop (i.e. q_u and qdot_u).

To visualize data, we use the file Visualisation. There are different codes to visualize the simulation according to the nature of the movement (i.e. with or without closed-loop) and according to the number of phases (from 1 to 6).

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.