@sh.add_function(dsp, outputs=['CVT'])
@sh.add_function(
dsp,
inputs=[
'on_engine', 'engine_speeds_out', 'velocities', 'accelerations',
'gear_box_powers_out'
],
outputs=['CVT'], weight=50
)
def calibrate_cvt(
on_engine, gear_box_speeds_in, velocities, accelerations,
gear_box_powers_out):
"""
Calibrates a model for continuously variable transmission (CVT).
:param on_engine:
If the engine is on [-].
:type on_engine: numpy.array
:param gear_box_speeds_in:
Gear box speed [RPM].
:type gear_box_speeds_in: numpy.array
:param velocities:
Vehicle velocity [km/h].
:type velocities: numpy.array
:param accelerations:
Vehicle acceleration [m/s2].
:type accelerations: numpy.array
:param gear_box_powers_out:
Gear box power vector [kW].
:type gear_box_powers_out: numpy.array
:return:
Continuously variable transmission model.
:rtype: callable
"""
model = CVT().fit(
on_engine, gear_box_speeds_in, velocities, accelerations,
gear_box_powers_out
)
return model