TransformLimits Struct Reference

Limits under which a lookup fails instead of returning a result. More...

#include <RobotAPI/libraries/armem_robot_state/common/localization/types.h>

Public Attributes

std::optional< armarx::core::time::Duration > maxExtrapolation = std::nullopt
 How far a link may be evaluated past its newest pose.
 
std::optional< armarx::core::time::Duration > maxPoseGap = std::nullopt
 How far apart the poses of a link right before and after the evaluation time may be (TransformLinkTimes::largestPoseGap), with and without interpolation.
 
std::optional< armarx::core::time::Duration > maxSpread = std::nullopt
 How far apart in time the links may be (TransformLinkTimes::spread()).
 

Detailed Description

Limits under which a lookup fails instead of returning a result.

All are unset by default. Static links (TransformHeader::isStatic, and world -> map) are exempt from all of them: they are valid until replaced.

Member Data Documentation

◆ maxExtrapolation

std::optional<armarx::core::time::Duration> maxExtrapolation = std::nullopt

How far a link may be evaluated past its newest pose.

Exceeding it fails with ErrorExtrapolationTooLarge.

◆ maxPoseGap

std::optional<armarx::core::time::Duration> maxPoseGap = std::nullopt

How far apart the poses of a link right before and after the evaluation time may be (TransformLinkTimes::largestPoseGap), with and without interpolation.

Exceeding it, e.g. across a dropout of the localization, fails with ErrorPoseGapTooLarge: the pose used would not be backed by data.

◆ maxSpread

std::optional<armarx::core::time::Duration> maxSpread = std::nullopt

How far apart in time the links may be (TransformLinkTimes::spread()).

Exceeding it fails with ErrorTimeSpreadTooLarge. The spread is non-zero if links are held (TransformTimePolicy::QueryTime) or not interpolated (each is then at the time of its own pose).


The documentation for this struct was generated from the following file: