• No se han encontrado resultados

PROYECTO FIN DE CARRERA. Presentado a LA UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

N/A
N/A
Protected

Academic year: 2022

Share "PROYECTO FIN DE CARRERA. Presentado a LA UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA"

Copied!
37
0
0

Texto completo

(1)

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

(2)

Contenido

1 Introducci´on 2

2 Objetivos 2

2.1 Objetivo general . . . 2

2.2 Objetivos espec´ıficos . . . 2

2.3 Alcances y productos finales . . . 3

3 Descripci´on de la problem´atica y justificaci´on del trabajo 3 4 Marco te´orico e hist´orico 4 4.1 Procesos de decisi´on de Markov . . . 4

4.1.1 Epocas de decisi´´ on . . . 4

4.1.2 Conjunto de estados y acciones . . . 4

4.1.3 Recompensas y probabilidades de transici´on . . . 5

4.1.4 Reglas de decisi´on markovianas . . . 5

4.1.5 Pol´ıticas markovianas . . . 6

4.1.6 Procesos estoc´asticos inducidos . . . 6

4.1.7 Definici´on . . . 7

4.1.8 Modelos . . . 7

4.1.9 Algoritmos . . . 8

4.2 Control PID . . . 9

4.3 Marco hist´orico . . . 10

5 Definici´on y especificaci´on del trabajo 10 5.1 Definici´on . . . 10

5.2 Especificaciones . . . 11

6 Metodolog´ıa 11 6.1 Plan de trabajo . . . 12

6.2 B´usqueda de informaci´on . . . 12

6.3 Alternativas de desarrollo . . . 12

7 Trabajo realizado 13 7.1 Modelo del drone . . . 13

7.1.1 Arquitectura del modelo . . . 14

7.1.2 Par´ametros de simulaci´on . . . 15

7.2 Modelo del controlador . . . 17

7.2.1 Definici´on de estados y acciones . . . 17

7.2.2 Definici´on de matriz de probabilidad de transici´on . . . 18

7.2.3 Definici´on de funciones de recompensa . . . 18

7.2.4 Definici´on de pol´ıtica de control . . . 18

7.3 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte finito . . 19

7.3.1 Descripci´on . . . 19

7.3.2 Funci´on de recompensa . . . 19

7.4 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte infinito . 19 7.4.1 Descripci´on . . . 19

7.4.2 Funci´on de recompensa . . . 20

7.5 Caso de estudio: Planeaci´on de ruta evitando obst´aculos con MDP de hori- zonte infinito . . . 20

7.5.1 Descripci´on . . . 20

7.5.2 Funciones de recompensa . . . 20

8 Resultados y an´alisis de resultados 20 8.1 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte finito . . 20

8.1.1 An´alisis de sensibilidad ante la matriz de perturbaciones . . . 22

(3)

Contenido 1

8.1.2 An´alisis de sensibilidad ante el tipo de perturbaci´on . . . 23 8.2 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte infinito . 24 8.2.1 An´alisis de sensibilidad ante la matriz de perturbaciones . . . 25 8.2.2 An´alisis de sensibilidad ante el tipo de perturbaci´on . . . 26 8.2.3 An´alisis de sensibilidad ante el camino . . . 27 8.3 Caso de estudio: Planeaci´on de ruta evitando obst´aculos con MDP de hori-

zonte infinito . . . 29 8.3.1 An´alisis de sensibilidad ante la matriz de probabilidad . . . 29 8.3.2 An´alisis de sensibilidad ante el tipo de perturbaci´on . . . 31

9 Discusi´on 31

10 Conclusiones 32

10.1 Conclusiones . . . 32 10.2 Trabajo futuro . . . 33

11 Agradecimientos 33

Bibliograf´ıa 34

(4)

1 Introducci´ on

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 matem´ati- ca para el modelamiento de la toma de decisiones secuenciales. Considerando el problema de control de vuelo de un drone de 4 h´elices, se motiva la utilizaci´on de esta herramienta para el dise˜no de un controlador de alto nivel que controle la posici´on 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 obst´aculos.

Para lograr el objetivo en cada escenario, se definen funciones de recompensa adecuadas.

Posterior a la definici´on 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 an´alisis de sensibilidad y se propone el trabajo futuro.

2 Objetivos

2.1. Objetivo general

Desarrollar y simular un controlador jer´arquico de dos niveles, cuya estrategia de alto nivel sea basada en los Procesos de Decisi´on 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.

(5)

Implementar una plataforma de simulaci´on 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 c´odigo utilizados para el desarrollo del mismo, debidamente comentados y expli- cados. Adicionalmente, se entregar´a el resultado de las simulaciones del comportamiento de dron en distintos escenarios de inter´es.

3 Descripci´ on de la problem´ atica y justificaci´ on del trabajo

