//! Compute energy consumed by a payload entity
      //! @param[in] label name of the payload
      //! @param[in] duration amount of time active
      //! @return energy consumed in Wh
      float
      computePayloadEnergy(const std::string& label, float duration) const
      {
        if (!m_payloads.size())
          return 0.0;

        std::map<std::string, float>::const_iterator itr;
        itr = m_payloads.find(label);
        if (itr == m_payloads.end())
          return 0.0;

        return toWh(itr->second, duration);
      }
      //! Compute energy consumed by motor for some RPM value
      //! @param[in] rpm value of rpms to convert from
      //! @param[in] duration amount of time rotating at rpm
      //! @return energy consumed in Wh
      float
      computeMotionEnergy(float rpm, float duration) const
      {
        if (rpm <= 0.0f || duration <= 0.0f)
          return 0.0;

        float power;

        if (m_conv_watt.size() == 1)
          power = rpm * m_conv_watt[0] / m_conv_rpm[0];
        else
          power = Math::piecewiseLI(m_conv_watt , m_conv_rpm, rpm);

        return toWh(power, duration);
      }
 //! Compute energy consumed by IMU
 //! @param[in] duration amount of time in seconds
 //! @return energy consumed in Wh
 float
 computeIMUEnergy(float duration) const
 {
   return toWh(m_imu_power, duration);
 }
 //! Compute energy consumed by minimal resources
 //! @param[in] duration amount of time in seconds
 //! @return energy consumed in Wh
 float
 computeHotelEnergy(float duration) const
 {
   return toWh(m_hotel_load, duration);
 }
Beispiel #5
0
 float
 Model::computeIMUEnergy(float duration) const
 {
   return toWh(m_power_imu, duration);
 }
Beispiel #6
0
 float
 Model::computeHotelEnergy(float duration) const
 {
   return toWh(m_power_hotel, duration);
 }