Skip to main content

A pytorch library that implements differentiable and learnable robot models, which allows users to learn parameters of analytical robot models, and/or propagate gradients through analytical robot computations such as forward kinematics.

Project description

differentiable robot model

Differentiable and learnable robot model. Our differentiable robot model implements computations such as forward kinematics and inverse dynamics, in a fully differentiable way. We also allow to specify
parameters (kinematics or dynamics parameters), which can then be identified from data (see examples folder).

Currently, our code should work with any kinematic chain (eg any 7-DOF manipulator should work). It's been tested and evaluated particularly for the Kuka iiwa.

Setup

conda create -n robot_model python=3.7
conda activate robot_model
python setup.py develop

Note that the data files might not be found if the setup is not run with develop (Fixme)

Examples

2 examples scripts show the learning of kinematics parameters

python examples/learn_kinematics_of_iiwa.py

and the learning of dynamics parameters

python examples/learn_dynamics_of_iiwa.py

L4DC paper and experiments

the notebook experiments/l4dc-sim-experiments shows a set of experiments that are similar to what we presented in our L4DC paper

@InProceedings{pmlr-v120-sutanto20a, 
    title = {Encoding Physical Constraints in Differentiable Newton-Euler Algorithm}, 
    author = {Sutanto, Giovanni and Wang, Austin and Lin, Yixin and Mukadam, Mustafa and Sukhatme, Gaurav and Rai, Akshara and Meier, Franziska}, 
    pages = {804--813}, 
    year = {2020},
    editor = {Alexandre M. Bayen and Ali Jadbabaie and George Pappas and Pablo A. Parrilo and Benjamin Recht and Claire Tomlin and Melanie Zeilinger}, 
    volume = {120}, 
    series = {Proceedings of Machine Learning Research}, 
    address = {The Cloud}, month = {10--11 Jun}, 
    publisher = {PMLR}, pdf = {http://proceedings.mlr.press/v120/sutanto20a/sutanto20a.pdf},
    url = {http://proceedings.mlr.press/v120/sutanto20a.html}, 
}

Testing

running pytest in the top-level folder will run our differentiable robot model tests, which compare computations against pybullet.

License

differentiable-robot-model is released under the MIT license. See LICENSE for additional details about it. See also our Terms of Use and Privacy Policy.

Project details


Download files

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

Source Distribution

differentiable-robot-model-0.1.1.post1.tar.gz (15.6 MB view details)

Uploaded Source

File details

Details for the file differentiable-robot-model-0.1.1.post1.tar.gz.

File metadata

  • Download URL: differentiable-robot-model-0.1.1.post1.tar.gz
  • Upload date:
  • Size: 15.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.0.post20201006 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for differentiable-robot-model-0.1.1.post1.tar.gz
Algorithm Hash digest
SHA256 9136d69555a4ab6f074a3a03caf3d5293343a31e715f2e71ca0583b165b73aba
MD5 f3a7f8e306a955a80dc2302dd5e2cc31
BLAKE2b-256 4d884cc8d9ce60ec5d2f9190b76e5ff87c0eaa87a6d54e74df5ea0eebf848861

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