En mi robot tengo dos salidas de PWM, una para cada motor. Pero por el momento ambas salidas son iguales, ya que todavia estoy buscando el equilibrio. Pero para cuando lo logre tengo pensado lo siguiente para controlar el desplazamiento.
Basicamente el desplazamiento se controla cambiando el angulo de equilibrio (la referencia del pid), si se cambia ligeramente hacia el frente, el robot va a avanzar, y viceversa.
Ahora, la variable que queremos controlar en este caso es el giro de las ruedas. Por lo tanto podemos usar otro pid que tenga como entrada la lectura de los encoders y como salida el angulo de equilibrio (la referencia del otro pid).
Lo que voy a decir ahora todavia no lo compruebo, pero creo que operando matematicamente, un pid que controla a otro pid, se puede resumir en un solo pid. Algo como se muestra en este link:
http://www.geology.smu.edu/~dpa-www/robo/nbot/bal2.txtSaludos!!