Glossary
API
API Namespace Triplet
One API can have various models, custom or built-in, but they all must conform to the same API definition. This requirement ensures that when a resource of that model is deployed, you can interface with it using the same client API methods you would when programming resources of the same API with a different model.
Each resource implements one and only one API.
For example:
Attribute
Base
Blob storage
Board
Captive web portal
Client Application
Component
Flash
- Downloading an image file (OS or firmware)
- Using specialized software to write the image to the target device
- Verifying the write was successful
- Booting or resetting the device to load the new software
For example, when setting up a Raspberry Pi for use with Viam, you would “flash” Raspberry Pi OS to an SD card using the Raspberry Pi Imager or similar software.
Flashing is different from regular software installation because it involves writing directly to storage at a low level, often replacing everything on the target storage medium.
Fragment
Frame
Frame System
Gantry
gRPC
Jobs
Location
Machine
Machine Config
Machine FQDN
Machine ID
ML
Model
Models are either included with viam-server or provided through modules.
All models are uniquely namespaced as colon-delimited-triplets.
Built-in model names have the form rdk:builtin:name.
Modular resource model names have the form namespace:module-name:model-name.
See Write your module for more information.
Model Namespace Triplet
Modular Resource
For more information see the Create a module.
Module
MQL
Organization
Origin frame
For more information, see How the frame system works.
Package
Part
Pi
Pin Number
Pin numbers are found on a board’s pinout diagram and datasheet.
Protocol Buffers (Protobuf)
RDK (Robot Development Kit)
Remote part
Resource
Each resource on your machine implements either one of the existing Viam APIs, or a custom interface.
SDK (Software Development Kit)
For more information, see Interact with Resources with Viam’s Client SDKs.
Service
Smart Machine
SQL
Subtype
For example, an arm is a subtype of the component resource type, while the ur5e is a model of the arm subtype’s API.
The Vision Service is a subtype of the service resource type.
The subtype string is the third part of the API namespace triplet.
Trigger
Type
Viam Agent
Viam Robot API
viam-micro-server
viam-server
View setup instructions
Vision service
For more information, see the Vision service documentation or Alert on inferences.
WebRTC
Websockets
World frame
The user chooses the world frame, and defines it implicitly. For example, if you have a robot arm mounted on a table and you define the arm’s origin frame as having no translation or orientation relative to the world frame, then the arm’s origin frame is the origin of the world frame.