NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
ff_util Namespace Reference

Classes

class  ConfigClient
 
class  ConfigServer
 
class  Conversion
 
class  FlightUtil
 
class  FreeFlyerActionClient
 A wrapper class around the simple action client. More...
 
class  FreeFlyerActionServer
 
class  FreeFlyerActionState
 
class  FreeFlyerNodelet
 
class  FreeFlyerServiceClient
 
class  FSM
 
class  PerfTimer
 
class  Serialization
 
class  State
 

Typedefs

typedef boost::function< bool(dynamic_reconfigure::Config &request)> ConfigCallback
 
typedef ff_msgs::ControlState Setpoint
 
typedef ff_msgs::EkfState Estimate
 
typedef std::vector< SetpointSegment
 

Enumerations

enum  FaultKeys {
  UNKNOWN_FAULT_KEY, LOAD_TOO_HIGH, NO_COMMUNICATION_SPEEDCAM, INITIALIZATION_FAILED,
  MEMORY_USAGE_TOO_HIGH, BAD_ACCEL_DATA, NO_IMU_DATA_PACKETS, TEMPERATURE_TOO_HIGH,
  HEARTBEAT_MISSING, VELOCITY_TOO_HIGH, TIME_DIFF_TOO_HIGH, LOCALIZATION_PIPELINE_UNSTABLE,
  ESTIMATE_CONFIDENCE_TOO_LOW, DISK_USAGE_TOO_HIGH, NO_COMMUNICATION_HAZCAM, KINETIC_ENERGY_INCREASING,
  SELF_TEST_FAULT_CODE, DISK_CONFIG_INVALID, POSE_ESTIMATE_NON_PHYSICAL, DISK_USAGE_HIGH,
  HARDWARE_ERROR_FAULT_CODE, BAD_GYRO_DATA, IMU_OVERTEMP, IMU_ACCEL_ABOVE_LIMITS
}
 
enum  SegmentCheckMask : uint32_t {
  CHECK_NONE = 0x000, CHECK_MINIMUM_FREQUENCY = 0x001, CHECK_STATIONARY_ENDPOINT = 0x002, CHECK_FIRST_TIMESTAMP_IN_PAST = 0x004,
  CHECK_MINIMUM_NUM_SETPOINTS = 0x008, CHECK_LIMITS_VEL = 0x010, CHECK_LIMITS_ACCEL = 0x020, CHECK_LIMITS_OMEGA = 0x040,
  CHECK_LIMITS_ALPHA = 0x080, CHECK_ALL_BASIC = 0x100, CHECK_ALL_LIMITS = 0x200, CHECK_ALL_CONSISTENCY = 0x400,
  CHECK_ALL = 0x800
}
 
enum  SegmentResult : int32_t {
  SUCCESS = 0, ERROR_MINIMUM_FREQUENCY = -1, ERROR_STATIONARY_ENDPOINT = -2, ERROR_MINIMUM_NUM_SETPOINTS = -3,
  ERROR_TIME_RUNS_BACKWARDS = -4, ERROR_LIMITS_VEL = -5, ERROR_LIMITS_ACCEL = -6, ERROR_LIMITS_OMEGA = -7,
  ERROR_LIMITS_ALPHA = -8
}
 

Functions

template<>
bool ConfigClient::Get< std::string > (const std::string &name, std::string &value)
 
template<>
bool ConfigClient::Set< std::string > (const std::string &name, const std::string &value)
 
template<>
bool ConfigServer::Get< std::string > (const std::string &name, std::string &value)
 
template<>
bool ConfigServer::Set< std::string > (const std::string &name, const std::string &value)
 
template<>
bool ConfigServer::Lim< std::string > (const std::string &name, const std::map< std::string, std::string > &vals)
 

Variables

constexpr int kFaultKeysSize = 24
 
static std::string fault_keys []
 

Typedef Documentation

◆ ConfigCallback

typedef boost::function<bool(dynamic_reconfigure::Config &request)> ff_util::ConfigCallback

◆ Estimate

typedef ff_msgs::EkfState ff_util::Estimate

◆ Segment

typedef std::vector<Setpoint> ff_util::Segment

◆ Setpoint

typedef ff_msgs::ControlState ff_util::Setpoint

Enumeration Type Documentation

◆ FaultKeys

