Build a teleoperation interface

This guide will teach you how to build a teleoperation interface in Formant.

Prerequisite: Set up real-time connections

Modules in a teleoperation view are powered by real-time connections with your device. You must set them up first before you can see data on your teleoperation interface.

For more information, see Set up real-time connections .

Step 1: Create a teleoperation view

  1. Go to https://teleop.formant.io .
  2. Log in with your Formant credentials.
  3. Select the device for which you want to create a teleoperation interface.
  4. In the view header, click the plus (+) button to create a new view.

At this point, you'll see the following options:

The teleoperation view header.

The teleoperation view header.

ElementDescription
1Current device indicatorIndicates current device.
2View selectorSelect current view.
3Create view buttonCreate new view.
4Save view buttonSave changes to current view.
5Duplicate view buttonCreate new view identical to current view.
6Rename view buttonRename current view.
7Delete view buttonDelete current view.
8View shortcut to Formant application buttonIf Enabled (eye is visible): In the Formant web application (app.formant.io), navigate to this device >> three dots in upper-right corner. You will see a shortcut to this view.

If Disabled (eye is crossed out): This view will not appear as a shortcut for this device in the Formant web application.
9Device information buttonList of real-time connections configured for this device.
10Edit/Operate mode buttonSwitch between edit mode to design your view and operate mode for teleoperation.
11Device settings menuSwitch devices or log out of the teleoperation application.

Step 2: Design your teleoperation interface

To edit your new teleoperation view, click Switch to Edit mode. This will bring up the edit grid and module picker:

Editing a teleoperation view.

Editing a teleoperation view.

There are two types of modules you can add to a teleoperation interface: displays and controls.

Displays

Displays subscribe to the designated stream and show data from the robot in the Formant UI.

The following displays are available:

DisplayDescriptionValid source streams
BackgroundThe background of the edit interface is a video display. Click anywhere on the grid to edit the background.Video/image
VideoVideo/image stream display. Can set up to 10x digital zoom.Video/image
MapDisplay device location on a map.Location
Pie chartPie chart display of multiple numeric values.

Can accept a real-time JSON string of format
{ "key-1": 10, "key-2": 15 }.
Numeric, JSON string
Bar chartBar chart display of numeric values.

Can accept a real-time JSON string of format
{ "key-1": 10, "key-2": 15 }.
Numeric, JSON string
ReadoutSimple numeric or text indicator.Numeric, text
Line chartPlot numeric data over time.Numeric
Scatter plotPlot numeric data over time.Numeric
TableTable display of numeric and/or text data.Numeric, text
IframeEmbedded iframe from external source.Iframe element

Controls

Controls publish data to the designated stream and send data from the Formant UI to the robot.

The following controls are available:

ControlDescriptionValid source streams
JoystickPublishes Twist data to the designated stream. Can configure minimum and maximum values for each axis, and customize which keyboard buttons correspond to which directions on those axes.

Multiple joystick controls can be mapped to the same Twist stream to give control over all axes.
Twist
ButtonPublishes true to designated stream while held down, then false once released.

Default value is false.
Boolean to device
Latching buttonPublishes true to designated stream until clicked again, then toggles to false.

Default value is false.
Boolean to device
SliderPublishes numeric data to the designated stream.Numeric
Text inputWrite text and hit Enter to send text to the designated stream. The text will be published and the control will be cleared. Text
LabelPurely cosmetic for teleoperation interface.N/A
TerminalOpens a terminal session to your device. See Terminal module.N/A

Click the Save icon to apply your changes.

📘

You won't see data in your modules until you start a teleoperation session.

Step 3: Teleoperate your device

In the lower-left corner, you'll see the teleoperation session status for your device:

Teleoperation session status.

Teleoperation session status.

Click the gamepad icon to start a teleoperation session:

Active teleoperation session.

Active teleoperation session.

To use controls, you'll first have to disable the lock button in the lower-right corner.

In the same corner, you'll see the ping to your device, as well as the status of boolean streams from the device.

📘

Swap primary video

You can double-click any video display to swap it with the background video, making it the primary view.

See also

👋

If you notice an issue with this page or need help, please reach out to us! Use the 'Did this page help you?' buttons below, or get in contact with our Customer Success team via the Intercom messenger in the bottom-right corner of this page, or at [email protected].