You are on page 1of 12

Especificacin de requisitos de software

Proyecto: Animatronic Revisin [99.99]

Marzo

Ficha del documento


Fecha 26-032012 Revisin Autor Verificado dep. calidad.

[Rev]

AESMerarse

[Firma o sello]

Documento validado por las partes en fecha: 26-03-2012 Por el cliente Por la empresa suministradora

Fdo. D./ Da [Nombre]

Fdo. D./Da [Nombre]

Animatronic Especificacin de requisitos de software

Rev. [99.99] Pg. 3

Contenido
FICHA DEL DOCUMENTO CONTENIDO 1 1.1 1.2 1.3 1.4 1.5 1.6 2 2.1 2.2 2.3 2.4 2.5 2.6 3 INTRODUCCIN Propsito Alcance Personal involucrado Definiciones, acrnimos y abreviaturas Referencias Resumen DESCRIPCIN GENERAL Perspectiva del producto Funcionalidad del producto Caractersticas de los usuarios Restricciones Suposiciones y dependencias Evolucin previsible del sistema REQUISITOS ESPECFICOS 2 3 5 5 5 5 6 6 6 6 6 6 7 7 7 7 6 7 7 8 8 9 9 9 9 9 9 9 9 9 9 9 9
Descripcin de requisitos del sofware

3.1 Requisitos comunes de los interfaces 3.1.1 Interfaces de usuario 3.1.2 Interfaces de hardware 3.1.3 Interfaces de software 3.1.4 Interfaces de comunicacin 3.2 Requisitos funcionales 3.2.1 Requisito funcional 1 3.2.2 Requisito funcional 2 3.2.3 Requisito funcional 3 3.2.4 Requisito funcional n 3.3 Requisitos no funcionales 3.3.1 Requisitos de rendimiento 3.3.2 Seguridad 3.3.3 Fiabilidad 3.3.4 Disponibilidad 3.3.5 Mantenibilidad

Animatronic Especificacin de requisitos de software 3.3.6 3.4 4 Portabilidad Otros requisitos APNDICES

Rev. [99.99] Pg. 4 9 9 10

Descripcin de requisitos del sofware

Animatronic Especificacin de requisitos de software

Rev. [99.99] Pg. 5

1 Introduccin
En este apartado intentaremos detallar los requisitos previos necesarios para completar nuestro proyecto. Explicaremos el enfoque que queremos darle y la organizacin de nuestro equipo de desarrollo.

1.1

Propsito

El propsito del documento es definir de manera ms exacta el proyecto realizado anteriormente. El documento va dirigido a todas aquellas personas que sientan curiosidad sobre los requisitos y el transcurso del desarrollo del proyecto. No se excluye a ningn tipo de lector, aunque el destinario final debera tener unos conocimientos previos que se dan por supuestos.

1.2

Alcance

Se pretende desarrollar un animatronic basado en placas programables Arduino. Se trata de una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseada para facilitar el uso de la electrnica en proyectos multidisciplinares. Con ms detalle, el animatronic que pretendemos disear constar de la posibilidad de realizar movimientos a travs del mando Nunchuk de Nintendo. Bsicamente los movimientos del animatronic sern: Movimiento de la cabeza tanto en horizontal como vertical. Movimiento de los ojos tanto en horizontal como vertical. Movimiento vertical de cejas. Movimiento vertical de prpados. Movimiento vertical de boca.

1.3

Personal involucrado
ngel Gonzlez Redondo Mecnico Mecnica Mantenimiento y desarrollo de los componentes Ajgr91@gmail.com

Nombre Rol Categora profesional Responsabilidades Informacin de contacto Aprobacin Nombre Rol Categora profesional Responsabilidades Informacin de contacto Aprobacin Nombre Rol Categora profesional Responsabilidades Informacin de contacto Aprobacin

Pedro Lpez Jimnez Mecnico Mecnica Mantenimiento y desarrollo de los componentes Otromasdeibi@gmail.com

Jorge Torregrosa Lloret Programador Experto en informtica a nivel de programacin Desarrollo de software necesario jtorregrosalloret@gmail.com

Descripcin de requisitos del sofware

Animatronic Especificacin de requisitos de software Nombre Rol Categora profesional Responsabilidades Informacin de contacto Aprobacin Daniel Lpez Paterna Diseador Arte y diseo Diseo de los componentes y estructura Dnvsnk@gmail.com

Rev. [99.99] Pg. 6

1.4

Definiciones, acrnimos y abreviaturas

Arduino: es una plataforma de electrnica abierta para la creacin de prototipos basada en software y hardware flexibles y fciles de usar. Se cre para artistas, diseadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos. Processing: es un lenguaje de programacin y entorno de desarrollo integrado de cdigo abierto basado en Java, de fcil utilizacin, y que sirve como medio para la enseanza y produccin de proyectos multimedia e interactivos de diseo digital. Animatronic: Son diferentes a los robots-androides en el sentido de que stos se mueven por procesamiento de estmulos externos y responden a ellos. Servomotor (tambin llamado servo): es un dispositivo similar a un motor de corriente continua que tiene la capacidad de ubicarse en cualquier posicin dentro de su rango de operacin, y mantenerse estable en dicha posicin. Un servomotor es un motor elctrico que consta con la capacidad de ser controlado, tanto en velocidad como en posicin.

