Página principal | Jerarquía de la clase | Lista alfabética | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

Referencia de la Clase CONTROLADOR_DE_VUELO

#include <controlador.h>

Diagrama de herencias de CONTROLADOR_DE_VUELO

Inheritance graph
[leyenda]
Diagrama de colaboración para CONTROLADOR_DE_VUELO:

Collaboration graph
[leyenda]
Lista de todos los miembros.

Métodos públicos

 CONTROLADOR_DE_VUELO ()
 La constructora desactiva todas las propiedades del controlador.

BOOLEAN leer (TOKENIZADOR *Sabiondo)
 Lee la configuracion del controlador a partir de un archivo .aqz.

BOOLEAN resolver (LISTA< SENSOR * > *sensores, LISTA< ACTUADOR * > *actuadores)
 AQUYNZA construye sus sistemas de control a partir de especificaciones de SENSORes, ACTUADORes y CONTROLADORES que se leen desde un archivo .aqz.

void ejecutar (void)
 Fijese que los parametros de entrada a este controlador, o sea los valores de sus sensores, son: - `o`: orientacion en angulos EULER.


Atributos privados

SENSOR_VECTORSensor_velocidad
SENSOR_VECTORSensor_orientacion
SENSOR_FLOATSensor_drapidez
SENSOR_FLOATSensor_dyaw
SENSOR_FLOATSensor_dpitch
SENSOR_FLOATSensor_droll
ACTUADOR_VECTORActuador_velocidad
ACTUADOR_VECTORActuador_orientacion
char * Nombre_sensor_velocidad
char * Nombre_sensor_orientacion
char * Nombre_sensor_drapidez
char * Nombre_sensor_dyaw
char * Nombre_sensor_dpitch
char * Nombre_sensor_droll
char * Nombre_actuador_velocidad
char * Nombre_actuador_orientacion

Documentación del constructor y destructor

CONTROLADOR_DE_VUELO::CONTROLADOR_DE_VUELO  ) 
 

La constructora desactiva todas las propiedades del controlador.

Dichas propiedades deben ser activadas por el usuario modelador en un archivo .aqz, que sera cargado en el metodo `leer`.

Definición en la línea 354 del archivo controlador.C.

References Actuador_velocidad, Nombre_actuador_velocidad, Nombre_sensor_dpitch, Nombre_sensor_drapidez, Nombre_sensor_droll, Nombre_sensor_dyaw, Nombre_sensor_orientacion, Nombre_sensor_velocidad, Sensor_dpitch, Sensor_drapidez, Sensor_droll, Sensor_dyaw, y Sensor_velocidad.


Documentación de las funciones miembro

void CONTROLADOR_DE_VUELO::ejecutar void   )  [virtual]
 

Fijese que los parametros de entrada a este controlador, o sea los valores de sus sensores, son: - `o`: orientacion en angulos EULER.

Determina la matriz de rotacion `R`, cuyas columnas son los vectores ortogonales que conforman la base de coordenadas locales para la COSA controlada.

  • `v`: vector de velocidad de la COSA controlada. Notese que no necesariamente coincide con ningun vector particular de `R`.
  • `timon`: (variable de control) es un flotante entre -1 y 1 que determina cambios de orientacion para `R`.
  • `empuje`: (variable de control) es un flotante entre -1 y 1 que determina cambios de velocidad para la COSA controlada.

Pues bien, la idea de este controlador es que la COSA controlada se comporte como un avion, controlado por un timon y un pedal de empuje. (pero no es mas bien un carro?)

Las CONSIGNAS DE CONTROL de este controlador es la siguiente:

  • El vector de velocidad tiende a estar siempre apuntando hacia la direccion de

El comportamiento esperado es el siguiente:

  • Los valores de la aceleracion y la direccion tienen su "centro de reposo" en 0, y varian mas o menos de -1 a 1.
  • Un valor negativo en la direccion gira el avion hacia su izquierda. Uno positivo lo gira hacia su derecha.
  • Un valor positivo de aceleracion aumenta la velocidad "hacia adelante", o sea que la escala positivamente. Uno negativo la disminuye hasta llevarla a 0.

Implements CONTROLADOR.

Definición en la línea 510 del archivo controlador.C.

References Actuador_orientacion, Actuador_velocidad, ACTUADOR_VECTOR::actuar(), SENSOR_FLOAT::evaluar(), SENSOR_VECTOR::evaluar(), MATRIZ_4x4::exportar_angulos_euler(), MATRIZ_4x4::M, VECTOR::norma(), VECTOR::normalizar(), MATRIZ_4x4::rotacion_angulos_euler(), MATRIZ_4x4::rotacion_eje(), Sensor_dpitch, Sensor_drapidez, Sensor_droll, Sensor_dyaw, Sensor_orientacion, Sensor_velocidad, VECTOR::x, VECTOR::y, y VECTOR::z.

Here is the call graph for this function:

BOOLEAN CONTROLADOR_DE_VUELO::leer TOKENIZADOR Sabiondo  )  [virtual]
 

Lee la configuracion del controlador a partir de un archivo .aqz.

En esta fase del proceso de creacion solo se determinan los nombres de los sensores y actuadores necesarios, que solo se determinan en hasta llamar el metodo `resolver`.

