Machine Control Interface

Once you have configured components and services for your machine, you can test, monitor, and remotely operate them from the CONTROL tab in the Viam app or the Viam mobile app.

Control interface in the Viam app

The CONTROL tab in the Viam app gives you the ability to test, monitor, and operate the machines in your fleet. The CONTROL tab provides a control interface for each component and service that you have configured for you machine.

For example, if you have configured a base with wheels, you can move your machine’s with an arrow pad and control the base’s speed by setting its power with a slider. If you have configured a camera component, a window in the CONTROL tab displays the camera output.

If you use remote control in the Viam app UI, all communication to the machine uses WebRTC. For local communication between parts Viam uses gRPC or WebRTC.

You can also switch between different machine parts and control the selected machine part directly from the CONTROL tab.

The expanded Machine part dropdown menu with the main part selected on the Control tab.

For more information on configuring and controlling machine parts, see Machine Architecture.

Components

For more detailed information on how to operate and test your resources, expand the relevant resource below:

Arm

Test the arm

Once your arm is configured and connected, open the arm’s TEST panel on the CONFIGURE or CONTROL tabs.

Use the buttons to move the end position or the joints and check whether it moves as expected.

Arm test panel.

If the arm does not appear on the TEST panel, or if you notice unexpected behavior, check your machine’s LOGS tab for errors, and review the configuration.

Base

After you configure the base, open the base’s TEST panel on the CONFIGURE or CONTROL tabs to view the controls to enable keyboard or discrete control over your machine’s movement.

The base component in control tab

In the Quick move section, you can toggle the keyboard control to active. With the Keyboard toggle active, use W and S to go forward and back, and A and D to arc and spin.

Try driving your base around using the WASD keyboard controls.

You can also move straight or spin from the base panel.

If you do not see the base card in the TEST panel, check the LOGS tab for possible setup or configuration errors.

Board

Test analogs

Once you have configured your analogs, open the board’s TEST panel on the CONFIGURE or CONTROL tabs to monitor analogs. The numbers displayed next to each analog name represent the digital signal received from the analog inputs.

Analogs in the test panel.

Test digital_interrupts

Once you have configured your digital interrupts, open the board’s TEST panel on the CONFIGURE or CONTROL tabs to monitor interrupt activity. The value displayed next to each interrupt name represents the total count of interrupts triggered by the corresponding digital interrupt.

Digital interrupts in the test panel.
Camera

Once your camera is configured and connected, expand the TEST panel on the CONFIGURE or CONTROL tabs. If everything is configured correctly, you will see the live feed from your camera.

Example Camera view inside Viam app
Encoder

Test the encoder

Once your encoder is configured and connected, open the encoders’s TEST panel on the CONFIGURE or CONTROL tabs. The ticks count is displayed. Try moving the encoder (for example, by turning a motor it is attached to) and check whether the count increases as expected.

Encoder test panel.

If the encoder does not appear on the TEST panel, or if you notice unexpected behavior, check your machine’s LOGS tab for errors, and review the configuration.

Gantry

Test the gantry

Once your gantry is configured and connected, open the gantry’s TEST panel on the CONFIGURE or CONTROL tabs.

Use the panel to adjust the position of the actuator on the axis and check whether it moves as expected.

Gantry test panel.

If the gantry does not appear on the TEST panel, or if you notice unexpected behavior, check your machine’s LOGS tab for errors, and review the configuration.

Generic component

Test the generic component

After you configure your generic component, open the generic’s TEST panel on the CONFIGURE or CONTROL tabs. Use the card to send arbitrary commands to the resource with DoCommand().

The generic component in the test panel.
Gripper

Test the gripper

After you configure your gripper, open the gripper’s TEST panel on the CONFIGURE or CONTROL tabs. Use the buttons to open and close the gripper.

The gripper component in the test panel
Input controller

Test the input controller

After you configure your input controller, open the input controller’s TEST panel on the CONFIGURE or CONTROL tabs. View the current value of each input on your controller.

The input controller component in the test panel of the Viam app.
Motor

Once your motor is configured and connected, open the motor’s TEST panel on the CONFIGURE or CONTROL tabs. Use the buttons to try turning your motor forwards or backwards at different power levels and check whether it moves as expected.

Motor test panel.

If the motor does not appear on the TEST panel, or if you notice unexpected behavior, check your machine’s LOGS tab for errors, and review the configuration.

Movement sensor (GPS)

Test the movement sensor

After you configure your movement sensor, open the movement sensor’s TEST panel on the CONFIGURE or CONTROL tabs. This panel presents the data collected by the movement sensor. The sections in the panel include the position, linear velocity and compass heading.

The movement sensor component in the test panel
Movement sensor (IMU)

Test the movement sensor

After you configure your movement sensor, open the movement sensor’s TEST panel on the CONFIGURE or CONTROL tabs. This panel presents the data collected by the movement sensor. The sections in the panel include the orientation, angular velocity and linear acceleration.

The movement sensor component in the test panel
Power sensor

Test the power sensor

After you configure your power sensor, open the power sensor’s TEST panel on the CONFIGURE or CONTROL tabs. The panel contains readings for your voltage, current, and power.

An instance of the power sensor component's test panel with voltage, current, and power readings.
Sensor

Test the sensor

After you configure your sensor, open the sensor’s TEST panel on the CONFIGURE or CONTROL tabs. To access detailed readings from your sensor, click on the Get Readings button.

The sensor component in the test panel
Servo

Test the servo

After you establish the connection to your servo motor, open the servo’s TEST panel on the CONFIGURE or CONTROL tabs. Use the buttons to move the servo motor to the desired angle.

The servo component in the test panel

Services

The following services also provide control interfaces:

  • SLAM: for creating a new SLAM map and for using the motion service to move a machine on a SLAM map
  • Navigation: for moving a machine to waypoints on a map

Control interface in the Viam mobile app

In addition to the Viam app, the fully featured web application where you can access all fleet management tools, there is a Viam mobile app.

The Viam mobile app allows you to test, monitor and remotely operate machines in your fleet. It provides a control interface for each component and service that you have configured for you machine.

For example, you can view live camera feeds, adjust components’ runtime parameters, and switch between controllable components.

Additionally, the app allows you to:


You can find the mobile app on the App Store and on Google Play.

apple store icon google play store icon

Have questions, or want to meet other people working on robots? Join our Community Discord.

If you notice any issues with the documentation, feel free to file an issue or edit this file.