Enumerator
UNKNOWN_FAULT_KEY 
LOAD_TOO_HIGH 
NO_COMMUNICATION_SPEEDCAM 
INITIALIZATION_FAILED 
MEMORY_USAGE_TOO_HIGH 
BAD_ACCEL_DATA 
NO_IMU_DATA_PACKETS 
TEMPERATURE_TOO_HIGH 
HEARTBEAT_MISSING 
VELOCITY_TOO_HIGH 
TIME_DIFF_TOO_HIGH 
LOCALIZATION_PIPELINE_UNSTABLE 
ESTIMATE_CONFIDENCE_TOO_LOW 
DISK_USAGE_TOO_HIGH 
NO_COMMUNICATION_HAZCAM 
KINETIC_ENERGY_INCREASING 
SELF_TEST_FAULT_CODE 
DISK_CONFIG_INVALID 
POSE_ESTIMATE_NON_PHYSICAL 
DISK_USAGE_HIGH 
HARDWARE_ERROR_FAULT_CODE 
BAD_GYRO_DATA 
IMU_OVERTEMP 
IMU_ACCEL_ABOVE_LIMITS 

◆ SegmentCheckMask

enum ff_util::SegmentCheckMask : uint32_t
Enumerator
CHECK_NONE 
CHECK_MINIMUM_FREQUENCY 
CHECK_STATIONARY_ENDPOINT 
CHECK_FIRST_TIMESTAMP_IN_PAST 
CHECK_MINIMUM_NUM_SETPOINTS 
CHECK_LIMITS_VEL 
CHECK_LIMITS_ACCEL 
CHECK_LIMITS_OMEGA 
CHECK_LIMITS_ALPHA 
CHECK_ALL_BASIC 
CHECK_ALL_LIMITS 
CHECK_ALL_CONSISTENCY 
CHECK_ALL 

◆ SegmentResult

enum ff_util::SegmentResult : int32_t
Enumerator
SUCCESS 
ERROR_MINIMUM_FREQUENCY 
ERROR_STATIONARY_ENDPOINT 
ERROR_MINIMUM_NUM_SETPOINTS 
ERROR_TIME_RUNS_BACKWARDS 
ERROR_LIMITS_VEL 
ERROR_LIMITS_ACCEL 
ERROR_LIMITS_OMEGA 
ERROR_LIMITS_ALPHA 

Function Documentation

◆ ConfigClient::Get< std::string >()

template<>
bool ff_util::ConfigClient::Get< std::string > ( const std::string &  name,
std::string &  value 
)

◆ ConfigClient::Set< std::string >()

template<>
bool ff_util::ConfigClient::Set< std::string > ( const std::string &  name,
const std::string &  value 
)

◆ ConfigServer::Get< std::string >()

template<>
bool ff_util::ConfigServer::Get< std::string > ( const std::string &  name,
std::string &  value 
)

◆ ConfigServer::Lim< std::string >()

template<>
bool ff_util::ConfigServer::Lim< std::string > ( const std::string &  name,
const std::map< std::string, std::string > &  vals 
)

◆ ConfigServer::Set< std::string >()

template<>
bool ff_util::ConfigServer::Set< std::string > ( const std::string &  name,
const std::string &  value 
)

Variable Documentation

◆ fault_keys

std::string ff_util::fault_keys[]
static
Initial value:
= {
"UNKNOWN_FAULT_KEY",
"LOAD_TOO_HIGH",
"NO_COMMUNICATION_SPEEDCAM",
"INITIALIZATION_FAILED",
"MEMORY_USAGE_TOO_HIGH",
"BAD_ACCEL_DATA",
"NO_IMU_DATA_PACKETS",
"TEMPERATURE_TOO_HIGH",
"HEARTBEAT_MISSING",
"VELOCITY_TOO_HIGH",
"TIME_DIFF_TOO_HIGH",
"LOCALIZATION_PIPELINE_UNSTABLE",
"ESTIMATE_CONFIDENCE_TOO_LOW",
"DISK_USAGE_TOO_HIGH",
"NO_COMMUNICATION_HAZCAM",
"KINETIC_ENERGY_INCREASING",
"SELF_TEST_FAULT_CODE",
"DISK_CONFIG_INVALID",
"POSE_ESTIMATE_NON_PHYSICAL",
"DISK_USAGE_HIGH",
"HARDWARE_ERROR_FAULT_CODE",
"BAD_GYRO_DATA",
"IMU_OVERTEMP",
"IMU_ACCEL_ABOVE_LIMITS"
}

◆ kFaultKeysSize

constexpr int ff_util::kFaultKeysSize = 24
constexpr