Control cinemático por punto descentrado de robot de dos ruedas (proporcional + 2GL con feedforward de velocidad de trayectoria), simulación

Antonio Sala, UPV

Dificultad: **** ,       Relevancia: PIC,      Duración: 17:00

Materiales:    [ Cód.: robd2gls.zip ] [ PDF ]

Resumen:

Este vídeo simula la linealización y desacoplamiento por realimentación del estado para un robot de dos ruedas desarrollado en el vídeo [robdfl], donde mediante cierto cambio de variable y desacoplador se transforma el sistema a un par de integradores simples desacoplados blkdiagdiag(1/s,1/s).

En concreto, se comprueba que un control externo de esos supuestos integradores de tipo proporcional consigue error cero en el posicionamiento ante referencias constantes (como era de esperar). Sin embargo, no puede seguir sin error trayectorias rectilíneas debido al “error de velocidad” de los bucles cerrados ”tipo 1” (con un único integrador). En trayectorias de geometría más compleja, ese error de seguimiento se hace todavía más patente.

Para solucionarlo, se propone una estructura de 2 grados de libertad donde además del componente proporcional al error, se an~ade un componente igual a la velocidad de la trayectoria que debe ser seguida. El vídeo discute las ventajas de esta opción y se comprueba en simulación que entonces ya pueden ser seguidas sin error trayectorias de geometría compleja (suponiendo, claro está, que no hay error de modelado, saturación, deslizamiento, etc.).

Nota: en todas las simulaciones, si las condiciones iniciales hacen que se comience “marcha atrás”, de todos modos el robot se “da la vuelta” y se pone hacia ”adelante” (el punto descentrado pasa por un punto de la trayectoria “antes” que el eje de las ruedas). Esto es previsible dado que puede demostrarse que la marcha atrás es inestable con la estrategia de desacoplamiento/linealización aquí simulada, segun detalla el vídeo [robdzd].

El controlador realimentado en este caso es estático (proporcional), al ser la linealización un sistema de primer orden para cada grado de libertad. Si el controlador fuera dinámico (por querer controlar aceleraciones o/y filtrar algún ruido) entonces el código debería ser modificado, adaptando a este entorno código con ecuaciones de estado y salida de controlador, del estilo de lo discutido, por ejemplo, en el vídeo [bcode45].

Colección completa [VER]:

© 2024, A. Sala. Se reservan todos los derechos en materiales cuyo autor pertenezca a UPV.
Para condiciones de uso de material de terceros referenciado, consulte a sus autores.