En la actualidad, el desarrollo de tecnolog´ıas de comunicaci´on inal´ambrica y procesamiento de im´agenes ha permitido el desarrollo de dispositivos electr´onicos controlados a largas dis- tancias. Dentro de esta categor´ıa, se ha popularizado el uso de Veh´ıculos a´ereos no tripulados (UAV por sus siglas en ingl´es) para el desarrollo de distintas actividades, que anteriormente se consideraban riesgosas o de alta dificultad.

A partir de esto, se ha desarrollado un inter´es por el desarrollo de t´ecnicas de control que permitan la manipulaci´on de UAV, de tal manera que estos operen de manera aut´onoma sin poner en riesgo la integridad f´ısica del dispositivo. En el caso de los drones de 4 h´elices, dada la dificultad de las din´amicas f´ısicas que comprenden su movimiento, se han desa- rrollado modelos din´amicos para el desarrollo de estrategias que permitan el control de su vuelo. Sin embargo, estos modelos representan aproximaciones que est´an sujetas a eventos, de naturaleza estoc´astica, que pueden ocurrir en el medio en el cu´al el dron se desplaza. En este contexto, resulta relevante el entendimiento de t´ecnicas de dise˜no de controladores que muestren un buen desempe˜no a eventos aleatorios.

Teniendo en cuenta lo anterior, se encuentra en la literatura mucha informaci´on referente a modelamiento de las din´amicas de un dron de 4 h´elices, 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 utilizaci´on de t´ecnicas de modelamiento que permitan la inclusi´on de eventos aleatorios que permitan garantizar un mejor desempe˜no de los disposi- tivos ante condiciones inciertas.

(6)

4 4 Marco te´orico e hist´orico

El presente proyecto busca, a partir de fundamentos matem´aticos, la realizaci´on de un con- trolador jer´arquico para un dron de 4 h´elices, que permita un buen desempe˜no 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 utilizaci´on de drones para la irrigaci´on 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 te´ orico e hist´ orico

4.1. Procesos de decisi´ on de Markov

Los expuesto en esta secci´on corresponde a las definiciones expuestas en [3]. Los procesos de decisi´on de Markov modelan la toma de decisiones secuenciales de un agente bajo condicio- nes inciertas. Estos se componen de cinco elementos: ´epocas de decisi´on, estados, acciones, probabilidades de transici´on y recompensas. Cada elemento se describe a continuaci´on, para luego dar una definici´on formal de un proceso de decisi´on de Markov

4.1.1. Epocas de decisi´ ´ on

Definici´on 4.1. Las ´epocas de decisi´on son los tiempos en los cu´ales ocurre la toma de decisiones. Sea T el conjunto de ´epocas de decisi´on. Este conjunto puede ser discreto o un continuo, al igual que un conjunto finito o infinito.

Definici´on 4.2. Los per´ıodos o etapas son el tiempo que transcurre entre ´epocas de deci- si´on en problemas de tiempo discreto.

Definici´on 4.3. Si |T | = N < ∞ se denomina un problema de horizonte finito. En caso contrario, se denomina un problema de horizonte infinito.

Observaci´on 4.1. Por convenci´on, en problemas de horizonte finito, no se toman decisiones en la ´epoca de decisi´on N , sino que dicha ´epoca se incluye ´unicamente para evaluar el estado final del sistema.

4.1.2. Conjunto de estados y acciones

Definici´on 4.4. Sea st el estado ocupado por el sistema en la ´epoca de decisi´on t ∈ T . Sea St= S

t∈T

{st} el conjunto de todos los estados posibles en el tiempo t. Se define S = S

t∈TSt el

(7)

4.1 Procesos de decisi´on de Markov 5

conjunto de posibles estados del sistema.

Definici´on 4.5. Sea As el conjunto de acciones disponibles para el agente al estar en el estado s. Sea A := S

s∈SAs el conjunto de acciones disponibles para el agente.

Observaci´on 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.

Definici´on 4.6. Una acci´on a es escogida aleatoriamente si existe una distribuci´on de probabilidad q(·) ∈ P(A)1 tal que la probabilidad de escoger la acci´on a est´a dada por q(a).

Observaci´on 4.3. Las acciones pueden tomarse de manera aleatoria o determin´ıstica. En este caso, una acci´on determin´ıstica corresponde a una distribuci´on de probabilidad degene- rada. Es decir, la probabilidad de tomar una acci´on determin´ıstica es igual a 1.

4.1.3. Recompensas y probabilidades de transici´ on

Definici´on 4.7. Una funci´on de recompensa es una funci´on 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 acci´on a. En algunas ocasiones, la funci´on 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 acci´on a y llegar al estado j.

Definici´on 4.8. Una probabilidad de transici´on es una distribuci´on 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 est´a en el estado s en el tiempo t y se toma la acci´on a.

Observaci´on 4.4. Dado que en el MDPs de horizonte finito no se toma una decisi´on en la

´

ultima ´epoca, la recompensa para t = N est´a dada por una funci´on rt : S → R donde rN(s) representa la recompensa recibida dado que el estado final del sistema es s.

