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:

AttributeTypeInclusionDescription
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, go to the CONTROL tab and click on the arm’s dropdown panel.

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

Arm control panel.

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



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.