Skip to main content

A differentiable fully featured physics engine

Project description

Stanford Nimble Logo

Tests

Stanford Nimble

pip3 install nimblephysics

** BETA SOFTWARE **

Read our docs and the paper.

Use physics as a non-linearity in your neural network. A single timestep, nimble.timestep(state, controls), is a valid PyTorch function.

Forward pass illustration

We support an analytical backwards pass, that works even through contact and friction.

Backpropagation illustration

It's as easy as:

from nimble import timestep

# Everything is a PyTorch Tensor, and this is differentiable!!
next_state = timestep(world, current_state, control_forces)

Nimble started life as a fork of the popular DART physics engine, with analytical gradients and a PyTorch binding. We've worked hard to maintain as much backwards compatability as we can, so many simulations that worked in DART should translate directly to Nimble.

Check out our website for more information.

Installing on Arm64 Macs (M1, M2, etc)

We don't yet publish Arm64 binaries to PyPI from our CI system, so you may not be able to pip3 install nimblephysics from a new Arm64 Mac. We will endeavor to manually push binaries occassionally, but until GitHub Actions supports using Arm64 Mac runners, that may run a bit behind.

Currently, the pre-built Arm64 binaries are ONLY AVAILABLE ON PYTHON 3.9. So if you create a virtual environment with Python 3.9, and then pip3 install nimblephysics, that should work.

If you really need another Python version for some reason, the solution is to clone this repo, then run

  • ci/mac/install_dependencies.sh
  • ci/mac/manually_build_arm64_wheels.sh That will install the dependencies you need, and then build and install the Python package. Please create Issues if you run into problems, and we'll do our best to fix them.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

nimblephysics-0.10.50-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (69.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.50-cp311-cp311-macosx_12_0_x86_64.whl (41.2 MB view details)

Uploaded CPython 3.11 macOS 12.0+ x86-64

nimblephysics-0.10.50-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (69.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.50-cp310-cp310-macosx_12_0_x86_64.whl (41.2 MB view details)

Uploaded CPython 3.10 macOS 12.0+ x86-64

nimblephysics-0.10.50-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (69.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.50-cp39-cp39-macosx_12_0_x86_64.whl (41.2 MB view details)

Uploaded CPython 3.9 macOS 12.0+ x86-64

nimblephysics-0.10.50-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (69.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.50-cp38-cp38-macosx_12_0_x86_64.whl (41.2 MB view details)

Uploaded CPython 3.8 macOS 12.0+ x86-64

File details

Details for the file nimblephysics-0.10.50-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.50-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7387986c1e7dc19bf0f19fd5b22fd1d45ebcea52c0a3d506a7fb0b07bb9a5c35
MD5 3d9d5bc785d39020c196cc33365a385b
BLAKE2b-256 2f79aac021f8272a8b49878212d79fee3a5799c6938be3dbdd4a418ac2e9f096

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.50-cp311-cp311-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.50-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 7be9b4aa33921bea54b1d0b0ea83c77c3d9d3224a1a4320c19069c6c3cc9b1a4
MD5 9bd8b13facbca9b3cc346c83d43c07b7
BLAKE2b-256 b8db4ce6b213b6bb330f40e096a544c50106333a45d76d33dfd141d850481cbd

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.50-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.50-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1fe462920fa62c6f55ef227d5353e0f08bbc39d780d95d505923097822cf7f0f
MD5 16014c239b15bbf6a973ffd91d605eba
BLAKE2b-256 66e742ae08325f9c91ffb5d38a1cd5466cd15e36b6ac901a0c061fab8b71ed33

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.50-cp310-cp310-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.50-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 319c7c996c3fd2a8b887512b393383351f11f6f8e933a23d7fe5bfc1c4f74edc
MD5 3a618aec6f305cd2ed9739ca5682fd5f
BLAKE2b-256 3fd2ca99d676d9cae456047f44c48c0ca11b4da08f6f021710b7a013a1881788

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.50-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.50-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c8ab26613bdfce21a0c31a9f1d3b0b15510e841cd5f898a4b99fdcfb6f51b58f
MD5 0fc3124b6371a97aff8f90d1a029199a
BLAKE2b-256 429162800e91dcacb9f2d414aef88eea75caed3f75ece002dbf10fbbc9231acf

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.50-cp39-cp39-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.50-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 0109b081959527c1c7893855ec409e0c356f311085d025473b164d4de162cc43
MD5 2e7f826507119aa3ae9e03e571ce462d
BLAKE2b-256 2395c07969ef848d59cc7eec61446c033426e4752ef112a723e0f50a3265cf1b

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.50-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.50-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb6b3a040a7a181ea8b0b58892e30bdf8bb2c84bb83c89e428bd636f61086b45
MD5 17a0aa1e50182cfa6014f2d6c01c9705
BLAKE2b-256 5a12cb82c90bb7fb72e8a9e69e6fea5f40fee3c09d6e0a1a3d699881903e2d5e

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.50-cp38-cp38-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.50-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 ba3e53744b03d7cc98be092e21568535f6169fd974b63ad57a7ba9f0880fbd5d
MD5 cdfaa33573d71f55a9743ac0ed0e410b
BLAKE2b-256 c740d1b072a62653dbd5c422816e0d56c0f739f86e521d81c0b1b5f3c35db770

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page