Control POR modo deslizante de un vehiculo submarino tipo...

96
CONTROL POR MODO DESLIZANTE DE UN VEHICULO SUBMARINO TIPO ROV PROYECTO FINAL DE CARRERA ALUMNO: Javier Grande Rodríguez DIRECTOR: Juan José Rodríguez Andina Ahmed Chemori

Transcript of Control POR modo deslizante de un vehiculo submarino tipo...

Page 1: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

CONTROL POR MODO

DESLIZANTE DE UN VEHICULO

SUBMARINO TIPO ROV

PROYECTO FINAL DE CARRERA

ALUMNO:

Javier Grande Rodríguez

DIRECTOR:

Juan José Rodríguez Andina

Ahmed Chemori

Page 2: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

2

Page 3: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

3

RESUMEN

El presente proyecto trata sobre la elaboración de un lazo de control, para una aplicación de piloto

automático, en un vehículo submarino del tipo ROV en el que un operador introduce la trayectoria

deseada del robot y el control elabora las acciones de los propulsores necesarias para seguir esta

trayectoria.

Nuestro vehículo submarino, el AC-ROV es un robot con forma de cubo de unos 20 cm de arista, que

con 6 propulsores acciona hasta 5 grados de libertad.

El método de control se basa en el denominado modo deslizante, que teniendo una noción mínima de

la dinámica del sistema, hace tender el mismo a una zona llamada superficie de deslizamiento, que en

esta aplicación concreta será función del error del sistema y donde la convergencia al punto deseado

será más rápida gracias a una acción discontinua basada en la función sing(x).

El algoritmo del controlador se elabora a partir de una aproximación lineal del modelo dinámico del

sistema de la planta (Robot), es decir, se elabora a partir de una aproximación vaga del sistema real.

Pretendiéndose así reducir el coste computacional del controlador a costa del conocimiento del sistema

a controlar y aprovechar las características particulares de este tipo de controlador.

Uno de los efectos perniciosos de este método de control es la “reticencia” o “traqueteo” (Chattering),

que consiste en una señal de alta frecuencia en la actuación del controlador debida a la acción

discontinua, cuando se converge al punto deseado sobre la superficie de deslizamiento. Este efecto

supone un riesgo para los actuadores. Se explorarán soluciones y alternativas para solucionar este

problema como pueden ser la aproximación de la función discontinua sign(x) por la continua tanh(k·x)

así como la implementación de un controlador en modo deslizante de segundo orden.

Una vez desarrollados los algoritmos de control de primer y segundo orden y resuelto el problema de

reticencia, se testera el controlador en el entorno de simulación Matlab-Simulink y también con ciertas

limitaciones en cuanto a grados de libertad, se implementara sobre el robot real a través del lenguaje

de programación C++.

Con este modo de control obtendremos una rápida convergencia a la trayectoria deseada y una gran

robustez de la misma frente a perturbaciones exteriores e incertidumbres de parámetros, a partir de

un conocimiento limitado de la dinámica del sistema.

Palabras clave: ROV, Control en modo deslizante, Superficie de deslizamiento.

Page 4: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

4

INDICE RESUMEN ................................................................................................................... 3

MEMORIA .................................................................................................................... 5

1. Necesidades y Objetivos ....................................................................................... 5

1.1. Introducción ................................................................................................ 5

1.2. Motivación .................................................................................................. 5

1.3. Objetivos .................................................................................................... 6

1.4. Metodología y Etapas ..................................................................................... 7

1.5. Estructura de la Memoria ................................................................................ 7

2. Análisis y Modelado del Sistema ............................................................................. 8

2.1. Estado del Arte. Conceptos Previos ................................................................... 8

2.2. Descripción del AC-ROV ................................................................................ 24

2.3. Desarrollo Matemático del Controlador ............................................................ 31

3. Validación del sistema ....................................................................................... 43

3.1. Simulación del Controlador ........................................................................... 43

3.2. Implantación del Controlador en el Robot ......................................................... 66

4. Conclusión y Líneas Futuras ................................................................................ 74

BIBLIOGRAFIA ............................................................................................................ 75

Bibliografía principal ................................................................................................. 75

Artículos ................................................................................................................ 75

APENDICES ............................................................................................................... 77

Apéndice 1: Desarrollo de la matriz de rotación . ................................................. 77

Apéndice 2: Desarrollo de las matrices y . ..................................................... 78

Apéndice 3: SSMC. Deducción de la ecuación del control para sistemas no lineales. ............. 80

Apéndice 4: Ejemplo de SSMC ................................................................................. 83

Apéndice 5: Eliminación del chattering. .................................................................... 87

Apéndice 6: Desarrollo de la ecuación de la mecánica de ROV. ....................................... 89

Apéndice 7: Descripción del modelado de los accionadores. ........................................... 93

Apéndice 8: Desarrollo del generador de trayectoria deseada. ........................................ 94

Page 5: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

5

MEMORIA

1. Necesidades y Objetivos

1.1. Introducción

Los vehículos submarinos han ganado un creciente interés en las últimas décadas, dada la multiplicidad

de operaciones que pueden realizar en varios campos. En este trabajo nos interesa particularmente el

tipo de vehículos submarinos no tripulados conectados a un barco en la superficie por un cable largo a

través del cual se envían la energía y las ordenes, estos son también llamados vehículos remotamente

operados (remotely operated vehicle: ROV).

Existen varios retos en cuanto al control autónomo de estos sistemas, desde las altas no linealidades

inherentes a la variación con respecto al tiempo de la dinámica del sistema sometido a efectos

hidrodinámicos y a perturbaciones.

Se pueden encontrar en la literatura existente diferentes enfoques destinados a solucionar estos

problemas, tales como control robusto, control en modo deslizante, control inteligente, control

adaptativo, etc.

En el presente trabajo exploraremos el desarrollo de un algoritmo de control deslizante para el

seguimiento de trayectoria en una aplicación al vehículo submarino del tipo ROV modificado AC-ROV.

El método de control en modo deslizante tradicional puede ser presentado como la aplicación de una

señal de control conmutando a alta frecuencia que consigue llevar el estado del sistema a la

denominada superficie de deslizamiento y una vez en ella mantenerlo ante posibles allí a pesar

perturbaciones externas. La principal ventaja del control por modos deslizantes es que aporta robustez

ante perturbaciones, tanto internas como externas, cuando estas tengan cotas conocidas.

1.2. Motivación

En los sistemas de guiado tradicionales de los ROV en los cuales se hacía una transformación directa de

la trayectoria deseada introducida por el operador a través de un joystick a las actuaciones de los

propulsores existían problemas de respuesta brusca, falta de resolución y precisión, probablemente

debidos a la dinámica compleja del sistema. Esto ha motivado la creación de aplicaciones de piloto

automático para el seguimiento de las trayectorias deseadas por el operador.

De la misma forma y tal como se menciona con anterioridad el desarrollo de esta aplicación de control

autónomo está limitada por las no linealidades e incertidumbres del sistema así como las

perturbaciones, esto sugiere la implementación de un controlador que ofrezca robustez a pesar de

estos problemas.

Es de esta forma que surge la necesidad de investigar sobre la aplicación de modos de control

deslizante para aplicaciones de control autónomo en vehículos submarinos de tipo ROV.

Page 6: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

6

1.3. Objetivos

El objetivo del presente proyecto es desarrollar matemáticamente un algoritmo de control en modo

deslizante de primer y segundo orden específico para para su aplicación sobre un vehículo submarino

de tipo ROV.

Se pretende demostrar su viabilidad para este tipo de aplicación, eliminando los problemas inherentes

de este tipo de controlador como puede ser el chattering.

Demostrar también su robustez a través de la simulación y de la experimentación, en determinados

ensayos frente a distintas situaciones adversas como incertitud y variación de parámetros de la planta,

perturbaciones exteriores y ruido blanco en las mediciones del estado.

Sobre todo el objetivo prioritario de este trabajo es demostrar la robustez del modo deslizante frente a

sistemas indeterminados, es decir que el sistema a partir del cual se elabora el controlador sea tan solo

una aproximación del sistema de la planta. La razón es que uno de los puntos fuertes del modo

deslizante es que aumenta su precisión cuanto menor es el paso de integración. Para aprovechar esto

deberemos reducirlo lo máximo posible.

Cuando se programe el controlador en un micro controlador, el paso de integración se traducirá en el

tiempo de computación de cada ciclo del programa del controlador, este tiempo de computación

dependerá de varios factores como pueden ser los tiempos que se tarda en actualizar los datos de los

sensores para obtener la información sobre el estado de la planta, o los tiempos de respuesta de los

accionadores, pero estos siempre se podrían reducir y el factor que limitaría el tiempo de ciclo del

controlador seria precisamente el tiempo que invierte el micro en el cálculo de la acción de control.

En este cálculo intervienen matrices y vectores grandes que pueden suponer un coste computacional

alto. En conclusión lo que se pretende es reducir este coste computacional linealizando el sistema a

partir del cual se elaborara el controlador, siendo este más sencillo, a costa de reducir el conocimiento

del sistema a controlar y así explotar los puntos fuertes del control en modo deslizante, frente a otras

soluciones para este modo existentes en la bibliografía.

Para cumplir estos objetivos generales, habrá que ir cumpliendo paulatinamente unos sub-objetivos u

objetivos parciales:

En primer lugar, para hacernos una idea de las aplicaciones del control en modo deslizante sobre

vehículos submarinos hacemos una búsqueda de información, consultando la bibliografía existente

sobre este tema y los artículos que contengan aplicaciones similares, el objetivo es hacer un estado del

arte de este tema concreto, para intentar aportar algo nuevo a este campo.

Después de asimilar todos los conceptos teóricos tanto del controlador como de la planta, tendremos

que lograr elaborar un modelo matemático particular de nuestro robot y de nuestro controlador

adaptado a el, que cumpla todas las especificaciones que nos hemos marcado.

Luego el objetivo será testar el conjunto controlador-planta de la forma más realista posible con el fin

de conseguir una respuesta estable y robusta sin que haya ni rastro del chattering en la señal que

controle los propulsores de robot, para asi asegurar su buen funcionamiento.

Una vez eliminado el chattering deberemos testar el controlador directamente sobre el robot real y

repetir los ensayos de robustez con el objetivo de demostrar las virtudes del modo deslizante

directamente sobre la plataforma experimental real que es el AC-ROV.

Page 7: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

7

1.4. Metodología y Etapas

En un primer lugar se procederá a la documentación sobre la mecánica de los vehículos marinos, más

concretamente los submarinos, y también sobre la teoría general del control en modo deslizante tanto

de primer como de segundo orden a partir de las fuentes bibliográficas proporcionadas. Para finalizar

esta fase de documentación buscaremos artículos relacionados con las diversas aplicaciones en control

automático del control en modo deslizante y más concretamente sobre las aplicaciones a robots

submarinos, reuniendo así una bibliografía de base y haciéndonos una idea del estado del arte.

En la segunda etapa: Matematización; procederemos al desarrollo matemático de los algoritmos tanto

del controlador como de la planta para poder simular su comportamiento, adaptando los algoritmos de

control en modo deslizante a las características de nuestra aplicación.

Después procederemos a la simulación en el entorno matlab-simulink del comportamiento del conjunto

controlador-robot (planta), testando así los algoritmos desarrollados en la etapa anterior, sintonizando

el controlador y obteniendo los resultados de la simulación en el escenario nominal, frente a

perturbaciones, frente a ruido blanco en la medición del estado y frente a incertidumbre y variación de

parámetros de la planta.

Posteriormente, una vez eliminado el “chatering” y comprobado en simulación que el controlador no

supone un riesgo para los accionadores del robot, se procederá a la implantación del controlador en el

micro controlador del robot a través del lenguaje C++. Y se procederá a realizar los mismos test de

robustez de la simulación sobre el robot para verificar su comportamiento.

1.5. Estructura de la Memoria

Para empezar repasaremos los conceptos previos necesarios para entender el desarrollo del controlador,

estos son mayormente: la mecánica general de los vehículos marinos, y el control en modo deslizante,

de primer y segundo orden. Posteriormente entraremos en materia describiendo nuestro vehículo

submarino, el AC-ROV y en especial pormenorizaremos en sus accionadores y después, a partir de las

características particulares de nuestro robot, haremos las simplificaciones pertinentes al modelo

dinámico para elaborar el modelo de la planta. Una vez obtenida el modelo de la planta realizaremos

el desarrollo del controlador, comenzando por linealizar el modelo de referencia y aplicando la teoría

del modo deslizante obtendremos tanto el algoritmo de control de primer orden como el de segundo.

Cuando se hayan desarrollado los algoritmos de control, mostraremos las pruebas realizadas: primero

ilustrando su implementación y los resultados obtenidos en el entorno de simulación matlab-simulink y

posteriormente en el robot real.

Page 8: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

8

2. Análisis y Modelado del Sistema

2.1. Estado del Arte. Conceptos Previos

2.1.1. Control en Modo Deslizante

Control en modo deslizante simple (SSMC)

El método de control en modos deslizantes tradicional (Simple Sliding Mode Control: SSMC) puede ser

presentado como la aplicación de una señal de control conmutando a alta frecuencia que consigue, en

primer lugar, llevar el estado del sistema a un hiperplano σ = 0 denominado superficie de

deslizamiento y, en segundo lugar, una vez en ella mantenerlo ahí ante posibles perturbaciones

externas y converger a través de ella al punto de equilibrio deseado (Figura 3). Dicha superficie de

deslizamiento será definida por el diseñador con el objeto de que el estado cumpla las especiaciones

deseadas. La principal ventaja del control por modos deslizantes es que aporta robustez ante

perturbaciones, tanto internas como externas, cuando estas tienen cotas conocidas.

Por desgracia, este método posee un par de restricciones importantes. En primer lugar, el grado relativo del sistema, que puede definirse como el número de veces que hay que derivar la función que describe la superficie de deslizamiento (σ(x, u)) para que la señal de control aparezca explícitamente, debe ser uno. En segundo lugar el efecto “chattering” provocado por la conmutación de alta frecuencia de la señal de control puede ser muy perjudicial en determinadas aplicaciones prácticas y se ha visto a menudo como el principal argumento para desaconsejar este método. Por ejemplo, en la implantación de este método en el control de robots y otros sistemas mecánicos, ya que puede causar vibraciones capaces de excitar la frecuencia fundamental del sistema con desastrosos resultados o provocar el deterioro de las partes móviles por efecto de la fatiga. Es posible suavizar la ley de control a costa de perder precisión [3].

Vamos a realizar una pequeña descripción matemática del control en modo deslizante, describiendo sus características dinámicas y estudiando la convergencia y la estabilidad del mismo para un sistema típico. Supongamos que el sistema a controlar es un sistema genérico no lineal con una forma como la descrita por ecuación:

( 1)

Tal que, si denominamos al vector , entonces, y son funciones no lineales que

cumplen que , es decir, están acotadas y su cota es conocida. Y siendo el objetivo del

controlador estabilizar el sistema entorno al punto de equilibrio

.

Figura 3: Etapas del SSMC

Page 9: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

9

Definiremos la variable de deslizamiento (sigma) como:

Llamaremos matriz de deslizamiento a:

Se desea reducir el orden del sistema de forma que el estado cumpla la ecuación:

Correspondiente a la de un sistema de primer orden, a la que llamaremos superficie de deslizamiento. Pudiendo agrupar la ecuación (3) de la forma:

Del estudio de la dinámica del sistema en la superficie de deslizamiento y la estabilidad del controlador en la convergencia a dicha superficie, se deducirá la ecuación utilizada por el algoritmo de control (Este estudio y la deducción de esta ecuación de control se encuentran en el apéndice 3):

Como se puede ver esta ecuación está formada por dos términos, el control equivalente y el control

discontinuo que se basa en la función discontinua . De forma que:

En conclusión, el control modo deslizante consiste en alcanzar después de un corto transitorio, cuya

estabilidad se demuestra en el apéndice 3, la superficie de deslizamiento, es decir, que se cumpla la

condición , una vez en la superficie de deslizamiento la convergencia al punto de equilibrio

deseado no depende de los parámetros del sistema a controlar sino de únicamente de los parámetros

de diseño del controlador. Es aquí donde reside el punto fuerte del modo deslizante, en la robustez

frente a la variación y la incertidumbre de los parámetros del sistema, es decir, frente a

indeterminaciones del sistema, siempre y cuando estas estén acotadas, lo que permite desarrollar un

controlador sin un conocimiento exhausto del sistema a controlar. Otra ventaja importante del

control en modo deslizante es que la precisión en régimen permanente del deslizamiento

( ) es del orden del paso de integración ( ) [2].

De la misma forma que se han demostrado las cualidades del modo deslizante en un sistema no lineal

genérico se pueden demostrar también fácilmente para un sistema lineal genérico con una ecuación

como la siguiente:

Page 10: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

10

Sin entrar en detalle en la demostración, si definimos la superficie de deslizamiento como la ecuación

(5):

Derivando nos quedara:

Y despejando obtendremos la función del control equivalente:

De forma similar a la vista en el caso del sistema no lineal, obtendremos que para cumplir las

condiciones de convergencia asintótica el control discontinuo será de la forma:

Quedando la función de control en modo deslizante para un sistema lineal genérico como:

Para poder hacerse una mejor idea del funcionamiento y las virtudes del control deslizante, en el

apéndice 4, se desarrolla un ejemplo de este tipo de control sobre un sistema trivial.

Como ya se ha dicho anteriormente y también se puede ver en el ejemplo, existe una señal de alta frecuencia, el “chattering” que representa el mayor problema del control por modo deslizante, ya que, como ya se ha dicho, esta conmutación de alta frecuencia puede producir vibraciones, representando un riesgo grande para los actuadores de la mayoría de robot convencionales porque produce el deterioro de los mismos por efecto de la fatiga [3]. En este proyecto vamos a estudiar soluciones para solucionar este problema, que atenúen o hagan desaparecer el “chattering”, previamente a la implantación de este método de control en el robot.

La primera solución y la más sencilla es sustituir la función por otra continua, con lo que se

consigue un resultado más suave, en lugar de la función se puede utilizar varias, las más

utilizadas son la función saturación y la función tangente hiperbólica (figura 4):

Page 11: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

11

Figura 4

A continuación comparamos dos gráficas, la primera (figura 5) muestra los resultados obtenidos en el

ejemplo del apéndice 4 con la función y la segunda (figura 6) los resultados obtenidos en el

mismo ejemplo con la función ; en el controlador:

Figura 5: SSMS con función : Posición y velocidad, plano de fase y señal de control

Figura 6: SSMS con función : Posición y velocidad, plano de fase y señal de control

Se puede observar como las transiciones son más suaves y sobre todo que además desaparece el

“chattering”; todo ello sin perder robustez frente a incertitud de parámetros.

La segunda solución para eliminar el chattering es algo más compleja, consiste en la implementación

de control deslizante de orden superior. Este tipo de controlador será descrito en la siguiente sección.

Page 12: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

12

Control por modo deslizante de orden superior (HOSMC)

La idea subyacente del control en modo deslizante de orden superior es controlar términos de orden

superior de la superficie deslizante imponiendo no solo que se anule la función que la define ( )

sino también sus primeras derivadas:

A esta ecuación la denominaremos colector de deslizamiento y no superficie de deslizamiento como antes. Este método preserva y generaliza las principales ventajas del control por modo deslizante tradicional. Además se mejora notablemente la precisión alcanzada en el control (ya que ahora

( ) será del orden ( ).) y se eliminan las restricciones que limitaban a modo deslizante simple:

desaparece el efecto “chattering” y es posible controlar sistemas con grado relativo .

