Configure an xArm7 Arm

Configure an xArm7 arm to integrate a UFACTORY xArm 7 into your machine:

Navigate to the CONFIGURE tab of your machine’s page in the Viam app. Click the + icon next to your machine part in the left-hand menu and select Component. Select the arm type, then select the xArm7 model. Enter a name or use the suggested name for your arm and click Create.

Web UI configuration panel for an arm of model xArm6 in the Viam app, with Attributes & Depends On dropdowns and the option to add a frame.

Edit and fill in the attributes as applicable.

{
  "components": [
    {
      "name": "<your-arm-name>",
      "model": "xArm7",
      "type": "arm",
      "namespace": "rdk",
      "attributes": {
        "host": "<ip-address-to-connect-to-your-arm>",
        "port": <int>,
        "speed_degs_per_sec": <float>,
        "acceleration_degs_per_sec_per_sec": <float>
      },
      "depends_on": []
    }
  ]
}
{
  "components": [
    {
      "name": "my_xArm7",
      "model": "xArm7",
      "type": "arm",
      "namespace": "rdk",
      "attributes": {
        "host": "10.0.0.97"
      },
      "depends_on": [],
      "frame": {
        "orientation": {
          "type": "ov_degrees",
          "value": {
            "th": 0,
            "x": 0,
            "y": 0,
            "z": 1
          }
        },
        "parent": "world",
        "translation": {
          "x": 0,
          "y": 0,
          "z": 0
        }
      }
    }
  ]
}

The following attributes are available for xArm7 arms:

AttributeTypeRequired?Description
hoststringRequiredIP address of the arm’s system on your network. Find this when setting up your xArm.
portintOptionalPort number of the arm’s system. Find this when setting up your xArm.
Default: 502
speed_degs_per_secfloatOptionalDesired maximum speed of joint movement in degrees/sec.
Default: 20.0
acceleration_degs_per_sec_per_secfloatOptionalDesired maximum acceleration of joint movement in degrees/sec2.
Default: 50.0

See the frame system service for more information on utilizing and modifying the "frame" configuration shown in the JSON Example above.

Test the arm

Once your arm is configured and connected, open the arm’s TEST panel on the CONFIGURE or CONTROL tabs.

Use the buttons to move the end position or the joints and check whether it moves as expected.

Arm test panel.

If the arm does not appear on the TEST panel, or if you notice unexpected behavior, check your machine’s LOGS tab for errors, and review the configuration.

Next steps

For more configuration and development info, see:

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.