My first attempt to contributing - it started by trying to figure out my Amps to Accel/Decel Ratios from a log in Python, but then I realized there’s a distinct relationship between the Torque Offset needed and Speed:

Which kind of makes sense, average torque at standstill is 0 and at speed you’re pulling more Amps. I used linear regression to find coefficients for `atr_filtered_current`

and `erpm`

. Intercept was relatively small, so I constrained it to 0. Essentialy, instead of multiplying by `SIGN(d->erpm)`

, we can use `d->erpm`

itself:

```
float torque_adjusted = d->atr_filtered_current - 0.00022 * d->erpm * accel_factor;
expected_acc = torque_adjusted / accel_factor;
```

I’m assuming heavier riders need bigger Torque Offset, so that’s where the top `accel_factor`

comes from. It can be rearranged a bit, but by storing the `torque_adjusted`

first, it can be used as input in the Classic Torque Tilt as well (no need to raise nose at fast speeds).

The value of roughly `0.00022`

is what I got from the regression, but since `accel_factor`

is taken into account, I’m hoping it should be more or less the same for all riders if they tune that.

## This is where the fun begins!

By some miracle (Im0rtality’s vesc_toolchain) I’ve been able to test it and to my surprise it worked! Less over-reacting, bonks and drops felt really good, and overall it was mostly a pleasant experience.

There was however one weird moment, where on a messed up sidewalk it sort of jerked. I think. (probably wheel locked for a moment > different ERPM > different Torque Offset > different setpoint?). I’m guessing it might need to rely more strongly on some filtering or accurate wheelslip detection in some edge cases.

Still though, pretty excited. But I know placebo is a thing, would anyone be willing to try it at their own risk? Here’s a pre-compiled `.vescpkg`

:

https://drive.google.com/drive/folders/1tb7HZd17jF-sAvIumu6zYZKcGcDgrH0Q?usp=sharing

Or if anyone could send me some representative VESC Tool ride logs for analysis, that would be much appreciated as well. And please tell me if it’s a completely wrong and flawed approach! What do you think?