En este sentido definiremos el orden de deslizamiento ( ) será el número total de derivadas continuas

de (incluyendo cero y uno) en la proximidad del modo de deslizamiento, el grado de deslizamiento caracterizara la suavidad de la dinámica en la vecindad del modo.

Se convierte el controlador entonces en un sistema dinámico de orden , donde el vector de variables

de estado será el formado por y sus derivadas, tal que, tendrá que satisfacer las restricciones de la

ecuación 31, y lo denominaremos controlador deslizante de orden . El mayor problema de los HOSMCs es que para su desarrollo aumenta la cantidad de información

necesaria, si en el SSMC solo necesitabas conocer en los de grado superior necesitas que estén

disponibles sus sucesivas derivadas. Solo hay una excepción, un tipo de HOSMC de segundo orden,

llamado “algoritmo super-twisting”, que solo necesita la medida de (será el que utilicemos en

nuestra aplicación práctica). La diferenciación de supone un problema, ya que, de la misma forma que crecía la precisión del controlador en régimen permanente, el error de diferenciación crecerá

también exponencialmente con el grado del controlador, de una forma proporcional a , donde

será el orden de diferenciación y el máximo error en la medida de . En nuestro caso desarrollaremos un controlador en modo deslizante de orden 2 (2OSMC), es decir con

, que deberá cumplir que . Es condición necesaria para el desarrollo del controlador

que exista derivada de es decir que sea diferenciable. Dependiendo del grado relativo del sistema

(para diferenciarlo del orden del deslizamiento) a controlar, debemos considerar dos casos:

a) El grado relativo del sistema , es decir,

b) El grado relativo del sistema , es decir,

Si se cumple a) el problema de control se puede resolver por medio del modo deslizante de primer

orden, sin embargo se puedo usar también el modo deslizante de segundo orden con el fin de eliminar

el “chattering” (Sera lo que hagamos). De tal forma que la variable de control sera la salida de algún

sistema dinámico de primer orden. Como por ejemplo considerando la primera derivada del control de

la planta como la variable real de control. Así un controlador discontinuo de llevará la

variable de deslizamiento a cero manteniendo en un modo deslizante de 2ºorden, tal que,

aunque sea discontinuo la señal de control de la planta será continua, eliminándose así el

“chattering”. Si se cumple b) se deberá elegir un modo deslizante de orden , tal que, [9].

Page 13: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

13

En el apéndice 5 podemos ver el planteamiento genérico de un controlador de segundo orden y las condiciones que tiene que cumplir para eliminar el chattering, a partir de la definición de un sistema y de una variable de deslizamiento genéricos y de la ecuación de las dos siguientes derivadas de la variable de deslizamiento.

La conclusión será, que si las constantes , , , están determinadas para cumplir la condición de convergencia a la variedad de deslizamiento en un tiempo finito. Se puede llegar a que, asumiendo que

; en una pequeña vecindad de la región el sistema estará descrito por:

1. Si el grado relativo es uno.

2. Si el grado relativo es dos.

Existen, en la literatura, varios algoritmos que cumplen con las especificaciones anteriormente enunciadas para la eliminación del chattering. No los enunciaremos en esta sección, ya que el objetivo de la misma era solamente dar una idea general de la teoría detrás de estos algoritmos. Más adelante una vez descrito el sistema a controlar, definiremos los algoritmos que vallamos a utilizar tanto en la simulación como en la implementación práctica [2].

Page 14: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

14

2.1.2. Mecánica General de Vehículos Marinos

En este capítulo daremos una visión general de como modelar la mecánica de los vehículos marinos, y

concretaremos estas descripciones sobre los vehículos submarinos, para tener una base de

conocimiento de cara a comprender el desarrollo del controlador, con sus todas sus transformaciones y

simplificaciones.

El estudio de la mecánica de los vehículos submarinos, como el de otros vehículos, se puede dividir en

dos partes: La primera, a la que llamaremos Cinemática, tratara solo sobre los aspectos geométricos

del movimiento y la segunda, llamada Dinámica, tratara sobre el análisis de las fuerzas que causan este

movimiento.

Empezaremos hablando de la Cinemática, que tratara sobre la geometría del movimiento, haciendo

referencia a los sistemas de referencia utilizados, sus coordenadas y las relaciones entre ellos.

DESCRIPCIÓN CINEMATICA

Para empezar definimos los sistemas de referencia y sus coordenadas. Los sistemas de referencia

usados serán dos:

SISTEMAS DE REFERENCIA Y COORDENADAS

1. BODY (b-frame): Que será el sistema de

referencia fijo al vehículo que podemos observar en

la figura 1 formado por los ejes , y . Este

sistema de referencia se moverá junto con vehículo,

tanto en la traslación como en la rotación del

mismo. El origen de este sistema de referencia

suele coincidir con el centro de gravedad, cuando

este está en el plano principal de simetría, y los

ejes , y se eligen para que coincidan con

los principales ejes de inercia y suelen ser definidos

como:

: Eje longitudinal (dirigido de popa a

proa)

: Eje transversal (dirigido de babor a estribor)

: Eje normal (Dirigido de arriba a abajo)

2. NED (n-frame): Este sistema de referencia, llamado así por sus siglas en inglés: North-East-

Down, está definido relativo a la referencia elíptica de la tierra. Es el sistema de referencia que usted

usa en su vida cotidiana. Se define suponiendo un plano tangente a la superficie de la tierra que se

moverá con el vehículo, pero que tendrá sus ejes apuntando en distinta dirección que los del b-frame.

En este sistema de referencia el eje x apuntara hacia el norte geográfico, el eje y hacia el este y el eje

z apuntara hacia abajo, normal a la superficie de la tierra. Este sistema de referencia se puede

referenciar al otro sistema de referencia fijo en el centro de la tierra a través de dos ángulos

denominados longitud y latitud.

Para un vehículo marino actuando en un área local podemos suponer constante la longitud y la latitud y

usar el plano tangente a la superficie fijo a la tierra para la navegación.

Figura 1: Variables de movimiento

Page 15: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

15

Bajo estas suposiciones podremos suponer el n-frame como sistema de referencia fijo y el b-frame

como un sistema de referencia móvil solidario al vehículo.

Así definiremos las variables de movimiento, para vehículos submarinos se considera que el vehículo

tiene 6 grados de libertad (degrees of freedom: DOF), 6 coordenadas independientes que serán

necesarias para determinar la posición y la orientación del vehículo. Las primeras tres coordenadas y

sus derivadas temporales corresponden a la posición y al movimiento de traslación a lo largo de los ejes

, y del sistema de referencia fijo, y las tres últimas coordenadas y sus derivadas temporales serán

usadas para describir la orientación (Utilizando los ángulos de Euler) y el movimiento de rotación. En

los vehículos marinos estas coordenadas se definen como surge, sway, heave, roll, pitch y yaw.

Al considera el n-frame como vector fijo, definiremos las coordenadas correspondientes a la posición y

la orientación absolutas en el n-frame y las correspondientes a las velocidades lineares y angulares

relativas en el b-frame. Resumiremos las coordenadas en la siguiente tabla:

Tabla 1: Notación utilizada para las coordenadas en vehículos submarinos

DOF Nombre Fuerzas y momentos (b-

frame) Velocidades lineares y angulares (b-frame)

Posición y orientación (n-frame)

1 Surge X u x

2 Sway Y v y

3 Heave Z w z

4 Roll K p 5 Pitch M q 6 Yaw N r

A partir de estas coordenadas definiremos los siguientes vectores:

Tabla 2: Definición de vectores en sus correspondientes sistemas de referencia

Posición en el N-frame:

Orientación (Ángulos de Euler) en N-

frame:

Velocidad lineal en B-frame:

Velocidad angular en B-frame:

Fuerzas en B-frame:

Momentos en B-frame:

Siendo el espacio euclideo de dimensión 3, y el espacio toroidal de dimensión 3 en donde los

ángulos están definidos de . Con estos vectores definiremos nuestros vectores principales del

sistema que serán:

,

Page 16: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

16

Donde definirá la posición y la orientación del vehículo submarino vista por el n-frame, su velocidad

vista desde el b-frame y las fuerzas y momentos que actúan sobre el vehículo vistas desde el b-frame.

La conclusión más importante que debemos sacar de este apartado es que la posición y la velocidad del

vehículo están referenciadas a distintos sistemas de referencia, por lo que no podremos calcular la

velocidad haciendo simplemente la derivada temporal de la posición.

En esto se basa el estudio de la cinemática del vehículo, en la descripción geométrica de la relación

entre estos dos vectores, esta operación se puede hacer por medio de los ángulos de Euler o por

cuaternios, en este trabajo lo haremos por el primer método. A continuación procederemos a describir

esta relación entre el NED y el BODY [1].

TRANSFORMACION DE EULER

Para empezar tenemos que definir la matriz de rotación entre un sistema de referencia y otro. En

general la matriz de rotación entre dos sistemas y será denotada como . Esta matriz será

ortogonal y hará la trasformación de un vector de velocidad descompuesto en un sistema de referencia

de inicio a otro sistema distinto de destino de la forma:

Por lo tanto la matriz de rotación entre el n-frame y el b-frame será denotada como . Para definir

esta matriz usaremos los ángulos de Euler: roll( ), pitch( ) y yaw( ), y así descompondremos en el

NED el vector de velocidad referenciado al BODY. Tal que la matriz de rotación será función de los

ángulos de Euler:

La obtención de esta matriz de rotación se demuestra en el apéndice 1 el resultado será:

Para ángulos pequeños , y , la expresión anterior se puede aproximar como [1]:

Page 17: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

17

TRANSFORMACION DE VELOCIDAD LINEAL

Una vez tenemos la matriz de rotación, podemos descomponer el vector de velocidad lineal en el b-

frame en el n-frame como:

Donde será el vector de velocidad en el n-frame ya que es la primera derivada

temporal de la posición en el n-frame . La transformación inversa de velocidad será [1]:

TRASFORMACION DE VELOCIDAD ANGULAR

La velocidad angular en el b-frame y el vector de velocidades de Euler (primera

derivada temporal de la orientación en el n-frame): se relacionaran a través de la

matriz de acuerdo con:

Se podría demostrar que la matriz de transformación será:

Donde . Es importante tener en cuenta que la matriz no es una matriz ortogonal,

en consecuencia,

, además esta matriz está indefinida para . Para vehículos

marinos de superficie (barcos) esta singularidad no supone un problema pero para vehículos submarinos

si lo es, ya que se puede actuar cerca de esta ella. Para resolver este problema hay dos soluciones la

primera es utilizar dos representaciones por ángulos de Euler cada una con distintas singularidades y

conmutar entre ellas para eliminar el punto singular y la otra solución es utilizar la representación por

cuaternios.

Bajo el supuesto de ángulos pequeños , y , de la misma forma que hacíamos con la matriz

, podemos linealizar la matriz simplificándola a [1]:

Page 18: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

18

ECUACION CINEMÁTICA (6 DOF)

Resumiendo los resultados de esta última sección, podemos expresar la relación geométrica entre los

vectores de velocidad (lineal y angular) descompuestos en el b-frame y los vectores de velocidad

(lineal y angular) descompuestos en el n-frame (primeras derivadas temporales de los vectores de

posición y orientación en el n-frame) en la siguiente ecuación, que llamaremos ecuación cinemática del

sistema:

Como se puede observar esta ecuación es no lineal, pero a través de las ecuaciones 7 y 12, donde

suponemos ángulos pequeños, se podría linealizar [1].

DESCRIPCION DINAMICA

ECUACION DE LA DINAMICA EN 6 DOF

El estudio de la dinámica de un vehículo marino consiste en el análisis de las fuerzas que actúan sobre

él y causan su movimiento. En este apartado haremos una pequeña descripción teórica de la dinámica

de estos vehículos simplemente para dar una noción principal de los distintos elementos que

intervienen en ella, sin pormenorizar en el cálculo de los mismos ni en el desarrollo de la ecuación.

Al contrario que en la sección anterior, en la que desarrollamos la ecuación de la cinemática, aquí

mostraremos la ecuación general de la dinámica en el b-frame y haremos una breve descripción de

cada uno.

La ecuación general de la dinámica en 6 DOF será:

Como en el apartado anterior será el vector de velocidad lineal y angular descompuesta en el b-

frame y el vector posición y orientación en el n-frame, además será la primera derivada temporal

del vector de velocidad en el b-frame, es decir, la aceleración del vehículo descompuesta en el b-

frame y como también hemos visto en el apartado anterior será el vector de fuerzas y momentos

ejercidos sobre vehículo por parte de los accionadores, es decir, que en nuestro caso será el vector de

variables de control. Los demás vectores y matrices serán descritos cada uno en su apartado.

Page 19: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

19

MATRIZ DE INERCIA TOTAL DEL SISTEMA:

El desarrollo de la matriz de inercial total del sistema se basa en la formulación de Newton-Euler, la

cual no describiremos en este proyecto. Solo haremos una pequeña descripción de estas matrices. En

primer lugar es necesario mencionar que se la denomina matriz total porque es la suma de dos partes:

la matriz de inercia del solido rígido (Rigid Body = RB) , y la matriz de inercia de la masa añadida

. Cumpliendo que:

Siendo una matriz denominada matriz semi-simétrica de un vector, de forma que, si es un vector

perteneciente a , tal que, la matriz semi-simétrica estará definida como:

Entonces expresaremos la matriz como:

Donde es la masa del vehículo, el vector de posición del centro de gravedad respecto del b-frame

e .Para más información sobre el desarrollo de la matriz se puede consultar el apéndice 2.

Como se ve esta matriz recoge la relación de los términos de masa e inercia en las 6 coordenadas

espaciales.

La matriz de inercia de la masa añadida recogerá estos términos también, pero no referentes al solido

rígido sino al fluido que lo rodea, ya que, cuando el vehículo se mueve en el seno de un fluido,

desplaza una cierta cantidad de este. Este es el significado de la matriz de inercia de la masa añadida,

pero para su cálculo es imposible proceder como haríamos para la matriz de inercia ya que como se

puede intuir, es imposible determinar datos como la posición del centro de gravedad, la masa o el

momento de inercia de la masa añadida.

Para su cálculo existe un método basado en la mecánica Lagrangiana a partir de las energías cinetica y

potencial del fluido desplazado, si bien no lo desarrollaremos en este proyecto.

MATRIZ TOTAL CENTRIPETA-CORIOLIS:

La matriz total centrípeta-coriolis se basa también en la formulación de Newton-Euler (Apéndice 2), al

igual que la matriz de inercia, la matriz centrípeta-coriolis también se divide en dos partes: la del

solido rigido y la de masa añadida y . Cumpliendo que:

Page 20: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

20

La expresión de la matriz centrípeta-coriolis rígida en el cuerpo será:

Siendo y los vectores de velocidad lineal y angular en el b-frame respectivamente, tal que:

y

. La matriz centrípeta-coriolis de la masa añadida se

calculara de forma similar a la matriz de inercia de la masa añadida.

MATRIZ TOTAL DE AMORTIGUAMIENTO:

La matriz de amortiguamiento contiene todos los términos dinámicos relacionados con el

amortiguamiento del vehículo, debido a diferentes causas.

Amortiguamiento Potencial : Este efecto es el causado cuando el vehículo es forzado a

oscilar en la frecuencia de excitación (frecuencia fundamental?) en ausencia de olas incidentes

exteriores. La contribución de estos términos comparados con otros términos disipativos con el

amortiguamiento viscoso suele ser despreciable.

Fricción Superficial : La fricción superficial linear debida a la teoría de capa limite

laminar es muy importante cuando consideramos los efectos debidos al movimiento en baja

frecuencia del vehículo. Por lo tanto este efecto debería ser considerado cuando se diseña un

sistema de control para el vehículo. Además de la fricción superficial linear existirá una

contribución en alta frecuencia debida a turbulencias en la capa límite.

Amortiguamiento por Deriva de Olas : Este amortiguamiento puede ser interpretado

como una resistencia añadida en vehículos de superficie que avanzan contra las olas. Este

término es el que tiene una contribución más importante en el surge(x) para la mayoría de

estados del mar. Esto es debido al hecho que las fuerzas por deriva de olas son proporcionales

al cuadrado de la altura significativa de la ola. El amortiguamiento por deriva de olas en el

sway(y) y el yaw() es pequeño relativamente a amortiguamiento debido a la aparición de

remolinos.

Amortiguamiento por Remolinos : El amortiguamiento por formación de remolinos

representa una importante componente de amortiguamiento viscoso. Debido a que con el

movimiento de un sólido completamente sumergido en un fluido viscoso se originan fuerzas de

fricción que harán al sistema no conservativo respecto de la energía. Estas fuerzas de fricción

serán función lineal de la velocidad del sólido.

Page 21: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

21

De esta forma el amortiguamiento total será:

Los distintos términos de rozamiento contribuyen de forma lineal y cuadrática al amortiguamiento

total, por lo que se suelen separar estos efectos. Expresándose el amortiguamiento total como:

Las fuerzas por amortiguamiento se expresaran como una fuerza resultante lineal aplicada en el centro

de fuerzas disipativas (CD), estas fuerzas serán iguales al producto presión por área, así que dependerá

de la sección del cuerpo en las direcciones , y , y de la magnitud de dichas fuerzas.

En este proyecto solo nos interesarán los parámetros del amortiguamiento lineal, por causas que

explicaremos más adelante. Esta matriz se podrá expresar como:

Donde es la fuerza de fricción lineal en el eje x del b-frame debida a la velocidad .

FUERZAS Y MOMENTOS DE RESTAURACION:

Además de las fuerzas relacionadas con la masa y el amortiguamiento los vehículos marinos se ven

sobre todo afectados por las fuerzas de gravedad y de flotabilidad. En la terminología hidrodinámica a

estas fuerzas se las denomina fuerzas de

restauración.

En los vehículos submarinos (cuerpo

sumergido completamente) la fuerza de

gravedad actúa sobre el centro de

gravedad (centre of gravity: CG) definido

por

y la fuerza de

flotabilidad actúa de forma similar sobre

el centro de flotabilidad (centre of

buoyancy: CB) definido por

.

Figura 2: Accion de las fuerzas de restauración

Page 22: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

22

Siendo la masa del buque incluyendo el agua en el espacio de libre flotación, el volumen del fluido

desplazado por el vehículo, la aceleración de la gravedad (positiva hacia abajo) y la densidad del

agua. Las fuerzas del peso y la flotabilidad serán respectivamente:

Tal que:

Teniendo en cuenta que el eje z está tomado como positivo dirigido hacia debajo, de forma que, la

gravedad es positiva y la flotabilidad negativa. Estas dos fuerzas están inicialmente descompuestas en

el sistema de referencia fijo: n-frame, si aplicamos la transformación de Euler vista en el apartado de

cinemática para transformar estos vectores al b-frame, de la forma:

Aplicando estas transformaciones nos quedara el vector de la forma:

Este vector será objeto de diversas simplificaciones en función de las características de la aplicación

como puede ser en vehículos de flotabilidad neutra (mayoría de vehículos submarinos) en los que la

fuerza de gravedad será igual a la de flotabilidad, tal que, .

VECTOR DE LASTRE:

Algunos vehículos submarinos incorporan un sistema de lastre a través del bombeo de agua, es decir,

que además del vector de fuerzas de restauración, existirá otro vector de lastre que recogerá las

fuerzas debidas a la acción de este lastre, que serán las del peso del volumen de agua bombeado al

depósito usado como lastre.

No entraremos en una descripción detallada de esta componente de la dinámica del sistema porque en

nuestra aplicación concreta nuestro vehículo no incorporara lastre.

Page 23: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

23

VECTOR DE PERTURBACIONES AMBIENTALES:

