PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

37
PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIER ´ IA DEPARTAMENTO DE INGENIER ´ IA EL ´ ECTRICA Y ELECTR ´ ONICA Para obtener el t´ ıtulo de INGENIERO ELECTR ´ ONICO por Cristhian Camilo S´anchez Fino SIMULACI ´ ON DE UN CONTROLADOR DE ALTO NIVEL EN MATLAB PARA EL CONTROL DE POSICI ´ ON DE UN DRONE DE 4 H ´ ELICES A PARTIR DE CADENAS DE MARKOV Sustentado el d´ ıa 27 de mayo frente al jurado: Composici´ on del jurado: - Asesor : Luis Felipe Giraldo, Profesor Asistente /Universidad de Los Andes - Jurado : Mauricio Jos´ e Junca Pel´ aez, Profesor Asociado / Universidad de Los Andes

Transcript of PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

Page 1: 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

Page 2: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 3: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 4: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 5: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 6: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 7: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 8: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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),

Page 9: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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)

Page 10: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 11: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 12: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 13: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 14: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 15: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 16: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 17: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 18: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 19: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 20: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 21: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 22: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 23: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 24: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 25: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 26: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 27: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 28: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 29: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 30: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 31: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 32: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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

Page 33: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 34: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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,

Page 35: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 36: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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.

Page 37: PROYECTO FIN DE CARRERA Presentado a LA UNIVERSIDAD DE …

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