VESC, current control and wheelspin

benj

100 W
Joined
Jun 6, 2013
Messages
242
Hey everyone,

The weather is turning wetter, but I'm still adamant it's board riding weather :D

I'm riding a VESC on a mountainboard, and over wet grass I'm getting a lot of wheelspin when using current control. I can hold the trigger at say 70% and get a constant speed, but then I hit some wet grass, or loose gravel, and the wheel loses traction and the current control takes over and spins the wheel right up (and I drop a load into my pants :shock: :lol:)

Is there any way to stop this? I'd hate to lose current control, because the brakes are so damn good.
 
I'm assuming this is on your MBS Pro 12 MTB? You aren't giving much detail other than it's VESC. Single motor, dual motor?

If you have two motors/two VESC's you can link them over canbus and enable traction control which will simply limit the spinning motor without traction to mirror the motor with traction RPM wise (as i understand it). BUT if only one motor i don't think you can avoid this. It's sort of one of those issues riding the rain/wet regardless of vehicle - car, bike, e-board... loss of traction with any of those will equal wheel spin. You could go to another mode instead of current control?

Edit - Better tires? not sure on your tread, but better/new tires might be the best solution. You could also try getting your tires siped - which is supposed to help a bit.
 
I have been wondering if having a sensor on each drive wheel would allow the VESC to control for wheel spin under power and lockup on braking.

Having traction control and anti lock would be huge safety and performance features for e boards.

Anyone looking into this?
 
you can put a sensor on one wheel and have traction control with only one motor, it needs a bit of extra software though. I have considered doing that on my single motor longboard some time since the one with two motors and traction control behaves nicely in this regard.
 
vedder said:
you can put a sensor on one wheel and have traction control with only one motor, it needs a bit of extra software though. I have considered doing that on my single motor longboard some time since the one with two motors and traction control behaves nicely in this regard.

Could we not achieve some level of traction control by watching for too rapid of a change in motor rpm / equivalent parameter?
 
emotiva said:
Could we not achieve some level of traction control by watching for too rapid of a change in motor rpm / equivalent parameter?

thats how some motorcycle traction control systems work. I know that some RC car escs do have traction control and now that I think about it: boosted and my evolve have traction control too!
 
whitepony said:
emotiva said:
Could we not achieve some level of traction control by watching for too rapid of a change in motor rpm / equivalent parameter?

thats how some motorcycle traction control systems work. I know that some RC car escs do have traction control and now that I think about it: boosted and my evolve have traction control too!

That is not real traction control, it is just limiting the rate of acceleration. Something similar could be achieved by decreasing the gain for the current control loop. The gain can be configured from BLDC Tool.
 
vedder said:
whitepony said:
emotiva said:
Could we not achieve some level of traction control by watching for too rapid of a change in motor rpm / equivalent parameter?

thats how some motorcycle traction control systems work. I know that some RC car escs do have traction control and now that I think about it: boosted and my evolve have traction control too!

That is not real traction control, it is just limiting the rate of acceleration. Something similar could be achieved by decreasing the gain for the current control loop. The gain can be configured from BLDC Tool.

I agree it's not as robust as 'real' TC, but depending on time resolution (which I do not know), one could make it worthwhile, I would think. There's a big difference in angular acceleration of the wheel when it has traction and when it initially slips. The gain setting will not differentiate between the two scenarios, so will affect all (positive) acceleration, as you indicated. An algorithm monitoring angular acceleration of the wheel - or motor, in this case - could differentiate between them, however (as well as provide ABS for brakes). The most likely hurdle that I would suspect would be tuning to prevent a cogging-like effect. I was thinking the FOC implementation you mention on your site might be applicable here, but I know far to little about it as of now. Thoughts?
 
vedder said:
That is not real traction control, it is just limiting the rate of acceleration. Something similar could be achieved by decreasing the gain for the current control loop. The gain can be configured from BLDC Tool.

