Traction Control

Is it possible to set a max acceleration? It would prevent some issues when doing drops or tricks where the wheel can free-spin, and might even help in mud. Basically this would reduce motor amps when actual acceleration exceeds the max plausible acceleration when the wheel is engaging the ground with a rider. Could also check motor load and limit accel completely if load is low enough to be free spin. Any downside to this? When would you actually want the board to accelerate from 0-30 in 1 second? Or from 10 to 15 in 0.1s? Maybe going slow off a big drop onto a ramp? I think in most cases it would be helpful to have the wheel simply maintain current speed when going off drops.

1 Like

Traction Control is on my todo list, but it’s a lot easier said than done. I still need to collect more real-life acceleration data in order to ensure that I don’t slow down the wheel when you don’t want me to.

I’ve already eaten shit more than once trying to implement this.

Example: you go down a short steep ramp (e.g. 3 foot high quarter pipe). Acceleration can be extremely high here yet we wouldn’t want to flag this as wheelslip, would we?

1 Like

Will adjusting field weakening help with this matter?

OK I see the problem. Maximum would be 9.8 m/s^2 if you’re falling straight down so that’s already pretty darn close to free spin acceleration. Would be very tricky to know for sure it’s a wheelslip.

Now, we do happen to have an acclerometer on board - we should be able to see the 1g in vertical acceleration if it really is a drop vs a bonk or sloppy curb nudge… but that does add an additional level of complexity of course

You’re also using the gyro right? accelerometer + gyro?

Necroing this thread. Working on my own traction control based on where you left off. Could you recall the issues you were having with the final iteration of your traction control code? Is there a situation, in particular, that was troublesome I should focus on?

The way I am designing my code is so that it records erpm prior to wheelslip. The wheelslip condition starts the same but with acceleration of 35. The wheelslip condition ends when the erpm returns to a value close to erpm prior to wheelslip. So far so good, taking to the trails this weekend.

it’s just a blurred line between wheelslip and very fast acceleration like dropping into a half pipe… one crash caused by overly eager traction control negates all the situations where you prevented excessive fast freewheeling…

I suggest starting with drop-in detection using the accelerometer - if you can positively ID a sudden drop then you could overrule traction control, because a sudden drop will allow for very fast acceleration that isn’t wheel slip

btw @izzy I’ve been hoping that someone would jump on that feature, because this is one I’m too scared to do myself. Let me know if you need any help

Awesome. I see what you mean. My code would most likely fall short of this test since pre-wheel slip erpm would be pretty low compared to the landing erpm. Glad I asked before busting my face.

I will work with the accelerometer to see if I can use it to adjust the start and end conditions appropriately for drop in. Thanks!