Configure your Viam Rover with a Fragment
To be able to drive your rover, you need to configure it. Viam provides reusable fragments for Viam rovers.
Prerequisites
- An assembled Viam Rover. For assembly instructions, see Unbox and Set Up your Viam Rover
- The board is connected to the Viam app. To add your Pi to the Viam app, refer to the rover setup guide.
Add the fragment
Follow the appropriate instructions for the model of rover and board you have:
Navigate to your machine in the Viam app. In the left-hand menu of the CONFIGURE tab, click the + (Create) icon next to the machine part you want to add the fragment to.
Select Insert fragment.
Now, you can see the available fragments to add.
Select ViamRover2-2024-rpi5
and click Insert fragment again to add the fragment to your machine configuration:
Click Save in the upper right corner of the page to save your new configuration.
The fragment adds the following components to your machine’s JSON configuration:
- A board component named
local
representing the Raspberry Pi. - Two motors (
right
andleft
)- The configured pin numbers correspond to where the motor drivers are connected to the board.
- Two encoders, one for each motor
- A wheeled base, an abstraction that coordinates the movement of the right and left motors
- Width between the wheel centers: 356 mm
- Wheel circumference: 381 mm
- Spin slip factor: 1
- A webcam camera
- An accelerometer
- A power sensor
For information about how to configure components yourself when you are not using the fragment, click the links on each component above. To see the configured pin numbers and other values specific to this fragment, view it in the app.
Navigate to your machine in the Viam app. In the left-hand menu of the CONFIGURE tab, click the + (Create) icon next to the machine part you want to add the fragment to.
Select Insert fragment.
Now, you can see the available fragments to add.
Select ViamRover2-2024-rpi4-a
and click Insert fragment again to add the fragment to your machine configuration:
Click Save in the upper right corner of the page to save your new configuration.
The fragment adds the following components to your machine’s JSON configuration:
- A board component named
local
representing the Raspberry Pi. - Two motors (
right
andleft
)- The configured pin numbers correspond to where the motor drivers are connected to the board.
- Two encoders, one for each motor
- A wheeled base, an abstraction that coordinates the movement of the right and left motors
- Width between the wheel centers: 356 mm
- Wheel circumference: 381 mm
- Spin slip factor: 1
- A webcam camera
- An accelerometer
- A power sensor
For information about how to configure components yourself when you are not using the fragment, click the links on each component above. To see the configured pin numbers and other values specific to this fragment, view it in the app.
Navigate to your machine in the Viam app. In the left-hand menu of the CONFIGURE tab, click the + (Create) icon next to the machine part you want to add the fragment to.
Select Insert fragment.
Now, you can see the available fragments to add.
Select ViamRover202210b
and click Insert fragment again to add the fragment to your machine configuration:
Click Save in the upper right corner of the page to save your configuration.
The fragment adds the following components to your machine’s JSON configuration:
- A board component named
local
representing the Raspberry Pi- An I2C bus for connection to the accelerometer.
- Two motors (
right
andleft
)- The configured pin numbers correspond to where the motor drivers are connected to the board.
- Two encoders, one for each motor
- A wheeled base, an abstraction that coordinates the movement of the right and left motors
- Width between the wheel centers: 260 mm
- Wheel circumference: 217 mm
- Spin slip factor: 1
- A webcam camera
- An accelerometer
Info
This particular motor driver has pins labeled “ENA” and “ENB.” Typically, this would suggest that they should be configured as enable pins, but on this specific driver these function as PWM pins, so we configure them as such.
For information about how you would configure a component yourself if you weren’t using the fragment, click the links on each component above. To see the configured pin numbers and other values specific to this fragment, view it in the app.
Navigate to your machine in the Viam app. In the left-hand menu of the CONFIGURE tab, click the + (Create) icon next to the machine part you want to add the fragment to.
Select Insert fragment.
Now, you can see the available fragments to add.
Select ViamRover2-2024-jetson-nano-a
and click Insert fragment again to add the fragment to your machine configuration.
Click Save in the upper right corner of the page to save your new configuration.
The fragment adds the following components to your machine’s JSON configuration:
- A board component named
local
representing the Jetson. - Two motors (
right
andleft
)- The configured pin numbers correspond to where the motor drivers are connected to the board.
- Two encoders, one for each motor
- A wheeled base, an abstraction that coordinates the movement of the right and left motors
- Width between the wheel centers: 356 mm
- Wheel circumference: 381 mm
- Spin slip factor: 1
- A webcam camera
- An accelerometer
- A power sensor
For information about how to configure components yourself when you are not using the fragment, click the links on each component above. To see the configured pin numbers and other values specific to this fragment, view it in the app.
Navigate to your machine in the Viam app. In the left-hand menu of the CONFIGURE tab, click the + (Create) icon next to the machine part you want to add the fragment to.
Select Insert fragment.
Now, you can see the available fragments to add.
Select ViamRover2-2024-nano-orin-a
and click Insert fragment again to add the fragment to your machine configuration:
Click Save in the upper right corner of the page to save your new configuration.
The fragment adds the following components to your machine’s JSON configuration:
- A board component named
local
representing the Jetson. - Two motors (
right
andleft
)- The configured pin numbers correspond to where the motor drivers are connected to the board.
- Two encoders, one for each motor
- A wheeled base, an abstraction that coordinates the movement of the right and left motors
- Width between the wheel centers: 356 mm
- Wheel circumference: 381 mm
- Spin slip factor: 1
- A webcam camera
- An accelerometer
- A power sensor
For information about how to configure components yourself when you are not using the fragment, click the links on each component above. To see the configured pin numbers and other values specific to this fragment, view it in the app.
See the components on the configuration page
Adding a fragment to your machine adds the configuration to your machine. The components and services included in the fragment will now appear as cards on the CONFIGURE tab, along with a card for your fragment:
Modify the config
The fragment you added is read-only, but if you need to modify your rover’s config you can overwrite sections of the fragment.
Next steps
After you have configured your rover, follow one of these tutorials:
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!