Skip to content

Plex Flexibility

Components and constraints are incredibly flexible. To illustrate this, let's look at a Plex under construction that has components but no constraints (yet).

A Plex with components but no constraints

Root Constraints

Our root constraints here all point to infrared (IR) camera 2. We know that every component belongs to the same RealSenseā„¢ D435i; designating IR camera 2 as the root suggests this connection symbolically via the Plex.

Comprehensive Component Constraints

Since the IR camera 1 component, IR camera 2 component, and depth component are all operating on the same device, their spatial and temporal constraints are straightforward to assign.

Master clock tied to the Plex with a temporal constraint

"Temporal" Components

The master clock is a component itself; it puts out timestamp observations that help keep our Plex in sync. We can tie it to the rest of the Plex through a temporal constraint. This clock is not a physical component, so adding a spatial constraint doesn't make sense.

Master clock tied to the Plex with a temporal constraint

"Spatial" Components

Lastly, it might be important that we know where all of this equipment is located relative to the chassis of our system. A chassis doesn't produce any observations, but it still acts as a spatial anchor for our Plex. We can add this information by making it a component with a spatial constraint:

A physical anchor

Now if we put it all together, we have a complete Plex made with a variety of different components:

  • Conventional hardware components (the IR cameras) with spatial and temporal constraints
  • Components defined by temporal constraints alone (the master clock)
  • Components that produce no observations (the chassis), but that still inform the Plex

A full Plex