# Introduction
Source: https://docs.robot-learning.co/0_index
TRLC-DK1 Documentation
How to mount and connect TRLC-DK1.
How to set up the trlc-dk1 repo.
Moving the robot for the first time.
Common failures and how to fix them.
# Guides
Recommended assembly for bimanual DK1s.
How to assemble or repair DK1's leader.
Building instructions for TRLC's light box.
# 1. Unboxing & Setup
Source: https://docs.robot-learning.co/1_unboxing_and_setup
Getting started with your TRLC-DK1
# What's included
After the TRLC-DK1 Leader and Follower are removed from the box, you're going to see these accessories:
1. Power supply (Solo: 200W / Bimanual: 450W) and power Y-splitter
2. Leader and follower power cables
3. USB 2.0 cables (leader and follower), USB-to-CAN adapter, 3-pin debug cable
4. USB 3.0 Hub
5. TPU Fingers (soft)
6. PLA Fingers (stiff)
7. Alternative base for leader arm (for mounting on a 3/8" microphone stand)
8. E-Stop
9. Context Camera (incl. 3m USB 3.0 cable)
# Mechanical Setup
There are two recommended options to mount TRLC-DK1:
with WORKPRO quick-release clamps
with M5 screws on 3060 or 4080.
For custom mounting methods please refer to the following measurements:
# Electrical Setup
These are all power connections for a single leader-follower pair:
All data transmission runs through USB-C cables. Note that every follower arm needs two USB cables; one for CAN adapter and one for the wrist camera.
For a bimanual kit you will need to connect up to **seven USB cables** to your computer (2x Follower, 2x Wrist Cams, 2x Leaders, 1x Context).
Make sure that your computer's USB ports support the required bandwidth (at least USB 3.0)
# 2. Installation
Source: https://docs.robot-learning.co/2_installation
TRLC-DK1's official GitHub repository can be found here: [robot-learning-co/trlc-dk1](https://github.com/robot-learning-co/trlc-dk1)
# Setting up TRLC-DK1's GitHub Repo
Clone the official repository from GitHub:
```
git clone https://github.com/robot-learning-co/trlc-dk1.git
cd trlc-dk1
```
Create a Python environment with [uv](https://docs.astral.sh/uv/getting-started/installation/) and install the repo:
```
uv venv
uv pip install -e .
```
You're ready to go!
Note that TRLC-DK1 ships with two control modes; position and impedance. Continue to the next page to learn more.
# LeRobot Integration
TRLC-DK1 uses LeRobot's plugin conventions and will be detected by LeRobot if installed in the same Python environment.
# 3. Teleoperation
Source: https://docs.robot-learning.co/3_teleoperation
# Impedance Control (experimental)
Use [LeRobot's CLI](https://huggingface.co/docs/lerobot/il_robots) to identify your leader and follower ports:
```
uv run lerobot-find-port
```
Continue carefully! Before starting to teleoperate, ensure that leader and follower are in the same configuration. The follower will start tracking the leader's joint angles - a mismatch can lead to a fast and agressive jump in the beginning.
This is an example command to run single arm teleop with just the wrist camera:
```
uv run lerobot-teleoperate \
--robot.type=dk1_follower \
--robot.port=YOUR FOLLOWER PORT \
--teleop.type=dk1_leader \
--teleop.port=YOUR LEADER PORT \
--robot.cameras="{
wrist: {type: opencv, index_or_path: 0, width: 1280, height: 720, fps: 60, rotation: 180, fourcc: "YUY2"}
}" \
--display_data=true
```
More examples can be found in the [repository's README](https://github.com/robot-learning-co/trlc-dk1/tree/wip/impedance-controller).
# 4. Troubleshooting
Source: https://docs.robot-learning.co/4_troubleshooting
Common failures and how to fix them.
The code can't connect to the follower arm. Typically this is caused by wrong wiring. Check if you connected everything correctly. Also check if the E-Stop is open.
# Light Box
Source: https://docs.robot-learning.co/guides/box
Building instructions for TRLC's light box
# TRLC Light Box
Outer dimensions: 140x80x80cm, total weight >25kg. Place on rigid table.
The assembly STEP and 3D-printed STLs can be found in [hardware/light-box](https://github.com/robot-learning-co/trlc-dk1/tree/14b61c52783edb2ecc6d1d62feb91d9d3799c3d0/hardware/light_box).
**Off-the-shelf parts:**
| Name | Qty | Total (EUR) | Weight | Source |
| -------------------------------------- | ---- | ------------ | --------- | ----------------- |
| HFS8-4040-1320 | 2 | 69,12 | 4.568 g | MiSUMi |
| HFS8-4040-680 | 4 | 71,21 | 4.708 g | MiSUMi |
| HFS8-4040-800 | 2 | 41,89 | 2.768 g | MiSUMi |
| HFS8-4080-1320 | 2 | 121,88 | 7.920 g | MiSUMi |
| HFS8-4080-800 | 2 | 73,88 | 4.800 g | MiSUMi |
| HBLFSDK8-SSP | 4 | 38,08 | 724 g | MiSUMi |
| HBLFSNF8-SSP | 20 | 72,83 | 960 g | MiSUMi |
| SHNTP8-5 + M5 Screws | \~40 | N/A | N/A | MiSUMi |
| LED Panel (62x62, 40W, 4400 lm, 4000K) | 2 | 49,90 | 2.900 g | lichttechnik24.de |
| Power Cable + WAGO Clamps | 1 | \~10,00 | N/A | Amazon |
| White MDF/HDF Plate (140x80) | 2 | \~20,00 | N/A | local store |
| White MDF/HDF Plate (80x80) | 2 | \~20,00 | N/A | local store |
| **Total** | | **\~600,00** | **>25kg** | |
# Bimanual Setup
Source: https://docs.robot-learning.co/guides/configurations
Recommended assembly for bimanual DK1s.
# DK1-X Desktop Setup
This setup mounts two follower arms side-by-side on a single aluminium extrusion rail, with a fixed context camera positioned centrally on a vertical post between them.
Two leader arms sit on independent microphone stands behind the workspace, giving the operator a stable, unobstructed view of the follower arms during teleop.
The shared base keeps the follower arms in a known relative pose, eliminating the need for calibration between them, while the off-board leader stands can be repositioned freely to suit the operator's reach and seating.
3D-printed parts can be found in [hardware/framing\_STLs/](https://github.com/robot-learning-co/trlc-dk1/tree/24a30ab8782e83a1143aef73c3ce62515690ee49/hardware/framing_STLs).
**Off-the-shelf parts:**
| Name / Part No. | Qty | Description | Procurement |
| --------------- | --- | ----------------------------------------- | ----------------------------------------------------- |
| HFS8-4080-700 | 1 | Aluminium extrusion: follower mount | MiSUMi |
| HFS6-3030-400 | 1 | Aluminium extrusion: context camera mount | MiSUMi |
| SHNTP8-5 | 12 | M5 T-slot nuts | MiSUMi |
| ISO 4762 M5x12 | 8 | Screws: follower arms | MiSUMi / Amazon |
| ISO 4762 M5x16 | 4 | Screws: 3D-printed context cam mount | MiSUMi / Amazon |
| ISO 7093 M5 | 4 | Washers: 3D-printed plates | MiSUMi / Amazon |
| e.g. K\&M 260/1 | 2 | Microphone Stand (3/8" mount) | [e.g. Thomann](https://www.thomann.de/de/km_2601.htm) |
# Leader Arm Assembly
Source: https://docs.robot-learning.co/guides/leader
How to assemble or repair DK1's open-source passive leader arm.
Please note: if you buy a kit from The Robot Learning Company, it will be shipped to you fully assembled and calibrated.
## Components
| Part Name | Qty | Source |
| ------------------------------------------------- | --- | ------------------------------------------------------------------- |
| Dynamixel XL330-M077-T | 7 | [https://en.robotis.com/shop\_en/](https://en.robotis.com/shop_en/) |
| Waveshare Serial Bus Servo Driver Board | 1 | [https://www.amazon.com/](https://www.amazon.com/) |
| 3D-printed Links using PLA(-CF) | | [https://store.bambulab.com/](https://store.bambulab.com/) |
| 5V DC Power Supply (2 Pole or 5.5x2.1 Power Jack) | 1 | [https://www.amazon.com/](https://www.amazon.com/) |
| M2x4 Inserts | 4 | [https://www.amazon.com/](https://www.amazon.com/) |
| M2x5 Screws (e.g. ISO 4762) | 4 | [https://www.amazon.com/](https://www.amazon.com/) |
## 3D Printing
All .STL files and a Bambu Lab 3MF project file are located in the [TRLC-DK1 GitHub Repo](https://github.com/robot-learning-co/trlc-dk1/tree/24a30ab8782e83a1143aef73c3ce62515690ee49/hardware/leader_STLs).
**Recommended 3D-printing orientation:**
**Recommended 3D-printing settings:**
* Material: PLA-CF
* Nozzle: 0.4mm
* Layer height: 0.12mm
* Infill: 15%, Gyroid
* Support: On
If you're using a Bambu Lab 3D printer, use the **0.12mm High Quality** Setting
## Assembly
First, install the inserts and gently remove one of the 3-pin header cap from the driver board:
Every Dynamixel frame is mounted using **4 long screws**, every output horn using **4 short screws**:
For less calibration pain afterwards, assemble all parts in the Dynamixel's absolute zero position (marked by the engraved lines):
Assemble as shown:
You have **two choices how to mount the wrist** - either the regular configuration (left) or a configuration which is meant for top-down mounting and operation of TRLC-DK1 (right). For the second one you need to print **link4-5-flipped.stl**.
Continue assembly as shown:
Mount the GELLO handle:
Mount the driver board:
## Configuration
Connect the power supply, a USB-C cable, and one Dynamixel cable:
After installing [our fork of LeRobot](https://github.com/robot-learning-co/lerobot) and checking out `trlc-dk1` as branch, run the following to identify the port for the bus driver board:
```
lerobot-find-port
```
To start the motor configuration run the following command:
```
lerobot-setup-motors --teleop.type dk1_leader --teleop.port YOUR_PORT
```
Follow the instructions and connect one motor at a time like so:
The final step is to connect all motors in a daisy-chain:
Due to hardware inaccuracies you might need to run
[leader\_offset.ipynb](https://github.com/robot-learning-co/trlc-dk1/blob/main/examples/leader_offset.ipynb).
Place your leader arm in the resting / zero position and run this script to offset every motor to the theoretical zero degree angles.