PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …
Transcript of PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …
PROYECTO FIN DE CARRERA
Presentado a
LA UNIVERSIDAD DE LOS ANDES
FACULTAD DE INGENIERIA
DEPARTAMENTO DE INGENIERIA ELECTRICA Y ELECTRONICA
Para obtener el tıtulo de
INGENIERO ELECTRONICO
por
Cristhian Camilo Sanchez Fino
SIMULACION DE UN CONTROLADOR DE ALTO NIVEL EN MATLAB
PARA EL CONTROL DE POSICION DE UN DRONE DE 4 HELICES A
PARTIR DE CADENAS DE MARKOV
Sustentado el dıa 27 de mayo frente al jurado:
Composicion del jurado:
− Asesor : Luis Felipe Giraldo, Profesor Asistente /Universidad de Los Andes
− Jurado: Mauricio Jose Junca Pelaez, Profesor Asociado / Universidad de Los Andes
Contenido
1 Introduccion 22 Objetivos 2
2.1 Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.3 Alcances y productos finales . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Descripcion de la problematica y justificacion del trabajo 34 Marco teorico e historico 4
4.1 Procesos de decision de Markov . . . . . . . . . . . . . . . . . . . . . . . . . 44.1.1 Epocas de decision . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44.1.2 Conjunto de estados y acciones . . . . . . . . . . . . . . . . . . . . . 44.1.3 Recompensas y probabilidades de transicion . . . . . . . . . . . . . . 54.1.4 Reglas de decision markovianas . . . . . . . . . . . . . . . . . . . . . 54.1.5 Polıticas markovianas . . . . . . . . . . . . . . . . . . . . . . . . . . . 64.1.6 Procesos estocasticos inducidos . . . . . . . . . . . . . . . . . . . . . 64.1.7 Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.1.8 Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.1.9 Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 Control PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.3 Marco historico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5 Definicion y especificacion del trabajo 105.1 Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105.2 Especificaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6 Metodologıa 116.1 Plan de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126.2 Busqueda de informacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126.3 Alternativas de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7 Trabajo realizado 137.1 Modelo del drone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.1.1 Arquitectura del modelo . . . . . . . . . . . . . . . . . . . . . . . . . 147.1.2 Parametros de simulacion . . . . . . . . . . . . . . . . . . . . . . . . 15
7.2 Modelo del controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177.2.1 Definicion de estados y acciones . . . . . . . . . . . . . . . . . . . . . 177.2.2 Definicion de matriz de probabilidad de transicion . . . . . . . . . . . 187.2.3 Definicion de funciones de recompensa . . . . . . . . . . . . . . . . . 187.2.4 Definicion de polıtica de control . . . . . . . . . . . . . . . . . . . . . 18
7.3 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte finito . . 197.3.1 Descripcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.3.2 Funcion de recompensa . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.4 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte infinito . 197.4.1 Descripcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.4.2 Funcion de recompensa . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.5 Caso de estudio: Planeacion de ruta evitando obstaculos con MDP de hori-
zonte infinito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207.5.1 Descripcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207.5.2 Funciones de recompensa . . . . . . . . . . . . . . . . . . . . . . . . . 20
8 Resultados y analisis de resultados 208.1 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte finito . . 20
8.1.1 Analisis de sensibilidad ante la matriz de perturbaciones . . . . . . . 22
Contenido 1
8.1.2 Analisis de sensibilidad ante el tipo de perturbacion . . . . . . . . . . 238.2 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte infinito . 24
8.2.1 Analisis de sensibilidad ante la matriz de perturbaciones . . . . . . . 258.2.2 Analisis de sensibilidad ante el tipo de perturbacion . . . . . . . . . . 268.2.3 Analisis de sensibilidad ante el camino . . . . . . . . . . . . . . . . . 27
8.3 Caso de estudio: Planeacion de ruta evitando obstaculos con MDP de hori-
zonte infinito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298.3.1 Analisis de sensibilidad ante la matriz de probabilidad . . . . . . . . 298.3.2 Analisis de sensibilidad ante el tipo de perturbacion . . . . . . . . . . 31
9 Discusion 3110 Conclusiones 32
10.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3210.2 Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
11 Agradecimientos 33Bibliografıa 34
1 Introduccion
El presente documento resume el trabajo realizado para el proyecto de grado. Inicialmente,
se introduce el concepto cadenas de Markov, el cual consiste en una herramienta matemati-
ca para el modelamiento de la toma de decisiones secuenciales. Considerando el problema
de control de vuelo de un drone de 4 helices, se motiva la utilizacion de esta herramienta
para el diseno de un controlador de alto nivel que controle la posicion X-Y de un drone. El
controlador propuesto depende del modelo de cadena de Markov utilizado. Se proponen dos
modelos, el modelo de horizonte finito y el modelo de horizonte infinito.
Para probar el controlador propuesto, se plantean dos escenarios. En el primero, se quiere
seguir una trayectoria dada. En el segundo, se quiere llegar a un destino, evitando obstaculos.
Para lograr el objetivo en cada escenario, se definen funciones de recompensa adecuadas.
Posterior a la definicion de las recompensas, se simula el comportamiento del controlador
en cada escenario. Ası mismo, se plantean escenarios de prueba en los que se analizan la
sensibilidad del controlador ante las matrices de probabilidad y el tipo de viento considerado.
Finalmente, se comparan los resultados de los analisis de sensibilidad y se propone el trabajo
futuro.
2 Objetivos
2.1. Objetivo general
Desarrollar y simular un controlador jerarquico de dos niveles, cuya estrategia de alto nivel
sea basada en los Procesos de Decision de Markov(MDPs), con ayuda del software MATLAB.
2.2. Objetivos especıficos
Comprender los modelos de los MDPs en el marco de control del vuelo de un drone.
Estudiar el funcionamiento de la metodologıa propuesta en diferentes casos.
Implementar una plataforma de simulacion basada en MATLAB.
2.3. Alcances y productos finales
El presente proyecto se desarrolla en la plataforma MATLAB, por lo cual se entregan los
archivos de codigo utilizados para el desarrollo del mismo, debidamente comentados y expli-
cados. Adicionalmente, se entregara el resultado de las simulaciones del comportamiento de
dron en distintos escenarios de interes.
3 Descripcion de la problematica y
justificacion del trabajo
En la actualidad, el desarrollo de tecnologıas de comunicacion inalambrica y procesamiento
de imagenes ha permitido el desarrollo de dispositivos electronicos controlados a largas dis-
tancias. Dentro de esta categorıa, se ha popularizado el uso de Vehıculos aereos no tripulados
(UAV por sus siglas en ingles) para el desarrollo de distintas actividades, que anteriormente
se consideraban riesgosas o de alta dificultad.
A partir de esto, se ha desarrollado un interes por el desarrollo de tecnicas de control que
permitan la manipulacion de UAV, de tal manera que estos operen de manera autonoma
sin poner en riesgo la integridad fısica del dispositivo. En el caso de los drones de 4 helices,
dada la dificultad de las dinamicas fısicas que comprenden su movimiento, se han desa-
rrollado modelos dinamicos para el desarrollo de estrategias que permitan el control de su
vuelo. Sin embargo, estos modelos representan aproximaciones que estan sujetas a eventos,
de naturaleza estocastica, que pueden ocurrir en el medio en el cual el dron se desplaza. En
este contexto, resulta relevante el entendimiento de tecnicas de diseno de controladores que
muestren un buen desempeno a eventos aleatorios.
Teniendo en cuenta lo anterior, se encuentra en la literatura mucha informacion referente a
modelamiento de las dinamicas de un dron de 4 helices, al igual que modelos para el despla-
zamiento del mismo. Sin embargo, es poca la literatura que se encuentra en la que se realice
un modelamiento del problema desde una perspectiva robusta a los eventos aleatorios. Es
aqui, en donde resulta relevante la utilizacion de tecnicas de modelamiento que permitan la
inclusion de eventos aleatorios que permitan garantizar un mejor desempeno de los disposi-
tivos ante condiciones inciertas.
4 4 Marco teorico e historico
El presente proyecto busca, a partir de fundamentos matematicos, la realizacion de un con-
trolador jerarquico para un dron de 4 helices, que permita un buen desempeno al momento
de desplazarse en un ambiente con condiciones inciertas, de naturaleza aleatoria. Esto ultimo
resulta relevante en aquellos contextos en los que sea necesario el control del vuelo de UAV
bajo condiciones aleatorias. Un ejemplo de esto, es el area de la agricultura, en donde se
hace la utilizacion de drones para la irrigacion de cultivos. Otro contexto en el que resulta
relevante el control de vuelo de UAV, es en los servicios de domicilios urbano que hacen uso
de los UAV para sus funcionamiento.
4 Marco teorico e historico
4.1. Procesos de decision de Markov
Los expuesto en esta seccion corresponde a las definiciones expuestas en [3]. Los procesos de
decision de Markov modelan la toma de decisiones secuenciales de un agente bajo condicio-
nes inciertas. Estos se componen de cinco elementos: epocas de decision, estados, acciones,
probabilidades de transicion y recompensas. Cada elemento se describe a continuacion, para
luego dar una definicion formal de un proceso de decision de Markov
4.1.1. Epocas de decision
Definicion 4.1. Las epocas de decision son los tiempos en los cuales ocurre la toma de
decisiones. Sea T el conjunto de epocas de decision. Este conjunto puede ser discreto o un
continuo, al igual que un conjunto finito o infinito.
Definicion 4.2. Los perıodos o etapas son el tiempo que transcurre entre epocas de deci-
sion en problemas de tiempo discreto.
Definicion 4.3. Si |T | = N < ∞ se denomina un problema de horizonte finito. En
caso contrario, se denomina un problema de horizonte infinito.
Observacion 4.1. Por convencion, en problemas de horizonte finito, no se toman decisiones
en la epoca de decision N , sino que dicha epoca se incluye unicamente para evaluar el estado
final del sistema.
4.1.2. Conjunto de estados y acciones
Definicion 4.4. Sea st el estado ocupado por el sistema en la epoca de decision t ∈ T . Sea
St =⋃t∈Tst el conjunto de todos los estados posibles en el tiempo t. Se define S =
⋃t∈T
St el
4.1 Procesos de decision de Markov 5
conjunto de posibles estados del sistema.
Definicion 4.5. Sea As el conjunto de acciones disponibles para el agente al estar en el
estado s. Sea A :=⋃s∈S
As el conjunto de acciones disponibles para el agente.
Observacion 4.2. En este caso, se asume que S, As no varıan con t ∈ T . Para el desarrollo
de este trabajo se asume que S y As son conjuntos discretos y finitos.
Definicion 4.6. Una accion a es escogida aleatoriamente si existe una distribucion
de probabilidad q(·) ∈ P(A)1 tal que la probabilidad de escoger la accion a esta dada por q(a).
Observacion 4.3. Las acciones pueden tomarse de manera aleatoria o determinıstica. En
este caso, una accion determinıstica corresponde a una distribucion de probabilidad degene-
rada. Es decir, la probabilidad de tomar una accion determinıstica es igual a 1.
4.1.3. Recompensas y probabilidades de transicion
Definicion 4.7. Una funcion de recompensa es una funcion rt : S × As → R tal que
r(s, a) representa la recompensa recibida por el agente al estar en el estado s en el tiempo
t y tomar la accion a. En algunas ocasiones, la funcion de recompensa puede ser definida
como rt : S × As × S → R en donde rt(s, a, j) representa la recompensa obtenida por estar
en el estado s en el tiempo t, tomar la accion a y llegar al estado j.
Definicion 4.8. Una probabilidad de transicion es una distribucion de probabilidad
pt(·, s, a) ∈ P(S) tal que pt(j, s, a) = pt(j|s, a) representa la probabilidad de llegar al estado
j dado que se esta en el estado s en el tiempo t y se toma la accion a.
Observacion 4.4. Dado que en el MDPs de horizonte finito no se toma una decision en la
ultima epoca, la recompensa para t = N esta dada por una funcion rt : S → R donde rN(s)
representa la recompensa recibida dado que el estado final del sistema es s.
4.1.4. Reglas de decision markovianas
Definicion 4.9. Una regla de decision markoviana determinıstica es una aplicacion dt : S→A en donde, ∀s ∈ S dt(s) ∈ As. Se entiende que dt(s) es la accion tomada dado que se esta
en el estado s en el tiempo t. Sea DMDt el conjunto de todas las polıticas markovianas deter-
minısticas en el tiempo t y DMD =⋃t∈T
DMDt el conjunto de todas las polıticas markovianas
determinısticas del MDP.
Definicion 4.10. Una regla de decision markoviana aleatoria es una aplicacion dt : S →P(A), se tiene que ∀s ∈ S dt(s) = q(·) ∈ P(As). Es decir, la regla determina un distribucion
1P(X) es la coleccion de distribuciones de probabilidad sobre subconjuntos borelianos de X
6 4 Marco teorico e historico
de probabilidad sobre el conjunto de acciones As dado que se esta en el estado s en el tiempo
t. La distribucion de probabilidad definida esta dada por qdt(s)(·). Sea DMAt el conjunto de
todas las polıticas markovianas aleatorias en el tiempo t DMA =⋃t∈T
DMDt el conjunto de todas
las polıticas markovianas aleatorias del MDP.
4.1.5. Polıticas markovianas
Definicion 4.11. La tupla π = (d1, d2, . . . , dN−1) es una polıtica markoviana, si para todo
t dt ∈ DMAt o dt ∈ ∪DMD
t . Es decir, en el tiempo t se utiliza la regla de decision dt. Sea
ΠK = DK1 × · · · ×DK
N−1 el conjunto de polıticas del tipo K, donde K es MA si son polıticas
markovianas aleatorias o MD si son polıticas markovianas determinısticas.
Definicion 4.12. Una polıtica estacionaria es aquella polıtica π tal que para ∀i di = d
para algun d ∈ DK, donde K se define como en la definicion 4.11
4.1.6. Procesos estocasticos inducidos
Para construir un modelo de probabilidad, se considera el siguiente conjunto para el caso de
horizonte finito
Ω = S× AN−1 × S,
en el caso de un modelo de horizonte infinito, considere Ω = S×A∞. Sea B(Ω) el conjunto
de conjuntos borelianos sobre Ω. Un elemento ω ∈ Ω es de la forma
ω = (s1, a1, s2, a2, . . . , aN−1, sN),
para el caso de horizonte finito y
ω = (s1, a1, s2, a2, . . . ).
en el caso de horizonte infinito. Note que ω describe los estados ocupados por el sistema y
las acciones tomadas en cada una de las epocas de decision y recibe el nombre de camino
de muestreo. Para toda epoca de decision t se definen las variables aleatorias Xt : Ω →S, Yt : Ω→ A respectivamente por
Xt(ω) = st y Yt(ω) = at.
Ası mismo, se define la historia del proceso Zt para la epoca decision t por
Z1(ω) = s1 y Zt(ω) = (s1, a1, . . . , st).
Sea ht = (s1, a1, . . . , st−1, at−1, st) la historia hasta el tiempo t. Sea P1(·) la distribucion de
probabilidad que denota la distribucion inicial de los estados del sistema (i.e el sistema co-
mienza en el estado s con probabilidad P1(s)). Una polıtica markoviana π = (d1, d2, . . . dN−1),
4.1 Procesos de decision de Markov 7
con N ≤ ∞ induce una medida de probabilidad P π en el espacio medible (Ω, B(Ω)) de la
siguiente manera
P πX1 = s = P1(s),
P πYt = a|Zt = ht = P πYt = a|Xt = stqdt(st)(a),
P πXt+1 = s|Zt = (ht−1, at−1, st), Yt = at = pt(s|st, at).
Luego, la probabilidad de un camino de muestreo ω = (s1, a1, s2, . . . , sN) esta dado por
P π(s1, a1, s2, . . . , sN) = P1(s1)qd1(s1)(a1)p1(s2|s1, a1) · · · p(sN |sN−1, aN−1).
A partir de esto, las probabilidades condicionales se calculan de la siguiente manera:
P π(at, st+1, . . . , sN |s1, a1, . . . , st) =P π(s1, a1, . . . , sN)
P π(s1, a1, . . . , st)
dado que la cantidad del denominador no es cero. En caso contrario, la probabilidad es
cero. La cantidad del denominador se calcula sumando las probabilidades P π(s1, a1, . . . sN)
sobre todos los caminos de muestreo tales que las primeras 2t − 1 componentes son iguales
a s1, a1, . . . , st.
4.1.7. Definicion
Definicion 4.13. La tupla T,S,A, pt(·|s, a), rt(s, a) es un proceso de decision de Mar-
kov (MDP).
4.1.8. Modelos
En este trabajo, se consideran MDPs de horizonte finito e infinito. Para cada uno de ellos se
tienen las siguientes definiciones relevantes
Modelo de horizonte infinito Para el desarrollo de este proyecto, se utilizara el
modelo de criterio de recompensa total descontada. Dada una polıtica markoviana
aleatoria, esta se define
vπλ(s) = Eπ∞∑t=1
λt−1r(Xt, Yt)
,
donde s es el estado inicial del sistema y λ ∈ [0, 1) es un factor de descuento. Se define
v∗λ(s) = supπ∈ΠMA
vπλ(s)
Los valores optimos v∗ : S→ R del MDP son solucion de las siguientes ecuaciones
v(s) = supa∈As
r(s, a) +
∑j∈S
λp(j|s, a)v(j)
8 4 Marco teorico e historico
La polıtica π se llama optima si
v∗(s) = vπλ(s) = v∗λ(s).
Modelo de horizonte finito Para el desarrollo de este proyecto, se utilizara el modelo
de criterio de recompensa total. Dada una polıtica markoviana aleatoria, esta se define
como
vπN(s) = EπN−1∑t=1
rt(Xt, Yt) + rN(XN)
,
donde s es el estado inicial del sistema. Se define
v∗N(s) = supπ∈ΠMD
vπN(s).
Los valores optimos u∗t : S→ R son soluciones de las ecuaciones
ut(st) = supa∈Ast
rt(st, a) +
∑j∈S
pt(j|st, a)ut+1(j)
y uN(sN) = rN(sN). La polıtica π es optima si
v∗N(s) = vπN(s) = u∗N(s).
4.1.9. Algoritmos
Algoritmo de iteracion de valor de Gauss - Seidel A continuacion se presenta
el algoritmo de iteracion de valor de Gauss- Seidel
1. Especifique v0(s) para todo s ∈ S, ε > 0 y sea n = 0 (v0 es una funcion de valor
v0 : S→ R acotada con la norma del supremo).
2. Sea j = 1 y vaya a 3.
3. Calcule vn+1(sj) por
vn+1(sj) = maxa∈Asj
r(sj + a) + λ
[∑i<j
p(si|sj, a)vn+1(si) +∑i≥j
p(si|sj, a)vn(si)
],
4. Si j=N, vaya a 5. Si no, incremente j en 1 y vaya a 3.
5. Si
||vn+1 − vn|| < ε(1− λ)
2λ,
vaya al paso 6. En caso contrario, incremente n en 1 y vaya a 2.
4.2 Control PID 9
6. Para cada s ∈ S, escoja
dε(s) ∈ arg maxa∈As
r(s, a) +
∑j∈S
λp(j|s, a)vn+1(j)
y pare.
Este algoritmo que garantiza que el esquema vn converge a los valores optimos v∗λ y
que la polıtica construida es estacionaria y va a ser muy cercana a la optima tomando
un valor de ε muy cercano a 0.
Algoritmo de induccion hacia atras A continuacion se presenta el algoritmo de
induccion hacia atras
1. Sea t = N y
u∗N(sN) = rN(sN) ∀sN ∈ S,
2. Substituya t por t− 1 y compute u∗t (st) para todo st ∈ S por
u∗t (st) = maxa∈Ast
rt(s, a) +
∑j∈S
pt(j|st, a)u∗t+1(j)
. (4-1)
Sea
A∗st,t = arg maxa∈Ast
rt(st, a) +
∑j∈S
pt(j|st, a)u∗t+1(j)
. (4-2)
3. Si t = 1, pare. En caso contrario, retorne al paso 2.
Este algoritmo garantiza que la polıtica π definida por dt(s) ∈ A∗st,t es optima, es
markoviana y es determinıstica.
4.2. Control PID
Uno de los controladores mas utilizados en la industria es el controlador PID [5]. La funcion
de transferencia de este controlador esta dado por
Gc(s) = Kp +KI
s+KD · s.
En el dominio del tiempo, la ecuacion para el controlador esta dado por
u(t) = Kpe(t) +KI
∫e(t)dt+KD
de(t)
dt,
en donde e(t) es la funcion de error. Es decir e(t) = x(t) − r(t) donde r(t) es la referencia
deseada a seguir.
El controlador consta de una parte proporcional, determinada por la constante Kp, que de-
termina que el control es proporcional al error. Es decir, mientras mas grande sea el error,
mayor es la accion de control. Si la constante de proporcionalidad aumenta, aumenta el tiem-
po de respuesta. Sin embargo, puede llevar a la inestabilidad del sistema. Adicionalmente,
el controlador consta de la parte integral, que consta de la integral del error. Esta accion
garantiza que el error en estado estable es cero. Sin embargo, al agregar al sistema un polo
en cero, puede llevar a la inestabilidad del mismo. Finalmente, el controlador consta de una
parte derivativa, que es proporcional al cambio del error. Mientras mas cambie el error, ma-
yor va a hacer la accion derivativa. Esta accion ayuda a amortiguar el sistema, logrando que
haya un menor sobre pico en el error.
4.3. Marco historico
La utilizacion de modelos que consideran incertidumbre enmarcados en un contexto de con-
trol de UAVs ha sido muy poca. En [1] hacen la utilizacion de Cadenas de Markov parcial-
mente observables para el modelamiento de un sistema de vigilancia, compuesto por varios
UAVs, que rastrea multiples objetivos. En dicho modelo, se consideran los factores de cali-
bracion de sensores, posicion del objeto a seguir e influencia del ambiente sobre los UAVs,
como un factor de origen de incertidumbre.
Paralelamente, la utilizacion de cadenas de Markov en un contexto general de control se
puede evidenciar en [6], en la que se hace uso de las cadenas de Markov para modelar el
funcionamiento de un sistema de control en red, en particular, la perdida de paquetes de
informacion al momento de la transmision de informacion. Ası mismo, en [4] se observa la
utilizacion de cadenas de Markov, con parametros ocultos (Hidden Markov chains) para el
modelamiento de la situacion de seguimiento a un vehıculo, en el contexto de la utilizacion de
tecnicas de control predictivo para el control de un vehıculo, segun ciertas especificaciones.
5 Definicion y especificacion del trabajo
5.1. Definicion
El presente documento pretende explorar la posibilidad de utilizar la teorıa de los proce-
sos de decision de Markov dentro de un contexto de control en el que existen fuentes de
incertidumbre. En particular, se busca explorar la realizacion de una estructura de control
jerarquica, que en alto nivel, determine la manera en la que el drone deba moverse de tal ma-
nera que se logre el comportamiento deseado, teniendo en cuenta al viento como una fuente
de incertidumbre y de naturaleza aleatoria. Este problema es principal interes en aquellos
contextos en los que se quiere que el drone siga ciertas trayectorias. Un ejemplo de esto es en
la agricultura, en donde se puede desear que un drone de irrigacion pase por determinadas
zonas que necesitan mayores niveles de humedad. Otro ejemplo puede ser la utilizacion de
drones en servicios de entregas de mercancıa a domicilio, en el que se quiere controlar el
movimiento del drone acorde a rutas de entrega.
5.2. Especificaciones
En este trabajo, se determinan tres casos de estudio en los cuales se utiliza un controlador
a partir de las cadenas de Markov. En cualquiera de los tres casos, se busca que el drone
llegue a determinado destino, segun lo determine el usuario del simulador. En algunos casos,
se quiere que el drone siga una trayectoria determinada, y en el ultimo caso, se quiere que
este determine una ruta con tal de evitar unos obstaculos determinados por el usuario. Se
considera que, cuando el drone pasa efectivamente por donde el camino lo determine, hay un
adecuado funcionamiento del controlador. Una forma efectiva de medir el funcionamiento,
en los casos en los que se quiere seguir una trayectoria, es utilizando el indicador definido
por
ISeg =Numero de cuadros visitados exitosamente
Numero de cuadros deseados para visitar.
En el caso en el que se quiere evitar obstaculos, se considera el siguiente indicador
IEsq =
1 si el drone evita los obstaculos,
0 en caso contrario.
La tabla 5-1muestra los valores para de los indicadores para los cuales se considera que la
accion de control es efectiva
Indicador Valor crıtico
ISeg 75 %
IEsq 10
Tabla 5-1: Valores de criterio de indicadores
6 Metodologıa
6.1. Plan de trabajo
El plan de trabajo utilizado para el desarrollo del proyecto fue:
Determinacion de modelos de MDPs a utilizar.
Lectura de informacion referente a teorıa basica de MDPs.
Documentacion sobre modelo del drone de 4 helices y perturbaciones modeladas.
Definicion de casos de estudio.
Analisis de caso de estudio: definicion de funciones de recompensa, estados y acciones
Determinacion de matrices de probabilidad de manera frecuencial.
Definicion de algoritmos a utilizar: Sustitucion hacia atras y algoritmo de iteracion de
valor.
Implementacion de casos de estudio.
Analisis de sensibilidad ante matrices de probabilidad y tipo de perturbacion.
6.2. Busqueda de informacion
La principal fuente de informacion para el desarrollo del proyecto fue [3]. Esta fuente fue
utilizada para contextualizar la teorıa de los procesos de decision de Markov, comprender sus
fundamentos y resultados teoricos al igual que los algoritmos utilizados para la resolucion
de problemas de procesos de decision de Markov. A partir de los conocimientos adquiridos,
se realizo la aplicacion de los conceptos de MDPs en el contexto de interes del proyecto. En
conjunto con el profesor Mauricio Junca se determinaron las caracterısticas de los casos de
estudio al igual que los algoritmos a utilizar en la implementacion. En conjunto con el profesor
Luis Felipe Giraldo, se validaron los resultados obtenidos y se establecieron metodologıas de
comparacion de los resultados, para facilitar la comprension del modelo propuesto.
6.3. Alternativas de desarrollo
Para el desarrollo del proyecto se contaba con dos modelos del drone. Uno de ellos, consta
de un drone con dos controladores PID: uno que controla la posicion X-Y y el otro que
13
controla los angulos de orientacion. El segundo drone solo cuenta con un controlador PID
que controla los angulos de orientacion. Inicialmente, se querıa implementar los algoritmos
para el drone que unicamente controla los angulos de orientacion. Para esto, usando el drone
que tiene dos controladores, se caracterizaron los angulos necesarios para realizar cada una
de las acciones. Sin embargo, en todos los casos de estudio se evidencio que, debido a que
el drone unicamente seguıa una referencia de los angulos de orientacion y no los corregıa
segun la posicion X-Y del drone, el modelo era altamente sensible a las perturbaciones,
encontrandose una gran dificultad para garantizar el funcionamiento deseado. A partir de
esto, se decidio implementar el modelo propuesto con el drone que tiene dos controladores.
De esta manera, el controlador se encarga de hacer los ajustes necesarios en los angulos con
el fin de lograr los objetivos de control.
7 Trabajo realizado
7.1. Modelo del drone
Para el desarrollo de las simulaciones, se hace uso de un drone de 4 helices. Se considera que
el marco movil del drone esta en posicion de X. Esta configuracion es ilustrada en la figura
7-1. Note la definicion de los angulos θ, ϕ, ψ.
Para interes del trabajo, se considera que el control a realizar solo se hara sobre la posicion
Figura 7-1: Configuracion en X
X-Y del drone. La referencia del controlador de altura se mantiene fija en 3 metros. Las
perturbaciones consideradas dentro del modelo consisten en fuerzas aplicadas al drone, con
respecto al marco de referencia inercial y se consideran que son perturbaciones resultantes
de la accion del viento sobre el cuerpo del drone. Para poder considerar un modelo de toma
14 7 Trabajo realizado
de decisiones secuencial, se determina el tiempo tp segundos equivalente al tiempo que pasa
entre etapas de decision. Despues de tp segundos se determina la posicion del drone y se
toma una accion segun lo deseado.
7.1.1. Arquitectura del modelo
La figura 7-2 muestra la arquitectura del controlador.
Figura 7-2: Estructura general del sistema de control
El controlador de alto nivel, al cabo de tp segundos utiliza la posicion actual del drone pa-
ra definir la referencia que deben seguir los controladores PID para lograr el objetivo deseado.
La figura 7-3 muestra el modelo de simulink del simulador del drone utilizado [2].
El simulador esta compuesto por los siguientes bloques:
Figura 7-3: Modelo de simulink del simulador
7.1 Modelo del drone 15
1. Controlador de posicion: Este bloque se encarga de controlar la posicion X-Y del
drone segun una referencia dada. Consta dos controladors PID que son utilizados para
determinar los angulos ϕ, θ de referencia. Las constantes del controlador estan dadas
por Ki = 0,9, Kd = 0,25, Ki = 0,095 que fueron determinados a partir de sintonizacion
manual. Los controladores tienen una saturacion para los angulos de ±12 grados.
2. Controlador de orientacion: Este bloque se encarga de controlar la orientacion del
drone. Utiliza 4 controladores PID para controlar los angulos θ, ϕ, ψ y la altura Z de
referencia. La tabla 7-1 muestra los valores de los controladores.
Variable a controlar Kp Ki Kd
ϕ 2 1.1 1.2
θ 2 1.1 1.2
ψ 4 0.5 3.5
z 2 1.1 3.3
Tabla 7-1: Tabla de controles
3. Bloque de controles: Este bloque se encarga de hacer la relacion entre los comando
de correccion de angulos y la altura, para determinar las velocidades a la que deben
girar los motores para obtener el efecto deseado.
4. Bloque de dinamicas Es el bloque encargado de simular las dinamicas de los motores
y de simular el sistema dinamico del drone con las perturbaciones consideradas.
7.1.2. Parametros de simulacion
Para simular el drone, se consideran los siguientes parametros fısicos del drone ( (M)=Motor,
(C)= Control electronico de velocidad, (Ce)= Cuerpo central, (B)=Brazos).
Parametro Valor Unidad Parametro Valor Unidad
Masa (M) 73 grms Distancia a centro (C) 8.26 cm
Distancia a centro (M) 22.23 cm Masa (Ce) 431 grms
Altura sobre el brazo (M) 3.18 cm Radio (Ce) 5.64 cm
Radio (M) 1.4 cm Altura (Ce) 4.29 cm
Masa (C) 30 grms Masa (B) 45 grms
Ancho (C) 2.54 cm Radio (B) 3.25 cm
Largo (C) 5.71 cm Largo (B) 18.57 cm
Tabla 7-2: Parametros fısicos del drone
16 7 Trabajo realizado
En el caso de las perturbaciones, se asume que la fuerza que imprime el viento sobre viento
se distribuye con una distribucion normal con media µ = 0 y varianza σ2 = 0,04. Para
determinar el valor maximo y mınimo de la perturbacion, se hizo uso de la escala de Beaufort.
La tabla 7-3 muestra la escala de Beaufort.
Velocidad del viento (km/h) Denominacion
0-1 Calma
2-5 Ventolina
6-11 Brisa debil
12-19 Brisa ligera
20-28 Brisa moderada
29-38 Brisa fresca
39-49 Brisa fuerte
50-61 Viento fuerte
62-74 Viento duro
75-88 Temporal fuerte
89-102 Temporal duro
103-117 Temporal muy duro
+118 Temporal huracanado
Tabla 7-3: Escala de Beaufort
Utilizando la escala se decide que se van a simular vientos de maximo 40 km/h. La relacion
entre velocidad y fuerza aplicada del viento esta dada por la ecuacion:
F =ρ · Cd · V 2 · A
2
donde V es la velocidad del viento en metros por segundo,A el area perpendicular sobre la que
actua el viento en metros cuadrados, Cd el coeficiente de arrastre y ρ la densidad del viento
que es de 1.22 Kg/m3 . Asumiendo que las perturbaciones dadas se dan sobre centro de masa
del drone, que la parte central del mismo se aproxima a una forma cilındrica (determinada
por los parametros dados en la tabla 7-2) y que el viento interactua unicamente con la mitad
del area del cilindro, se obtiene que las fuerzas de las perturbaciones se encuentran dentro
±0,22 Newtons de fuerza. Ası mismo, se considera que durante el tiempo que transcurre
entre toma de decisiones, el viento es constante. Sin embargo, de un perıodo a otro cambia.
7.2 Modelo del controlador 17
7.2. Modelo del controlador
7.2.1. Definicion de estados y acciones
Para definir la cadena de Markov, es necesario definir el conjunto de estados S y el conjunto
de acciones As para todo s ∈ S. Para lograr esto, el semiplano positivo X-Y es dividido en una
grilla. La longitud del lado de los cuadrados que componen la grilla se fija en 0.1 metros. El
centro de cada cuadrado se localiza en los multiplos de 0.1 en ambas coordenadas (i.e 0, 0.1,
0.2, etc). Considerando una particion de n columnas y m filas, cada uno de los cuadrados
de la grilla son un estado. El estado numero 1 es el cuadrado centrado en el origen. Los
estados son enumerados horizontalmente en orden ascendente. Una vez se llega a la n-esima
columna, la numeracion continua en la fila inmediatamente superior.
Dentro del conjunto S, se definen los siguientes subconjuntos
Sld = S1,Srd = Sn,Slu = S(m−1)·n+1,Sru = SmnSu = S(m−1)·n+j|j = 2, . . . , n− 1Sl = Sj·n+1|j = 2, . . . ,m− 2Sd = Sj|j = 2, . . . , n− 1Sr = Sj·n|j = 2, . . . ,m− 1Sbor = (Su ∪ Sl ∪ Sd ∪ Sr)Sesq = (Sld ∪ Sld ∪ Sld ∪ Sld)Sin = S \ (Sesq ∪ Sbor)
(7-1)
donde Si es el i-esimo estado.
La siguiente convencion es utilizada para las acciones. En este contexto se entiende que la
accion “adelante”significa que el drone debe ir un cuadrado arriba en la grilla. Las acciones
disponibles en cada estado son definidas en la tabla 7-4 para cada s en el conjunto de es-
tados. La Figura 7-4 ilustra la numeracion del conjunto de estados S para el caso n = 4 y
m = 3 junto con una identificacion de los subconjuntos definidos en (7-1).
1 2 3 4
5 6 7 8
9 10 11 12 Sesq
Sin
Sl
Sr
Sd
Su
Figura 7-4: Ejemplo de numeracion y de subconjuntos
18 7 Trabajo realizado
Conjunto de estados As
Sld 1, 2, 5, 9Srd 1, 3, 7, 9Slu 2, 4, 6, 9Sru 3, 4, 8, 9Su 2, 3, 4, 6, 8, 9Sl 1, 2, 4, 5, 6, 9Sd 1, 2, 3, 5, 7, 9Sr 1, 3, 4, 7, 8, 9Sin 1, 2, 3, 4, 5, 6, 7, 8, 9
Tabla 7-4: Acciones segun estado
7.2.2. Definicion de matriz de probabilidad de transicion
Para definir las matriz de probabilidad de transicion, se hace uso de un enfoque frecuencial.
Para esto, se define el tiempo tp como el tiempo entre la toma de decisiones del drone. Luego,
se define el numero de experimentos ne a realizar. Por cada experimento el drone se ubica en
el origen y se le indica que tome cada accion por separado. Tambien, por cada experimento se
tiene valores diferentes para las perturbaciones. Al cabo de tp segundos se observa la posicion
final del drone. De esta manera, se obtiene una estimacion de la probabilidad de que el drone
logre llegar a la posicion deseada despues de tp segundos. Se asume que las probabilidades
son homogeneas, por lo que se tiene la misma matriz de probabilidad de transicion en todo
los estados. Considerando que en los estados de los bordes y las esquinas de la grilla se tiene
que bajo ciertas acciones se sale de esta, se aplica una normalizacion de las probabilidades
para garantizar que estas sumen 1. Para aquellos estados para los cuales no esta disponible
la accion que determina la matriz, la fila correspondiente es de ceros.
7.2.3. Definicion de funciones de recompensa
La funcion de recompensas a utilizar es especificada en los casos de estudio expuestos en las
secciones 7.3, 7.4, 7.5.
7.2.4. Definicion de polıtica de control
La polıtica de control es la resultante de la implementacion de los algoritmos de induccion
hacia atras presentado y de iteracion de valor, presentados en la seccion 4.1.9.
7.3 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte finito 19
7.3. Caso de estudio: Seguimiento de trayectoria con
MDP de horizonte finito
7.3.1. Descripcion
En este caso se quiere que el drone siga el camino determinado por el usuario. Sea Sdes ⊂ Sel conjunto de estados que forman el camino deseado. Sea M = |Sdes|. Sea NM := j ∈ N|j ≤M y sea k : NM → Sdes una funcion tal que k(j) es el estado que se quiere que ocupe el
drone en la epoca de decision j. De esta manera, bajo esta consideracion se define un MDP
de horizonte finito con M − 1 epocas de decision.
7.3.2. Funcion de recompensa
Para lograr el objetivo de que el drone siga la trayectoria esperada, se define la siguiente
funcion de recompensa para t = 1, . . . ,M :
rt(s, a) =
1000 si k(t) = s,
0 en caso contrario.
Note que bajo esta definicion, la recompensa depende unicamente del estado y no de las
acciones.
7.4. Caso de estudio: Seguimiento de trayectoria con
MDP de horizonte infinito
7.4.1. Descripcion
En este caso se quiere que el drone siga el camino determinado por el usuario sin importar
cuantas decisiones toma el agente. Se considera que para todos los estados, las acciones 5,6,7
y 8 estan deshabilitadas y un factor de descuento de λ = 0,7. Sea Sdes ⊂ S el conjunto de
estados que forman el camino deseado. Sea M = |Sdes|. Sea NM := j ∈ N|j ≤ M y sea
k : NM → Sdes una numeracion de los estados del camino deseado, de tal manera que k(1)
es el primer estado que el drone deberıa visitar y k(2) el segundo. A partir de esto, defina la
funcion k : S→ NM ∪ M + 1 de la siguiente forma
k(s) =
k−1(s) si s ∈ Sdes
M + 1 en caso contrario.
7.4.2. Funcion de recompensa
Se define la siguiente funcion de recompensa
r(s, a) =
10
k10 si k ∈ NM ,
0 en caso contrario.
Note que bajo esta definicion, la recompensa depende unicamente del estado y no de las
acciones.
7.5. Caso de estudio: Planeacion de ruta evitando
obstaculos con MDP de horizonte infinito
7.5.1. Descripcion
En este caso, se quiere que el drone llegue al destino final evitando los obstaculos definidos
por el usuario. Sea Sdes el estado de llegada y sea Sobs ⊂ S el conjunto de estados que
conforman los obstaculos a evitar.
7.5.2. Funciones de recompensa
Se define la siguiente funcion de recompensa1:
r(s, a) = 100 · (1Sdes(s)− 1Sobs(s)).
Note que bajo esta definicion, la recompensa depende unicamente del estado y no de las
acciones.
8 Resultados y analisis de resultados
8.1. Caso de estudio: Seguimiento de trayectoria con
MDP de horizonte finito
Para el desarrollo de las simulaciones, se considera que el drone se encuentra en el origen
a tres metros de altura y que el tiempo entre epocas de decision es de 1,2 segundos. Se
consideran dos escenarios de prueba. En uno de ellos, el camino escogido comienza en la
11X(x) = 1 si x ∈ X y 0 en caso contrario.
8.1 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte finito 21
posicion inicial del drone. En el otro escenario, el camino no comienza en la posicion inicial
del drone. Las figuras 8-1 y 8-2 muestran los resultados obtenidos.
(a) Posicion del drone (b) Perturbaciones
Figura 8-1: Resultados camino con misma posicion inicial
(a) Posicion del drone (b) Perturbaciones
Figura 8-2: Resultados camino con posicion inicial diferente
Se observa que en ambos casos, a pesar de las perturbaciones, el drone es capaz de seguir la
trayectoria dada. Note que en la figura 8-2.a se observa que el drone es capaz de identificar
la imposibilidad de estar en el estado 3 al comienzo del MPD, por lo que toma acciones con
22 8 Resultados y analisis de resultados
el fin de poder estar lo mas pronto posible en la posicion indicada. De aquı, que opta por
tomar la accion 5 en vez de la accion 2.
8.1.1. Analisis de sensibilidad ante la matriz de perturbaciones
Para entender la sensibilidad de la polıtica de control frente a la matriz de probabilidades de
transicion, se simularon otras 4 matrices de transicion. Para el mismo camino de los 2 esce-
narios presentados anteriormente, se simulan las polıticas obtenidas. La figura 8-3 muestra
los resultados obtenidos.
(a) Camino con posicion inicial igual (b) Camino con posicion inicial diferente
Figura 8-3: Resultados a diferente matrices
En los resultados se observa que las lıneas que presentan un comportamiento diferente son
los resultados de la matriz 1 y 2. En el caso de de la figura 8-3.a se observa que la diferencia
entre el la lınea roja y la negra ocurre en el estado 13. Allı, el agente toma la decision de ir
en diagonal, cuando debe ir hacia arriba. Posterior a un analisis, se determina que la proba-
bilidad de llegar al estado 18, desde el estado 13, usando la accion 1 es menor para la matriz
utilizada para la simulacion de la lınea negra. Ası mismo, se destaca que la probabilidad de
llegar al estado 18 desde el estado 13 tomando la accion 5 es mayor en la matriz de la lınea
negra que para la matriz de la lınea roja. El agente, siendo consiente de estas diferencias en
probabilidad, y que en dos epocas de decision debe estar en el estado 19, opta por tomar
la decision 5 en vez de la decision 1, que es la ideal. Paralelamente, en el caso de la lınea
azul, se observa que la diferencia con respecto a la lınea roja ocurre en el estado 1. La matriz
utilizada para la lınea azul evidencia que existe una menor probabilidad de llegar al estado
2 desde el estado 1 tomando la accion 2 con respecto a la matriz de la lınea roja. Ası mismo,
existe una mayor probabilidad de llegar al estado 2 desde el estado 1 tomando la accion 5
8.1 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte finito 23
con respecto a la matriz de la lınea roja. El agente, siendo consiente que debe estar en el es-
tado 3 en dos epocas de decision posterior, opta por tomar la accion 5 para llegar al estado 3.
Por otro lado, para el caso de los resultados mostrados en la figura 8-3.b se observa que
tanto la lınea negra como la azul difieren de la roja en el estado 13. En dicho estado, la
accion ideal a tomar es la accion 7. Sin tanto para el caso de la lınea azul como de la lınea
negra, la probabilidad de llegar a los estados 17 y 18 desde desde el estado 13 con la accion
7 es menor con respecto a las probabilidades de la lınea roja. En ambos casos, la accion 5
garantiza una mayor probabilidad de llegar al estado 18 con respecto a la accion 1. Esto es
relevante, teniendo en cuenta que en el siguiente momento del tiempo el estado deseado es el
estado 23. Ası mismo, se observa que existe una diferencia entre la lınea azul y la lınea negra
en el estado 19. Esto se debe a que en el estado 19, para la lınea negra es menos probable con
respecto a la lınea azul el llegar al estado 24 tomando las acciones 7 y 2 consecutivamente,
que tomar la accion 1 y luego quedarse quieto. Lo anterior, ya que las acciones 7 y 2 son
menos probables de ser efectivas para la lınea negra con respecto a la lınea azul.
8.1.2. Analisis de sensibilidad ante el tipo de perturbacion
Para entender la sensibilidad de la polıtica de control frente al tipo de viento utilizado, se
hizo un cambio en la distribucion de la intensidad de las perturbaciones. En este caso, se
considera una distribucion Beta con parametros α = 2, β = 5. Considerando los mismos
caminos para ambos escenarios la figura 8-4 muestra los resultados obtenidos.
(a) Camino con posicion inicial igual (b) Camino con posicion inicial diferente
Figura 8-4: Resultados con distintos tipo de viento
24 8 Resultados y analisis de resultados
Note que al considerar una distribucion Beta, se esta asumiendo que el vector de fuerza
del viento solo toma componentes positivas en X-Y, por lo tanto, habra una tendencia del
drone de irse en la aquellas direcciones (i.e hacia la derecha y hacia arriba). A pesar de esto,
la polıtica no cambia, por lo que se obtienen caminos que siguen las trayectorias dadas. Sin
embargo, no que los resultados de los experimentos con la nueva distribucion (negro, azul,
azul claro) estan desfasados ligeramente hacia arriba y hacia a la derecha con respecto a la
lınea roja, lo que evidencia el efecto del cambio en la distribucion de la fuerza del viento.
8.2. Caso de estudio: Seguimiento de trayectoria con
MDP de horizonte infinito
Considerando el tiempo entre decisiones de tp = 1 segundo y considerando el mismo escena-
rio de la seccion 8.1 se obtuvieron los resultados mostrados en las figuras 8-5 y 8-6.
(a) Posicion del drone (b) Perturbaciones
Figura 8-5: Resultados camino con misma posicion inicial
8.2 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte infinito 25
(a) Posicion del drone (b) Perturbaciones
Figura 8-6: Resultados camino con posicion inicial diferente
En la figura 8-5.a se observa que, al tener un conjunto de acciones mas reducidos, el drone
requiere mas acciones para poder seguir el camino deseado. Sin embargo, se observa un buen
funcionamiento. Ası mismo, en la figura 8-6.a se observa que el drone evita uno de los estados
deseados. Esto se debe a que, al tener que tomar mas decisiones, el drone reduce el valor
esperado de la recompensa, por lo que el drone va a tender a tomar la menor cantidad de
decisiones con el fin de no reducir su valor esperado. En este caso, para llegar al estado 23
desde el estado 13 se requieren de mınimo dos acciones. Al tomar el camino deseado debe
tomar necesariamente 4 acciones,reduciendo ası el valor esperado.
8.2.1. Analisis de sensibilidad ante la matriz de perturbaciones
Siguiendo la metodologıa de prueba de la seccion 8.1, la figura 8-7 muestra los resultados
obtenidos.
26 8 Resultados y analisis de resultados
(a) Camino con posicion inicial igual (b) Camino con posicion inicial diferente
Figura 8-7: Resultados a diferente matrices
En este caso en particular, se observa que la la unica lınea que presenta un comportamiento
diferente es la lınea negra. Note que para los estados 13, 18,19 y 20 las acciones optimas son
las mismas. Entonces, el factor mas determinante es la diferencia en el valor esperado. Para
la lınea negra hay mayor certeza de la efectividad de la accion 4 con respecto a la lınea roja.
Luego, en el estado 20 hay un mayor valor esperado para la lınea negra. Sin embargo, dado
que para la lınea roja hay mayor certeza de la efectividad de las acciones 1 y 2 con respecto
a la lınea negra, hay un mayor valor esperado para la lınea roja en los estados 13, 18 y 19.
Luego, las acciones para pasar del estado 7 al 13 dependen de los valores esperados en los
estados 8 y 12. Las tablas 8-1 y 8-2 muestras los valores esperados para dichos estados segun
la lınea.
Estado Accion Valor esperado accion
8 1 7.5942
12 2 7.6752
Tabla 8-1: Valores esperados lınea roja
Estado Accion Valor esperado accion
8 1 7.0046
12 2 6.9105
Tabla 8-2: Valores esperados lınea negra
Segun esto, se observa que el valor esperado es mayor en el estado 12 que en el estado 8 para
la lınea roja, y viceversa para la lınea negra. Luego, para la lınea roja es optima la accion 1
en el estado 7 y para la lınea negra es optima la accion 2 para el mismo estado.
8.2.2. Analisis de sensibilidad ante el tipo de perturbacion
Al cambiar el tipo de perturbacion como descrito en la seccion 8.1, se obtienen los resultados
mostrados en la figura 8-8. Se observa que las polıticas de control obtenidas son invariantes
8.2 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte infinito 27
(a) Camino con posicion inicial igual (b) Camino con posicion inicial diferente
Figura 8-8: Resultados con distintos tipo de viento
bajo el tipo de perturbacion. Ası mismo, se observa que las posiciones del drone estan desfa-
sadas en las direcciones positivas de los ejes X e Y, lo que es acorde al tipo de perturbacion
considerada.
8.2.3. Analisis de sensibilidad ante el camino
En este caso, se considera una prueba extra de sensibilidad. Considerando el camino deseado
en la figura 8-6.a, se agrega como estado deseado el estado 15 y se considera la misma matriz
de probabilidad. La figura 8-9 muestra el resultado obtenido.
28 8 Resultados y analisis de resultados
Figura 8-9: Nuevo camino deseado
En este caso, se observa que la primer diferencia en la toma de decisiones ocurre en el estado
13. La tabla 8-3 muestra los valores esperados aproximados para los estados 13 y 14 segun
cada accion.
Camino Estado Accion 1 Accion 2
Original 13 8.1477 7.7136
Modificado 13 9.3751 12.8863
Original 14 8.1775 8.1775
Modificado 14 10.9413 16.5978
Tabla 8-3: Comparacion valores esperados
En este caso, al agregar el estado 15, se observa que hay un cambio sustancial en el valor
esperado del estado 14. Esto causa que la accion 2 sea ahora mas deseable en el estado 13,
al tener un valor mayor esperado con respecto a la accion 1.
8.3 Caso de estudio: Planeacion de ruta evitando obstaculos con MDP de horizonteinfinito 29
8.3. Caso de estudio: Planeacion de ruta evitando
obstaculos con MDP de horizonte infinito
Considerando el tiempo entre decisiones de tp = 1 segundo y considerando el mismo escena-
rio de la seccion 8.1 se obtuvieron los resultados mostrados en la figura 8-10.
(a) Posicion del drone (b) Perturbaciones
Figura 8-10: Resultados de simulacion
A partir de los resultados se observa que el drone cumple satisfactoriamente el objetivo de
llegar a la posicion final esquivando los obstaculos.
8.3.1. Analisis de sensibilidad ante la matriz de probabilidad
Realizando las simulaciones ante distintas matrices de probabilidad, se obtuvieron los resul-
tados mostrados en la figura 8-3.
30 8 Resultados y analisis de resultados
Figura 8-11: Resultados a diferentes matrices de probabilidad
Se observa que la unica lınea que presenta un comportamiento diferente es la lınea negra.
En este caso, analizando las matrices de probabilidad de la lınea roja y la lınea negra, se
observa que hay 0.14 mas certeza de efectividad para la lınea negra al utilizar la accion 4. Ası
mismo, se observa que hay 0.02 mas de certeza de efectividad para la lınea roja al utilizar
la accion 3. Por esta razon el valor esperado es mayor en el estado 24 para la lınea negra
que para la lınea roja en el estado 20. Tambien, para la lınea roja, hay 0.12 y 0.08 mas de
certeza de efectividad para las acciones 2 y 1, respectivamente. De esta manera, se espera
que el valor esperado en el estado 1 sea mayor para la lınea roja si toma la accion 2 en vez de
la accion 1 y que el valor esperado sea mayor para la lınea negra si toma la accion 1 en vez
de la accion 2 en el mismo estado. Las tablas 8-4 y 8-5 muestran el calculo de los valores
esperados segun cada accion en el estado 1.
Accion Valor esperado accion
1 14.6097
22 15.1530
Tabla 8-4: Valores esperados lınea roja
Accion Valor esperado accion
1 9.8091
22 9.2011
Tabla 8-5: Valores esperados lınea negra
Es destacable que los valores esperados son mas altos para la lınea roja, lo que concuerda
con las diferencias en las probabilidades de las acciones involucrada en ambos caminos.
8.3.2. Analisis de sensibilidad ante el tipo de perturbacion
Se realizo la comparacion con las perturbaciones mencionadas en 8.1. La figura 8-12 muestra
los resultados obtenidos.
Figura 8-12: Resultados a diferentes tipo de viento
Se observa que la unica lınea que muestra un comportamiento diferente es la lınea negra.
Para esta lınea, las acciones 1 y 2 tienen probabilidad 1 de efectividad. Esto es debido a
que el viento se dirige principalmente en las direcciones positivas de ambos ejes. Luego, para
comparada con la lınea roja, se espera un mayor valor esperado para el estado 1 al usar la
accion 1, ya que el camino que dicha accion determina utiliza mas veces las acciones 1 y 2
que el camino que toma la lınea roja. Ası mismo, para la lınea negra, la accion 4 tiene 0.07
mas de certeza que la accion 3. Por esto, se tiene que el valor esperado en el estado 20 es
menor que el valor esperado en el estado 24. Las tablas 8-6 y 8-7 muestran el calculo de los
valores esperados para las acciones 1 y 2 en el estado 1, para ambas lıneas.
Accion Valor esperado accion
1 14.6097
22 15.1530
Tabla 8-6: Valores esperados lınea roja
Accion Valor esperado accion
1 25.8024
22 23.0443
Tabla 8-7: Valores esperados lınea negra
9 Discusion
En este trabajo se plantea la utilizacion de cadenas de Markov para el diseno de un contro-
lador de alto nivel que controle la posicion X-Y de un drone de 4 helices. Inicialmente, hubo
demoras en el entendimiento de los conceptos de la teorıa de las cadenas de Markov y en
la contextualizacion de los mismos para el caso de control. Posteriormente, se definieron los
escenarios de interes y se analizo la metodologıa de implementacion.
En un principio, se querıa utilizar un modelo de un drone con un controlador PID que con-
trola los angulos de orientacion del drone. Gran parte del tiempo del desarrollo del proyecto
se invirtio en la implementacion de los algoritmos a este modelo. Sin embargo, al tenerse
que el drone solo seguıa una referencia estatica de unos angulos de orientacion, y que la
referencia era ajena a la posicion del drone, el modelo era altamente sensible a las pertur-
baciones. Una vez que se implemento un controlador PID para la posicion X-Y, el modelo
mejoro considerablemente.
A partir de los resultados obtenidos, se considera que los objetivos del proyecto se cumplen.
Esto, ya que se logro identificar escenarios de prueba para el controlador propuesto y se
verifico su efectividad. Ası mismo, es relevante el desarrollo de criterios comparativos que
faciliten el analisis de los resultados. Teoricamente, serıa posible definir valores crıticos de
las matrices de probabilidad para los cuales una polıtica cambia con respecto a la otra.
10 Conclusiones
10.1. Conclusiones
En el presente trabajo se utilizo los procesos de decision de Markov para el desarrollo de
un controlador de alto nivel que controla la posicion X-Y de un drone de 4 helices. A partir
de los resultados, se observa que en todos los casos el funcionamiento del controlador esta
sujeto a las estimaciones de las matrices de probabilidad. Segun la estructura de las mismas,
los caminos determinados por el controlador pueden ser diferentes y por ende, no cumplir
los criterios de funcionamiento segun el escenario. A partir de esto, se plantea como trabajo
futuro la implementacion de algoritmos de cadenas de Markov robustas, en los que se realiza
el calculo de las polıticas de control considerando incertidumbre en las matrices de probabi-
lidad.
Paralelamente, en el escenario de querer seguir un camino de referencia, el modelo de hori-
zonte finito resulta ser mas acertado que el modelo de horizonte infinito al seguir el camino
de referencia. Esto se debe a que la funcion de recompensa en el caso de horizonte finito
lograr modelar mejor el fenomeno de seguir la referencia dada.
Tambien, se comprueba el adecuado funcionamiento del controlador en el escenario de pla-
neacion de trayectorias para evitar obstaculos.
A partir de lo anterior, se considera que los procesos de decision de Markov resultan ser
una herramienta util para el desarrollo de un controlador a alto nivel y que a partir de una
adecuada definicion de las funciones de recompensa, el funcionamiento del controlador varıa.
10.2. Trabajo futuro
A partir de los resultados obtenidos, se proponen las siguientes actividades para un trabajo
futuro:
Debido a la sensibilidad del controlador a la estimacion de las probabilidades de
transicion se propone la utilizacion de algoritmos de cadenas de Markov robustas para
mejorar el funcionamiento del controlador bajo la incertidumbre de las probabilidades
a utilizar.
Considerando el caso del seguimiento de una trayectoria, es posible mejorar el contro-
lador con un modelo de horizonte infinito que considere funciones de recompensa que
cambien de valor una vez se alcanza un estado.
Para considerar un mayor dinamismo de las pruebas, se considera relevante la imple-
mentacion de modelos dinamicos para la fuerza del viento.
En el caso de horizonte infinito, debido a la dependencia del modelo con respecto al
parametro λ, se hace necesario pruebas de sensibilidad con respecto a este.
34 11 Agradecimientos
11 Agradecimientos
Agradezco profundamente a los profesores Luis felipe Giraldo, profesor asistente del de-
partamento de Ingenierıa Electrica y Electronica de la Universidad de los Andes, por su
colaboracion en la estructuracion de los protocolos de prueba del trabajo, al igual que la
asesorıas para el desarrollo del mismo. Ası mismo, agradezco al profesor Mauricio Junca,
profesor asociado del departamento de Matematicas de la Universidad de los Andes, por
su asesorıa en la resolucion de problemas que se presentaron en la implementacion de los
algoritmos.
Bibliografıa
[1] Capitan, J. ; Merino, L. ; Ollero, A.: Decentralized cooperation of multiple UAS
for multi-target surveillance under uncertainties. En: 2014 International Conference on
Unmanned Aircraft Systems (ICUAS), 2014, p. 1196–1202
[2] D.Hartman, K.Landis, M.Mehrer, S.Moreno, J. Kim: Quadcopter Dynamic
Modeling and Simulation (Quad-Sim). Disponible en https://github.com/dch33/
Quad-Sim. 2014. – Version 1.0
[3] Puterman, Martin L.: Markov decision processes: discrete stochastic dynamic program-
ming. 1. Wiley-Interscience, 1994 (Wiley Series in Probability and Statistics). – ISBN
0471619779,9780471619772
[4] Qu, T. ; Yu, S. ; Shi, Z. ; Chen, H.: Modeling driver’s car-following behavior based on
hidden Markov model and model predictive control: A cyber-physical system approach.
En: 2017 11th Asian Control Conference (ASCC), 2017, p. 114–119
[5] Richard C. Dorf, Robert H. B.: Modern control systems. 11. Prentice Hall, 2007. –
ISBN 0132270285,9780132270281
[6] Sun, D. ; Wang, X. ; Wang, L. ; Zhang, S. ; Wang, W.: Research on quantized
feedback control for networked control system with Markov characteristics. En: 2017
36th Chinese Control Conference (CCC), 2017. – ISSN 1934–1768, p. 3140–3146