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.
| Parameter | Value |
|---|---|
| Minimum joints | 2 |
| Maximum joints | 10 |
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.
Link Lengths
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:
| Parameter | Symbol | Description |
|---|---|---|
| Link length | a | Distance along the common normal between joint axes |
| Link twist | α | Angle between joint axes measured about the common normal |
| Link offset | d | Distance 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:
- Reads the joint angles for the current frame from your CSV
- Applies each joint's rotation (around its configured axis, in its configured direction) sequentially from base to tip
- Renders links as cylinders connecting joint positions, with spheres at each joint
- Optionally shows the end-effector position if those columns are mapped
Example Configuration
A 6-DOF arm configuration might look like:
| Joint | Link Length | Axis | Direction |
|---|---|---|---|
| 1 (Base) | 0.15 m | Y | Positive |
| 2 (Shoulder) | 0.30 m | Z | Positive |
| 3 (Elbow) | 0.25 m | Z | Positive |
| 4 (Wrist 1) | 0.10 m | Y | Positive |
| 5 (Wrist 2) | 0.10 m | Z | Positive |
| 6 (Wrist 3) | 0.08 m | Y | Positive |
After setting these parameters, proceed to Column Mapping to connect your CSV columns to each joint.