Control de robots móviles con ruedas
MT3005 - Robótica 1
Partiendo del robot diferencial
ya con el modelo del robot procedamos a controlarlo
sistema dinámico simple pero que presenta un comportamiento representativo del sistema completo
modelo de orden reducido (template)
Otra arquitectura jerárquica de control
sistema completo con actuadores ideales
referencias
sistema dinámico simple pero que presenta un comportamiento representativo del sistema completo
sistema dinámico como convencionalmente lo conocemos
modelo de orden reducido (template)
Otra arquitectura jerárquica de control
sistema completo con actuadores ideales
actuadores reales
referencias
referencias
servomecanismos a bajo nivel
sistema dinámico simple pero que presenta un comportamiento representativo del sistema completo
sistema dinámico como convencionalmente lo conocemos
modelo de orden reducido (template)
Otra arquitectura jerárquica de control
sistema completo con actuadores ideales
actuadores reales
referencias
referencias
servomecanismos a bajo nivel
(control clásico)
sistema dinámico simple pero que presenta un comportamiento representativo del sistema completo
(control moderno | IA )
sistema dinámico como convencionalmente lo conocemos
(control moderno)
modelo de orden reducido (template)
Otra arquitectura jerárquica de control
Otra arquitectura jerárquica de control
sistema completo con actuadores ideales
actuadores reales
referencias
referencias
servomecanismos a bajo nivel
(control clásico)
sistema dinámico simple pero que presenta un comportamiento representativo del sistema completo
(control moderno | IA )
sistema dinámico como convencionalmente lo conocemos
(control moderno)
modelo de orden reducido (template)
¿Por qué no emplear control convencional?
el comportamiento no holonómico de la mayoría de robots móviles con ruedas genera dificultades para el control
el comportamiento no holonómico de la mayoría de robots móviles con ruedas genera dificultades para el control
por ejemplo, ¿Qué pasa si tratamos de aplicar control LTI directamente?
el comportamiento no holonómico de la mayoría de robots móviles con ruedas genera dificultades para el control
por ejemplo, ¿Qué pasa si tratamos de aplicar control LTI directamente?
el comportamiento no holonómico de la mayoría de robots móviles con ruedas genera dificultades para el control
por ejemplo, ¿Qué pasa si tratamos de aplicar control LTI directamente?
¿Problema?
el sistema linealizado nunca resulta completamente controlable
¿Problema?
el sistema linealizado nunca resulta completamente controlable
⇒ no pueden emplearse de forma directa los métodos convencionales
modelo uniciclo*
(o boid)
modelo cinemático del robot móvil
motores con ruedas
controlados mediante PIDs (típicamente) de velocidad
el modelo más simple que representa el comportamiento no holonómico de los robots con ruedas (y otros)
derivado con la metodología de la clase anterior
Regresando a la arquitectura jerárquica
El modelo uniciclo
El modelo uniciclo
El modelo uniciclo
El modelo uniciclo
El modelo uniciclo
El modelo uniciclo
este modelo aplica para cualquier sistema capaz de moverse hacia adelante y cambiar su dirección
El modelo uniciclo
Directamente, mediante el sistema no holonómico (no lineal):
Controlando al uniciclo
Controlando al uniciclo
Indirectamente, mediante linealización por difeomorfismo:
Controlando al uniciclo
Indirectamente, mediante linealización por difeomorfismo:
NOTA: las opciones presentadas NO son exhaustivas ya que ni siquiera estamos considerando las estrategias de control típicas en el área de vehículos autónomos.
PID de forma ingenua
PID de forma ingenua
PID de forma ingenua
PID de forma ingenua
PID de forma ingenua
PID de forma ingenua
PROBLEMA
PID de forma ingenua
PID de forma ingenua
eO = angdiff(theta, theta_g)
PIDs de posición y orientación
este esquema desacopla la posición de la orientación y las controla por separado
⇒ la convergencia se da en forma de espirales
PIDs de posición y orientación
un problema que presenta el PID para la velocidad lineal es que el robot desacelera exponencialmente conforme se acerca a la meta, presentando una convergencia lenta
Acercamiento exponencial
un problema que presenta el PID para la velocidad lineal es que el robot desacelera exponencialmente conforme se acerca a la meta, presentando una convergencia lenta
Acercamiento exponencial
esto puede corregirse (hasta cierto punto) mediante una no linealidad que normalice la velocidad lineal, para que el robot frene hasta estar cercano a la meta
Acercamiento exponencial
Acercamiento exponencial
coeficiente de ajuste
velocidad lineal nominal o máxima
Acercamiento exponencial
>> mt3005_clase13_unicycle_pid.m
¿Trayectorias?
el controlador PID permite que el uniciclo ejecute trayectorias simplemente al cambiar el punto meta en el tiempo, es decir
¿Trayectorias?
el controlador PID permite que el uniciclo ejecute trayectorias simplemente al cambiar el punto meta en el tiempo, es decir
¿Trayectorias?
donde las metas cambiantes son puntos individuales de la trayectoria generada
el controlador PID permite que el uniciclo ejecute trayectorias simplemente al cambiar el punto meta en el tiempo, es decir
Pure pursuit
esta estrategia recibe el nombre de pure pursuit ya que se hala el punto meta para seguir empleando un control punto a punto, en lugar de usar un controlador de trayectoria
Pure pursuit
Look Ahead ≡ capacidad "predictiva"
Pure pursuit
>> mt3005_clase13_unicycle_pid.m
Términos feedforward
otra forma de dotar con capacidad predictiva al controlador PID (y el resto) es mediante términos feedforward de velocidad de control
Términos feedforward
estos emplean el modelo junto con la velocidad de la trayectoria para pre-calcular la velocidad requerida por el robot en open-loop
otra forma de dotar con capacidad predictiva al controlador PID (y el resto) es mediante términos feedforward de velocidad de control
Términos feedforward
feedback
(robustez)
recordemos la efectividad de la mezcla
feedforward
(rapidez)
para "arreglar" la falta de controlabilidad puede emplearse el siguiente "truco"
Linealización por difeomorfismo
para "arreglar" la falta de controlabilidad puede emplearse el siguiente "truco"
se define un nuevo punto cercano a la posición del uniciclo
Linealización por difeomorfismo
para "arreglar" la falta de controlabilidad puede emplearse el siguiente "truco"
Linealización por difeomorfismo
idea: aproximar al uniciclo con este punto
se define un nuevo punto cercano a la posición del uniciclo
para "arreglar" la falta de controlabilidad puede emplearse el siguiente "truco"
Linealización por difeomorfismo
idea: aproximar al uniciclo con este punto
se define un nuevo punto cercano a la posición del uniciclo
⇒ necesitamos su dinámica
supondremos que podemos controlar | actuar directamente al punto (x~,y~)
supondremos que podemos controlar | actuar directamente al punto (x~,y~)
matriz diagonal de ajuste
matriz diagonal de ajuste
difeomorfismo que mapea las velocidades virtuales a las del uniciclo
matriz diagonal de ajuste
por lo tanto
Estabilización por LQR
por lo tanto
Estabilización por LQR
por lo tanto
Estabilización por LQR
por lo tanto
Rastreo por LQI
por lo tanto
Rastreo por LQI
>> mt3005_clase13_unicycle_lqrlqi.m
Regresando al robot
para el caso particular del robot diferencial podemos notar que
Del uniciclo de regreso al robot móvil
para el caso particular del robot diferencial podemos notar que
v del uniciclo
ω del uniciclo
Del uniciclo de regreso al robot móvil
Del uniciclo de regreso al robot móvil
para el caso particular del robot diferencial podemos notar que
y entonces
Del uniciclo de regreso al robot móvil
para el caso particular del robot diferencial podemos notar que
La metodología para controlar robots móviles no holonómicos se resume entonces como:
Del uniciclo de regreso al robot móvil
La metodología para controlar robots móviles no holonómicos se resume entonces como:
Del uniciclo de regreso al robot móvil
Laboratorio 11
Addendum
Otros controladores para el uniciclo
Control no lineal de pose
Control no lineal de pose
Control no lineal de pose
Control no lineal de pose
Control no lineal de pose
se realiza el cambio de coordenadas
Control no lineal de pose
se realiza el cambio de coordenadas
OJO: esto corresponde a un mejor planteamiento del controlador PID
Control no lineal de pose
se realiza el cambio de coordenadas
puede igualmente hacerse el ajuste con
angdiff
Control no lineal de pose
se realiza el cambio de coordenadas
puede igualmente hacerse el ajuste con
angdiff
puede hacerse el ajuste de acercamiento exponencial
si se restringe a α∈(−2π,2π) podemos hacer un cambio de coordenadas y obtener el nuevo sistema dinámico
si se restringe a α∈(−2π,2π) podemos hacer un cambio de coordenadas y obtener el nuevo sistema dinámico
hace que el robot se mueva hacia adelante
si se restringe a α∈(−2π,2π) podemos hacer un cambio de coordenadas y obtener el nuevo sistema dinámico
hace que el robot se mueva hacia adelante
puede redefinirse v=−v
en este nuevo sistema de coordenadas, el controlador
en este nuevo sistema de coordenadas, el controlador
garantiza que el punto (ρ,α,β)=(0,0,0) sea globalmente asintóticamente estable...
en este nuevo sistema de coordenadas, el controlador
garantiza que el punto (ρ,α,β)=(0,0,0) sea globalmente asintóticamente estable...
... y que no cambie de dirección de movimiento al acercarse a la meta
en este nuevo sistema de coordenadas, el controlador
garantiza que el punto (ρ,α,β)=(0,0,0) sea globalmente asintóticamente estable...
>> mt3005_clase13_unicycle_nonlin.m
en este nuevo sistema de coordenadas, el controlador
garantiza que el punto (ρ,α,β)=(0,0,0) sea globalmente asintóticamente estable...
NOTA: este controlador siempre "parquea" al robot con su eje x alineado con el del marco {G}.
en este nuevo sistema de coordenadas, el controlador
garantiza que el punto (ρ,α,β)=(0,0,0) sea globalmente asintóticamente estable...
NOTA: este controlador siempre "parquea" al robot con su eje x alineado con el del marco {G}.
OJO: existen muchos más controladores para el uniciclo, sin embargo los anteriores muestrean un poco de todo lo que hemos visto en los cursos de Sistemas de Control