Robot equilibrista ¿PID?

Es imprescindible el uso del PID.

Lo que tu haces manualmente seria solo la componente P (proporcional) del PID, es decir en funcion del angulo acelero mas o menos los motores. Pero te faltan las componentes I (integral) y D (derivada), que lo que hacen es corregir ese impulso de los motores en base a otros factores.

En terminos coloquiales diriamos que impulsan al motor en función de lo inclinado que este el robot, de lo rapido que esté cayendo, y de si con un pequeño impulso se ha pasado o no ha llegado a la vertical.

Como ves esto es mucho mas completo que solo basarse en un angulo.

En el caso que comentas de que con 2º ó 3º, se mueve a una velocidad constante, es porque necesita un poco mas de empujón del que le tenias programado. Esto con un PID bien ajustado, no ocurre porque el detectaria que no esta volviendo a la vertical y meteria mas fuerza a los motores.