thats very real traction control - you detect the slip by rpm "jumps", basically rmp changes or accelerations that are not physically possible ... and reduce torque in that moment. one of the best amateur traction control systems in motorcycle racing works like that. and my evolve on loose terrain works like that too - immediate throttle decrease when the tire slips - same applies for braking, basically an abs functionality.
 
whitepony said:
thats very real traction control - you detect the slip by rpm "jumps", basically rmp changes or accelerations that are not physically possible ... and reduce torque in that moment. one of the best amateur traction control systems in motorcycle racing works like that. and my evolve on loose terrain works like that too - immediate throttle decrease when the tire slips - same applies for braking, basically an abs functionality.

I was just looking for papers on traction control and found many with sliding mode control, kalman filters, fuzzy control etc. but none where they only used sensors in the driven wheel without other references. I could be missing something though, I didn't spend so much time on it.

What is physically possible depends on the conditions. The possible acceleration uphill is very different from the one downhill. This can change rapidly when e.g. going over road bumps. Also, when the traction is lost, it is not like the friction suddenly goes to zero - it lowers a bit and how much it lowers depends on the surface and wheels. How much the acceleration is at different frictions beyond traction depends on the motor and wheel inertia. When decreasing the throttle, how do you determine when the traction is back? It is very likely that the controller will reduce the torque more than necessary when the grip comes back.

I'm sure that there are many ways to make the sudden wheel acceleration at the loss of traction feel better for the user, but I would still not call it "real" traction control because it is not only about making the wheel not slip, is is also about outputting the highest possible torque while doing so if the commanded torque is higher than the traction allows. However, I don't know much about this field and the terminology, so I could be wrong.

I agree it's not as robust as 'real' TC, but depending on time resolution (which I do not know), one could make it worthwhile, I would think. There's a big difference in angular acceleration of the wheel when it has traction and when it initially slips. The gain setting will not differentiate between the two scenarios, so will affect all (positive) acceleration, as you indicated. An algorithm monitoring angular acceleration of the wheel - or motor, in this case - could differentiate between them, however (as well as provide ABS for brakes). The most likely hurdle that I would suspect would be tuning to prevent a cogging-like effect. I was thinking the FOC implementation you mention on your site might be applicable here, but I know far to little about it as of now. Thoughts?

Yes the acceleration will be limited, but I don't know if it matters much since the current control loop is extremely fast compared to the rest anyway. Something more clever can probably be done, but I don't have good ideas right now on how I would implement that. I have the feeling that many clever implementations will cause weird behavior in other situations when it is not expected. FOC would not make much difference for this scenario.

I think a good start is to experiment with the current control gain and see how that feels. I think it is possible that the overall feeling can become better if the gain is lowered since the board will feel more stable in general.
 
chaka said:
Please don't forget that some of us have no problem with manual throttle control and actually prefer something with too much potential power. I personally favor a very touchy throttle curve.

did you try riding over wet gras with a mountain board yet? :p Ive been in gras and gravel with my evolve and a traction control is extremely handy there!

@vedder: I also dont know how they exactly do it with a purely RPM based TC, but its working very well in the hobby motorcycle racing world. motorcycles have the problem that comparing front and rear wheel speed becomes extremely difficult in lean angles, because you need to know the exact lean profile of your front and rear tire. so for the more advanced systems you need a front and rear wheel speed sensor and you need to download tire presets for the current tires you are using. ontop of that, a certain amount of sliprate is actually desired for highest friction coefficients, so these systems actually only set in at a certain slip rate point depending on motorcycle lean angles. its really complicated, but bottom line is: it has been done with RPM only - not perfect but good enough to be very valuable for hobby racers on the track.

probably could try to measure rpm gradients that usually occur in gras mountainboard slip moments - my guess is that they are very distinct and easy to spot - then the remaining problem would be the control strategy.
 
Back
Top