Es el que modela las perturbaciones del exterior, como puedes ser el viento, las olas o las corrientes.

En nuestro caso al tratarse ser vehículo submarino testado en una piscina, no tendremos en cuenta

este término.

CONCLUSIÓN: ECUACIONES DEL MOVIMIENTO EN 6 DOF

En conclusión el movimiento de un vehículo submarino se puede expresar en las ecuaciones 13 y 14,

como:

Estas ecuaciones y los términos que las constituyen pueden ser simplificadas de distintas formas

aprovechando las características particulares de cada vehículo como pueden ser las simetrías del

cuerpo [1].

Una vez definida lo que será la teoría en la que se basara nuestro modelo de la planta, debemos

introducir la teoría de lo que será nuestro controlador, este estará basado en el denominado control en

modo deslizante.

Page 24: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

24

2.2. Descripción del AC-ROV

2.2.1. Descripción Física del AC-ROV. Accionadores.

El submarino de AC-ROV (figura 7) es un vehículo sub-actuado, ya que, el sistema de propulsión el cual

consiste de seis hélices impulsadas por motores de corriente continua, solo controla cinco grados de

libertad. Los motores 1, 2, 3 y 4 controlan simultáneamente las traslaciones a lo largo de los ejes e

y la rotación alrededor del eje (yaw). Los motores 5 y 6 se encargan del control de la profundidad y

de la rotación alrededor del eje (pitch). La rotación alrededor del eje (roll) no puede ser

controlada, ya que al estar los propulsores 5 y 6 alineados por el eje , es imposible ejercer momento

en ese eje, aun así sigue siendo de naturaleza estable debido a la distancia metacéntrica positiva del

ROV.

Figura 7: AC-ROV: a) Sistemas de referencia y b) fuerzas de propulsores en sentido positivo

El robot pesa 3 kg y tiene una forma de cubo con 203 mm de altura, 152 mm de longitud y 146 mm de

ancho. Para obtener las mediciones, nuestro prototipo está equipado con varios sensores: Una Unidad

de Medida Inercial, denominada 6 DOF IMU, determina el roll, el pitch y el yaw, junto con sus

respectivas velocidades y un sensor de presión permite hacer la medición de profundidad.

Para pre-procesar y transmitir los datos de los sensores al PC, se utiliza una placa de micro-controlador

(figura 8). En el PC, a partir de los datos recibidos, se calcula el estado del robot y el controlador

elabora una acción, fuerzas para ser ejercidas sobre el ROV, estas se traducen a las fuerzas ejercidas

por cada propulsor, posteriormente estas fuerzas se transforman en un nivel de voltaje a través de la

constante newton/volt, que equivaldrá a un número que la salida transformara en una señal de

Page 25: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

25

PC

PPrroocceessaammiieennttoo ddee DDaattooss yy

LLeeyy ddee CCoonnttrrooll

Drivers de los Motores

66 CCaannaalleess

BBiiddiirreecccciioonnaalleess

AC - ROV

MMiiccrroo--

ccoonnttrroollaaddoorr

ddee aabboorrddoo

BBiiddiirreecccciioonnaall

eess

PPrrooppuullssoorreess IIMMUU

SSeennssoorr ddee

PPrreessiióónn

Cable de 40 metros

12 hilos 4 hilos

SSeennssoorreess

modulación por ancho de impulso (PWM). Estas 6 señales son la que salen del hardware de control y se

transmiten a los motores del AC-ROV a través del cable de sujeción de 40 m [19], [20].

La figura 8 muestra una vista esquemática

que resume los diversos componentes de

hardware del vehículo y sus interacciones.

Hay varios parámetros físicos del robot que

necesitan ser definidos, no porque vallan a

ser modificados en este proyecto en el que

solo desarrollaremos un controlador, sino

porque para hacer una simulación más

coherente con la realidad es conveniente

tenerlos en cuenta en la modelización de la

planta.

Estos parámetros están relacionados con la

propia física de los accionadores, ya que,

según veremos la salida del controlador será

el vector de fuerzas y momentos que deben

ejercerse sobre el robot, pero físicamente

estas fuerzas y momentos están supeditadas

a las limitaciones en los accionadores.

La primera y más evidente es la propia

posición y orientación de los propulsores en

el robot: como ya se ha mencionado antes,

como consecuencia de la posición de los

propulsores 5 y 6, no se ejerce momento

alguno en el eje dejando in-actuado el

giro en este eje (roll) independientemente

de que el controlador demande esa acción.

De la misma forma el resto de fuerzas y momentos que actuaran sobre el robot se relacionaran con las

fuerzas ejercidas por los propulsores a través de la geometría del mismo. Estas sencillas relaciones

geométricas entre la fuerza ejercida por cada propulsor y las fuerzas

Figura 8: Esquema de la arquitectura del hardware

Figura 9: Relación entre fuerzas realizadas por los propulsores y el vector de fuerzas y

momentos ejercidos sobre el robot: a) planta (plano ) y b) perfil (plano )

Page 26: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

26

Figura 10: Curva de los propulsores. Histéresis

ejercidas sobre el ROV se pueden deducir del diagrama de la figura 9:

Teniendo en cuenta el sentido de las fuerzas, que , que es el valor de la

mitad de la diagonal de la sección del robot en el plano (b-frame) donde están los propulsores 1, 2,

3 y 4 y que es la longitud del ROV, se puede representar matemáticamente estas relaciones

geométricas en la denominada matriz de trasformación de los accionadores :

Tal que:

Es interesante destacar que en esa ecuación los dos vectores están descompuestos en el b-frame.

Además esta relación es de mucha importancia como veremos más adelante, ya que, evidencia que el

control de un grado de libertad puede implicar la acción de más de un accionador, y a su vez cada

accionador pueden estar efectuando acciones para controlar más de un grado de libertad

simultáneamente. A este fenómeno se le denomina acoplamiento, y puede representar un reto en el

momento en el que el control de un grado de libertad se vea afectado por el control de otro, ya que

representara un compromiso. Este efecto será especialmente notable durante el control simultáneo

de la profundidad y de la rotación en torno al eje y (pitch) ya que son dos grados de libertad

controlados exclusivamente por dos accionadores. Para hacer la simulación más realista es necesario

considerar este efecto.

En segundo lugar, otra serie de parámetros de los

accionadores que hay que tener en cuenta, son los

que nos dan una idea de la magnitud de la acción

ejercida por los mismos. Para entender este

modelado matemático de los propulsores es

importante tener en cuenta que en la simulación

el voltaje del motor de corriente continua será

representado por un número que representara la

modulación PWM de este voltaje. Como se puede

observar en la figura 10, existirá una constante

fuerza(N)/PWM (nº) (0.00625 aprox.), que será la

pendiente de la curva fuerza-Tensión (PWM) de

los propulsores en la zona lineal su importancia

reside en el hecho de que en el robot real la

fuerza ejercida por el propulsor es limitada, si se

les inyectase demasiado voltaje a los motores de corriente continua estos se quemarían por lo que

tendrá que existir un voltaje máximo. De la misma forma hay un voltaje mínimo por debajo del cual

existe una zona de mucha histéresis en el funcionamiento de los propulsores.

Esto sugiere que el funcionamiento de los propulsores deberá estar acotado en una determinada zona

denominada zona lineal (figura 10). Sin embargo a priori el controlador podría exigir la acción de

cualquier fuerza, por ello es importante, a la hora de modelar la planta para la simulación incluir al

Page 27: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

27

menos el límite superior de fuerza de los propulsores. De otra forma el controlador jugaría con ventaja

en la simulación al poder ejercer cualquier fuerza sobre el robot.

Por último, otro parámetro importante a tener en cuenta, es la dinámica del propulsor, sin entrar en

gran detalle, es intuitivo que ese sistema formado por un motor de continua y una hélice en contacto

con el agua tendrá su propio comportamiento dinámico, y que en principio este será más lento que el

controlador, por lo que puede limitar por ejemplo la velocidad de variación de la acción de control.

Es importante destacar este aspecto ya que, en nuestro proyecto, nuestra señal de control llevara

consigo acoplada la señal de alta frecuencia, el chattering, esta señal de alta frecuencia llegara a los

accionadores, pero allí será filtrada por la dinámica de los mismos, así que la fuerza real que ejercerán

sobre el robot no manifestara directamente esta señal sino una componente derivada de la misma, que

si bien puede provocar cierta inestabilidad no tanta como el propio chattering.

Aun así el chattering sigue representando una amenaza ya que la variación brusca del nivel tensión

aplicado a un motor de corriente continua puede producir corrientes de fuga a los rodamientos, sobre

intensidades en los devanados y un comportamiento brusco del mismo que dañaría su mecánica.

En conclusión, hay tres efectos derivados de la geometría y los aspectos técnicos de los propulsores que

es importante tener en cuenta para probar el comportamiento del controlador: el acoplamiento, la

fuerza máxima ejercida y la dinámica de los mismos. En este proyecto los modelaremos también,

además de la dinámica del robot, para elaborar un modelo realista de la planta, ya que un factor

determinante del SSMC son sus efectos sobre los accionadores.

Page 28: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

28

xd

x

x Mecánica u Accionadores u Controlador e

Figura 11: Esquema de la estructura del Sistema en bucle cerrado

2.2.2. Modelización del AC-ROV. Simplificaciones de la Planta.

En este apartado utilizaremos la teoría de la mecánica general de vehículos submarinos vista en el

apartado 2.1.1 y las características particulares de nuestro vehículo el AC-ROV y de sus accionadores

vistas en el apartado anterior 2.2.1 para elaborar un modelo matemático aproximado del robot para su

simulación en el entorno matlab simulink.

Este proceso de modelización de la planta lo dividiremos en dos partes, primero la modelización de la

dinámica del robot, y segundo la modelización del funcionamiento de los accionadores. De forma que

el sistema en bucle cerrado tenga la estructura del grafico de la figura 11:

Para realizar el modelo matemático de la mecánica del robot, realizaremos una serie de

simplificaciones a partir de las características particulares de nuestro robot. La característica que nos

permitirá despreciar un mayor número de términos será la velocidad a la que se desplaza nuestro robot,

que será muy baja.

Otra característica que nos permitirá simplificar bastante nuestras ecuaciones de la dinámica es la

posición de los centros de gravedad y de flotabilidad. Estos estarán alineados en la vertical con el

centro del sistema de referencia fijo en al cuerpo (b-frame), es más, este y el centro de gravedad

coincidirán.

Haciendo que el tensor de inercia del centro del origen del b-frame coincida con el tensor del centro

de gravedad , tal que . Además, también coinciden los ejes principales de inercia (ejes de

simetría del cubo por el que se aproxima el ROV) con los ejes del b-frame, anulando en este tensor de

inercia todos los términos que están fuera de la diagonal principal.

Partiendo de las ecuaciones 2.1.1.24 de la mecánica del sistema en 6 DOF [1]:

Simplificaremos los siguientes términos de acuerdo a las características particulares de nuestro robot

anteriormente mencionadas:

Planta

Page 29: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

29

MECANICA

1. En la matriz ; despreciaremos los términos de inercia de la masa añadida, es

decir, , luego . Ya que el robot es muy pequeño y se mueve a velocidad

bastante baja por lo que la masa de agua desplazada por el vehículo (masa añadida) será muy

pequeña, por lo que el término de inercia de la masa añadida se puede considerar despreciable

frente al término de inercia del móvil.

2. Despreciaremos todos los términos centrípetos o de coriolis tanto del vehículo como de la masa

añadía, es decir, , esta simplificación deriva directamente de la baja velocidad a la

que se mueve el ROV.

3. Despreciamos los términos cuadráticos no lineales del amortiguamiento, es decir, ,

de forma que, .

4. Por ultimo despreciaremos el vector de lastre y el vector de perturbaciones ambientales, y , respectivamente, ya que, nuestro ROV no tiene ningún sistema de lastre y será probado en

una piscina, de forma que no incluiremos efectos como corrientes u olas en la modelación de la

mecánica del robot. Como veremos más adelante, sí que incluiremos perturbaciones en la

simulación pero lo haremos de otra forma.

En conclusión, las ecuaciones anteriores de la mecánica quedaran de la siguiente forma [19], [20]:

Como ya se ha dicho varias veces, la implementaremos en el entorno matlab simulink para simular el

controlador. Para su implementación renombraremos de la siguiente manera: , y ,

y despejando sus derivadas nos quedara:

Donde y serán nuestros vectores de variables de estado de nuestro sistema, y la salida será el

vector de posición respecto del b-frame, es decir: . Este será el sistema equivalente a la

mecánica del ROV, para el desarrollo de la ecuación y el código de matlab de la mecánica de la planta,

Page 30: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

30

ver el apéndice 6. La figura resume el funcionamiento de este bloque:

En segundo lugar modelaremos el funcionamiento de los accionadores, este proceso será sencillo, ya

que usaremos solamente la matriz de transformación vista en el apartado 2.2.1 para modelar el

acoplamiento y la constante fuerza(N)/PWM(nº) vista en el mismo apartado para por medio de una

función de saturación acotar la acción máxima realizable por los accionadores. A mayores una función

de transferencia para simular el comportamiento dinámico de los accionadores. El funcionamiento del

bloque que simula el funcionamiento de los accionadores se corresponde con el esquema de la figura

12:

Figura 12: Esquema de funcionamiento de los accionadores

En el apéndice 7 se puede encontrar más información sobre el funcionamiento de los accionadores.

En conclusión, una serie de ecuaciones simularan el funcionamiento de los accionadores y otras el de la

planta, y estarán enlazadas entre sí. Es importante destacar que todas las variables que intervienen en

el modelo de los accionadores están referenciadas en el b-frame, la única variable que se referencia al

n-frame ya dentro del bloque de la planta es x1, ésta está siempre en el n-frame. Así pues, el modelo

del robot es coherente y se ajusta a la realidad de una forma muy aproximada.

ACCIONADORES

u u

Page 31: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

31

2.3. Desarrollo Matemático del Controlador

2.3.1. Linealización del sistema.

El primer paso de cara a elaborar un controlador en modo deslizante será en este caso realizar una

linealización del sistema para desarrollar el controlador a partir de esta. El objetivo será aproximar la

ecuación 2.2.2.2 del sistema equivalente de la dinámica de la planta:

Por un sistema lineal aproximado como el de la siguiente ecuación:

Donde las matrices A, B y C son matrices constantes.

Antes de empezar el desarrollo de esta aproximación lineal, es muy importante explicar el porqué de

esta linealización, porque como se vio en el apartado 2.1.2 de conocimientos previos de control

deslizante, se puede desarrollar un control en modo deslizante a partir de un sistema a controlar no

lineal. Pero como se menciona en los objetivos de este proyecto, se pretende reducir el coste

computacional del programa de control reduciendo la complejidad matemática del controlador, y así

reducir el tiempo de ejecución de cada ciclo del programa y por lo tanto el paso de integración, a

costa del conocimiento del sistema, para explotar los puntos fuertes del modo deslizante que como

hemos visto en el mismo apartado 2.1.2 serán robustez en el control de sistemas indeterminados y

aumento de la precisión cuando disminuye el paso de integración.

Otra razón importante para plantear el sistema a controlar de esta forma es que el resultado es un

sistema de grado uno, pudiendo así probar el controlador en modo deslizante de primer orden, porque

como hemos visto es condición necesaria que el sistema sea de grado relativo uno para que se pueda

aplicar el algoritmo de control deslizante, esto determinara la elección de incluir el vector de la

velocidad del robot en el b-frame como variables de estado del sistema [3].

Y la otra razón de peso es el cálculo de la matriz de deslizamiento S, en la literatura existen diversos

métodos para el cálculo de esta matriz como veremos más adelante, pero el más sencillo desde el

punto de vista de sintonizar el controlador exige que el sistema a partir del cual se desarrolla el

controlador sea lineal y a mayores también se simplifica si ciertas matrices del sistema son lineales.

A continuación una vez explicados los motivos, procederemos a explicar la aproximación lineal. Como

se puede intuir, linealizar el sistema de la ecuación 2.2.2.2 pasa por linealizar y posteriormente hacer

constantes las matices y [5], [15].

Page 32: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

32

Para empezar haremos constante la matriz es transformarla en una matriz equivalente constante

. El primer paso en este proceso seria linealizar la matriz , que como sabemos es función no lineal

de la orientación, linealizarla pasa por hacer desaparecer los senos y cosenos, y posteriormente

intentar hacerla constante. Siguiendo los pasos mostrados a continuación obtendríamos varias

aproximaciones de la matriz J, cada cual menos precisa pero más sencilla de calcular.

1. En principio tenemos la matriz vista en el apartado 2.1.1, es decir, completa. Si aplicamos

la suposición de que el ángulo (roll) de rotación alrededor de el eje es cero ( ), y que

el ángulo (pitch) alrededor del eje es muy pequeño ( ), podríamos obtener la matriz

siguiente:

Esta suposición sería muy realista ya que nuestro robot no tendrá variaciones en el roll por ser

estable metacéntricamente y por lo mismo la variación máxima que podrán causar los

accionadores en el pitch será de unos 15º grados. Además es considerablemente más fácil de

calcular que la matriz completa . Aun así no es lineal, ni mucho menos constante.

2. El siguiente paso en la simplificación de la matriz J será linealizarla. Para ello lo primero

estableceremos un convenio sobre la variación del yaw, este consistirá en lo siguiente:

El yaw solo podrá variar desde a , de forma

que cumpla la siguiente condición:

Es decir que si el robot quisiese girar por ejemplo 225º el

ángulo tomado por el controlador seria -135º. (Figura 13)

Esta limitación se establecerá con un bucle if dentro del

bloque del controlador (lo cual añade un leve coste

computacional).

Bajo esta limitación aproximaremos el coseno del yaw por una función lineal y el seno del yaw

lo consideraremos nulo al igual que el pitch, tal que:

Figura 13: Variación del yaw

Page 33: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

33

Bajo estas condiciones se desprecian los elementos fuera de la diagonal principal y hacer que

los de la diagonal principal sean función lineal del yaw ( ).

Así la matriz resultante será:

La función que utilizamos para sustituir el coseno del yaw es lineal y se corresponde con las

rectas que más se aproximan a la curva del coseno. Podríamos aproximar el seno del yaw de la

misma manera pero se podría comprobar que para esta aplicación, el hecho de que esta matriz

J sea diagonal facilita el posterior cálculo de la matriz S de deslizamiento.

Así pues, en este caso consideramos

nulo el seno del yaw (aunque no sea

una buena aproximación). A pesar

de que esta matriz sí es lineal,

todavía no es constante, no obstante,

es una buena solución intermedia,

ya que, elimina las funciones

trigonométricas sin añadir

demasiada incertidumbre en los

elementos de la matriz principal.

3. Y para terminar, la siguiente simplificación que podríamos hacer, es suponer despreciable las

variaciones en el pitch y en el yaw, , es decir, que el n-frame y el b-frame fueran

paralelos en todo momento (nada más lejos de la realidad) de esta forma y con se puede intuir

la matriz anterior nos quedaría como la identidad . Esta es muy sencilla de calcular y es

constante para todo .

Pero tiene un problema: acumula mucha incertidumbre para los términos de la diagonal

principal, ya que, aproxima el coseno de por 1 siempre, y esto provoca bastante error cuando

está en el intervalo

ya que el coseno será negativo. Para solucionar este problema

podríamos introducir una pequeña corrección que no represente demasiado coste de

computación más. Haciendo que en este intervalo el coseno valga -1. Luego la matriz J se

aproximara por:

Figura 14: Aproximación seno y coseno en

Page 34: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

34

Así aproximamos a groso modo todos los elementos de la diagonal principal a través de una

