Motor: S-Motor
Controller: TXT
Ausgleichskurve: Kraft = (Wert/512) ^ alpha
alpha aus Messdaten: 0.8
Damit der Motor in beide Richtungen funktioniert, muss noch das Vorzeichen gesondert betrachtet werden. In Python sieht das dann z.B. so aus
Code: Alles auswählen
import numpy as np
alpha = 0.8
def value_to_force(value):
value = np.clip(value/512, -1, 1)
return np.sign(value) * np.abs(value)**alpha
def force_to_value(force):
force = np.clip(force, -1, 1)
return 512 * np.sign(force) * np.exp(1/alpha * np.log(np.abs(force)+0.001))