Services reference
Built-in services are software capabilities that ship with viam-server.
Unlike hardware drivers, which talk to a specific piece of equipment, services provide advanced capabilities that often work across many components, such as motion planning coordinating clear paths for an arm around obstacles.
Before you add a service, search the Viam registry for the capability you need.
The registry has modules maintained by Viam and the community that provide a wide range of services, such as vision models and integrations with external platforms and APIs.
Use a built-in service when it covers your use case: because it ships with viam-server, you can add it to any machine’s configuration without installing a module.
If neither fits, build your own.
Each page below covers available models, configuration attributes, and JSON templates. For API method reference, see Service APIs.
| Service | Description |
|---|---|
| Base remote control | Drive a mobile base with an input controller like a gamepad or joystick |
| Discovery | Detect available hardware on a machine and suggest component configurations |
| Frame system | Store spatial relationships between components so other services can reason about position and orientation |
| Generic | A catch-all API for services that don’t fit other service types |
| Motion | Plan and execute movement for components relative to themselves, other machines, and the world |
| Vision | Add computer vision capabilities like detection, classification, and segmentation to cameras |
Was this page helpful?
Glad to hear it! If you have any other feedback please let us know:
We're sorry about that. To help us improve, please tell us what we can do better:
Thank you!