Skip to content

Introduction

Welcome to the TidyBot++ documentation! This website hosts the hardware assembly guide and usage instructions for our open-source robot.

Kinova Franka ARX5

This table summarizes what is included in our open source release:

Arm Hardware design Phone teleoperation Policy learning
Kinova ✔️ ✔️ ✔️
Franka ✔️
ARX5 ✔️ ✔️
xArm ✔️
UR5 ✔️
ViperX ✔️

In the sections below, we describe each of these components in more detail.

Hardware design

Our open-source robot is highly customizable as it is designed from the ground up to maximize research productivity. To accommodate diverse research needs, we provide 3 reference designs of different sizes (shown in the photos above) that can be used directly or serve as starting points for further customization.

This table summarizes the main differences between the 3 designs:

Design Intended use Dimensions Weight Battery capacity Runtime
ARX5 ~5 kg arm
(ARX5, ViperX)
40 x 44 x 37.5 cm 26 kg 288 Wh 4.5 hr
Kinova ~10 kg arm
(Kinova, xArm)
50 x 54 x 37.5 cm 34 kg 768 Wh 8 hr
Franka ~20 kg arm
(Franka, UR5)
50 x 54 x 44.5 cm 45 kg 2160 Wh 8 hr

The dimensions (W x L x H) and weight are for the mobile base (arm not included). The capacity and runtime are for the camping battery, which powers the mounted arm and onboard compute.

Here is a size comparison of the 3 different frame designs:

We also provide mounting instructions for 3 other arms in the Arm mounting page, each of which require only minor modifications to the appropriately sized reference design:

xArm UR5 ViperX

To get started building your own TidyBot++ robot, please proceed to the BOM page to purchase the required parts. The entire assembly process typically takes around 10 hours over 1 - 2 days. If this is your first time, you might want to allocate a few extra days.

For those looking to customize our reference designs, we provide the relevant CAD files here:

Kinova Franka ARX5 Caster module

[Onshape] [STEP]

[Onshape] [STEP]

[Onshape] [STEP]

[Onshape] [STEP]

Phone teleoperation

We open source our intuitive phone teleoperation interface, shown below (4x speed):

This interface was used in our paper experiments to collect data for training policies. Detailed instructions for using the interface can be found on the Usage page.

We used the Kinova arm in experiments, but the interface can be adapted for other arms as well by changing out the arm controller. We did this for the ARX5 arm as shown below (4x speed):

Policy learning

Using teleoperation data, we trained diffusion policies to execute tasks autonomously, as shown below (2x speed):

We open source the full learning pipeline, including policy training and policy inference. Detailed instructions are available on the Usage page. We have only tested the pipeline with the Kinova arm, but the pipeline should work with other arms as well with minimal changes.

Contact

We hope this project can serve as a valuable resource for the robot learning community, and we're always looking to improve this documentation.

If you have any questions, comments, or suggestions, please feel free to reach out through the following methods: