PDF de programación - Una Orquesta Sinfónica como Ejemplo de Aplicación de un Sistema Empotrado Distribuido

Imágen de pdf Una Orquesta Sinfónica como Ejemplo de Aplicación de un Sistema Empotrado Distribuido

Una Orquesta Sinfónica como Ejemplo de Aplicación de un Sistema Empotrado Distribuidográfica de visualizaciones

Publicado el 27 de Mayo del 2018
1.051 visualizaciones desde el 27 de Mayo del 2018
800,4 KB
10 paginas
Creado hace 8a (04/06/2015)
Una Orquesta Sinfónica como Ejemplo de Aplicación

de un Sistema Empotrado Distribuido

Franklin Parrales*, Alberto A. Del Barrio+, Guillermo Botella+

Departamento de Arquitectura de Computadores y Automática, Facultad de Informática de

la Universidad Complutense de Madrid

*[email protected], +{abarriog, gbotella}@ucm.es



Resumen. El presente artículo trata sobre el diseño e implementación de una
orquesta sinfónica distribuida haciendo uso del paquete de Lego Mindstorms,
como proyecto final enmarcado dentro de la asignatura Sistemas Empotrados
Distribuidos. En esta contribución se aplican los conocimientos obtenidos en
dicha asignatura, en la que se fomenta la aplicación de los mismos para la
realización de proyectos novedosos. En este artículo se describen el diseño, las
diversas tecnologías evaluadas y la implementación final.

Palabras Clave: Sistemas Empotrados Distribuidos, Proyectos, Mindstorms,
lejOS, RNDIs.

Abstract. This paper discusses the design and implementation of a distributed
symphony orchestra using the Lego Mindstorms package, as a final project
belonging to the Distributed Embedded Systems subject. In this contribution,
the knowledge achieved during the subject is applied. It must be noted that the
application of the studied contents to create novel projects is greatly
encouraged. In this paper the design, the evaluation of several technologies, as
well as the final implementation, are presented.

Keywords: Distributed Embedded Systems, Projects, Mindstorms, lejOS,
RNDIs.



Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 5, 2015115 1 Introducción

La asignatura Sistemas Empotrados Distribuidos (SED) es una materia que se
ubica en el Máster de Ingeniería Informática de la Universidad Complutense de
Madrid (UCM) [1], implantado en el curso 2013/2014. Dicho máster está orientado a
dotar a los estudiantes de conocimientos adicionales que les haga más competitivos en
el mundo laboral. Con el fin de obtener estas habilidades, las asignaturas del máster, y
en concreto SED, basan gran parte de su evaluación en la realización de múltiples
prácticas y proyectos que permitan a los alumnos mejorar sus capacidades. Si bien las
Tabla 1. Competencias dentro de la asignatura Sistemas Empotrados Distribuidos.


Tipo

Código

Generales

MCG8

Específicas

MCETI8

Básicas

MCB6

Transversales MCT4

Competencia

Capacidad para la aplicación de los conocimientos adquiridos y de resolver 

problemas en entornos nuevos

Capacidad de diseñar y desarrollar sistemas, aplicaciones y servicios 

informáticos en sistemas empotrados y ubicuos

Poseer y comprender conocimientos que aporten una base u oportunidad 

de ser originales en el desarrollo y/o aplicación de ideas

Capacidad de razonamiento crítico como vía para mejorar la generación y 

desarrollo de ideas en un contexto profesional



prácticas se realizan sobre la placa de desarrollo S3CEV40 [2], el proyecto queda
totalmente abierto a la decisión del alumno. De esta manera, los estudiantes pueden
investigar otras plataformas que les permitan desarrollar conocimientos en el área de
la Computación Ubícua o Pervasive Computing [3-5].

La Tabla 1 muestra un resumen de algunas de las competencias adquiridas en SED.
En esta tabla puede observarse que dos de los objetivos principales son potenciar la
aplicación de los conocimientos adquiridos así como la originalidad del alumno.
Como muestra de realización de dichos objetivos, en este artículo se presenta una
plataforma capaz de implementar una orquesta de forma distribuida, basándose en el
hardware comercial LEGO Mindstorms EV3 [6]. Gracias a este proyecto, sería
posible reforzar el proceso de aprendizaje de varios conceptos musicales compás y
tiempo.

La música, a lo largo del tiempo, ha tenido grandes aportaciones. Grandes
compositores han escrito obras como “El Mesías” de Handel, las sinfonías de
Beethoven, o la “Marcha Turca” de Mozart. Muchas de estas creaciones se presentan
como obras para un conjunto de instrumentos y voces. Para entender la expresión
musical, entonación, matiz, y otros factores que el compositor deja apuntado en sus
partituras se requieren estudios de varios años. Gracias a este proyecto, cualquier
aficionado a la música puede ver cómo interactúan los diversos elementos de una
orquesta en tiempo real. Además, el usuario puede incluso interactuar con los
componentes de la orquesta por medio de órdenes sencillas como silenciar o subir/
bajar volumen.

