48 PowerObservation::PowerObservation() { }
50 PowerObservation::PowerObservation(
const ros::Time& stamp, int8_t master_state,
const vector<BatteryObservation>& batteries) : stamp_(stamp), master_state_(master_state), batteries_(batteries) { }
52 const ros::Time& PowerObservation::getStamp()
const {
return stamp_; }
53 int8_t PowerObservation::getMasterState()
const {
return master_state_; }
54 const vector<BatteryObservation>& PowerObservation::getBatteries()
const {
return batteries_; }
56 unsigned int PowerObservation::getAcCount()
const 58 unsigned int ac_count = 0;
59 for (
unsigned int i = 0; i < batteries_.size(); i++)
60 if (batteries_[i].isAcPresent())
66 float PowerObservation::getTotalPower()
const 68 float total_power = 0.0f;
69 for (
unsigned int i = 0; i < batteries_.size(); i++)
70 total_power += batteries_[i].getPower();
78 float PowerObservation::getMinVoltage()
const 80 float min_voltage = 9999.9f;
81 for (
unsigned int i = 0; i < batteries_.size(); i++)
82 min_voltage =
min(min_voltage, batteries_[i].getVoltage());
90 unsigned int PowerObservation::getMinRelativeStateOfCharge()
const 92 unsigned int min_rsc = 999;
93 for (
unsigned int i = 0; i < batteries_.size(); i++)
94 min_rsc =
min(min_rsc, batteries_[i].getRelativeStateOfCharge());
99 float PowerObservation::getTotalRemainingCapacity()
const 101 float rem_cap = 0.0f;
102 for (
unsigned int i = 0; i < batteries_.size(); i++)
103 rem_cap += batteries_[i].getRemainingCapacity();
117 for (
unsigned int i = 0; i < batteries_.size(); i++)
133 min_tte =
min(min_tte, tte);
150 for (
unsigned int i = 0; i < batteries_.size(); i++)
166 max_ttf = max(max_ttf, ttf);
176 BatteryObservation::BatteryObservation(
const ros::Time& stamp,
bool ac_present,
float voltage,
float current,
177 unsigned int relative_state_of_charge,
float remaining_capacity,
179 : stamp_(stamp), ac_present_(ac_present), voltage_(voltage), current_(current), relative_state_of_charge_(relative_state_of_charge),
180 remaining_capacity_(remaining_capacity), time_to_empty_(time_to_empty), time_to_full_(time_to_full)
const ros::Time & getStamp() const
float getRemainingCapacity() const
unsigned int relative_state_of_charge_
unsigned int getRelativeStateOfCharge() const
ros::Duration time_to_full_
const ros::Duration & getTimeToEmpty() const
const ros::Duration & getTimeToFull() const
ros::Duration time_to_empty_
float remaining_capacity_