Calibrating DC Motors

hello, i am creating an autonomous tank robot, using a multi chassis tank(Multi-Chassis - Tank Version - ROB-12091 - SparkFun Electronics), a arduino uno, and a 2a dfrobot motor shield. my huge problem is the motors, they run with out the tracks on the wheel but as soon as i put them on the motors act like they arent getting enough power to make the track and other wheels spin. another issue i am having is the motors are running at different speeds, and with not enough power. i am pretty new to pulse width modulation but some are saying you have to calibrate the motors and i am wanting to know how to do that.

The motor shield is an old, inefficient design and wastes a lot of power (up to 4V loss internally).

What is your power supply? Did you notice that the motor shield requires 7-12 volts?

One of the more modern motor drivers from Pololu would work better, for example: Pololu - TB6612FNG Dual Motor Driver Carrier