Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simple-robotics/contactbench
Benchmarking contact models and solvers from robotics simulators.
https://github.com/simple-robotics/contactbench
Last synced: about 1 month ago
JSON representation
Benchmarking contact models and solvers from robotics simulators.
- Host: GitHub
- URL: https://github.com/simple-robotics/contactbench
- Owner: Simple-Robotics
- License: bsd-2-clause
- Created: 2024-06-26T15:49:24.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-07-11T07:33:10.000Z (6 months ago)
- Last Synced: 2024-07-17T00:28:27.487Z (5 months ago)
- Language: C++
- Size: 144 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# 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](https://github.com/stack-of-tasks/pinocchio) for free dynamics and Delassus computation. Collision detection and its gradients are performed with [hppfcl](https://github.com/humanoid-path-planner/hpp-fcl). The QP solver [ProxSuite](https://github.com/Simple-Robotics/proxsuite) is used in some contact models and to compute derivatives. Automatic differentiation is implemented via [CppAD](https://github.com/coin-or/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**:
- [Quentin Le Lidec](https://quentinll.github.io) (Inria): main developer and manager of the project
- [Justin Carpentier](https://jcarpent.github.io) (Inria): manager of the project
- [Wilson Jallet](https://github.com/ManifoldFR) (LAAS-CNRS/Inria): core developer
- [Fabian Schramm](https://github.com/fabinsch) (Inria): core developer
- [Louis Montaut](https://github.com/lmontaut) (Inria): core developper