matriz lineal y casi constante (constante por intervalos).

Es difícil saber hasta qué punto compensa simplificar esta matriz a costa de la precisión, ya que, a

veces, por las características del programa y del micro controlador, una matriz más sencilla no implica

necesariamente menor coste computacional para operar con ella, aunque generalmente sea así.

En teoría de programación se define como un algoritmo eficiente aquel que tiene siempre menos coste

computacional que otro que no es eficiente independientemente del sistema en el que se ejecute el

algoritmo. La expresión que define la eficiencia de un algoritmo es función del tamaño del conjunto de

datos de entrada y, el tamaño de dicho conjunto a su vez puede ser función de uno o varios parámetros.

Pero no es objetivo de este proyecto evaluar el coste computacional de nuestro algoritmo así que solo

nos quedaremos con unas premisas básicas para cuantificar este coste:

Que las matrices sean diagonales tiene menos coste que si no lo son.

Que las matrices sean función lineal de una variable tiene menos costo que si son función no

lineal de varias variables.

Y por supuesto, que si son constantes tienen todavía menor coste.

Cuanta mayor cantidad de datos tengan las matrices más coste tendrá el algoritmo.

Como uno de los objetivos de este proyecto es probar la robustez del controlador frente a la

incertidumbre del modelo nos vamos a quedar con la última opción, suponiendo que es la que menor

coste computacional tiene (podría demostrarse que así es), luego finalmente elegiremos como

aproximación de la matriz de la ecuación correspondiente a la simplificación numero 3:

A continuación haremos un desarrollo parecido para hacer constante el vector . Este será:

Una buena ventaja en este caso es que el vector no es función de yaw ( ) y como sabemos del

desarrollo anterior, los ángulos del pitch ( ) y el roll ( ) pueden suponerse muy pequeños de forma

que:

Así ya podemos linealizar fácilmente la matriz sin cometer demasiado error, pero además por las

características constructivas de nuestro robot, el centro de flotabilidad y el de gravedad están

alineados en vertical y además el centro de masas lo hacemos coincidir con el origen del sistema de

referencia fijo al cuerpo (b-frame), así pues:

Page 35: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

35

Entonces el vector se puede aproximar sin introducir demasiada incertidumbre por:

De cara a linealizar el sistema, es decir dejarlo como el de la ecuación 2.3.1.1, nos interesa expresar

este vector como combinación lineal de cierto vector y cierta matriz con el vector :

De forma que:

Así, con la linealización de la matriz J y el vector g podemos expresar el sistema de la ecuación 2.2.2.2,

por otro lineal representado por:

Si agrupamos vectores y matrices de la siguiente forma:

Podemos expresar el sistema como un sistema lineal como el de la ecuación 2.3.1.1:

Page 36: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

36

2.3.2. Desarrollo del Controlador de 1er Orden

A partir del sistema lineal de la ecuación 2.3.1.1 y recordando lo visto en el apartado 2.1.2 de

introducción al control deslizante no nos será difícil desarrollar la ecuación del controlador. En primer

lugar definimos la superficie de deslizamiento:

Y en este punto introducimos la matriz de deslizamiento y el vector de error de estado , estos dos

parámetros serán los únicos conceptos novedosos que vamos a definir en este apartado.

Para empezar: le vector representará el error de estado, es decir la diferencia entre el vector de

variables de estado real y el deseado:

De la misma forma que el vector el vector de variables de estado deseadas será:

De esta manera es evidente, que dentro de nuestro controlador habrá que desarrollar también un

módulo para el cálculo de este vector a partir de la trayectoria deseada, este módulo es muy sencillo

pero dado que nos hará falta tanto para el controlador de primer orden como para el de segundo orden

no lo hablaremos de él en este apartado, si se desea información de en qué consiste consultar el

apéndice 8. Es conveniente hacer un apunte sobre la dimensión del vector de variables de estado

deseado, como es obvio al igual que el vector de variables de estado del sistema también será de

dimensión 12x1 y como consecuencia el vector de error también lo será.

En segundo lugar: la matriz será el parámetro que introduzca los polos deseados del sistema en bucle

cerrado, por lo que es un parámetro de vital importancia en el desarrollo del controlador. En realidad

en la literatura se pueden encontrar muchos métodos para el cálculo y desarrollo de la matriz S,

aunque los dos más importantes son:

Minimización cuadrática: Este método consiste en calcular la matriz a partir de otra matriz

, dicha matriz es una matriz de ponderación de estado, su función viene siendo darle más

fuerza al control de unas determinadas variable de estado en relación a otras en función de las

características deseadas de salida de nuestro sistema. Es decir, le da prioridad a reducir el

error de unas variables con respecto a otras según se decida.

Por ejemplo en nuestro sistema, la posición del robot es decir el seguimiento de la trayectoria

tiene prioridad sobre la velocidad del mismo, aunque esta también sea un conjunto de

variables de estado, así siempre y cuando no se comprometa la estabilidad del control se

pretenderá darle prioridad a reducir el error de la posición y orientación que a reducir el error

de la velocidad, sobre todo porque el cálculo de la velocidad deseada termina siendo una

aproximación de la real que se hace a partir de la evolución de la posición y orientación, a

causa de la incertidumbre introducida por aproximación de la matriz .

Con este método se puede realizar un control bastante robusto, pero el algoritmo de cálculo de

S a partir de Q puede ser bastante pesado e introducir un coste computacional alto. Es por ello

que desecharemos esta opción en pos de la siguiente [3].

Page 37: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

37

Asignación robusta de auto-estructura: Este método consiste en elegir los auto-valores (polos)

deseados del sistema en bucle cerrado y utilizar un método de cálculo específico para calcular

la matriz S. Este método es bastante más sencillo cuando el sistema a controlar se supone

lineal de la forma:

Por lo tanto para el cálculo de nuestra matriz S despreciaremos la matriz C. Además este

método se ve beneficiado de simplificaciones importantes cuando las matrices A y B tienen

estructuras diagonales (están formadas por matrices diagonales como se puede ver en el a final

del apartado 2.3.1). Se simplifica el método hasta el punto que la matriz S acabara

dependiendo solamente de los auto-valores deseados y su cálculo será tan trivial como se

muestra a continuación [3]:

Si y son los vectores de polos deseados del sistema, tal que:

Entonces será igual:

Tal que:

De modo que la opción que elegiremos para el cálculo de la matriz S será esta, porque a pesar

de que pueda ser un método menos robusto, tiene un coste computacional muy bajo.

Una vez definidos el vector de error y la matriz de deslizamiento continuaremos con el desarrollo del

controlador. Como hemos visto la variable de deslizamiento será (vectores y matrices junto con sus

dimensiones):

Derivando, como la matriz es constante:

Page 38: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

38

Y despejando obtendremos la ecuación del control equivalente:

Como se puede observar no es exactamente igual a la ecuación resultante de la teoría general de

control deslizante para sistemas de tipo lineal (ecuación 2.1.2.11). Añadiendo el control discontinuo la

ecuación completa del controlador en modo deslizante de primer orden nos quedara [3]:

Es necesario añadir que la parte fundamental del control es precisamente el control discontinuo, es lo

que le da al controlador su robustez frente a todas las incertidumbres del resto del algoritmo de

control. La ganancia del control discontinuo , es junto con los polos deseados en lazo cerrado el

parámetro que sintonizaremos en función de las necesidades para adecuar completamente nuestro

controlador a la aplicación práctica, y es también el parámetro que dimensiona el temido chattering,

cuanto mayor sea la ganancia mayor será la magnitud del chattering.

Sabiendo las dimensiones de los demás parámetros que interviene en la ecuación, es fácil intuir que

esta ganancia del control discontinuo será una matriz diagonal 6x6 que contendrá en los elementos de

la diagonal principal las ganancias de cada variable de control.

En la práctica haremos todas nuestras pruebas con la función tangente hiperbólica para probar la

eliminación del chattering así pues la función del algoritmo de control será:

Donde k será un escalar que determinara la

pendiente del cambio de signo, como podemos

ver en la gráfica de la izquierda donde se muestra

la función tangente hiperbólica, si la contante k

tiende a infinito la función tangente hiperbólica

se asemeja más a la función discontinua ,

mientras que si k se hace pequeño (siempre

mayor que cero) le cambio de signo será más laxo,

lo cual tampoco es demasiado conveniente ya que

se pierde robustez.

Para concluir este apartado, comprobamos que,

con este controlador, se cumplen los objetivos

que justifican la linealizacion del sistema:

Con un aumento moderado de la incertidumbre del modelo del sistema a partir del cual

elaboraremos el controlador reducimos bastante el coste o complejidad computacional.

-5 -4 -3 -2 -1 0 1 2 3 4 5-1.5

-1

-0.5

0

0.5

1

1.5

Figura 15: Evolución tanh(k·x) para valores de k

Page 39: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

39

El sistema será a controlar será de grado relativo uno, ya que, como vimos en el apartado 2.1.2

de introducción al control deslizante, cumple que:

Ya que:

Por lo que no solo se podrá aplicar el algoritmo de control de grado uno, sino que, al aplicar el

algoritmo de control de grado dos se observara a la reducción del chattering.

El cálculo de la matriz de deslizamiento es muy sencillo e introduce una complejidad

computacional mínima a mayores de la del controlador.

Page 40: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

40

2.3.3. Desarrollo del Controlador de 2º Orden

El controlador en modo deslizante de segundo orden no toma prácticamente información del sistema

para elaborar la señal de control su desarrollo es bastante teórico, para ilustrarlo continuaremos con la

teoría sobre el control deslizante de segundo orden que vimos en el apartado 2.1.2. Si recordamos en

dicho apartado planteábamos la conclusión general de los modos deslizantes de segundo orden [2].

Como ahora sabemos que en nuestro caso en particular, el sistema a controlar será de grado relativo uno podemos particularizar la citada conclusión. De forma que, asumiendo las siguientes funciones están acotadas:

En una pequeña vecindad de la región el sistema estará descrito por:

Esto quiere decir que si consideramos las coordenadas locales e , después de una apropiada fase de inicialización (transitorio), el problema de control en modo deslizante de segundo orden es equivalente al problema de estabilización en tiempo finito del sistema indeterminado de segundo orden:

Donde puede ser inmensurable pero debe haber posibilidad de saber su signo y y son funciones desconocidas per que cumplen las condiciones de la ecuación 2.3.3.1 [9].

Se podría pensar que no es difícil obtener la segunda derivada de la superficie de deslizamiento a partir de un sistema lineal constante como el que utilizamos para desarrollar nuestro controlador (ecuación 2.3.1.1) sin embargo este sistema es una aproximación de real, y hacer su derivada simbólicamente añadiría también más incertidumbre. La ecuación de esta derivada seria:

En este caso:

Pero como se ha dicho, de este modo la incertidumbre aumentaría. Otra forma seria hacer

directamente la derivada numérica de la función pero como se menciona en el apartado

2.1.2 al diferenciar se incrementa exponencialmente el error cometido en la medida . Ambos métodos añadirían coste computacional al controlador [6].

Page 41: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

41

Para curarnos en salud utilizaremos como algoritmo de control el algoritmo “Super-Twisting”, ya que,

este solo necesita un del conocimiento de y para elaborar la ley de control.

Este algoritmo ha sido desarrollado específicamente para sistemas de grado relativo uno, con la función de eliminar el chattering. En este caso las trayectorias sobre el plano de deslizamiento vienen caracterizadas por una torsión alrededor del origen como se puede ver en la figura 16.

La ley de control está compuesta de dos términos, el primero está definido por medio de su derivada que es una función discontinua mientras que el segundo es una función continua de la variable de deslizamiento.

Figura 16: Algoritmo “Super-twisting” trayectoria de fase

El algoritmo de control estará definido, por lo tanto, por la siguiente función de control:

Tal que, las constantes que intervienen en el algoritmo de control cumplen las condiciones para la convergencia en tiempo finito a la variedad de deslizamiento [4], [6]:

Page 42: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

42

El cálculo de controlador se reduce al cálculo de las constantes que cumplirán las citadas condiciones

de convergencia que dependerán de los límites de la variable de deslizamiento ( ) y de su segunda

derivada ( ). A través de las ecuaciones 2.3.3.4 y 2.3.3.5 se puede tener una noción aproximada

de los límites de estas funciones aunque al final la sintonización del controlador se hará de forma

empírica.

Otro detalle a tener en cuenta es que en la ecuación del controlador (2.3.3.7) la primera parte del

control, , esta referenciada como un control unitario, ya que el control se resetea cuando la ley de

control es mayor que uno (en nuestro caso, 1N), pues bien, este valor también se puede ajustar se

puede ajustar a un control máximo de forma que la ley de control no pueda para de un determinado

valor. Si no fuese necesario acotar la ley de control y supusiéramos , entonces la ley de control

se puede simplificar como:

En conclusión, gracias a este algoritmo concreto podemos utilizar el modo deslizante de segundo orden

y ahorrarnos la incertidumbre que arrastraríamos de derivar la variable de deslizamiento [4], [6], [9].

Page 43: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

43

3. Validación del sistema

3.1. Simulación del Controlador

Una vez definido perfectamente tanto nuestro controlador como nuestra planta y la forma en que será

modelada matemáticamente, procedemos a la simulación del sistema conjunto en bucle cerrado en el

entorno matlab-simulink. En primer lugar mostraremos el esquema de simulación.

Aquí se ven claramente los 4 bloques fundamentales de los que hablamos en los apartados anteriores.

Notar que si el generador de trayectorias esta fuera del controlador es porque la trayectoria generada

será la misma para cualquier controlador de forma que podamos cambiar este módulo sin afectar a la

trayectoria deseada y viceversa. De la misma forma el bloque de accionadores también podría estar

dentro de la planta pero sus variables tanto de entrada como de salida son más accesibles para su

visualización de esta forma.

Las variables que se visualizaran con respecto al tiempo para evaluar la calidad del controlador serán:

Vector de estado

Vector de estado deseado

Variable de deslizamiento

Derivada de la variable de deslizamiento

Fuerzas ejercidas sobre el robot

Valor numérico PWM que de los accionadores

Ley de control de controlador

A partir de los datos obtenidos de estas variables de salida se elaboraran las siguientes gráficas.

Traza: vector de posición y orientación real frente a vector de posición y orientación deseada:

sirve para evaluar la calidad del trazado de la trayectoria.

Figura 3.1: Diagrama de bloques en simulink

Page 44: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

44

Control: ley de control del controlador, frente a vector de fuerzas aplicado al robot, sirve para

evaluar el chattering y el comportamiento de los accionadores

PWM: Valor numérico que representa el potencial transmitido a cada propulsor y que se supone

directamente proporcional a la fuerza ejercido por el mismo, sirve para ver fenómenos de

acoplamiento entre propulsores

Variable de deslizamiento frente a su derivada: grafico XY que muestra la relación entre

ambas, sirve para observar independientemente del tiempo la convergencia en durante el

transitorio a la superficie de deslizamiento y de ahí al punto de equilibrio.

Evolución temporal de la variable de deslizamiento y de su derivada: sirven para ver la

variabilidad de ambas y como convergen a través de la superficie de deslizamiento al error nulo

(punto de equilibrio) a lo largo del tiempo.

Traza de velocidades: Representa la velocidad real del sistema frente a la deseada. No es

demasiado útil, ya que el objetivo del control es seguir la trayectoria.

Para ponderar los resultados de cada ensayo se mostraran aquellas graficas que sean necesarias de las

anteriores, nunca serán todas.

En esta sección presentaremos en primer lugar el ensayo nominal pero sin la parte discontinua del

control, después añadiremos la parte discontinua con la función y después con la función ;

todo ello como parte del proceso de sintonización del controlador.

Posteriormente con el controlador ya sintonizado y con la función mostraremos los distintos

ensayos para testar su robustez (perturbaciones, ruido blanco e incertitudes) con la misma

sintonización del controlador y analizaremos los resultados obtenidos.

Todos los ensayos serán realizados con un tiempo de ejecución de 100 ms, se hace así para adecuar la

simulación a la computación real del robot, aunque se podría hacer con un tiempo de ejecución y como

sabemos el resultado es mejor.

3.1.1. Resultados de Simulación con Algoritmo de 1er Orden

Ensayos nominales:

Sin control discontinuo

En primer lugar, y con el fin de sintonizar los polos deseados del sistema, realizaremos una serie de

ensayos sin la parte del control discontinuo, o lo que es lo mismo, con una ganancia de la parte

discontinua igual a cero ( ).

Con esta técnica variamos los polos hasta conseguir un buen resultado para los vectores de polos.

Con estos polos, en la practica el controlador puede ser demasiado rápido lo que lo conduzca a cierta

inestabilidad, sin embargo, en simulación da el resultado que deseamos, ya que, luego se compensará

cualquier inestabilidad gracias a la acción discontinua.

Page 45: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

45

Como podemos observar en la siguiente figura, se produce una inestabilidad en la traza del yaw ( ), lo

que provoca a su vez por acoplamiento entre accionadores una inestabilidad en el desplazamiento

lateral ( ).

Además observamos que el control es incapaz de asegurar el buen trazado del pitch ( ). Estos

problemas se resolverán con la inclusión del control discontinuo. También se observa es la figura 3.2

cierta perturbación en el desplazamiento vertical ( ) debido al acoplamiento con el pitch ( ), recordar

que, y comparten los mismos accionadores.

En la figura 3.3 se muestran las señales de ley de control y fuerzas aplicadas al robot, lo más

destacable de este ensayo es la ausencia de chattering debido a la ausencia de control discontinuo y

también la limitación que ejercen los accionadores en la magnitud de la ley de control y la velocidad

de variación de la misma.

0 100 200 300 400 500 600 700 8000

1

2

3

4

5

Time(seg)

x(m

)

x

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-100

-50

0

50

Time(seg)

y(m

)

y

0 100 200 300 400 500 600 700 8000

2

4

6

Time(seg)

z(m

)

z

0 100 200 300 400 500 600 700 800-6

-4

-2

0

2x 10

-23

Time(seg)

psi(ra

d)

0 100 200 300 400 500 600 700 800-0.4

-0.2

0

0.2

0.4

Time(seg)

theta

(rad)

0 100 200 300 400 500 600 700 800-2

-1

0

1

2

Time(seg)

phi(ra

d)

Figura 3.2: Traza de la posición y orientación del robot. Sin control discontinuo

0 100 200 300 400 500 600 700 800-20

0

20

40

Time(seg)

X(N

)

x

Controller´s action

Robot´s action

0 100 200 300 400 500 600 700 800-3

-2

-1

0

1

Time(seg)

Y(N

)

y

Controller´s action

Robot´s action

0 100 200 300 400 500 600 700 800-1

0

1

2

Time(seg)

Z(N

)

z

0 100 200 300 400 500 600 700 800-0.02

-0.01

0

0.01

0.02

Time(seg)

M(N

·m)

0 100 200 300 400 500 600 700 800-0.1

0

0.1

0.2

0.3

Time(seg)

N(N

·m)

Figura 3.3: Ley de control y fuerzas sobre robot. Sin control Discontinuo

Page 46: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

46

Con control discontinuo, función sign()

En esta serie de ensayos, buscaremos una ganancia del control discontinuo que garantice que el

conjunto del controlador asegure el buen trazado de la trayectoria. Concretamente usaremos en este

apartado la función discontinua para observa los efectos del chattering. Con esta función la

ganancia óptima que hemos obtenido es:

Sera la misma que utilizaremos también después para el controlador con la función . Si más los

resultados en cuanto al trazado se muestran en las siguientes figuras:

En la figura 3.4 se puede observar cómo se corrigen los problemas de estabilidad en el yaw y se mejora

