Page cover

How they work

The first chambers were developed at the Seminar for Statisticsarrow-up-right of ETH Zurich, initially conceived as testbeds for causal inference algorithms. They were presented in an open-access paperarrow-up-right in Nature Machine Intelligence, together with their open-source blueprintsarrow-up-right and a collection of public datasetsarrow-up-right.

In a nutshell, a chamber contains a physical system and allows us to control and measure its variables without human supervision. It provides validation tasks with a ground truth for a variety of algorithms from ML, AI, statistics, and engineering.

In principle, any physical system is chamberizable as long as (1) its variables can be digitally measured and controlled, and (2) it can be reset without human supervision.

Because the physical system is well understood, we can also provide a ground truth for causal inference tasks, as well as mechanistic modelsarrow-up-right and simulatorsarrow-up-right of the physical phenomena inside the chambers. These are particularly useful for studying problems in Sim2Real, Simulation-Based Inference, Hybrid Learning, and related fields. See the case studies for examples.

Hardware configurations

A chamber can operate under several configurations, exposing different variables of the underlying physical system. Furthermore, the chamber can set control inputs as functions of other sensor measurements, allowing for feedback mechanisms and tunable causal effects.

circle-info

Configurations are specified at the beginning of an experiment and loaded automatically by the chamber.

chevron-rightLight Tunnel Mk2: hardware configurations hashtag
chevron-rightWind Tunnel Mk2: hardware configurations hashtag

Chamber control language

The chambers are controlled through a simple language with three instructions.

This sets the variable target to the given value, returning when the change has been made in the hardware.

See the hardware configurations of each chamber for a list of variables and their valid and default values.

Instructions can be sent synchronously (see real-time experiments) or as an experiment protocol, which is placed on a queue and executed when a chamber becomes available.

Last updated