Está en la página 1de 23

Marco Teórico

1.1 Sistemas en Tiempo Real

Según Alonzo (2012), en su publicación (Generación Automática de Software para

Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y Frameworks).

Nos brinda un alcance sobre. Los Sistemas en Tiempo Real, son por naturaleza sistemas

heterogéneos que están involucradas en distintas plataformas de ejecución, estas plataformas

deben adaptarse a diversas restricciones (tiempo, energía, relación con el ambiente, etc.), así como

integrarse con otros programas, infraestructuras de comunicación, como es el caso de la robótica,

el desarrollo de software es hoy más un arte que una disciplina sistemática. La predictibilidad del

tiempo de respuesta determina el tiempo en el que el sistema emite una respuesta correcta ante un

estímulo, esta característica permite reconocer la prioridad cual va ser el comportamiento del

sistema en la peor condición y poder analizar el tiempo de respuesta del sistema.

Esta alternativa de diseño favorece la reutilización de elementos software y facilita el desarrollo

de sistemas a partir de elementos existentes, por informática industrial se entiende el uso de

sistemas informáticos en entornos industriales un computador en ese entorno debe ser capaz de

leer variables del entorno, a través de sensores adecuados y determinar acciones de respuestas

adecuadas hacia el exterior a través de actuadores correspondientes.

En tanto el mundo real puede producir distintos eventos al mismo tiempo, en el computador el

tratamiento será de manera secuencial, del modo que los estímulos externos aparecerán en

instantes de tiempo no predecibles o en forma paralela que son recibidos por el computador que

los tiene que resolver de manera secuencial y atendiendo las restricciones de respuesta. Los
sistemas en tiempo real se distinguen en críticos y acríticos, los sistemas de tiempo real critico son

aquellos en que las acciones del sistema se producen de forma obligatorita dentro de un plazo

especificado, estos sistemas comportan que, si se producen fallos de plazo, el sistema puede

evolucionar de forma catastrófica. En los sistemas de tiempo real acríticos las perdidas puntuales

de alguno de los plazos pueden producir que el sistema tenga un funcionamiento degradado

durante un intervalo que debe acotarse y permitir que el sistema recupere de forma rápida el

funcionamiento normal. Si este intervalo no se acota el sistema puede estabilizarse.

Figure 1 Proceso de un sistema real

Fuente: Alonzo (2012), en su publicación (Generación Automática de Software para Sistemas de Tiempo Real: Un
Enfoque basado en Componentes, Modelos y Frameworks).
Figure 2 Estructura de un Sistema de Tiempo Real

Fuente: Alonzo (2012), en su publicación (Generación Automática de Software para Sistemas de Tiempo Real: Un
Enfoque basado en Componentes, Modelos y Frameworks).

1.2 Características de STR

Según Romero (2002), en su publicación (Sistemas en Tiempo Real). Nos brinda un

alcance en cuanto a los diseños de software en tiempo real, cada controlador en un sistema

multifrecuencia estructura en una tarea, el sistema estará formado por una secuencial de tareas que

implementan cada uno de los controladores, el modelo periódico de tarea es conocido el modelo

para el cual se desarrollaron varias extensiones con diversas funcionalidades de STR, existen

diversos métodos como herramientas para su diseño, análisis y validación. Este se caracteriza por

parámetros funcionales como:


1.2.1. Periodo

Cada tarea es ejecutada de forma regular cada intervalo de tiempo. Específicamente, cada

periodo de una tarea Ti, denotado por Pi, es una secuencia de activaciones (a1, a2, a3, ...,

an) cada una de ellas en un intervalo de tiempo. En concreto, la activación aK deberá

ejecutarse dentro del intervalo denotado por [(k − 1). Pi, k. Pi].

1.2.2. Plazo de entrega

El plazo de entrega de una tarea Ti, denotado por Di, es el intervalo de tiempo máximo que

puede transcurrir entre instante a partir del cual debe activarse y su finalización.

Normalmente, el plazo de entrega de una tarea sea igual al periodo. Esto quiere decir que

