StatusReporter Class Reference

Collects the gaze residual on the control side and reports it on a topic. More...

#include <armarx/view_selection/gaze_controller/status_reporting.h>

Public Member Functions

void report (const GazeControllerStatusListenerPrx &topic)
 Publishes the current residual, rate limited.
 
void setTarget (std::int64_t targetId, const std::string &targetName)
 Called from updateConfig(), so a report can name the target it is about.
 
void update (std::int64_t targetId, const GazeResidual &residual, bool targetReachable)
 Called from the control side, at whatever rate it computes the residual.
 

Detailed Description

Collects the gaze residual on the control side and reports it on a topic.

Shared by both controller variants, which differ only in where they can compute the residual: atan2 does it in rtRun, gaze_ik in its non-RT IK task. Both hand it over through atomics.

The controller deliberately does not decide whether the gaze counts as fixed on the target – it only says how far off it is. The gaze scheduler applies the thresholds, since it is the part that knows which target is active and who asked for it. That is also why nothing here touches the memory: this runs inside the RobotUnit.

Definition at line 27 of file status_reporting.h.

Member Function Documentation

◆ report()

void report ( const GazeControllerStatusListenerPrx & topic)

Publishes the current residual, rate limited.

Call from onPublish().

Parameters
topicMay be null before the controller is connected; then nothing is sent.

Definition at line 38 of file status_reporting.cpp.

+ Here is the call graph for this function:

◆ setTarget()

void setTarget ( std::int64_t targetId,
const std::string & targetName )

Called from updateConfig(), so a report can name the target it is about.

Definition at line 29 of file status_reporting.cpp.

◆ update()

void update ( std::int64_t targetId,
const GazeResidual & residual,
bool targetReachable )

Called from the control side, at whatever rate it computes the residual.

Definition at line 15 of file status_reporting.cpp.


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