GithubHelp home page GithubHelp logo

zhouazhou98 / optibot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aunsiro/optibot

0.0 0.0 0.0 334 KB

Collocation methods for trajectory optimization for second or higher order systems.

License: MIT License

Python 99.72% TeX 0.28%

optibot's Introduction

CHORDS

Collocation methods for second or higher order systems

license Code style: black

Chords is a Python package for trajectory optimization on second or higher order systems. A simple interface is provided to create Casadi Opti problems and to apply different collocation schemes to dynamical models described by user-defined functions or via Sympy Lagrangian objects.

The package implements direct collocation methods that (1) respect the differential relationships between the state variables and (2) ensure that the actual dynamics is imposed at the collocation points, two properties that are not guaranteed when conventional collocation methods are applied to second or higher order systems. In most cases, the new methods in Chords reduce significantly the dynamic error of the trajectories, without noticeably increasing the cost of solving the associated NLP problems.

The following collocation schemes are implemented in Chords.

Piecewise polynomial schemes:

  • Trapezoidal
  • Hermite-Simpson

Pseudospectral schemes:

  • Legendre-Gauss
  • Legendre-Gauss-Lobatto
  • Legendre-Gauss-Radau

For the piecewise polynomial schemes, and for the pseudospectral Legendre-Gauss scheme, the package implements the methods for second order systems as described in [1,2,3]. Conventional versions for first order systems are available for all methods. In the future, we plan to add the trapezoidal and Hermite-Simpson methods for Mth order systems given in [2].

The library also contains tools for:

  • Conversion from Sympy expressions to Numpy and Casadi functions that use standardized calls
  • Interpolation functions adapted to each collocation scheme
  • Creation of implicit dynamics formulations through modified Lagrangian Sympy objects
  • Reduction of dimensionality in dynamical systems under certain conditions
  • Dynamic error analysis of the obtained solutions

Related papers

Second or higher order piecewise polynomial methods:

  1. Siro Moreno-Martín, Lluís Ros and Enric Celaya, "Collocation Methods for Second Order Systems", XVIII Robotics: Science and Systems Conference, 2022, New York, pp. 1-11.
    Full Text - Bibtex

  2. Siro Moreno-Martín, Lluís Ros and Enric Celaya, "Collocation Methods for Second and Higher Order Systems", preprint.
    Full Text (preprint) - Bibtex

Second order pseudospectral methods:

  1. Siro Moreno-Martín, Lluís Ros and Enric Celaya, "A Legendre-Gauss Pseudospectral Collocation Method for Trajectory Optimization in Second Order Systems", 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Kyoto, Japan, 2022, pp. 13335-13340.
    Full Text (preprint) - Full Text (IEEE) - Bibtex

optibot's People

Contributors

aunsiro 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.