sustancialmente la traza del pitch. Para ello se ha tomado una mayor ganancia discontinua en estos dos

grados de libertad, además, en estos, el chattering en el control repercute también en cierta vibración

en el movimiento del robot, poniendo de manifiesto que no es solo pernicioso para los accionadores

sino para todo el robot.

Otro aspecto que podemos observar es como en las trazas del desplazamiento frontal ( ) y lateral ( )

ciertas oscilaciones justo en los momentos en los que se dan los picos de control del yaw ( ).

En la figura 3.5 se pueden observar la ley de control y las fuerzas sobre el robot, como la cota del

chattering es mayor a mayor ganancia discontinua (pitch y yaw) y como los accionadores filtran y

limitan en parte el chatering reduciendo la discontinuidad en el control. En la figura 3.6, podemos

observar en más detalle la señal de chattering.

0 100 200 300 400 500 600 700 800-2

0

2

4

6

Time(seg)

x(m

)

x

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-6

-4

-2

0

2

Time(seg)

y(m

)

y

0 100 200 300 400 500 600 700 800-2

0

2

4

6

Time(seg)

z(m

)

z

0 100 200 300 400 500 600 700 800-0.04

-0.02

0

0.02

0.04

Time(seg)

psi(ra

d)

0 100 200 300 400 500 600 700 800-0.4

-0.2

0

0.2

0.4

Time(seg)

theta

(rad)

0 100 200 300 400 500 600 700 800-2

-1

0

1

2

Time(seg)

phi(ra

d)

Figura 3.4: Traza de la posición y orientación del robot. Control discontinuo. Función sign.

Page 47: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

47

Pero sobre todo donde más afecta y más pernicioso es el chattering es en la señal de entrada a los

accionadores, a continuación mostramos el valor numérico que se corresponde al nivel de tensión de

entrada en los motores de los propulsores.

220 221 222 223 224 225 226

-6

-4

-2

0

2

4

6

Time(seg)

N(N

·m)

Controller´s action

Robot´s action

Figura 3.6: Detalle del chattering

0 100 200 300 400 500 600 700 800-40

-20

0

20

40

Time(seg)

X(N

)

x

0 100 200 300 400 500 600 700 800-40

-20

0

20

40

Time(seg)

Y(N

)

y

0 100 200 300 400 500 600 700 800-100

-50

0

50

100

Time(seg)

Z(N

)

z

0 100 200 300 400 500 600 700 800-10

-5

0

5

10

Time(seg)

M(N

·m)

0 100 200 300 400 500 600 700 800-10

-5

0

5

10

Time(seg)

N(N

·m)

Controller´s action

Robot´s action

Figura 3.5: Ley de control y fuerzas sobre robot. Control Discontinuo. Función sign.

Page 48: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

48

Como se puede observar la distorsión provocada por el chattering es altísima, en el siguiente apartado

probaremos la primera solución propuesta para evitarlo.

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T1(P

WM

)

thruster1

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T2(P

WM

)

thruster2

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T3(P

WM

)

thruster3

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T4(P

WM

)

thruster4

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T5(P

WM

)

thruster5

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)T

6(P

WM

)

thruster6

Figura 3.7: Señal de control de los accionadores. Control Discontinuo. Función sign.

Page 49: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

49

Con control discontinuo, función tanh()

En este apartado usaremos la función en el lugar de , para el tiempo de paso que

estamos utilizando en esta simulación bien nos vale tomar , para algunas aplicaciones quizá nos

interese hacer más rápido el cambio de signo, pero para la nuestra es suficientemente rápido, además

de que el objetivo principal es eliminar el chattering y suavizar en la medida de lo posible la señal de

entrada a los accionadores.

Como se ve en la figura 3.8 la traza es seguida perfectamente por el robot, sin presentar las

vibraciones que se observaban en el ensayo anterior con la función sign(), este trazado más suave evita

problemas mecánicos y además cumple perfectamente las especificaciones de robustez y estabilidad.

A continuación en la figura 3.9 y 3.10 se muestran la señal de control frente a las fuerzas aplicadas y la

señal de entrada a los accionadores, que como se observa está limpia de la señal de chattering, este es

uno de los objetivos, utilizar el control deslizante eliminado el chattering. Una vez demostrado que los

accionadores no corren riesgo, podemos realizar las pruebas de robustez del controlador.

0 100 200 300 400 500 600 700 8000

2

4

6

Time(seg)

x(m

)

x

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-6

-4

-2

0

2

Time(seg)

y(m

)

y

0 100 200 300 400 500 600 700 8000

2

4

6

Time(seg)

z(m

)

z

0 100 200 300 400 500 600 700 8000

5

10x 10

-6

Time(seg)

psi(ra

d)

0 100 200 300 400 500 600 700 800-0.4

-0.2

0

0.2

0.4

Time(seg)

theta

(rad)

0 100 200 300 400 500 600 700 800-2

-1

0

1

2

Time(seg)

phi(ra

d)

Figure 3.8: Traza de la posición y orientación. Control discontinuo. Función tanh.

Page 50: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

50

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T1(P

WM

)

thruster1

0 100 200 300 400 500 600 700 800-100

0

100

200

Time(seg)

T2(P

WM

)

thruster2

0 100 200 300 400 500 600 700 800-200

-100

0

100

Time(seg)

T3(P

WM

)

thruster3

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T4(P

WM

)

thruster4

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T5(P

WM

)

thruster5

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T6(P

WM

)

thruster6

Figura 3.10: Señal de Control de los accionadores. Control Discontinuo. Función tanh.

0 100 200 300 400 500 600 700 800-2

0

2

4

Time(seg)

X(N

)x

0 100 200 300 400 500 600 700 800-2

-1

0

1

Time(seg)

Y(N

)

y

0 100 200 300 400 500 600 700 800-1

0

1

2

Time(seg)

Z(N

)

z

0 100 200 300 400 500 600 700 800-0.2

0

0.2

Time(seg)

M(N

·m)

0 100 200 300 400 500 600 700 800-0.01

0

0.01

Time(seg)

N(N

·m)

Controller´s action

Robot´s action

Figura 3.9: Ley de control y fuerzas sobre robot. Control discontinuo. Función tanh.

Page 51: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

51

Pruebas de Robustez

Robustez frente a perturbaciones.

Para testar la robustez frente a perturbaciones introducimos solamente una perturbación en cada

grado de libertad, de aproximadamente un 20% del desplazamiento máximo en cada uno. Los instantes

de cada perturbación serán aleatorios. En este ensayo observamos una recuperación rápida del valor

del estado deseado sin inestabilidades ni oscilaciones, la respuesta dinámica es, por lo tanto, bastante

buena.

En la figura 3.11 correspondiente al trazado, podemos observar como la velocidad a la que se corrige la

perturbación es mucho mayor en los grados de libertad que son controlados por un control discontinuo

más potente, es decir, cuya ganancia del control discontinuo es más elevada.

Mostraremos también, a continuación la gráfica que muestra el control, donde podemos ver cómo

reacciona el controlador ante las perturbaciones, con una acción rápida potente y otra más leve y

duradera, como sea los accionadores filtran este pico, aun así les repercutirá en un pico de tensión en

los motores. Pero en conclusión podemos afirmar que la respuesta del controlador frente a

perturbaciones es robusta.

0 100 200 300 400 500 600 700 8000

2

4

6

Time(seg)

x(m

)

x

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-6

-4

-2

0

2

Time(seg)

y(m

)

y

0 100 200 300 400 500 600 700 8000

2

4

6

Time(seg)

z(m

)

z

0 100 200 300 400 500 600 700 800-0.02

0

0.02

0.04

0.06

Time(seg)

psi(ra

d)

0 100 200 300 400 500 600 700 800-0.4

-0.2

0

0.2

0.4

Time(seg)

theta

(rad)

0 100 200 300 400 500 600 700 800-2

-1

0

1

2

Time(seg)

phi(ra

d)

Figura 3.11: Traza de la posición y orientación. Robustez frente a perturbaciones.

Page 52: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

52

Robustez frente a ruido blanco en la medida del estado

En este apartado testaremos la robustez del controlador cuando la señal del vector de estado viene con

ruido, esto es muy típico ya que el estado se calcula a partir de las medidas de los sensores del robot, y

estas medidas suelen contener ruido que se puede eliminar con filtros, pero no siempre es

computacionalmente eficiente la utilización de un filtro para limpiar la señal del vector de variables de

estado.

Este ruido blanco en la medida se trasladara tambien al error y por lo tanto tambien a la superficie de

deslizamiento y a traves de ella a la ley de control. Como se observa en esta ultima grafica esto

0 100 200 300 400 500 600 700 800-15

-10

-5

0

5

Time(seg)

X(N

)

x

0 100 200 300 400 500 600 700 800-15

-10

-5

0

5

Time(seg)

Y(N

)

y

0 100 200 300 400 500 600 700 800-10

0

10

20

30

Time(seg)

Z(N

)

z

0 100 200 300 400 500 600 700 800-2

0

2

4

6

Time(seg)

M(N

·m)

0 100 200 300 400 500 600 700 800-6

-4

-2

0

2

Time(seg)

N(N

·m)

Controller´s action

Robot´s action

Figura 3.12: Ley de control y fuerzas sobre robot. Robustez frente a perturbaciones.

0 100 200 300 400 500 600 700 800-10

-5

0

5

10

Time(seg)

x(m

)

x

0 100 200 300 400 500 600 700 800-6

-4

-2

0

2

Time(seg)

y(m

)

y

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-2

0

2

4

6

Time(seg)

z(m

)

z

0 100 200 300 400 500 600 700 800-0.2

-0.1

0

0.1

0.2

Time(seg)

psi(r

ad)

0 100 200 300 400 500 600 700 800-0.4

-0.2

0

0.2

0.4

Time(seg)

thet

a(ra

d)

0 100 200 300 400 500 600 700 800-2

-1

0

1

2

Time(seg)

phi(r

ad)

Figura 3.13: Traza de la posición y orientación. Robustez frente a ruido blanco en la medida.

Page 53: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

53

provoca perturbaciones puntuales al añadir el efecto de acoplamiento, concretamente perturbaciones

en el desplazamiento frontal(x) y lateral(y) provocados por el giro en el yaw.

En este caso mostraremos la comparacion entre la superficie de deslizamiento y su primera derivada

con respecto al tiempo, para ver que el ruido transmitido a la superficie de deslizamiento se

incrementa con creces en su derivada, lo cual es normal, al derivar una señal de alta frecuencia. En

este momento podemos predecir que los modos deslizantes que utilices las deriadas sucesivas de la

superficie de deslizamiento seran muy vulnerables frente al ruido blanco.

Las señales de control serán similares a las anteriores solo que con la adicción del ruido blanco,

mostramos a continuación la señal de entrada en los accionadores para ver cómo afecta en esta el

ruido añadido, con el fin de comparar después esta grafica con la del controlador de segundo orden

frente a ruido blanco.

0 100 200 300 400 500 600 700 800-1000

-500

0

500

1000

Time(seg)

sliding surface and its derivative vs. time

0 100 200 300 400 500 600 700 800-1000

-500

0

500

1000

Time(seg)

sliding surface and its derivative vs. time

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

sliding surface and its derivative vs. time

0 100 200 300 400 500 600 700 800-5

0

5

Time(seg)

sliding surface and its derivative vs. time

0 100 200 300 400 500 600 700 800-1000

-500

0

500

1000

Time(seg)

sliding surface and its derivative vs. time

0 100 200 300 400 500 600 700 800-1000

-500

0

500

1000

Time(seg)

d

Figura 3.14: Superficie de deslizamiento y derivada temporal. Robustez frente a ruido blanco.

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T1(

PW

M)

thruster1

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T2(

PW

M)

thruster2

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T3(

PW

M)

thruster3

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T4(

PW

M)

thruster4

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T5(

PW

M)

thruster5

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T6(

PW

M)

thruster6

Figura 3.15: Señal de Control de los accionadores. Robustez frente a ruido blanco

Page 54: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

54

Robustez frente a incertidumbres en los paramentos de controlador.

En estos ensayos testaremos el controlador frente a incertitudes en los parámetros, esto quiere decir

que los parámetros que definen la dinámica de la planta como pueden ser la masa del robot o su

flotabilidad, no son exactamente los que considerara el controlador para elaborar la ley de control. Se

han hecho diversidad de ensayos en los que se ha variado parámetros tan diversos como el

amortiguamiento lineal, el momento de inercia o las dimensiones del robot, pero los parámetros para

el cual se experimenta una mayor vulnerabilidad a su incertidumbre es la relación entre la masa y la

flotabilidad del robot. Inicialmente suponemos que el robot está equilibrado es decir, la fuerza que lo

mantiene a flote es la misma que su peso por lo que se mantiene estable en el agua, sin embargo, para

testar su robustez vamos a alterar su flotabilidad de forma que este flote y que sin embargo el

controlador no lo sepa, es decir, que siga suponiendo el sistema equilibrado.

Para ello introducimos en el instante inicial un aumento de un del parametro de flotabilidad en la

planta, a continuacion, en la figura 3.16, observamos que como consecuencia de de este cambio se ven

afectados los estados correspondientes a la profuncidad y al pitch.

En este momento la robustez frente a incertidumbres en la flotabilidad seria mala, ya que la traza de

la profundidad reacciona muy lentamente y ademas se ve muy afectada por el acoplamiento con el

pitch, cuya traza tampoco es demasiado exacta, para adaptar el controlador a los cambios de

flotabilidad habria que modificar la matriz C (ver apartado de linealizacion del sistema) pero adaptar

los paramentros del controlador a los cambios en los paramentros de la planta seria un controlador

adaptativo.

Por el contrario en nuestro caso la robustez en el controlador se consigue aumentando la ganancia del

control discontinuo, cuanto mayor sea esta mayor sera la robustez, en todo momento,

independientemente de la fluctuacion que puedan tener los parametros de la planta. En el siguiente

ensayo aumentamos la ganancia del control no lineal de la profundidad de 1 a 5, por lo que el vector

de ganancia quedaria:

0 100 200 300 400 500 600 700 800-2

0

2

4

6

Time(seg)

x(m

)

x

0 100 200 300 400 500 600 700 800-6

-4

-2

0

2

Time(seg)

y(m

)

y

0 100 200 300 400 500 600 700 800-4

-2

0

2

4

Time(seg)

z(m

)

z

0 100 200 300 400 500 600 700 800-5

0

5

10x 10

-6

Time(seg)

psi(ra

d)

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-2

-1

0

1

2

Time(seg)

phi(ra

d)

0 100 200 300 400 500 600 700 800-0.4

-0.2

0

0.2

0.4

Time(seg)

theta

(rad)

Figura 3.16: Traza de la posición y orientación. Robustez frente a incertidumbre en la flotabilidad

Page 55: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

55

Con este incremento se le da más fuerza a la parte discontinua del control de la profundidad con

respecto a la parte continua del control, que como recordamos se calculaba a partir de un modelo

aproximado del sistema a controlar. Esto nos sugiere una importante conclusión de los modos

deslizantes de primer orden:

Cuanta más incertidumbre tengamos sobre el modelo de la planta más hay que ponderar el control

discontinuo sobre el control equivalente.

En la figura 3.17 se muestra el resultado de la corrección aplicada a la ganancia del control discontinuo

de la profundidad (z) para hacerlo robusto a los cambios de flotabilidad, lo que también podemos

observar es que se pierde precisión en la traza del pitch, esto se debe al acoplamiento entre

accionadores.

Al estar desequilibrado el robot, siempre se requiere una acción en z, figura 3.18, aunque esta

permanezca constante, esto provoca una actuación constante de los accionadores (figura 3.19) para

mantener la profundidad deseada, lo que le quita protagonismo al pitch. Para contrarrestar esto le

tendríamos que dar más fuerza al control de pitch, pero en este caso no compensaría ya que queremos

asegurar el buen trazado en z.

0 100 200 300 400 500 600 700 800-5

0

5

Time(seg)

x(m

)

x

0 100 200 300 400 500 600 700 800-5

0

5

Time(seg)

y(m

)

y

0 100 200 300 400 500 600 700 800-2

0

2

4

Time(seg)

z(m

)

z

0 100 200 300 400 500 600 700 800-5

0

5

10x 10

-6

Time(seg)

psi(ra

d)

0 100 200 300 400 500 600 700 800-0.5

0

0.5

Time(seg)

theta

(rad)

0 100 200 300 400 500 600 700 800-2

0

2

Time(seg)

phi(ra

d)

Real Trajectory

Desired Trajectory

Figura 3.17: Traza de la posición y orientación. Robustez frente a incertidumbre en la flotabilidad.

Corrección de Z

Page 56: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

56

Como podemos observar en la figura 3.17, no se puede conseguir un buen trazado del pitch porque los

accionadores no tienen más fuerza, saturan intentando cumplir con los requerimientos del control de la

profundidad y del pitch (recordar que los accionadores saturan a un valor de 180).

0 100 200 300 400 500 600 700 800-200

0

200

Time(seg)

T1(P

WM

)

thruster1

0 100 200 300 400 500 600 700 800-100

0

100

200

Time(seg)

T2(P

WM

)

thruster2

0 100 200 300 400 500 600 700 800-200

-100

0

100

Time(seg)

T3(P

WM

)

thruster3

0 100 200 300 400 500 600 700 800-200

0

200

Time(seg)

T4(P

WM

)

thruster4

0 100 200 300 400 500 600 700 800-200

-100

0

Time(seg)

T5(P

WM

)

thruster5

0 100 200 300 400 500 600 700 8000

100

200

Time(seg)

T6(P

WM

)

thruster6

Figura 3.19: Señal de control de los accionadores. Robustez frente a incertidumbres. Corrección de Z

0 100 200 300 400 500 600 700 800-2

0

2

4

Time(seg)

X(N

)

x

0 100 200 300 400 500 600 700 800-2

-1

0

1

Time(seg)

Y(N

)

y

0 100 200 300 400 500 600 700 8000

200

400

Time(seg)

Z(N

)

z

0 100 200 300 400 500 600 700 800-5

0

5

Time(seg)

M(N

·m)

0 100 200 300 400 500 600 700 800-0.01

0

0.01

Time(seg)N

(N·m

)

Controller´s action

Robot´s action

Figura 3.18: Control controlador y fuerzas accionadores. Robustez frente a incertidumbres.

Corrección de Z

Page 57: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

57

La conclusión que podemos extraer de estos resultados es que la acción de control discontinuo puede

provocar acoplamiento entre accionadores, haciendo que la acción en un grado de libertad tenga más

fuerza que la de otro grado de libertad, dándole prioridad a la traza de la primera, como pasa por

ejemplo en nuestro caso con la profundidad y el pitch. En nuestro caso es admisible ya que es más

importante mantener la profundidad estable, pero en algunas ocasiones convendría limitar la acción

discontinua de un grado de libertad para que no interfiera con la de otro que use los mismos

accionadores.

Esto sugiere que además de que una gran acción discontinua nos proporciona una gran robustez en ese

grado de libertad también nos puede provocar el efecto negativo de acoplamiento, por lo que

concluimos que la acción discontinua debe ser ajustada a las necesidades, con una buena previsión o

con una ganancia discontinua adaptable, lo que propone un modo de control deslizante adaptativo

[12], [13].

Page 58: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

58

3.1.2. Resultados de Simulación con Algoritmo de 2º Orden

Ensayos nominales

En esta serie de ensayos testaremos el controlador en modo deslizante super-twisting de segundo orden

en el mismo sistema y en las mismas condiciones nominales que el controlador de primer orden.

Ajustaremos así las ganancias de este tipo de controlador, definidas en la ecuación 2.3.3.7, haciendo

