/polymetis

Write PyTorch controllers, test them in simulation, and seamlessly transfer to real-time hardware.

Primary LanguagePythonMIT LicenseMIT

Note: As part of FAIR Robotic's unified platform effort, the source of truth is now at our monorepo containing Polymetis, Droidlet, and PyRobot.

Polymetis: a real-time PyTorch controller manager

CircleCI Code style: black

Polymetis: adj., Ancient Greek. Clever in many ways. Applied to Odysseus by Homer in the Odyssey.

Write PyTorch controllers for robots, test them in simulation, and seamlessly transfer to real-time hardware.

Polymetis powers robotics research at Facebook AI Research. If you want to write your robot policies in PyTorch for simulation and immediately transfer them to high-frequency (1kHz) policies on real-time hardware (e.g. Franka Panda), read on!

Features

  • Unified simulation & hardware interface: Write all your robot controllers just once -- immediately transfer them to real-time hardware. You can even train neural network policies using reinforcement learning in simulation and transfer them to hardware, with just a single configuration toggle.
  • Write your own robot controllers: Use the building blocks in our TorchControl library to write complex robot controllers, including operational space control. Take advantage of our wrapping of the Pinocchio dynamics library for your robot dynamics.
  • Drop-in replacement for PyRobot: If you're already using PyRobot, you can use the exact same interface, but immediately gain access to arbitrary, custom high-frequency robot controllers.

Get started

To get started, you only need one line:

conda install -c fair-robotics -c conda-forge polymetis

You can immediately start running the example scripts in both simulation and hardware. See installation and usage documentation for details.

Documentation

All documentation on the website. Includes:

Contributing

See the CONTRIBUTING file for how to help out. Make an issue for bugs and feature requests, or contribute a new robot controller by making a pull request!

License

Polymetis is MIT licensed, as found in the LICENSE file.