4.1.4. Reglas de decisi´ on markovianas

Definici´on 4.9. Una regla de decisi´on markoviana determin´ıstica es una aplicaci´on dt: S → A en donde, ∀s ∈ S dt(s) ∈ As. Se entiende que dt(s) es la acci´on tomada dado que se est´a 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 = S

t∈T

DtMD el conjunto de todas las pol´ıticas markovianas determin´ısticas del MDP.

Definici´on 4.10. Una regla de decisi´on markoviana aleatoria es una aplicaci´on dt : S → P(A), se tiene que ∀s ∈ S dt(s) = q(·) ∈ P(As). Es decir, la regla determina un distribuci´on

1P(X) es la colecci´on de distribuciones de probabilidad sobre subconjuntos borelianos de X

(8)

6 4 Marco te´orico e hist´orico

de probabilidad sobre el conjunto de acciones As dado que se est´a en el estado s en el tiempo t. La distribuci´on de probabilidad definida est´a dada por qdt(s)(·). Sea DMAt el conjunto de todas las pol´ıticas markovianas aleatorias en el tiempo t DMA = S

t∈T

DtMD el conjunto de todas las pol´ıticas markovianas aleatorias del MDP.

4.1.5. Pol´ıticas markovianas

Definici´on 4.11. La tupla π = (d1, d2, . . . , dN −1) es una pol´ıtica markoviana, si para todo t dt ∈ DMAt o dt ∈ ∪DMDt . Es decir, en el tiempo t se utiliza la regla de decisi´on dt. Sea ΠK= DK1 × · · · × DKN −1 el conjunto de pol´ıticas del tipo K, donde K es M A si son pol´ıticas markovianas aleatorias o M D si son pol´ıticas markovianas determin´ısticas.

Definici´on 4.12. Una pol´ıtica estacionaria es aquella pol´ıtica π tal que para ∀i di = d para alg´un d ∈ DK, donde K se define como en la definici´on 4.11

4.1.6. Procesos estoc´ asticos inducidos

Para construir un modelo de probabilidad, se considera el siguiente conjunto para el caso de horizonte finito

Ω = {S × A}N −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 decisi´on y recibe el nombre de camino de muestreo. Para toda ´epoca de decisi´on 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 decisi´on 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 distribuci´on de probabilidad que denota la distribuci´on 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),

(9)

4.1 Procesos de decisi´on 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= st}qdt(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) est´a 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. Definici´ on

Definici´on 4.13. La tupla {T, S, A, pt(·|s, a), rt(s, a)} es un proceso de decisi´on 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 utilizar´a el modelo de criterio de recompensa total descontada. Dada una pol´ıtica markoviana aleatoria, esta se define

