Arm is different in autonomous?

So when I run my arm in driver mode, it works flawlessly and lifts over 10 beanbags at a time.
However, in auton mode when I run the arm with the exact same code, it can’t lift more than around 2. It visibly jolts upward for about a quarter of an inch but isn’t strong enough to get past it.
What could be going on?

Would you be able to post your code using the

 tags? This will help us debug the issue and determine if it is a programming error.
		//Arm

		if(vexRT[Btn6U] == 1){
			manual = true;
			if(SensorValue[armRight] > 700 && SensorValue[armRight] < 1600){
				motor[topRight] = 127;
				motor[topLeft] = 127;
				motor[bottomRight] = 127;
				motor[bottomLeft] = 127;
				}else if(SensorValue[armRight] >= 1600){
				motor[topRight] = 50;
				motor[topLeft] = 50;
				motor[bottomRight] = 50;
				motor[bottomLeft] = 50;
				}else{
				motor[topRight] = 75;
				motor[topLeft] = 75;
				motor[bottomRight] = 75;
				motor[bottomLeft] = 75;
			}

			}else if(vexRT[Btn6D] == 1){
			manual = true;
			if(SensorValue[armRight] > 800){
				motor[topRight] = -100;
				motor[topLeft] = -100;
				motor[bottomRight] = -100;
				motor[bottomLeft] = -100;
				}else{
				motor[topRight] = -30;
				motor[topLeft] = -30;
				motor[bottomRight] = -30;
				motor[bottomLeft] = -30;
			}
			} else {
			if(manual == true){
				motor[topRight] = 0;
				motor[topLeft] = 0;
				motor[bottomRight] = 0;
				motor[bottomLeft] = 0;
			}
		}

		if (vexRT[Btn8L] == 1){
			manual = false;
			desiredvalue2 = 330;
			motor[descoreLeft] = 0;
			motor[descoreRight] = 0;
			}else if(vexRT[Btn8U] == 1){
			manual = false;
			desiredvalue2 = 900;
			motor[descoreLeft] = 127;
			motor[descoreRight] = 127;
			}else if(vexRT[Btn8R] == 1){
			manual = false;
			desiredvalue2 = 1800;
			motor[descoreLeft] = 0;
			motor[descoreRight] = 0;
		}

		//Pre-programmed arm positions.
		//Chooses a value based upon pressed button and uses encoders to keep arm at that position.

		if (manual == false){
			if(abs(SensorValue[armRight] - desiredvalue2) > 200){
				if (SensorValue[armRight] < desiredvalue2){
					if(SensorValue[armRight] < 430){
						motor[topRight] = 75;
						motor[topLeft] = 75;
						motor[bottomRight] = 75;
						motor[bottomLeft] = 75;
						}else{
						motor[topRight] = 127;
						motor[topLeft] = 127;
						motor[bottomRight] = 127;
						motor[bottomLeft] = 127;
					}
					} else {
					motor[topRight] = -90;
					motor[topLeft] = -90;
					motor[bottomRight] = -90;
					motor[bottomLeft] = -90;
				}
				} else if(abs(SensorValue[armRight] - desiredvalue2) <= 200 && abs(SensorValue[armRight] - desiredvalue2) > 100){
				if (SensorValue[armRight] < desiredvalue2){
					if(desiredvalue2 == 1700){
						motor[topRight] = 40;
						motor[topLeft] = 40;
						motor[bottomRight] = 40;
						motor[bottomLeft] = 40;
						}else{
						motor[topRight] = 60;
						motor[topLeft] = 60;
						motor[bottomRight] = 60;
						motor[bottomLeft] = 60;
					}
					} else {
					if(desiredvalue2 == 1700){
						motor[topRight] = -40;
						motor[topLeft] = -40;
						motor[bottomRight] = -40;
						motor[bottomLeft] = -40;
						}else{
						motor[topRight] = -60;
						motor[topLeft] = -60;
						motor[bottomRight] = -60;
						motor[bottomLeft] = -60;
					}
				}
				} else {
				motor[topRight] = 0;
				motor[topLeft] = 0;
				motor[bottomRight] = 0;
				motor[bottomLeft] = 0;
			}
		}

And in my autonomous, I simply set the motors to have power.