← Back to documentation
Sourccey SDK

Control Sourccey with LeRobot

Go from a fresh lerobot-vulcan checkout to your first supervised teleoperation, then continue into data collection, training, and policy rollout.

1

Understand the two-computer setup

Sourccey uses one computer on the robot and another computer for control. Both must be on the same local network.

Robot computer

Connected to the arms, base, lift, cameras, and sensors. Runs sourccey-host.

Controller computer

Connected to the leader arms. Runs LeRobot control and training commands.

2

Prepare both computers

Install Git, Python 3.12 or 3.13, and uv on both computers. Then clone the fork and open a terminal in its root on each machine.

git clone https://github.com/vulcan-forge/lerobot-vulcan.git
cd lerobot-vulcan
Confirm both computers are connected to the same network.
3

Set up the controller computer

Install the locked Sourccey controller profile and training dependencies.

uv sync --locked --extra sourccey-desktop --extra training

Connect one leader arm at a time and run this command to identify each serial port:

uv run lerobot-find-port

Record the left and right ports, then apply the packaged calibration for both leader arms. Replace COM5 and COM6 with the ports you found. The arms do not need to be placed in a calibration pose or stand for this command.

uv run sourccey-teleop-calibrate --left-arm-port=COM5 --right-arm-port=COM6

Continue when calibration completes without a serial-port error.

4

Set up the robot computer

Connect the controller computer and Sourccey to the same trusted local network. Find the robot's IP address and SSH credential in its Developer Access or onboarding screen.

Connect to Sourccey over SSH+

Replace ROBOT_IP with the address shown on Sourccey, then run this from Terminal, PowerShell, or another SSH client:

ssh sourccey@ROBOT_IP

On the first connection, compare the displayed host-key fingerprint with the fingerprint shown by Sourccey before accepting it. Enter the unique password created during onboarding when prompted; password input is not shown in the terminal.

After signing in, open the installed LeRobot fork:

cd ~/Desktop/Projects/sourccey-desktop/modules/lerobot-vulcan

Use SSH only on a trusted local network. Do not expose port 22 directly to the internet. Replace any temporary setup password during onboarding.

From the lerobot-vulcan directory on the robot, install the locked robot-side dependencies. This does not change Linux device rules or move hardware.

uv sync --locked --extra sourccey-robot

Install Sourccey's Linux device rules and run the robot hardware checks:

uv run sourccey-setup robot

Place both robot arms down at Sourccey's sides, positioned in front of the robot. Then apply the packaged arm calibration and preserve the current Z limits:

uv run sourccey-calibrate
5

Start the robot host

On the robot computer, start the hardware host and leave this terminal open.

uv run sourccey-host

The host is ready when it connects to the hardware and prints “Waiting for commands...”

6

Teleoperate safely

On the controller, replace the example IP and both COM ports, then run the end-to-end teleoperation check. The leader arms control Sourccey's arms; the keyboard controls the base and lift.

uv run lerobot-teleoperate --robot.type=sourccey_client --robot.id=sourccey --robot.remote_ip=192.168.1.243 --teleop.type=bi_sourccey_leader --teleop.id=sourccey_leader --teleop.left_arm_port=COM5 --teleop.right_arm_port=COM6 --teleop_keyboard.type=keyboard --teleop_keyboard.id=sourccey_keyboard --fps=30 --display_data=true

Ready to continue when

  • Each leader moves its matching arm
  • Base and lift move as expected
  • Camera images update
  • Releasing controls stops motion

Stop teleoperation with Ctrl+C.

What comes next

Once teleoperation passes, follow the workflow in order. Each stage validates the one before it.