cada activación de la tarea debe finalizar su ejecución antes del siguiente periodo. En

algunos casos, dependiendo de las restricciones de sistema, el plazo de entrega será menor

o mayor que el periodo.

1.2.3. Desfase inicial

El desfase inicial de una tarea Ti denota el desfase que tiene el inicio de la primera

activación de la tarea respecto al tiempo de inicio y se denota como φi. Los siguientes

parámetros dependen del procesador y del planificador.

1.2.4. Tiempo de computo

El tiempo de computo de una tarea Ti es el tiempo de CPU necesario, Ci, para completar

su ejecución en cada una de las activaciones. Este tiempo depende de la complejidad del

algoritmo de control y la velocidad del procesador. El tiempo de computo puede variar


atendiendo a distintos aspectos: código con ejecución condicional que pueden consumir

distinto tiempo o el subsistema de ejecución (memoria cache y pipeline). Esto hace que la

ejecución de una activación cualquiera de la tarea Ti pueda variar entre dos limites

[e − i , e+ i ], que se corresponden con el mínimo y máximo tiempo de computo,

respectivamente. El límite superior es el tiempo de peor caso (WCET) y es el que se usa

para el análisis de la planificabilidad.

1.2.5. Retardo de inicio

Una actividad de una tarea Ti tiene un retardo de inicio que corresponde con el tiempo en

el cual la actividad empieza a ser ejecutada. Este retraso viene determinado por el sistema

de ejecución (granularidad del reloj para reconocer el inicio del periodo, la ejecución del

planificador y la decisión del planificador sobre que tarea debe ejecutarse en cada instante)

y por las decisiones del planificador. Este retardo se puede modelar mediante un retardo

debido a los servicios del núcleo rmin y un intervalo [r − i , r+ i ] debido a la interferencia

de otras tareas . Este término recibe en la literatura el nombre de jitter de entrada.

1.2.6. Tiempo de finalización

El tiempo de finalización es el tiempo en el cual una actividad de una tarea Ti finaliza su

ejecución. Este tiempo depende del instante de inicio de la ejecución de la tarea, el tiempo

de computo necesario, los retrasos que la ejecución de la actividad ha podido sufrir al

acceder a datos compartidos y la interferencia de otras tareas más prioritarias. El tiempo de

finalización de una actividad se modela mediante un intervalo [f − i , f + i ] que delimita el

retardo de finalización y se denomina jitter de salida.


Figure 3. Parámetros de ejecución de una tarea

Fuente: Romero (2002), Sistemas en Tiempo Real.

1.3 Sistemas críticos

Según Alonzo (2012), en su publicación (Generación Automática de Software para

Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y Frameworks).

Nos indica que son aquellos sistemas en los que un fallo puede ocasionar consecuencias graves en

el entorno en el que está trabajando, tanto humanas como materiales (desfibriladores cardíacos,

sistemas de control de aviónica, sistemas de control de las plantas de energía nuclear, sistemas

antifrenado de los automóviles, etc). Los sistemas críticos deben tener las siguientes propiedades:
1.3.1. Confiabilidad

Es una de las características más importantes que debe poseer este tipo de sistemas,

ya que sin ello se produce una pérdida de confianza por parte del cliente, los costes

económicos y de información de las pérdidas pueden ser enormes. Para lograr una

confiabilidad perfecta se deben cumplir estas dimensiones.

 Disponibilidad

 Fiabilidad

 Corrección

 Precisión

 Seguridad

 protección

1.3.2. Mantenimiento

Cuando el sistema se encuentra en mantenimiento este debe ser realizado mediante

condiciones específicas, en tanto el sistema debe volver a su estatus normal en

determinado tiempo.

1.3.3. Fiabilidad

Está vinculada con el número de fallas que puede llegar a tener, las fallas se definen

como un comportamiento alejado del comportamiento que se espera, existen varios

tipos de fallas: los que son transitorios que desaparecen a lo largo del tiempo, los

permanentes que permanecen hasta que se reparan y los intermitentes que ocurren de

vez en cuando.
1.4 Planificación de Sistemas críticos

