Teleop workspaces | Viam Documentation

Teleop workspaces

Teleop workspaces let you build custom operator interfaces for specific tasks. Instead of seeing every resource on the CONTROL tab, you choose which widgets to display and arrange them into a focused view.

For an explanation of widget types and capabilities, see Data dashboards overview. For the full CONTROL tab with all resources, see Default control interface.

Prerequisites

A configured machine with teleoperable components

Your machine needs at least one camera, movement sensor, sensor, base, arm, board, gantry, gripper, motor, or servo.

See configure a machine for more information.

Create a workspace

  1. Navigate to the FLEET page and click the TELEOP tab.
  2. Click + Create workspace.
  3. Enter a name for your workspace, replacing the placeholder text.
  4. Click Select machine and choose the machine you want to monitor and control.

Add widgets

  1. Click Add widget and select a widget type.
  2. Click the pencil icon in the top right of the widget to configure it.

To rearrange widgets, click and drag the grid icon in the top left of a widget.

Available widget types

Teleop workspaces support all the widget types that dashboards support (GPS, stat, time series, table), plus two additional types for real-time interaction:

Actuation: control motors, servos, bases, arms, grippers, and other actuating components. Choose a component type, method, and component name.

Camera stream: display a live feed from a camera component. Choose a camera and set the refresh type.

For details on configuring GPS, stat, time series, and table widgets, see Create dashboards. The configuration is the same, with these differences:

For a full comparison, see the dashboards and teleop workspaces table.

Design effective operator views

A workspace is most useful when it shows only what the operator needs for their current task.

For example, a warehouse robot inspection workspace might include:

An environmental monitoring workspace might include:

Start with fewer widgets and add more as you discover what the operator actually uses.

If you need more control than widgets provide, you can build a custom app with full SDK access using TypeScript, Flutter, Python, Go, or C++.