Implements CONTROLADOR.

Definición en la línea 377 del archivo controlador.C.

References Nombre_actuador_orientacion, Nombre_actuador_velocidad, Nombre_sensor_dpitch, Nombre_sensor_drapidez, Nombre_sensor_droll, Nombre_sensor_dyaw, Nombre_sensor_orientacion, Nombre_sensor_velocidad, TOKENIZADOR::siguiente_token(), TK_ABRIR, TK_CERRAR, TK_DESCONOCIDO, y TK_IDENTIFICADOR.

Here is the call graph for this function:

BOOLEAN CONTROLADOR_DE_VUELO::resolver LISTA< SENSOR * > *  sensores,
LISTA< ACTUADOR * > *  actuadores
[virtual]
 

AQUYNZA construye sus sistemas de control a partir de especificaciones de SENSORes, ACTUADORes y CONTROLADORES que se leen desde un archivo .aqz.

Dado que la sintaxis no exige que el modelador declare dichos componentes en ningun orden particular, es necesario cargar primero todo y luego encadenar los componentes.

Dada las listas con sensores y actuadores precargados, este metodo se encarga de encadenar el controlador con sus partes para formar un sistema de control completo.

Notese que se esta tarea se realiza en 4 pasos:

  • Verifica que todas las cadenas con los nombres de los sensores y actuadores hayan sido especificadas.
  • Busca los sensores que corresponden a los nombres asignados y los enlaza
  • Busca los actuadores que corresponden a los nombres asignados y los enlaza
  • Verifica que todos los sensores y actuadores necesarios hayan sido enlazados.

Implements CONTROLADOR.

Definición en la línea 435 del archivo controlador.C.

References Actuador_orientacion, Actuador_velocidad, Nombre_actuador_orientacion, Nombre_actuador_velocidad, Nombre_sensor_dpitch, Nombre_sensor_drapidez, Nombre_sensor_droll, Nombre_sensor_dyaw, Nombre_sensor_orientacion, Nombre_sensor_velocidad, Sensor_dpitch, Sensor_drapidez, Sensor_droll, Sensor_dyaw, Sensor_orientacion, Sensor_velocidad, T_FLOAT, T_VECTOR, y LISTA< T >::tam().

Here is the call graph for this function:


Documentación de los datos miembro

ACTUADOR_VECTOR* CONTROLADOR_DE_VUELO::Actuador_orientacion [private]
 

Definición en la línea 78 del archivo controlador.h.

Referenciado por ejecutar(), y resolver().

ACTUADOR_VECTOR* CONTROLADOR_DE_VUELO::Actuador_velocidad [private]
 

Definición en la línea 77 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), ejecutar(), y resolver().

char* CONTROLADOR_DE_VUELO::Nombre_actuador_orientacion [private]
 

Definición en la línea 87 del archivo controlador.h.

Referenciado por leer(), y resolver().

char* CONTROLADOR_DE_VUELO::Nombre_actuador_velocidad [private]
 

Definición en la línea 86 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), leer(), y resolver().

char* CONTROLADOR_DE_VUELO::Nombre_sensor_dpitch [private]
 

Definición en la línea 84 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), leer(), y resolver().

char* CONTROLADOR_DE_VUELO::Nombre_sensor_drapidez [private]
 

Definición en la línea 82 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), leer(), y resolver().

char* CONTROLADOR_DE_VUELO::Nombre_sensor_droll [private]
 

Definición en la línea 85 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), leer(), y resolver().

char* CONTROLADOR_DE_VUELO::Nombre_sensor_dyaw [private]
 

Definición en la línea 83 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), leer(), y resolver().

char* CONTROLADOR_DE_VUELO::Nombre_sensor_orientacion [private]
 

Definición en la línea 81 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), leer(), y resolver().

char* CONTROLADOR_DE_VUELO::Nombre_sensor_velocidad [private]
 

Definición en la línea 80 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), leer(), y resolver().

SENSOR_FLOAT* CONTROLADOR_DE_VUELO::Sensor_dpitch [private]
 

Definición en la línea 75 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), ejecutar(), y resolver().

SENSOR_FLOAT* CONTROLADOR_DE_VUELO::Sensor_drapidez [private]
 

Definición en la línea 73 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), ejecutar(), y resolver().

SENSOR_FLOAT* CONTROLADOR_DE_VUELO::Sensor_droll [private]
 

Definición en la línea 76 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), ejecutar(), y resolver().

SENSOR_FLOAT* CONTROLADOR_DE_VUELO::Sensor_dyaw [private]
 

Definición en la línea 74 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), ejecutar(), y resolver().

SENSOR_VECTOR* CONTROLADOR_DE_VUELO::Sensor_orientacion [private]
 

Definición en la línea 72 del archivo controlador.h.

Referenciado por ejecutar(), y resolver().

SENSOR_VECTOR* CONTROLADOR_DE_VUELO::Sensor_velocidad [private]
 

Definición en la línea 71 del archivo controlador.h.

Referenciado por CONTROLADOR_DE_VUELO(), ejecutar(), y resolver().


La documentación para esta clase fué generada a partir de los siguientes archivos:
Este archivo HTML ha sido generado automáticamente a partir del código fuente AQUYNZA. NO LO EDITE. Para mayor información contacte al autor.