La literatura ofrece varios trabajos en este campo, como una banda para entonar
diversos instrumentos musicales, cuyo proyecto se llama “the NeXT blues”[7], o un
proyecto del California Institute of Arts llamado “CalArts KarmetiK Machine

Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 5, 2015116 Orchestra”[8]. Ambos casos están netamente orientados a ejecutar sonido en
instrumentos reales, y cuentan con un presupuesto bastante alto, mientras que en este
artículo se pretende ofrecer una solución con un coste más asumible.

El resto del artículo se organiza de la siguiente manera: la Sección 2 presenta un
estudio de las plataformas hardware disponibles para los propósitos del proyecto; en
la Sección 3 se presenta el diseño del proyecto y en la 4 detalles más concretos de
implementación; la Sección 5 ofrece nuestras conclusiones y posibles líneas de
trabajo futuro.

2 Herramientas de hardware disponibles

De acuerdo a lo estudiado en la asignatura de Sistemas Empotrados y Distribuidos
(SED), una de las ventajas de diseñar estos sistemas es que cada elemento posee su
procesamiento autónomo y puede cooperar con otros elementos en un propósito
común [9]. Este modo de comportamiento es muy similar a lo que ocurre en el
entorno de orquesta musical planteado anteriormente. Por tanto, es preciso determinar
qué elementos compondrán el sistema final. Es por ello que previamente al desarrollo
se hizo un estudio de posibles componentes hardware:



- Arduino [10]:
 Es la opción más barata, el kit básico cuesta la cuarta parte del precio de un
kit de Lego Mindstorms EV3 [11]. Se pueden adquirir componentes extras a
precios muy baratos.

 Arduino es una plataforma open-source tanto hardware como software.

Además, se programa con el lenguaje C, lo cual facilita su programación.

 Sin embargo, la desventaja es que sería preciso comprar placas de expansión
y varios componentes compatibles para poder realizar el proyecto. Por tanto,
el tiempo de búsqueda, montaje y configuración es un inconveniente muy
importante. Además, la compra de estos componentes elevaría el coste final
de la plataforma, convirtiéndose en una opción no tan económica con respecto
al kit de Lego. Problemas similares se experimentarían con otras placas como
Raspberry Pi [12].

- Lego Mindstorms EV3 [6]:
 Dispone de un equipo completo para realizar infinidad de proyectos de forma
sencilla. Este proceso se basa en la unión de varios bloques de plástico (Lego)
y la programación del bloque principal o ladrillo EV3. Este ladrillo contiene
un ARM9 de 300MHz, modelo Sitara AM1808 (Texas Instruments), que hay
que programar.

 A la facilidad de montar prototipos hardware integrando componentes tales
como sensores y servomotores, se añade la facilidad de programación, ya que
existen varios entornos de desarrollo gráficos.

 Además de los entornos de programación, existen varias Application
Programming Interfaces (APIs) que dan soporte a las funcionalidades básicas

Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 5, 2015117 de los elementos del sistema, por ejemplo la rotación de un servomotor o la
captación de la información por medio de un sensor.


Finalmente, evaluando los recursos disponibles y el tiempo máximo de desarrollo

del proyecto (2 meses), se optó por la implementación basada en Mindstorms EV3.

Figura 1. Diagrama de asignación de roles en la orquesta



3 Diseño del sistema

En esta sección se hablará del diseño de la orquesta. Primeramente introduciremos
a los actores, o integrantes de la orquesta, y en segundo lugar ofreceremos el
modelado del funcionamiento del sistema.

3.1 Integrantes de la orquesta

-

Distinguimos dos roles en la orquesta:
- Director. Es quien se encarga de coordinar al resto de componentes. Será

implementado en el computador.
Integrante o músico. Todos los músicos se comunican con el director. Cada
músico, implementado solamente por un ladrillo EV3, se encarga de tocar una
partitura enviada por el director. Su propósito es simular la ejecución de un
instrumento musical dentro de la orquesta. Para mejorar la vistosidad del
sistema, además se ha dotado de movimiento a los músicos, gracias a piezas y
componentes del Mindstorms.

El reparto de funcionalidades queda expresado en la Figura 1, donde se aprecia que
el rol de director de orquesta lo ejecutará el computador, quien se comunicará vía
Bluetooth con cada ladrillo EV3 para enviarle las órdenes.

Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 5, 2015118 3.2 Modelado de la orquesta

El diagrama de estados de la Figura 2 muestra el modelo distribuido de la orquesta.
Éste es un ejemplo claro de aplicación de las metodologías de diseño aprendidas en la
asignatura Sistemas Empotrados Distribuidos.

Como puede observarse, el autómata se compone de los siguientes estados:
 Estado inicial: cada componente de la orquesta permanece en este estado
hasta que el director no envía la señal de inicio de ejecución y un ti
  • Links de descarga
http://lwp-l.com/pdf11342

Comentarios de: Una Orquesta Sinfónica como Ejemplo de Aplicación de un Sistema Empotrado Distribuido (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad