SkillEventRenderer Class Reference

Converts skill events into OPOSSUM log lines. More...

#include <RobotAPI/components/opossum_logger/SkillEventRenderer.h>

Public Member Functions

bool isNoiseSkill (const std::string &skillName) const
 Whether render() would drop this skill as noise.
 
std::optional< std::string > render (const SkillEvent &event) const
 Render one event.
 
 SkillEventRenderer ()
 
 SkillEventRenderer (std::set< std::string > noiseSkills, SpokenNameLookup spokenNameLookup)
 

Static Public Member Functions

static const std::set< std::string > & DefaultNoiseSkills ()
 Pure body/gaze control and primitives that only implement a skill already logged above them.
 
static std::string DefaultNoiseSkillsString ()
 DefaultNoiseSkills() as a comma-separated string (for property defaults).
 
static std::set< std::string > ParseSkillList (const std::string &commaSeparated)
 Split a comma-separated list into a set, trimming whitespace.
 

Detailed Description

Converts skill events into OPOSSUM log lines.

The output format is one key:value line per event, e.g.

skill:LookAtObject, object:dining table, called_by:ServeDrinks::ApproachAndAskForDrink, state:started, time_stamp:2026-07-08T16:45:40.341

This is a port of tools/gen_armar7_logs.py in the opossum_euROBIN repository, which produces the same lines offline from an LTM export. Function names are kept in sync with that script on purpose, so the two can be compared when the format changes.

Definition at line 88 of file SkillEventRenderer.h.

Constructor & Destructor Documentation

◆ SkillEventRenderer() [1/2]

Definition at line 368 of file SkillEventRenderer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SkillEventRenderer() [2/2]

SkillEventRenderer ( std::set< std::string > noiseSkills,
SpokenNameLookup spokenNameLookup )

Definition at line 372 of file SkillEventRenderer.cpp.

Member Function Documentation

◆ DefaultNoiseSkills()

const std::set< std::string > & DefaultNoiseSkills ( )
static

Pure body/gaze control and primitives that only implement a skill already logged above them.

These say nothing at scene level.

Definition at line 379 of file SkillEventRenderer.cpp.

+ Here is the caller graph for this function:

◆ DefaultNoiseSkillsString()

std::string DefaultNoiseSkillsString ( )
static

DefaultNoiseSkills() as a comma-separated string (for property defaults).

Definition at line 415 of file SkillEventRenderer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isNoiseSkill()

bool isNoiseSkill ( const std::string & skillName) const

Whether render() would drop this skill as noise.

Lets a caller skip the event before paying to fetch it.

Definition at line 534 of file SkillEventRenderer.cpp.

+ Here is the caller graph for this function:

◆ ParseSkillList()

std::set< std::string > ParseSkillList ( const std::string & commaSeparated)
static

Split a comma-separated list into a set, trimming whitespace.

Definition at line 422 of file SkillEventRenderer.cpp.

+ Here is the caller graph for this function:

◆ render()

std::optional< std::string > render ( const SkillEvent & event) const

Render one event.

Returns
The log line, or std::nullopt if the event is not reportable (unknown/intermediate status, or a skill on the noise list).

Definition at line 540 of file SkillEventRenderer.cpp.

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: