Configure a lite6 Arm

Configure a lite6 arm to add a UFACTORY Lite 6 to your machine.

If you want to test your arm as you configure it, connect it to your machine’s computer and turn it on. Then, configure the arm:

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 lite6 model. Enter a name or use the suggested name for your arm and click Create.

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

Fill in the attributes as applicable to your arm, according to the table below.

{
  "components": [
    {
      "name": "<your-arm-name>",
      "model": "lite6",
      "type": "arm",
      "namespace": "rdk",
      "attributes": {
        "host": "<your-arms-ip-address-on-your-network>",
        "port": <int>,
        "speed_degs_per_sec": <float>,
        "acceleration_degs_per_sec_per_sec": <float>
      },
      "depends_on": []
    }
  ]
}
{
  "components": [
    {
      "name": "my_arm",
      "model": "lite6",
      "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 lite6 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.

Additional commands

In addition to the Arm API, the lite6 arm supports some model-specific commands that allow you to set the speed and the acceleration of the arm. You can invoke these commands by passing the following JSON document to the DoCommand() method:

{
  "set_speed": 45.0,
  "set_acceleration": 10.0
}
KeyTypeDescription
set_speedfloatSpeed in degrees per second.
set_accelerationfloatAcceleration in degrees per second per second.

For example:

command = {
  "set_speed": 45.0,  # Set speed to 45.0 degrees per second
  "set_acceleration": 10.0  # Set acceleration to 10.0 degrees
                            # per second squared
}
result = await my_arm.do_command(command)
myArm, err := arm.FromRobot(machine, "my_arm")

cmd := map[string]interface{}{
    "set_speed": 45.0, // Set speed to 45.0 degrees per second
    "set_acceleration": 10.0  // Set acceleration to 10.0 degrees per second squared
}

result, err := myArm.DoCommand(context.Background(), cmd)
const command = {
  'set_speed': 45.0, // Set speed to 45.0 degrees per second
  'set_acceleration': 10.0 // Set acceleration to 10.0 degrees per second squared
};

var result = myArm.doCommand(command);

Troubleshooting

If your arm is not working as expected, follow these steps:

  1. Check your machine logs on the LOGS tab to check for errors.
  2. Review this model’s documentation to ensure you have configured all required attributes.
  3. Click on the TEST panel on the CONFIGURE or CONTROL tab and test if you can use the arm there.

If none of these steps work, reach out to us on the Community Discord and we will be happy to help.

Next steps

For more configuration and usage 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.