Cool Stuff
December 20, 2022

How We Built Try Viam

Written by
Natalia Jacobwitz
Product Manager

We recently released Try Viam to give users a way to experience the Viam platform without any setup whatsoever. In a matter of minutes, Try Viam lets you remotely access, control, and practice coding a real robot (the Viam Rover) that lives in our NYC offices from wherever you are. It was a pretty impressive three-week sprint from our engineering team to get this up and running before the holiday season.

Check it out!

Overview

Try Viam uses custom logic to manage the user queue and kick off your experience, and a bit of automation to speed things up. However, the core experience uses Viam’s native capabilities to: 

  1. Remotely provision a robot and secure user access 
  2. Provide remote access to test capabilities
  3. Expose APIs to develop applications

1) Provision a robot and secure user access 

Once it's your turn to take over a Rover in the Viam office, we use Viam’s Fleet Management to create a new location, create a new configuration of your Viam Rover within that location, push the new configuration to your Rover, and… that’s it. Your Rover is ready for use. 

We automated these steps to improve the Try Viam experience, but the same capabilities are available for any robotics project, or business. 

Here’s how they work: 

Locations: Viam robots can be assigned locations to organize them and control user access. For example, you can have a location for ‘New York Warehouse’ or ‘Testing’. You control which users have access to locations, and every robot within a location uses a secret to authenticate and authorize access. 

Robot Configuration: Within a location, each robot has a distinct configuration file that declares its hardware components and higher level services. If you navigate over to the CONFIG tab, you can see the Rover hardware: a Raspberry Pi, two motors and two encoders, a base, and a camera. Any changes to the configuration are pushed to the robot as a simple JSON file. 

Current Viam partners and customers are using these same capabilities to simplify how they configure and manage fleets of robots. Viam lets their hardware engineers configure robots through an intuitive UI instead of manually programming them, and every robot has secure management and access built-in. 

2) Provide remote access to test capabilities

Once a Viam Rover is configured and running, you can teleoperate it via WebRTC through the CONTROL tab using your keyboard or a hardware controller. Every Viam robot natively supports teleoperation, so setting this part of Try Viam up required no custom logic or automation. 

Partners and customers are using our remote access capabilities to accelerate prototyping and teleoperate robots in the field. Their hardware engineers can modify hardware and immediately test functionality without any custom coding. And they can access robots in the field from anywhere, which is great for debugging, troubleshooting, manually completing tricky tasks, and more.   

3) Expose APIs to develop applications

The Viam Rover’s API exposes intuitive methods through gRPC for each type of hardware. You can start programming the Viam Rover by navigating to the CODE SAMPLE tab, installing an SDK, and copying some sample code or writing your own. Every robot running on Viam supports this capability so we didn’t have to do any custom work for Try Viam here either. 

The code you write for the Viam Rover works the exact same with real robots in production. For example, you could program the Viam Rover to move in a square, and use the same logic to create an automated path for an automated guided vehicles (AGV) in a warehouse or field. Our early customers are using Viam for exactly this – their software engineers can immediately start writing code with prototypes, and easily apply what they build to production robots. 

Summary 

And, that’s it! While we automated a few steps to provision your robot, every capability that powers Try Viam is available to you on the Viam platform. 

We’re excited to see what you build – join our Discord server to share your ideas and get feedback from others in the community. And, check back in soon for some exciting new updates with Try Viam. 

on this page

Get started with Viam today!