Giter Club home page Giter Club logo

contactbench's Introduction

Contact Bench

C++ implementation of various contact models and solvers used for robotics simulation.

The contact problem

The contact problem is formulated as a Non-linear Complementarity Problem (NCP):

$$ \begin{align} &c = G \lambda + g \\ &\mathcal{K} \ni \lambda \perp c + {\Phi}(c) \in \mathcal{K} \\ \end{align} $$

Several algorithms solving this problem or a relaxation of it are implemented and empirically evaluated. We also benchmark various algorithms for gradient computation: automatic and implicit differentiation.

Requirements

We use Pinocchio for free dynamics and Delassus computation. Collision detection and its gradients are performed with hppfcl. The QP solver ProxSuite is used in some contact models and to compute derivatives. Automatic differentiation is implemented via CppAD.

Citing this work

If you find this helpful work, please cite the related paper:

@article{lelidec2023contact,
  title={Contact Models in Robotics: a Comparative Analysis},
  author={Le Lidec, Quentin and Jallet, Wilson and Montaut, Louis and Laptev, Ivan and Schmid, Cordelia and Carpentier, Justin}
}

Credits

The following people have been involved in the development of Contact Bench:

contactbench's People

Contributors

quentinll avatar jcarpent avatar

Stargazers

Ian Abraham avatar Antoine Hoarau avatar Wilson avatar Yann de Mont-Marin avatar Lander Vanroye avatar Mikel Zhobro avatar Fabian Schramm avatar  avatar Vishal avatar Wil Thomason avatar Ivolga Dmitriy avatar Konstantinos Chatzilygeroudis avatar  avatar

Watchers

 avatar  avatar Fabian Schramm 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.