This PR introduces a new package, rmf_battery to model the battery drain for mobile robot participants in RMF.
In particular it introduces:
rmf_battery::agv::BatterySystem class which is a container for battery properties of the vehicle.
rmf_battery::agv::MechanicalSystem class which is a container for mechanical properties of the vehicle.
rmf_battery::agv::PowerSystem class which is a container for power system/device properties of the vehicle.
rmf_battery::MotionPowerSink pure abstract class which contains compute_change_in_charge(rmf_traffic::Trajectory trajectory). A sample implementation is provided by rmf_battery::agv::SimpleMotionPowerSink
rmf_battery::DevicePowerSink pure abstract class which contains compute_change_in_charge(double run_time). A sample implementation is provided by rmf_battery::agv::SimpleDevicePowerSink
The expectation is for the user to use a combination of MotionPowerSink and DevicePowerSink(s) to compute the expected battery drain for various applications
This PR introduces a new package,
rmf_battery
to model the battery drain for mobile robot participants in RMF. In particular it introduces:rmf_battery::agv::BatterySystem
class which is a container for battery properties of the vehicle.rmf_battery::agv::MechanicalSystem
class which is a container for mechanical properties of the vehicle.rmf_battery::agv::PowerSystem
class which is a container for power system/device properties of the vehicle.rmf_battery::MotionPowerSink
pure abstract class which containscompute_change_in_charge(rmf_traffic::Trajectory trajectory)
. A sample implementation is provided byrmf_battery::agv::SimpleMotionPowerSink
rmf_battery::DevicePowerSink
pure abstract class which containscompute_change_in_charge(double run_time)
. A sample implementation is provided byrmf_battery::agv::SimpleDevicePowerSink
The expectation is for the user to use a combination of
MotionPowerSink
andDevicePowerSink(s)
to compute the expected battery drain for various applications