vπλ(s) = Eπ (

X

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 soluci´on de las siguientes ecuaciones v(s) = sup

a∈As

(

r(s, a) +X

j∈S

λp(j|s, a)v(j) )

(10)

8 4 Marco te´orico e hist´orico

La pol´ıtica π se llama ´optima si

v(s) = vπλ(s) = vλ(s).

Modelo de horizonte finito Para el desarrollo de este proyecto, se utilizar´a el modelo de criterio de recompensa total. Dada una pol´ıtica markoviana aleatoria, esta se define como

vNπ(s) = Eπ (N −1

X

t=1

rt(Xt, Yt) + rN(XN) )

, donde s es el estado inicial del sistema. Se define

vN(s) = sup

π∈ΠM D

vNπ(s).

Los valores ´optimos ut : S → R son soluciones de las ecuaciones

ut(st) = sup

a∈Ast

(

rt(st, a) +X

j∈S

pt(j|st, a)ut+1(j) )

y uN(sN) = rN(sN). La pol´ıtica π es ´optima si

vN(s) = vπN(s) = uN(s).

4.1.9. Algoritmos

Algoritmo de iteraci´on de valor de Gauss - Seidel A continuaci´on se presenta el algoritmo de iteraci´on de valor de Gauss- Seidel

1. Especifique v0(s) para todo s ∈ S, ε > 0 y sea n = 0 (v0 es una funci´on 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) = m´ax

a∈Asj

(

r(sj+ a) + λ

"

X

i<j

p(si|sj, a)vn+1(si) +X

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.

(11)

4.2 Control PID 9

6. Para cada s ∈ S, escoja

dε(s) ∈ arg max

a∈As

(

r(s, a) +X

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 inducci´on hacia atr´as A continuaci´on se presenta el algoritmo de inducci´on hacia atr´as

1. Sea t = N y

uN(sN) = rN(sN) ∀sN ∈ S, 2. Substituya t por t − 1 y compute ut(st) para todo st∈ S por

ut(st) = m´ax

a∈Ast

(

rt(s, a) +X

j∈S

pt(j|st, a)ut+1(j) )

. (4-1)

Sea

Ast,t = arg max

a∈Ast

(

rt(st, a) +X

j∈S

pt(j|st, a)ut+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) ∈ Ast,t es ´optima, es markoviana y es determin´ıstica.

4.2. Control PID

Uno de los controladores m´as utilizados en la industria es el controlador PID [5]. La funci´on de transferencia de este controlador est´a dado por

Gc(s) = Kp+ KI

s + KD · s.

En el dominio del tiempo, la ecuaci´on para el controlador est´a dado por u(t) = Kpe(t) + KI

Z

e(t)dt + KD

de(t) dt ,

en donde e(t) es la funci´on de error. Es decir e(t) = x(t) − r(t) donde r(t) es la referencia deseada a seguir.

(12)

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 m´as grande sea el error, mayor es la acci´on 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 acci´on 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 m´as cambie el error, ma- yor va a hacer la acci´on derivativa. Esta acci´on ayuda a amortiguar el sistema, logrando que haya un menor sobre pico en el error.

4.3. Marco hist´ orico

La utilizaci´on de modelos que consideran incertidumbre enmarcados en un contexto de con- trol de UAVs ha sido muy poca. En [1] hacen la utilizaci´on de Cadenas de Markov parcial- mente observables para el modelamiento de un sistema de vigilancia, compuesto por varios UAVs, que rastrea m´ultiples objetivos. En dicho modelo, se consideran los factores de cali- braci´on de sensores, posici´on del objeto a seguir e influencia del ambiente sobre los UAVs, como un factor de origen de incertidumbre.

Paralelamente, la utilizaci´on 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 p´erdida de paquetes de informaci´on al momento de la transmisi´on de informaci´on. As´ı mismo, en [4] se observa la utilizaci´on de cadenas de Markov, con par´ametros ocultos (Hidden Markov chains) para el modelamiento de la situaci´on de seguimiento a un veh´ıculo, en el contexto de la utilizaci´on de t´ecnicas de control predictivo para el control de un veh´ıculo, seg´un ciertas especificaciones.

5 Definici´ on y especificaci´ on del trabajo

5.1. Definici´ on

El presente documento pretende explorar la posibilidad de utilizar la teor´ıa de los proce- sos de decisi´on de Markov dentro de un contexto de control en el que existen fuentes de incertidumbre. En particular, se busca explorar la realizaci´on de una estructura de control

(13)

jer´arquica, 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 inter´es 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 irrigaci´on pase por determinadas zonas que necesitan mayores niveles de humedad. Otro ejemplo puede ser la utilizaci´on 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, seg´un 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 obst´aculos 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 = N´umero de cuadros visitados exitosamente N´umero de cuadros deseados para visitar .

En el caso en el que se quiere evitar obst´aculos, se considera el siguiente indicador

IEsq =

(1 si el drone evita los obst´aculos, 0 en caso contrario.

La tabla 5-1muestra los valores para de los indicadores para los cuales se considera que la acci´on de control es efectiva

Indicador Valor cr´ıtico

ISeg 75 %

IEsq 10

Tabla 5-1: Valores de criterio de indicadores

(14)

6 Metodolog´ıa

6.1. Plan de trabajo

El plan de trabajo utilizado para el desarrollo del proyecto fue:

Determinaci´on de modelos de MDPs a utilizar.

Lectura de informaci´on referente a teor´ıa b´asica de MDPs.

Documentaci´on sobre modelo del drone de 4 h´elices y perturbaciones modeladas.

Definici´on de casos de estudio.

An´alisis de caso de estudio: definici´on de funciones de recompensa, estados y acciones Determinaci´on de matrices de probabilidad de manera frecuencial.

Definici´on de algoritmos a utilizar: Sustituci´on hacia atr´as y algoritmo de iteraci´on de valor.

Implementaci´on de casos de estudio.

An´alisis de sensibilidad ante matrices de probabilidad y tipo de perturbaci´on.

6.2. B´ usqueda de informaci´ on

La principal fuente de informaci´on para el desarrollo del proyecto fue [3]. Esta fuente fue utilizada para contextualizar la teor´ıa de los procesos de decisi´on de Markov, comprender sus fundamentos y resultados te´oricos al igual que los algoritmos utilizados para la resoluci´on de problemas de procesos de decisi´on de Markov. A partir de los conocimientos adquiridos, se realiz´o la aplicaci´on de los conceptos de MDPs en el contexto de inter´es 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 implementaci´on. En conjunto con el profesor Luis Felipe Giraldo, se validaron los resultados obtenidos y se establecieron metodolog´ıas de comparaci´on de los resultados, para facilitar la comprensi´on 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 posici´on X-Y y el otro que

(15)

13

controla los ´angulos de orientaci´on. El segundo drone s´olo cuenta con un controlador PID que controla los ´angulos de orientaci´on. Inicialmente, se quer´ıa implementar los algoritmos para el drone que ´unicamente controla los ´angulos de orientaci´on. 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 evidenci´o que, debido a que el drone ´unicamente segu´ıa una referencia de los ´angulos de orientaci´on y no los correg´ıa seg´un la posici´on X-Y del drone, el modelo era altamente sensible a las perturbaciones, encontr´andose una gran dificultad para garantizar el funcionamiento deseado. A partir de esto, se decidi´o 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 h´elices. Se considera que el marco m´ovil del drone est´a en posici´on de X. Est´a configuraci´on es ilustrada en la figura 7-1. Note la definici´on de los ´angulos θ, ϕ, ψ.

Para inter´es del trabajo, se considera que el control a realizar s´olo se har´a sobre la posici´on

Figura 7-1: Configuraci´on 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 acci´on del viento sobre el cuerpo del drone. Para poder considerar un modelo de toma

(16)

14 7 Trabajo realizado

de decisiones secuencial, se determina el tiempo tp segundos equivalente al tiempo que pasa entre etapas de decisi´on. Despu´es de tp segundos se determina la posici´on del drone y se toma una acci´on seg´un 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 posici´on 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 est´a compuesto por los siguientes bloques:

Figura 7-3: Modelo de simulink del simulador

(17)

7.1 Modelo del drone 15

1. Controlador de posici´on: Este bloque se encarga de controlar la posici´on X-Y del drone seg´un una referencia dada. Consta dos controladors PID que son utilizados para determinar los ´angulos ϕ, θ de referencia. Las constantes del controlador est´an dadas por Ki = 0,9, Kd= 0,25, Ki = 0,095 que fueron determinados a partir de sintonizaci´on manual. Los controladores tienen una saturaci´on para los ´angulos de ±12 grados.

2. Controlador de orientaci´on: Este bloque se encarga de controlar la orientaci´on 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 relaci´on entre los comando de correcci´on de ´angulos y la altura, para determinar las velocidades a la que deben girar los motores para obtener el efecto deseado.

4. Bloque de din´amicas Es el bloque encargado de simular las din´amicas de los motores y de simular el sistema din´amico del drone con las perturbaciones consideradas.

7.1.2. Par´ ametros de simulaci´ on

Para simular el drone, se consideran los siguientes par´ametros f´ısicos del drone ( (M)=Motor, (C)= Control electr´onico de velocidad, (Ce)= Cuerpo central, (B)=Brazos).

Par´ametro Valor Unidad Par´ametro 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: Par´ametros f´ısicos del drone

(18)

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 distribuci´on normal con media µ = 0 y varianza σ2 = 0,04. Para determinar el valor m´aximo y m´ınimo de la perturbaci´on, se hizo uso de la escala de Beaufort.

La tabla 7-3 muestra la escala de Beaufort.

Velocidad del viento (km/h) Denominaci´on

0-1 Calma

2-5 Ventolina

6-11 Brisa d´ebil

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 m´aximo 40 km/h. La relaci´on entre velocidad y fuerza aplicada del viento est´a dada por la ecuaci´on:

F = ρ · Cd· V2· A 2

donde V es la velocidad del viento en metros por segundo, A el ´area perpendicular sobre la que act´ua 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 par´ametros dados en la tabla 7-2) y que el viento interact´ua ´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.

(19)

7.2 Modelo del controlador 17

7.2. Modelo del controlador

7.2.1. Definici´ on de estados y acciones

Para definir la cadena de Markov, es necesario definir el conjunto de estados S y el conjunto de acciones Aspara 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 m´ultiplos de 0.1 en ambas coordenadas (i.e 0, 0.1, 0.2, etc). Considerando una partici´on de n columnas y m filas, cada uno de los cuadrados de la grilla son un estado. El estado n´umero 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 numeraci´on 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 = {Smn} Su = {S(m−1)·n+j|j = 2, . . . , n − 1}

Sl = {Sj·n+1|j = 2, . . . , m − 2}

Sd = {Sj|j = 2, . . . , n − 1}

Sr = {Sj·n|j = 2, . . . , m − 1}

Sbor = (Su∪ Sl∪ Sd∪ Sr) Sesq = (Sld∪ Sld∪ Sld∪ Sld) Sin = S \ (Sesq∪ Sbor)

(7-1)

donde Si es el i-´esimo estado.

La siguiente convenci´on es utilizada para las acciones. En este contexto se entiende que la acci´on “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 numeraci´on del conjunto de estados S para el caso n = 4 y m = 3 junto con una identificaci´on 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 numeraci´on y de subconjuntos

(20)

18 7 Trabajo realizado

Conjunto de estados As

Sld {1, 2, 5, 9}

Srd {1, 3, 7, 9}

Slu {2, 4, 6, 9}

Sru {3, 4, 8, 9}

Su {2, 3, 4, 6, 8, 9}

Sl {1, 2, 4, 5, 6, 9}

Sd {1, 2, 3, 5, 7, 9}

Sr {1, 3, 4, 7, 8, 9}

Sin {1, 2, 3, 4, 5, 6, 7, 8, 9}

Tabla 7-4: Acciones seg´un estado

7.2.2. Definici´ on de matriz de probabilidad de transici´ on

Para definir las matriz de probabilidad de transici´on, 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 n´umero de experimentos ne a realizar. Por cada experimento el drone se ubica en el origen y se le indica que tome cada acci´on por separado. Tambi´en, por cada experimento se tiene valores diferentes para las perturbaciones. Al cabo de tpsegundos se observa la posici´on final del drone. De esta manera, se obtiene una estimaci´on de la probabilidad de que el drone logre llegar a la posici´on deseada despu´es de tp segundos. Se asume que las probabilidades son homog´eneas, por lo que se tiene la misma matriz de probabilidad de transici´on 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 normalizaci´on de las probabilidades para garantizar que estas sumen 1. Para aquellos estados para los cuales no est´a disponible la acci´on que determina la matriz, la fila correspondiente es de ceros.

7.2.3. Definici´ on de funciones de recompensa

La funci´on de recompensas a utilizar es especificada en los casos de estudio expuestos en las secciones 7.3, 7.4, 7.5.

7.2.4. Definici´ on de pol´ıtica de control

La pol´ıtica de control es la resultante de la implementaci´on de los algoritmos de inducci´on hacia atr´as presentado y de iteraci´on de valor, presentados en la secci´on 4.1.9.

(21)

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. Descripci´ on

En este caso se quiere que el drone siga el camino determinado por el usuario. 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 funci´on tal que k(j) es el estado que se quiere que ocupe el drone en la ´epoca de decisi´on j. De esta manera, bajo esta consideraci´on se define un MDP de horizonte finito con M − 1 ´epocas de decisi´on.

7.3.2. Funci´ on de recompensa

Para lograr el objetivo de que el drone siga la trayectoria esperada, se define la siguiente funci´on de recompensa para t = 1, . . . , M :

rt(s, a) =

(1000 si k(t) = s,

0 en caso contrario.

Note que bajo esta definici´on, 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. Descripci´ on

En este caso se quiere que el drone siga el camino determinado por el usuario sin importar cu´antas decisiones toma el agente. Se considera que para todos los estados, las acciones 5,6,7 y 8 est´an 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 numeraci´on 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 funci´on ˆk : S → NM ∪ {M + 1} de la siguiente forma

k(s) =ˆ

(k−1(s) si s ∈ Sdes

M + 1 en caso contrario.

(22)

7.4.2. Funci´ on de recompensa

Se define la siguiente funci´on de recompensa

r(s, a) =

(1010kˆ si ˆk ∈ NM,

0 en caso contrario.

Note que bajo esta definici´on, la recompensa depende ´unicamente del estado y no de las acciones.

7.5. Caso de estudio: Planeaci´ on de ruta evitando obst´ aculos con MDP de horizonte infinito

7.5.1. Descripci´ on

En este caso, se quiere que el drone llegue al destino final evitando los obst´aculos definidos por el usuario. Sea Sdes el estado de llegada y sea Sobs ⊂ S el conjunto de estados que conforman los obst´aculos a evitar.

7.5.2. Funciones de recompensa

Se define la siguiente funci´on de recompensa1:

r(s, a) = 100 · (1Sdes(s) −1Sobs(s)).

Note que bajo esta definici´on, la recompensa depende ´unicamente del estado y no de las acciones.

8 Resultados y an´ alisis 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 decisi´on 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.

(23)

8.1 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte finito 21

posici´on inicial del drone. En el otro escenario, el camino no comienza en la posici´on inicial del drone. Las figuras 8-1 y 8-2 muestran los resultados obtenidos.

(a) Posici´on del drone (b) Perturbaciones

Figura 8-1: Resultados camino con misma posici´on inicial

(a) Posici´on del drone (b) Perturbaciones

Figura 8-2: Resultados camino con posici´on 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

(24)

22 8 Resultados y an´alisis de resultados

el fin de poder estar lo m´as pronto posible en la posici´on indicada. De aqu´ı, que opta por tomar la acci´on 5 en vez de la acci´on 2.

8.1.1. An´ alisis de sensibilidad ante la matriz de perturbaciones

Para entender la sensibilidad de la pol´ıtica de control frente a la matriz de probabilidades de transici´on, se simularon otras 4 matrices de transici´on. 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 posici´on inicial igual (b) Camino con posici´on 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 decisi´on de ir en diagonal, cuando debe ir hacia arriba. Posterior a un an´alisis, se determina que la proba- bilidad de llegar al estado 18, desde el estado 13, usando la acci´on 1 es menor para la matriz utilizada para la simulaci´on de la l´ınea negra. As´ı mismo, se destaca que la probabilidad de llegar al estado 18 desde el estado 13 tomando la acci´on 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 decisi´on debe estar en el estado 19, opta por tomar la decisi´on 5 en vez de la decisi´on 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 acci´on 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 acci´on 5

(25)

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 decisi´on posterior, opta por tomar la acci´on 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 acci´on ideal a tomar es la acci´on 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 acci´on 7 es menor con respecto a las probabilidades de la l´ınea roja. En ambos casos, la acci´on 5 garantiza una mayor probabilidad de llegar al estado 18 con respecto a la acci´on 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 acci´on 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. An´ alisis de sensibilidad ante el tipo de perturbaci´ on

Para entender la sensibilidad de la pol´ıtica de control frente al tipo de viento utilizado, se hizo un cambio en la distribuci´on de la intensidad de las perturbaciones. En este caso, se considera una distribuci´on Beta con par´ametros α = 2, β = 5. Considerando los mismos caminos para ambos escenarios la figura 8-4 muestra los resultados obtenidos.

(a) Camino con posici´on inicial igual (b) Camino con posici´on inicial diferente

Figura 8-4: Resultados con distintos tipo de viento

(26)

24 8 Resultados y an´alisis de resultados

Note que al considerar una distribuci´on Beta, se est´a asumiendo que el vector de fuerza del viento solo toma componentes positivas en X-Y, por lo tanto, habr´a 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 distribuci´on (negro, azul, azul claro) est´an 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 distribuci´on 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 secci´on 8.1 se obtuvieron los resultados mostrados en las figuras 8-5 y 8-6.

(a) Posici´on del drone (b) Perturbaciones

Figura 8-5: Resultados camino con misma posici´on inicial

(27)

8.2 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte infinito 25

(a) Posici´on del drone (b) Perturbaciones

Figura 8-6: Resultados camino con posici´on inicial diferente

En la figura 8-5.a se observa que, al tener un conjunto de acciones m´as reducidos, el drone requiere m´as 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 m´as 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. An´ alisis de sensibilidad ante la matriz de perturbaciones

Siguiendo la metodolog´ıa de prueba de la secci´on 8.1, la figura 8-7 muestra los resultados obtenidos.

(28)

26 8 Resultados y an´alisis de resultados

(a) Camino con posici´on inicial igual (b) Camino con posici´on 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 m´as determinante es la diferencia en el valor esperado. Para la l´ınea negra hay mayor certeza de la efectividad de la acci´on 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 seg´un la l´ınea.

Estado Acci´on Valor esperado acci´on

8 1 7.5942

12 2 7.6752

Tabla 8-1: Valores esperados l´ınea roja

Estado Acci´on Valor esperado acci´on

8 1 7.0046

12 2 6.9105

Tabla 8-2: Valores esperados l´ınea negra Seg´un 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 acci´on 1 en el estado 7 y para la l´ınea negra es ´optima la acci´on 2 para el mismo estado.

8.2.2. An´ alisis de sensibilidad ante el tipo de perturbaci´ on

Al cambiar el tipo de perturbaci´on como descrito en la secci´on 8.1, se obtienen los resultados mostrados en la figura 8-8. Se observa que las pol´ıticas de control obtenidas son invariantes

(29)

8.2 Caso de estudio: Seguimiento de trayectoria con MDP de horizonte infinito 27

(a) Camino con posici´on inicial igual (b) Camino con posici´on inicial diferente

Figura 8-8: Resultados con distintos tipo de viento

bajo el tipo de perturbaci´on. As´ı mismo, se observa que las posiciones del drone est´an desfa- sadas en las direcciones positivas de los ejes X e Y, lo que es acorde al tipo de perturbaci´on considerada.

8.2.3. An´ alisis 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.

(30)

28 8 Resultados y an´alisis 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 seg´un cada acci´on.

Camino Estado Acci´on 1 Acci´on 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: Comparaci´on 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 acci´on 2 sea ahora m´as deseable en el estado 13, al tener un valor mayor esperado con respecto a la acci´on 1.

(31)

8.3 Caso de estudio: Planeaci´on de ruta evitando obst´aculos con MDP de horizonte

infinito 29

8.3. Caso de estudio: Planeaci´ on de ruta evitando obst´ aculos con MDP de horizonte infinito

Considerando el tiempo entre decisiones de tp = 1 segundo y considerando el mismo escena- rio de la secci´on 8.1 se obtuvieron los resultados mostrados en la figura 8-10.

(a) Posici´on del drone (b) Perturbaciones

Figura 8-10: Resultados de simulaci´on

A partir de los resultados se observa que el drone cumple satisfactoriamente el objetivo de llegar a la posici´on final esquivando los obst´aculos.

8.3.1. An´ alisis 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.

(32)

30 8 Resultados y an´alisis 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 m´as certeza de efectividad para la l´ınea negra al utilizar la acci´on 4. As´ı mismo, se observa que hay 0.02 m´as de certeza de efectividad para la l´ınea roja al utilizar la acci´on 3. Por esta raz´on el valor esperado es mayor en el estado 24 para la l´ınea negra que para la l´ınea roja en el estado 20. Tambi´en, para la l´ınea roja, hay 0.12 y 0.08 m´as 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 acci´on 2 en vez de la acci´on 1 y que el valor esperado sea mayor para la l´ınea negra si toma la acci´on 1 en vez de la acci´on 2 en el mismo estado. Las tablas 8-4 y 8-5 muestran el c´alculo de los valores esperados seg´un cada acci´on en el estado 1.

Acci´on Valor esperado acci´on

1 14.6097

22 15.1530

Tabla 8-4: Valores esperados l´ınea roja

Acci´on Valor esperado acci´on

1 9.8091

22 9.2011

Tabla 8-5: Valores esperados l´ınea negra

(33)

Es destacable que los valores esperados son m´as 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. An´ alisis de sensibilidad ante el tipo de perturbaci´ on

Se realiz´o la comparaci´on 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 acci´on 1, ya que el camino que dicha acci´on determina utiliza m´as veces las acciones 1 y 2 que el camino que toma la l´ınea roja. As´ı mismo, para la l´ınea negra, la acci´on 4 tiene 0.07 m´as de certeza que la acci´on 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 c´alculo de los valores esperados para las acciones 1 y 2 en el estado 1, para ambas l´ıneas.

(34)

Acci´on Valor esperado acci´on

1 14.6097

22 15.1530

Tabla 8-6: Valores esperados l´ınea roja

Acci´on Valor esperado acci´on

1 25.8024

22 23.0443

Tabla 8-7: Valores esperados l´ınea negra

9 Discusi´ on

En este trabajo se plantea la utilizaci´on de cadenas de Markov para el dise˜no de un contro- lador de alto nivel que controle la posici´on X-Y de un drone de 4 h´elices. Inicialmente, hubo demoras en el entendimiento de los conceptos de la teor´ıa de las cadenas de Markov y en la contextualizaci´on de los mismos para el caso de control. Posteriormente, se definieron los escenarios de inter´es y se analiz´o la metodolog´ıa de implementaci´on.

En un principio, se quer´ıa utilizar un modelo de un drone con un controlador PID que con- trola los ´angulos de orientaci´on del drone. Gran parte del tiempo del desarrollo del proyecto se invirti´o en la implementaci´on de los algoritmos a este modelo. Sin embargo, al tenerse que el drone s´olo segu´ıa una referencia est´atica de unos ´angulos de orientaci´on, y que la referencia era ajena a la posici´on del drone, el modelo era altamente sensible a las pertur- baciones. Una vez que se implement´o un controlador PID para la posici´on X-Y, el modelo mejor´o considerablemente.

A partir de los resultados obtenidos, se considera que los objetivos del proyecto se cumplen.

Esto, ya que se logr´o identificar escenarios de prueba para el controlador propuesto y se verific´o su efectividad. As´ı mismo, es relevante el desarrollo de criterios comparativos que faciliten el an´alisis de los resultados. Te´oricamente, 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 utiliz´o los procesos de decisi´on de Markov para el desarrollo de un controlador de alto nivel que controla la posici´on X-Y de un drone de 4 h´elices. A partir de los resultados, se observa que en todos los casos el funcionamiento del controlador est´a sujeto a las estimaciones de las matrices de probabilidad. Seg´un la estructura de las mismas,

(35)

los caminos determinados por el controlador pueden ser diferentes y por ende, no cumplir los criterios de funcionamiento seg´un el escenario. A partir de esto, se plantea como trabajo futuro la implementaci´on de algoritmos de cadenas de Markov robustas, en los que se realiza el c´alculo 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 m´as acertado que el modelo de horizonte infinito al seguir el camino de referencia. Esto se debe a que la funci´on de recompensa en el caso de horizonte finito lograr modelar mejor el fen´omeno de seguir la referencia dada.

Tambi´en, se comprueba el adecuado funcionamiento del controlador en el escenario de pla- neaci´on de trayectorias para evitar obst´aculos.

A partir de lo anterior, se considera que los procesos de decisi´on de Markov resultan ser una herramienta ´util para el desarrollo de un controlador a alto nivel y que a partir de una adecuada definici´on 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 estimaci´on de las probabilidades de transici´on se propone la utilizaci´on 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- mentaci´on de modelos din´amicos para la fuerza del viento.

En el caso de horizonte infinito, debido a la dependencia del modelo con respecto al par´ametro λ, se hace necesario pruebas de sensibilidad con respecto a ´este.

(36)

34 11 Agradecimientos

11 Agradecimientos

Agradezco profundamente a los profesores Luis felipe Giraldo, profesor asistente del de- partamento de Ingenier´ıa El´ectrica y Electr´onica de la Universidad de los Andes, por su colaboraci´on en la estructuraci´on 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 Matem´aticas de la Universidad de los Andes, por su asesor´ıa en la resoluci´on de problemas que se presentaron en la implementaci´on de los algoritmos.

(37)

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

Referencias

Documento similar

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)