Skip to content

Root Component Constraints

Root component constraints (or "root constraints") are a little different from spatial or temporal constraints. Unlike those constraints, which describe values that can be refined with calibration, root constraints are purely symbolic. They allow the formation of abstract relationships between components.

Every component is required to have a root component counterpart, even if that root component is itself.

Let's go back to our two RealSenseā„¢ D435i from before.

a complex plex

A Plex doesn't have a notion of "sensor" or "device"; it just knows the spatial and temporal relationships between every component. However, an engineer might care very much about which components belong to which sensor suites on a complex system. We can record this relationship through a root constraint on every component.

Let's put a root constraint between every component on each RealSenseā„¢ D435i with its respective color camera:

a plex with root constraints

We can now see clearly how these components might be related to one another on the physical system just by following the root constraints.

Root constraints can be chained as well. There's no requirement for their construction or ordering, as long as every component has one.

a plex with strange root constraints

Of course, well-thought-out root constraints can make parsing a Plex that much easier!