que el controlador sea estable y supere las incertidumbres del sistema, asegurando la convergencia en

tiempo finito al estado deseado.

Con una configuración adecuada se obtendrán los siguientes resultados: En la figura 3.19 podemos ver

la traza del sistema y como sigue la trayectoria deseada con bastante precisión en el régimen

permanente, si bien el control es lento al principio, es decir, no reacciona todo lo rápido que lo hace el

controlador de primer orden frente a las rampas.

En cuanto a la señal de control, como podemos ver en la figura 3.20, en esta no existe señal de

chattering propiamente dicha, pero sí que hay una señal de alta frecuencia con muy poca amplitud,

que es prácticamente filtrada por los accionadores, no trasladándose al movimiento del robot, y como

se puede ver en la figura 3.21, de la señal de entrada a los accionadores, la señal que estos reciben a

pesar de tener algunas perturbaciones, es bastante regular en los regímenes permanentes, y no tiene

grandes variaciones de alta frecuencia, si bien, en comparación con el controlador de primer orden con

la función tangente hiperbólica sí que esta señal es más suave que con el controlador super-twisting.

0 100 200 300 400 500 600 700 8000

1

2

3

4

5

Time(seg)

x(m

)

x

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-5

-4

-3

-2

-1

0

1

Time(seg)

y(m

)

y

0 100 200 300 400 500 600 700 8000

1

2

3

4

5

Time(seg)

z(m

)

z

0 100 200 300 400 500 600 700 800-5

0

5

10

15x 10

-5

Time(seg)

psi(r

ad)

0 100 200 300 400 500 600 700 800-0.4

-0.2

0

0.2

0.4

Time(seg)

thet

a(ra

d)

0 100 200 300 400 500 600 700 800-2

-1

0

1

2

Time(seg)

phi(r

ad)

Figura 3.19: Traza de la posición y orientación. Modo deslizante de segundo orden.

Page 59: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

59

0 100 200 300 400 500 600 700 800-100

-50

0

50

100

Time(seg)

T1(P

WM

)

thruster1

0 100 200 300 400 500 600 700 800-100

0

100

200

Time(seg)

T2(P

WM

)

thruster2

0 100 200 300 400 500 600 700 800-200

-100

0

100

Time(seg)

T3(P

WM

)

thruster3

0 100 200 300 400 500 600 700 800-100

-50

0

50

100

Time(seg)

T4(P

WM

)

thruster4

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T5(P

WM

)

thruster5

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T6(P

WM

)

thruster6

Figura 3.21: Señal de control de los accionadores. Modo deslizante de segundo orden

0 100 200 300 400 500 600 700 800-1

0

1

2

Time(seg)

X(N

)

x

0 100 200 300 400 500 600 700 800-2

-1

0

1

Time(seg)

Y(N

)

y

0 100 200 300 400 500 600 700 800-0.5

0

0.5

1

1.5

Time(seg)

Z(N

)

z

0 100 200 300 400 500 600 700 800-0.2

-0.1

0

0.1

0.2

Time(seg)

M(N

·m)

0 100 200 300 400 500 600 700 800-0.01

-0.005

0

0.005

0.01

Time(seg)N

(N·m

)

Controller´s action

Robot´s action

Figura 3.20: Ley de control y fuerzas sobre robot. Modo deslizante de segundo orden.

Page 60: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

60

Pruebas de Robustez

Robustez frente a perturbaciones

La prueba de robustez es la misma que se hace con el controlador de primer orden, y como se puede

observar el resultado es similar al obtenido con este, con las particularidades que diferencian a ambos

controladores.

La señal de control si que es diferente, llama la atencion frente a la señal de control del controlador

de primer orden frente a perturbaciones que en aquel caso la ley de control daba picos que tenian que

filtrar la dinamica de los accionadores, sin embargo en este caso la ley de control y la respuesta de los

0 100 200 300 400 500 600 700 8000

2

4

6

Time(seg)

x(m

)

x

0 100 200 300 400 500 600 700 800-6

-4

-2

0

2

Time(seg)

y(m

)

y

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 8000

2

4

6

Time(seg)

z(m

)

z

0 100 200 300 400 500 600 700 800-2

0

2

4x 10

-3

Time(seg)

psi(ra

d)

0 100 200 300 400 500 600 700 800-0.4

-0.2

0

0.2

0.4

Time(seg)

theta

(rad)

0 100 200 300 400 500 600 700 800-2

-1

0

1

2

Time(seg)

phi(ra

d)

Figura 3.22: Posición y orientación. Modo deslizante de segundo orden. Robustez frente a perturbaciones

0 100 200 300 400 500 600 700 800-2

0

2

Time(seg)

X(N

)

x

0 100 200 300 400 500 600 700 800-2

-1

0

1

Time(seg)

Y(N

)

y

0 100 200 300 400 500 600 700 800-1

0

1

2

Time(seg)

Z(N

)

z

0 100 200 300 400 500 600 700 800-0.2

0

0.2

Time(seg)

M(N

·m)

0 100 200 300 400 500 600 700 800-0.02

-0.01

0

0.01

Time(seg)

N(N

·m)

Controller´s action

Robot´s action

Figura 3.23: Ley de control y fuerzas sobre robot. Modo deslizante de segundo orden. Robustez frente a perturbaciones

Page 61: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

61

accionadores es de la misma magnitud frente a las perturbaciones.

Robustez frente a Ruido blanco

Como ya mencionamos en apartados anteriores, la adición de ruido blanco a las medidas del estado se

traslada a través del error a la superficie de deslizamiento y se amplifica en gran medida al derivar

esta, por lo tanto los modos deslizantes de segundo orden que tomen información de las derivadas

sucesivas de la superficie de deslizamiento se verán gravemente afectados por el ruido blanco, no es

así en este caso, ya que, no usamos ninguna derivada de la superficie de deslizamiento.

En la figura 3.24 se puede observar la distorsion que provoca el ruido blanco en la segunda derivada de

la superficie de deslizamiento, pero al contrario que en el controlador de primer orden en este caso

esta señal de ruido blanco no se traslada a la señal de control de los accionadores, esta se ve afectada

pero en mucha menor medida que en el controlador de primer orden, como podemos ver en la figura

3.25.

Esto se debe a que, en el controlador de segundo orden, el calculo de la ley de control depende solo de

la superficie de deslizamiento, mientras que en el de primer orden tambien se utiliza el control

equivalente que es funcion del vector de estado, que contiene la señal de ruido.

0 100 200 300 400 500 600 700 800-1

0

1

2

3

4

5

Time(seg)

x(m

)

x

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-5

-4

-3

-2

-1

0

1

Time(seg)

y(m

)

y

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-1

0

1

2

3

4

5

Time(seg)

z(m

)

z

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-0.2

-0.1

0

0.1

0.2

Time(seg)

psi(r

ad)

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-0.4

-0.2

0

0.2

0.4

Time(seg)

thet

a(ra

d)

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-2

-1

0

1

2

Time(seg)

phi(r

ad)

Real Trajectory

Desired Trajectory

Figura 3.23: Posición y orientación. Modo deslizante de segundo orden. Robustez frente a ruido blanco

Page 62: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

62

0 100 200 300 400 500 600 700 800-1

-0.5

0

0.5

1x 10

5

Time(seg)

sliding surface and its derivative vs. time

d

0 100 200 300 400 500 600 700 800-1

-0.5

0

0.5

1x 10

5

Time(seg)

sliding surface and its derivative vs. time

d

0 100 200 300 400 500 600 700 800-1

-0.5

0

0.5

1x 10

5

Time(seg)

sliding surface and its derivative vs. time

d

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

sliding surface and its derivative vs. time

d

0 100 200 300 400 500 600 700 800-1

-0.5

0

0.5

1x 10

5

Time(seg)

sliding surface and its derivative vs. time

d

0 100 200 300 400 500 600 700 800-1

-0.5

0

0.5

1x 10

5

Time(seg)

d

Figura 3.24: Superficie de deslizamiento y derivada temporal. Modo deslizante de segundo orden. Robustez frente a ruido blanco.

0 100 200 300 400 500 600 700 800-100

-50

0

50

100

Time(seg)

T1(P

WM

)

thruster1

0 100 200 300 400 500 600 700 800-50

0

50

100

150

Time(seg)

T2(P

WM

)

thruster2

0 100 200 300 400 500 600 700 800-150

-100

-50

0

50

100

Time(seg)

T3(P

WM

)

thruster3

0 100 200 300 400 500 600 700 800-100

-50

0

50

100

Time(seg)

T4(P

WM

)

thruster4

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T5(P

WM

)

thruster5

0 100 200 300 400 500 600 700 800-200

-100

0

100

200

Time(seg)

T6(P

WM

)

thruster6

Figura 3.25: Señal de control de los accionadores. Modo deslizante de segundo orden. Robustez

frente a ruido blanco

Page 63: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

63

Robustez frente a incertidumbre en los parámetros de la planta

De la misma forma que en el ensayo de robustez frente a incertidumbre de parámetros con el

controlador de primer orden, en este caso, con el controlador de segundo orden lo que haremos es

desequilibrar el robot submarino haciendo que flote, sin modificar a priori ningún parámetro del

controlador. Así pues aumentamos un 5% la fuerza de flotabilidad del robot, obteniéndose el siguiente

trazado de la figura 3.26:

Como se puede observar el controlador es robusto y se produce el mismo problema que en el de primer

orden en el trazado del pitch( ) que no alcanza el valor deseado si no uno menor, como en aquel caso,

el problema se debe a que los accionadores no tienen suficiente fuerza para asegurar la traza de la

trayectoria de ambos grados de libertad cuando el robot esta desequilibrado, ya que mantenerlo en

una determinada profundidad cuando el robot flota, exige mucha accion.

Este fenomeno se puede observar contemplando las figuras 3.27 y 3.28, en la primera se observa que el

control de la profundidad debe ser mayor que cero para mantener el robot estable y en la segunda que

esto provoca que los accionadores se saturen a su maximo valor cuando intentan manterner el robot

estable y al mismo tiempo variar el pitch. Si los accionadores tuvieran mas fuerza entonces la traza de

ambos grados de libertad seria perfecta.

0 100 200 300 400 500 600 700 800-2

0

2

4

6

Time(seg)

x(m

)

x

0 100 200 300 400 500 600 700 800-6

-4

-2

0

2

Time(seg)

y(m

)

y

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700 800-2

0

2

4

6

Time(seg)

z(m

)

z

0 100 200 300 400 500 600 700 800-5

0

5

10

15x 10

-5

Time(seg)

psi(ra

d)

0 100 200 300 400 500 600 700 800-0.4

-0.2

0

0.2

0.4

Time(seg)

theta

(rad)

0 100 200 300 400 500 600 700 800-2

-1

0

1

2

Time(seg)

phi(ra

d)

Figura 3.26: Posición y orientación. Modo deslizante de segundo orden. Robustez frente a incertidumbre de parámetros

Page 64: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

64

0 100 200 300 400 500 600 700 800-1

0

1

2

Time(seg)

X(N

)x

0 100 200 300 400 500 600 700 800-2

-1

0

1

Time(seg)

Y(N

)

y

0 100 200 300 400 500 600 700 8000

2

4

6

Time(seg)

Z(N

)

z

0 100 200 300 400 500 600 700 800-0.2

-0.1

0

0.1

0.2

Time(seg)

M(N

·m)

0 100 200 300 400 500 600 700 800-0.01

-0.005

0

0.005

0.01

Time(seg)

N(N

·m)

Controller´s action

Robot´s action

Figura 3.27: Ley de control y fuerzas sobre robot. Modo deslizante de segundo orden. Robustez frente a incertidumbre de parámetros

0 100 200 300 400 500 600 700 800-100

-50

0

50

100

Time(seg)

T1(

PW

M)

thruster1

0 100 200 300 400 500 600 700 800-100

-50

0

50

100

150

Time(seg)

T2(

PW

M)

thruster2

0 100 200 300 400 500 600 700 800-150

-100

-50

0

50

100

Time(seg)

T3(

PW

M)

thruster3

0 100 200 300 400 500 600 700 800-100

-50

0

50

100

Time(seg)

T4(

PW

M)

thruster4

0 100 200 300 400 500 600 700 800-200

-150

-100

-50

0

Time(seg)

T5(

PW

M)

thruster5

0 100 200 300 400 500 600 700 8000

50

100

150

200

Time(seg)

T6(

PW

M)

thruster6

Figura 3.28: Señal de control de los accionadores. Modo deslizante de segundo orden. Robustez frente a incertidumbre de parámetros

Page 65: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

65

3.1.3. Conclusiones y comparación entre los dos algoritmos

Para comparar ambos algoritmos, el de primer orden y el de segundo orden atendemos a varios

factores:

El primero es la amplitud de la ley de control, como sabemos la ley de control está limitada por los

accionadores, de forma que aunque el controlador solicite una gran acción esta nunca excederá los

límites impuestos por los accionadores, aun así no interesa que la ley de control sea demasiado grande,

ni que presente picos que aunque puntuales hagan que la señal de entrada a los accionadores alcance

su máximo, es decir, que se saturen. En este campo, el controlador en modo deslizante de segundo

orden presenta una ley de control más uniforme, sin picos, y casi siempre por debajo de los límites de

los accionadores, frente a la ley de control del modo deslizante de primer orden que a menudo los

supera.

También es conveniente destacar, que gracias a la utilización del algoritmo super-twisting el

controlador de segundo orden no es vulnerable al ruido blanco en la medida como los suelen ser los

demás controladores de segundo orden, es más, gracias a las particularidades del algoritmo el ruido

transmitido a la señal de entrada en los propulsores, es menor que el que se transmite en el algoritmo

de primer orden, lo que supone una ventaja añadida a la hora de proteger los accionadores.

Otro factor es la facilidad para sintonizar el controlador, ya que cuando se implemente en el robot real

habrá que ajustar las diversas ganancias o polos deseados del controlador para un correcto

funcionamiento del mismo, aunque estas ganancias están relacionadas con la incertidumbre que

presente el sistema y su valor puede ser acotado, serán sintonizadas de forma empírica. Atendiendo al

número de ganancias que intervienen y su rango de posibles valores, puede requerir varios ensayos

determinar unos valores nominales. En este aspecto el controlador de primer orden es más fácil de

sintonizar, ya que, a mayores de los polos solo tiene un vector de ganancias a determinar, mientras que

el controlador en modo deslizante de primer orden tiene dos.

Es imprescindible en este proyecto comprar el coste computacional de ambos algoritmos, este es difícil

de determinar, en un principio podríamos pensar que el cálculo del control equivalente, en el

algoritmo de primer orden, genera un importante coste computacional, ya que intervienen en el varias

matrices bastante grande, sin embargo, la experiencia en simulación, nos demuestra que es más difícil

calcular la ley de control del algoritmo de segundo que la de primer orden en el mismo ordenador. Esto

se debe sobre todo a que la ley de control está formada por dos partes, ambas discontinuas, y una de

ellas debe integrarse, aun utilizando un método aproximado de integración como puede ser la suma de

rectángulos, esto añade cierto coste computacional, al ser un bucle a mayores dentro del programa

que es el controlador.

Por último, y como es obvio, es importante comparar el chattering provocado por ambos controladores,

como hemos visto, al introducir la función tangente hiperbólica en el controlador de primer orden este

carece de chattering y al integrar la ley de control, en la simulación del controlador de segundo

hallamos que aunque ínfimamente, que la ley de control si contiene cierta componente de alta

frecuencia, aunque esta esté filtrada por la integración de dicha ley, esta no causa inestabilidad pero

si se filtra a la señal de entrada de los accionadores, si bien es tan ínfima que no representa una

amenaza. Pero sí que es verdad que en cuanto a chattering, es mejor el controlador de primer orden.

En conclusión, comparando los aspectos clave de nuestros dos algoritmos determinamos, que el que

mejor resultado ha dado en simulación es el modo deslizante de primer orden con la función tangente

hiperbólica. Además de presentar la posibilidad de añadirle un lazo adaptativo para controlar a su vez

la ganancia del control discontinuo según las necesidades.

Page 66: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

66

3.2. Implantación del Controlador en el Robot

El controlador se implanta en la plataforma real que es el robot, a través del lenguaje C++, como ya se

mencionó. A diferencia de la simulación en este caso la planta es el robot y la trayectoria deseada nos

viene dado, así que solamente habrá que programar el controlador, es decir, tomar como entradas las

variables de estado correspondientes y elaborar el vector de fuerzas que se pretende aplicar al robot,

ya se encarga otra parte del programa inherente al robot de calcular la señal de entrada a los

accionadores a partir del vector de fuerzas que deseamos aplicar sobre el robot.

Además esta aplicación práctica tiene la particularidad de que debido a limitaciones en la plataforma,

solo se realizara el control para dos grados de libertad, la profundidad y el pitch. Por lo q se reducirá el

controlador, esta reducción consistirá simplemente en eliminar todos los componentes del control que

sirvan para otros grados de libertad. Así pues el sistema equivalente a partir del cual se elaborara el

controlador será el de la ecuación 2.3.1.1:

Pero con las siguientes limitaciones en los vectores de estado, sería lo que llamaríamos un estado

restringido, todas las demás variables de estado no se consideran:

Así pues las matrices del sistema equivalente solo tendrán no nulos aquellos valores numéricos que se

relacionen con estas variables de estado reduciéndose así el rango de las mismas y por lo tanto del

controlador:

De las misma forma el vector de error será de dimensión reducida también ( ) y también la

superficie de deslizamiento que solo comprenderá los estados de la profundidad y el pitch, de esta

forma el controlador, tanto de primer como de segundo orden elaborara solo la ley de control para

estos estados. Como el programa del robot exige un vector de ley de control que incluya los seis grados

de libertad, el resto de leyes de control: movimiento frontal o avance, lateral, roll y yaw, serán nulos,

es decir asignados a cero.

Reduciéndose de esta forma el controlador ahorramos coste computacional, ya que sería innecesario

trabajar con vectores y matrices de mayor rango para que al final no se utilizase completamente la ley

de control calculada. A continuación procedemos a mostrar los resultados de la experimentación.

Page 67: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

67

3.2.1. Resultados de la Experimentación

En la experimentación tanto del algoritmo de primer orden como del de segundo orden se hacen varios

ensayos para determinar los valores nominales que sintonizan el controlador, una vez presentado el

ensayo nominal se repiten los ensayos de robustez de forma similar a como se hizo en la simulación, la

nica diferencia es que no podremos adicionar ruido blanco a la medida de los sensores, por eso no

haremos este ensayo pero sí que haremos los otros dos, el primero de perturbaciones, desplazando

puntualmente el robot de su posición sirviéndonos de un palo, y el segundo de incertidumbres

paramétricas adicionando un pedazo de polietileno que aumentara la flotabilidad del robot.

Es muy importante tener en cuenta que el robot real está un poco desequilibrado, es decir que flota un

poco más de lo que pesa, se hizo así por motivos de seguridad, por lo tanto, cuando se sintonice el

controlador en especial el de primer orden tendremos que hacer las modificaciones pertinentes sobre

la matriz C del sistema equivalente para corregir esta desviación, es aquí donde reside la importancia

de la matriz C, para poder adecuar el controlador a sistemas desequilibrados cuando sabemos que lo

son, es decir cuando no es un parámetro sobre el que haya incertidumbre. La diferencia entre la fuerza

de flotabilidad y el peso ( ), que es el parámetro a partir de cual se calcula C, se determinara de

forma empírica durante la experimentación. Sin más, presentamos los resultados obtenidos de la

experimentación con el AC-ROV.

