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-transformations
dm_robotics-geometry
dm_robotics-vision
dm_robotics-agentflow
dm_robotics-manipulation
dm_robotics-moma
dm_robotics-controllers
Python versions 3.7, 3.8, 3.9 and 3.10 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_control
is installed.- cmake version >= 3.20.2 is installed.
- Python 3.7, 3.8, 3.9 or 3.10 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.