Space Requirements
A single-arm teleoperation station requires a minimum 3 m × 3 m floor area, but 4 m × 4 m is strongly recommended for safe operator access, equipment carts, and camera stand positioning. If you plan a bimanual setup (two arms), add 1.5 m of table width. For a humanoid robot, minimum 5 m × 5 m with a padded floor.
Ceiling height: 2.7 m minimum; 3.0 m preferred. Overhead camera mounts need 2.0–2.5 m clearance. Humanoids require 2.4 m minimum.
Lighting: Controlled, diffuse overhead lighting is critical. Avoid directional sunlight from windows — use blackout curtains or work in a windowless room. LED panel lights (5000K, CRI >90) at 400–600 lux at table height produce consistent illumination for computer vision. Inconsistent lighting between your data collection and deployment environment is a major cause of policy failure.
Flooring: ESD (electrostatic discharge) flooring or ESD mats under the robot table protect motor controllers and compute hardware. Non-slip flooring outside the robot workspace for operator safety.
Power: Dedicated 20A circuit for robot + compute. UPS on robot arm to prevent damage from sudden power loss. Do not share circuits with HVAC or other high-draw equipment.
Equipment Checklist with Prices
| Equipment | Budget Option | Mid-Range Option | Notes |
|---|---|---|---|
| Robot arm | $3,100 (WidowX-250) | $9,200 (xArm 6) | See arm guide |
| Teleop controller | $500 (Meta Quest 3) | $3,100 (SO-100 leader) | Leader arm preferred for data quality |
| Primary camera (wrist) | $150 (RealSense D405) | $600 (RealSense D435i) | Depth improves policy; RGB-only acceptable |
| Fixed overhead camera | $150 (Logitech BRIO) | $400 (Basler acA1300) | BRIO adequate for most tasks |
| Fixed side camera | $150 (Logitech BRIO) | $400 (Basler acA1300) | Optional; improves occlusion coverage |
| Camera mounts | $200 (articulating arms) | $500 (optical breadboard) | Rigidity matters for extrinsic stability |
| Compute workstation | $2,000 (RTX 3080) | $5,000 (RTX 4090) | GPU for inference, CPU for ROS2 |
| NVMe SSD (data storage) | $200 (2TB) | $400 (4TB NVMe) | Log at full quality; delete later |
| NAS (archival) | $500 (Synology DS223) | $1,500 (Synology DS923+) | RAID1 for safety; 8TB+ recommended |
| Network switch | $80 (TP-Link 8-port) | $300 (managed Netgear) | Dedicated LAN for low-latency ROS2 |
| UPS (uninterruptible) | $150 (CyberPower 600VA) | $400 (APC 1500VA) | Prevents arm motor damage on power loss |
| Robot table | $300 (80×120cm 80kg rated) | $800 (custom steel) | Must not flex; bolt arm to table |
| Total (estimate) | ~$7,500 | ~$20,000 | Before arm cost |
Network Setup for Low-Latency Data Collection
Network architecture significantly impacts ROS2 reliability and data logging integrity. Use a dedicated setup:
- Dedicated 1 Gbps switch: One switch for the robot LAN (arm controller, workstation, NAS). Do not share with office traffic. TP-Link TL-SG108 ($30) is adequate; a managed switch lets you set QoS to prioritize ROS2 traffic.
- Isolated WiFi for VR: Meta Quest 3 requires WiFi for ADB debugging and AnyTeleop streaming. Run a dedicated access point (WiFi 6, 5 GHz only) isolated from the robot LAN. Configure the workstation with two NICs: one wired to robot LAN, one WiFi to Quest.
- Static IP addressing: Assign static IPs to the robot arm, cameras (if IP cameras), workstation, and NAS. Dynamic IPs cause ROS2 node discovery issues. Use 192.168.1.x range for robot LAN.
- NAS configuration: Map the NAS as a network drive and configure your HDF5 logger to write directly to it. Synology NAS with 2-bay RAID1 provides write speeds of 100+ MB/s, sufficient for 3-camera RGB recording at 30 fps.
Camera Placement Guide
Camera placement is one of the most important and underspecified decisions in teleoperation lab setup. Poor placement causes occlusion, motion blur, and lighting inconsistency that degrade policy training quality.
Wrist camera: Mount 25–35 cm from gripper fingertips along the wrist axis, angled 15° downward toward the gripper centerline. Use a rigid mount — any flex introduces unstable camera motion. The Intel RealSense D405 (global shutter, 640×480 at 90 fps) is ideal for wrist mounting due to its 55 mm form factor.
Fixed overhead camera: Position 120–180 cm above the table, angled 40–50° from vertical. This provides a bird's-eye view of the full workspace including both robot arm positions for bimanual tasks. Avoid directly overhead (90°) — foreshortening makes depth estimation difficult.
Fixed side camera: Position at table height, 90° from the robot's primary working direction, 80–120 cm from workspace center. This view captures grasps occluded from the overhead perspective. Essential for tasks involving objects on the far side of the table.
Consistency rule: Once you begin data collection, do not move cameras. Changes in camera pose require re-calibration and break policy training — policies learn the camera geometry implicitly. Mark camera mount positions with tape.
Software Stack
The recommended open-source software stack for a new lab in 2025:
- ROS2 Humble (Ubuntu 22.04): The current LTS release. Install ros-humble-desktop. Configure ROS_DOMAIN_ID to isolate your lab from building network traffic.
- Robot arm driver: interbotix_ros2 (WidowX/ViperX), ur_robot_driver (UR arms), xarm_ros2 (xArm), or openarm_ros2 (OpenArm 101).
- OpenArm Agent (SVRC open-source): Handles teleoperation input, episode management, HDF5 logging, and streaming to the SVRC data platform.
- Camera drivers: realsense2_camera (ROS2 package) for RealSense; usb_cam or v4l2_camera for USB webcams; pypylon for Basler cameras.
- HDF5 logging: h5py with chunked writes. Chunk size: 1 episode per chunk, or 100-step sub-chunks for large episodes. Compression: LZF or GZIP level 1 (fast compression, good ratio for image data).
- SVRC Platform: Upload episodes to platform.roboticscenter.ai for visualization, quality review, and format conversion to LeRobot/RLDS.
Calibration Procedure
Calibration is required before data collection and must be repeated if any camera moves or is disturbed.
Intrinsic calibration: Use a 7×9 ChArUco board (100mm squares). Collect 30–50 images from varied distances and angles. Process with OpenCV's calibrateCamera. Target reprojection error <0.5 pixels.
Extrinsic calibration (camera-to-robot): Attach an AprilTag to the robot end-effector. Command the arm to 15–20 known joint configurations, capture the tag pose in each camera, and solve the hand-eye calibration with cv2.calibrateHandEye(). Verify by checking that the computed tag pose matches the FK-predicted pose to within 3 mm.
Wrist camera calibration: The wrist camera moves with the arm. Calibrate the camera-to-flange transform offline using a fixed ChArUco board at multiple arm poses. Re-verify after any wrist camera mount adjustment.
Latency measurement: Clap hands in front of all cameras simultaneously and measure the frame offset between cameras. Target: <16 ms (1 frame at 60 fps) between all cameras. Hardware triggering achieves <1 ms.
Safety Setup
- Emergency stop (e-stop): Wire a physical e-stop button accessible from the operator position. Test it on every session start. The e-stop must cut power to the arm's motor controllers, not just pause the software.
- Speed limits during setup: Configure maximum Cartesian speed to 50 mm/s during initial workspace mapping. Increase to 200 mm/s only after verifying joint limits and workspace boundaries.
- Collision zones: Define software collision zones in MoveIt2 or the arm SDK for table surface, camera mounts, and operator standing position. Update after any workspace reconfiguration.
- Operator training: All operators must complete a 2-hour training session covering e-stop operation, arm behavior in fault states, proper standing position during operation, and episode abort procedure. Document this in a lab safety log.
- Payload verification: Weigh grippers and end-effectors before installation. Confirm total payload is within rated limits including gripper. Overloaded arms fail unpredictably and can injure operators.
Ergonomics and Operator Comfort
Operator fatigue directly causes data quality degradation. Lab layout decisions made at setup time determine whether operators can sustain high-quality collection over 4-6 hour shifts.
- Table height: 75-85 cm for seated operation (standard desk height). Operator elbows should be at table height when forearms rest on the table. For standing operation with leader arms, 100-110 cm height is preferred.
- Chair: Adjustable-height chair with armrests. Operators controlling leader arms need forearm support to reduce shoulder fatigue. Budget $300-$500 for a quality ergonomic chair -- this pays for itself in sustained data quality.
- Monitor placement: If the operator uses a monitor for camera feeds rather than VR, position it at eye level, 60-70 cm from seated position. Dual monitors are recommended: one for live camera feeds, one for episode status and quality metrics.
- VR headset comfort: For Meta Quest 3, replace the default strap with an Elite strap ($60) for multi-hour use. Ensure adequate ventilation -- VR generates facial heat that causes discomfort after 30 minutes in warm rooms. Target room temperature 20-22 C.
- Break schedule: 45 minutes on, 15 minutes off is the standard protocol. Post this schedule visibly at every workstation. Operators who skip breaks consistently produce lower-quality data in the second half of their shift.
Cost Estimate: Complete Lab Station
| Configuration | Robot Arm | Teleop Interface | Infrastructure | Total Per Station |
|---|---|---|---|---|
| Budget single-arm + VR | $3,100 (WidowX-250) | $500 (Quest 3) | $3,900 | ~$7,500 |
| Mid-range single-arm + leader | $4,500 (OpenArm 101) | $3,100 (leader arm) | $5,400 | ~$13,000 |
| ALOHA-style bimanual | $9,600 (2x ViperX-300) | $6,200 (2x WidowX-250) | $6,200 | ~$22,000 |
| Production (UR5e + Robotiq) | $35,000 (UR5e) | $3,100 (leader arm) | $7,900 | ~$46,000 |
Infrastructure cost includes workstation PC, cameras, mounts, networking, UPS, table, and setup labor. Multi-station labs save on shared infrastructure (NAS, network switch, ceiling mounts) -- the second station typically costs 30% less than the first.
Common Setup Mistakes to Avoid
- Sharing USB controllers between cameras and robot: USB 3.0 bandwidth is 5 Gbps per controller, not per port. Three cameras on the same USB controller will starve the robot arm's bus. Check controller assignments with
lsusb -tand redistribute across separate controllers. Add a PCIe USB 3.0 card ($30) if needed. - Inconsistent lighting between sessions: Windows let in sunlight that changes hourly. Policies trained on data collected in morning light fail in afternoon light. Use blackout curtains and artificial lighting exclusively.
- Flimsy table causing vibration: A table that flexes under arm motion introduces unpredictable vibration into camera images and joint readings. Test by placing a glass of water on the table while the arm moves -- visible ripples mean the table is too light. Use a steel-frame table rated for at least 80 kg.
- No UPS protection: A sudden power loss while the arm is in motion can damage gearboxes (arm tries to stop instantly under load) and corrupt in-progress HDF5 files. A $150 UPS prevents both failure modes.
- Camera moves between sessions: Any camera position change invalidates all prior calibration data and introduces distribution shift into policy training. Mark mount positions with tape and verify at the start of each session.
Related Guides
- Bimanual Teleoperation Hardware Setup -- detailed bimanual station assembly and calibration
- Camera Setup for Teleoperation -- camera placement, calibration, and multi-camera sync
- Teleoperation Solution Buyer's Guide -- build vs. buy analysis for teleop infrastructure
- Robot Safety Risk Assessment -- safety setup requirements for your lab
- Operator Recruitment and Training -- hiring and training operators to use your lab
- ROS2 and MoveIt2 Integration -- software stack setup for your arm
Work with SVRC
SVRC operates fully equipped teleoperation labs at our Mountain View, CA and Allston, MA facilities, and can help you build yours.
- Data Collection Services -- skip the lab setup entirely and use our facility for your data collection project
- Robot Leasing -- lease complete teleop stations including arm, leader, cameras, and compute
- Hardware Store -- purchase OpenArm 101 arms, cameras, and lab accessories
- Data Platform -- upload and manage your collected datasets with built-in quality review
- Contact Us -- request a lab design consultation with our engineering team