Según Romero (2002), en su publicación (Sistemas en Tiempo Real). Nos brinda un

alcance en cuanto a la ejecución de varias tareas realizadas por un mismo procesador y lo que esto

conlleva, la asignación del recurso (procesador) a cada una de las tareas durante el tiempo y por

otra parte la necesidad prioritaria si el conjunto de tareas cumple las restricciones temporales

impuestas por el área usuaria. Un planificador suministra un algoritmo u política para ordenar la

ejecución del conjunto de actividades de acuerdo a un criterio definido, en los sistemas operativos

convencionales, las actividades son ejecutadas de acuerdo a los criterios de equidad entre diversas

tareas, en cualquier c aso, el sistema operativo es quien realiza las operaciones de gestión

necesarios de los diversos recursos a un nivel prioritario, esto ocasiona que una tarea tenga que

esperar hasta que el sistema haya finalizado el servicio demandado por otra tarea menos urgente,

por lo tanto no se puede garantizar el correcto funcionamiento del sistema de control desde el

enfoque temporal. Es necesario la consideración de las restricciones temporales para poder ejecutar

las actividades del tiempo real con garantías y asegurar que el sistema operativo tenga un

comportamiento predecible, los sistemas operativos de tiempo real tienen este comportamiento por

lo tanto es apropiada la ejecución de sistema de control en tiempo real. Para poder garantizar el

cumplimiento de restricciones temporales es necesario realizar un análisis de planificabilidad

previo que nos permita conocer si las restricciones impuestas se van a cumplir en cualquier

situación. La planificación de sistemas de tiempo real se puede realizar en función de cuando y

como se tomen las decisiones de planificación, atendiendo a estos aspectos se pueden categorizar

los planificadores en grupos: off-line cuando la decisión se realiza en fase de diseño, como los on-

line cuando las decisiones se toman durante su ejecución.


1.4.1. Planificadores cíclicos

Según Alonzo (2012), en su publicación (Generación Automática de Software para

Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y

Frameworks). Nos indica que una primera aproximación al diseño del sistema de

tiempo real consiste en analizar a fondo la ejecución de las tareas, considerado una

ejecución estática decidida a ser prioritaria, esta planificación se denomina cíclica y

consiste en almacenar en una tabla el instante en que se debe ejecutar cada una de las

activaciones de las tareas o diseñar un secuenciador de las distintas actividades

realizadas. Este esquema resultara simple cuando el sistema de control tenga periodos

igualitarios o múltiplos entre sí. En caso de periodos muy desiguales y gestión de

eventos aperiódicos en el cálculo de la tabla pueden resultar complejo y largo. En ese

sentido cuando pueden existir retrasos en la llegada de los datos del proceso, se produce

una indeterminación que restringe el uso de ese tipo de planificación, en el caso más

complejo, la búsqueda de un plan requiere encontrar un intervalo submúltiplo del

hiperperiodo que permite la ejecución de las tareas cumpliendo los plazos, este problema

es computacionalmente complejo y requiere una serie de reglas que permitan reducir su

complejidad, un buen análisis del diseño de este tipo de planificadores y sus

implicaciones.
1.4.2. Planificadores basados en prioridades

Según Romero (2002), en su publicación (Sistemas en Tiempo Real). Nos indica que

los algoritmos de planificación que están basados en prioridades selección las tareas a

ejecutar entre las que se encuentre disponibles atendiendo a un criterio básico, esta

prioridad puede tener un carácter fijo o dinámico, lo que determinara el tipo de

algoritmo de planificación basada en sus prioridades fijas o basados en prioridades

dinámicas.

1.5 Planificación en prioridades fijas

Según Alonzo (2012), en su publicación (Generación Automática de Software para

Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y Frameworks).

Nos indica que se propusieron dos algoritmos óptimos basados en prioridades para la ejecución de

tareas con plazos iguales a periodos. El primer algoritmo propuesto consideraba una asignación de

prioridades fijas creciente con la frecuencia de las tareas y otro con asignación de prioridades

dinámicas atendiendo al plazo más corto. En este artículo se demostraba la posibilidad de poder

determinar si un conjunto de tareas era panificable o no. La condición de planificabilidad se basaba

en la utilización y era una condición suficiente pero no necesaria. Este trabajo puso las bases de la

teoría de planificación tal y como se la conoce actualmente, Aunque las restricciones impuestas en

el análisis fueron muy estrictas en posteriores trabajos estas restricciones se han ido eliminando e

incluyendo en el modelo.
1.4.1. Cálculo exacto del tiempo respuesta

En los trabajos anteriores se analizaba el sistema en base a la utilización, en donde se

propone un método de cálculo exacto de la respuesta de una tarea en la situación de peor

caso. El algoritmo tiene un coste pseudo-polinomial y permite determinar si el sistema

es panificable o no bajo la condición que el tiempo de respuesta de peor caso de cada

una de las tareas sea menor o igual que su plazo de entrega.

1.4.2. Periodos distintos plazos

La restricción de periodos iguales a plazos es analizada posteriormente y se propone una

asignación monotonía con el plazo con el cálculo exacto de los tiempos de respuesta en

el peor caso.

1.4.3. Tareas dependientes

La inclusión recursos compartidos en el análisis de planificación fue objeto de una

serie de protocolos basados en herencia de prioridad. En el que se propone y analiza el

protocolo básico de herencia de prioridad. También en este mismo artículo se propone

una mejora basada en protocolos de techo de prioridades que asignan al recurso una

prioridad techo que es heredada por la tarea. Otro protocolo de gestión de recursos

compartidos es debido a que se basa en un protocolo de pila.

1.4.4. Servidores aperiódicos

La integración de tareas aperiódicas se realiza mediante este tipo de servidores. Estos son

programados como tareas periódicas que con un tiempo de computo limitado por periodo,

dan servicio a tareas aperiódicas mejorando sus tiempos de respuesta e integrándolas en el

modelo de tareas periódicas.


1.6 Sistemas Operativos de Tiempo Real

Según Romero (2002), en su publicación (Sistemas en Tiempo Real). Nos indica que

un sistema operativo de tiempo real es una clase de sistemas operativo que cumple una determinada

serie de requisitos para poder brindar soporte a aplicaciones de tiempo real, un sistema operativo

de tiempo real o núcleo de tiempo real tiene que cumplir ciertas características:

1.5.1 Multiprogramación

Tiene que dar soporte a varias tareas de aplicación. Las aplicaciones de tiempo real son

multitarea y requieren un núcleo que permita crear tareas y gestionarlas atendiendo a los

plazos de ´estas. La capacidad para expulsar a una tarea de menor prioridad que otra que

solicita su atención (planificación expulsiva) es una característica básica.

1.5.2 Garantía de ejecución

Para poder garantizar la ejecución de las tareas, se tiene que poder seleccionar y ejecutar

atendiendo criterios tales como la prioridad de una tarea. La política de planificación es

la parte del núcleo encargada de la selección de la tarea. La prioridad de tarea podrá ser

determinada por el usuario u ser calculada por el sistema atendiendo a distintos criterios.

El número de los niveles de prioridad soportados debe ser como mínimo de 32.
1.5.3 Gestión del tiempo

La gestión del tiempo es fundamental para las aplicaciones de tiempo real. El sistema

debe ser capaz de gestionar un reloj que sea siempre creciente y gestionar un número de

temporizadores adecuado para permitir el control de los distintos requisitos temporales

de las tareas. Funciones para acceder al reloj, operar con él, programar retardos

absolutos y relativos, etc., son necesarios para que las aplicaciones especifiquen

adecuadamente sus restricciones temporales. Adicionalmente, es aconsejable disponer

de relojes de alta resolución y relojes de ejecución asociados a cada tarea para conocer

y tomar decisiones sobre el tiempo de ejecución de estas.

1.5.4 Comunicación y sincronización

Las tareas requieren un modelo para comunicarse y sincronizarse. El sistema operativo

