Preview. Theservo.connectAPI is currently in developer preview and not yet shipped in general availability. Early feedback and testing are welcome. Code samples on this page importconnect/cameraexplicitly fromservo.universal— they don’t yet resolve asservo.connectetc.
Why Servo
- Zero Glue Code: Model inputs (such as camera feeds and joint angles) and outputs (target joint actions) bind directly to your existing Python callables, ROS 2 topics, or hardware camera handles.
- Smooth 30 Hz Motion: Pipelined action chunk prefetching streams actions continuously without chunk-boundary pauses or arm stutter.
- Built-in Safety: If a motor driver raises an exception (overcurrent, joint limits exceeded, or E-stop), Servo catches the fault immediately, commands an active zero-velocity hold, and logs diagnostic telemetry.
- Environment Isolation: Your robot drivers can run in their native environment while Servo’s background engine handles hardware-accelerated video compression and low-latency network transport.
- Live Monitoring & Interventions: Review real-time camera feeds in your browser and seamlessly transition between autonomous policy control and manual teleoperation.
How it works
Connecting a robot takes just a few lines of Python:servo daemon) on first use to manage video compression, shared memory buffers, and streaming transport. For dedicated production robot cells, you can install the daemon as a supervised system service with servo daemon --install-service.
Before moving physical hardware, you can also run zero-motion preflight verification using servo check-rig to validate all camera streams, network connections, and motor bindings safely.
Next steps
- Follow the Quickstart to test a simulated rollout on your laptop in 5 minutes.
- Read the Robot Integration Guide for complete details on cameras, motor contracts, and ROS 2.
- Learn how to manage multi-robot deployments in Robot Fleets.
- Explore all classes and methods in the Python API Reference.