Arduino Nano ATMega328 servo jittering help needed

First off this is a project. There are to motors connected to two Toshiba Motor Chips which are connected to the arduino. The Arduino is run via a 9V Li-ion battery. I have the servos set up to run on digital pins 9 and 10. When the arduino is connected to my laptop via USB, I can initialize the servos to any angle I choose. When I upload a code to have the servos just rotate back and forth to see if they work, right when I turn the switch all that happens is the servos jitter. I am unable to run the code when both servos are hooked up. It works when I unplug either servo. I am unsure if this is because they are calling for too much power or something that needs to be done to the code or something else. I am using the PWMServo library. I was told that it could be that with both connected, they are interfering with a timer causing it to jitter. I can get it to stop when I hit reset, but the jitter then restarts.

How are we supposed to help you if you don't upload your code ? (are we psychic ?)

My bad. sorry but its pretty long.

// use eeprom to write to internal 1K byte eeprom storage
#include <EEPROM.h>
// use wire to write to external 32K byte external eeprom
#include <Wire.h>
// use metro for timing events
#include <Metro.h>
// servo library - will use pin 9
#include <PWMServo.h>
PWMServo aevServo1;
PWMServo aevServo2;

// -------------------------------------------------------------------------
// Set address of external eeprom (data storage point)
// --------------------------------------------------------------------------

const byte disk1 = 80;

// -------------------------------------------------------------------------
// 'Write anything' external eeprom code
// -------------------------------------------------------------------------

#include "EEPROMI2C.h"

// -------------------------------------------------------------------------
// Metro is a timer used throughout program
// -------------------------------------------------------------------------

// use !metroTimer.check() == 1 for as a goFor loop timer
// use metroTimer.interval() = x to change length in millis
Metro metroTimer = Metro(100,0);
// second instance used for celerate, goToMark
Metro metroAcc = Metro(250,0);

// -------------------------------------------------------------------------
// Pin definitions (revised pin definitions for AEV6 generation)
// -------------------------------------------------------------------------

// Motor 1 control pins
const byte pwmPin1 = 5;
const byte hblogic1a = 7;
const byte hblogic1b = 8;

// Motor 2 control pins
const byte pwmPin2 = 6;
const byte hblogic2a = 16;
const byte hblogic2b = 17;

// Motor 3 control pins (optional)
const byte pwmPin3 = 11;
const byte hblogic3a = 10;
const byte hblogic3b = 12;

// Servo pin declaration
const byte servoPin1 = 9;
const byte servoPin2 = 10;

// Program start button
const byte buttonBypass = 4;

// Current is sensed on analog 6
const byte curSensePin = A7;

// Voltage is sensed on analog 7
const byte batVoltsPin = A6;

// yes, a nano has 2 extra analog pins

// Pretty yellow LED
// IT'S NOT AN ARDUINO WITHOUT AN LED!
const byte yellowLedPin = 13;

// Interrupt pin(s)
//pin 2 (interrupt 0) used for collecting trackMarks
const byte interrupt0 = 2;

//pin 3 (interrupt 1) used for collecting trackMarks
const byte interrupt1 = 3;

// -------------------------------------------------------------------------
// Reference voltages for this board
// -------------------------------------------------------------------------
// votage on aref when analogReference is set to EXTERNAL
const float extRef = 2.46;
const float defRef = 5.0;
const float lowVolts = 6.75;

// -------------------------------------------------------------------------
// Define global variables - TRY TO MINIMIZE THESE!
// -------------------------------------------------------------------------

// Start time
unsigned long timeStart = 0;

// An eeprom address counter
unsigned int eepromAddress = 0;

// Track mark counting
volatile int trackMarks = 0;
volatile int oldMarks = 0;
volatile int forwardMarks = 0;
volatile int backwardMarks = 0;
volatile byte dir = 0;

float powerAdjustment = 1.0; // Variable used for adjusting motorSpeed depending on battery voltage
float batVolts = 0; // Global battery voltage variable
int cVolt1 = 0; // Initiate the no motor(s) running current variable
int numberOfBytes = 0; // Variable used to tell Matlab how much data to expect and for EEProm recording
byte rl = 2; // Starting address to store bat life to int eeprom
byte motor1 = 0; // Variable used to record percent motor speed for motor 1
byte motor2 = 0; // Variable used to record percent motor speed for motor 2
byte motor3 = 0; // Variable used to record percent motor speed for motor 3

// Data collection variable structure - 16 bytes
struct config_t
{

unsigned long time; // Time recorded, in milliseconds
int cvolts; // cvolts, voltage?
int bvolts; // bvolts voltage?
unsigned int tMarks; // Total marks during AEV run. (Cumulative Count)
int pMarks; // Position of AEV, in marks.
byte aevDirection; // AEV direction flag, 1 = forward, 0 = backward
byte motor1; // Motor 1 speed
byte motor2; // Motor 2 speed
byte motor3; // Motor 3 speed

} configuration;

// -------------------------------------------------------------------------
// Enter setup
// -------------------------------------------------------------------------

void setup()
{

// Serial is used for Matlab detection
Serial.begin(115200);

// Wire is used i2c eeprom writes (address is disk1)
Wire.begin(disk1);

// -------------------------------------------------------------------------
// Set pinmodes and their initial states
// -------------------------------------------------------------------------

// Motor 1 initial setup
pinMode(pwmPin1,OUTPUT);
pinMode(hblogic1a,OUTPUT);
digitalWrite(hblogic1a,HIGH);
pinMode(hblogic1b,OUTPUT);
digitalWrite(hblogic1b,LOW);

// Motor 2 initial setup
pinMode(pwmPin2,OUTPUT);
pinMode(hblogic2a,OUTPUT);
digitalWrite(hblogic2a,HIGH);
pinMode(hblogic2b,OUTPUT);
digitalWrite(hblogic2b,LOW);

// Motor 3 initial setup (optional)
pinMode(pwmPin3,OUTPUT);
pinMode(hblogic3a,OUTPUT);
digitalWrite(hblogic3a,HIGH);
pinMode(hblogic3b,OUTPUT);
digitalWrite(hblogic3b,LOW);

// Set interrupts for wheel count sensors (trackMarks)
// pins 2 and 3 are interrupts 0 and 1 respectively
pinMode(interrupt0,INPUT);
pinMode(interrupt1,INPUT);
attachInterrupt(1,nMarks1,CHANGE);
attachInterrupt(0,nMarks2,CHANGE);

// Yellow LED Pin
pinMode(yellowLedPin,OUTPUT);
digitalWrite(yellowLedPin,LOW);
pinMode(buttonBypass,INPUT_PULLUP);

// Servo Pin
aevServo1.attach(9);
aevServo2.attach(10);
aevServo1.write(0);
aevServo2.write(0);

//When taking voltage data use DEFAULT (5.00 volts)
//when taking current data us EXTERNAL (2.46 volts)
analogReference(DEFAULT);

// set yellow led to high while waiting for button press
digitalWrite(yellowLedPin,HIGH);

// delay start found under misc
delayStart();

Use the "#" CODE button !