[Documentation] [TitleIndex] [WordIndex


Wire generates and maintains one consistent world state estimate based on object detections. It solves the data association problem by maintaining multiple hypotheses and facilitates tracking of various object attributes. The state estimators used for estimation and the probabilistic models used for association can be configured. Technical details can be found in this paper:

J. Elfring, S. van den Dries, M.J.G. van de Molengraft, M. Steinbuch, Semantic world modeling using probabilistic multiple hypothesis anchoring, Robotics and Autonomous Systems, Volume 61, Issue 2, February 2013, Pages 95-105, (pdf)

which also includes a more detailed explanation of the algorithm


To install the wire software, clone the source into your workspace:

git clone https://github.com/tue-robotics/wire.git

Then compile the workspace:



We have created a set of tutorials explaining how to use, tune and interpret the world model and the resulting world state estimate.

Beginner tutorials: demos and visualization

  1. Fusing multiple measurements originating from the same object

    One object can generate multiple measurements at one time step. This can be the result of a poor object detection, but is also common in scenarios including multiple sensors or robots. This tutorial demonstrates the world model's ability to fuse multiple measurements with the same time stamp originating from the same object.

  2. Data association exploiting multiple object attributes

    If a world model object contains different attributes, the data association might simplify, e.g., a red blob is most likely to originate from a red world model object. This tutorial demonstrates the exploitation of multiple attributes per object during data association.

  3. Tracking an unknown number of objects

    Multiple object can have the same visual appearance. Occlusions and unpredictable movements can complicate the data association is such scenarios. This tutorial shows how the world model solves the game of cups.

  4. Visualizing the world model

    This tutorial shows how the wire_viz package can be used an configured..

Intermediate tutorials: using the world model

  1. Feeding detections to the world model

    This tutorial shows the input message type of the wire stack. It in addition explains how any detector can be adapted to publish its results to the world model in the appropriate format.

  2. Using the estimated world state

    This tutorial explains how to interpret and access the world model output by means of a minimal example.

Advanced tutorials: tuning the world model

  1. Tuning the world model: new objects

    The probability of new objects entering the scene is varied. As a result, new object appear sooner or later. This tutorial demonstrates the effect of the probability.

  2. Tuning the world model: object propagation models

    The models used for object propagation determine the probability of associations between predicted object positions and measured object positions. This tutorial shows how changing the model influences the world state estimate.

Report a Bug


2024-06-22 14:21