2 DC Motors and 18 Micro Servo motors from shared battery (6 AA batteries?), active monitoring?
If you use standard AA batteries then their limit is about 2A, but you have 2 * 2A motors + 18 * 750mA (peak) servos for a possible maximum of 17.5 Amps. This isn't likely to work well. Rechargeable cells can be a bit better (eg. Eneloops are good for ~6A peak). They should be either soldered/welded together or put in a battery holder with flat contacts. Don't use a holder with coiled spring contacts, as these have high resistance.         

You need some way to prevent the inevitable battery voltage sag from affecting the microcontroller. If you must power everything from the same battery then use separate regulators, with an isolating diode and large reservoir capacitor on the MCU side. This should allow for short battery voltage dips while the motors and servos are operating. The circuit would look something like this:-







simulate this circuit &ndash; Schematic created using CircuitLab

If you use a switching regulator to supply 5V to the motors and servos then battery current will be reduced, and the motors will run more efficiently because you can use higher PWM ratios. To keep peak current down try to avoid starting both motors at the same time, and move the servos alternately rather than together. 

If your motors are rated for 2A max then they probably draw more at startup. Current limiting should work provided that it is done in true real time, ie. the motor must be switched off the instant current goes above the limit (within a few milliseconds). Limiting servo current probably won't work because the servo's control loop will be upset and it won't move properly (expect jittering and/or poor resolution).