Manage Robots
A robot is an organizational concept, consisting of either one part, or multiple parts working closely together to complete tasks. The robot represents the configuration and entry point for one or more computers (and the components they control) coupled into one logical grouping of parts that work together to complete tasks. A robot usually reflects a physical device, from a camera collecting images, to a wheeled rover, or an articulated arm on a factory floor. A robot always has a main part that receives client requests, and any number of other parts.
Add a new robot
Add a new robot by providing a name in the New Robot field and clicking Add robot.
Click the name of a robot to go to that robot’s page, where you’ll find a variety of tools for working with your robot.
Navigating the robot page
The banner at the top of the robot page displays the robot’s location, name, and a drop down list of all parts of that robot.
If you’ve connected your robot to a machine running viam-server
, the banner also displays when the robot was last online, which version of viam-server
it is running, the host name, the IP address or addresses, and its operating system.
For each robot in your fleet, you start by setting up the robot on the Setup tab:
Setup
The Setup tab contains information for starting an instance of viam-server
on your robot’s computer.
Once you select the correct Mode and Architecture for your system in the upper left of the tab, follow the instructions on the page to connect and set up your robot.
Tip
More in-depth information on installing viam-server
can be found in our Install Guide.
Configuration
When a robot or a robot part that is managed with the Viam app first comes online, it requests its configuration from the Viam app. Once the robot has a configuration, it caches it locally and can use the configuration for up to 60 days. The robot checks for new configurations every 15 seconds and changes its configuration automatically when a new configuration is available.
After connecting your robot, go to the Config tab, and start adding robot components, services, and other robot resources.
For more information, see the configuration documentation.
Tip
If you are managing a large fleet, you can use fragments when configuring your robot.
History
The configuration of your robot and the code it runs are kept separate to make debugging easier. The History tab shows timestamped changes to your robot’s configuration.
If you want to revert changes that you made, you can load a previous configuration by clicking the Load config button next to the respective configuration.
You can also change your timestamp format to ISO or Local depending on your preference.
Logs
To make debugging issues with your robots easier, each robot automatically sends its logs to the cloud. You can access your logs from the Logs tab in the Viam app and filter your logs for specific keywords or log levels:
You can also change your timestamp format to ISO or Local depending on your preference.
Control
Once you have configured components and services for your robot, you can visually test and remotely operate them from the Control tab in the Viam app. For example, if you have configured a base with wheels, you can control your robot’s movement with an arrow pad and fields to change base’s speed. 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 robot uses WebRTC. For local communication between parts Viam uses gRPC or WebRTC.
Code Sample
To start programming your robot, go to the Code Sample tab which contains boilerplate code snippets you can copy and paste into your SDK code to connect to your robot.
For more information on the SDKs, see Program your Robot with Viam’s SDKs.
There is also a JSON stub you can copy if you wish to have your robot communicate with another robot as a remote.
Caution
Do not share your location secret, robot secret, or robot address publicly. Sharing this information compromises your system security by allowing unauthorized access to the computer running your robot.
Security
Your robot and the Viam app communicate securely using WebRTC with unique secrets.
The Security tab allows you to access and change the Robot Part Secret Keys of your robot.
Copy the secret key by clicking on the clipboard icon. Click on the Generate Key button to generate a new key.
Caution
Be cautious when sharing robot part secret keys in your code or messages.
Do not make a secret key publicly available, as any entity who has this token has access to your robot, compromising the security of your system.
Note where and when you share a robot part secret key. After generating a new secret key, remember that it’s best practice to update all references to the key in your code as soon as possible, even though Viam supports flexible key rotation with up to two keys in use at one time.
Delete a robot
You can delete a robot by checking the Sure? box in the lower left of the robot page and clicking Delete robot.
Have questions, or want to meet other people working on robots? Join our Community Discord.
Was this page helpful?
Glad to hear it! If there is anything we could be doing better, please create an issue.
We're sorry about that. If you'd like to talk to us for help, please join the Community Discord. To ensure we know what's wrong with this page, you can also open an issue.