Mikebergy said:
Alan B said:
Torque controls is a great way to go, with anti-slip detection and torque backoff.
It is easy enough to reduce the torque on the inside wheels if that is desired. For most situations it is probably not needed, but for extreme turning at high drive torque it can reduce slip. But if anti-slip techniques are employed then the torque will be reduced automatically when the wheel slips, so why prematurely reduce torque? Do whichever or all of the above.
It is not just a reduction of torque, it is a redistribution of the torque that requested through the throttle input. If say you request x-amount of torque, then the electronics would vary the throttle input to the drive wheels based on the situation, not just reduce the throttle to one of the wheels, but reduce one and increase the other. Maybe it is easy, but I am curious about it from a homebuilt perspective, and I've not yet come across anything that I could personally use if I wanted to design and build a small vehicle with that feature. From the papers I read, it is not easy to implement.
Unless your vehicle is pushing traction limits, you don't need to bother with torque vectoring.
If you are using torque type controllers (most sinusoidal controllers are torque controlled) then it is a fairly simple matter to make a box that reduces the signal to one and increases it to the other. The harder part is to decide when to do that. A steering angle sensor, or accelerometer could be used.
It is still probably simpler and safer to do anti-slip torque reduction detection on each wheel. This would reduce torque to the inside wheel automatically just as much as needed. Then if the driver wants more torque in the corner they can increase throttle if they want it. Otherwise it would have the unsettling effect of trying to cause the outside wheel to slip when the inside wheel starts slipping if it increased torque on the outside wheel. That might not be a good automatic response to slipping. The driver is already selecting the max torque for whatever situation, so increasing it could be bad. But you can make whatever algorithm you choose once you have the infrastructure to support it.
If you use PWM type controls then the whole problem gets much harder. They fight the slowing of the inside wheel with nonlinear increase in torque and essentially fight the turn. If you start with torque controllers it is much easier, since they will already compensate for the slowing of the inside wheel, so you don't have to do that too in your box.
From a homebuilt perspective you can use either analog or digital. Digital gives more choices and allows more algorithmic possibilities. A small micro such as an Arduino with an ADC and a pair of DACs can read the throttle and output throttle signals to two controllers. Or you can use the internal ADC and PWM with filters to make it cheaper but less precise and lower bandwidth. A pot on the steering angle can give you data there, or an accelerometer. Monitoring pulses from the motors can give you wheel speed, or magnets on the wheels can be used. Multiple magnets might be needed to detect wheel slip quickly enough. Motor pulses are more frequent and easier if you have hall sensors you can use those. If you pick up all three hall sensors you will get faster detection of slip.
There are lots of little micro boards these days that are not expensive or hard to program. Arduino Nano, Teensy, Feather, Pro Trinkets, Pro Mini, many others. Some of them have ARM chips for higher power, but are still easier to do real I/O than a graphics oriented Raspberry Pi.
Then you can put whatever algorithm into the throttle system you want. Make sure you have an emergency stop in case the throttle program gets stuck. Program carefully, limit power during testing to gain confidence.