debe ofrecer los mecanismos básicos y los protocolos adecuados (basados en herencia

de prioridad) para sincronizar y comunicar de forma segura y eficiente las tareas de la

aplicación. Estos modelos se basan en esquemas de memoria compartida y paso de

mensajes.

1.5.5 Gestión de memoria

Por un lado, es importante que el espacio de direccionamiento del núcleo este protegido

respecto a la aplicación. Esto es fundamental para evitar que fallos en la aplicación

afecten al propio sistema operativo. Por otro lado, el núcleo tiene que suministrar

mecanismos predecibles para la gestión de memoria dinámica que puedan utilizar las

aplicaciones
1.7 Lenguajes de Tiempo Real

Según Alonzo (2012), en su publicación (Generación Automática de Software para

Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y Frameworks).

Nos dice que La programación de sistemas de tiempo real se ha hecho clásicamente mediante

lenguajes sin características específicas para sistemas de tiempo real. Para poder utilizar las

abstracciones adecuadas para su programación es necesario utilizar llamadas a un sistema

operativo que las proporcione. El uso de lenguajes específicos de tiempo real presenta algunas

ventajas sobre este enfoque:

1.6.1 Portabilidad

La codificación del programa y su comportamiento no depende del sistema operativo.

1.6.2 Fiabilidad

El compilador puede realizar comprobaciones de buen uso de las construcciones de

tiempo real del lenguaje.

1.8 Planificación de Sistemas acríticos

Según Romero (2002), en su publicación (Sistemas en Tiempo Real). Nos indica que

la mayoría de investigaciones sobre sistemas de tiempo real se han centrado en los sistemas

críticos, sin embargo, hay muchos sistemas con requisitos temporales en los que los

incumplimientos esporádicos de plazos de respuesta no constituyen un problema grave. Una

estructura adecuada para realizar este enfoque consiste en disponer de una entidad que se encarga
de gestionar el sistema y las aplicaciones. Así, por ejemplo, se pueden identificar dos niveles

diferentes de operación del gestor:

1.8.1. Gestión de calidad de servicio

El objetivo es maximizar la calidad que proporciona el sistema. Para ello, hay que

decidir la cuota de uso de los recursos que se asigna a las aplicaciones, la cual dependerá

de la importancia de las aplicaciones, los recursos que necesitan para ejecutar y los

recursos disponibles. Esta decisión

1.8.2. Gestión de recursos

Este nivel se encarga de comprobar que la asignación de recursos a las aplicaciones es

factible, en el sentido de que son suficientes. Otra operación fundamental de este gestor

es garantizar el cumplimiento de las cuotas asignadas a las aplicaciones. Esta

funcionalidad se basa en la capacidad para medir en tiempo de ejecución los recursos

utilizados por las aplicaciones e impedir que empleen más que los asignados.

1.9 sistemas distribuido de tiempo real

Según Alonzo (2012), en su publicación (Generación Automática de Software para

Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y Frameworks).

Nos dice que Un sistema distribuido de tiempo real está compuesto por un conjunto de

computadores conectados en red, donde se ejecutan un conjunto de aplicaciones con requisitos

temporales. Este tipo de sistemas se emplean porque es necesaria una capacidad de computo que

no puede proporcionar. Los sistemas distribuidos de tiempo real presentan problemas adicionales

a los sistemas centralizados, como:


1.9.1. Planificación de la red

En un sistema centralizado, el procesador suele ser el único recurso que se planifica. En

un sistema distribuido los mensajes que intercambian las aplicaciones tienen requisitos

temporales. Por tanto, es necesario emplear protocolos de comunicación que permitan

acotar el tiempo de entrega de los mismos.

1.9.2. Asignación de tareas procesadores

El planificador tiene que decidir que tareas se ejecutan en que procesador. Una

asignación incorrecta puede impedir que algunos procesos cumplan sus plazos de

respuesta.

1.9.3. Plazos de respuesta global

En un sistema distribuido no solo hay que fijarse en los plazos de respuesta de un

proceso o mensaje aislado. Una aplicación distribuida puede ejecutar partes de su código

en distintos procesadores y usar mensajes para coordinar la ejecución de las mismas. En

