This past month has been nothing short of exciting. As a team, we’ve held the NY Hardware Meetup at our office, sponsored February’s NYC Robotics Meetup at Newlab, led a workshop and judged at MakeMIT, and released several tools to our platform.
Today, we're thrilled to highlight some of the sparkly new updates we've made to the platform based on recommendations from our community. So scroll through—and maybe even get inspired to use some of these features on your next build.
New features
1. Reusing rovers in Try Viam
If you’ve previously used Try Viam and thought, “I wish I could save my progress to return to later,” you’re in luck. Individuals can now reuse a robot config if they want to continue working on a project they started in a prior session. With this feature, you can:
- Access past configurations including ones with any added components or services
- Leverage computer vision and data management to train the Viam Rover to identify a shape or color within the “rover rink.”
- …and more
2. SDK dynamic updates
You no longer have to import and give the name of all the components and services you add to your robot’s config—because the code samples provided by our app do it for you. The code sample for each SDK dynamically updates as resources are added to the config and provides an example of calling a simple "Get" method for each resource on your robot.
Check out the examples below to see how to get started coding with the Viam Python SDK—without having to read through a lot of documentation.
3. TypeScript SDK
While the interface in our Control tab is perfect for testing your robot, we understand that you might want to track other elements within the UI. That’s why our Typescript SDK exists—to allow you to easily create a customizable web interface to control your robots.
Here are some examples of elements you can add to your interface with this SDK:
- Accelerometer Readings: know how fast or slow your robot is moving
- Motor controls: create specific controls unique to your robot and easily access them
As part of this update, the RDK server running on the robot can detect if a given Typescript SDK client session has lost communication by monitoring the robot’s heartbeat every 2 seconds. If communication is lost, the RDK server automatically stops taking commands from the client.
🚀 How to install the Typescript SDK
npm install --save @viamrobotics/sdk
4. Frame system visualizer
Within Viam's interface, you can now set up a frame system on your robot using a 3D visualizer. This tool enables the RDK to transform poses between different component reference frames.
This is highly beneficial for motion planning, as it gives individual components a geometry so the RDK's built-in motion planner can avoid obstacles during path planning.
To use this new update, head to the "Frame System" tab on the config UI. See it in action below.
5. Viam for microcontrollers
Micro-RDK is a lightweight version of the RDK capable of running on an ESP32. To see examples of this in use or to set this up, head to our Micro-RDK GitHub repo.
Bug fixes
Check out the February 2023 release notes in our documentation to see more about these bugs we crushed this month:
- Viam Server goes into restart loop instead of using cached config
- Never have long-lived I2CHandle objects
- Sensor does not show GPS readings
- Add implicit dependencies to servo implementation
- Switch cpp SDK build system to CMake
If you have any feedback you'd like to have implemented, join our active Discord server—our engineers and product managers are constantly scanning for recommendations on how we can level up Viam.
And, if you want to look through our past monthly updates, head to our release notes or our blog (here are our January ’23 and December ’22 roundups).
Now, let's build some more robots. 🦾