Robot Development Kit
Tip
For an overview of the Viam platform, see Viam in 3 minutes.
Viam’s Robot Development Kit (RDK) is the open-source, on-machine portion of the Viam platform, that provides viam-server
and the Go SDK.
viam-server
viam-server manages the following:
Communication
viam-server
handles all gRPC and WebRTC communication for connecting machines to the cloud or for connecting to other parts of your machine.
Dependency management
Modular resources may depend on other built-in resources or other modular resources, and vice versa. The Viam RDK handles dependency management.
Start-up
viam-server
ensures that any configured modules, built-in resources and modular resources, and processes are loaded on startup.
After start-up, viam-server
manages:
- the configured processes,
- the connections to hardware,
- the running services, and
- the modules that provide the modular resources.
Reconfiguration
When you or your collaborators change the configuration of a machine in the Viam app, viam-server
automatically synchronizes the configuration to your machine and updates the running resources within 15 seconds.
This means you can add, modify, and remove a modular resource instance from a running machine.
You can see configuration changes made by yourself or by your collaborators on the History tab. You can also revert to an earlier configuration from the History tab.
Logging
Log messages written appear under the Logs tab for the machine running the module.
Shutdown
During machine shutdown, the RDK handles modular resource instances similarly to built-in resource instances - it signals them for shutdown in topological (dependency) order.
Next steps
Have questions, or want to meet other people working on robots? Join our Community Discord.
If you notice any issues with the documentation, feel free to file an issue or edit this file.
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!