este caso, es importante calcular el tiempo de respuesta desde que comienza a ejecutar

la aplicación distribuida hasta que se completa su ejecución.


1.9.4. Sincronización de relojes

Los relojes hardware de distintos procesadores pueden tener diferentes valores,

motivados por pequeñas derivas del hardware local. Estas diferencias pueden llegar a

ser suficientemente grandes como para que lo que en un procesador se considere que un

suceso ocurre a tiempo, en otro se interprete que ocurre fuera de plazo. En aquellos

sistemas en los que se deba evitar este tipo de interpretaciones divergentes hay que

garantizar que la diferencia entre los valores este acotada.

1.9.5. Tolerancia a fallos

Uno de los motivos de usar un sistema distribuido puede ser la necesidad de garantizar

un comportamiento correcto en presencia de fallos. La tolerancia a fallos en sistemas

distribuidos de tiempo real es bastante compleja. La razón es que las técnicas de

tolerancia a fallos ejecutan una serie de operaciones adicionales para recuperarse o

detectar fallos. Dado que no es posible determinar cuándo aparecerán, puede ocurrir que

estas operaciones impidan a algún proceso cumplir sus requisitos temporales.


2.1 Semáforo Inteligente

Según Martínez (2010), en su publicación (Semáforos Inteligentes). Nos indica que

los semáforos son dispositivos utilizados para gestionar el tráfico, permitiendo o impidiendo el

paso de conductores y peatones en cada vía. Los semáforos son sistemas temporizados que pasan

de un estado a otro siguiendo un patrón de secuencias fijas, carecen de inteligencia para tomar

decisiones, lo que representa una gran desventaja durante las horas picos en importantes arterias

viales ya que los cambios se realizan en tiempos no adaptados a las condiciones del tráco, y

mientras una intersección vacía tiene luz verde la arteria principal se detiene a esperar el cambio,

agrupando los vehículos hasta congestionar el canal., A partir de esta problemática, surgen los

Semáforos Inteligentes capaces de tomar decisiones ante una condición de tráfico, Este tipo de

tecnología va evolucionando con el correr del tiempo y se espera que para los próximos años sea

capaz de tomar decisiones propias y controlar el tráfico sin tener que contar con la presencia de

policías de tránsito.

La primera pregunta que debemos responder es el por qué utilizar semáforos inteligentes. Ates de

explicar el por qué es necesario tener una idea de cómo funciona y a que se considera un semáforo

inteligente. Se considera semáforo inteligente a todo aquel capaz de tomar decisiones

despendiendo de una serie de parámetros de entrada que vendría a ser el flujo de vehículos, medida

de velocidad, calles entre otros. En otras palabras, el comportamiento del mismo es de forma

dinámica y se ajusta de acuerdo a varios parámetros. Actualmente existen diversas tecnologías

implementadas, pero aún no se encuentra la mejor fórmula al problema principal de la ciudad, la

congestión vehicular, este enfoque tiene varios aspectos positivos.


Estos semáforos se presentan para la solución de varios problemas de tránsito comunes en todo el

mundo, se citará algunos problemas:

 Congestión vehicular

 Tiempos prolongados de viaje

 Tiempo de espera prolongado

 Mayor gasto en combustible

 Mayor contaminación del medio ambiente


Figure 4 Esquema de un semáforo inteligente

Fuente: Martínez (2010), Semáforos Inteligentes.

El proceso de decisión para el control de tráfico inteligente depende de la información en tiempo

real proporcionado por el sistema. Se captan los datos y son almacenados en una base de datos

centralizada. Estos sensores captan la ubicación y el tiempo de cada vehículo y se guardan como

una etiqueta que puede ser referenciada a través de un identificador. En cada cruce, la espera de

los semáforos depende de la congestión, la longitud de la cola y otros parámetros de entrada. La

comunicación entre el semáforo y el algoritmo de decisión se hace a través de internet. Con los

sensores ubicados en diferentes sectores se toman los tiempos, así como los tipos de vehículos;

