Skip to main content

DexSuite: a robotics simulation suite built on Genesis.

Project description

DexSuite: A Modular Framework for Dexterous Manipulation

DexSuite is a powerful, modular, and easy-to-use robot learning framework designed for complex robotic dexterous manipulation tasks.

PyPI - Version GitHub Issues GitHub Discussions

DexSuite Banner

Key Features

  • Modular Robot API: Easily define and swap manipulators, grippers, and controllers to create custom robot configurations for your research.
  • Bimanual & Single-Arm Support: Built from the ground up to support both single-arm and challenging bimanual coordination tasks.
  • Diverse & Challenging Task Suite: An expanding collection of benchmarks, from foundational skills like stack and reach to complex, long-horizon challenges such as pick_and_place_pan and fold_shirt.
  • Massively Parallel Environments: Featuring highly-efficient, GPU-accelerated environments for rapid, large-scale reinforcement learning and policy training.
  • Flexible Teleoperation: Built-in support for multiple teleoperation devices, allowing for intuitive human-in-the-loop control and data collection for imitation learning.
  • High-Fidelity Simulation: Powered by Genesis, enabling realistic physics and interactions for robust sim-to-real transfer.

DexSuite Banner

Quick Installation

Get started with DexSuite by installing the latest version from PyPI.

pip install dexsuite

For the latest development version, clone this repository and install it in editable mode:

git clone https://github.com/dexsuiteorg/dexsuite.git
cd dexsuite
pip install -e .

Getting Started

Creating and interacting with a DexSuite environment is simple. Here’s a quick example of how to load the stack task with a Franka robot.

import dexsuite as ds
import gymnasium as gym

env = ds.make(
    "stack",
    manipulator="franka",
    gripper="robotiq",
    render_mode="human" # Use "rgb_array" for headless rendering
)

# Standard Gymnasium API loop
obs, info = env.reset()
for _ in range(1000):
    action = env.action_space.sample()  # Your agent's action here
    obs, reward, terminated, truncated, info = env.step(action)

    if terminated or truncated:
        obs, info = env.reset()

env.close()

Resources & Documentation

Contributing

We welcome contributions from the community! If you'd like to contribute, please fork the repository and submit a pull request. Check out our CONTRIBUTING.md file for more details on how to get started.

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 Distribution

If you're not sure about the file name format, learn more about wheel file names.

dexsuite-0.1.4-py3-none-any.whl (62.7 MB view details)

Uploaded Python 3

File details

Details for the file dexsuite-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: dexsuite-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 62.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.16

File hashes

Hashes for dexsuite-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a7d2025f30a90d294b22f184b9ad3349d6db95936126491ffec369f1b49118b7
MD5 db93895c409f67d760372a3bfc64a0ea
BLAKE2b-256 0789232b109c32edaeea169e5ab6f39d3d31c3b3021a561a4134fe25973c24d1

See more details on using hashes here.

Supported by

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