dm_robotics: Libraries, tools, and tasks created and used for Robotics research at DeepMind.
Package overview
| Package | Summary |
|---|---|
| Transformations | Rigid body transformations |
| Geometry | Scene and Robot geometry primitives |
| Vision | Visual blob detection and tracking |
| AgentFlow | Reinforcement Learning agent composition library |
| Manipulation | "RGB" object meshes for manipulation tasks |
| MoMa | Manipulation environment definition library, for simulated and real robots |
| Controllers | QP-optimization based cartesian controller |
| Controller Bindings | Python bindings for the controller |
| Least Squares QP | QP task definition and solver |
Installation
These libraries are distributed on PyPI, the packages are:
dm_robotics-transformationsdm_robotics-geometrydm_robotics-visiondm_robotics-agentflowdm_robotics-manipulationdm_robotics-momadm_robotics-controllers
Python versions 3.7, 3.8 and 3.9 are supported.
Dependencies
MoMa, Manipulation and Controllers depend on MuJoCo, the other packages do not. See the individual packages for more information on their dependencies.
Building
To build and test the libraries, run build.sh. This script assumes:
- MuJoCo is installed.
dm_controlis installed.- cmake version >= 3.20.2 is installed.
- Python 3.7, 3.8 or 3.9 and system headers are installed.
- GCC version 9 or later is installed.
- numpy is installed.
The Python libraries are tested with tox, the C++ code is built and tested with cmake.
Tox's distshare mechanism is used to share the built source distribution packages between the packages.