3.2.1.1. Resultado de Experimentos con Algoritmo de 1er Orden

De la misma forma que en el apartado de simulación, en este mostraremos el ensayo nominal, con su

traza y sus leyes de control y posteriormente mostraremos los ensayos de robustez.

A continuación mostramos las gráficas correspondientes al trazado de la trayectoria de la profundidad y

el pitch, a la ley de control generada por el controlador, y a la señal de entrada a los propulsores,

como se puede intuir no hay forma de mostrar las fuerzas que realmente se ejercen sobre el robot.

Ensayo nominal

Aquí mostraremos las gráficas correspondientes al ensayo con los valores nominales de los parámetros

del controlador.

0 100 200 300 400 500 600 7000

0.2

0.4

0.6

0.8

Time(seg)

z(m

)

z

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600 700-0.1

0

0.1

0.2

0.3

Time(seg)

q(r

ad)

Real Trajectory

Desired Trajectory

Figura 3.29: Traza de la posición y orientación. Robot real. Controlador 1er orden. Nominal

Page 68: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

68

En la figura 3.30 se pueden observar ciertas inestabilidades en forma de cresta en la ley de control que

se corresponden con las zonas de rampa de la trayectoria de la profundidad, probablemente se deban a

la acción discontinua del controlador, no crean inestabilidad en el robot debido a que son demasiado

rápidas, pero sí que se transmiten a la señal de entrada de los accionadores, como se puede ver en la

figura 3.31, estas crestas no representan un riesgo para los accionadores si bien tampoco es el

funcionamiento óptimo. Se podría corregir este defecto suavizando la función con una k

más pequeña.

0 100 200 300 400 500 600 7000.8

1

1.2

1.4

1.6

Time(seg)

Z(N

)z

0 100 200 300 400 500 600 700-0.02

-0.01

0

0.01

0.02

0.03

Time(seg)

M(N

·m)

Figura 3.30: Ley de control. Robot real. Controlador 1er orden. Nominal

0 100 200 300 400 500 600 70060

70

80

90

100

110

120

Time(seg)

T3(P

WM

)

thruster5

0 100 200 300 400 500 600 70060

80

100

120

140

Time(seg)

T5(P

WM

)

thruster6

Figura 3.31: Señal de control de los accionadores. Robot Real. Controlador de primer orden. Nominal.

Page 69: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

69

Ensayo de robustez frente a perturbaciones

En este caso el ensayo con el robot real diferirá un poco del ensayo realizado en la simulación, ya que,

será más exigente al no tener solo una perturbación sino varias, además en la realidad no es posible

realizar una perturbación ideal que solo afecte a un grado de libertad, por lo que el pitch también se

verá afectado.

En la figura 3.32, podemos observar que el trazado de la profundidad no se ve fectado por las

perturbaciones, y que se recupera el estado desado rapidamente sin sobre oscilaciones de ningun tipo.

En cuanto a la traza de del pitch vemos como la perturbacion en zeta lo que hace es añadir una

oscilacion en el pitch, que se corrigiria sola dada la estabilidad del submarino, aun asi, el controlador

elabora una respuesta rapida para intentar corregir esta oscilacion como se ve en la figura 3.33 en la

0 50 100 150 200 250 300 350 400-0.2

0

0.2

0.4

0.6

0.8

Time(seg)

z(m

)

z

Real Trajectory

Desired Trajectory

0 50 100 150 200 250 300 350 400-0.1

0

0.1

0.2

0.3

0.4

Time(seg)

q(r

ad)

Real Trajectory

Desired Trajectory

Figura 3.32: Traza de la posición y orientación. Robot real. Controlador 1er orden. Perturbaciones

0 50 100 150 200 250 300 350 400

0.7

0.8

0.9

1

1.1

1.2

1.3

Time(seg)

Z(N

)

z

0 50 100 150 200 250 300 350 400-0.02

0

0.02

0.04

0.06

Time(seg)

M(N

·m)

Figura 3.33: Ley de control. Robot real. Controlador 1er orden. Perturbaciones

Page 70: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

70

grafica correspondiente a la ley de control del pitch. Por el contrario la respuesta a las perturbaciones

de zeta son mas lentas y mas fuertes. Es un comportamiento bastante adecuado.

En la señal de entrada de los accionadores, se puede observar una combinación entre las respuestas

lentas y potentes a las perturbaciones en la profundidad combinadas con las respuestas rápidas y

oscilantes a para compensar la oscilación en el pitch, si bien dada la naturaleza de la dinámica de los

accionadores las respuestas demasiado rápidas no tendrán un gran efecto sobre el robot.

Así queda demostrada la robustez del controlador frente a perturbaciones frente al robot real.

Ensayo de robustez frente a incertidumbre de parámetros

En este ensayo adicionaremos una pequeña masa de polietileno utilizado en embalajes para que haga

las veces de flotador, y aumente la flotabilidad del robot desequilibrándolo, como ya se mencionó el

controlador se podría adaptar manualmente modificando la matriz C, pero en este caso como

suponemos desconocido este parámetro tendrá que ser el control discontinuo el que adapte el

controlador a las incertidumbres de este y otros parámetros demostrando así su robustez que es el

objetivo de este ensayo.

Como se puede ver en la figura 3.35 correspondiente al trazado, la ganancia discontinua es

suficientemente grade para darle al control discontinuo la fuerza para sobreponerse a la incertidumbre

sobre la flotabilidad, esto quiere decir que el controlador está bien sintonizado, si no lo estuviera

porque el desequilibrio entre peso y flotabilidad fuese demasiado grande tendríamos que aumentar

esta ganancia, pero es importante que aumentar demasiado esta ganancia puede crear inestabilidad

dada la naturaleza discontinua de este control aun a pesar de estar usando la función tangente

hiperbólica.

En la figura 3.36 se aprecian las leyes de control de la profundidad y el pitch, en la primera, podemos

observar como para mantener en equilibrio el submarino (quieto) el control debe ejercer una fuerza en

0 50 100 150 200 250 300 350 40040

60

80

100

120

Time(seg)

T3(P

WM

)

thruster5

0 50 100 150 200 250 300 350 40060

80

100

120

140

160

Time(seg)

T5(P

WM

)

thruster6

Figura 3.34: Señal de control de los accionadores. Robot Real. Controlador de primer orden. Perturbaciones.

Page 71: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

71

el eje Z de 1.4 Newton aproximadamente mientras que en el ensayo nominal le bastaba con ejercer

una fuerza de 1.2 Newton, en ese detalle podemos observar el incremento de fuerza que tiene que

ejercer el controlador para mantener estable el sistema. Añadiremos en esta gráfica, en color rojo, las

leyes de control del ensayo nominal, para que sea más fácil hacer la comparativa.

0 100 200 300 400 500 6000.5

1

1.5

2

Time(seg)

Z(N

)

z

0 100 200 300 400 500 600-0.02

-0.01

0

0.01

0.02

0.03

Time(seg)

M(N

·m)

Figura 3.36: Ley de control. Robot real. Controlador 1er orden. Incertidumbre de paramentros

0 100 200 300 400 500 600-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

Time(seg)

z(m

)

z

Real Trajectory

Desired Trajectory

0 100 200 300 400 500 600-0.05

0

0.05

0.1

0.15

0.2

Time(seg)

q(r

ad)

Real Trajectory

Desired Trajectory

Figura 3.35: Traza de la posición y orientación. Robot real. Controlador 1er orden. Incertidumbre

de parámetros.

Page 72: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

72

Page 73: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

73

3.2.1.2. Resultado de Experimentos con Algoritmo de 2o Orden

En este apartado mostraremos el resultado del ensayo nominal pero esta vez utilizando el algoritmo de

segundo orden. No se mostrara más que la gráfica del trazado ya que la de control contiene demasiada

información, a causa de que la ley de control es el resultado de la adición de dos leyes, una de ellas

obtenida a partir de la integración de una función, por este motivo quizá no sean demasiado

ilustrativas para lo que se pretende en este proyecto.

Como se puede observar el control tarda en reaccionar a la primera rampa de la profundidad pero una

vez que comienza a funcionar se consigue una gran precisión en régimen permanente. El resto de

ensayos de robustez dan resultados muy similares a los obtenidos con el algoritmo de primer orden.

La conclusión que sacamos de los ensayos experimentales, es que el controlador, cumple su función de

asegurar el trazado de la trayectoria excepto en un pequeño transitorio al principio de cada ciclo.

Cumple además con las condiciones de robustez prescritas ya que tiene una respuesta rápida y sin

sobre oscilaciones a las perturbaciones, no se ve afectado por el ruido blanco en la medida (aunque no

se halla hecho un test de robustez frente a ruido blanco, en la experimentación con el robot real toda

medida lleva una pequeña señal de ruido blanco inherente) y compensa su actuación frente a

incertidumbre o variación de paramentos como puede ser la flotabilidad.

0 50 100 150 200 250 300 350-0.2

0

0.2

0.4

0.6

0.8

Time(seg)

z(m

)

z(IIOSMC)

Real Trajectory

Desired Trajectory

0 50 100 150 200 250 300 350-5

0

5

10

15

Time(seg)

Theta

(deg)

Real Trajectory

Desired Trajectory

Figura3.37: Traza de la posición y orientación. Robot real. Controlador 2o orden. Nominal

Page 74: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

74

4. Conclusión y Líneas Futuras

La primera conclusión que sacamos de este proyecto es que se puede desarrollar un controlador en

modo deslizante para una aplicación de robot submarino, que es viable y no solo eso, sino que no es

demasiado complejo desde el punto de vista matemático, ni el desarrollo del controlador de primer

orden ni el de segundo.

Otra conclusión importante es que existen soluciones para el chattering, el principal problema de este

tipo de modo de control no lo es en absoluto si utilizamos las alternativas típicas de la bibliografía,

como son la utilización de la función tangente hiperbólica en vez de la función de signo, y el desarrollo

de modos de control de segundo orden. Esto es importante, ya que si eliminamos el chattering, se

abren un amplio abanico de aplicaciones para nuestro controlador.

Con la simulación y la posterior experimentación, se han conseguido sintonizar, sin demasiada

dificultad, tanto el controlador de primer orden como el de segundo. Después con esos parámetros

nominales se ha testado su robustez en diversos ensayos, y el resultado a sido satisfactorio: Se ha

demostrado la robustez de este tipo de controlador, lo cual era uno de nuestros objetivos, y sobre todo,

se ha demostrado su robustez frente a la incertidumbre en el sistema a controlar.

Haber conseguido un resultado robusto frente a un sistema indeterminado, en este proyecto deja

fundamentalmente dos importantes conclusiones, la primera es que ante la variación o imprecisión de

determinados parámetros importantes para el funcionamiento del sistema, como en este caso puede

ser la flotabilidad, el controlador es capaz de asegurar un buen funcionamiento siempre y cuando se

tenga una idea de la magnitud de estas imprecisiones, es decir siempre y cuando tengamos una idea

del orden del error cometido, es decir, este acotado.

La segunda conclusión de la robustez frente a sistemas indeterminados, es que, en sistemas de

dinámica compleja como ha sido este caso, se puede simplificar muchísimo el desarrollo matemático

del controlador eligiendo las simplificaciones adecuadas y aplicándolas sobre el sistema, aumentando

la incertidumbre del mismo, ya que después el controlador será capaz de sobreponerse a esta

incertidumbre. Como se demostró con la linealizacion del sistema dinámico de cara a

La conclusión más importante de este proyecto por ser una de las que más lo diferencia de otros

trabajos encontrados en la bibliografía, es que no solo se ha demostrado su sencillez matemática sino

que esta se traduce en facilidad de programación y lo que es más importante, en disminución del coste

computacional del controlador, con la gran importancia que esto tiene. La reducción del coste

computacional no solo disminuye los requisitos de hardware en los que puede ser implementado el

controlador sino que reduce el tiempo en el que se tardara en elaborar la ley de control, así el tiempo

de paso puede ser menor, y como sabemos los modos deslizantes mejoran su precisión en régimen

permanente conforme se reduce el tiempo de paso.

Por último, además de haber cumplido los objetivos, también concluimos que la combinación entre la

robustez y la sencillez matemática no solo es una ventaja en si misma si no que permite a este tipo de

controlador combinarse con otros algoritmos, aportando una pequeña acción discontinua a otro

algoritmo de control, para superar alguna incertidumbre que este tenga, o combinándose con el control

adaptativo, como vimos en el apartado , la ganancia discontinua debe regularse en su justa medida

para adaptarse a las necesidades sin provocar que el control de un determinado grado de libertad

afecte al de otro por fenómenos de acoplamiento.

Así pues, la línea futura de nuestro proyecto tendería a ser la inclusión de un lazo de control

adaptativo para controlar la ganancia lineal, aumentarla si se produce demasiado error en un grado de

libertad, y disminuirla cuando este disminuya o si se produce el chattering, si bien este lazo a mayores

Page 75: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

75

introduciría as coste computacional, es por ello que, esta línea de desarrollo no entra dentro de

nuestro proyecto.

BIBLIOGRAFIA

Bibliografía principal

[1] Thor I. Fossen, “Marine control systems. Guidance, Navigation, and control of ships, rigs and underwater Vehicles”, Chapter I: Modelling of marine vessels.

[2] W. Perruquetti, J.P. Barbot, “Sliding mode control in engineering”

[3] C. Edwards, S.K. Spurgeon “Sliding Mode Control: Theory and Applications”, Taylor and Francis, 1998.

Artículos

[4] A. Pisano, E. Usai “Output-feedback control of an underwater vehicle prototype by higher-

order sliding modes” Automatica, Vol.40 pp. 1525 – 1531, 2004.

[5] H. Akçakaya, H. A Yildiz, “Sliding mode control of autonomous underwater vehicle”

[6] G. Bartolini, A. Ferrara, “On Multi-Input Chattering-Free Second-Order Sliding Mode Control” IEEE T.A.C., Vol. 45, No. 9, 2000.

[7] M. Defoort, T. Floquet, A. Kokosy, W. Perruquetti, “A novel higher order sliding mode control Scheme” Systems and Control Letters, Vol. 58, 2 pp. 102-108, 2009.

[8] T. Salgado, L G. García, G. Delgado, “Control of ROVs using a Model-free 2nd-Order Sliding Mode Approach”

[9] A. Levant, A. Pridor, R. Gitizadeh, I. Yaesh, J.Z. Ben-Asher, “Aircraft Pitch Control Via Second Order Sliding Technique”

[10] H. Munthe-Kaas, “Runge-Kutta methods on lie groups”

[11] G. Sartori-Natal, A. Chemori, F. Pierrot, “Nonlinear Control of Parallel Manipulators for Very High Accelerations Without Velocity Measurement: Application on Par2 Parallel Manipulator”

[12] W. M. Bessa, M. S. Dutra, E. Kreuzer, “An adaptive fuzzy sliding mode controller for remotely operated underwater vehicles” Robotics and Autonomous Systems Vol. 58 pp. 16-26, 2010

[13] R. Cristi, F. A. Papoulias, A. J. Healey, “Adaptive Sliding Mode Control of Autonomous Underwater Vehicles in the Dive Plane” IEEE Journal of Oceanic Engineering, Vol. 15, No. 3, 1990

Page 76: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

76

[14] A. J. Healey, D. Lienard “Multivariable Sliding Mode Control for Autonomous Diving and

Steering of Unmanned Underwater Vehicles” IEEE Journal of Oceanic Engineering, Vol. 18, No. 3, 1993

[15] Li-Rong Wang, Jian-Chen Liu, “Sliding Mode Control of an Autonomous Underwater Vehicle”

[16] Tae Kyu Ha, Eko Henfri Binugroho, “Sliding Mode Control for Autonomous Underwater Vehicle under Open Control Platform Environment”

[17] S. L. Fraga, J. B. de Sousa, F. Lobo-Pereira, “User-assisted trajectory generation of underwater vehicles”

[18] T. Salgado-Jiménez, B. Jouvencel, “Using a High Order Sliding Modes for diving control a torpedo Autonomous Underwater Vehicle”

[19] D.Maalouf, I.Tamanaja, E.Campos, A.Chemori,V.Creuze, J.Torres, R.Lozano, “From PD to Nonlinear Adaptive Depth-Control of a Tethered Autonomous Underwater Vehicle”

[20] D. Maalouf, V. Creuze, A. Chemori, “A Novel Application of Multivariable L1 Adaptive Control : from Design to Real-Time Implementation on an Underwater Vehicle”

[21] G. Campa, M. Innocenti, F. Nasuti “Robust Control Of Underwater Vehicles: Sliding Mode Control Vs. Mu Synthesis”

[22] T. Salgado-Jimenez, J-M. Spiewak, P. Fraisse, B. Jouvencel, “A robust control algorithm for AUV: based on a High Order Sliding Mode”

Page 77: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

77

APENDICES

Apéndice 1: Desarrollo de la matriz de rotación .

Utilizaremos las rotaciones principales, que son las rotaciones sobre los ejes del sistema de referencia

¡de partida! de uno en uno. Así usando la secuencia de rotación de los ángulos de Euler, con el

convenio , obtendremos las 3 matrices de rotación principales para rotar desde el n-frame al b-

frame:

Donde . La matriz de rotación desde el NED al BODY será entonces:

Como se puede ver, se le denomina convenio de rotación porque se rota primero sobre , después

sobre , y por ultimo sobre , resultando:

Para ángulos pequeños , y , la expresión anterior se puede aproximar como:

Aprovechando las propiedades de las matrices ortogonales, es muy fácil calcular la matriz de rotación

del BODY al NED, ya que será su matriz traspuesta y también su inversa:

Además también se puede obtener esta matriz de transformación del b-frame (sistema de referencia en

el móvil) al n-frame (sistema de referencia fijo) haciendo la trasformación con el convenio inverso:

Page 78: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

78

Apéndice 2: Desarrollo de las matrices y .

La expresión de la matriz de inercia rígida en el cuerpo deriva de la segunda ley de Newton.

Considerando que el sistema móvil solidario al cuerpo es el b-frame y que su origen está en un punto O

y que el sistema de referencia fijo es el n-frame:

Donde el punto es el centro de gravedad, es la masa del vehículo, es la derivada temporal de la

velocidad del centro de gravedad respecto del n-frame (eje fijo) y es la fuerza ejercida en el

centro de gravedad respecto del n-frame. De la misma forma existe la ecuación de momentos

angulares:

Siendo la velocidad angular en el sistema de referencia b-frame relativo al sistema fijo n-frame,

el vector de momentos angulares que actúan sobre el centro de gravedad relativo al n-frame e el

momento de inercia del vehículo en el centro de gravedad.

Si referenciamos estas expresiones en el b-frame, tras varias transformaciones nos quedaran como:

Siendo el vector de posición del centro de gravedad respecto del b-frame. Si agrupamos los

términos de estas dos matrices definidas en podemos como una sola ecuación en , que tendrá la

siguiente forma:

Tal que, la matriz de inercia del sistema contendrá los términos de las ecuaciones que están

multiplicando a las derivadas temporales de los vectores de velocidad lineal y angular descompuestos

en el b-frame, correspondientes a las componentes de inercia y la matriz centrípeta-coriolis los

vectores correspondientes a los términos centrípeto (

) y coriolis (

).

Se puede verificar que de acuerdo a la relación entre las expresiones 19 y 20, y la ecuación 21 que las

matrices y tendrán la siguiente forma:

Page 79: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

79

Siendo y los vectores de velocidad lineal y angular en el b-frame respectivamente, tal que:

y

. La matriz es denominada la matriz semi-simétrica

de un vector, tal que, si es un vector perteneciente a , tal que, la matriz semi-

simétrica estará definida como:

