March 31, 2023

March '23 Product Roundup

Written by
Natalia Jacobwitz
Product Manager

The arrival of spring isn’t the only thing our team was excited about in March! From releasing end-to-end machine learning management on Viam to collaborating with Simone Giertz on creating Chargla (an autonomous Tesla charging robot), it’s been a really fun month.

If ML + robots caught your attention, we won’t delay—let’s get right into what’s new this past month on Viam.

New features

1. End-to-end machine learning management

You can now train and deploy image classification models using your robots’ image data—right within Viam! With our data management service, you can manage the whole process of capturing and using data from your robots, including:

  • Capturing and syncing data from your robots to the cloud
  • Accessing and exporting your data
  • Using the image data you’ve captured to train image classification models
  • Deploying trained classification models to your robots
  • Uploading and using existing ML models with your robots

Train an ML model on your robot's data in Viam

Take a look at the whole flow in this video!

Learn more about training ML models using Viam in our documentation. Our goal is to make using machine learning in robotics more accessible for folks, and we hope this new feature makes it easier to get started!

Have any questions about using ML with your robots on Viam? Reach out to us using our on-site chat or on Discord.

2. Motion planning with constraints

We have added a new ‘constraint’ parameter to the Motion API. This allows you to apply constraints for how a robot can move:

  • linear’ means that a robot or part needs to move in a straight line
  • orientation means that a robot should maintain a particular orientation

These settings are useful for programming a robot to write on a whiteboard or hold a cup of water without spilling. The constraint system also allows you to specify that obstacles should only apply to selective frames of a robot.

Enabling a robot to draw on a whiteboard using motion planning constraints
Robot built by our very own Peter LoVerso, Robotics Engineer

For example, the end of our menorah robot was able to touch the candles of the menorah to light them, but the candle was considered to be an “obstacle” to the rest of the robot to prevent accidental robot fires. 

This new motion planning feature will be on display in Viam’s booth at ICRA 2023—stop by to see it in action!   

3. Fragments show up in your Components and Services

When you add a fragment to your robot configuration, you’ll now automatically see the added configurations in the Components or Services subtabs in the builder view mode. This makes it easier to keep track of exactly what you’ve added to your robot as fragments and how it’s configured.

(Tip: A fragment in Viam is a reusable configuration block representing a common hardware pattern. Using a fragment makes it easy to manage a fleet of multiple robots configured in the same way.)

Fragments you add now show up in your Components and Services on Viam
Adding a fragment

Seeing the added fragment in the Components subtab
Seeing the added fragment in the Components subtab


1. Sticky GPS keys

GPS keys you provide are now saved to your local storage so that they can be used again when you reload the page, saving you time and hassle when working with GPS data.

2. More reliable camera streams

If you ever experienced some freezing or flashing with your robots’ camera streams before, that’s now a thing of the past. Our camera stream improvements will make for a more reliable and less glitchy experience.

Camera streams now also automatically restart if you momentarily lose internet connection. Clear sights ahead!

3. Updates to Logs and History

We’re always a fan of useful logs and history information. We've made some UI updates to Logs and History so you can now:

  • Load a previous configuration if you want to revert to changes you made in the past
  • Search your logs by filtering for specific keywords or types of logs like info or error messages
  • Change your timestamp format to ISO or Local depending on your preference

Load a previous config on Viam
Load a previous config

Search or filter your logs on Viam
Search your logs

Change the timestamp format on Viam
Change the timestamp format

We hope these small updates make it easier for you to debug and solve any issues you run into while building your robots!

Bug fixes

Here are the bugs we crushed this month:

  • Previously, when remotely controlling robots, keyboard inputs sometimes got stuck repeating endlessly—not anymore! 
  • We tidied up editing robot parts names and seeing code samples for parts.
  • For servo components, the remote control slider would sometimes show the angle set to 180°—the slider now accurately reflects the default value of a 0° angle.

And that’s a wrap on March! If you have any questions, feedback, or ideas for features you’d like to see next, definitely let us know on Discord. Our community is actively growing and we’d love to hear from you.

We look forward to a season full of robots in bloom with you!

on this page

Get started with Viam today!