Code Monkey home page Code Monkey logo

sobec's Introduction

Sobec: Sandbox for optimal control explicitly for bipeds

Pipeline status Coverage report Code style: black

Sandbox for optimal control explicitly for bipeds

Minimal python version: 3.6

Current state of the MPC, Classes:

RobotDesigner

This is a robot wrapper embedding the model

ModelMaker

This class produces a std::vector of AbstractModelAction, it is done using the method formulateHorizon.

The class contains all task functions used to formulate a whole-body locomotion problem.

WBC

This class implements a MPC with a cycle view of locomotion.

It defines three horizon objects: the MPC horizon, the walking cycle horizon and the standing cycle horizon. At each control cycle, the first walking cycle horizon node is fed to the end of the MPC horizon. When the walking cycle comes to an end, it is rewinded. When the user wants to stop the locomotion, they can do so at any time by simply updating the LocomotionType variable from WALKING to STANDING. The standing cycle will then be fed to the MPC horizon.

The WBC class provides the method iterate that receives the measured state and returns the joint torques that should be commanded to the robot.

WBCHorizon

This class implements a MPC with a longterm view of horizon.

It defines two horizon objects: the MPC horizon and the full horizon. At each control cycle, the first node of the full horizon is fed to the end of the MPC horizon. When the full horizon comes to an end, the process stops. The class previews the entire walking motion into the full horizon at its initialization. It also sets up the wrench references for contact transition at initialization.

Examples

Python examples running with bullet can be found in 'python/tests folder.

walkMPC.py implements a forward walking motion with user-defined feet references.

freeWalkMpc.py implements a forward walking motion with user-defined terminal CoM position.

stairMPC.py implements stair climbing with user-defined feet references.

freeStairsMPC.py implements stair climbing without user-defined feet references, given only the next desired contact and a velocity height map of the stairs.

sobec's People

Contributors

andreadelprete avatar edantec avatar manifoldfr avatar maximiliennaveau avatar nahuelvilla avatar nim65s avatar nmansard avatar pfernbach avatar pre-commit-ci[bot] avatar skleff1994 avatar

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.