Reference
Units & capacities
Repose never grows a container at runtime. Every size is a constant you can look up here, and every quantity has a fixed unit.
Units
| Joint positions | CuJointPosition: rad or m by joint type. |
| Joint derivatives | rad/s, rad/s², rad/s³ or m/s, m/s², m/s³. |
| Poses | Transform3D<f64>, metres, base frame. |
| Planner distances and cost | Dimensionless, normalised by CuJointMetric (default 1 rad ≡ 1 m). |
| Controller limits | Bare SI magnitudes compared per joint in that joint's unit. |
| Template programs | Degrees and metres, converted by the runner. The only exception. |
Type parameters
N | Movable joints. Must agree across chain, model, every task and payload in a graph; the compiler enforces it. |
M | Collision shapes, default N. Raise for multi-shape links or imported robots. |
MAX_POINTS / CAP | Trajectory knots, default 64. Examples use 1024. |
Fixed capacities
| Plan waypoints | 32 (MAX_WAYPOINTS) |
| Request scene | 16 obstacles, 8 attached, 16 exclusions |
| Planning scene default | 32 obstacles, 8 attached |
| Collision report default | 16 contacts |
| RRT* / RRT-Connect | 256 nodes (per tree for RRT-Connect) |
| PRM | 1024 nodes, 10 neighbours each |
| A* | 2048 lattice nodes |
| STOMP | 16 rollouts |
| Session detail text | 32 bytes |
Exhausting a capacity is reported (CapacityExceeded, a scene error, total_contacts above the stored count), never a silent truncation.
Hard limits to plan around
- Serial chains only: no branched or closed-chain mechanisms.
- Collision geometry is spheres and capsules; URDF boxes and meshes must be approximated.
- Collision and edge checks are discrete samples, not swept volumes. Execution-time collision monitoring is not built in.
- Planning goals are joint configurations; Cartesian goals go through IK first.
- UR motion is verified on URSim only; bridge motion is gated behind a feature and config flags that default off.