1.5

Referencias
Titulo Ruta Fecha Autor bricogeek http://blog.bricogeek.com/ Web oficial arduino http://www.arduino.cc/es/

Referencia bricogeek arduino

1.6

Resumen

En el resto del documento profundizaremos en el desarrollo del proyecto. Mostraremos su evolucin, as como los fallos o errores que hemos sufrido junto con su solucin correspondiente. En las siguientes partes del documento de mostrar en profundidad el planteamiento del proyecto. Se detallar su descripcin general y los requisitos necesarios para su finalizacin.

2 Descripcin general
2.1 Perspectiva del producto
El producto es independiente, no pertenece a ningn sistema superior. Puede realizar las funciones para las que est destinado por si mismo.

2.2

Funcionalidad del producto

El producto tiene que realizar giros bsicos hacia los lados y tambin realizar algunos movimientos en el rostro mediante el uso de un mando.

Descripcin de requisitos del sofware

Animatronic Especificacin de requisitos de software

Rev. [99.99] Pg. 7

2.3

Caractersticas de los usuarios


Todos los pblicos. Bsica. Debe de saber manejar un mando. Manejar el robot mediante un mando.

Tipo de usuario Formacin Habilidades Actividades

2.4

Restricciones

El robot debe de estar construido utilizando placas arduino. Las funciones se programarn en el lenguaje Processing y el mando, a poder ser, debe de ser el Nunchuk de la consola Nintendo Wii.

2.5

Suposiciones y dependencias

El animatronic lleva incorporado el software necesario dentro de las placas. Si quisiramos modificar algo bastara utilizar cualquier editor de textos y un programa que compile el lenguaje processing para poder aplicar las modificaciones oportunas. Pero en principio, el animatronic no necesita dependencia de ningn software en especial.

2.6

Evolucin previsible del sistema

Al sistema se le podran incorporar nuevas funcionalidades tales como movimientos nuevos, incorporar sensores que capten otros parmetros para ampliar las posibilidades del animatronic.

3 Requisitos Especficos
3.1 Requisitos comunes de los interfaces
3.1.1 Interfaces de usuario
El usuario deber ser capaz de utilizar y controlar el producto con facilidad. Para ello se optar por adaptar un mando comercial de Wii (Nintendo). Esto conlleva la ventaja de que es un mando que ya ha sido utilizado por la mayora de los usuarios y ya conocern como manejarlo, minimizando los tiempos de aprendizaje.

Descripcin de requisitos del sofware

Animatronic Especificacin de requisitos de software

Rev. [99.99] Pg. 8

El animatronic deber poseer sensores de sonido en ambos lado de la cabeza, para lograr poder entender las voces del usuario.

3.1.2 Interfaces de hardware


Nada que aadir en este apartado.

3.1.3 Interfaces de software


A la vez que se produce el montaje he implementacin del proyecto, se deber llevar a cabo la creacin de una aplicacin que sea capaz de guardar movimientos y generar en tiempo real un sketch para Arduino listo para cargar. La interfaz deber ser lo ms sencilla y simple posible. La interfaz se compondr de un botn de inicio de la grabacin, un botn de detencin,

Descripcin de requisitos del sofware

Animatronic Especificacin de requisitos de software

Rev. [99.99] Pg. 9

un botn de guardar y un campo de texto para ingresar el nombre del sketch a generar.

3.1.4 Interfaces de comunicacin


La conexin con del mando con la placa Arduino se har mediante protocolo IC. La conexin de la placa con el PC para utilizar los programas de grabacin de movimientos se har mediante protocolo Serial.

3.2

Requisitos funcionales
3.2.1 Requisitos funcionales mecnica 3.2.1.1 General

Anclaje de los servomotores a la estructura de manera ptima. El eje que sustenta la estructura debe de girar con el menor rozamiento posible. Se dispondr de una base rectangular sobre la que apoyar el animatronic. El cable del mando controlador deber ser lo suficientemente largo como para permitir un movimiento fluido. Un servomotor se encargar de controlar el movimiento vertical de la cabeza robtica y otro se encargar del giro horizontal. Los servomotores debern de poseer una fuerza determinada para poder mover el peso de la estructura. La estructura tendr forma de U, atravesada con por un eje con el menor rozamiento posible para conseguir el giro vertical.

3.2.1.2 Boca
La boca ser realizada en madera. El servomotor que controla la boca ser de dimensiones reducidas y se colocar el la parte inferior. La boca quedar suspendida mediante una varilla de la base superior. Poseer una bisagra para permitir el movimiento de apertura y cierre.
Descripcin de requisitos del sofware

Animatronic Especificacin de requisitos de software

Rev. [99.99] Pg. 10

