Generic Articulated Arm

The generic arm configuration lets you define a custom robot arm by specifying the number of joints, link geometry, and rotation behavior. This creates a simplified 3D model that uses forward kinematics to visualize your trajectory data.

Overview

Use the generic arm when your robot isn't one of the supported URDF models. You define the arm's geometry manually and the system computes joint positions using forward kinematics — calculating each link's position from the joint angles in your CSV data.

The resulting 3D model is a simplified chain of links and joints (cylinders and spheres) rather than a detailed mesh, but it accurately represents the robot's kinematic behavior.

Joint Count

Specify the number of revolute joints in your robot arm.

ParameterValue
Minimum joints2
Maximum joints10

The joint count determines how many joint angle columns you need to map from your CSV. A 6-DOF arm requires 6 joint angle columns.

Each link is the segment between two consecutive joints (or between the base and the first joint, or the last joint and the end-effector). Specify the length of each link in your robot's native units (typically meters).

  • Link 1 — From base to first joint
  • Link 2 — From first joint to second joint
  • Link N+1 — From last joint to end-effector

Accurate link lengths produce a correctly proportioned 3D model. If you don't know exact values, approximate — the visualization will still show correct relative motion even if absolute scale is off.

Rotation Axes

Each joint rotates around one axis. For each joint, specify:

  • X axis — Rotation around the horizontal axis (pitch-like)
  • Y axis — Rotation around the vertical axis (yaw-like)
  • Z axis — Rotation around the depth axis (roll-like)

The axis assignment determines the plane of rotation for each joint. For a typical 6-DOF arm, the base joint often rotates around Y (yaw), while shoulder and elbow joints rotate around Z (pitch).

Rotation Direction

For each joint, you can specify whether positive angle values produce:

  • Positive direction — Counter-clockwise rotation (standard mathematical convention)
  • Negative direction — Clockwise rotation (inverted)

If your 3D model appears to move in the opposite direction from what you expect, try flipping the rotation direction for the affected joints.

DH Parameters

For advanced users, you can specify Denavit-Hartenberg parameters instead of (or in addition to) simple link lengths and axes. DH parameters provide a more precise kinematic description using four values per joint:

ParameterSymbolDescription
Link lengthaDistance along the common normal between joint axes
Link twistαAngle between joint axes measured about the common normal
Link offsetdDistance along the joint axis from the previous link
Joint angle offsetθRotation about the joint axis (offset added to CSV value)

DH parameters are optional. If omitted, the system uses the simplified link-length + axis model. Use DH parameters when you need precise kinematic accuracy (e.g., matching a specific manufacturer's spec sheet).

How Visualization Works

The 3D viewer uses forward kinematics to render your robot:

  1. Reads the joint angles for the current frame from your CSV
  2. Applies each joint's rotation (around its configured axis, in its configured direction) sequentially from base to tip
  3. Renders links as cylinders connecting joint positions, with spheres at each joint
  4. Optionally shows the end-effector position if those columns are mapped

Example Configuration

A 6-DOF arm configuration might look like:

JointLink LengthAxisDirection
1 (Base)0.15 mYPositive
2 (Shoulder)0.30 mZPositive
3 (Elbow)0.25 mZPositive
4 (Wrist 1)0.10 mYPositive
5 (Wrist 2)0.10 mZPositive
6 (Wrist 3)0.08 mYPositive

After setting these parameters, proceed to Column Mapping to connect your CSV columns to each joint.