Configure a Fake Arm
Configure a fake
arm to test different models of robotic arms without any physical hardware.
Configure a fake
arm as follows:

Note that this visual example sets the fake
arm to act as a ur5e
arm.
{
"name": "<arm_name">",
"type": "arm",
"model": "fake",
"attributes": {
"arm-model": "<your_arm_model>"
"model-path": "<your_arm_model_config_filepath>" // REMOVE if using arm-model
}
}
The following attributes are available for fake arms:
Name | Inclusion | Description |
---|---|---|
arm-model | Optional | The name of the robotic arm model you want your fake arm to act as. This attribute must match the name of one of the arms Viam currently supports. See here for supported model names. |
model-path | Optional | The path to a compatible Arm’s ModelJSON or URDF configuration file that you want your fake arm to act as. This path should point to the exact location where your configuration file is located on your computer running viam-server . |
Caution
At least one of these attributes must be supplied for your fake
arm to work.
If neither are specified, an error is thrown asking for specification.
If both attributes are specified, an error is thrown stating “can only populate either ArmModel or ModelPath - not both”.
Refer to the following JSON examples for differences in configuration between the two attributes available:
{
"name": "<arm-name">",
"type": "arm",
"model": "fake",
"attributes": {
"arm-model": "ur5e"
}
}
{
"name": "<arm-name">",
"type": "arm",
"model": "fake",
"attributes": {
"model-path": "/Users/<YOUR-USERNAME>/downloads/universalrobots/ur5e.json"
}
}
Once you have successfully configured your fake
arm, you can navigate to the CONTROL tab of the Viam app.
A drop-down menu should appear with the name of your arm that allows you to toggle the fake arm’s joint positions and Cartesian end positions to dynamically test motion planning:

Note that this visual example sets the fake
arm to act as a ur5e
arm.