Class kinematics_metrics

Inheritance Relationships

Base Type

  • public rmetrics::base_metrics

Class Documentation

class kinematics_metrics : public virtual rmetrics::base_metrics

Interface defining what metrics regarding kinematics/distance traveled should be collected from all controllers.

Public Functions

kinematics_metrics(void) = default
~kinematics_metrics(void) override = default
virtual const rtypes::type_uuid &id(void) const = 0

Get the UUID for the robot.

virtual ckin::pose pose(void) const = 0

Get the robot’s current pose.

virtual boost::optional<rspatial::euclidean_dist> traveled(const rmetrics::context &ctx) const = 0

Get the distance that a robot has traveled in a single timestep. If the robot’s motion does not fall into the specified category this timestep, then return nothing.

Parameters:

ctx – The category of kinematics to get the distance traveled for.

virtual boost::optional<ckin::twist> twist(const rmetrics::context &ctx) const = 0

Get the twist that a robot has on a single timestep. If the robot is only moving in 2D, then the Z component of the twist should be 0. If the robot’s motion does not fall into the specified category this timestep, then the return twist should be 0 for all fields.

Parameters:

ctx – The category of motion to get the currently velocity for.