I would do 2 things differently.
first, acceleration should be based on velocity not throttle, the vehicle can accelerate without throttle. you can use Vehicle.getKMHSpeed for that.
second, it is good to smooth out the stored values since physics data is mostly noisy. in your case you have smoothed the previous value but I would smooth the actual value and compare with the previous. also the way you smooth with “Lerp” is frame dependent, you better use delta time there like Lerp(x, y, z * dt).