De forma que el producto de cruz o producto vectorial de dos vectores se puede expresar como:

Si el origen del eje de coordenadas del sistema de referencia móvil (b-frame) coincide con el centro de

gravedad, tal que , entonces y podremos simplificar algo estas matrices

Page 80: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

80

Apéndice 3: SSMC. Deducción de la ecuación del control para sistemas no lineales.

Estudio de la dinámica del sistema en la superficie de deslizamiento y de la

estabilidad de la convergencia a la misma.

A continuación estudiaremos la dinámica del sistema en la superficie de deslizamiento, es decir, bajo

la condición de la ecuación (2). La dinámica de será estable si se cumple dicha condición. Por la ecuación (3) podemos ver que en la superficie de deslizamiento es una recta que pasa por el origen de la forma:

De (1) sabemos que y por lo tanto el desplazamiento sobre la superficie de deslizamiento estará gobernado por:

Y si se cumple que entonces convergerá a 0 y la velocidad de convergencia dependerá

solamente del valor de . Además por la ecuación (6) podemos ver que si converge sobre 0,

entonces convergerá también sobre 0. La evolución sobre la superficie de deslizamiento será, por lo

tanto, independiente de y . Como al principio, el punto inicial no estará sobre la superficie de deslizamiento, hará falta que el sistema tienda a esta superficie. Es lo que llamaremos condición de accesibilidad. Por eso habrá que realizar también un estudio sobre la dinámica de convergencia a la misma. Para poder evaluar la estabilidad del controlador, utilizaremos la función de Lyapunov siguiente:

Sabiendo que las condiciones para estabilidad asintótica es que la función sea definida positiva y su

primera derivada sea definida negativa, es decir:

Podemos observar que la demostración del cumplimiento de la primera condición es trivial, ya que,

para cualquier valor de distinto de cero será mayor que cero y también es fácil ver que para

será , así que será siempre definida positiva. Para demostrar el cumplimiento de la segunda condición calcularemos la primera derivada temporal de la función de Lyapunov:

Page 81: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

81

Como la primera condición de estabilidad asintótica es trivial, a menudo en la bibliografía se denomina condición de accesibilidad a la segunda condición, que como se ha visto puede expresarse como la ecuación:

Para calcular hacemos la derivada la ecuación (3) será:

Sustituyendo en esta ecuación (8) y a partir de la ecuación del sistema (1) obtendremos:

Teniendo así la primera derivada de la superficie de deslizamiento en función de la acción de control

; pudiéndose observar que se cumple que el grado relativo del sistema es uno. Ahora sustituyendo en la ecuación (9) el valor de de la ecuación (11) nos quedara:

A partir de la ecuación (12) podemos ver que para cumplir la segunda condición, es necesario que y

sean de distinto signo o ambas iguales a 0. Es decir, es definida negativa si:

es:

Entonces podemos observar que habrá que buscar una función para la acción de control para que se cumpla con la ecuación (13). La elaboración de esta función se realizara en dos pasos, la primera es el desarrollo del llamado control equivalente. Para desarrollar el control equivalente utilizamos la

ecuación correspondiente a es decir:

Despejando obtendremos:

De ahora en delante denominaremos a la función directamente como control equivalente. En la segunda etapa buscaremos la otra parte del control, a la que llamaremos control discontinuo, y

denominaremos como , tal que, el control total será la suma de ambas partes:

Introduciendo el concepto del control equivalente en la ecuación (13) resulta que la segunda condición puede resumirse en que:

será definida positiva si:

Page 82: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

82

Luego el control discontinuo, que es la diferencia entre el control total y el control equivalente, debe ser una función de tal manera que verifique la ecuación (17). Para cumplir con esto la función elegida debe cumplir que.

Intuitivamente podemos ver que para cumplir estas condiciones debe ser una función como:

Proporcionando la función el signo de :

Quedando el control total como:

Se puede demostrar fácilmente que una función de control de esta forma cumple la segunda condición de la función de Lyapunov para conseguir estabilidad asintótica:

Sustituyendo por su ecuación (19) y despejando nos queda:

Y como puede verse de forma intuitiva es definida negativa sea cual sea el signo de ya que,

anteriormente definimos en la ecuación del sistema (1) que y cuando definimos el

control discontinuo que . Entonces la ley de control de la ecuación (19) cumple las dos

condiciones para estabilidad asintótica de la función de Lyapunov y por lo tanto la condición de

accesibilidad. Queda demostrada la estabilidad en la convergencia a la superficie de deslizamiento.

Page 83: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

83

Apéndice 4: Ejemplo de SSMC Para aclarar conceptos un ejemplo de SSMC convencional se muestra a continuación. Se trata del típico sistema dinámico masa-resorte-amortiguador. Primero realizaremos un lazo de control tradicional basado en la dinámica del sistema y luego realizaremos un lazo de control utilizando el control en modo deslizante. En este sistema nuestros parámetros principales son:

M: La masa del sistema

D: El Coeficiente de amortiguamiento

K: La constante de elasticidad del resorte

Donde F será la fuerza aplicada a la masa e y la dirección de desplazamiento. La dinámica de este sistema típico será (23) y el objetivo de la ley de control será hacer converger y a un punto deseado yd a través de la acción de control F:

Aplicando una ley de control tradicional como (24) y sustituyendo F en la ecuación (23), nos quedara la ecuación (25):

Si consideramos: La dinámica en bucle cerrado será:

Si denominamos la velocidad del sistema y la posición , podemos representar la dinámica en bucle cerrado como:

Así podemos ver que con este tipo de controlador el sistema es autónomo y su comportamiento solo

depende de las condiciones iniciales y de los parámetros k, d, y m.

Figura 1

Page 84: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

84

Podemos simular el comportamiento dinámico de este sistema en bucle cerrado para unos parámetros

típicos como por ejemplo: y unas condiciones iniciales como: quedándonos el sistema (27) como:

Y obteniendo una convergencia muy lenta del sistema al punto de equilibrio como la mostrada en las figuras 3 y 4, correspondientes a la evolución temporal de las variables de estado del sistema y al plano de fase respectivamente.

Es necesario recordar que el punto de equilibrio es , por lo que se lleva el sistema al

estado deseado, o lo que es lo mismo

e

. Eso si, como ya se ha dicho la convergencia

es muy lenta y sobre todo: dependiente solamente de las condiciones iniciales y de los parámetros de la dinámica del sistema, es decir, la masa, la elasticidad del resorte y el amortiguamiento, por este motivo el conocimiento preciso de estos parámetros es necesario para el desarrollo del controlador. Realizaremos ahora un controlador en modo deslizante para el mismo sistema dinámico. Estudiando

y demostrando la estabilidad del controlador. Tomando el sistema de la ecuación (23) y despejando :

Y transformándolo renombrando de la siguiente forma:

; ;

;

; ;

Lo transformaremos en un sistema no lineal genérico, nos quedara:

Figura 2 Figura 4

Page 85: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

85

Puede observarse que las funciones y son lineales por lo que también podríamos desarrollar el controlador como para un sistema lineal, el resultado sería el mismo. Siguiendo el procedimiento general para sistemas no lineales la ley de control en modo deslizante vendrá dada por la ecuación (20):

Si hacemos la misma sustitución numérica que en el ejemplo de control tradicional: Solo tendremos que determinar los parámetros de diseño del controlador: La superficie de

deslizamiento ( ) y la ganancia del control no lineal ( ); y la ley de control nos quedara:

tal que Pudiera parecer en principio que la ley de control depende de los parámetros de la dinámica del sistema como la masa o el amortiguamiento, pero hay que recordar que una vez en la superficie de

deslizamiento, bajo la condición la convergencia al punto de equilibrio deseado se basa

únicamente en la dinámica de deslizamiento que vendrá dada por: únicamente dependiente de los parámetros de diseño del controlador. Como puede observarse en la figura 5 (evolución temporal de las variables de estado del sistema) la convergencia al punto de equilibrio del sistema con un controlador en modo deslizante es muchísimo más rápida que la convergencia con el controlador tradicional (Figura 3), a partir del mismo estado

inicial ( ). Tarda 3 segundos en alcanzar el equilibrio frente a los casi 40 del control tradicional. También podemos observar en la figura 6 (plano de fase) como después de un

transitorio alcanza la superficie de deslizamiento, que en este caso es la recta y después converge por ella al punto de equilibrio. Además comparando ambas graficas podemos ver que la

superficie de deslizamiento se alcanza cuando ; es decir para un tiempo igual a 0.79 segundos.

Figura 5

Figura 6

Page 86: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

86

Si observamos la evolución temporal de la señal de control (figura 7) podemos observar también que en el instante en que se alcanza la

superficie de deslizamiento ( ), junto a la señal de control global comienza el fenómeno de reticencia, el “chattering”, que como vemos es una señal de alta frecuencia solapada a la señal de control global, debida a la

función , ya que en las proximidades de

la superficie de deslizamiento ( ), el signo

de fluctua mucho, respondiendo la ley de control para corregir esta desviación con una acción proporcional a la ganancia del control no

lineal, en este caso ; por eso podemos observar en la figura 7 que el intervalo de la

reticencia es de la señal de control.

Esta señal de alta frecuencia, el “chattering” representa el mayor problema del control por modo deslizante, ya que, como ya se ha dicho, esta conmutación de alta frecuencia puede producir vibraciones, representando un riesgo grande para los actuadores de la mayoría de robot convencionales porque produce el deterioro de los mismos por efecto de la fatiga. A continuación se muestran las gráficas de la evolución temporal de las variables de estado del sistema,

de plano de fase y de la evolución de la señal de control, para un controlador que sustituye la función

por la funcion ; aquí podemos observar como las transiciones son más suaves y sobre

todo que además desaparece el “chattering”; todo ello sin perder robustez frente a incertitud de

parámetros.

Figura 7

Page 87: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

87

Apéndice 5: Eliminación del chattering.

Problema del cumplimiento de la restricción generalizada.

Como podemos ver la aplicación más importante de los HOSMCs (control por modos deslizantes de

orden superior) es la de la eliminación del “chattering”. En el modo de 2º orden, por lo tanto,

pretenderá lograr en el sistema un movimiento deslizante en el colector de deslizamiento (Superficie

de deslizamiento) por medio de una señal de entrada limitada y continua que sea la salida de un

sistema dinámico de primer orden impulsado por una adecuada señal discontinua. Tal dinámica de

primer orden puede ser cualquiera inherente al dispositivo de control o especialmente introducida para

el propósito de la eliminación del “chattering”.

Definimos un sistema a controlar, una variable de deslizamiento y una señal de control genéricos,

respectivamente como:

Asumiendo que tanto como son funciones continuas, y que la única información disponible son los

valores instantáneos de y posiblemente, el signo de la derivada temporal de . Podemos

derivar dos veces la variable de deslizamiento:

El objetivo del control de 2º orden será llevar a cero en un tiempo finito por medio de un control

continuo dependiente del tiempo. Para establecer un problema de control riguroso asumiremos

las siguientes condiciones:

1) Los valores de control pertenecerán al conjunto , donde es una contante

real. De tal manera que la solución del sistema estará bien definida para todo , generando un

continuo y perteneciente a para todo .

2) Existirá una constante , tal que, para una función continua que cumple que

, existirá un , tal que, para todo . Luego, el control

, (donde es el valor inicial de tiempo) proporcionará una tendencia a la

variedad en tiempo finito.

3) Siendo la derivada total de la variable de deslizamiento . Existirán las

constantes positivas: , tal que, si , entonces:

Y la inecuación implicará que .

Page 88: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

88

4) Existirá una constante positiva tal que para la región , se verificará la siguiente inecuación:

La condición 2 anterior significa que a partir de cualquier punto del espacio de estado, es posible

definir un control adecuado para dirigir la variable de deslizamiento (dentro de un conjunto), de tal manera que se cumplan las condiciones de acotación sobre la dinámica deslizante definidas por las condiciones 3 y 4.

En particular, afirman que la segunda derivada temporal de la variable de deslizamiento , evaluada

con valores fijos de la variable de control , será uniformemente acotada en un dominio acotado.

De ello se deduce, a partir del teorema de la función implícita, que existe una función

que puede ser considerada como control equivalente, que satisface la ecuación y una vez se

alcanzada la región , el control proporcionará el cumplimiento exacto de esta

condición.

Las condiciones 3 y 4 significan que implica , y que la velocidad de cambio

de está limitada. Esto proporciona la posibilidad de aproximar por un control Lipschitziano.

La unidad que es la cota superior de y es en realidad un factor de escala (puede ser ponderado en función de las necesidades). Hay que tener en cuenta también que la dependencia lineal en el

control no es necesaria aquí.

Los sistemas indeterminados en forma habitual, es decir, sistemas afines en y, posiblemente, en , son un caso especial del sistema considerado hasta ahora, y el correspondiente problema de cumplimiento de la restricción puede ser reducido y considerado uno (grado relativo).

En caso de grado relativo dos, el planteamiento del problema de control podría ser derivado de lo

anterior, considerando la variable como una variable de estado y como el control real. En efecto, si el sistema de control es:

Donde y son funciones vectoriales indeterminadas pero suficientemente lisas, tal que:

.

Podemos llegar a que, asumiendo que ; en una pequeña vecindad

de la región el sistema estará descrito por:

1. Si el grado relativo es uno:

2. Si el grado relativo es dos:

Page 89: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

89

Apéndice 6: Desarrollo de la ecuación de la mecánica de ROV.

La ecuación que modela la dinámica de la planta es la siguiente:

Como ya se ha dicho varias veces, la implementaremos en el entorno matlab simulink para simular el

controlador. Para su implementación renombraremos de la siguiente manera: , y ,

y despejando sus derivadas nos quedara:

Donde y serán nuestros vectores de variables de estado de nuestro sistema, y la salida sera el

vector de posición respecto del b-frame, es decir: .

Desarrollando las dos ecuaciones de acuerdo a lo visto anteriormente:

Desarrollando cada matriz y vector completamente:

Page 90: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

90

Si le damos su valor numérico correspondiente a cada variable: -+

La masa:

El peso:

La flotabilidad: (el volumen no será exactamente porque no es

un cubo perfecto)

Los momentos de inercia respecto de los ejes

principales de inercia , , se calcularan

suponiendo el ROV como un paralelepípedo

conociendo la ecuación general para el cálculo

del momento de inercia de un paralelepípedo

con respecto a uno de sus ejes de simetría.

Notar que, al coincidir los ejes del b-frame con los ejes principales de inercia (de simetría), se

anulan los elementos fuera de la diagonal principal.

Las fuerzas de amortiguamiento en función de la velocidad se determinaran

experimentalmente, tal que:

Como ya se dijo los centros de gravedad y de flotabilidad estarán alineados en la misma

vertical que el centro del sistema de referencia fijo al cuerpo (b-frame), su valor será:

Figura A6.1: Paralelepípedo: ejes de simetría

Page 91: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

91

La mecánica del ROV se programara en matlab siguiendo el siguiente diagrama de flujo:

Este será el código del script en matlab:

function out = mecanicarov(in)

%vector de posición y orientación del robot eta=in(1:6); %orientación del robot phi = etat(4); theta = eta(5); psi = eta(6);

%vector de velocidad en b-frame nu=in(7:12);

%vector de fuerzas ejercidas sobre el robot tau=in(13:18);

%matriz de transformación del b-frame al n-frame [J,J1,J2]=eulerang(phi,theta,psi);

%peso y flotabilidad W= 30; Buy= 31.16

%vectores de posición de los centros de gravedad y flotabilidad rg=[0 0 0.02]'; rb=[0 0 0]'; Ix= W/10*(0.149^2+0.152^2)/12; Iy= W/10*(0.154^2+0.152^2)/12; Iz= W/10*(0.149^2+0.154^2)/12;

%matriz de inercia MRB=[ W/10 0 0 0 0 0;0 W/10 0 0 0 0;0 0 W/10 0 0 0;0 0 0 Ix 0 0; 0 0 0 0 Iy

0;0 0 0 0 0 Iz]; M=MRB;

%amortiguamiento Dl=[14 0 0 0 0 0; 0 14 0 0 0 0; 0 0 14 0 0 0;0 0 0 0.15 0 0; 0 0 0 0 0.17 0;

0 0 0 0 0 0.18]; %Linear Damping D=Dl;

MECANICA

Page 92: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

92

%fuerzas de restauración g=gvect(W,Buy,theta,phi,rg,rb);

%Ecuaciones de la dinamica etadot=J*nu;%Ec1 despejando x1'=J*x2 nudot=pinv(M)*(tau-D*nu-g);%Ec2 despejando x2'

%Vector de variables de estado xdot = [ etadot nudot ];

out=xdot;

Notar que, para la programación en matlab, calcularemos las matrices J y g utilizando las funciones

eulerang y gvect de la librería de herramientas de matlab MSS GNC para la navegación la guía y el

control de sistemas marinos. Aunque podríamos haberlas calculado por nuestra cuenta.

Page 93: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

93

Apéndice 7: Descripción del modelado de los accionadores.

Figura 12: Funcionamiento de los accionadores

Recordamos que sera:

La matriz será:

La acción saturara a , es decir, cada motor tendrá una fuerza máxima de en ambos

sentidos. Sobre la función de transferencia hay que decir que desconocemos por completo el

comportamiento dinámico particular de estos propulsores, pero podemos aproximar su función de

transferencia de un motor de corriente continua:

Donde será la tensión aplicada al motor en los terminales del estator, el par ejercido por el

mismo, es la constante del motor, y es la resistencia y la inductancia del circuito del estator.

Esta consideración nos sirve para aproximar la función de transferencia que simula el comportamiento

dinámico del motor por una función de transferencia de primer orden, es decir, con un polo.

Experimentalmente determinaremos esta función de transferencia que simula el comportamiento

dinámico del motor de forma aproximada como:

ACCIONADORES

Page 94: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

94

Apéndice 8: Desarrollo del generador de trayectoria deseada.

Vector de variables de estado deseadas.

En este apéndice definiremos el modulo que generará el vector de variables de estado del sistema

deseadas, de cara a calcular el error del sistema para que el controlador pueda llevar al sistema al

estado deseado. En este proyecto el sistema es un robot móvil y el controlador se encargara del guiado

del mismo, y como bien sabemos el estado deseado del sistema será una posición determinada, y lo

que se pretende es que el robot siga una trayectoria que será un conjunto de posiciones distintas en

función del tiempo.

Entonces, como es evidente, la entrada a nuestro modulo será la trayectoria deseada a seguir por el

robot, que introducirá el operador que controle el mismo, esta trayectoria será un vector de posición y

orientación en función del tiempo, es decir:

Tal que:

Como sabemos que los vectores de variables de estado de nuestro robot son la posición y orientación, y

la velocidad, y entonces la trayectoria deseada se corresponderá ya directamente con

el primer vector de variables de estado deseadas:

Y la labor de este módulo será sencillamente calcular el segundo vector de variables de estado deseado

que será como es evidente el correspondiente a la velocidad:

Así que simplemente habrá que derivar la posición y aplicar la ecuación de la cinemática:

Y a su vez la matriz estará simplificada y se aproximara por otra casi constante de la misma

forma que se hizo en el apartado 2.3.1 (para ser coherentes). Despejando la ecuación anterior:

Así pues la estructura de este módulo será tan sencilla como:

Page 95: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

95

El filtro en este caso solo hace la función de suavizar la trayectoria deseada frente a posibles

discontinuidades en la misma [17].

Filtro

Trayectoria

de entrada

Page 96: Control POR modo deslizante de un vehiculo submarino tipo rovchemori/Temp/Auwal/Other_docuements/rapportdemaster.pdfdeseada del robot y el control elabora las acciones de los propulsores

96