Class robot_interfaces::RobotData

template<typename Action, typename Observation>
class RobotData

Contains all the input and output data of the robot.

This means the

  • desired_action which was requested by the robot user

  • applied_action which was actually applied and may not be and may not be identical to desired_action for safety reasons

  • observation made by the robot

  • status which keeps track of timing issues and errors.

See this graph to understand how they relate to each other precisely in terms of time:

|------ t = 0 ------|------ t = 1 ------|
|----- action0 -----|----- action1 -----|
o                   o                   o
b                   b                   b
s                   s                   s
0                   1                   2
Template Parameters:
  • Action – Type of the actions.

  • Observation – Type of the observations.

Subclassed by robot_interfaces::MultiProcessRobotData< Action, Observation >, robot_interfaces::MultiProcessRobotData< Action, Observation >, robot_interfaces::SingleProcessRobotData< Action, Observation >, robot_interfaces::SingleProcessRobotData< Action, Observation >

Public Types

typedef std::shared_ptr<RobotData<Action, Observation>> Ptr
typedef std::shared_ptr<const RobotData<Action, Observation>> ConstPtr
typedef std::shared_ptr<RobotData<Action, Observation>> Ptr
typedef std::shared_ptr<const RobotData<Action, Observation>> ConstPtr

Public Members

std::shared_ptr<time_series::TimeSeriesInterface<Action>> desired_action

Time series of the desired actions.

std::shared_ptr<time_series::TimeSeriesInterface<Action>> applied_action

Time series of the actually applied actions (due to safety.

std::shared_ptr<time_series::TimeSeriesInterface<Observation>> observation

Time series of the observations retrieved from the robot.

std::shared_ptr<time_series::TimeSeriesInterface<Status>> status

Time series of status messages.