scieee AI-readable full text Open interactive document viewer

Evitación de zonas de interferencias aerodinámicas para UAVs usando Control Barrier Functions

Barral Cabrera, Mercedes

Abstract

E n este trabajo se estudia en profundidad la teoría Control Barrier Function, y como su inclusión en el sistema de control de un UAV puede capacitarlo para el seguimiento de trayectorias libre de obstáculos configuradas de forma correctiva y en pleno vuelo. Desde el análisis matématico y el estudio de modificaciones para obstáculos de diferentes geometrías, hasta el estudio de la sobredimensión de los estos debidos a efectos aerodinámicos, pasando por multitud de ejemplos y ensayos en vuelo, este trabajo presenta una guía inicial y completa de la evitación de zonas de interferencias aerodinámicas usando Control Barrier Functions.

Full text

Proyecto Fin de Carrera Ingeniería de Telecomunicación Formato de Publicación de la Escuela Técnica Superior de Ingeniería Autor: F. Javier Payán Somet Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2013 Trabajo Fin de Grado Grado en Ingeniería Aeroespacial Evitación de zonas de interferencias aerodinámicas para UAVs usando Control Barrier Functions Autor: Mercedes Barral Cabrera Tutores: Antonio González Morgado Guillermo Heredia Benot Dpto. Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023 Trabajo Fin de Grado Grado en Ingeniería Aeroespacial Evitación de zonas de interferencias aerodinámicas para UAVs usando Control Barrier Functions Autor: Mercedes Barral Cabrera Tutores: Antonio González Morgado Doctorando Guillermo Heredia Benot Catedrático de Universidad Dpto. Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023 Trabajo Fin de Grado: Evitación de zonas de interferencias aerodinámicas para UAVs usando Control Barrier Functions Autor: Mercedes Barral Cabrera Tutores: Antonio González Morgado Guillermo Heredia Benot El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores: Presidente: Vocal/es: Secretario: acuerdan otorgarle la calificación de: El Secretario del Tribunal Fecha: Agradecimientos Me gustaría agradecer la oportunidad de realizar este trabajo a Antonio González Morgado, su dedicación y completa disposición en la realización del mismo. Asimismo, me gustaría agradecer a todo el personal docente y compañeros de aula que me han acompañado en esta y en anteriores etapas educativas y que han posibilitado el que hoy esté aquí. Finalmente mi agradecimiento a la comunidad científica y técnica que trabaja día a día por el avance y la innovación, y que con sus contribuciones a libre disposición permiten el aprendizaje y el desarrollo de nuevas generaciones. Mercedes Barral Cabrera Estudiante de Grado en Ingeniería Aeroespacial Sevilla, 2023 I Resumen En este trabajo se estudia en profundidad la teoría Control Barrier Function, y como su inclusión en el sistema de control de un UAV puede capacitarlo para el seguimiento de trayectorias libre de obstáculos configuradas de forma correctiva y en pleno vuelo. Desde el análisis matématico y el estudio de modificaciones para obstáculos de diferentes geometrías, hasta el estudio de la sobredimensión de los estos debidos a efectos aerodinámicos, pasando por multitud de ejemplos y ensayos en vuelo, este trabajo presenta una guía inicial y completa de la evitación de zonas de interferencias aerodinámicas usando Control Barrier Functions. III 2Capítulo 1. Introducción •Carga adicional necesaria para llevar los dispositivos de interacción. •Tiempo de vuelo para el desplazamiento del sistema en grandes superficies. •Planificación de rutas teniendo en cuenta las restricciones asociadas a la interacción. •Efecto del viento en el vuelo cercano a objetos. •Efectos aerodinámicos debido a la proximidad de superficies. Este último problema aerodinámico consta de una cuestión propulsiva de generación de sustentación y control del vuelo, y una cuestión de interferencia aerodinámica con los obstáculos alrededor y las partes movibles de su propia estructura. Mientras la primera ha sido profundamente analizada en el estudio del vuelo de helicópteros con la dificultad adicional de tratar el flujo de aire alrededor de sí mismo, la segunda cuestión sigue aún a examen. La presencia de obstáculos en el campo de vuelo de un UAV produce perturbaciones en su estela aerodinámica que llevan a modificar la actuación de los rotores y la generación de empuje, llegando a producir un comportamiento indeseado del sistema. Atendiendo a las aplicaciones futuras anteriormente descritas, se espera que el punto nominal de operación de estos dispositivos sea un entorno plagado de dichos obstáculos, y que la acción de manipulación se lleve a cabo especialmente cerca de ellos, por lo que el modelado y control de este tipo de interferencias aerodinámicas será esencial a la hora de proporcionar un servicio preciso y fiable, que no ponga en riesgo el éxito de la tarea ni las condiciones de seguridad de la operación. Figura 1.2 Esquema cualitativo del campo fluido alejado de la superficie y bajo condiciones de efecto suelo, efecto techo y efecto pared, y las consecuencias dinámicas. La presión es denotada como P, el empuje como T, la fuerza f y el momento τ . Los subíndices a,g,c,w y e vienen de away from surface, under ground effect, under ceiling effect, under wall effect yexternal respectivamente [6]. Las interferencias aerodinámicas podrán ser modeladas delimitando ciertas regiones del espacio alrededor de los objetos, que podrán ser evitadas a partir de acciones de control (de forma correctiva) o a partir de métodos de planificación de trayectorias (de forma predictiva). Hasta el momento son algunos los artículos que centran su contribución en el desarrollo de algoritmos que generen trayectorias de evitación de obstáculos, sin embargo, son escasos los artículos que tengan en cuenta los efectos aerodinámicos entorno a ellos. Concretamente en [ 7 ], se propone una planificación de rutas libre de objetos sujeta a restricciones cinemáticas y dinámicas. Esta aproximación requiere una capacidad doble del espacio considerado y por lo tanto un elevado coste computacional al considerar tanto la posición como la velocidad del sistema. Por otro lado, en [ 8 ] y [ 9 ] se propone la división del proceso en dos etapas. Mientras en la primera de ellas se remplaza el sistema por una esfera y se busca una trayectoria factible con sus límites, en la segunda se busca 3 una trayectoria compatible con las restricciones cinemáticas y dinámicas. Esta aproximación requiere de una sobredimensión considerable del sistema al sustituirlo por la esfera que lo contiene, lo que puede dar problemas a la hora de obtener posibles rutas sin colisión. (a) Trayectoria obtenida a partir de algoritmos RRT* (Rapidly-exploring Random Tree) tras 120 s de operación y con un elevado coste computacional. Este tipo de algoritmos es el empleado en [7]. (b) Trayectoria preliminar obtenida en la primera fase del procedimiento considerado en [ 9 ]. A partir de un algoritmo simplificado RRT , tras 6s de operación y sin tener en cuenta los efectos dinámicos, se obtiene una serie de waypoints de la ruta óptima. (c) Trayectoria obtenida en la segunda fase del procedimiento considerado en [ 9 ]. A partir de los waypoints anteriores y programación cuadrática se obtiene la ruta final teniendo en cuenta ambos aspectos en otros 3s . Figura 1.3 Planificación de rutas libre de objetos sujeta a restricciones cinemáticas y dinámicas empleando diferentes procedimientos [9]. En cuanto a artículos que estudian la interferencia aerodinámica de estos obstáculos, existen algunos como [ 10 ], que analiza la mejora del aterrizaje de UAVs gracias al efecto suelo, o [ 11 ], que analiza el aprovechamiento del efecto techo en cuanto a generación de empuje. No obstante, estos artículos proponen soluciones de control del vuelo en estas regiones y no rutas de evitación de las mismas. Finalmente en [ 12 ] se estudian ambas cuestiones a partir de un algoritmo de árbol de búsqueda que da como resultado posibles rutas que verifiquen simultáneamente las condiciones dinámicas y aerodinámicas del desplazamiento, presentando el primer método de planificación de rutas con lo que ellos denominan Aerodynamics Awareness. En este artículo se coordina la posición del sistema con la posición de un brazo manipulador de largo alcance y se analiza el problema de forma predictiva, es decir en una etapa anterior al vuelo. (a) Trayectoria planeada y ejecutada a partir de algortimos MPARM DA (Motion Planning ARM Dynamic Awareness). Los efectos aerodinámicos modifican la ruta planeada y se produce una colisión. (b) Trayectoria planeada y ejecutada a partir de algoritmos MP-ARM ADA (Motion Planning ARM AeroDynamic Awareness). Ambas rutas son practicamente coincidentes y no se produce ningún incidente. Figura 1.4 Planificación de rutas libre de objetos y efectos aerodinámicos [12]. 4Capítulo 1. Introducción 1.1 Objetivos En este trabajo, se estudia la evitación de los obstáculos y las regiones de interferencia aerodinámica en torno a ellos de forma correctiva y conjunta, y se propone una solución admisible a partir de la teoría de Control Barrier Function. Esta solución permitirá encontrar una ruta directamente en la etapa de vuelo a partir de acciones de control, adaptar la misma a posibles interferencias inesperadas e incluso reaccionar ante objetos en movimiento. Para ello en primer lugar, se analizará en profundidad el concepto CBF, así como su posibilidades como controlador de UAV. Partiendo de la dinámica del sistema y algunas definiciones claves como variable de estado, variable de entrada o región a salvo, se expondrá el desarrollo matemático sobre el que se basará el problema de optimización sujeto a restricciones CBF a incluir en el sistema de control. Atendiendo a la geometría de los obstáculos se detallarán ciertas modificaciones en dicho desarrollo. A continuación, se llevará a cabo un análisis aerodinámico basado en la teoría potencial de Cheeseman y Bennett , la cuantización de la interferencia aerodinámica en el vuelo y la sobredimensión del obstáculo a partir de la obtención de una nueva frontera. Finalmente se combinarán ambas contribuciones, exponiendo algunos ejemplos que muestren con claridad los resultados obtenidos en el estudio. 1.2 Estructura del documento El documento se encuentra estructurado en capítulos cuyo contenido se muestra a continuación: • En el capítulo 2 se define el concepto de Control Barrier Function y como un conjunto de estas funciones distancia delimitaran una región a salvo para el sistema. Estas funciones serán introducidas como restricciones del problema de optimización que será incluido en el sistema de control del UAV y que modificará la variable de actuación en el caso de que fuese necesario. Este desarrollo matemático se detallará para un caso primal y un caso dual en función de la geometría de los objetos que ocupen el mapa de obstáculos. Para ello se aplicará el Teorema de los multiplicadores de Lagrange y las condiciones de Karush-Kuhn-Tucker. Por último, se incluirán numerosos ejemplos para un mejor entendimiento. • En el capítulo 3 se concentra el análisis aerodinámico del trabajo sobre el que se basa la determinación de la región de interferencia aerodinámica en las inmediaciones de los obstáculos. Se estudiarán por separado los efectos suelo, techo y pared y a partir de la teoría potencial de Cheeseman y Bennett, se calculará el valor de ciertos coeficientes que cuantificarán el efecto de estas interferencias aerodinámicas en el vuelo del sistema en cada punto del espacio. De nuevo, se mostrarán algunos ejemplos de aplicación. • En el capítulo 4 se extraen los resultados obtenidos en el capítulo anterior. Se elegirá un valor concreto de los coeficientes aerodinámicos a partir de los cuales se considera que la presencia del obstáculo no afecta a la operación del UAV y mediante la interpolación de los puntos del espacio con dicho valor se obtendrá la nueva frontera del objeto que dará lugar a la sobredimensión del mismo. Esta nueva geometría dará lugar a una función distancia a este nuevo obstáculo delimitará una nueva región a salvo que deberá ser introducida como restricción CBF del problema de optimización anteriormente desarrollado. De esta forma, se conseguirá evitar de forma conjunta tanto el obstáculo como la región de interferencia asociado a este. Finalmente se analizarán varios ejemplos de diferente complejidad. • En el capítulo 5 se recogen los resultados obtenidos en la implementación de la teoría CBF en el vuelo real de UAVs. En primer lugar, se realizan dos ensayos preliminares y se muestran las trayectorias obtenidas para un sistema modelado a partir de una dinámica sencilla. Atendiendo a ciertas observaciones en el comportamiento del UAV, se realizan ciertas modificaciones y se propone un modelo basado en una dinámica más compleja y una configuración de la estructura CBF a su medida. Finalmente, se realiza un ensayo final en el que se comparará el comportamiento del sistema para ambas dinámicas y tipo de restricciones. 2 Control Barrier Functions En este capítulo se introduce el concepto de Control Barrier Fuction (CBF) y su aplicabilidad como controlador de sistemas robóticos. En la práctica un conjunto de CBF nos permitirán delimitar una región de estado en la que el sistema debe permanecer por uno o varios motivos. A esta región se le conocerá como región a salvo. Partiremos de la representación en espacio de estados de la dinámica del sistema. A partir de un problema de optimización sujeto a restricciones CBF, se hallará el valor de la variable de actuación, que finalmente será la que se introducirá en la dinámica del sistema para obtener la ley de movimiento. Esta variable de entrada de actuación será única y mínimamente diferente a la variable de entrada deseada si esta lleva al sistema a violar las fronteras de la región a salvo preestablecida. 2.1 Sistema, variable de estado, variable de entrada y región a salvo Para la sencillez y mejor entendimiento del marco teórico matemático en la introducción del concepto de Control Barrier Function, se considera un sistema afín 1 no lineal genérico gobernado por la siguiente dinámica diferencial: ˙x=f(x)+g(x)·u(2.1) siendo x∈D⊂Rn el estado del sistema y u∈U⊂Rm la variable de entrada. Las funciones f:Rn→Rn y g:Rn→Rn×m son funciones de Lipschitz 2 [ 14 ]. No obstante, el concepto de CBF es aplicable a sistemas gobernados por una dinámica diferente más compleja, siendo esta lineal o no, con una variable de entrada a elección, e incluso de segundo orden. La región a salvo se corresponde con una región invariante S⊂D⊂Rn y se expresa matemáticamente como [14]: S:=x∈Rn:h(x)≥0, ∂S:=x∈Rn:h(x) = 0, Int(S):=x∈Rn:h(x)>0 (2.3) En nuestro caso, estará delimitada por funciones distancia. De esta manera, la región a salvo será aquella en la que la distancia de seguridad entre el sistema y el obstáculo sea mayor a 0 y ambos no colisionen. Un ejemplo de una región a salvo podría ser una zona de vuelo en el interior delimitada por paredes y suelo o una zona de inspección en torno a una instalación sin que se interfiera con esta. 1Un sistema afín no lineal genérico es aquel sistema no lineal que es lineal en la entrada. 2Una función de Lipschitz es aquella que verifica: |f(x)−f(y)| ≤ C·|x−y|(2.2) ∀x,y⊂Ry siendo C⊂Runa constante independiente [13]. 5 6Capítulo 2. Control Barrier Functions Un ejemplo gráfico sencillo es el de un obstáculo con forma circular en el plano. La región a salvo es todo el espacio exceptuando el círculo que lo representa y función distancia que lo delimita: h(x) = (x−xobs)2+(y−yobs)2−R2(2.4) siendo xobs,yobs ⊂Rel centro geométrico del obstáculo y R⊂Rel radio del obstáculo. Figura 2.1 En este caso el obstáculo se sitúa en el punto (0.5,0.5)my tiene un radio de 0.1m. Un ejemplo gráfico en 3D podría ser un manipulador de 6 grados de libertad ha de evitar un obstáculo esférico. La región a salvo será todo el espacio exceptuando la esfera. Figura 2.2 El obstáculo es la esfera roja. La esfera verde es el volumen de seguridad entorno a la cabeza del manipulador [14]. 2.2 Definición de Control Barrier Function 7 2.2 Definición de Control Barrier Function Una vez definidas la dinámica del sistema, la variable de estado, la variable de entrada y la región a salvo, procedemos a introducir el concepto de Control Barrier Function. Una Control Barrier Function h(x) es aquella función diferenciable y de derivada distinta de cero ∀x∈∂S que para una función continua αde clase κ3, verifica [14]: sup u∈ULfh(x) + Lgh(x)·u | {z } ˙ h(x) ≥ −α(h(x)) (2.5) siendo sup la abreviación de supremo, cota superior mínima de la función, ˙ h(x) es la derivada temporal de la función CBF y Lfh(x)yLgh(x)son derivadas de Lie tal que [16]: Lfh(x) = ∂h ∂x·f(x) Lgh(x) = ∂h ∂x·g(x) (2.6) La función α podrá ser cualquier función de h(x) que verifique las condiciones anteriores y permitirá modular la acción del CBF. En la práctica se suele elegir una función lineal de h(x)tal que [17]: α(h(x)) = γ·h(x)(2.7) Esto permite limitar la velocidad mínima a la que el sistema alcanza el equilibrio. Para la igualdad (2.8) se logra una estabilización exponencial de la función CBF, siguiendo la línea discontinua de la figura 2.3 [ 17 ]. ˙ h(x) = Lfh(x)+Lgh(x)·u=−γ·h(x)(2.8) Figura 2.3 Estabilización exponencial de la restricción CBF. En la imagen la función CBF se corresponde con la función B(x) [17]. El valor del coeficiente γ permitirá regular la agresividad de la restricción. A mayor valor de γ se observará una mayor proximidad entre el estado del sistema y la región a salvo. A menor valor, se observará un comportamiento más conservativo y una solución más distante. Idealmente para un valor de γ→∞el CBF únicamente se activará en el contorno de la región a salvo. 3 Una función continua α:[0,a)→[0,∞) pertenece a la clase κ si es estrictamente creciente y α(0) = 0 . Pertenece a κ∞ si a=∞ y α(r)→∞cuando r→∞[15]. 8Capítulo 2. Control Barrier Functions 2.3 Problema de optimización sujeto a restricciones CBF A continuación, se presenta el problema de optimización sujeto a restricciones CBF, resultado de minimizar la diferencia entre la variable de entrada deseada, calculada por el controlador nominal y la de actuación factible, sujeta a restricciones CBF [14]. u∗=argmin u∈U ∥u−udes∥2 sujeto a∂h ∂x·f(x)+ ∂h ∂x·g(x)·u≥ −α(h(x)) (2.9) El problema de optimización planteado simplemente garantiza que la variable de entrada introducida en el sistema no lleve a este a violar las fronteras de la región a salvo preestablecida. Aunque la variable de entrada deseada es la proveniente del controlador nominal y será la que lleve al sistema a completar su objetivo final de desplazamiento, como adelantábamos, será la variable de actuación u∗ , solución del problema anterior, la introducida en la dinámica del sistema, ya que esta solución es mínimamente diferente a la deseada y además verifica las restricciones que delimitan la región a salvo. Este problema de optimización se repetiría en cada ciclo de control. La siguiente imagen muestra un esquema del que sería el sistema de control de sistema robótico. Figura 2.4 Sistema de control del sistema robótico. El algoritmo a codificar e introducir en el sistema sería: Figura 2.5 Algoritmo de evitación de obstáculos. 2.4 Ejemplo 1: Sistema robótico móvil y obstáculo estático en el plano 2D 9 La formulación expuesta en el problema (2.9) será válida para regiones delimitadas por funciones capaces de expresar la distancia de forma explícita y diferenciable como las funciones distancia entre sistemas definidos por puntos, paraboloides o hiperesferas. Seguidamente se expone un ejemplo de aplicación para este tipo de primitivas. No obstante, esto no es siempre posible. En el apartado 2.5 se abordará la problemática de este otro tipo de funciones [18]. 2.4 Ejemplo 1: Sistema robótico móvil y obstáculo estático en el plano 2D Se considera un sistema robótico que se desplaza en un plano 2D. El estado del sistema es la posición de su centro geométrico (x,y)∈R2 y su variable de entrada, la velocidad (vx,vy)∈R2 . El robot está gobernado por la dinámica mostrada en (2.1), cuya entrada será la velocidad factible del dispositivo y siendo: ˙x=vx ˙y=vy } → ˙x ˙y=0 0+1 0 0 1ux uy(2.10) El objetivo del sistema será desplazarse en dirección diagonal evitando un disco de radio 10 cm en su camino. Las condiciones de partida se muestran en la siguiente tabla. Tabla 2.1 Condiciones iniciales del ejemplo: Sistema robótico móvil 2D. Posición inicial del sistema "x0 y0#="0 0#[m] Posición del obstáculo "xobs yobs#="0.5 0.5#[m] Velocidad deseada del sistema "vx vy#=20 ·"1.1−x 1−y#[m/s] La velocidad deseada es la impuesta por el controlador nominal y surge de establecer como objetivo de desplazamiento hacia el punto (1.1,1) y multiplicar la diferencia por una constante kp siguiendo la siguiente fórmula. v=kp·"ex ey#=kp·  xob j −x yob j −y (2.11) La región a salvo será todo el espacio exceptuando el disco, donde sistema y obstáculo colisionarían. Se considera que el robot puntual y que el obstáculo ya tiene en cuenta sus dimensiones. La función CBF que la delimite será la siguiente función distancia: h(x) = (x−xobs)2+(y−yobs)2−R2(2.12) siendo (x,y)∈R2 la posición y estado del sistema, (xobs,yobs)∈R2 la posición del centro geométrico del disco y R∈R el radio de este. Para que sistema y obstáculo no entren en conflicto la distancia entre ellos deberá ser mayor igual a 0. h(x)≥0(2.13) La derivada de la función anterior teniendo en cuenta la igualdad (2.10) es: ˙ h(x) = 2·(x−xobs)·˙x+2·(y−yobs)·˙y=2·(x−xobs)·ux+2·(y−yobs)·uy(2.14) 10 Capítulo 2. Control Barrier Functions El problema de optimización resultante sujeto a la restricción anterior queda: u∗=argmin u∈U ∥u−udes∥2 sujeto a 2·(x−xobs)·ux+2·(y−yobs)·uy≥ −γ·h(x) (2.15) Al introducir reiteradamente la solución del problema anterior en la dinámica del sistema para cada paso de integración, partiendo de unas determinadas condiciones iniciales y forzando una velocidad de entrada deseada, se obtiene evolución de la posición en el plano XY mostrada en la siguiente figura. Figura 2.6 El sistema evita el obstáculo denotado por el círculo naranja definido anteriormente, adaptando su velocidad a la factible en cada instante, la deseada cuando es posible. Las diferentes curvas obtenidas se corresponden a distintos valores de γ . Se observa que a mayor valor de este existe una mayor cercanía al obstáculo. Cabe destacar la importancia de determinar correctamente el orden de magnitud del valor de γ . De no ser así podríamos obtener un comportamiento inesperado del sistema. Al representar el valor de la restricción CBF se verifica que esta no es menor a 0 en ningún instante. La distancia entre el sistema y el obstáculo es positivo en cada instante del intervalo independientemente del valor de γ. El sistema y el obstáculo no colisionan. Figura 2.7 La función CBF adquiere valores cercanos a 0 en torno a los 0.05s , sin embargo el sistema rectifica su trayectoria y h(x) no llega a alcanzar el valor nulo. Se observa que para valores mayores de γ la restricción es menos conservativa y la función h(x)alcanza un valor más cercano a 0. 2.5 Ejemplo 2: Sistema robótico y obstáculos móviles en el plano 2D 11 2.5 Ejemplo 2: Sistema robótico y obstáculos móviles en el plano 2D Se considera un sistema robótico que se desplaza en un plano 2D, de estado, variable de entrada y dinámica coincidentes con los del sistema robótico definido en el ejemplo anterior. El objetivo del sistema será desplazarse en dirección paralela al eje de abcisas evitando un disco de radio 10 cm que avanza en sentido opuesto al mismo. Las condiciones de partida se muestran en la siguiente tabla. Tabla 2.2 Condiciones iniciales del ejemplo 2: Sistema robótico móvil 2D. Posición inicial del sistema "x0 y0#="0 0.05#[m] Posición inicial del obstáculo "xobs yobs#="1.5 0#[m] Velocidad deseada del sistema "vxdes vydes #=10 ·"0.075 0#[m/s] Velocidad del obstáculo "vxobs vyobs #=10 ·"−0.03 0#[m/s] De nuevo, la velocidad deseada del sistema es impuesta por el controlador nominal. La región a salvo queda definida como en el ejemplo anterior, y por lo tanto la restricción CBF y el problema de optimización empleados serán idénticos a los que aparecen en (2.12) y (2.15) respectivamente. Se muestra a continuación la evolución en el plano bidimensional de este ejemplo. Figura 2.8 El sistema evita de nuevo el obstáculo, en este caso móvil. En la figura se muestran las trayectorias del sistema obtenidas para diferentes valores de γ , así como la trayectoria del obstáculo móvil. La posición del obstáculo en cada instante se halla a partir de la integración de la velocidad impuesta. La posición de ambos se muestra para el instante en el que sistema y obstáculo se encuentran más cerca. Se observa que a mayor valor de γ existe menos distancia entre ellos, llegando casi a rozar en el último ejemplo. Finalmente se muestra la evolución temporal de la función CBF, ampliando el instante más crítico. 18 Capítulo 2. Control Barrier Functions El conjunto de todas las condiciones anteriores se engloba en las condiciones de Karush-Kuhn-Tucker KKT y han de ser verificadas en el óptimo local de un problema restringido [21]. Condiciones de Karush-Kuhn-Tucker KKT ▽f(x∗)−∑ i λi·▽gi(x∗) = 0∀i=1,...,k λ∗ i≥0∀i=1,...,k (2.34) Estas condiciones son aplicables para un problema de maximización similar al expuesto en (2.31) , así como para problemas de minimización con la siguiente estructura, más parecidos a nuestro problema inicial (2.17). min xf(x) sujeto a g(x)≥0 (2.35) De vuelta a nuestro problema de optimización, la función objetivo f(zsist ,zobs) , las restricciones gsist (zsist ) ygobs(zobs)y sus respectivos gradientes ▽f(zsist ,zobs),▽gsist (zsist )y▽gobs(zobs)son: f(zsist ,zobs) = ∥zsist −zobs∥2→ ▽f(zsist ,zobs) = h2·(zsist −zobs)T−2·(zsist −zobs)Ti gsist (xsist ) = −Asist (xsist )·zsist +bsist (xsist )≥0→ ▽gsist (zsist ) = h−Asist (xsist )0i gobs(zobs) = −Aobs(xobs)·zobs +bobs(xobs)≥0→ ▽gobs(zobs) = h0−Aobs(xobs)i(2.36) Por lo que si queremos hallar el óptimo local restringido se deberán verificar las condiciones de Karush- Kuhn-Tucker KKT anteriores tal que [18]: 2·(z∗ sist −z∗ obs)T+λsist ·Asist =0 −2·(z∗ sist −z∗ obs)T+λobs ·Aobs =0 λsist ≥0 λobs ≥0 (2.37) Se observa que para que los signos de las restricciones de nuestro problema (2.17) coincidan con el de la restricción del problema genérico de minimización (2.35), se cambia el signo de gsist (zsist )ygobs(zobs). De las expresiones anteriores se obtienen las siguientes ecuaciones para el valor óptimo: 2·(z∗ sist −z∗ obs)T=−λsist ·Asist λsist ·Asist (xsist )+ λobs ·Aobs(xobs) = 0 (2.38) Al sustituirlas en la función de Lagrange L(z∗ sist ,z∗ obs,λsist ,λobs)esta queda [18]: L(z∗ sist ,z∗ obs,λsist ,λobst ) = −1 4·λsist ·Asist (xsist )·Asist (xsist )T·λT sist −λsist ·bsist (xsist )−λobs ·bobs(xobs)(2.39) El problema dual a resolver, únicamente sometido a las condiciones KKT, cuya solución serán los vectores λ∗ sist yλ∗ obs resulta [18]: h(xsist ,xobs) = max λsist ,λobs L(λsist ,λobst ) sujeto a λsist ·Asist (xsist )+ λobs ·Aobs(xobs) = 0,λsist ,λobs ≥0 (2.40) Este problema dual nos permitirá encontrar los puntos del sistema y del obstáculo que se encuentran a menor distancia a través de los valores de λ∗ sist y λ∗ obs . Sin embargo, no modificará la variable de entrada en 2.6 Geometría en forma de polítopo y resolución dual del problema de optimización 19 caso de que esta distancia no verifique la distancia mínima permitida entre ambos. Para ello se necesita el problema de optimización que minimice la diferencia entre la variable de entrada factible y la deseada, en otras palabras el problema (2.9) sujeto esta vez a la restricción dual CBF obtenida en (2.40). 2.6.2 Problema de optimización para el cálculo de la variable de actuación factible Para la configuración el problema de optimización para el cálculo de la variable de actuación factible, atendiendo a la estructura genérica de un problema de optimización de evitación de obstáculos sujeto a restricciones CBF descrita en (2.9) , es necesario la función ˙ h(x) y no la función h(x) (para la que anteriormente hemos hallado L(x) ). Al ser λ∗ sist ,λ∗ obs,Asist y Aobs diferenciables, ˙ h(x) podrá ser sustituido por el problema lineal g(t) a continuación, obtenido a partir de la derivación de la función coste y las restricciones del problema (2.40) [18]. g(t) = max ˙ λsist ,˙ λobs ˙ L(t,λ∗ sist ,λ∗ obs,˙ λsist ,˙ λobs) sujeto a            ˙ λsist ·Asist (t)+λ∗ sist ·˙ Asist (t)+ ˙ λobs ·Aobs(t)+λ∗ obs ·˙ Aobs(t) = 0 ˙ λsist ≥0si λ∗ sist =0 ˙ λobs ≥0si λ∗ obs =0 (2.41) donde: ˙ L=−1 2·λsist ·Asist (t)·Asist (t)T·˙ λT sist −1 2·λsist ·Asist (t)·˙ Asist (t)T·λT sist −˙ λsist ·bsist (t)−λsist ·˙ bsist (t)− −˙ λobs ·bobs(t)−λobs ·˙ bobs(t) (2.42) Resolver este problema supondría un coste adicional considerable a la resolución del problema completo, por lo que optamos por introducir las soluciones λ∗ sist yλ∗ obs obtenidas en el problema (2.40) y calcular simplemente soluciones factibles ˙ λ∗ sist y˙ λ∗ obs del problema (2.41) . De esta forma, como ˙ h(t) es el máximo de la función ˙ L(t,λ∗ sist ,λ∗ obs,˙ λsist ,˙ λobs) , al sustituir ˙ λsist ,˙ λobs por las soluciones factibles ˙ λ∗ sist y ˙ λ∗ obs , ˙ L sería mayor a cualquier valor de esta misma función y se estaría implementando la restricción CBF de forma conservativa. ˙ h(t) = max ˙ λsist ,˙ λobs ˙ L(t,λ∗ sist ,λ∗ obs,˙ λsist ,˙ λobs)≥˙ L(t,λ∗ sist ,λ∗ obs,˙ λsist ,˙ λobs)≥ −α(h(t)) (2.43) Todo ello se puede comprobar realizando el proceso inverso de integración del problema (2.41) a partir de dos soluciones factibles de ˙ λ∗ sist y ˙ λ∗ obs . El objetivo será deshacer la derivación e intentar obtener una expresión de ¯ λsist (τ) y ¯ λobs(τ) válida en un intervalo muy pequeño τ∈[t,t+ε] . Para ello se necesita una condición inicial en el instante inicial t , para la que propondremos las soluciones óptimas λ∗ sist y λ∗ obs del problema (2.40) [18]. Para τ=t→(¯ λsist (t),¯ λobs(t)) = (λ∗ sist ,λ∗ obs)(2.44) Al forzar que los valores ¯ λsist (t) y ¯ λobs(t) sean idénticos a λ∗ sist y λ∗ obs y al ser estos las soluciones óptimas del problema (2.40), se verifica que la función h(xsist ,xobs)sea máxima para ambos pares [18]. L(¯ λsist (t),¯ λobs(t)) = L(λ∗ sist ,λ∗ obs) = max λsist ,λobs L(λsist ,λobs) = h(xsist ,xobs)(2.45) Para el resto del intervalo la función h(xsist ,xobs) deberá ser necesariamente igual o menor que su valor máximo [18]: L(¯ λsist (τ),¯ λobs(τ)) ≤h(xsist ,xobs)∀τ∈(t,t+ε](2.46) Si derivamos la función coste anterior se obtiene [18]: ˙ L(τ,¯ λsist (τ),¯ λobs(τ),˙ λsist ,˙ λobs)≤˙ h(xsist ,xobs)∀τ∈[t,t+ε](2.47) 20 Capítulo 2. Control Barrier Functions Esta desigualdad también se cumplirá para τ=t ya que, aunque las soluciones ¯ λsist (t) y ¯ λobs(t) sean iguales a las soluciones óptimas λ∗ sist y λ∗ obs , estamos usando soluciones solo factibles de ˙ λsist y ˙ λobs . Únicamente obtendremos el valor máximo solución de g(t) si damos con los valores ˙ λ∗ sist y ˙ λ∗ obs . Estos valores son los que verdaderamente verificaran [18]: g(t) = max ˙ λsist ,˙ λobs ˙ L(t,λ∗ sist ,λ∗ obs,˙ λsist ,˙ λobs) = ˙ h(xsist ,xobs)(2.48) De esta manera, se verifica que g(t) se podrá usar como ˙ h(t)∀t∈[0,T] seleccionando instantes muy seguidos de integración, aunque finalmente simplifiquemos el proceso usando ˙ L(t,λ∗ sist ,λ∗ obs,˙ λsist ,˙ λobs) y soluciones factibles del problema ˙ λsist y˙ λobs [18]. Al introducir la restricción CBF (2.43) en el problema dual que proporcionará el valor de entrada factible a introducir en la dinámica del sistema en cada instante se obtiene [18]: u∗=argmin u,˙ λsist ,˙ λobs ∥u−udes∥2, sujeto a                              ˙ L(t,λ∗ sist ,λ∗ obs,˙ λsist ,˙ λobs)≥ −α·(h(x)−ε12) ˙ λsist ·Asist (x)+λ∗sist (x)·(˙ Asist (x)·f(x)+ ˙ Asist (x)·g(x)·u)+ +λ∗obs(x)∗(˙ Aobs(x)·f(x)+ ˙ Aobs(x)·g(x)·u) = −˙ λobs ·Aobs(x) ˙ λsist ≥0si λ∗sist <ε2,˙ λobs ≥0si λ∗obs <ε2 ∥˙ λsist ∥ ≤ M,∥˙ λobs∥ ≤ M u∈U (2.49) siendo ε1 y ε2 constantes de relajación pequeñas, M una constante de elevado valor y f(x) y g(x) las funciones que describen la dinámica del sistema incluidas en la ecuación (2.1). La constante de relajación ε1 surge de considerar el escenario en el que el gradiente de la función cuadrática h(x) (si existe) sea cero en la región a salvo. De ser así, el sistema consideraría estar a salvo indiferentemente del valor de la variable de actuación, lo cual no sería cierto. Podría darse ser el caso por ejemplo en una dinámica 1D igual a ˙x=u y una función h(x) = x2 . En x=0 la restricción sería 0·u≥0 y esto se verificaría para ∀u∈U . Al establecer h(x) = x2−ε12 , la restricción quedaría 0·u≥ε12 lo cual no se verificaría en ningún caso y sería una incongruencia. Para x=ε1 la restricción sería 2·ε1·u≥0 , desigualdad admisible y verificable para un valor positivo de la constante. La constante de relajación ε2 surge de asegurar la semi-continuidad superior 4 del conjunto de variables de actuación factibles, es decir que estos no superan el valor máximo de solución factible. Este criterio es similar al utilizado en el método de gradiente casi-activo empleado en [23] para verificar la seguridad. 4 Se dice que una función es una función semi-continua superiormente en un punto x0 si si los valores de la función en puntos cercanos ax0son próximos a f(x0)o menores que f(x0)[22]. Figura 2.17 Función semi-continua superiormente. El punto azul se refiere a f(x0)[22]. 2.7 Ejemplo 3: Sistema robótico y obstáculo con forma de polítopos en el plano 2D 21 Finalmente, el algoritmo implementado en cada paso de integración consistirá en hallar la función de Lagrange (2.39) a partir de las matrices y vectores de dimensión definidos, y resolver el primer problema de optimización dual (2.40) , obteniendo λsist y λobs . Una vez obtenidos, se introducirán en el segundo problema de optimización (2.49) , obteniendo u , ˙ λsist y ˙ λobs en cada instante. Al introducir el valor u resultante en la dinámica del sistema la evolución temporal del estado del sistema. Seguidamente se expone un ejemplo de evitación de un obstáculo para un sistema y un objeto con forma de polítopo a partir de un problema de optimización dual sujeto a restricciones CBF. 2.7 Ejemplo 3: Sistema robótico y obstáculo con forma de polítopos en el plano 2D Se considera un sistema robótico que se desplaza en un plano 2D, de estado, variable de entrada y dinámica coincidentes con los del sistema robótico definido en la sección 2.4. El objetivo del sistema será desplazarse en diagonal evitando un polítopo rectangular estático. Las condiciones de partida se muestran en la siguiente tabla. Tabla 2.3 Condiciones iniciales del ejemplo 3: Sistema robótico y obstáculo con forma de polítopos. Posición inicial del sistema "x0 y0#="1 2#[m] Dimensiones del sistema 2×2m Posición del obstáculo "xobs yobs#="6 0#[m] Dimensiones del obstáculo 4×8m Velocidad deseada del sistema "vxdes vydes #="2 0.5#[m/s] De nuevo, la velocidad deseada del sistema es impuesta por el controlador nominal. La región a salvo queda definida como todo el espacio bidimensional exceptuando el rectángulo. La restricción CBF será la mínima distancia existente entre dos puntos del sistema y el obstáculo, hallada a través del problema de optimización mostrado en (2.17). Se muestran a continuación las matrices y vectores Asist ,Aobs,bsist ybobs resultantes: Asist =      1 0 −1 0 0 1 0−1       ,Aobs =      1 0 −1 0 0 1 0−1       bsist =       1+xsist 1−xsist 1+ysist 1−ysist        ,bobs =       2+xobs 2−xobs 4+yobs 4−yobs        (2.50) siendo (xsist ,ysist ) y (xobs,yobs)∈R2 la posición del centro geométrico cada polítopo en un instante determinado. 22 Capítulo 2. Control Barrier Functions Se puede comprobar que todo punto zsist y zobs , interiores al sistema y al obstáculo respectivamente, verifica: Asist (xsist )·zsist ≤bsist (xsist ) Aobs(xobs)·zobs ≤bobs(xobs)(2.51) El algoritmo implementado en cada paso de integración consistirá en el explicado anteriormente. A partir de las matrices y vectores en las desigualdades mostradas en (2.50) y el problema dual mostrado en (2.40) se hallarán los valores de λsist y λobs . Estos valores serán introducidos en un segundo problema dual que minimice la diferencia entre la variable de entrada deseada y la factible, que tendrá como solución el valor óptimo de u , ˙ λsist y ˙ λobs . Al introducir reiteradamente la solución anterior u en la dinámica del sistema, se obtendrá la evolución de la posición en el plano bidimensional mostrada en la Figura 2.18. Figura 2.18 El sistema evita el obstáculo denotado por el rectángulo naranja definido anteriormente, adaptando su velocidad a la factible en cada instante, la deseada cuando es posible. Las curvas obtenidas se corresponden a un valor de γ igual a 0.5 y 0.01 . Se observa que este valor es muy diferente en orden de magnitud a los propuestos en el ejemplo anterior. Al representar el valor de la función de CBF en la Figura 2.19 ampliando el instante más crítico, se verifica que esta no es menor a 0 en ningún instante. Figura 2.19 La función CBF adquiere valores cercanos a 0 en torno a los 6s , sin embargo el sistema rectifica su trayectoria y h(x)no llega a alcanzar el valor nulo. 3 Interferencias aerodinámicas Se define interferencia aerodinámica como la perturbación de las líneas de flujo aerodinámico en la proximidad de otros objetos o sistemas. En nuestro caso estas líneas de flujo son generadas por los rotores de un UAV y originan la fuerza de sustentación para su vuelo. Estas perturbaciones al modificar la estela producida por los rotores, modifican en consecuencia el empuje generado, por lo que las zonas donde se producen serán regiones a evitar e introducidas como restricciones CBF más adelante. En este capítulo se analiza en profundidad las interferencias generadas por el vuelo de un UAV cercano a objetos. 3.1 Análisis de las interferencias aerodinámicas generadas por el vuelo cercano a objetos La interferencia aerodinámica alrededor de obstáculos se cuantifica a partir de un coeficiente aerodinámico, que será el cociente del empuje en presencia del obstáculo entre el empuje en ausencia del mismo. Para su cálculo es necesario modelar el diagrama de flujo que genera el rotor y aplicar el método de las imágenes convenientemente en función de la situación de la superficie respecto a la que se vuela. Según esto último podremos diferenciar entre efecto suelo, efecto techo y efecto pared. Una vez obtenido el modelo matemático, se impondrá la condición de potencia constante, obteniendo una fórmula del coeficiente aerodinámico para cada uno de los efectos considerados [24]. El objetivo final de este apartado es el de representar los valores de los coeficientes obtenidos en el espacio y en torno a unos obstáculos situados a conciencia. En los apartados a continuación se introduce la fórmula para el cálculo del coeficiente aerodinámico para cada uno de los efectos por separado y se obtiene el mapa de valores de coeficientes aerodinámicos. 3.1.1 Interferencia aerodinámica: Efecto suelo El efecto suelo es la interferencia aerodinámica que surge al volar el sistema sobre una superficie sólida cercana. Como adelantábamos, su influencia aerodinámica será cuantificada por el coeficiente aerodinámico CIGE , obtenido a partir de la siguiente fórmula: CIGE =TIGE TOGE =1 1−δvai vi =1 1−1 16 ·(R z)2(3.1) donde δvai es la velocidad inducida por el rotor imagen, vi la velocidad inducida por el rotor real, R el radio del rotor y z la distancia a la que este se encuentra del suelo. Las siglas ”IGE” y ”OGE” vienen de ”In Ground Effect” y ”Out Ground Effect” repectivamente [24]. Esta expresión es la propuesta en la teoría potencial de Cheeseman y Bennett para un solo rotor, al modelarlo como una fuente de flujo aerodinámico de intensidad constante y aplicar el método de las imágenes con respecto al suelo. Al imponer la condición de potencia constante se obtiene la expresión del cociente de 23 24 Capítulo 3. Interferencias aerodinámicas empujes TIGE /TOGE . El efecto suelo origina un aumento de empuje generado por el rotor del UAV, por lo que se obtendrá un valor de CIGE mayor que 1 en regiones superiores a los obstáculos susceptibles de producir interferencias aerodinámicas e igual a 1 en el resto del mapa. Para la representación gráfica del valor del coeficiente aerodinámico definimos en un mapa dos obstáculos de ejemplo: •Cubo de dimensiones 6×3×1m en la posición (1.0,1.5,0.5). •Cilindro de radio 0.5cm, paralelo al eje yy en la posición XZ (3.0,1.8) Asimismo definimos el suelo para z igual 0. Se presenta a continuación el mapa de obstáculos descrito. Figura 3.1 Mapas de obstáculos. Cubo,cilindro y suelo. Al representar el valor del coeficiente aerodinámico CIGE de efecto suelo según un código de color, sobre el mapa de obstáculo definido y el plano y=0se obtiene el siguiente mapa aerodinámico. Figura 3.2 Se obtiene un valor de CIGE igual a 1 en todo el mapa, exceptuando las inmediaciones superiores del cubo y del cilindro y el propio suelo. La zona de colisión es la zona azul claro en la que por las dimensiones del rotor el UAV, este colisionaría con el obstáculo. 3.1 Análisis de las interferencias aerodinámicas generadas por el vuelo cercano a objetos 25 3.1.2 Interferencia aerodinámica: Efecto techo El efecto techo es la interferencia aerodinámica que surge al volar el sistema bajo una superficie sólida cercana. Su influencia aerodinámica será cuantificada por el coeficiente aerodinámico CICE , obtenido a partir de la siguiente fórmula: CICE =TICE TOCE =1 1−1 K1·(R z+K2)2(3.2) donde K1 y K2 son constantes conocidas, R el radio del rotor y z la distancia a la que este se encuentra del suelo. Las siglas ”ICE” y ”OCE” vienen de ”In Ceiling Effect” y ”Out Ceiling Effect” respectivamente [ 24 ]. En este caso esta expresión no puede ser obtenida de la teoría potencial, por lo que se ha recurrido a la estimación de mínimos cuadrados a partir de datos obtenidos experimentalmente. El resultado es la obtención de las constantes K1yK2[24]. K1=6.924 K2=0.0378 m(3.3) El efecto techo origina de nuevo un aumento de empuje generado por el rotor del UAV, por lo que se obtendrá un valor de CICE mayor que 1 en regiones superiores a los obstáculos susceptibles de producir interferencias aerodinámicas e igual a 1 en el resto del mapa. Se muestra a continuación la representación de los valores del coeficiente CICE sobre el mapa descrito en el apartado anterior. Figura 3.3 Se obtiene un valor de CICE igual a 1 en todo el mapa, exceptuando región inferior al cilindro. . 3.1.3 Interferencia aerodinámica: Efecto pared El efecto pared es la interferencia aerodinámica que surge al volar el sistema al lado de una superficie sólida cercana. El estudio experimental del flujo aerodinámico que se genera en vuelo muestra que este es prácticamente perpendicular al rotor y que volar cerca de una superficie paralela a él no afecta al empuje producido. El efecto pared se considera insignificante al compararlo con el efecto techo y el efecto pared y no será materia de estudio en este trabajo [24]. 3.1.4 Ejemplo adicional: Mapa de obstáculos Para un mejor entendimiento del estudio de las interferencias aerodinámicas se analiza un ejemplo de mapa de obstáculos algo más complejo. En este caso, el mapa de obstáculos estará formado por una serie de cubos dispuestos de forma escalonada tanto en la parte superior como en la parte inferior del escenario. 26 Capítulo 3. Interferencias aerodinámicas Figura 3.4 Mapa de obstáculos. Figura escalonada. El empuje generado por un UAV aumentará al volar cerca de la superficie inferior del mapa, por lo que el valor del coeficiente aerodinámico de efecto suelo CIGE será distinto de 1 en sus inmediaciones. Esto mismo ocurrirá al volar el UAV cerca de la superficie superior, modificando también el coeficiente CICE . El mapa de coeficientes aerodinámicos descrito para el plano y=0queda reflejado en la siguiente imagen. Figura 3.5 Representación gráfica de los valores de coeficientes aerodinámicos en cada punto del espacio. 4 Evitación de zonas con interferencias aerodinámicas En este capítulo se aplica la teoría CBF analizada en profundidad en el capítulo 2, a un ejemplo concreto de evitación de zonas de interferencias aerodinámicas. Estas regiones son difíciles de determinar visualmente por los operadores de UAVs y a menudo dificulta el control del vuelo. Por lo que la inclusión de este tipo de sistemas de control facilitaría su labor. En primer lugar, se establecerá la nueva frontera del obstáculo a partir de la interpolación de puntos del espacio con lo que consideraremos un valor de coeficiente aerodinámico lo suficientemente elevado como para influir en el vuelo del sistema. Esta nueva frontera incluirá en su interior la región ocupada por el propio obstáculo, la zona de colisión y la región en la que este origina interferencias aerodinámicas. Una vez establecida, se introducirá en el código de control. Finalmente se expondrán algunos ejemplos y se llevará a cabo una comparación entre la trayectoria inicial de evitación del obstáculo y la trayectoria actual teniendo en cuenta ahora los efectos estudiados. 4.1 Interpolación de puntos del espacio y obtención de una nueva frontera En el capítulo anterior analizamos conjuntamente el valor de los coeficientes aerodinámicos de efecto suelo y techo. Ambos adquirían valores entre 1 (en los puntos en los que no se producían interferencias aerodinámicas) y 2.15 (en los puntos más próximos al objeto). En nuestro caso consideraremos que para valores menores a 1.1 la presencia del obstáculo no afecta al vuelo del UAV. Por lo que serán los puntos con dicho valor los seleccionados para la interpolación que dará lugar a la nueva frontera del obstáculo. A modo de ejemplo, para el mapa de obstáculos descrito en en apartado 3.1.1 se obtiene la siguiente frontera. Figura 4.1 El obstáculo crece al incluir las regiones de efectos aerodinámicos y las zonas de colisión, de nuevo marcadas por un azul más claro. 27 5 Implementación de la teoría CBF en UAVs En este capítulo se recoge el proceso de implementación de la teoría CBF en el control de un UAV real. A partir de los datos experimentales, nuevas simulaciones y la introducción de modificaciones tanto en la dinámica del sistema como en la configuración de la restricción CBF, se probará el correcto funcionamiento de los conceptos estudiados en un escenario real de vuelo. En este capítulo no se incluirá la sobredimensión geométrica de los obstáculos debido a las regiones de efecto aerodinámicos, simplemente se analizará una serie de herramientas que permitirán en futuros trabajo su estudio en profundidad. 5.1 Proceso de implementación El proceso de implementación constará de una serie de etapas que permitirán la mejora progresiva del algoritmo a incluir en el control del UAV. En primer lugar, se realizará un experimento preliminar en torno a un obstáculo real. A partir de las observaciones realizadas, se propondrá un cambio en la dinámica que modele mejor el comportamiento del sistema. A continuación, se llevarán a cabo una serie de simulaciones que probarán que la restricción CBF no será suficiente para posibilitar la evitación del obstáculo. Llegados a este punto, se propondrá una nueva configuración de esta que se adapte mejor a la dinámica planteada y se realizaran nuevas simulaciones. Finalmente se introducirán todas estas modificaciones, se realizará un experimento final y se extraerán conclusiones. La evolución y mejora de la implementación de la teoría CBF se muestra en el siguiente esquema. Figura 5.1 Esquema del sistema de control del UAV en el experimento. 35 36 Capítulo 5. Implementación de la teoría CBF en UAVs 5.2 Descripción de los experimentos Atendiendo a ciertas modificaciones geométricas y de posición se llevaron a cabo un experimento preliminar y un experimento final en vuelo, realizado en las instalaciones del GRVC en la calle Torricelli, con la ayuda de Carlos Álvarez Cía y Antonio González Morgado y a partir de la integración de un código en C++ en la tarjeta de control del UAV. En los experimentos, el controlador nominal dictaba al UAV a recorrer una trayectoria en línea recta desde la posición inicial hasta la posición intermedia, incitándolo a topar con un obstáculo recurrentemente. El obstáculo considerado se trata del muñeco negro que aparece en la figura 5.2, modelado como un cilindro vertical de radios diferentes y situado en el origen de coordenadas. Figura 5.2 Escenario considerado en los experimentos realizados. Obstáculo y UAV. El UAV utilizando durante los experimentos se trata de un Fully Actuated hexarotor de rotores inclinados, cuyo control se realiza en tres fases bien diferenciadas según el lugar donde se realizan las operaciones: la estación en tierra, el autopiloto del UAV y la plataforma aérea. El siguiente esquema muestra el proceso de control. Figura 5.3 Esquema del sistema de control del UAV en el experimento. 5.3 Experimento A: Evitación de obstáculo con restricción CBF sencilla 37 En primer lugar en la estación en tierra, el generador de trayectorias proporciona la posición deseada del UAV, la cual usa el controlador de posición para calcular la velocidad de referencia del sistema. Una vez calculada la velocidad deseada, en lo que comúnmente conocemos como controlador nominal, esta se introduce en el bloque CBF, que verifica si la velocidad propuesta cumple con los requisitos impuestos de evitación de obstáculos. El hecho de que las primeras operaciones se realicen en un ordenador en tierra se debe a la necesidad de una gran capacidad de cálculo, lo que implica la instalación en el UAV de una CPU más compleja y pesada y por lo tanto una mayor demanda de empuje y autonomía de este. Ya en la tarjeta de control del UAV, el controlador de velocidad calcula la fuerza y el controlador de actitud el par necesario para ejecutar la maniobra. Estos datos eran introducidos en el motor mezclador, que a su vez obtiene la señal pwm necesaria en cada uno de los 6 rotores del UAV en la plataforma aérea. 5.3 Experimento A: Evitación de obstáculo con restricción CBF sencilla En este primer experimento se utilizó una restricción CBF basada en la modelización del sistema a partir de la dinámica instantánea que se recuerda a continuación: ˙x=vx ˙y=vy } → "˙x ˙y#="0 0#+"1 0 0 1#"ux uy#(5.1) Se puede observar que las acciones de control de este modelo son las velocidades en X e Y del robot, las cuales se consideran que pueden ser modificadas de manera instantánea. Es por ello, que a esta dinámica la llamaremos "dinámica instantánea". Así mismo, al modelar el obstáculo como un cilindro vertical de radio 0.5m, la función distancia CBF era: h(x) = (x−xobs)2+(y−yobs)2−R2(5.2) De esta forma la restricción CBF resultante incluida en el problema de optimización a resolver por el bloque de control CBF es: ˙ h(x) = 2(x−xobs)·˙x+2(y−yobs)·˙y=2(x−xobs)·ux+2(y−yobs)·uy≥ −γ·h(x)(5.3) Como adelantábamos, el controlador nominal dicta al UAV a recorrer una trayectoria en línea recta desde la posición inicial hasta la posición intermedia, recogidas en la tabla 5.1, incitándolo a topar con el obstáculo descrito. Una vez volado este recorrido, lo insta a realizar la misma trayectoria de vuelta. Tabla 5.1 Posiciones de referencia del experimento 1: Trayectoria de ida y vuelta en torno a un obstáculo real. Posición inicial del sistema "x0 y0#="−2 0#[m] Posición intermedia del sistema "xi yi#="2 0#[m] En la Figura 5.4 se muestran los datos de la posición del UAV recogidos en el experimento. Se observa que el UAV modifica su trayectoria ante la presencia del obstáculo y la restricción CBF impuesta. Sin embargo, su desplazamiento no es lo suficientemente preciso y en algunos instantes llega a invadir la región ocupada por el obstáculo. Para este vuelo, se tomó un valor de γ=3. 38 Capítulo 5. Implementación de la teoría CBF en UAVs Figura 5.4 Evolución de la posición en el experimento 1. En la Figura 5.5 se muestra la evolución temporal de la función CBF, la función distancia al objeto. En ella se observa que esta adquiere valores negativos. De no estar el muñeco sobredimensionado y haber incluido su geometría exacta en la restricción CBF, ambos habrían colisionado. Figura 5.5 Evolución temporal de la función CBF en el experimento 1. La violación de la frontera de la región a salvo en ambas trayectorias se debe a que la variable de entrada u , velocidad del sistema, considerada en la dinámica que gobierna el sistema, no es capaz de modificar su valor instantáneamente. La dinámica considerada es demasiado simple y el sistema no es capaz de reaccionar a tiempo ante la presencia de un obstáculo. Esto podría solventarse cambiando la modelización del sistema teniendo en cuenta ecuaciones diferenciales más complejas que tengan como variable de entrada la aceleración del sistema o bien modelen la dinámica de la velocidad del sistema. A pesar de la falta de precisión del modelo, el UAV es consciente de la presencia del obstáculo y modifica de su trayectoria dentro de sus posibilidades. 5.4 Simulación A: Evitación de obstáculo con restricción CBF sencilla y modelado del sistema En la simulación inicial del ejemplo descrito en la sección 2.4 no se observan los fenómenos que si se han observado en los experimentos. En la simulación, el sistema logra evitar el obstáculo incluso para valores muy elevados de γ y no se percibe falta de precisión o de velocidad de reacción. Esta disparidad podría deberse a que el modelo del sistema no recoge lo suficientemente bien su comportamiento y por lo tanto no contempla posibles reacciones. 5.4 Simulación A: Evitación de obstáculo con restricción CBF sencilla y modelado del sistema 39 En esta sección se opta por simular de nuevo este ejemplo, esta vez utilizando la dinámica de primer orden para la velocidad del UAV. Las ecuaciones en espacio de estados quedarían de la siguiente manera: ˙x=vx ˙y=vy ¨x=ax ¨y=ay              →      ˙x ˙y ¨x ¨y       =         0 0 1 0 0 0 0 1 0 0 −1 τp0 0 0 0 −1 τp         ·     x y ˙x ˙y      +          0 0 0 0 Kp τp0 0Kp τp          ·   vd x vd y   (5.4) Esta dinámica es resultado modelar la velocidad de translación como un sistema de primer orden, cuya entrada es la velocidad deseada (vd x,vd y) enviada a la plataforma. Como todo sistema de primer orden, la dinámica está caracterizada por las constantes Kp y τp . Mientras τp es la constante de tiempo del sistema y es medida de la rapidez con la que evoluciona el sistema, Kp es la ganancia estática del sistema y pendiente de la característica estática del sistema. La constante τp se mide en la unidad de tiempo del modelo, en nuestro caso segundos, y es siempre positiva. La constante Kp se mide en el consciente de unidades de la señal de entrada entre la señal de salida, en nuestro caso adimensional, y puede tomar cualquier valor real. Ambas son constantes características del sistema y por lo tanto no modificables [25]. Al igual que en el ejemplo 1 incluido en el apartado 2.4, el sistema deberá desplazarse en dirección diagonal evitando un disco de radio 20 cm en su camino, partiendo de las siguientes condiciones iniciales. Tabla 5.2 Condiciones iniciales del ejemplo: Sistema robótico móvil 2D. Posición inicial del sistema "x0 y0#="0 0#[m] Posición del obstáculo "xobs yobs#="0.5 0.5#[m] Velocidad deseada del sistema    vd x vd y   =0.1·"1.1−x 1−y#[m/s] La función CBF será idéntica a la del apartado anterior mostrada en la expresión (5.2) , modificando el radio utilizado, ya que ambos obstáculos son modelados por circunferencias. En esta primera simulación también se empleará una restricción CBF basada en la dinámica instantánea, idéntica a la mostrada en la expresión (5.3) . Se realiza una nueva simulación con la nueva dinámica, para un valor de κp igual a 1, un valor de τp igual a 0.7s y un valor de γ igual a 40, y se obtienen los siguientes resultados. La evolución de la posición del sistema se muestra en la Figura 5.6. Efectivamente para un modelo más ajustado, la simulación contempla un comportamiento del sistema más parecido al observado en el experimento. Al considerar un valor de τp igual a 0.7s estamos suponiendo que el sistema tarda 7 décimas de segundo en alcanzar la velocidad propuesta por el controlador. Esta aproximación es bastante más realista ya que, aunque sea un retardo pequeño, no contempla que sea posible adoptar la velocidad de forma inmediata. Este retardo supone que el sistema no es capaz de rectificar su trayectoria en consonancia con lo que dicta el controlador CBF a tiempo y acaba colisionando con el obstáculo, tal y como se observa en la Figura 5.6. Se observa que el sistema reacciona tarde y que la restricción CBF impuesta no es suficiente para evitar el obstáculo. Al analizar la comparativa entre la velocidad real del sistema bajo la acción del controlador CBF y la velocidad propuesta por el controlador nominal en la Figura 5.8, se verifica que esta primera sí que cambia debido a la acción del controlador CBF, sin embargo no lo suficiente y no a tiempo. Para conseguir sortear el obstáculo, el sistema debería tomar la velocidad propuesta por el CBF en el instante en el que este lo propone 40 Capítulo 5. Implementación de la teoría CBF en UAVs y de igual magnitud. En este caso, se limita cada una de las componentes de esta velocidad a un módulo de 0.5m/scon el objetivo de que no demande velocidades desorbitadas. Figura 5.6 Evolución de la posición del sistema. Figura 5.7 La función distancia h(x) adquiere valores negativos en torno a los 6 segundos. En este periodo de tiempo sistema y obstáculo colisionan. Figura 5.8 El sistema percibe la presencia del obstáculo en torno a los 6 segundos tratando de modificar la velocidad real y con ello la trayectoria. No obstante, no lo logra de manera efectiva. La limitación de la velocidad propuesta por el CBF es visible en torno a los mismos segundos, es decir, el CBF propone una velocidad correctiva aún mayor. En los últimos instantes, una vez rebasado el obstáculo, se observa que las velocidad real y la velocidad propuesta por el controlador CBF, tienden a la velocidad nominal. 5.4 Simulación A: Evitación de obstáculo con restricción CBF sencilla y modelado del sistema 41 Para que el cambio de posición y velocidad se viera reflejado de manera satisfactoria en la trayectoria del sistema, manteniendo esta configuración de restricción CBF, habría que disminuir bien el valor de γ , la velocidad del sistema o ambos. Disminuyendo el valor de γ se conseguiría que el CBF aumentará su acción en la presencia del obstáculo, siguiendo una trayectoria más restrictiva y reaccionando antes. Si el controlador CBF reacciona mucho antes, a pesar del retardo natural del sistema, se llegaría a modificar la ruta a tiempo. 5.4.1 Disminución del valor de γpara una mejor respuesta del sistema En este subapartado y con el objetivo de forzar la evitación del obstáculo por parte del sistema, se disminuye el valor de γ . Tras numerosas simulaciones con sucesión decreciente de valores, se obtiene una trayectoria más o menos admisible para un valor ínfimo de γ igual a 1e−8 . A partir de este valor las trayectorias resultantes varían muy poco. Figura 5.9 La acción del controlador CBF toma lugar cuando el sistema aún se encuentra muy alejado del obstáculo. El sistema modifica su trayectoria en el inicio de su movimiento creyendo que será suficiente para sortear el obstáculo, sin embargo, no lo logra completamente. Figura 5.10 El sistema y el obstáculo siguen colisionando mínimamente, y el signo de h(x)así lo muestra. 42 Capítulo 5. Implementación de la teoría CBF en UAVs Figura 5.11 El sistema sigue sin adoptar la velocidad propuesta por el CBF exactamente, pero es algo más similar. Para llevar a cabo una evitación del obstáculo controlada, ambas velocidades disminuyen en gran medida hasta valores en torno a 0m/s. La evitación del obstáculo no es posible siquiera para valores muy pequeños de γ , por lo que llegados a este punto, se opta por implementar una restricción CBF más compleja verdaderamente adaptada a la dinámica de primer orden empleada. 5.5 Simulación B: Evitación de obstáculo con restricción compleja y modelado del sistema En esta sección se opta por simular por tercera vez este ejemplo, esta vez utilizando de nuevo la dinámica de primer orden mostrada en la expresión (5.4) y proponiendo una variación de la restricción CBF que tenga en cuenta la derivada segunda de la función distancia h(x) . Tanto el objetivo como las condiciones iniciales del sistema y obstáculo se mantienen y serán coincidentes con las mostradas en la tabla 5.2. La función distancia h(x) será idéntica a la de la sección anterior mostrada en (5.2) , sin embargo, optaremos por una restricción CBF algo más compleja. Para que la restricción CBF a incluir dependa realmente de la variable de actuación es necesario derivar la función h(x) dos veces, ya que esta depende únicamente de x y el grado derivativo entre ella y u es 2. El sistema deberá satisfacer una restricción con la siguiente estructura [?]: ¨ h(x)+γ·h(x)+ξ·˙ h(x)≥0(5.5) De esta forma, el problema de optimización sujeto a esta restricción CBF queda: u∗=argmin u∈U ∥u−udes∥2 sujeto a ¨ h(x)+γ·h(x)+ξ·˙ h(x)≥0 (5.6) En este caso la segunda derivada de la función distancia es: ¨ h(x) = 2·˙x2 sist +2·(xsist −xobs)·¨xsist +2·˙y2 sist +2·(ysist −yobs)·¨ysist (5.7) 5.5 Simulación B: Evitación de obstáculo con restricción compleja y modelado del sistema 43 Atendiendo a la dinámica considerada del sistema: ¨xsist =−1 τp·˙xsist +κp τp·ux ¨ysist =−1 τp·˙ysist +κp τp·uy (5.8) Al sustituir en la expresión (5.7) nos queda: ¨ h(x) = 2·˙x2 sist +2·(xsist −xobs)·[1 τp ·˙xsist +κp τp ·ux]+2·˙y2 sist +2·(ysist −yobs)·[−1 τp ·˙ysist +κp τp ·uy](5.9) Para un valor de κp igual a 1 , un valor de τp igual a 0.7s , un valor de γ igual a 40 y un valor de ξ igual a 10 se obtienen los siguientes datos de simulación. Figura 5.12 El sistema modifica mínimamente su trayectoria. Tal y como se esperaba, el modelo sigue reflejando de manera precisa el comportamiento del sistema. No obstante, a pesar de haber incluido una restricción CBF más compleja adaptada a la dinámica del sistema, UAV y obstáculo siguen colisionando para los valores estándares seleccionados de γyξ. Figura 5.13 La función h(x) adquiere valores negativos, muestra de la colisión de sistema y obstáculo . 50 Capítulo 5. Implementación de la teoría CBF en UAVs instantánea, en la que se considera un comportamiento ideal en el que el sistema es capaz de adaptar su velocidad instantáneamente. Para un valor restrictivo de γ igual a 1 , el sistema ve un peligro inminente ante la presencia del obstáculo, modifica drásticamente su trayectoria y consigue evitar el obstáculo. No obstante, para un valor de γ igual a 3 menos restrictivo, esto no sucede. A mayor valor de γ se espera que el sistema siga una trayectoria más cercana al objeto, siguiendo un movimiento menos conservativo. Para γ igual a 3 el sistema se aproxima tanto al obstáculo que lo invade, siendo incapaz de evitarlo y obteniendo un valor mínimo de la función CBF negativo. Por otro lado, en el experimento 3.3 se modela al sistema a partir de una dinámica compleja que refleja mejor el comportamiento real. Se considera un retardo de 1.2s en el cambio de velocidad y se logra un valor mínimo de la función CBF más ajustado pero nunca negativo. El sistema logra evitar el obstáculo con mayor precisión, modificando su trayectoria lo menos posible. 6 Conclusiones En conclusión, la teoría CBF nos da una infinidad de opciones a la hora de capacitar a un UAV para trazar trayectorias de forma correctiva y bajo unas restricciones de vuelo determinadas. En este trabajo se ha decidido enfocar su aplicación a la evitación de obstáculos y regiones de interferencia aerodinámica conjuntamente, sin embargo, son múltiples los usos adicionales que podrían darse a esta tecnología. Desde el vuelo controlado en una región del espacio autorizada, hasta la asistencia en vuelo de operadores humanos que garantice la seguridad en este. Para una aplicación adecuada, es necesario conocer en profundidad los fundamentos matemáticos sobre los que se basa la teoría CBF y prestar atención a las modificaciones que diferentes geometrías de obstáculo y sistema puedan acarrear. Concretamente, es de vital importancia definir correctamente el espacio sobre el que se espera que vuele el UAV, así como las dimensiones del sistema y la función distancia entre ambos. Esta función será la función CBF y la base de la estructura de la restricción CBF a incluir en el problema de optimización que resolverá el controlador CBF. Una vez definida, se habrá de optar por un desarrollo primal o dual en función de si esta es explícita y diferenciable. Adicionalmente, será esencial ajustar con precisión el valor de la constante γ, que adapte el comportamiento del sistema de menos a más conservativo. En cuanto a la evitación de las regiones de interferencias aerodinámicas asociadas a los obstáculos presentes en el espacio, se ha propuesto una sobredimensión y redefinición de las geometrías previamente descritas. Como sabemos, la presencia de obstáculos en las inmediaciones de un UAV puede afectar a la generación de empuje y por lo tanto al control de su vuelo. En este trabajo, se ha tratado de dar solución a esta problemática calculando una región adicional entorno a cada objeto, a partir de los valores de los coeficientes aerodinámicos de efecto suelo, techo y pared, que cuantifican el efecto de estas superficies en el empuje del UAV. Al realizar simulaciones teniendo en cuenta esta sobredimensión y sin ella, se han obtenido resultados diferentes, que muestran que de no considerar estas interferencias, el sistema acabaría interfiriendo con ellas, lo cual no es beneficioso. Finalmente, gracias a la implementación de todos estos conceptos en el vuelo real de un UAV, hemos centrado la mirada en lo importante que es una correcta modelización del sistema a la hora de trasladar los resultados de simulación a un escenario físico. La modelización del sistema a partir de una dinámica demasiado sencilla puede llevar a una descripción incorrecta de su comportamiento. En este caso, se observó una falta de velocidad de reacción por parte del sistema, que no se veía reflejada en la simulación inicial. Al utilizar una dinámica más compleja y modificar la restricción CBF, se conseguía solventar esta dificultad. En futuros trabajos, se espera indagar más acerca de la configuración de las regiones de interferencia aerodinámica y realizar ensayos en los que sí se tengan en cuenta. Con la continuación de este trabajo, podremos probar la validez de los conceptos desarrollados y acercarnos paulatinamente hacía una generación de trayectorias libres de obstáculos e interferencias aerodinámicas basada completamente en la teoría CBF. 51 Apéndice A Identificación del parámetro τp Para la identificación de la constante de tiempo τp del UAV empleado en los experimentos se analiza la respuesta del sistema ante una entrada escalón. Concretamente, se registran los valores de las componentes de la velocidad en el eje x e y ante esta señal, y se calcula el intervalo en el que ambas magnitudes pasan de un valor nulo a adquirir el 63% del valor que dicta la entrada. En el análisis de la componente de la velocidad en el eje x se envía una señal escalón de un valor 1.1m/s . Para el análisis de la componente en el eje y se envía una señal escalón de valor −1.2m/s .Se muestran a continuación los resultados obtenidos. (a) Velocidad del sistema en el eje x frente a una señal de entrada escalón. (b) Velocidad del sistema en el eje y frente a una señal de entrada escalón. Figura A.1 Identificación de τp. El tiempo en alcanzar el 63% del valor es 1.1529 s en el eje x y 1.3172 s en el eje y . Al realizar la media entre ambos valores se obtiene 1.2351 s . Finalmente, en el desarrollo se considera un valor aproximado de τpigual a 1.2s. 53 Índice de Figuras 1.1 Aplicaciones de Aerial Manipulation 1 1.2 Esquema cualitativo del campo fluido alejado de la superficie y bajo condiciones de efecto suelo, efecto techo y efecto pared, y las consecuencias dinámicas. La presión es denotada como P, el empuje como T, la fuerza f y el momento τ . Los subíndices a,g,c,w y e vienen de away from surface, under ground effect, under ceiling effect, under wall effect yexternal respectivamente [6] 2 1.3 Planificación de rutas libre de objetos sujeta a restricciones cinemáticas y dinámicas empleando diferentes procedimientos [9] 3 1.4 Planificación de rutas libre de objetos y efectos aerodinámicos [12] 3 2.1 En este caso el obstáculo se sitúa en el punto (0.5,0.5)my tiene un radio de 0.1m6 2.2 El obstáculo es la esfera roja. La esfera verde es el volumen de seguridad entorno a la cabeza del manipulador [14] 6 2.3 Estabilización exponencial de la restricción CBF. En la imagen la función CBF se corresponde con la función B(x) [17] 7 2.4 Sistema de control del sistema robótico 8 2.5 Algoritmo de evitación de obstáculos 8 2.6 El sistema evita el obstáculo denotado por el círculo naranja definido anteriormente, adaptando su velocidad a la factible en cada instante, la deseada cuando es posible 10 2.7 La función CBF adquiere valores cercanos a 0 en torno a los 0.05s , sin embargo el sistema rectifica su trayectoria y h(x) no llega a alcanzar el valor nulo. Se observa que para valores mayores de γ la restricción es menos conservativa y la función h(x)alcanza un valor más cercano a 0 10 2.8 El sistema evita de nuevo el obstáculo, en este caso móvil 11 2.9 La función h(x)adquiere valores muy cercanos a 0, sin llegar a alcanzar dicho valor 12 2.10 Se observa que al contener un rectángulo en la elipse de menor tamaño este queda sobredimensionado. La región rayada es una zona adicional a la geometría base de la figura 12 2.11 Se plantean dos problemas de optimización, uno para el cálculo de la distancia mínima entre polítopos y otro para el cálculo de la variable de actuación factible. El primero de ellos será transformado a partir del teorema de los multiplicadores de Lagrange y el teorema de la Dualidad Débil y resuelto parcialmente aplicando las condiciones de Karush-Kuhn-Tucker hasta obtener su versión dual. El segundo de ellos, estará sujeto a una restricción CBF obtenida al imponer una solución factible abordable a partir de la función de Lagrange deducida 13 2.12 Sistema de referencia y cálculo de distancia entre polítopos [18] 13 2.13 Gradiente y conjunto de direcciones que mejoran la función objetivo [21] 16 2.14 Gradiente y conjunto de direcciones que llevan a soluciones factibles del problema [21] 17 2.15 Superposición del gradiente y óptimo local del problema restringido [21] 17 2.16 La región de direcciones factibles y de mejora de las funciones objetivos son excluyentes, por lo que se trata de un óptimo local [21] 17 2.17 Función semi-continua superiormente. El punto azul se refiere a f(x0)[22] 20 2.18 El sistema evita el obstáculo denotado por el rectángulo naranja definido anteriormente, adaptando su velocidad a la factible en cada instante, la deseada cuando es posible 22 55 56 Índice de Figuras 2.19 La función CBF adquiere valores cercanos a 0 en torno a los 6s , sin embargo el sistema rectifica su trayectoria y h(x)no llega a alcanzar el valor nulo 22 3.1 Mapas de obstáculos. Cubo,cilindro y suelo 24 3.2 Se obtiene un valor de CIGE igual a 1 en todo el mapa, exceptuando las inmediaciones superiores del cubo y del cilindro y el propio suelo. La zona de colisión es la zona azul claro en la que por las dimensiones del rotor el UAV, este colisionaría con el obstáculo 24 3.3 Se obtiene un valor de CICE igual a 1 en todo el mapa, exceptuando región inferior al cilindro. 25 3.4 Mapa de obstáculos. Figura escalonada 26 3.5 Representación gráfica de los valores de coeficientes aerodinámicos en cada punto del espacio 26 4.1 El obstáculo crece al incluir las regiones de efectos aerodinámicos y las zonas de colisión, de nuevo marcadas por un azul más claro 27 4.2 Geometría sobredimensionada. Cubo, cilindro y suelo 28 4.3 El sistema consigue evitar tanto el cilindro como el cubo, no llegando a interferir con el suelo. Los dos rectángulos verde claro muestran la posición del sistema más cercana al cilindro y al cubo respectivamente. Se observa que la distancia a este último es crítica pero suficiente 30 4.4 El sistema se introduce en la región de interferencia aerodinámica de tanto el cilindro como del cubo, pudiendo ocasionar efectos en el control de su vuelo 30 4.5 La función obtenida sin tener en cuenta los efectos estudiados adquiere valores negativos, por lo que el sistema en este segundo caso interferiría con la región de interferencias aerodinámicas y/o la zona de colisión 31 4.6 Geometría sobredimensionada. Figura escalonada 32 4.7 El sistema desciende de forma escalonada evitando los obstáculos en su entorno. El valor de γ empleado es de 0.2 32 4.8 El sistema desciende de forma escalonada ajustando lo mínimo su trayectoria, adoptando posiciones que podrían violar la frontera de la región de efectos aerodinámicos 33 5.1 Esquema del sistema de control del UAV en el experimento 35 5.2 Escenario considerado en los experimentos realizados. Obstáculo y UAV 36 5.3 Esquema del sistema de control del UAV en el experimento 36 5.4 Evolución de la posición en el experimento 1 38 5.5 Evolución temporal de la función CBF en el experimento 1 38 5.6 Evolución de la posición del sistema 40 5.7 La función distancia h(x) adquiere valores negativos en torno a los 6 segundos. En este periodo de tiempo sistema y obstáculo colisionan 40 5.8 El sistema percibe la presencia del obstáculo en torno a los 6 segundos tratando de modificar la velocidad real y con ello la trayectoria. No obstante, no lo logra de manera efectiva. La limitación de la velocidad propuesta por el CBF es visible en torno a los mismos segundos, es decir, el CBF propone una velocidad correctiva aún mayor. En los últimos instantes, una vez rebasado el obstáculo, se observa que las velocidad real y la velocidad propuesta por el controlador CBF, tienden a la velocidad nominal 40 5.9 La acción del controlador CBF toma lugar cuando el sistema aún se encuentra muy alejado del obstáculo. El sistema modifica su trayectoria en el inicio de su movimiento creyendo que será suficiente para sortear el obstáculo, sin embargo, no lo logra completamente 41 5.10 El sistema y el obstáculo siguen colisionando mínimamente, y el signo de h(x)así lo muestra 41 5.11 El sistema sigue sin adoptar la velocidad propuesta por el CBF exactamente, pero es algo más similar. Para llevar a cabo una evitación del obstáculo controlada, ambas velocidades disminuyen en gran medida hasta valores en torno a 0m/s42 5.12 El sistema modifica mínimamente su trayectoria 43 5.13 La función h(x) adquiere valores negativos, muestra de la colisión de sistema y obstáculo 43 5.14 De nuevo, la velocidad la propuesta por el controlador nominal, propuesta por el CBF y la adoptada finalmente por el controlador son muy dispares en torno a los 6 segundos, en los que el sistema se cruza con el obstáculo. El sistema sigue reaccionando tarde y en menor medida a la presencia del obstáculo 44 5.15 El sistema evita el obstáculo correctamente 44 5.16 La función distancia h(x)es positiva en todo su dominio 45 Índice de Figuras 57 5.17 La velocidad propuesta por el controlador CBF y la velocidad real no coinciden en el inicio, sin embargo esto no impide que no se lleve a cabo la maniobra con éxito 45 5.18 Resultados obtenidos de la simulación con una dinámica de primer orden y una restricción CBF compara un comportamiento ideal 46 5.19 El sistema ve un gran peligro en presencia del obstáculo, realiza maniobras de gran magnitud para evitar el obstáculo correctamente 47 5.20 La función distancia h(x)es positiva en todo su dominio. Obstáculo y sistema no colisionan 47 5.21 Se observa que esta vez el sistema no es capaz de evitar el obstáculo. El sistema sigue una trayectoria muy similar a la dictada por el controlador nominal hasta un punto muy avanzado y no responde a tiempo 48 5.22 La función distancia h(x)adquiere valores negativos 48 5.23 El sistema evita con precisión el obstáculo 49 5.24 La función distancia h(x)es positiva en todo el dominio 49 5.25 Tabla comparativa de los experimentos realizados 49 A.1 Identificación de τp53 Bibliografía [1] Evaluating the use of drones for Bridge Inspection. [Online]. Available: https://www.dronitech.com/ evaluating-the-use-of-drones-for-bridge-inspection/ [2] Search & Rescue. [Online]. Available: https://www.onyxstar.net/search-and-rescue-by-drone/ [3] Dron de carga. [Online]. Available: https://www.embention.com/es/projects/drone-de-carga/ [4] M. Ball. MQ-25 UAS Successfully Refuels F/A-18 Mid-Air. [Online]. Available: https://www. unmannedsystemstechnology.com/2021/06/mq-25-becomes-first-uav-to-refuel-another-aircraft/ [5] A. Ollero, and B. Siciliano, Aerial Robotic Manipulation: Research, Development and Applications. Springer, 2019. [6] A. Matus-Vargas, G. Rodriguez-Gomez, and J. Martinez-Carranza, “Ground effect on rotorcraft unmanned aerial vehicles: a review,” Intelligent Service Robotics, vol. 14, pp. 99–118, 2021. [7] S. M. LaValle, and J. J. Kuffner Jr, “Randomized kinodynamic planning,” The International Journal of Robotics Research, vol. 20, no. 5, pp. 378–400, 1999. [8] E. Koyuncu, and G. Inalhan, “A probabilistic B-spline motion planning algorithm for unmanned helicopters flying in dense 3D environments,” Intelligent Robots and Systems (IROS), pp. 815–821, 2008. [9] C. Richter, A. Bry, and N. Roy, “Polynomial trajectory planning for aggressive quadrotor flight in dense indoor environments,” Robotics Research, pp. 649–666, 2016. [10] L. Danjun, Z. Yan, S. Zongying, and L. Geng, “Autonomous landing of quadrotor based on ground effect modelling,” 34th Chinese Control Conference (CCC), p. 5647–5652, 2015. [11] P. J. Sanchez-Cuevas, G. Heredia, and A. Ollero, “Multirotor UAS for bridge inspection by contact using the ceiling effect,” 2017 International Conference on Unmanned Aircraft Systems (ICUAS), 2017. [12] A. Caballero, P. J. Sanchez-Cuevas, M. Bejar, G. Heredia, M. A. Trujillo, and A. Ollero, “An Aerodynamic Extension for Motion Planning with Dynamics Awareness in Aerial Long-Reach Manipulators,” International Journal of Aerospace Engineering, 2020. [13] Lipschitz Function. [Online]. Available: https://mathworld.wolfram.com/LipschitzFunction.html [14] F. Ferraguti, C. Talignani Landi, A. Singletary, H. Lin, A. Ames, C. Secchi, and M. Bonfè, “Safety and Efficiency in Robotics: The Control Barrier Functions Approach,” IEEE Robotics & Automation Magazine, vol. 29, no. 3, pp. 139–151, 2022. [15] J. Song, Z. Zuo, and M. Basin, “New Class κ∞ Function-Based Adaptive Sliding Mode Control Design,” IEEE Transactions on automatic control, 2020. [16] Y. Eliashberg, “Math 53H: The Lie derivative,” IEEE Robotics & Automation Magazine, 2011. 59