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.
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.
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.gitcd lerobot-vulcanSet up the controller computer
Install the locked Sourccey controller profile and training dependencies.
uv sync --locked --extra sourccey-desktop --extra trainingConnect one leader arm at a time and run this command to identify each serial port:
uv run lerobot-find-portRecord 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=COM6Continue when calibration completes without a serial-port error.
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_IPOn 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-vulcanUse 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-robotInstall Sourccey's Linux device rules and run the robot hardware checks:
uv run sourccey-setup robotPlace 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-calibrateStart the robot host
On the robot computer, start the hardware host and leave this terminal open.
uv run sourccey-hostThe host is ready when it connects to the hardware and prints “Waiting for commands...”
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=trueReady 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.