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.
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, go to the CONTROL tab and click on the arm’s dropdown panel.
Use the buttons to move the end position or the joints and check whether it moves as expected.
If the arm does not appear on the CONTROL tab, or if you notice unexpected behavior, check your machine’s LOGS tab for errors, and review the configuration.
Base
Test analogs
Once you have configured your analogs, navigate to the CONTROL tab to monitor analog values.
The numbers displayed next to each analog name represent the digital signal received from the analog inputs.
Test digital_interrupts
After you configure the base, go to the CONTROL tab and expand the base component to view the controls to enable keyboard or discrete control over your machine’s movement.
If your base makes use of a camera component, the CONTROL tab for your base will also display a Live Feeds section.
This section contains buttons to toggle cameras on or off and to arrange how you view the camera feeds.
On the Keyboard tab, 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.
Caution
Ensure that your robot has sufficient space to drive around without hitting anyone or anything.
If you navigate to the Discrete tab, you can use movement modes such as Straight and Spin and different movement types such as Continuous and Discrete and directions such as Forwards and Backwards.
If you do not see the base card in the CONTROL tab, check the LOGS tab for possible setup or configuration errors.
Board
Once you have configured your digital interrupts, navigate to the CONTROL tab to monitor interrupt activity.
The value displayed next to each interrupt name represents the total count of interrupts triggered by the corresponding digital interrupt.
Camera
Once your camera is configured and connected, go to the CONTROL tab, and click on the camera’s dropdown menu.
Then toggle the camera or the Point Cloud Data view to ON.
If everything is configured correctly, you will see the live video feed from your camera.
You can change the refresh frequency as needed to change bandwidth.
Encoder
Test the encoder
Once your encoder is configured and connected, go to the CONTROL tab and click on the encoder’s dropdown panel.
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.
If the encoder does not appear on the CONTROL tab, 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, go to the CONTROL tab and click on the gantry’s dropdown panel.
Use the panel to adjust the position of the actuator on the axis and check whether it moves as expected.
If the gantry does not appear on the CONTROL tab, 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, navigate to the CONTROL tab and select the dropdown panel dedicated to the generic component.
Use the card to send arbitrary commands to the resource with DoCommand().
Gripper
Test the gripper
After you configure your gripper, navigate to the CONTROL tab and select the dropdown panel dedicated to the gripper.
Use the buttons to open and close the gripper.
Input controller
Test the input controller
After you configure your input controller, navigate to the CONTROL tab and select the dropdown panel dedicated to the input controller.
View the current value of each input on your controller.
Motor
Once your motor is configured and connected, go to the CONTROL tab and click on the motor’s dropdown panel.
Use the buttons to try turning your motor forwards or backwards at different power levels and check whether it moves as expected.
If the motor does not appear on the CONTROL tab, 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, navigate to the CONTROL tab and select the dedicated movement sensor dropdown panel.
This panel presents the data collected by the movement sensor.
The sections in the panel include the position, linear velocity and compass heading.
Movement sensor (IMU)
Test the movement sensor
After you configure your movement sensor, navigate to the CONTROL tab and select the dedicated movement sensor dropdown panel.
This panel presents the data collected by the movement sensor.
The sections in the panel include the orientation, angular velocity and linear acceleration.
Power sensor
Test the power sensor
After you configure your power sensor, navigate to the CONTROL tab and select the dropdown panel dedicated to your power sensor.
The panel contains readings for your voltage, current, and power.
Sensor
Test the sensor
After you configure your sensor, navigate to the CONTROL tab and select the Sensors dropdown panel.
If you have multiple sensors configured, your sensor will be listed here among others.
To access detailed readings from your sensor, click on the Get Readings button.
Servo
Test the servo
After you establish the connection to your servo motor, navigate to the CONTROL tab and select the dropdown panel dedicated to the servo. Use the buttons to move the servo motor to the desired angle.
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
The Viam mobile app gives you the ability to test, monitor and remotely operate machines in your fleet.
The mobile app 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 machine control interface provides a menu for: