Skip to main content

Adding a Custom Joint

CORA is designed to be extended without modifying platform code. A new joint type is a self-contained folder.

Folder structure

<ros_package>/joints/
└── your_joint_id/
├── manifest.json # required — see Joint Manifest Schema
├── description # CadQuery parametric script
├── meshes # meshes folder
| ├── your_joint_id.gltf # visual mesh
└── your_joint_id.urdf.xacro # simplified collision mesh

Steps

1. Create the folder

Use your joint ID (snake_case) as the folder name.

2. Write manifest.json

Follow the Joint Manifest Schema. Validation runs on server startup — the backend will refuse to start if any manifest is invalid.

2. Add mesh files

Provide a visual mesh (.dae or .stl) and a simplified collision mesh (.stl). Reference both in the manifest mesh field.

3. Create URDF

Create the urdf using the frame standard described in Joint Frames.