todos los datos se van cargando en una tabla. Es posible determinar la velocidad media de los

vehículos que están transitando, velocidad después de estar parado, saber características

específicas de los vehículos entre otros parámetros. Si ocurre una situación extraña como un
accidente, todavía es posible controlar el tráfico ya que los datos acumulados en la base

centralizada pueden ser utilizados. El sistema puede aprender las decisiones y puede producir un

escenario general del flujo de tráfico mediante la identificación de una variedad de situaciones:

 Determinar el patrón de circulación de vehículos en un determinado día.

 Determinar la secuencia más eficaz.

 Identificar la ruta más activa.

2.2 Semáforo Inteligente sensores inalámbricos

Según Reinoso (2009), en su publicación (Diseño de un prototipo para controlar un semáforo

inteligente usando tecnologías GSM/GORS y Wireless). Indica que se cuenta con un sistema

semafórico inteligente, capaz de controlar el tráfico y manipular en forma dinámica los tiempos de

espera. Este sistema cuenta con dos partes principales. La red de sensores inalámbricos y la

estación base que se encarga de ejecutarlos algoritmos de control.

La red se sensores inalámbricos consisten en un grupo de sensores diseñados para la proporción

de infraestructura de comunicación de tráfico y facilitar el flujo de tránsito, cada sensor se encarga

de generar los datos de trafico como el número de vehículos, los procesos de salida, velocidad de

cada vehículo, si longitud, estos datos son recopilados y se envían en tiempo real a la estación

base.
Figure 5 Esquema del semáforo inteligente usando Redes de Sensores inalámbricos

Fuente: Reinoso (2009), Diseño de un prototipo para controlar un semáforo inteligente usando tecnologías
GSM/GORS y Wireless.

En el esquema de la figura 5 se observa el TSN (Tra-c Sensor Nodes), es responsable de detectar

los vehículos, contarlos y transmitir información periódicamente a la Base BS. El sistema de

detección de vehículos requiere cuatro componentes: un sensor para detectar las señales generadas

por los vehículos, un procesador para los datos detectados, una unidad de comunicación para

transferir los datos procesados a la Base, y una fuente de energía. Cada carril cuenta con 2 sensores

TSN que están separados aproximadamente unos 30 mts. El TSCA (Tra-c System Comunication

Algorithm) se desarrolló para controlar las rutas de comunicación entre todos los TSN y la base,

así como la interfaz con la caja de control de tráfico. Luego los datos recogidos y añadidos

a la base se pasan al TSTMA (Tra-c Signal Time manipulation algorithm) para fijar duraciones de

tiempo de señales de manera dinámica de acuerdo a los parámetros recibidos. TSTMA es un

algoritmo de tiempo de control adaptativo desarrollado para calcular la duración de la luz roja

verde para cada señal de tráfico encontrada usando la matriz de conflictos de direcciones (figura

6). La matriz de conflictos determina los posibles casos que se pueden dar cuando se habilita cierto

sentido del semáforo. Los casos se analizan a partir de un cruce típico en las áreas metropolitanas.
Figure 6Matriz de conflictos

Fuente: Reinoso (2009), Diseño de un prototipo para controlar un semáforo inteligente usando tecnologías GSM/GORS y
Wireless.

Las letras indican las orientaciones N (Norte), S (Sur), E (Este) y O (Oeste), así como también se

tiene los sentidos de circulación D (giro a la derecha), C (Continuar recto), I (giro a la izquierda).

Entonces la combinación NC sería la dirección norte siguiendo recto. Las “X” indican casos no

permitidos, las zonas pintadas son casos imposibles mientras que los espacios en blando indican

que se puede dar tal situación. Este tipo de tecnología tiene la idea de presentar algo eficiente,

adaptable y rentable que garantice el flujo de tráfico rápido y en forma eficiente.

Figure 7 Flujograma de semáforo inteligente

Fuente: Reinoso (2009), Diseño de un prototipo para controlar un semáforo inteligente usando tecnologías GSM/GORS
y Wireless.
3.1 Solución Algoritmo Semáforo

También podría gustarte