4WD: How to handle the 4 wheel separately to make the car driving straight

Hi,
I have built an Arduino 4WD car with 1 LN298N (ebay kit); the problem I have is that the car doesn't go straight.
In order to fix it I am planning to add 4 speed encoder (one for each wheel) and to control the 4 motors separately by using a closed loop control mechanism. Unfortunately the LN298N can manage only 2 motors (or 2+2 in parallel); what would be the best way to manage them separately? Buying another LN298N (note: I use 3 IMR 18650, can I attach the 2 LN298N in parallel to them without any problem?)? Replacing the LN298N with a new motor controller that can handle 4 DC motors independently (which one?)?

Thanks in advance

Fabz

The L298 is inefficient and wastes a lot of battery energy as heat, so replace it with modern motor drivers. Pololu has the best selection.

I would suggest you go a bit further in your research, Quadrature encoders (rotary encoders) would give you the information on the motor but how about slip, I would assume the wheels will slip and not be the same when turning. Consider a compass module or something similar, this will give you most of that information. Take a look at this driver, you would need two but will not have the voltage drop of the LN298N. I am not sure if you can do SMD but the TI DRV8841 Dual H-Bridge Driver IC is a great part for a few amps. This response is to help you get started in solving your problem, not solve it for you.
Good Luck & Have Fun!
Gil

I am not sure if you can do SMD but the TI DRV8841 Dual H-Bridge Driver IC is a great part for a few amps.

Or buy one of TI's DRV88xx chips on a PCB from Pololu for less than $5, with all the required components and connectors, and save yourself a lot of trouble.