[Documentation] [TitleIndex] [WordIndex



This package offer visualizations for asr_psm learner and inference results using RViz and gnuplot.

Learned gaussian mixture models (GMMs) representing the relations between scene objects are drawn as ellipsoids representing their kernels (in position), connected by arrows:


Figure 1: Learning of a relation based on an example. Arrows indicate the relative positions in the coordinate frame of the parent node, depicted to the right. A single Gaussian kernel was learned.


Figure 2: Visualization of another learned model. The covariance ellipsoids describe the relative position of an object in the frame of the superior (parent) object. The trajectory relative to it is marked by the arrows. Here, a more complex trajectory was more precisely described by two kernels.


Figure 3.1: An office scenario consisting of two screens with adjustable height, a keyboard and a cup placed reative to them. The trajectories of all objects are projected onto a camera image here.


Figure 3.2: The Probabilistic Scene Model of the relative object poses for the same scene.

In inference, the relation graph is drawn as arrows, colours based on the probability calculated for the relation. Probability of the complete scene is shown as a gnuplot bar chart (gnuplot screen terminal required).


Figure 4: Inference result for a scene consisting of 4 objects. The vertical arrow in the upper left indicates the selected reference object, its colour the likelihood of the scene.

For a description of how the package is used in context, see the documentation for asr_psm.


Creates markers to depict the structures described above and publishes them.

Uses gnuplot-io to send gnuplot commands to a live window.


Needed packages

Needed software

Start system

Started from asr_psm.

Otherwise, use functions in your code:

asr_psm_visualizations mirrors the hierarchical model structure of asr_psm in its hierarchical structure of RViz-Visualizers:

  1. ProbabilisticSceneModelVisualization

  2. ProbabilisticSceneVisualization

  3. ProbabilisticPrimarySceneObjectVisualization

  4. ProbabilitsicSecondarySceneObjectVisualization

Build trees of visualizers with superiorVisualizer->appendVisualizer(inferiorVisualizer)

The visualizers take the following input:

  1. PSMVis .: scale, sigma multiplier (to scale Gaussian ellipsoids), frame id: through setDrawingParameters() (see Parameters)

  2. PSVis: description-string: constructor

  3. Primary: description. AsrResourcesForPSM Pose: setPose(). Visualize wiht drawInLearningMode(), drawInInferenceMode() or drawInTargettingMode() (in inference: shows the model kernels).

  4. Secondary: In learner, append Gaussian kernels to visualize with appendKernel(mean, covariance).

GnuplotVisualization takes bar labels, chart title, y axis label and range: initAnimatedBarChart(). Also pairs of description and likelihood: updateBarChartValues().

GMMGnuplotVisualization uses gnuplot to visualize Gaussian Kernels as histograms (given as data to plotOrientationHistogram()) for a given rotation axis rotaxis.


Figure 5: Kernel in orientation for pitch-axis.

ROS Nodes

Published Topics


Parameters scaleFactor, sigmaMultiplier and frame_id set by asr_psm's launch files:


The tutorial for the asr_psm package describes the output of asr_psm_visualizations in context of asr_psm.

2024-07-13 12:38