Components
Viam provides support for a wide variety of hardware. A component represents a physical piece of hardware in your machine, and the software that directly supports that hardware.
Viam groups categories of hardware together, with a standardized API for all models in each grouping.
For example, xarm7
and ur5e
are different arm models, which provide software support for xArm7 arms and UR5e arms, respectively.
Though the hardware is different, you use the same Viam SDK commands to control both models, for example MoveToPosition
.
You need to configure a component to represent each piece of hardware your machine controls.
Configuration is the process of editing the file that indicates to viam-server
what hardware is available to it, how to communicate with that hardware, and how the pieces of hardware relate to each other (for example, which board a motor is connected to).
Viam provides built-in support for the following component types. You can also add support for additional component types using modular resources.
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!