3.2.1.3 Ojos
Sern colocados encima de la base superior. Tienen que tener un pivote interior. Debern tener dos enganches situados a 0 y 90 de un eje imaginario situados en el centro del elemento. Un servomotor se encargar del movimiento vertical y otro del horizontal. La transmisin de movimiento de un ojo a otro se realizar mediante una estructura de elementos pivotantes unidos entre s.

3.2.1.4 Cejas
Se utilizar un servomotor situado suspendido sobre una pequea estructura en la base superior. A los lados de los ojos se dispontrn dos varillas verticalmente, unidas por un tubo de plstico. El servomotor se transmitir al tubo de plstico mediante una varilla.

3.2.1.5 Parpados
Su movimiento no ser controlado por el usuario, se realizar cada X tiempo. Un servomotor dotar de movimiento a los prpados. Sern realizados con alambre, en una sola pieza.

3.2.1.6 Sonido
Se posicionar un altavoz en el centro de la base superior. Se posicionar dos sensores de sonido en los dos lados de la base superior, simulando orejas.

3.2.2 Requisitos funcionales software 3.2.2.1 Guardado de movimientos


El software deber de ser capaz de guardar los movimientos, de manera bsica, en un archivo de texto plano. El software tendr que poder generar a partir de este archivo, un sketch de Arduino listo para funcionar. Si no se puede crear el archivo se deber de mostrar un aviso al usuario. Si no se puede establecer la conexin, se mostrar un aviso crtico. Se deber comprobar la validez del archivo de texto plano.

3.2.2.2 Software placa


Deber ser capaz de comunicarse con el mando controlador de manera rpida y sin errores en los datos. Se utilizarn dos placas de Arduino para realizar las conexiones suficientes y cumplir los requisitos necesarios para el correcto funcionamiento de los componentes. Las placas se han utilizado para conectar en los correspondientes pines el mando y los diversos servomotores. Una tan solo ser insuficiente para conectar todo lo planeado.

Descripcin de requisitos del sofware

Animatronic Especificacin de requisitos de software

Rev. [99.99] Pg. 11

3.3

Requisitos no funcionales
Requisitos de rendimiento

3.3.1.

El sistema debe ser capaz de rendir a una velocidad cmoda para el usuario. Esto es, no queremos que el tiempo transcurrido entre que pulsamos uno de los botones del Nunchuk y la reaccin del robot sea mayor a 01 segundos. Tambin se exige que el sistema sea capaz de soportar el movimiento de todas las partes del robot a la vez (Ojos, cejas, cuello). Al pulsar dos o ms botones en el mismo instante, ambas partes han de funcionar simultneamente.

3.3.2.

Seguridad

La seguridad del proyecto no tendr que ser muy estricta, al ser un software que ser nicamente til si posees un robot construido de manera idntica. Los datos recogidos por el Nunchuk son almacenados en el terminal, siendo imposible acceder a ellos de manera externa. El software no corre peligro porque est aislado de la red. Cualquier tipo de comunicacin es imposible. Que el software falle o sea obtenido de manera ilcita depender solo de un error humano.

3.3.3.

Fiabilidad

Los requisitos de fiabilidad no son otros que el programa no falle, o si no es posible que al menos falle muy raramente (como mximo un 1% de las veces ejecutadas). Los requisitos de fiabilidad fsicos, es decir, de la cabeza-robot, deben ser que no se rompa o salte ninguna de sus partes al realizar cualquier movimiento, por muy brusco o rpido que sea, y que a pesar del tiempo no se desgasten sus partes (especialmente las articulaciones).

3.3.4.

Disponibilidad

El software tendr que estar disponible siempre que el usuario quiera experimentar con l. Obviamente la cabeza robot habr de estar operativa. Es el nico factor externo del que depender que se pueda utilizar. Esto es un 80% de disponibilidad.

3.3.5.

Mantenibilidad

El sistema tendr que ser mantenido una vez al mes. Se testear el programa para comprobar que sigue funcionando adecuadamente y que la cabeza-robot responde como es debido. Siempre que sea posible se tratar de mejorar el software con pequeas actualizaciones .

3.3.6.

Portabilidad

El software habr de ser utilizable, al menos, en Windows (todas sus versiones). En caso de que una versin nueva de Microsoft Windows salga, el software tendr que ser actualizado para su compatibilidad.

3.4

Otros requisitos

Requisitos estticos: Tanto el software como la cabeza-robot habrn de presentar una apariencia adecuada. La interfaz del programa tendr que hacerlo manejable de una manera sencilla, ya sea mediante el uso de iconos, ayudas La cabeza robot tendr que parecerse lo mximo posible a una cabeza, no solo con elemento que acten como cejas, ojos o boca, sino con lo ms parecido a estos.
Descripcin de requisitos del sofware

Animatronic Especificacin de requisitos de software

Rev. [99.99] Pg. 12

Apndices
En cuanto al lenguaje de programacin con el que se debe implementar la aplicacin, no hay ninguna restriccin, simplemente se usara el que el desarrollador desee emplear. El que le resulte ms cmodo y sea idneo para este tipo de proyectos.

Descripcin de requisitos del sofware