Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thowell/robodojo.jl
A differentiable simulator for robotic systems.
https://github.com/thowell/robodojo.jl
complementarity contact-physics differentiable friction gradients impact locomotion nonsmooth-mechanics optimization robotics simulation simulator
Last synced: about 2 hours ago
JSON representation
A differentiable simulator for robotic systems.
- Host: GitHub
- URL: https://github.com/thowell/robodojo.jl
- Owner: thowell
- License: mit
- Created: 2021-10-18T03:25:39.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-06-14T20:36:59.000Z (over 2 years ago)
- Last Synced: 2024-06-28T23:02:25.764Z (5 months ago)
- Topics: complementarity, contact-physics, differentiable, friction, gradients, impact, locomotion, nonsmooth-mechanics, optimization, robotics, simulation, simulator
- Language: Julia
- Homepage:
- Size: 52.6 MB
- Stars: 29
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RoboDojo.jl
[![CI](https://github.com/thowell/RoboDojo.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/thowell/RoboDojo.jl/actions/workflows/CI.yml)
[![codecov](https://codecov.io/gh/thowell/RoboDojo.jl/branch/main/graph/badge.svg?token=E0EBU6ZJRL)](https://codecov.io/gh/thowell/RoboDojo.jl)Prototype differentiable simulator for robotic systems. This repository includes models for planar hopper, biped, and quadruped systems.
Systems are represented in minimal coordinates and contact impulses are computed at each time step by solving a [nonlinear complementarity problem (NCP)](https://en.wikipedia.org/wiki/Nonlinear_complementarity_problem) using a custom [interior-point solver](src/solver/interior_point.jl). Gradients through the dynamics are efficiently computed via the [implicit-function theorem](https://en.wikipedia.org/wiki/Implicit_function_theorem) applied to the NCP optimality conditions.
For more details, see our paper: [Dojo: A Differentiable Simulator for Robotics](https://arxiv.org/abs/2203.00806) and checkout our full simulator: [Dojo](https://github.com/dojo-sim/Dojo.jl).
## Installation
`RoboDojo` can be added via the Julia package manager (type `]`):
```julia
pkg> add RoboDojo
```## Systems
### Hopper### Biped
### Quadruped
## Examples
Please see the following for examples using this package:
- [Trajectory Optimization with Optimization-Based Dynamics](https://github.com/thowell/optimization_dynamics)
- [Fast Contact-Implicit Model-Predictive Control](https://github.com/dojo-sim/ContactImplicitMPC.jl)