A python port of the power models developed by Ikenn Efika for the CAELUS project (Strathclyde University).
This function is designed to represent the Electronic speed controller and motor for each motor on the Avy Aera Drone.
This function is specific to the Avy Aera drone as it uses the motor parameters and constants provided by Avy for their drone.
w_ref: Motor Speed reference (-1 to 1) provided from Px4 to the ESC
m_init: The last state of Modulation Index from a database
v_batt: The Source (Battery) voltage, provided by a battery discharge function in a feedback loop (or database)
dT: Sample time of the model: in hours (i.e. 1 sec = 1/3600)
A list containing the following data:
w: The motor speed value provided from Px4 to an ESC
thrust: The thrust produced under current conditions
mod: The current state of Modulation Index to store in a database
Qcon: Energy Capacity (Ah) consumed, to be sent to battery model
Idis: The current demand from the system
-
tau_electrical << tau_mechanical << tau_aerodynamics
-
Response to a step change in speed is <= 100ms
-
w_ref: 1 = Max motor speed clockwise -1 = Max motor speed anticlockwise
-
All motors (including cruise motor) are identical
depth_of_discharge: An integer value in the range 0-100 representing the current depth of discharge of the battery.
capacity: The energy extracted from the battery in [Ah]
current: Current flowing out of the battery (LPF filtered) [A]
A list in the format [depth_of_discharge, v_batt]
NOTE: Post-processing method
landings:
A list of landing datapoints.
Each datapoint is in the format:
[[YYYY MM dd hh mm ss], depth_of_discharge, c_rate]
base_load: ? (default 0)
? (Description of return value)
depth_of_discharge: An integer value in the range 0-100 representing the current depth of discharge of the battery.
c_rate: The C rating of the battery.
The time to fully charge the battery.