All Projects → google → brax

google / brax

Licence: Apache-2.0 License
Massively parallel rigidbody physics simulation on accelerator hardware.

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to brax

Simbody
High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.
Stars: ✭ 1,808 (+49.67%)
Mutual labels:  robotics, physics-simulation
Robosuite
robosuite: A Modular Simulation Framework and Benchmark for Robot Learning
Stars: ✭ 462 (-61.75%)
Mutual labels:  robotics, physics-simulation
Articulations Robot Demo
Stars: ✭ 145 (-88%)
Mutual labels:  robotics, physics-simulation
Nasoq
NASOQ:Numerically Accurate Sparsity Oriented QP Solver
Stars: ✭ 30 (-97.52%)
Mutual labels:  robotics, physics-simulation
Assistive Gym
Assistive Gym, a physics-based simulation framework for physical human-robot interaction and robotic assistance.
Stars: ✭ 150 (-87.58%)
Mutual labels:  robotics, physics-simulation
bayex
Bayesian Optimization in JAX
Stars: ✭ 24 (-98.01%)
Mutual labels:  jax
robo-playground
Games and examples built for RoboMaster EP with RoboMasterPy | 与你的大疆机甲大师愉快玩耍,基于RoboMasterPy构建
Stars: ✭ 33 (-97.27%)
Mutual labels:  robotics
AI-Lab
🔬 Absolutely comfort lab for me to work around with my own AIs and to empirically observe how powerful and impactful these technologies are. I do love these technologies!
Stars: ✭ 19 (-98.43%)
Mutual labels:  robotics
academy
🎓 Video tutorials, slide decks and other training materials for developers learning about the FIWARE ecosystem.
Stars: ✭ 12 (-99.01%)
Mutual labels:  robotics
lettuce
Computational Fluid Dynamics based on PyTorch and the Lattice Boltzmann Method
Stars: ✭ 74 (-93.87%)
Mutual labels:  physics-simulation
ROS-GPS
GPS Localization with ROS, OSM and rviz
Stars: ✭ 19 (-98.43%)
Mutual labels:  robotics
XBotControl
XBotControl framework: XBotCore + OpenSoT + CartesI/O
Stars: ✭ 23 (-98.1%)
Mutual labels:  robotics
N-body-numerical-simulation
Script written in Python to integrate the equations of motion of N particles interacting with each other gravitationally. The script computes the equations of motion and use scipy.integrate to integrate them. Then it uses matplotlib to visualize the solution.
Stars: ✭ 40 (-96.69%)
Mutual labels:  physics-simulation
erwhi-hedgehog
Erwhi Hedgehog main repository
Stars: ✭ 31 (-97.43%)
Mutual labels:  robotics
PnC
Planning and Control Algorithms for Robotics
Stars: ✭ 22 (-98.18%)
Mutual labels:  robotics
get-started-with-JAX
The purpose of this repo is to make it easy to get started with JAX, Flax, and Haiku. It contains my "Machine Learning with JAX" series of tutorials (YouTube videos and Jupyter Notebooks) as well as the content I found useful while learning about the JAX ecosystem.
Stars: ✭ 229 (-81.04%)
Mutual labels:  jax
neonavigation
A 2-D/3-DOF seamless global/local mobile robot motion planner package for ROS
Stars: ✭ 199 (-83.53%)
Mutual labels:  robotics
graspnet-baseline
Baseline model for "GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping" (CVPR 2020)
Stars: ✭ 146 (-87.91%)
Mutual labels:  robotics
trac ik
ROS 2 port of `trac_ik`, an alternative Inverse Kinematics solver to the popular inverse Jacobian methods in KDL.
Stars: ✭ 14 (-98.84%)
Mutual labels:  robotics
RustRobotics
Rust implementation of PythonRobotics such as EKF, DWA, Pure Pursuit, LQR.
Stars: ✭ 40 (-96.69%)
Mutual labels:  robotics

BRAX

Brax is a differentiable physics engine that simulates environments made up of rigid bodies, joints, and actuators. Brax is written in JAX and is designed for use on acceleration hardware. It is both efficient for single-device simulation, and scalable to massively parallel simulation on multiple devices, without the need for pesky datacenters.

Some policies trained via Brax. Brax simulates these environments at millions of physics steps per second on TPU.

Brax also includes a suite of learning algorithms that train agents in seconds to minutes:

Quickstart: Colab in the Cloud

Explore Brax easily and quickly through a series of colab notebooks:

  • Brax Basics introduces the Brax API, and shows how to simulate basic physics primitives.
  • Brax Environments shows how to operate and visualize Brax environments. It also demonstrates converting Brax environments to Gym environments, and how to use Brax via other ML frameworks such as PyTorch.
  • Brax Training with TPU introduces Brax's training algorithms, and lets you train your own policies directly within the colab. It also demonstrates loading and saving policies.
  • Brax Training with PyTorch on GPU demonstrates how Brax can be used in other ML frameworks for fast training, in this case PyTorch.
  • Brax Multi-Agent measures Brax's performance on multi-agent simulation, with many bodies in the environment at once.

Using Brax locally

To install Brax from pypi, install it with:

python3 -m venv env
source env/bin/activate
pip install --upgrade pip
pip install brax

Alternatively, to install Brax from source, clone this repo, cd to it, and then:

python3 -m venv env
source env/bin/activate
pip install --upgrade pip
pip install -e .

To train a model:

learn

Training on NVidia GPU is supported, but you must first install CUDA, CuDNN, and JAX with GPU support.

Learn More

For a deep dive into Brax's design and performance characteristics, please see our paper, Brax -- A Differentiable Physics Engine for Large Scale Rigid Body Simulation , to appear in the Datasets and Benchmarks Track at NeurIPS 2021.

Citing Brax

If you would like to reference Brax in a publication, please use:

@software{brax2021github,
  author = {C. Daniel Freeman and Erik Frey and Anton Raichuk and Sertan Girgin and Igor Mordatch and Olivier Bachem},
  title = {Brax - A Differentiable Physics Engine for Large Scale Rigid Body Simulation},
  url = {http://github.com/google/brax},
  version = {0.0.12},
  year = {2021},
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].