@newbiebot wrote elsewhere
The sticks may not sit exactly at 0. The result of this is that the robot sees some non-zero value to set the motors to. The solution is to set a dead zone. For example, instead of
motor[port2] = vexRT[Ch2];
try naming a variable (motorSpeed here) and using it this way:
motorSpeed = vexRT[Ch2];
if(abs(motorSpeed) < 10)
motorSpeed = 0;
motor[port2] = motorSpeed;