Bumps work.  As does the logic of the command that ends when the shoulder is in position.  Both things don't work horribly well because of PID values and an unbalanced arm.