Arduino resetting when running 2WD platform, why?

I have this 2WD Platform: robotshop.com/dfrobot-2wd-mobile-platform-for-arduino-4.html
It comes with 2 DC Motors: robotshop.com/dfrobot-6v-180-rpm-micro-dc-geared-motor-with-back-shaft.html

I am powering the 2 DC Motors with five regular AA Batteries.
I am powering the Arduino with one 9 Volt Battery.

The Arduino sends data to the H-Bridge from Analog-In ports (8,9,10,11).
The H-Bridge is powered by the five regular AA Batteries and connected to the motors.
The grounds from the 5 AAs, Arduino, and H-Bridge are all connected.

Intermittently, the Arduino will reset if the Arduino is telling the motors to spin.

Why is this happening?

Is it because 5 AA batteries is not the correct amount of voltage for the DC motors? Do I need capacitors?

Thanks.

Usually this would be attributed to a brownout. However, since the Arduino is powered from a seperate 9VDC battery, we need to look at something else. Usually H-Bridges are operated from Digital output pins and not analog input pins, this rings suspicious. Are you using current limiting resistors at your control pins to limit current being drawn from the Arduino board? This may solve the issue. If not take a look at your code again, specifically the PWM implementation. It could also be something unrelated to the motor control electronics being the source of the problem. Disconnect everything but the motor controller to resolve this by process of elimination. Drawing too much current from Arduino’s regulated outputs may cause issues.

There seems to be a short circuit or a very large current drain at the Arduino side. Basically it seems as though the Arduino triggers an action that takes too much current or creates a short, at which time it switches OFF (because of the current drain), the action is stopped and the Arduino is free to start up again.