UCPBRA: SOFTWARE PARA USO DE BRAZO ROBOTICO EN PHYSILAB

Tamaño: px
Comenzar la demostración a partir de la página:

Download "UCPBRA: SOFTWARE PARA USO DE BRAZO ROBOTICO EN PHYSILAB"

Transcripción

1 UCPBRA: SOFTWARE PARA USO DE BRAZO ROBOTICO EN PHYSILAB JUAN CARLOS PARRA VILLA UNIVERSIDAD CATÓLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES INFORME FINAL

2 UCPBRA: SOFTWARE PARA USO DE BRAZO ROBOTICO EN PHYSILAB JUAN CARLOS PARRA VILLA DIRECTOR DE PROYECTO DE GRADO JAMES BARRERA MONCADA Ingeniero Electricista UNIVERSIDAD CATÓLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES INFORME FINAL

3 Declaración de derechos de autor Yo JUAN CARLOS PARRA VILLA declaro que el trabajo presentado es de mi propia autoría, hasta el momento no ha sido presentado para antes para optar algún título o calificación profesional, he hecho citas que están debidamente referenciadas, respetando los derechos de autor de las fuentes, incluidas en este documento. La Universidad Católica de Pereira UCP- puede hacer uso de lo consignado en este documento, según lo establecido por las normas y la Ley de Propiedad Intelectual y la normatividad constitucional vigente. 3

4 Agradecimientos Agradezco inicialmente al Todo poderoso, la Suprema Personalidad de Dios, que nos ilumina con su gran sabiduría, dotándonos de paciencia para sortear cada uno de los pasos a dar para llegar a esta instancia. Mi familia se merece un agradecimiento especial por los momentos de apoyo incondicional, cuando yo quería desfallecer ellos siempre han estado allí para dar un gran aliento de fuerza para continuar el camino. Sinceros agradecimientos a todo el personal humano que compone la Universidad Católica de Pereira, desde las instancias administrativas, pasando por docentes, secretarias, empleados, y todos aquellos que de una u otra forma hacen posible este proceso educativo. A PHYSILAB, su director, el equipo de trabajo, los monitores, asesores y estudiantes que hacen un uso adecuado de este laboratorio, como espacio incuestionable de conocimiento y aprendizaje. A mis compañeros estudiantes que han compartido conmigo tantos momentos tan especiales, algunos duros, otros alegres, pero todos unidos por los lazos donde los esfuerzos se coordinan. 4

5 Dedicatoria A mi madre, por su dedicación y esfuerzo, mi hermano, con ellos a toda mi familia, por su apoyo incondicional, aun cuando ya no creía tener fuerzas ellos siempre han estado allí. A la Universidad Católica de Pereira, con todo su recurso humano, con ellos en estas aulas he crecido como persona y principalmente como profesional. Un profesor generalmente es un mutilador de sueños y utopías, aquel que coarta la iniciativa y creatividad de la generación en honor de quien es su profesión, sin embargo un maestro, es aquel que nos ofrece la luz sin restricción, aquel le ofrece a sus discípulos la antorcha del conocimiento, sin ninguna ambición, es un deleite aprender a su lado, en fin de cuentas, a los muchos Maestros, que me han ensañado, sin ellos este paso importante en la vida no sería posible, por su acompañamiento y comprensión en tantos momentos de tensión. 5

6 Resumen En los actuales desarrollos de programas, existe una tendencia fuerte por la aplicación de la Ingeniería del Software, con el fin de obtener productos estructurados y de calidad, debido a los resultados obtenidos por las metodologías existentes, asegurando así un proceso de desarrollo eficiente y con posibilidad de mejora. Los laboratorios remotos y virtuales se han convertido en una gran posibilidad para expandir la adquisición de conocimientos de las leyes naturales por medio de la experimentación, puesto que el usuario de los mismos no necesita trasladarse hasta una locación remota en donde se encuentren los equipos correspondientes para su uso y apropiación de los conceptos relacionados con la temática correspondiente. Este trabajo de investigación está destinado a la aplicación de la robótica, en el laboratorio remoto y virtual denominado PHYSILAB de la Universidad Católica de Pereira. Específicamente consiste en el desarrollo de un software para la manipulación de un brazo robótico, el cual, posteriormente pueda ser integrado con los elementos de laboratorio de PHYSILAB como utilidad complementaria del mismo, basándose en información recopilada de diferentes publicaciones de Internet, libros y datos obtenidos mediante la experimentación. Palabras claves: Metodologías, Laboratorios, Remotos, Virtuales, Experimentación, Equipos, Robótica, Physilab, Internet, Datos. 6

7 Abstract In the current developments of programs, there is a strong tendency for the application of software engineering, in order to obtain structured quality products due to the results obtained by the existing methodologies, thus ensuring efficient process development and for improvement. Remote and virtual laboratories have become a great opportunity to expand the acquisition of knowledge of natural laws through experimentation, since the user thereof need not travel to a remote location where related equipment are to use and appropriation of the concepts related to the corresponding topic. This research is intended for the application of robotics in remote and virtual laboratory called PHYSILAB of the Catholic University of Pereira. Specifically is the development of software for manipulating a robotic arm, which can then be integrated with laboratory PHYSILAB elements as complementary usefulness, based on information gathered from various Internet publications, books and data through experimentation. Keywords: Methodologies, Laboratories, Remote, Virtual, Experimenting, Equipment, Robotics, Physilab, Internet, Data. 7

8 TABLA DE CONTENIDO Pag Introducción FORMULACION DEL PROYECTO DESCRIPCION Y FORMULACION DEL PROYECTO OBJETIVOS Objetivo General Objetivos Específicos Justificación MARCOR TEORICO ANTECEDENTES MARCO CONTEXTUAL Desarrollo de Software en Colombia Desarrollo de las TIC en Risaralda MARCO CONCEPTUAL Brazo robot Tipos de brazo robot

9 3. ARQUITECTURA DEL SOFTWARE UML JAVA NETBEANS ARDUINO METODOLOGIAS DE PROGRAMACION Rapid application development (Rad) Rational unified process (Rup) Cascada Prototipado Incremental Espiral METODOLOGIA SELECCIONADA ESPECIFICACION DE LA SOLUCION REQUERIMIENTOS PONDERACION DE LOS REQUERIMIENTOS DESCRIPCION DE LA TECNOLOGIA Brazo robótico AS-6DOF Arduino mega Servomotores

10 4.4 DESCRIPCION GENERAL DE LA SOLUCION Sistema General Software en Arduino Software de Escritorio Integración Cronograma de Actividades Estimación de Presupuesto ARQUITECTURA DEL SOFTWARE Diagrama de casos de uso Diccionario de casos de uso Diagrama general de secuencias Prototipo no funcional Descripción del proceso de desarrollo Inconvenientes en el proceso de desarrollo RESULTADOS Conclusiones Referencias bibliográficas Bibliografía ANEXO Anexo A. Pruebas realizadas

11 ANEXO B. Pasos para la configuración y programación básica de un Arduino a través del IDE Arduino

12 TABLA DE FIGURAS Figura 1. UNO DE LOS PRIMEROS BRAZOS ROBÓTICOS Figura 2. Brazo ensamblador Figura 3. PARTICIPACIÓN DE LOS SEGMENTOS DEL TI 2008 (OSEC Y PROEXPORT) Figura 4. RELACIÓN ENTRE UN BRAZO ROBOT Y UN BRAZO HUMANO Figura 5. BRAZO ROBOT CARTESIANO Figura 6. BRAZO ROBOT CILÍNDRICO Figura 7. BRAZO ROBOT POLAR Figura 8. BRAZO ROBOT ARTICULADO Figura 9. BRAZO ROBOT PARALELO Figura 10. BRAZO ROBOT ANTROPOMÓRFICO Figura11. MAPA MENTAL DE LOS PROCESOS UML 39 Figura 12. UML DIVISIÓN DE DIAGRAMAS ESTRUCTURALES Figura 13. RAPID APPLICATION DEVELOPMENT (RAD) Figura 14. RATIONAL UNIFIED PROCESS (RUP) Figura 15. MODELADO EN CASCADA Figura 16. MODELADO EN PROTOTIPADO Figura 17. MODELO INCREMENTAL

13 Figura 18. MODELADO EN ESPIRAL Figura 19. BRAZO ROBOT AS-6DOF Figura 20. ARDUINO MEGA Figura 21. SERVOMOTOR RB-150MG Figura 22. DIAGRAMAS DE CASOS DE USO UCPBRA Figura 23. DIAGRAMA DE SECUENCIA Figura 24. INTERFAZ DE INICIO UCPBRA Figura 25. INSERCIÓN DE DATOS PARA RUTINA MANUAL UCPBRA

14 LISTA DE TABLAS Tabla 1. Requerimiento Tabla 2. Requerimiento Tabla 3. Requerimiento Tabla 4. Requerimiento Tabla 5. Requerimiento Tabla 6. Requerimiento Tabla 7. Requerimiento Tabla 8. Ponderación de Requerimiento. 55 TABLA 9. CRONOGRAMA DE ACTIVIDADES UCPBRA Tabla 10. Estimación de Presupuesto Tabla11. Diccionario de casos de uso Tabla 12. Diccionario de casos de uso Tabla 13. Diccionario de casos de uso Tabla 14. Diccionario de casos de uso Tabla 15. Diccionario de casos de uso Tabla 16. Diccionario de casos de uso Tabla 17. Diccionario de casos de uso Tabla 18. Diccionario de casos de uso

15 Introducción Las Nuevas Tecnologías de la Información y la comunicación TIC, poco a poco se han ido integrando en los procesos de enseñanza aprendizaje a todo nivel, no solo con el fin de dinamizar dichos procesos si no buscando resolver problemas tendientes a mejorar la calidad de vida de la población. La robótica es una muestra de ello, la cual se define como el conjunto de conocimientos teóricos y prácticos que nos dejan crear, realizar y mecanizar sistemas basados en estructuras mecánicas articuladas, proporcionados de un determinado grado de inteligencia y destinados a la manufactura industrial o al remplazo del hombre para diversas tareas. El nivel de tecnología y desarrollo de software que puedan llegar a tener los robots determinará lo que estos podrán hacer para facilitar las actividades diarias, para realizar tareas que no pongan en peligro la integridad del ser humano, en la diversión y el entretenimiento; en el aspecto productivo, no sólo en tiempo sino en calidad. Debido al movimiento acelerado y al desarrollo vertiginoso que presenta la tecnología en la vida de las personas, poco a poco surgen aplicaciones más complejas, que deben cumplir los requisitos de calidad, rendimiento, usabilidad, escalabilidad, mantenimiento, accesibilidad, entre otros. La labor que debe realizar un ingeniero del software es compleja, la cual parte de la documentación de todo el proceso de diseño, los requerimientos deben de ser planteados analizados y ponderados, debe ser apoyada por los diagramas necesarios. La ausencia de algunas partes del proceso para el desarrollo de software produce daños que a veces son intangibles o imperceptibles, principalmente en la tapa de mantenimiento. En el campo académico se hace necesario desarrollar nuevas propuestas, nuevas prácticas a partir del desarrollo del software. Para el caso concreto el 15

16 desarrollo de un software que permita el movimiento de un brazo robótico y su uso en el laboratorio de física de la Universidad Católica de Pereira, PHYSYLAB. En el marco de los nuevos paradigmas educativos, se debe pensar en una academia que esté a la altura del reto de preparar los estudiantes para enfrentar la nueva sociedad, la del conocimiento, donde se tengan mayores avances en el análisis en contraposición a la metodología que obedece a procesos repetitivos, rutinarios esto es, desarrollar novedosas metodologías, necesarias en la nueva era donde la sociedad funciona con información, debemos saber la importancia de la enseñanza fusionada con las TIC, donde surjan las facilidades y ventajas con la que la tecnología posibilita el rápido intercambio de información lo cual contribuye al mejoramiento del proceso enseñanza-aprendizaje. El objeto de este trabajo es poder desarrollar un conjunto de tareas y rutinas que permitan el funcionamiento un brazo robótico con seis grados de libertad, con el fin de apoyar a las labores en prácticas académicas que se realizan en el laboratorio de física de la universidad Católica de Pereira denominado PHYSILAB; se utiliza teoría de sistemas para descubrir y resolver las diferentes movimientos del robot, la forma de alimentar o generar información de los componentes de un problema, los cambios que provocan la transición de un estado a otro, todos estos elementos importantes para poder construir e implantar la aplicaciones más adecuada. 16

17 1. FORMULACION DEL PROYECTO En la vida moderna es muy común el uso de robots que ayudan en la dinámica diaria, en la producción, educación etc. La diversidad en los modelos y las aplicaciones de los robots ha hecho que evolucione no solo la concepción que se tiene de ellos, sino también su morfología; esto quiere decir, que no solo hay robots industriales, espaciales, sino también de uso militar, agrícolas, médicas y pedagógicas; por ejemplo las prótesis robóticas, los dispositivos de rehabilitación, robots utilizados como herramientas pedagógicas, entre otros. Bajo esta línea se ha enfocado PHYSILAB, su propósito es permitir que los estudiantes puedan desarrollar sus prácticas de física sin necesidad de estar ubicados físicamente en el laboratorio, la implementación de un brazo robótico, va a permitir la modificación de elementos al interior del Laboratorio, así como el desarrollo de nuevas prácticas en lo que tiene que ver con el campo vectorial. Los trabajos y los esfuerzos impulsados desde PHYSILAB no son sólo un aporte importante al avance tecnológico de la universidad, sino también de la región. Este proyecto es una primera etapa cuya operación se realiza de manera local, puesto que en una segunda fase se desarrollará la implementación de los procesos que permitan las funcionalidades remotas del software. 1.1 DESCRIPCION Y FORMULACION DEL PROYECTO Las tareas de laboratorio en nuestro país generalmente no cumplen las expectativas de los estudiantes debido a la falta de estructuración de los mismos, también por la falta de instrumentación necesaria para su desarrollo y prácticas experimentales que no alcanzan a desarrollar el conocimiento científico. En los últimos años se están buscando mecanismos para suplir dicha problemática, como el apoyo de trabajos que tengan entre sus objetivos el crear y desarrollar plataformas que posibiliten la enseñanza a través de sistemas hipermedia y multimedia, de las redes de comunicaciones de área extendida, estas herramientas o TIC brindan la posibilidad de crear nuevos espacios, dinamizadores de enseñanza, aprendizaje 17

18 dentro y fuera del aula de clases posibilitando que los estudiantes sean partícipes de su propio aprendizaje. (Rosado, 204) En este sentido el laboratorio de PHYSYLAB, viene buscando alternativas que orienten los productos académicos hacia el desarrollo de nuevas prácticas de laboratorio, en este caso se pretende integrar un brazo robótico, como una herramienta indispensable para los procesos de práctica remota en el laboratorio, cabe notar que en PHYSYLAB no cuenta con un software para el manejo del mismo, de esta forma nos lleva a el diseño de UCPBRA, el cual manipula un brazo robótico de seis grados de libertad y su consecuente desarrollo en un trabajo complementario. Con este proyecto se busca que el laboratorio tenga una ayuda eficaz a la hora de probar localmente los movimientos del brazo antes de subir los cambios en el laboratorio virtual, donde los estudiantes tendrían un elemento primordial para poder desarrollar las destrezas, habilidades, capacidades y competencias que se conjuguen con iniciativa y creatividad en una ambiente virtual. 18

19 1.2 OBJETIVOS Objetivo General Diseñar y desarrollar de un software para el control local de un brazo robótico como apoyo de las prácticas dentro del laboratorio PHYSYLAB de la Universidad Católica de Pereira Objetivos Específicos Identificar el funcionamiento del brazo robótico para luego simularlo a través del software Identificar los requerimientos del software que permitan el control del brazo robótico de acuerdo a las necesidades de la práctica. Analizar los diferentes aspectos que permitan diseñar una solución software que lleve al cumplimiento de los requerimientos. Diseñar un sistema software de control, que interactúe con los sensores y permita la manipulación de los mecanismos y motores del brazo. Implementar el software construido de tal manera que interactúe con el brazo robótico. Realizar pruebas de las diferentes etapas que intervienen en el desarrollo del proyecto. 19

20 1.3 Justificación Actualmente los países altamente industrializados desarrollan y comercializan aparatos y equipos avanzados y costosos, invierten muchos recursos en investigación de nuevas tecnologías. De ahí la gama de productos ofertados Lamentablemente este no es el caso de Colombia, las empresas nacionales buscan soluciones en otros países y solo se limitan a utilizar los equipos, es decir, la escueta transferencia de tecnología; esto se debe a que no se fomentan las investigaciones de forma adecuada. Dicha ausencia de desarrollo también se aprecia en el campo de la robótica y la educación, en nuestro país se encuentra muy limitada, son pocas universidades, las que han venido desarrollando proyectos de investigación, donde desarrollen rápidamente diferentes tecnologías de la información o sistemas permitiendo que el proceso de la enseñanza y aprendizaje sea más fácil para los estudiantes. Por lo anterior la universidad decidió crear un software que permita controlar localmente un brazo robótico antes de ser manejado remotamente desde la plataforma de PHYSYLAB, es importante el apoyo que brindara este software en el movimiento de algunos implementos dentro del laboratorio, ya que se realizaran localmente antes de ser configurados en la plataforma remota, esto permite que a la hora de hacer las practicas no tengan inconvenientes que impliquen altas perdidas económicas en equipos tecnológicos, instalación y mantenimiento de los mismos, También es una herramienta que sirve como apoyo, dando precedente base para el desarrollo del software de control remoto para el brazo robótico en la plataforma virtual. Por estas razones se decidió diseñar e implementar un software (UCPBRA) que manejara un brazo robótico de seis grados de libertad para el funcionamiento en el laboratorio de PHYSILAB, 20

21 2. MARCOR TEORICO 2.1 ANTECEDENTES Desde tiempos atrás, el ser humano ha tenido una atracción y fascinación por las maquinas que imitan los movimientos, funciones y acciones de diferentes seres vivos. La construcción y realización de diferentes proyectos con mecanismos hidráulicos; donde podían funcionar a través de poleas, engranaje, resortes o simplemente por la morfología de su estructura, ha sido la constante desde tiempos muy remotos. La palabra robot fue usada por primera vez en el año 1921, cuando el escritor checo Karel Capek ( ) estrena en el teatro nacional de Praga su obra Rossum's Universal Robot (R.U.R.). Su origen es de la palabra eslava robota, que se refiere al trabajo realizado de manera forzada. Figura 1. UNO DE LOS PRIMEROS BRAZOS ROBÓTICOS Recuperado de Con el objetivo de diseñar una maquina flexible, adaptable al entorno y de fácil manejo, George Devol, pionero de la Robótica Industrial, patento en 1948, un manipulador programable que fue el germen del robot industrial, como muestra la figura 1. En 1948 R.C. Goertz del Argonne National Laboratory desarrollo, con el objetivo de manipular elementos radioactivos sin riesgo para el operador, el primer 21

22 tele manipulador. Este consistía en un dispositivo mecánico maestro-esclavo. El manipulador maestro, reproducía fielmente los movimientos de este. El operador además de poder observar a través de un grueso cristal el resultado de sus acciones, sentía a través del dispositivo maestro, las fuerzas que el esclavo ejercía sobre el entorno. Años más tarde, en 1954, Goertz hizo uso de la tecnología electrónica y del servo control sustituyendo la transmisión mecánica por eléctrica y desarrollando así el primer tele manipulador con servo control bilateral. Otro de los pioneros de la tele manipulación fue Ralph Mosher, ingeniero de la General Electric que en 1958 desarrollo un dispositivo denominado Handy-Man, consistente en dos brazos mecánicos teleoperados mediante un maestro del tipo denominado exoesqueleto. Junto a la industria nuclear, a lo largo de los años sesenta la industria submarina comenzó a interesarse por el uso de los tele manipuladores. A este interés se sumo la industria espacial en los años setenta. La evolución de los tele manipuladores a lo largo de los últimos años no ha sido tan espectacular como la de los robots. Recluidos en un mercado selecto y limitado (industria nuclear, militar, espacial, etc.) son en general desconocidos y comparativamente poco atendidos por los investiga- dores y usuarios de robots. Por su propia concepción, un tele manipulador precisa el mando continuo de un operador, y salvo por las aportaciones incorporadas con el concepto del control supervisado y la mejora de la tele presencia promovida hoy día por la realidad virtual, sus capacidades no han variado mucho respecto a las de sus orígenes. La sustitución del operador por un programa de ordenador que controlase los movimientos del manipulador dio paso al concepto de robot. La primera patente de un dispositivo robótico fue solicitada en marzo de 1954 por el inventor británico C.W. Kenward. Dicha patente fue emitida en el Reino Unido en 1957, sin embargo fue Geoge C. Devol, ingeniero norteamericano, inventor y autor de varias patentes, él estableció las bases del robot industrial moderno. En

23 Devol concibió la idea de un dispositivo de transferencia de artículos programada que se patento en Estados Unidos en En 1956 Joseph F. Engelberger, director de ingeniería de la división aeroespacial de la empresa Manning Maxwell y Moore en Stanford, Conneticut. Juntos Devol y Engelberger comenzaron a trabajar en la utilización industrial de sus máquinas, fundando la Consolidated Controls Corporation, que más tarde se convierte en Unimation(Universal Automation), e instalando su primera máquina Unimate (1960), en la fábrica de General Motors de Trenton, Nueva Jersey, en una aplicación de fundición por inyección. En 1968 J.F. Engelberger visito Japón y poco más tarde se firmaron acuerdos con Kawasaki para la construcción de robots tipo Unimate. El crecimiento de la robótica en Japón aventaja en breve a los Estados Unidos gracias a Nissan, que formo la primera asociación robótica del mundo, la Asociación de Robótica industrial de Japón (JIRA) en Dos años más tarde se formó el Instituto de Robótica de América (RIA), que en 1984 cambio su nombre por el de Asociación de Industrias Robóticas, manteniendo las mismas siglas (RIA). Por su parte Europa tuvo un despertar más tardío. En 1973 la firma sueca ASEA construyo el primer robot con accionamiento totalmente eléctrico, en 1980 se fundó la Federación Internacional de Robótica con sede en Estocolmo Suecia. Figura 2. Brazo ensamblador Recuperado de 23

24 La configuración de los primeros robots respondía a las denominadas configuraciones esférica y antropomórfica, de uso especialmente valido para la manipulación. En 1982, el profesor Makino de la Universidad Yamanashi de Japón, desarrolla el concepto de robot SCARA (Selective Compliance Assembly Robot Arm) que busca un robot con un número reducido en grados de libertad (3 o 4), un coste limitado y una configuración orientada al ensamblado de piezas, ver figura 2. La definición del robot industrial, como una máquina que puede efectuar un número diverso de trabajos, automáticamente, mediante la programación previa, no es válida, porque existen bastantes máquinas de control numérico que cumplen esos requisitos. Una peculiaridad de los robots es su estructura de brazo mecánico y otra su adaptabilidad a diferentes aprehensores o herramientas. Otra característica especifica del robot, es la posibilidad de llevar a cabo trabajos completamente diferentes e, incluso, tomar decisiones según la información procedente del mundo exterior, mediante el adecuado programa operativo en su sistema informático. Se pueden distinguir cinco fases relevantes en el desarrollo de la Robótica Industrial: 1. El laboratorio ARGONNE diseña, en 1950, manipuladores amoesclavo para manejar material radioactivo. 2. Unimation, fundada en 1958 por Engelberger y hoy absorbida por Whestinghouse, realiza los primeros proyectos de robots a principios de la década de los sesentas de nuestro siglo, instalando el primero en 1961 y posteriormente, en 1967, un conjunto de ellos en una factoría de general motors. Tres años después, se inicia la implantación de los robots en Europa, especialmente en el área de fabricación de automóviles. Japón comienza a implementar esta tecnología hasta Los laboratorios de la Universidad de Stanford y del MIT acometen, en 1970, la tarea de controlar un robot mediante computador. 24

25 4. En el año de 1975, la aplicación del microprocesador, transforma la imagen y las características del robot, hasta entonces grande y costoso. 5. A partir de 1980, el fuerte impulso en la investigación, por parte de las empresas fabricantes de robots, otros auxiliares y diversos departamentos de Universidades de todo el mundo, sobre la informática aplicada y la experimentación de los sensores, cada vez más perfeccionados, potencian la configuración del robot inteligente capaz de adaptarse al ambiente y tomar decisiones en tiempo real, adecuarlas para cada situación. En esta fase que dura desde 1975 hasta 1980, la conjunción de los efectos de la revolución de la Microelectrónica y la revitalización de las empresas automovilísticas, produjo un crecimiento acumulativo del parque de robots, cercano al 25%. La evolución de los robots industriales desde sus principios ha sido vertiginosa. En poco más de 30 años las investigaciones y desarrollos sobre robótica industrial han permitido que los robots tomen posiciones en casi todas las áreas productivas y tipos de industria. En pequeñas o grandes fábricas, los robots pueden sustituir al hombre en aquellas áreas repetitivas y hostiles, adaptándose inmediatamente a los cambios de producción solicitados por la demanda variable. (Ingenierías, 2004) 2.2 MARCO CONTEXTUAL 2.2.1Desarrollo de Software en Colombia Debido a que el mundo de la informática es susceptible al cambio constantemente, de igual manera debido a que en Colombia no se han creado las condiciones necesarias para un desarrollo del software con el sello Made in Colombia. Es claro que el desarrollo del software en Colombia es monopolizado por grandes multinacionales como indra, Softec, Unisys, etc. Esto indica que en 25

26 nuestro pais el talento humano especializado para el desarrollo del software es uno de los mejores a nivel internacional. El desarrollo del software colombiano a pesar de sus inconvenientes ha tenido un leve crecimiento en los últimos años ( 2010 y 2011), se cuentan con más de 40 empresas certificadas, se ha visto también un descenso en piratería, en este panorama se pueden encontrar algunas oportunidades como la integración de servicios técnicos, el desarrollo de aplicaciones y modernización, outsourcing de infraestructura tecnológica, servicios de apoyo, gestión de data center entre otros, como lo plantea Proexport y Osec en un estudio relacionado con sector, en el cual también se afirma que: El sector de las TICs en Colombia está compuesto por PYMEs. En términos de tecnología y profesionalismo, estas compañías están operando a buen nivel. Estas compañías por lo general no tienen vocación exportadora y les hace falta la experiencia necesaria. La mayoría de estas empresas son familiares y la estructura financiera está orientada hacia los negocios locales y no hacia el riesgo, como el que representa exportar. Las tecnologías que se implementan están a la par con las tecnologías de punta. (OSEC y PROEXPORT, 2012) En Medellín hay unas 100 desarrolladoras de software. Un gran porcentaje se agrupa en la Red Intersoftware, que promueve la calidad de esta industria, y cuyas empresas generan el 80% del empleo del sector en la región; unos puestos. (COLOMBIANO, 2013) El segmento del software está representado por el software estándar. El software a la medida forma parte del segmento de servicios (integración y desarrollo). 26

27 Los segmentos del mercado dentro del sector de servicios colombianos de TI 1 son: Soporte y Mantenimiento Contratación externa Integración y Desarrollo Consultoría Educación y Entrenamiento (OSEC y PROEXPORT, 2012) La educación impartida por las universidades es de alto estándar, sin embargo, hay una clara deficiencia en el campo de formación profesional. Esta situación ya representa un gran reto para Colombia en cuanto a contratar empleados que estén bien capacitados a todo nivel y en todas las áreas del conocimiento. En caso que las exportaciones generen una gran demanda de empleados calificados, el sistema actual no estaría en capacidad de atenderla. (OSEC y PROEXPORT, 2012) En la figura 3, se puede observar la participación del software en el mercado nacional con respecto a las tecnologías de información lo cual deja ver claramente que el hardware ocupa la mitad de la participación, dejando al software un escaso 7%, lo cual da muestras de todo el camino por recorrer en cuanto a desarrollo de software, llenando de contenido lo planteado, el desarrollo de software en Colombia está muy bajo. El software y las aplicaciones estándar se ajustan a las normas (Iso, Spice, CMM) y mercados internacionales. En Colombia no hay software con estándares específicos. Algunas de las soluciones de software utilizarán los parámetros establecidos por el mercado local (por ejemplo los sistemas contables). La mayoría de las interfaces con los usuarios para las aplicaciones estándar son en español. (OSEC y PROEXPORT, 2012) 1 TI Tecnologías de la Información. 27

28 Figura 3. PARTICIPACIÓN DE LOS SEGMENTOS DEL TI 2008 (OSEC Y PROEXPORT). Software [PORCENTAJE] Hardware [PORCENTAJE ] Servicios [PORCENTAJE ] Recuperado de: Proexport Colombia Industria BPO-IT Uno de los problemas en el desarrollo del software se encuentra que las empresas y los desarrolladores (léase y entiéndase programadores) creen que desarrollar software es escribir tres líneas de código y hacer clic pero esto no es así. En este sentido en cuanto a la educación este mismo estudio plantea: El sistema educativo en la fase de pregrado tiene tres niveles diferentes, el nivel técnico, nivel tecnológico, y nivel profesional. En el nivel profesional se está presentando diferentes conflicto con las compañías que quieren un alto nivel educativo pero a un bajo costo, muchas de las universidades no están orientadas a la investigación que nos lleve a enfocar la implementación de acciones encaminadas hacia la creación de un valor agregado y obtener relaciones internacionales con universidades de talla mundial. Son pocas las personas que cuentan con un buen nivel educativo; no están dispuestos a trabajar en proyectos educativos como desarrollo de software, pruebas, investigación etc. Las compañías están orientadas fundamentalmente hacia los negocios y la tecnología. Por esta razón requieren de mano de obra con capacidades que se ajusten a todas las áreas de competencia de las TIC. (OSEC y PROEXPORT, 2012) 28

29 2.2.2Desarrollo de las TIC en Risaralda La Gobernación de Risaralda ha puesto en marcha una política educativa que buscar hacer uso de las TIC para transformar la sociedad. Por ello estamos trabajando para que los alumnos de los planteles públicos, desde la primera infancia, estén inmersos en el bilingüismo y el acceso a las nuevas tecnologías de la información y la comunicación. Resulta inaceptable que exista una brecha profunda entre la formación que reciben los estudiantes de planteles oficiales y sus pares de los colegios privados. Por ello hemos dicho que las instituciones educativas del sector oficial, deben marchar a la par con los avances de la ciencia, la tecnología y la innovación. No existe otro camino para romper con los paradigmas de la pobreza y la desigualdad. Pero también está claro que el acceso a la formación y el uso de estas tecnologías debe extenderse a otros segmentos de la población, en especial al sector empresarial y productivo. En este orden de ideas, la Gobernación de Risaralda ha construido una interesante alianza con la Cámara de Comercio de Pereira, en el marco de la cual nos propusimos instalar esta Mesa TIC del Triángulo del Café. El propósito principal de esta iniciativa es el de consolidar criterios y desarrollar actividades que atiendan las necesidades de las empresas industriales en materia de tecnologías de la información y la comunicación y que las acerque a las oportunidades que se abren en un mundo moderno como el actual. Así lo planteamos hace algunas semanas, al presentar el Clúster TIC del Triángulo del Café, ante varias empresas, organizaciones e instituciones académicas de la región que han venido incursionando en el desarrollo de empresas con base tecnológica. 29

30 Con la instalación de la mesa TIC de Risaralda no solo la visibilidad de las empresas de la industria TIC del departamento será mayor ante el Ministerio y la misma industria, sino que también tendremos un proceso local incluyente y articulado entre las empresas, la academia y el estado con base en los requerimientos reales del sector y que permita preparar a las empresas TIC en procesos de calidad más sólidos y por ende participar en ejercicios comerciales nacionales e internacionales mucho más exitosos. En Risaralda tenemos algunos ejemplos muy positivos en esta dirección, como lo es el caso de empresas acogidas por ParqueSoft, las cuales han desarrollado innovaciones supremamente interesantes que les han valido reconocimientos y premios a nivel internacional. (MINTIC, 2015) Como respuesta de ayuda a solucionar alguno de los anteriores problemas la Universidad Católica de Pereira está trabajando en la investigación de nuevos proyectos, tiene como objetivo liderar y ejecutar los recursos de un nuevo proceso para la enseñanza y el aprendizaje llamada PHYSYLAB, con el acompañamiento de la Universidad Católica de Manizales y la Universidad de Medellín apoyando el desarrollo de laboratorios remotos y virtuales para enseñanza de la Física, bajo el esquema de laboratorio distribuido, usando para esto la instrumentación como herramientas indispensables en el desarrollo de equipos que puedan ser accedidos de manera Remota. Para que estos puedan ser manipulados de manera remota y se puedan crear un conjunto de prácticas de laboratorio de Física en el área de mecánica clásica, donde puedan ser ejecutadas por los estudiantes y docentes que se encuentren conectados a la red académica de Alta Velocidad (RENATA). Estos laboratorios se diseñan de tal forma que permita mejorar las estrategias de enseñanza y aprendizaje para cursos de Física a nivel básico e intermedio. (PHYSILAB, 2012) Este proyecto de investigación nace en el seno del Grupo de Investigación GEMA, Grupo de investigación de la Universidad Católica de Pereira en asocio con las universidades Católica de Manizales y la Universidad de Medellín y que fue 30

31 aprobado en la convocatoria banco de proyectos elegibles para apoyar la investigación, el desarrollo y la innovación educativa que (PHYSILAB, 2012) hagan uso de la infraestructura y servicios de la red nacional académica de tecnología avanzada (RENATA) para el año 2010, convocatoria financiada por el Ministerio de Educación Nacional. 2.3 MARCO CONCEPTUAL Brazo robot Por décadas las personas siempre han tratado de construir maravillas mecánicas que traten de imitar partes del cuerpo humano. En 1805, Henri Maillardert fabrico una muñeca que sería capaz de hacer dibujos. De esta manera se fueron evidenciando algunas creaciones mecánicas que fueron reflejando el ingenio del hombre para poder ir acercando más y más a una época de comodidades. En esa misma época hubieron muchas más invenciones que ayudaron a las industrias en su agilidad para hacer los procesos en el transcurso de la revolución industrial, y casi siempre dirigidas al sector de la industria textil de esa época. Entre las cuales se hace notar la hiladora giratoria de Hargreaves (1770)), el telar mecánico de Cartwright (1785) la hiladora mecánica de Crompton (1779), y otros. Figura 4. RELACIÓN ENTRE UN BRAZO ROBOT Y UN BRAZO HUMANO https://www.interempresas.net/robotica 31

32 Un brazo robot es un brazo mecánico, como muestra en la figura 4, con funciones y movimientos parecido a los de un brazo humano, es un manipulador multifuncional; normalmente reprogramable con varios grados de libertad, está compuesto de materiales electrónicos y su estructura que sostienen los mecanismos; estos son interconectados a través de articulaciones capaz de realizar Infinidad de actividades repetitivas, manipulando diferentes materiales dependiendo de la programación o rutinas que previamente se haya ingresado en su tarjeta controladora. La robótica ha avanzado de tal manera que ya se incluyen poderosas computadoras al interior de los robots las cuales son fusionadas con actuadores mecánicos alimentados de nuevos controles o software para una tarea específica y así agilizar nuevas tareas dentro de la industria Tipos de brazo robot Brazo cartesiano Figura 5. BRAZO ROBOT CARTESIANO Recuperado de https://www.interempresas.net/robotica Como se observa en la figura 5, este brazo es utilizado habitualmente para tomar y colocar, en algunos casos para operaciones de manipulación de herramientas o ensamblado, esta clase de brazo maneja tres articulaciones coinciden en los ejes del plano cartesiano, esto quiere decir que los ejes principales para el control del brazo son lineales, esta clase de brazo se mueve en línea recta. 32

33 Brazo cilíndrico En la figura 6 muestra un brazo que es utilizado habitualmente para tareas de ensamblaje, soldadura de puntos, y cuyo eje forma una relación de coordenadas cilíndricas. Figura 6. BRAZO ROBOT CILÍNDRICO Recuperado de https://www.interempresas.net/robotica Brazo esférico / polar Es usado en aplicaciones sobre manipulación de diferentes tipos de máquinas, en este caso sus ejes que forman un sistema de coordenadas cilíndricas. Es usado en aplicaciones sobre manipulación de diferentes tipos de máquinas, en este caso sus ejes que forman un sistema de coordenadas cilíndricas, en la figura 7, nos muestra un brazo robot polar. Figura 7. BRAZO ROBOT POLAR Recuperado de https://www.interempresas.net/robotica 33

34 Brazo articulado Se utiliza en tareas de ensamblaje y diferentes funciones, por otro lado este brazo el momento trabaja con tres articulaciones, lo cual no lo hace multifuncional, como lo muestra en la figura 8. Figura 8. BRAZO ROBOT ARTICULADO Robot paralelo Recuperado de https://www.interempresas.net/robotica En la figura 9, nos muestra un breve ejemplo de estos brazos es la manipulación de las cabinas de simuladores de vuelo en la aeronáutica, estos brazos sus articulaciones son de tipo prismáticas y rotatorias. Figura 9. BRAZO ROBOT PARALELO Recuperado de https://www.interempresas.net/robotica 34

35 Brazo antropomórfico En la figura 10, nos muestra que este brazo es muy similar a un brazo humano, y lo que busca es la sustitución de un brazo humano y necesidades de esta sociedad. (DOCSETOOLS.COM, 2008) Figura 10. BRAZO ROBOT ANTROPOMÓRFICO Recuperado de https://www.interempresas.net/robotica 3. ARQUITECTURA DEL SOFTWARE Es importante brindar un panorama general de lo que es la Arquitectura del Software como una disciplina emergente que poco a poco se abre paso en los espacios académicos, muy a pesar de fosilizados docentes que creen que desarrollar software es simplemente tirar código, lo cual se traduce en una separación, en una dicotomía entre la formación académica y el qué hacer industrial, precisamente en ese sentido, (Reynoso, 2004) citando a Jan Bosch plantea que existe una considerable diferencia entre la práctica industrial y la percepción académica de la arquitectura del Software, es decir, que los problema de la academia no son los mismos problemas de la industria. Por ello es importante avanzar en eliminar tal brecha. Como es sabido los patrones de diseño fueron fundamentalmente orientados a servicios, estableciendo una limitante en el avance y el desarrollo de la disciplina, situación está que ya ha dado pasos importantes, por ello las cuestiones teóricas y metodológicas del diseño y la arquitectura se han 35

36 quedado a medio elaborar, y por parte de los docentes en las aulas a medio mencionar. Si bien los orígenes de la Arquitectura se pueden remontar a los años 90, con unos primeros párrafos de Mary Shaw o David Garlan, tales referencias solo son de carácter histórico, por lo que es necesario acudir a la literatura más reciente, es decir, como la de (Reynoso, 2004) quien plantea que esos orígenes difusos permiten distinguir corrientes de pensamiento diversas, cuyas diferencias distan de ser triviales a la hora de plasmar las ideas en una metodología en este sentido y según la literatura revisada se halló que no se habla de una metodología única, sino de una serie de metodologías, como se verá más adelante. En esta búsqueda por los orígenes de la Arquitectura del Software se halló que la Universidad Tecnológica de Eindhoven en Holanda Edsger Dijkstra, sostenía que las ciencias de la computación debían ser una rama aplicada de las matemáticas, para lo cual sugería descomponer los problemas mayores en pasos lógico formales a seguir para llegar a la resolución de un problema (Reynoso, 2004). Fue pionero en proponer que los sistemas operativos estén organizados como capas de cebolla ; igualmente ayudó a precisar una serie de conceptos que para cualquier ingeniero de sistemas son básicos, como el algoritmo del camino más corto, los stacks, vectores, semáforos, entre otros, además de acuñar otro concepto tras dar luces de respuesta a la problemática de la computación, donde la mayor dificultad es escribir programas de cómputo libres de defectos, comprensibles, mantenibles y verificables, denominado crisis del software.. Los conceptos de Dijkstra sentaron las bases para lo que luego fue llamado programación en grande ; precisamente P.I. Sharp, en la conferencia NATO n1969 dice acerca del genio holandés; el piensa que tienen algo muy aparte de la ingeniería del software, algo de lo que se ha hablado muy poco pero que debería poner sobre la mesa, para concentrarse más en ello. Como ejemplo habla sobre OS/360 que están extremadamente bien codificadas; su diseño fue delegado a varios ingenieros, cada uno de ellos realizo su propia arquitectura y cuando todas estas partes se integraron en una sola no produjeron una tersa y bella pieza de software. (Reynoso, 2004) 36

37 Y la siguiente frase es más que visionaria, es una profecía para tiempos de caos, en los que décadas después los ingenieros están perdidos en lo referente a la ingeniería y arquitectura del software, en este sentido Sharp continúa: indica que lo que sucede es que las especificaciones de software se creen son funcionales. En este caso solo hablamos de lo que puede hacer el programa. Dice que cualquier desarrollador responsable de la implementación o partes del software debe especificar más que esto, debe especificar el diseño, la forma; dentro de este marco de referencia los desarrolladores de software deben crear algo.(reynoso, 2004) Ya para el año de 1975, aparece la publicación del diseñador del sistema operativo OS/360, quien utilizaba el concepto de arquitectura del sistema para designar la relación especifica del usuario con una interfaz específica, comparando al arquitecto del software con el arquitecto de una casa [Brooks, 75] citado por (Reynoso, 2004) Sin embargo en el sentido estricto del término la expresión Arquitectura del Software fue usada concretamente hasta el año de 1992 por Perrry Wolf, diciendo que el propósito es construir el fundamento para la arquitectura del software, donde primero se desarrollaran una percepción, recurriendo a diferentes disciplinas de arquitectura bien definidas. Sobre la base de esta percepción, Perry Wolf presenta un modelo para la arquitectura del software que consiste en tres componentes: elemento, forma y razón. Los elementos son los procesamientos, datos o conexión. La forma son las propiedades, restricciones de la relación entre los elementos. La razón proporciona una base para la arquitectura en término de restricciones (Reynoso, 2004). En este sentido puede resultar útil estas analogías guardadas, resaltando los tres componentes fundamentales que son elementos, razón y forma, los cuales al moldearse en un mismo sistema de diseño, permite ampliar las posibilidades eliminando las restricciones, por el contrario permitiendo el desarrollo del software, allanando el camino para el futuro desarrollo de los estándares de calidad y unificación en el modelado. 37

38 3.1 UML El lenguaje unificado de modelado UML permite modelar visualmente los sistemas de información y tiene como objeto el escribir con cierta formalidad los sistemas de información, esto para especificar, visualizar, construir y documentar los artefactos de un software. Está pensado para usarse con los métodos de desarrollo, sus etapas del ciclo de vida, dominios de aplicación y medio. Igualmente es concebido para ser utilizado en herramientas interactivas de modelado visual que tengan generadores de código así también como generadores de informes. UML fue adoptado unánimemente como estándar en noviembre de 1997, asumiendo la responsabilidad de futuros desarrollos en el estándar de modelado. El surgimiento de UML fue atractivo para el público informático ya que se pretende apoyar tanto la expansión del uso del modelado a objetos, como la aparición de nuevas herramientas de formación y utilización, teniendo en cuenta que ya no hay que pensar en metodologías a usar y mantener. (Booch, Jacobson, & Rumbaugh, 2000) Cómo se observa en la figura 11, UML está pensado para cubrir una serie de necesidades en el proceso de diseño de un software, relacionándolo a diferentes procesos que proporcionan a los desarrolladores de software, a los arquitectos de sistemas, y a los ingenieros de software las herramientas necesarias para el análisis, diseño, implementación de los sistemas de software. Su función es capturar las partes esenciales del sistema para desarrollar, probar y mejorar más fácilmente dicho software. (Booch, Jacobson, & Rumbaugh, 2000) 38

39 Figura 11. MAPA MENTAL DE LOS PROCESOS UML Recuperado de El modelado se puede considerar como la espina dorsal del desarrollo de software con alta calidad, el cual busca representar los planos del software, es decir, buscado visualizar lo que el cliente quiere que haga el sistema, especificar la estructura o comportamientos del mismo, proporcionar plantillas que guíen al desarrollador en la construcción, además de documentar las decisiones tomadas; proporcionando un vocabulario con reglas de utilización y representación conceptual de los modelos que pueden ser interpretados por algunas personas que no hayan participado en su diseño. (Booch, Jacobson, & Rumbaugh, 2000) Como muestra en la figura 12, los diagramas UML se dividen en diagramas de estructura y diagramas de comportamiento, los primeros a su vez se dividen en 39

40 diagramas de clases, diagramas de componentes, diagrama de despliegue, diagramas de paquetes, diagrama estructura compuesta y diagramas de objetos; los diagramas de comportamiento se dividen en diagramas de estado, diagrama de casos de uso, diagramas de actividades y diagramas de interacción, estos últimos a la vez se dividen en diagramas de secuencia, diagramas de colaboración, diagrama global de interacción y diagrama de tiempos. Sin embargo al realizar el modelado de un software no es necesario realizar todos los diagramas propuestos por UML, debido a que se debe analizar la importancia que puede tener cada diagrama para el tipo de desarrollo a realizar, y así poder generar los diseños de los diagramas que se consideren relevantes según las características del software. Para definir cualquier modelo es necesario contar con un lenguaje de modelado. Los metamodelos definen formalmente la sintaxis abstracta de los lenguajes de modelado, recogiendo sus conceptos (palabras del lenguaje), así como las reglas que indican cómo se pueden combinar dichos conceptos para formar modelos válidos. Por otra parte, la representación asociada a cada uno de los elementos del modelo (conceptos y relaciones) constituye la sintaxis concreta del lenguaje. 40

41 Figura 12. UML DIVISIÓN DE DIAGRAMAS ESTRUCTURALES Recuperado de http: 3.2 JAVA Java hacia el año de 1991 cuando un grupo de ingenieros de Sun Microsystems, buscaban diseñar un lenguaje de programación independiente de las máquinas utilizadas, ya que éstas eran cada vez más reducidas. En este sentido se diseñó un código neutro que no dependía del tipo de CPU utilizado, éste se ejecutaba sobre una máquina hipotética o virtual denominada "Java virtual machine". 41

42 Esta interpretaba el código neutro convirtiéndolo al código particular de cada CPU. Al programar en Java el desarrollador no parte desde cero, sino que cuenta con un gran número de clases pre-existentes, algunas hechas por el mismo. (TUTORIAL DE JAVA) El principal objetivo del lenguaje es llegar a ser el nexo universal que conecte a los usuarios con la información, sitúan un ordenador local, en la web, en una base de datos, o en cualquier otro lugar. 3.3 NETBEANS NetBeans es un entorno desarrollo integrado (IDE) de carácter libre, el cual fue hecho principalmente para el lenguaje de programación Java. Este proyecto de código abierto tiene gran éxito, con una comunidad de usuarios en constante crecimiento. Esta plataforma permite que las aplicaciones sean desarrolladas a partir de módulos, entendiendo un módulo como un archivo Java para interactuar con las aplicaciones de Netbeans y un activo especial que lo identifica como tal. El hecho de desarrollar los módulos independientemente permite que las aplicaciones basadas en esta plataforma puedan ser extendidas o ampliadas por otros desarrolladores. (Netbeans.org, 2014) 3.4 ARDUINO Es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares. Se puede usar Arduino para crear objetos interactivos, leyendo datos de una gran variedad de interruptores y sensores y controlar multitud de tipos de luces, motores y otros actuadores físicos. Los proyectos de Arduino pueden ser autónomos o comunicarse con un programa (software) que se ejecute en tu ordenador (ej. Flash, Processing, MaxMSP). La placa se puede montar por cualquier persona o comprarla 42

43 ya lista para usar, y el software de desarrollo es abierto y se puede descargar gratis. (ARDUINO ORG, 2012) 3.5 METODOLOGIAS DE PROGRAMACION Rapid application development (Rad) La metodología de desarrollo rápido de aplicaciones (RAD) se desarrolló para responder a la necesidad de entregar sistemas muy rápido. El enfoque de RAD no es apropiado para todos los proyectos. El alcance, el tamaño y las circunstancias, todo ello determina el éxito de un enfoque RAD. El método RAD tiene una lista de tareas y una estructura de desglose de trabajo diseñada para la rapidez. El método comprende el desarrollo iterativo, la construcción de prototipos y el uso de utilidades CASE (Computer Aided Software Engineering). Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la usabilidad, utilidad y rapidez de ejecución. El desarrollo rápido de aplicaciones es un proceso de desarrollo de software, desarrollado inicialmente por James Martin en El término fue usado originalmente para describir dicha metodología. La metodología de Martin implicaba desarrollo iterativo y la construcción de prototipos. Más recientemente, el término y su acrónimo se están usando en un sentido genérico, más amplio, que abarca una variedad de técnicas dirigidas al desarrollo de aplicaciones rápidas. RAD requiere el uso interactivo de técnicas estructuradas y prototipos para definir los requisitos de usuario y diseñar el sistema final. Usando técnicas estructuradas, el desarrollador primero construye modelos de datos y modelos de procesos de negocio preliminares de los requisitos. Los prototipos ayudan entonces al analista y los usuarios a verificar tales requisitos y a refinar formalmente los modelos de datos y procesos. El ciclo de modelos resulta a la larga en una combinación de requisitos de negocio y una declaración de diseño técnico para ser usado en la construcción de nuevos sistemas, como muestra la figura 13. (gestionrrhhusm, 2011) 43

44 Figura 13. RAPID APPLICATION DEVELOPMENT (RAD). Recuperado de: Los enfoques RAD pueden implicar compromisos en funcionalidad y rendimiento a cambio de permitir el desarrollo más rápido y facilitando el mantenimiento de la aplicación. (gestionrrhhusm, 2011) Rational unified process (Rup) El proceso unificado Rational (RUP) es un marco de trabajo de proceso de desarrollo de software iterativo creado por Rational Software Corporation, una división de IBM desde RUP no es un proceso preceptivo concreto individual, sino un marco de trabajo de proceso adaptable, con la idea de ser adaptado por las organizaciones de desarrollo y los equipos de proyecto de software que seleccionarán los elementos del proceso que sean apropiados para sus necesidades, como muestra la figura 14. (gestionrrhhusm, 2011) 44

45 Figura 14. RATIONAL UNIFIED PROCESS (RUP). Recuperado de: RUP fue originalmente desarrollado por Rational Software, y ahora disponible desde IBM. El producto incluye una base de conocimiento con artefactos de ejemplo y descripciones detalladas para muchos tipos diferentes de actividades. RUP resultó de la combinación de varias metodologías y se vio influenciado por métodos previos como el modelo en espiral. Las consideraciones clave fueron el fallo de proyectos usando métodos monolíticos del estilo del modelo en cascada y también la llegada del desarrollo orientado a objetos y las tecnologías GUI, un deseo de elevar el modelado de sistemas a la práctica del desarrollo y de resaltar los principios de calidad que aplicaban a las manufacturas en general al software. (gestionrrhhusm, 2011) Cascada En este modelo los pasos del desarrollo son vistos hacia abajo, a través del análisis de las necesidades, el diseño, pruebas, implantación, integración y mantenimiento como lo muestra la figura 15. (gestionrrhhusm, 2011) 45

46 Figura 15. MODELADO EN CASCADA Recuperado de: Los principios básicos para este modelo son: Este modelo está dividido en secuencias Se hace insistencia en la parte de organización, horas, fechas, presupuestos y la actuación del sistema una sola vez La documentación de todo el proceso realizado, comentarios y aprobación por el usuario Prototipado Como se muestra en la figura 16, este modelo permite desarrollar los modelos para aplicaciones de software que deja ver el funcionamiento básico del mismo, condesciende al cliente verificar el producto temprana mente, el usuario tiene una interacción con los diseñadores y desarrolladores para revisar si se está cumpliendo satisfactoriamente con los requisitos y las funcionalidades anteriormente acordadas. (gestionrrhhusm, 2011) 46

47 Figura 16. MODELADO EN PROTOTIPADO Incremental Recuperado de: Proporciona una estrategia para inspeccionar la complejidad de los riesgos, reservando una parte del producto software para algunos aspectos en el futuro, como muestra la figura 17. (gestionrrhhusm, 2011) Figura 17. MODELO INCREMENTAL Recuperado de: 47

48 Algunos de los principios son: Se realiza una mini cascada para una parte del sistema, antes de seguir con el proceso incremental. Se realiza una mini cascada del desarrollo para cada uno de los incrementos del sistema. Se utiliza un enfoque de cascada para el análisis de las necesidades y el diseño de la arquitectura, que finaliza con la instalación del prototipo final o terminado. (gestionrrhhusm, 2011) Espiral Los principios básicos de este modelo son: Se centra más que todo en la evaluación y reducción de los riesgos del proyecto, dividiéndolo por segmentos pequeños para más facilidad al proceso de cambio durante el desarrollo del mismo, también deja ver la posibilidad de evaluar los riesgos con la aplicabilidad en el proyecto durante todo el ciclo de vida. Cada vez que realiza el proceso del espiral atraviesa cuatro enfoques muy básicos: 1. Determinar objetivos, alternativas, y desencadenantes de la iteración 2. Evaluar, identificar y solucionar los riesgos. 3. Desarrollar y verificar los resultados. 4. El ciclo siempre se comienza con el usuario y sus requisitos para luego terminar con la revisión. (gestionrrhhusm, 2011) La figura 18, muestra los enfoques básicos de esta metodología. 48

49 Figura 18. MODELADO EN ESPIRAL Recuperado de: 3.6 METODOLOGIA SELECCIONADA Para el desarrollo del proyecto se realizó la búsqueda necesaria de las diferentes tipos de metodología; acoplándose de una mejor forma la metodología de la programación en cascada, debido a que se tienen claro cada uno de los procesos que va realizar el sistema. Teniendo la necesidad de software requerida y analizando en términos generales que el proyecto a desarrollar no es tan robusto, de manera que no exige de un gran rendimiento de la metodología, sin embargo la misma es una de las utilizadas por su facilidad y por buen desempeño en los proyectos, esta se puede definir en los siguientes pasos: Análisis: Esta consiste en levantar la información actual del problema y proponer los casos generales de la solución. 49

50 Diseño: Permite describir o establecer los componentes o módulos que formarán el software para ser producido. Donde, describen, con mucho detalle, cada módulo que contendrá el sistema, y que operación va realizar. Desarrollo: Esta consiste en desarrollar cada uno de los módulos creación física donde se hacen los procesos de codificación, implementación de interfaz y más. Pruebas: Permite llegar al momento de verificar que el sistema es consistente con la definición de requisitos y la especificación funcional. Mantenimiento: El mantenimiento ocurre cuando existe algún problema dentro de un sistema existente, e involucraría la corrección de errores que no fueron descubiertos en las fases de prueba. De acuerdo con la metodología y su estructura secuencial, cuando se finaliza una etapa se lleva a cabo un proceso de revisión en el que se verifica el cumplimiento de los requerimientos o de todos las actividades de esta etapa, para así, dar paso a la siguiente etapa y continuar con los procesos de la metodología; pero cuando se encuentran inconsistencias, se solucionan para así continuar con el proceso, lo cual permite tener una reducción de errores al momento de implementar el sistema. 4. ESPECIFICACION DE LA SOLUCION 4.1 REQUERIMIENTOS Un requerimiento es la característica que debe tener determinado sistema de cómputo, a su vez un requerimiento es una restricción que el sistema debe cumplir para que de este modo pueda ser aceptado por la persona o entidad que demande un software acorde a sus necesidades. Si el requerimiento se entiende como una condición, una capacidad de una necesidad a cumplir por el usuario debe también ser una representación documentada de esta condición o capacidad. El 50

51 requerimiento es necesario para que no hayan deficiencias en el sistema, debe ser conciso fácil de leer, pero a su vez debe de ser completo con la información suficiente para la comprensión. Ahora bien, continuando el proceso se llega al paso siguiente es que el levantamiento de los requerimientos, lo cual se puede entender como una especificación del sistema de cómputo en los términos más sencillos para que siguiente lo entienda, lo que a la larga que constituye en el contrato desarrollado entre ambas partes. Existen dos clases de requerimientos, los funcionales y los no funcionales. Los funcionales son los que describen la interacción entre el sistema de cómputo visual y el ambiente de manera independiente a la implementación; en este sentido el ambiente incluye un determinado usuario y cualquier otro sistema que de manera remota, a través de internet, pueda interactuar con el sistema. Para el levantamiento de los requerimientos se pueden utilizar dos conceptos, los cuales deben ser escritos en un lenguaje natural o sencillo, es decir, no técnico para que puedan ser entendidos por el usuario. Los escenarios son usados para describir la aplicación y su funcionalidad, con ejemplo de los puntos del sistema en términos de interacciones entre el usuario y el sistema mismo. Continuando en este mismo orden de ideas, cada escenario es una descripción de situaciones específicas en la aplicación centrándose directamente en el comportamiento de la misma. Los requerimientos no funcionales son aquellos que describen aspectos visibles para el usuario pero que no necesariamente incluyen una relación directa con el comportamiento funcional del sistema, incluyen restricciones generalmente de seguridad, de tiempo y precisión. De acuerdo a este marco se procede a realizar la especificación de los requerimientos levantados, con su correspondiente clasificación. (Ver Tablas de la 1 a la 7). 51

52 Tabla 1. Requerimiento 001 INGENIERIA DE SISTEMAS Y TELECOMUNICACIONES (UCP) CAPTURA Y DESCRIPCIÓN DE REQUERIMIENTOS Nombre del proyecto: SOFTWARE PARA EL CONTROL DE UN BRAZO ROBÓTICO Analista Responsable: Juan Carlos Parra Configuración Manual del Movimiento Descripción del requerimiento: Fecha: 18/03/2014 Requerimiento Nro. 001 Permitir la manipulación del brazo a partir de la configuración manual del movimiento que realizará cada motor. Tipo de requerimiento x Funcional No funcional Tabla 2. Requerimiento 002 INGENIERIA DE SISTEMAS Y TELECOMUNICACIONES (UCP) CAPTURA Y DESCRIPCIÓN DE REQUERIMIENTOS Nombre del proyecto: SOFTWARE PARA EL CONTROL DE UN BRAZO ROBÓTICO Fecha: 18/03/2014 Analista Responsable: Requerimiento Nro. Juan Carlos Parra 002 Rutina Automática Descripción del requerimiento: Permitir que el usuario pueda activar la rutina automática por defecto a ser realizada por el brazo. Tipo de requerimiento X Funcional No funcional 52

53 Tabla 3. Requerimiento 003 INGENIERIA DE SISTEMAS Y TELECOMUNICACIONES (UCP) CAPTURA Y DESCRIPCIÓN DE REQUERIMIENTOS Nombre del proyecto: SOFTWARE NO FUNCIONAL PARA UN BRAZO ROBÓTICO Analista Responsable: Juan Carlos Parra Verificación de datos ingresados Descripción del requerimiento: Fecha: 18/03/2014 Requerimiento Nro. 003 Delimitar el rango permitido de los grados a ser enviados al dispositivo hardware para asegurar un correcto funcionamiento del mismo. {ñ-tipo requerimiento de x Funcional No funcional Tabla 4. Requerimiento 004 INGENIERIA DE SISTEMAS Y TELECOMUNICACIONES (UCP) CAPTURA Y DESCRIPCIÓN DE REQUERIMIENTOS Nombre del proyecto: SOFTWARE PARA EL CONTROL DE UN BRAZO ROBÓTICO Analista Responsable: Juan Carlos Parra Menú Inicial Descripción del requerimiento: Fecha: 18/03/2014 Requerimiento Nro. 004 Mostrar un menú inicial para la selección de la rutina automática, o la rutina manual Tipo de requerimiento Funcional x No funcional 53

54 Tabla 5 Requerimiento 005 INGENIERIA DE SISTEMAS Y TELECOMUNICACIONES (UCP) CAPTURA Y DESCRIPCIÓN DE REQUERIMIENTOS Nombre del proyecto: SOFTWARE PARA EL CONTROL DE UN BRAZO ROBÓTICO Analista Responsable: Juan Carlos Parra Interfaz Intuitiva Descripción del requerimiento: Fecha: 18/03/2014 Requerimiento Nro. 005 Realizar una interfaz simple, y entendible, de manera que el software pueda ser utilizado de una manera intuitiva Tipo de requerimiento Funcional X No funcional Tabla 6. Requerimiento 006 INGENIERIA DE SISTEMAS Y TELECOMUNICACIONES (UCP) CAPTURA Y DESCRIPCIÓN DE REQUERIMIENTOS Nombre del proyecto: Fecha: SOFTWARE PARA EL CONTROL DE UN 18/03/2014 BRAZO ROBÓTICO Analista Responsable: Juan Carlos Parra Configuración de Retardos Descripción del requerimiento: Requerimiento Nro. 007 Se debe poder configurar un retardo entre cada movimiento enviado en la sección de rutina manual con el fin de no desgastar el juego de engranajes que está situado en la caja reductora del servomotor. Tipo de requerimiento X funcional No funcional 54

55 Tabla 7. Requerimiento 007 INGENIERIA DE SISTEMAS Y TELECOMUNICACIONES (UCP) CAPTURA Y DESCRIPCIÓN DE REQUERIMIENTOS Nombre del proyecto: Fecha: SOFTWARE PARA EL CONTROL DE UN 18/03/2014 BRAZO ROBÓTICO Analista Responsable: Juan Carlos Parra Reinicio de Brazo Descripción del requerimiento: Requerimiento Nro.007 En el software debe existir la opción de reiniciar el brazo para que el mismo quede en la posición inicial por defecto. Tipo de requerimiento funcional X No funcional 4.2 PONDERACION DE LOS REQUERIMIENTOS REQUERIMIENTOS Tabla 8. Ponderación de Requerimientos PONDERACIÓN (%) CLASIFICACIÓN Configuración manual del movimiento 20 Funcional Rutina Automática 20 Funcional Verificación de datos ingresados 15 Funcional Configuración de Retardos 15 Funcional Interfaz intuitiva 10 No Funcional, Interfaz Menú Inicial 10 No funcional, Interfaz Reinicio de Brazo 10 No Funcional TOTAL

56 4.3 DESCRIPCION DE LA TECNOLOGIA Para el desarrollo del proyecto se implementaron diferentes tecnologías y dispositivos hardware que mediante su interconexión logran dar forma al sistema completo de prototipo físico y producto software. El brazo robótico AS-6DOF fue una de las tecnologías escogidas con un diseño para realizar movimientos precisos de alta repetitividad, además su estructura esta hecho de aluminio que nos permite fácil movilidad e integración en el laboratorio, dentro de la misma estructura del brazo en función de su movilidad tiene integrado diferentes servomotores de gran precisión para poder ubicar cada articulación dentro del rango que se requiere en la operación, estos servomotores tienen una ventaja que pueden ser controlados a través de un integrado que recibe la señal o instrucciones desde la placa base para poder controlar la fuerza y la velocidad de su caja reductora. Otro de sus componentes tecnológicos es el arduino Mega 2560 o la placa base que se utilizó, es ideal para proyectos de robótica, lo más destacado es su elevada cantidad de pines de entrada y salida, su plataforma de hardware es libre y está compuesta de un micro controlador que después de estar programado ayuda con las tareas de movilidad de nuestro brazo robótico, tiene un software libre (ID Arduino) para la programación de las rutinas a integrar en el micro controlador que puede ser instalada en cualquier sistema operativo, su entorno de desarrollo es diseñado para facilitar la funcionalidad y programación de diferentes componentes que nos ofrece arduino Brazo robótico AS-6DOF Después de analizar diferentes referencias de brazos robots para su implementación con el sistema se decidió optar por el brazo robótico AS-6DOF que se observa en la figura 19, debido a su estructura, porque permite encajar perfectamente en el laboratorio de PHYSILAB, ya que por su peso, medidas, su material de aluminio hace que sean elementos más fáciles e importantes a la hora de integrarlo con otros elementos para el funcionamiento. De otra forma, fue escogido por su forma de conexión con otros elementos el cual nos permite un control total de sus movimientos. 56

57 Figura 19. BRAZO ROBOT AS-6DOF Recuperado de: Es un brazo mecánico que contiene 6 servo motores que ayudan a mover sus articulaciones, trae internamente un controlador para 32 servomotores, esto quiere decir que puede manejar esta cantidad de motores al mismo tiempo, para poder tener la conexión entre el arduino y el computador se debe utilizar una interconexión USB para que la tarjeta sea reconocida por el computador y así poder manejar el software de arduino, este entorno de programación es muy parecido a C++ que para y así se facilita la programación o rutinas que manejarían el brazo robótico, parámetros son enviados al micro controlador de la placa base que siempre está activo a recibir instrucciones, estas rutinas son quemadas dentro del micro controlador a través de la interfaz del software de arduino y se almacena inmediatamente para estar listo a ser ejecutado para realizar la rutina o los parámetros programados en el movimiento de cada uno de los motores del brazo. 57

58 4.3.2 Arduino mega 2560 Para el desarrollo de este proyecto se tuvieron en cuanta diferentes tarjetas de la familia Arduino, sin embargo la placa arduino mega 2560 la cual se observa en la figura 20; fue seleccionada a diferencia de otras placas de éste tipo, incluye un amplio espacio de memoria para programar y corriendo a 16 Mhz, tiene una capacidad SRAM de 8 KB y cuenta con 54 pines que permite tener otros dispositivos similares, es decir, se eligió por sus especificaciones técnicas de alto rendimiento, lo que lo hace atractivo para diferentes proyectos con alto nivel de complejidad, además es perfecto pensado en la integración con PHYSILAB (un proyecto de mayor envergadura) es importante contar con buenas posibilidades de escalabilidad. El Aduino MEGA 2560 es ideal para los proyectos de robótica con el control de varios elementos al mismo tiempo, su conexión USB hace más flexible y fácil a la hora de interactuar con nuestro sistema de cómputo. (ARDUINO ORG, 2012) Figura 20. ARDUINO MEGA 2560 Recuperado de: La tarjeta Arduino Mega está basada en el micro controlador ATmega2560, esta board es la sucesora de la Arduino MEGA1280, Trae 54 I/O digital de los cuales podemos usar 14 PWMs, 16 canales de entradas analógicas, 4 puertos seriales a 16 MHz, tiene integrado una conexión a USB, entrada de alimentación tipo Jack y 58

59 conector ICSP(In-Circuit Serial Programming), su uso es muy sencillo; éste tipo de Arduino no requiere una programa de control externo, solamente es conectarla a la tarjeta a través del puerto USB y descargar el programa o instrucciones en su Micro controlador. (ARDUINO ORG, 2012) Servomotores Como se observa en la figura 21 un servomotor es un motor DC que está conectado a un integrado. El integrado lo que hace es recibir una señal de control, esta señal es de tipo PWM (pulse-width modulation), que quiere decir modulación por ancho de pulso, el integrado lo que hace es recibir esta señal y la demodula para verificar a cuantos grados tiene que girar el motor. El servomotor tiene una parte mecánica denominada caja reductora, está compuesta de conjunto de engranajes o piñones que nos proporcionan movimientos precisos aumentando la fuerza del servo motor. (TdRobotica.co, 2012) Figura 21. SERVOMOTOR RB-150MG Recuperado de: 59

60 4.4 DESCRIPCION GENERAL DE LA SOLUCION Realizando el análisis de los requerimientos y de la contextualización del proyecto se realiza la estructuración del sistema de la siguiente manera: 4.4.1Sistema General El solución consta de 3 partes fundamentales, el prototipo hardware (Brazo Robótico), el software para la tarjeta micro-controladora Arduino que permite el control del brazo y el Software de escritorio para el control de la tarjeta microcontroladora Software en Arduino El software principal de control del brazo es el desarrollado para el dispositivo Arduino Mega 2560, puesto que esta tarjeta es la primera capa de control del dispositivo dentro del sistema general. El dispositivo debe estar programado de manera que su estructura permita por medio de parámetros ejecutar las funciones de movimiento que se requieren en el sistema, como lo son una Rutina Automática, Posicionamiento Inicial y una Rutina Manual. La ejecución de la rutina automática se debe realizar al enviar un parámetro que identifique esta opción dentro del dispositivo Arduino para así ejecutar los diferentes movimientos (ángulos de posición y retardos) programados internamente, es decir que se posicione en un objetivo inicial, descienda para agarrar un objeto determinado, ascienda nuevamente y posteriormente sea llevado hasta una posición final para soltar el objeto. La ejecución del posicionamiento inicial, igualmente debe realizarse a partir del envío de un parámetro que identifique la misma, en el software desarrollado para el Arduino, y así ejecutar las acciones que permitan que el brazo se ubique en la posición por defecto para el cual haya sido programado. 60

61 La ejecución de la rutina manual se realiza a partir del envío de un parámetro de tipo cadena el cual incluya los valores de todas las posiciones y retardos de manera que al ser enviado al software creado para la tarjeta, tome dichos parámetros y se los asigne a cada servomotor con el fin de que estos realicen su posicionamiento determinado Software de Escritorio El sistema debe contar con una interfaz gráfica el cual actúa como canal de comunicación entre el usuario y el sistema general. El software debe estar compuesto por un menú principal en el cual se encuentre la opción de inicializar la conexión con el brazo robot, la opción de ejecutar la rutina automática y una tercera opción para la rutina manual. La opción para la conexión al brazo robot debe existir puesto que los sistemas operativos de los computadores pueden reconocer el dispositivo Arduino desde diferentes puertos (COM1, COM2, COM3 ) y se debe poder seleccionar el puerto con el cual se quiere realizar la conexión al software. Para la ejecución de la rutina manual debe aparecer otra interfaz, en la cual se pida al usuario la posición en grados que sea que se mueva cada motor, y un retardo posterior a cada movimiento, En la interfaz se debe enumerar cada uno de los motores e indicar gráficamente que motor pertenece a que parte del brazo para que sea entendible para el usuario la configuración de los mismos. En la interfaz de la rutina manual deben estar habilitados 3 botones, uno de ellos que ejecute la rutina que ha sido configurada, otro para regresar a la posición inicial, y el tercero que me permita volver a al menú inicial Integración Las 3 partes fundamentales del sistema deben estar integradas finalmente, El dispositivo hardware debe estar conectado de manera que cada motor del brazo robot se encuentre conectado a la alimentación de energía eléctrica y que 61

62 igualmente esté conectado a un pin correspondiente de la tarjeta micro-controladora como medio para recibir las instrucciones. La tarjeta micro-controladora igualmente debe estar conectada al computador en donde esté instalado el software por medio de cable USB, para lograr la recepción de instrucciones desde el software de escritorio Cronograma de Actividades Las áreas sombreadas en verde corresponden a los avances que se ejecutaran, y las áreas sombreadas en amarillo, son los momentos en los cuales debe irse desenvolviendo el proyecto. TABLA 9. CRONOGRAMA DE ACTIVIDADES UCPBRA Fecha Ene Feb Mar 23-abr 8-May / Jun ACTIVIDAD Formulación Problema Objetivos Metodología Marco Teórico Marco Conceptual Marco Contextual Requerimientos Armado de brazo Análisis Diseño Implementación INFORME FINAL Redacción Informe Revisión Exposición Pruebas Ajuste y corrección Sustentación Recuperado de: Elaboración propia 62

63 4.4.6 Estimación de Presupuesto Tabla 10. Estimación de Presupuesto Concepto Meses Valor (1/2 Tiempo) Levantamiento de información Conceptualización Elección de Tecnologías Diseño de Software Creación y Programación de la interfaz UCPBRA Programación de Rutinas en software de arduino Brazo Robótico AS-6DOF Arduino Mega Dispositivos Electrónicos Reparación y compra de elementos dañados Total: Recuperado de: Elaboración propia 5. ARQUITECTURA DEL SOFTWARE 5.1 Diagrama de casos de uso Los casos de uso se utilizan para describir los pasos de las actividades que deberían realizar para poder llegar a ejecutar un proceso, todos los personajes que actúan en un caso de uso se le denominan actores, en nuestro caso como muestra la figura 22, existe un usuario que tendrá que tomar una decisión, si quiere que el brazo efectué una rutina manual o si quiere que la realice automática, cada uno de ellos tiene sus actividades por cumplir dependiendo a la decisión que se tome. 63

64 Figura 22. DIAGRAMAS DE CASOS DE USO UCPBRA 5.2 Diccionario de casos de uso Recuperado de: Elaboración propia No. Caso de Uso: 1 Tabla11. Diccionario de casos de uso 1 Nombre: Descripción Relaciones Rutina Manual El usuario del software podrá configurar los movimientos del brazo seleccionando realizando la parametrización de los diferentes motores. Asociación: Usuario 64

65 Tabla 12. Diccionario de casos de uso 2 No. Caso de Uso: 2 Nombre: Descripción Indicar Grados Motores Como segundo paso para la rutina manual, se deberá ingresar el valor a ser enviado a los motores para su respectivo movimiento Relaciones Asociación: Usuario Tabla 13 Diccionario de casos de uso 3 No. Caso de Uso: 3 Nombre: Definir Retardos Descripción Como tercer paso se debe ingresar el valor de los retardos que se desean enviar después del movimiento de los motores Relaciones Asociación: Usuario 65

66 Tabla 14 Diccionario de casos de uso 4 No. Caso de Uso: 4 Nombre: Descripción Relaciones Ejecutar Rutina Finalmente la rutina con los motores y sus valores de movimiento previamente asignados y sus retardos correspondientes son enviados al brazo robot conectado al equipo para su inmediata ejecución. La rutina enviada tendrá la opción de seleccionar la cantidad de veces que se quiere repetir la rutina, o si se quiere realizar la rutina en un ciclo infinito. Asociación: Usuario Tabla 15 Diccionario de casos de uso 5 No. Caso de Uso: 5 Nombre: Descripción Relaciones Ejecutar Rutina Finalmente la rutina con los motores y sus valores de movimiento previamente asignados y sus retardos correspondientes son enviados al brazo robot conectado al equipo para su inmediata ejecución. La rutina enviada tendrá la opción de seleccionar la cantidad de veces que se quiere repetir la rutina, o si se quiere realizar la rutina en un ciclo infinito. Asociación: Usuario 66

67 Tabla 16 Diccionario de casos de uso 6 No. Caso de Uso: 6 Nombre: Descripción Relaciones Posición Inicial Los motores son reiniciados para que el brazo quede en la posición inicial por defecto. Asociación: Usuario Tabla 17 Diccionario de casos de uso 7 No. Caso de Uso: 7 Nombre: Descripción Relaciones Rutina Automática Se envía la rutina configurada por defecto a ser ejecutada por el brazo, la misma puede ser ejecutada una sola vez, o en un ciclo infinito. Asociación: Usuario Tabla 18 Diccionario de casos de uso 8 No. Caso de Uso: 8 Nombre: Descripción Relaciones Detener Brazo Detiene cualquier movimiento que se esté realizando y se devuelve a su posición inicial por defecto. Asociación: Usuario 67

68 5.3 Diagrama general de secuencias En la figura No.23 se determinan las actividades del software y la secuencia en las que se ejecutan para lograr la integridad de las opciones requeridas para el sistema. Figura 23. DIAGRAMA DE SECUENCIA Recuperado de: Elaboración propia

69 De acuerdo en la figura 23, se muestra como las actividades se comunican entre sí al transcurrir la secuencia ordenada de cada una de las funciones que realiza al ejecutar nuestro software, en este caso se tiene un inicio donde inicializa una conexión con arduino o placa base (arduino mega 2560), donde se verificar la conexión de puertos en el administrador de dispositivos; verificada esta acción se sigue con la siguiente actividad que es la seleccionar puerto, se elige el puerto donde esta el dispositivo y se ejecuta la siguiente actividad que es conectar, se verifica si ha conectado, en caso de que la conexión no fue exitosa; inmediatamente se vuelve hacer la actividad de conexión con arduino, pero si fue exitosa se pasa a la toma de decisiones donde se encuentran tres actividades para seleccionar que son: rutina Manual, rutina Automática y desconectar. Si su elección fue la actividad de rutina manual se ingresa a una nueva interfaz donde se verifica la siguiente actividad de configurar posición de motores, se ingresan los grados para cada movimiento en los servo motores, terminando la anterior configuración y se procede a la siguiente actividad que es la de configurar retardos; dentro de unas casillas que muestra la interfaz, se coloca en milisegundos los retardos de los motores, efectuada la anterior actividad se ejecuta la rutina para el funcionamiento de los motores; dentro de esta misma interfaz se tiene otra actividad que se puede ejecutar en caso no dejar el brazo en su posición inicial, se pasa a realizar la siguiente actividad que es volver a posición inicial, si se desea parar las actividades en esta misma interfaz existe otra actividad para desconectar donde se hace la desconexión entre el arduino y el software, pero si se desea regresar a la ventana inicial se selecciona la actividad de volver selección rutinas y automáticamente se regresa nuevamente al menú inicial o donde se seleccionan nuevamente rutina Manual, rutina Automática y desconectar. Si su elección fue rutina automática se inicia la actividad de rutina automática ya con unos parámetros inicialmente ingresados y guardados en el micro controlador del arduino, la última actividad que tendríamos es desconectar, habilitada en caso de que se desee desconectar la aplicación.

70 5.4 Prototipo no funcional Figura 24. INTERFAZ DE INICIO UCPBRA Recuperado de: Elaboración propia El programa en su menú principal (ver figura 24) permite realizar la conexión con el Arduino por el puerto que sea seleccionado en el ítem de conexión situado en la parte superior derecha, ingresamos el puerto donde está conectado nuestro arduino y ejecutamos el botón conectar, en esta ventana inicial tenemos 2 opciones, la Rutina Automática, la cual, al ser presionada, inmediatamente realiza la rutina por defecto que ha sido programada para el brazo dentro del micro controlador de la placa base y la Rutina manual, la cual consta de una interfaz diferente donde pasamos a ingresar en grados los movimientos a realizar con sus respectivos

71 retardos en milisegundos para la ejecución ordenada para cada motor, antes de hacer el movimiento gradualmente debemos verificar la limitante de cada motor. Figura 25. INSERCIÓN DE DATOS PARA RUTINA MANUAL UCPBRA Recuperado de: Elaboración propia En la figura 25, se muestra la interfaz de la sección Rutina Manual en la cual se puede seleccionar los grados a los que se desea mover cada motor, y el retardo posterior al movimiento. Se cuenta con dos botones, el de Ejecutar Rutina, para enviar los parámetros asignados y realizar el movimiento, y el de Posición Inicial, el cual reinicia el brazo para que éste se ubique en la posición por defecto de inicio.

72 5.5 Descripción del proceso de desarrollo El proceso de desarrollo del prototipo hardware se realiza según los siguientes lineamientos. Se procede a la construcción del brazo robot, armando los diferentes componentes, y posicionando los servomotores correspondientes en cada una de las articulaciones. Cada servomotor debe estar conectado al integrado. El integrado lo que hace es recibir una señal de control, esta señal pasa por un proceso de PWM (modulación por ancho de pulso) para verificar el valor en la cual se debe posicionar el motor y enviar dicha instrucción al mismo para ejecutar el movimiento. Se energiza el brazo robótico, utilizando una fuente de energía eléctrica continua de 5 voltios y 1 amperio para el funcionamiento de los servomotores. Se realiza la preparación del entorno procediendo a la instalación de IDE Arduino, con el driver correspondiente para la tarjeta, el IDE Netbeans y el Kit de Desarrollo de Java (JDK). El Arduino IDE se utiliza para la codificación del micro-controlador. La codificación realizada de manera que para la ejecución de cualquier proceso se necesite un parámetro que indique cual es el movimiento a realizar. Se diseña un algoritmo estructurado cómo se describe a continuación: Se importa la librería Servo.h para la gestión de los servomotores. Se inicializan 6 variables se tipo servo que representarán los 6 motores y se relacionan con el pin en el que se encuentran conectados al Arduino. Se crea el método loop el método que se ejecutará indefinidamente y estará verificando se hay valores enviados en el puerto de conexión al computador. Se codifica de manera que sólo la primera vez de la ejecución del loop el robot se ubique en la posición inicial (esto se realiza para

73 que al momento de energizar el Arduino, éste de inmediato ubique los motores en dicha posición). Después de la configuración de la posición inicial, se entra a validar si hay datos en el puerto, Si el dato recibido es 1 se ejecutan las instrucciones que realizan la rutina automática determinando los grados de posición de cada motor, y los retardos necesarios para que la rutina fluya apropiadamente, (La rutina automática es diseñada a prueba y error siguiendo la descripción realizada en la definición general de la solución), Si el dato recibido es 2 se ejecutan las instrucciones para ubicar el brazo en la posición inicial, Y si el dato recibido es de 48 caracteres se realiza la rutina manual. Los 48 caracteres vienen de la manera en cómo diseñó la cadena que se recibe, puesto que el movimiento de cada motor cuenta con 3 caracteres que indican la posición, va desde 000 a 180, y 5 caracteres que indican el retardo en milisegundos ejecutado después de la instrucción de posicionamiento, va desde a 99999, cómo cada motor ocupa 8 caracteres, y son 6 motores, el tamaño de la cadena total es 48. El código diseñado para la opción de rutina manual evalúa la cadena y la divide para obtener los caracteres necesarios que indican cada movimiento o retardo, y posteriormente son asignados a su motor determinado (esto se puede realizar ya que la cadena siempre viene organizada de la siguiente manera posicion_motor1 + retardo1 + posicion_motor2 + retardo2 + posicion_motor3 + retardo3 y así sucesivamente hasta el motor 6). Se desarrolla la interfaz del software de control que utilizara el usuario, en el ambiente de desarrollo Netbeans. Se codifica la navegación entre las pantallas diseñadas en el prototipo no funcional. Se programa el software de escritorio asignándole el envío de información ya determinada en la codificación del Arduino para que éstas concuerden y se realicen los procesos correspondientes, es decir al botón Rutina Automática se codifica de tal manera que se envíe por el puerto al cual está conectado el Arduino el carácter 1, al botón Ejecutar Rutina en la pantalla de Rutina Manual se codifica de tal

74 manera que arme la cadena de 48 caracteres que recibe el Arduino, con todo los valores de posición y retardo, y al botón Posición Inicial se le asigna el envío del carácter 2. Se hace la conexión con el equipo en donde se encuentre el software de control por medio del cable USB-Serial para la realización de pruebas de comunicación. Se procede a realizar las correspondientes pruebas de integración entre el software de control en el computador y el dispositivo Arduino programado con su correspondiente conexión a los motores. Se revisan posibles inconsistencias y fallos de comunicación o de algoritmos en la integración y se procede a su corrección. Se realizan las pruebas finales para comprobar que no existan fallos adicionales, y si los hay corregirlos hasta obtener una versión estable del producto 5.6 Inconvenientes en el proceso de desarrollo Una gran parte del desarrollo de este software fue basado en la programación del Arduino Mega 2560, puesto que dicha tarjeta de programación contiene el código base para realizar las instrucciones del brazo el cual debe estar realizado de manera que al recibir un parámetro por el puerto serial, se realice la ejecución de una serie de actividades para las cual ha sido programado, La herramienta para realizar la programación es el IDE Arduino, generó diferentes inconvenientes, no reconocía el puerto COM, el programa en ocasiones se bloqueaba y se cerraba, y se debió realizar la posterior desinstalación y reinstalación del IDE y del driver de Arduino en repetidas ocasiones, debido a causas no identificadas particularmente, pero finalmente se logró una estabilidad del IDE y el desarrollo se llevó a cabo.

75 Un desarrollo en el cual se involucra la manipulación de un dispositivo hardware incrementa sustancialmente la cantidad de errores y la detección del origen de los mismos, puesto en el transcurso del desarrollo se puede presentar una falla o técnica del dispositivo o de codificación. En algunas ocasiones los motores se detenía o atascaban por fallas en la construcción o por debilidad de algunos motores para cargar con movimientos muy pesados para los mismos, por lo cual se realizó la alternación de motores en algunos momentos. La estabilidad de la estructura se veía afectada cuando se realizaban movimientos fuertes de los servomotores, por lo que se fijaron limitantes en los rangos en los que se podían mover cada uno de ellos, e igualmente se amarró la estructura a una base para evitar movimientos inadecuados de la misma. El programa que esta quemado internamente en el micro controlador tiene varias etapas y estas rutinas son ejecutadas por medio de la interfaz de java, antes de hacer todo, este código luego ser quemado en el micro controlador se realizaron pruebas de movimiento con cada uno de los motores los cuales fueron evidenciando la manera más fácil de construir el software localmente. Estas etapas de pruebas se realizaron repetitivamente hasta logran la rutina que se deseaba, se sumó que los servomotores solo se posicionan en el ángulo especifico y no tuvimos que delimitarlos en ese sentido, esto quiere decir que si volvemos a dar la misma rutina manual no sucederá nada ya que se encuentran posicionados en el ángulo anteriormente descrito, Sin embargo la estructura del brazo y la fijación realizada a una base para lograr una mejor estabilidad del mismo, limitan de alguna manera el espacio en el cual el brazo se puede mover, y existen posiciones en las cuales la libertad de un motor está condicionada a la posición en la que esté otra de articulaciones, por lo que se realizó una delimitación de cada motor, para que estos puedan ser movidos libremente pero evitando la ejecución de algunos movimientos que llegan a ser obstaculizados por la estructura. Tal

76 delimitación quedo explícitamente visible en la interfaz del usuario al lado de la sección de los grados para cada motor. 6. RESULTADOS Aunque el proyecto de forma general está orientado al control de un proceso físico, en este caso el control de un brazo robótico, el prototipo desarrollado en realidad es un software, razón por la cual es necesario asegurar que las funciones programadas cumplen con los objetivos, lo cual llevó no sólo a desarrollar pruebas en un entorno donde encontramos nuestro programa informático, donde se tuvo que realizar pruebas físicas con nuestro hardware. Lo cual se hizo para hallar posibles errores en diseño, programación y ejecución del software tendiente a unas depuración completa, buscando cumplir con los estándares de calidad, el cual se dio con un resultado satisfactorio. Los resultados arrojados son los elementos necesarios para el desarrollo de UCPBRA como aplicación de escritorio para la manipulación del brazo robótico. Concluida la estructuración de la interfaz de programación y el acondicionamiento del brazo robótico con sus respectivos elementos, se realizaron pruebas en las que se analizó la interfaz como tal, es decir, las denominadas pruebas de software. En las primeras pruebas desde el análisis probatorio donde se analizaron los parámetros de cada elemento, que debería tener para su ejecución y obtener una respuesta física del brazo robótico tras recibir las señales enviadas desde la interfaz del software; dichas pruebas permite en un análisis secuencial y correcto de que solución para ser integrada a la hora de realizar la interfaz gráfica del software como la programación requerida. Luego de realizar las pruebas y las consecuentes correcciones, se reflexionó acerca del uso potencial de UCPBRA no sólo para los estudiantes de la universidad católica de Pereira, sino también de cuán útil sería para el mantenimiento de la plataforma virtual, donde se ejecutarían remotamente el brazo robótico e interactúe dentro del laboratorio. Por otra parte se analiza el impacto que desarrollarían con el

77 aprendizaje por medio de estos laboratorios a estudiantes de bachillerato y porque no de primaria, puesto que también se estudió en la escuela y el colegio, el uso del brazo robótico con tal demanda de estudiantes y aprendices, donde tengan una importante herramienta pedagógica, la cual será manejada desde el laboratorio PHYSYLAB. De la misma manera al estar analizando los resultados se hizo una reflexión acerca de las implicaciones sociales del uso del PHYSYLAB, debido a que disminuye los costos directos de la educación ya que en una práctica de laboratorio puede hacerse de manera habitual, es decir, desde el lugar de residencia sin incurrir en costos de transporte y viáticos para llegar a la universidad, de manera similar en lo educativo principalmente en la práctica en los laboratorios, lo cual lleva a un incremento del nivel académico, y de esta forma contribuir a los estándares exigidos por la acreditación universitaria.

78 Conclusiones Gracias a los requerimientos se pudo entender muchos aspectos del mismo hardware y cómo se manejaban cada uno de los componentes, de acuerdo a la intensidad de la carga de cada servomotor, el retardo adecuado que ayuda a la manipulación del brazo. En cuanto al levantamiento de los requerimientos se tiene que al ser una restricción del sistema, como condición o capacidad para satisfacer al usuario, en el proyecto el realizar el proceso según los estándares de calidad llevo a minimizar las deficiencias en UCPBRA. Los requerimientos funcionales fueron permitir la manipulación del brazo a partir de la configuración manual del movimiento que realizará cada motor, el usuario pueda activar la rutina automática por defecto a ser realizada por el brazo, verificar que los datos ingresados por el usuario si correspondan a valores dentro de los límites establecidos, para su envío al dispositivo hardware, la opción de conexión del puerto fue necesaria para poder conectar y desconectar nuestra aplicación con la placa base. Como se pudo observar al levantar los requerimientos y analizarlos, el trabajos de diseño un sistema software de control arrojó una serie de resultados que permiten en el entorno de desarrollo crear los elementos del software para que pueda ser manipulado los mecanismos motores del brazo, lo cual se hizo utilizando netbeans y la plataforma de arduino. Los requerimientos no funcionales fueron Mostrar un menú inicial para la selección de la rutina automática o manual, realizar una interfaz simple, y entendible, de forma que el software pueda ser utilizado de una manera intuitiva, también se analizó la implementación de un botón para colocar el brazo en posición inicial, donde normalmente esta por defecto.

79 La importancia de los laboratorios virtuales como un paso hacia adelante en los usos pedagógicos, en las distintas fases de los procesos de enseñanza y aprendizaje. El valor agregado de verse enfrentado a responder a dar solución a necesidades del medio en cuanto a la formación adquirida, para el caso concreto, profesionales en sistemas y telecomunicaciones. La importancia de los usos de otras tecnologías como es el caso de un brazo robótico, como se pudo ver en la sección teórica del trabajo la tecnología robótica es preferida debido a que la industria en múltiples áreas de la producción usa robots computarizados, por agilidad, tiempo y precisión.

80 Referencias bibliográficas Bibliografía ARDUINO ORG. (2012). ARDUINO. Booch, G., Jacobson, I., & Rumbaugh, J. (2000). El Lenguaje Unificado de Modelado: Manual de Referencia. Madrid: Pearson Educacón S.A,. Caicedo Bravo, E., Bacca, E. B., Calvache, B. A., Cardona, J. E., & Buitrago, J. A. (2009). Laboratorio Distribuido con Acceso Remoto Para la Enseñanza de la Robótica. Revista Educacion en Ingenieria, COLOMBIANO, E. (27 de Septiembre de 2013). El desarrollo de software local requiere más expertos. EL COLOMBIANO. DOCSETOOLS.COM. (2008). Brazos Roboticos. Obtenido de FERIA VIRTUAL. (s.f.). https://www.interempresas.net/robotica. gestionrrhhusm. (2011). DESARROLLO Y CICLO DE VIDA DEL SOFTWARE. Bogota. Obtenido de Ingenierías, C. U. (2004). Robots de Servicio y Teleoperados. Universidad de Guadalajara, Guadalajara. Obtenido de Londoño, J. H. (06 de abril de 2005). Recuperado el 21 de abril de 2013, de Ingenieria del software: Luengas, L. A., Guevara, J. C., & Sánchez, G. (2009). Cómo Desarrollar un Laboratorio Virtual? Metodología de Diseño. Recuperado el Febrero de 2014, de

81 MINTIC. (2015). PLAN DE FORMACION EN USO DE TIC. RISARALDA. Obtenido de Netbeans.org. (2014). Recuperado el mayo de 2014, de https://netbeans.org/: https://netbeans.org/ OSEC. (2010). Generación de Capacidad Comercial hacia EFTA. Obtenido de C_Servicios_Detalles_de_los_servicios_Puestos_Puestos_Puestos_Software _Fuente_Anuario_de_salarios_TIC OSEC y PROEXPORT. (2012). Generación de Capacidad Comercial hacia EFTA: Inteligencia de Mercado para Colombia Sector de Software y Tecnologías. BOGOTA: OSEC. Obtenido de Colombiatrade.com.co: _efta.pdf PHYSILAB. (2012). PHYSILAB. Recuperado el 5 de MAYO de 2014, de LABORATORIO REMOTO Y VIRTUAL PARA LA ENSEÑANZA DE LA FIISCA: Reynoso, C. B. (Marzo de 2004). Introducción al a Arquitectura del Software. Buenos Aires: Willy.net. Obtenido de willy.net. Rosado, L. (204). APORTACIONES DIDÁCTICAS DE LOS LABORATORIOS. Sebastián, J. M., Sanchez, F. M., & Garcia, D. (2013). LABORATORIOS REMOTOS PARA LAS PRÁCTICAS DE INGENIERÍA DE SISTEMAS Y AUTOMÁTICA EN LA UNIVERSIDAD MIGUEL HERNÁNDEZ. Recuperado el abril de 2014, de TdRobotica.co. (2012). Servomotores. Bogota. Obtenido de

82 TUTORIAL DE JAVA. (s.f.). Recuperado el Abril de 2014, de VACA GUZMÁN, A. E., & SEVILLANO, E. S. (2012). Diseño y construcción de un robot scara de tres grados de libertad con un efecto final electromagnético, para el paletizado de recipientes metálicos. Sangolquil, Ecuador.

83 ANEXO Anexo A. Pruebas realizadas Prueba No: 1 Objetivo Tipo Procedimiento Resultados Probar Arduino Mega 2560 para la conexión con el computador. Hardware/Software Se hace la instalación de los drivers de arduino para su reconocimiento Se instala correctamente no se genera ningún inconveniente. Prueba No: 2 Objetivo Tipo Procedimiento Resultados Probar arduino mega 2560 para encender 2 led Hardware /Software Se instala el software de la plataforma arduino y se prueba un código básico para encender 2 led Exitoso, se encienden los led intermitentemente. Prueba No: 3 Objetivo Tipo Procedimiento Probar el funcionamiento de un servomotor. Hardware/Software Se conecta en uno de los pines.

84 Resultados No funciono por que se conectó incorrectamente Prueba No: 4 Objetivo Tipo Procedimiento Crear un circuito alimentado con pilas AA de para alimentar los servomotores Hardware Se realiza el circuito en una protoboard Resultados El circuito funciona después de ciertas modificaciones y pruebas con el tester eléctrico. Prueba No: 5 Objetivo Tipo Procedimiento Resultados Probar dos servomotores conectados al arduino Hardware/Software Se realiza la programación en el software de arduino, por medio de ejemplos investigados. No fue exitosa ya que sale un error de librería tengo que importar la librería servo.h Prueba No: 6 Objetivo Tipo Probar dos servomotores conectados al arduino Hardware/Software

85 Procedimiento Resultados Se realiza la prueba nuevamente programando el movimiento de 30 grados en cada motor. La prueba fue exitosa, los motores hicieron su movimiento de 30. Prueba No: 7 Objetivo Conectar 4 servomotores y verificar el funcionamiento Tipo Procedimiento Resultados Hardware/Software Se conecta 2 motores más en los pines de PWM No fue exitoso el arduino prende levemente y se apaga, porque las pilas AA no entregan el voltaje suficiente, van perdiendo su carga con cada prueba Prueba No: 8 Objetivo Tipo Procedimiento Resultados Probar adaptador de 5V Hardware Se verifica con el tester que esté enviando el voltaje adecuado La prueba fue exitosa está generando los 5v necesarios para alimentar el arduino Prueba No: 9 Objetivo Conectar adaptador de 5V al circuito

86 Tipo Procedimiento Resultados Hardware Se realiza la conexión Se verifica con el tester que este en buen funcionamiento y entregue el voltaje adecuado. Prueba No: 10 Objetivo Tipo Procedimiento Resultados Conectar 1 servomotor y probar el funcionamiento Hardware/software Se realiza la conexión y se envían datos al micro controlador para probar el movimiento del motor. La prueba fue exitosa el motor dio indicios de movimiento ya que se le ingreso 10 de movimiento, el adaptador funciona correctamente. Prueba No: 11 Objetivo Tipo Conectar 3 servomotores y verificar su funcionamiento. Hardware/Software Procedimiento Se conectan los 3 motores y se programan los 3 servos con un movimiento corto en el micro controlador del arduino Resultados La prueba fue exitosa funcionaron correctamente, el adaptador soporta los 3 motores.

87 Prueba No: 12 Objetivo Conectar 5 servomotores para verificar el funcionamiento del adaptador. Tipo Hardware/Software Procedimiento Se agregan 2 motores más ya que hay 3 conectados en el arduino, se programa el movimiento de los dos motores adicionados, subimos el programa al micro controlador. Resultados Funciona correctamente la prueba fue exitosa, el adaptador funciona con 5 servomotores. Prueba No: 13 Objetivo Conectar 6 servomotores para verificar el funcionamiento del adaptador. Tipo Procedimiento Resultados Hardware/software Se conectan los 6 servomotores necesarios para poder mover el brazo robotico. La prueba fue exitosa, funciono correctamente el adaptador y los parámetros ingresados. Prueba No: 14 Objetivo Tipo Procedimiento Sincronizar motores según su posición en el brazo Hardware/Software Después de muchas pruebas se verifica el ajuste de los movimientos para cada servomotor para sus respectivos movimientos en su eje.

88 Resultados Exitoso después de armar y desarmar el brazo en reiteradas veces y se logra sincronizar los motores de acuerdo a su necesidad de movimiento en sus ejes. Prueba No: 14 Objetivo Tipo Procedimiento Resultados Colocar una rutina de posición inicial para el bazo y probar el método loop para que el arduino al momento de energizar ubique los motores en la posición deseada Hardware/software Se programa una rutina de posicionamiento, y se sube al micro controlador. Fue exitosa y se logró mantener en la posición apenas se energizo automáticamente coloco los motores en la posición indicada. Prueba No: 15 Objetivo Tipo Procedimiento Resultados Crear una rutina de movimiento automático. Hardware/Software Se hace la programación de los parámetros y retardos para el movimiento de cada motor, se sube al micro controlador. Después de muchas pruebas se logra sacar una rutina automática donde el brazo funciona haciendo una serie de movimientos.

89 Prueba No: 16 Objetivo Tipo Procedimiento Resultados Desarrollar una interfaz de software en netbeans, que funcione asignándole él envió de información ya determinada en el programa de arduino para que se realicen los procesos correspondientes. Software Se realiza la prueba de conexión entre los dos programas. No fue exitosa, después de investigar hay que agregar la librería arduino V Prueba No: 17 Objetivo Tipo Procedimiento Resultados Conexión entre la interfaz de netbeans y arduino Software Se agrega la librería arduino V2.3.0.jar y la RXTXcomm.jar y se ejecuta en netbeans Prueba no exitosa, sale un error en pantalla de netbeans por archivos rxtxserial.dll y rxtxparallel.dll Prueba No: 18 Objetivo Tipo Procedimiento Conexión entre netbeans y arduino Software Después de investigar se deben descargar y copiar los siguientes archivos rxtxserial.dll y rxtxparallel.dll en esta dirección de mi equipo C:\Program

90 Files\Java\jdk1.7.0_45\jre\bin Resultados El procedimiento fue exitoso pude hacer funcional la rutina automática a través de la interfaz de netbeans. Prueba No: 19 Objetivo Tipo Procedimiento Resultados Realizar la rutina manual en la interfaz de netbeans y poder ejecutarla en conjunto con los parámetros programados en el micro controlador del arduino. Hardware/Software Se realizan muchas pruebas para poder ejecutar la rutina desde la interfaz de netbeans, se colocan las 6 casillas donde podrán ingresar los grados para que funcione cada motor con sus limitantes ya que después de muchas pruebas se ha dañado un motor y se logró conseguir otro. La prueba fue exitosa a pesar de que se dañó el engranaje de un motor después de muchas pruebas Prueba No: Objetivo Tipo Procedimiento Resultados Coger y colocar un objeto en diferente lugar a través del brazo robótico Hardware/Software Se hace la configuración de los procedimientos y rutinas en el programa arduino, se realizan de muchas pruebas. La prueba fue exitosa después de muchas pruebas se logra configurar los motores con las rutinas deseadas, para el transporte de un elemento.

91 ANEXO B. Pasos para la configuración y programación básica de un Arduino a través del IDE Arduino 1. Inicio 2. Clic derecho en equipo

92 3. Administrador de dispositivos 4. Ahí buscamos el del Arduino y miramos a que COM se encuentra relacionado. 5. Nos dirigimos al programa Arduino. Para programar con un servo es necesario configurar la librería servo como lo muestran en estos videos o también lo podemos ver en la siguiente grafica sketch, importar librerías, escogemos servo.

93 Y ahí se procede a diseñar el código, a continuación se explica un código básico para realizar movimientos en el brazo. #include <Servo.h> Servo servo1; Servo servo2; Servo servo3; Servo servo4; Servo servo5; Inicialmente se declaran las variables a utilizar, representando cada una de ella a un motor del brazo, es decir, al haber seis motores distribuidos en el brazo robot, se declaran 6 variables. Servo servo6;

94 void setup() { servo1.attach(2); servo2.attach(3); servo3.attach(4); servo4.attach(5); servo5.attach(6); Aquí se asigna a cada variable el pin que representan, es decir que cada variable representa cada pin de salida hacia cada motor. servo6.attach(7); } void loop() { servo2.write(20); servo3.write(120); servo4.write(120); servo6.write(130); servo5.write(90); delay(2500); servo1.write(60); delay(1500); } A continuación se procede a enviarle los datos a cada pin, con el método write() indicamos numéricamente los grados a mover cada motor. Como se puede observar, se utiliza igualmente el método delay() para enviar un retardo en milisegundos antes de continuar con la siguiente instrucción. Y así podemos proseguir a enviar todos los movimientos que sean necesarios.

95 Cuando se finalice la codificación se debe compilar el código y luego se envía al Arduino con estos dos botones Es importante verificar que el Arduino si tenga el puerto configurado. Para verificarlo se puede observar en la parte inferior derecha encerrada en rojo, que concuerde con el Arduino que se está utilizando y el puerto COM que se observó en el administrador de dispositivos anteriormente. Si el dispositivo no coincide dirigirse al menú Herramientas Tarjeta y seleccionar la tarjeta deseada, igualmente si el menú Puerto Serial se encuentra activado, seleccionar el COM correspondiente.

Automatización y Robótica

Automatización y Robótica Automatización y Robótica Unidad I: Fundamentos de Automatización y Robótica. Tema I.1: Conceptos Básicos de Automatización. Unidad II: Sensores electrónicos. Tema II. 1: Conceptos y Tipos de sensores.

Más detalles

TEMA 1. INTRODUCCIÓN DEFINICIÓN ANTECEDENTES CLASIFICACIÓN ESTADÍSTICAS DE LA ROBÓTICA SCORBOT. 2 Raquel Martinez / Jon Legarreta

TEMA 1. INTRODUCCIÓN DEFINICIÓN ANTECEDENTES CLASIFICACIÓN ESTADÍSTICAS DE LA ROBÓTICA SCORBOT. 2 Raquel Martinez / Jon Legarreta TEMA 1. INTRODUCCIÓN ROBÓTICA Índice DEFINICIÓN ANTECEDENTES CLASIFICACIÓN ESTADÍSTICAS DE LA ROBÓTICA SCORBOT 2 Raquel Martinez / Jon Legarreta Definición i ió Robota = trabajo realizado de manera forzada

Más detalles

Introducción a la robótica Industrial

Introducción a la robótica Industrial Introducción a la robótica Industrial 1.- Conceptualización Disciplina dedicada al estudio, diseño, realización y manejo de robots. Robota = trabajo realizado de manera forzada El término "Robot" aparece

Más detalles

LA ROBOTICA ANGIE CAMILA URUEÑA RAMOS

LA ROBOTICA ANGIE CAMILA URUEÑA RAMOS LA ROBOTICA ANGIE CAMILA URUEÑA RAMOS INSTITUCIÓN EDUCATIVA DEPARTAMENTAL ROBERTO VELANDIA TECNOLOGÍA E INFORMÁTICA MOSQUERA 2010 LA ROBOTICA ANGIE CAMILA URUEÑA RAMOS GUSTAVO LOZADA INGENIERO DE SISTEMAS

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

Ingeniería de Software I

Ingeniería de Software I Ingeniería de Software I Agenda Objetivo. Unidades de aprendizaje. Formas de evaluación. Bibliografía. 2 Datos del profesor Correo electrónico: egonzalez@upemor.edu.mx Asesorías Jueves de 11:00 a 13:00

Más detalles

ROBÓTICA INDUSTRIAL. Tema 1 Fundamentos de la Robótica

ROBÓTICA INDUSTRIAL. Tema 1 Fundamentos de la Robótica ROBÓTICA INDUSTRIAL Tema 1 Fundamentos de la Robótica Robot El término "robot" se debe a Karel Capek, quien lo utilizó en 1917 por primera vez, para denominar a unas máquinas construidas por el hombre

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Ingeniería de Sistemas y Automática Robótica y Visión Artificial TEMA 1: INTRODUCCIÓN. Robótica Industrial. ISA.- Ingeniería de Sistemas y Automática

Ingeniería de Sistemas y Automática Robótica y Visión Artificial TEMA 1: INTRODUCCIÓN. Robótica Industrial. ISA.- Ingeniería de Sistemas y Automática TEMA 1: INTRODUCCIÓN Robótica Industrial ISA.- Introducción 1. Definición de robot industrial 2. Antecedentes de la robótica 3. Origen y desarrollo de la robótica 4. clasificación del robot Robot = trabajo

Más detalles

Denominación de la materia. N créditos ECTS = 36 carácter = MIXTA INGENIERIA DE COMPUTADORAS

Denominación de la materia. N créditos ECTS = 36 carácter = MIXTA INGENIERIA DE COMPUTADORAS Denominación de la materia INGENIERIA DE COMPUTADORAS N créditos ECTS = 36 carácter = MIXTA Ubicación dentro del plan de estudios y duración La materia Ingeniería de Computadoras está formada por 6 asignaturas

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1 Introducción al Proceso Unificado de Desarrollo de Software Autor: Ing. Silverio Bonilla 1 James Rumbaugh et al. Concepto de Método Una metodología de ingeniería del software es un proceso para producir

Más detalles

Resumen. 1. Introducción. 2. Objetivos

Resumen. 1. Introducción. 2. Objetivos Propuesta para la Asignatura Sistemas Industriales en las Titulaciones de Informática F.A. Pujol, F.J. Ferrández, J.L. Sánchez, J. M. García Chamizo Dept. de Tecnología Informática y Computación Universidad

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Grado en Ingeniería Informática

Grado en Ingeniería Informática Grado en Ingeniería Informática Competencias Generales y trasversales De acuerdo con la resolución del Consejo de Universidades de fecha 3 de marzo de 2009, para obtener este título de grado en ingeniería

Más detalles

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) Este documento presenta un resumen de Rational Unified Process (RUP). Se describe la historia de la metodología, características principales y estructura del proceso. RUP

Más detalles

CAPÍTULO 1 Instrumentación Virtual

CAPÍTULO 1 Instrumentación Virtual CAPÍTULO 1 Instrumentación Virtual 1.1 Qué es Instrumentación Virtual? En las últimas décadas se han incrementado de manera considerable las aplicaciones que corren a través de redes debido al surgimiento

Más detalles

Software de Simulación aplicado a entornos de e-learning

Software de Simulación aplicado a entornos de e-learning Software de Simulación aplicado a entornos de e-learning 2009 Laboratorio de Investigación de Software Universidad Tecnológica Nacional Facultad Regional Córdoba Titulo del Proyecto Software de Simulación

Más detalles

MAESCENTICS: Plataforma masiva de enseñanza virtual de las ciencias exactas y naturales

MAESCENTICS: Plataforma masiva de enseñanza virtual de las ciencias exactas y naturales MAESCENTICS: Plataforma masiva de enseñanza virtual de las ciencias exactas y naturales Alejandro Piedrahita Ospina, MSc. Profesor de tecnologías para enseñanza Maestría en Enseñanza de las Ciencias Exactas

Más detalles

GUÍA DOCENTE. Curso 2014-2015. Ingeniería Informática en Sistemas de Información Doble Grado: M6: Tecnología Específica de Sistemas de Información

GUÍA DOCENTE. Curso 2014-2015. Ingeniería Informática en Sistemas de Información Doble Grado: M6: Tecnología Específica de Sistemas de Información 1. DESCRIPCIÓN DE LA ASIGNATURA Grado: Ingeniería Informática en Sistemas de Información Doble Grado: Asignatura: Ingeniería de Proyectos Módulo: M6: Tecnología Específica de Sistemas de Información Departamento:

Más detalles

Denominación de la materia. N créditos ECTS = 36 carácter = OBLIGATORIO SISTEMAS DE SOFTWARE. Ubicación dentro del plan de estudios y duración

Denominación de la materia. N créditos ECTS = 36 carácter = OBLIGATORIO SISTEMAS DE SOFTWARE. Ubicación dentro del plan de estudios y duración Denominación de la materia SISTEMAS DE SOFTWARE N créditos ECTS = 36 carácter = OBLIGATORIO Ubicación dentro del plan de estudios y duración La materia Sistemas de Software está formada por 6 asignaturas

Más detalles

CAPÍTULO I EL PROBLEMA PLANTEAMIENTO DEL PROBLEMA

CAPÍTULO I EL PROBLEMA PLANTEAMIENTO DEL PROBLEMA 1 CAPÍTULO I EL PROBLEMA PLANTEAMIENTO DEL PROBLEMA UBICACIÓN DEL PROBLEMA EN UN CONTEXTO Autonomía de movimiento y percepción visual en el control de un robot humanoide, a través de la visión artificial.

Más detalles

3. OBJETIVOS. 3.1. Objetivos. Objetivos generales del título. Objetivos específicos del título

3. OBJETIVOS. 3.1. Objetivos. Objetivos generales del título. Objetivos específicos del título 3. OBJETIVOS 3.1. Objetivos Objetivos generales del título De acuerdo con lo establecido en el Libro Blanco y el acuerdo del plenario de la Conferencia de Directores y Decanos de Informática (Zaragoza,

Más detalles

Hoy en día el uso de robots es común en distintas actividades, ya que estos

Hoy en día el uso de robots es común en distintas actividades, ya que estos CAPÍTULO 1 ANTECEDENTES 1.1 INTRODUCCIÓN Hoy en día el uso de robots es común en distintas actividades, ya que estos sistemas pueden someterse a trabajos pesados, repetitivos o peligrosos para el ser humano.

Más detalles

GUÍA DOCENTE DE LA ASIGNATURA

GUÍA DOCENTE DE LA ASIGNATURA GUÍA DOCENTE DE LA ASIGNATURA G658 - Ingeniería del Software I Grado en Ingeniería Informática Obligatoria. Curso 3 Curso Académico 04-05 . DATOS IDENTIFICATIVOS Título/s Grado en Ingeniería Informática

Más detalles

Introducción. La robótica es un concepto de dominio público. La mayor parte de la gente tiene una idea

Introducción. La robótica es un concepto de dominio público. La mayor parte de la gente tiene una idea Introducción La robótica es un concepto de dominio público. La mayor parte de la gente tiene una idea de lo que es la robótica, sabe sus aplicaciones y el potencial que tiene; sin embargo, no conocen el

Más detalles

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática La Necesidad de Modelar Analogía Arquitectónica Tiene sentido poner ladrillos sin hacer antes los planos? El modelo, los planos, ayuda a afrontar la complejidad del proyecto. Cuál es el lenguaje adecuado

Más detalles

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica C1. Capacidad para la resolución de los problemas matemáticos que puedan plantearse en la ingeniería. Aptitud para aplicar

Más detalles

BASES DE DATOS. Ivon Tarazona Oriana Gomez

BASES DE DATOS. Ivon Tarazona Oriana Gomez BASES DE DATOS Ivon Tarazona Oriana Gomez Introducción Introducción Ventajas e (Unified Modeling Language) Es un lenguaje usado para especificar, visualizar y documentar los diferentes aspectos relativos

Más detalles

El Proceso Unificado

El Proceso Unificado El Proceso Unificado de Desarrollo de Software Prof. Gustavo J. Sabio Alcance de la presentación QA Entradas Proceso de desarrollo Salida equipo Cliente sistemas Cliente necesidades actividades varias

Más detalles

Documento de Competencias. Facultad de Informática, UPV/EHU. 1 Estructura general del Grado TE1 TE2 TE3 TE4 TE5 TE6 TE7 TE8

Documento de Competencias. Facultad de Informática, UPV/EHU. 1 Estructura general del Grado TE1 TE2 TE3 TE4 TE5 TE6 TE7 TE8 Documento de Competencias Grado en INGENIERÍA INFORMÁTICA Facultad de Informática, UPV/EHU 1 Estructura general del Grado 1.1 Fundamentos de Tecnología de los Principios de Diseño de Sistemas Digitales

Más detalles

RESUMEN EJECUTIVO DEL PROGRAMA

RESUMEN EJECUTIVO DEL PROGRAMA CONCEPTO PROGRAMA NIVEL DE FORMACIÓN JUSTIFICACION DURACION MAXIMA ESTIMADA DEL APRENDIZAJE EN MESES FECHA DE INGRESO : FECHA TERMINACIÓN ETAPA LECTIVA: FECHA INICIO ETAPA PRODUCTIVA: FECHA TERMINACIÓN

Más detalles

En verde están algunas propuestas que entendemos que faltan y que ayudarían a mejorar las fichas sustancialmente.

En verde están algunas propuestas que entendemos que faltan y que ayudarían a mejorar las fichas sustancialmente. NOTAS ACLARATORIAS: Esta ficha de grado es la resultante de las dos reuniones celebradas (9 enero 2009 y 23 de febrero de 2009) por la subcomisión creada desde el MICIIN para debatir las fichas de Grado

Más detalles

Experto en Robots Industriales

Experto en Robots Industriales Titulación certificada por EUROINNOVA BUSINESS SCHOOL Experto en Robots Industriales Experto en Robots Industriales Duración: 200 horas Precio: 189 * Modalidad: Online * Materiales didácticos, titulación

Más detalles

Instalación de Sistemas de Automatización y Datos

Instalación de Sistemas de Automatización y Datos UNIVERSIDADE DE VIGO E. T. S. Ingenieros Industriales 5º Curso Orientación Instalaciones y Construcción Instalación de Sistemas de Automatización y Datos José Ignacio Armesto Quiroga http://www www.disa.uvigo.es/

Más detalles

Arquitecturas de Software en Robótica

Arquitecturas de Software en Robótica Arquitecturas de Software en Robótica Prof. Wílmer Pereira Qué es un robot? Criatura mecánica que emula funciones de de un un humano Según T. M. Knasel, los robots se pueden clasificar por generaciones:

Más detalles

- Capacidad para dirigir las actividades objeto de los proyectos del ámbito de la informática de acuerdo con los conocimientos adquiridos.

- Capacidad para dirigir las actividades objeto de los proyectos del ámbito de la informática de acuerdo con los conocimientos adquiridos. Competencias generales - Capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto, de acuerdo con los

Más detalles

CURSO ROBOTICA GENERAL

CURSO ROBOTICA GENERAL CURSO ROBOTICA GENERAL Autor: Juan Carlos Rubio Calín 1 QUE ES UN ROBOT? 2 1921 Karel Capek emplea por primera vez la palabra checa robota ( trabajo tedioso ) para referirse a un humanoide mecánico (no

Más detalles

Instituto Tecnológico de Saltillo. Robótica. Ing. Ignacio Dávila Ríos. Unidad I Fundamentos

Instituto Tecnológico de Saltillo. Robótica. Ing. Ignacio Dávila Ríos. Unidad I Fundamentos Instituto Tecnológico de Saltillo Robótica Ing. Ignacio Dávila Ríos Unidad I Fundamentos Guía de estudio correspondiente la unidad 1 1. Mencione brevemente la historia de la Robotica. El alumno desarrollara

Más detalles

Modelos de desarrollo de software. septiembre de 2007 1

Modelos de desarrollo de software. septiembre de 2007 1 Modelos de desarrollo de software septiembre de 2007 1 Referencias básicas Ingeniería de software. Un enfoque práctico. Pressman, R. Quinta edición. Mc. Graw Hill 2002 Ingeniería de software. Sommerville,

Más detalles

Cristian Blanco www.cristianblanco.es

Cristian Blanco www.cristianblanco.es 3.1.- INTRODUCCIÓN Para realizar el desarrollo de cualquier proyecto de software es necesario llevar una sistemática de trabajo, que nos asegure el éxito del mismo. Lo que tenemos que evitar, en el desarrollo

Más detalles

FICHA TECNICA AÑO 2010 PECUARIAS Y DEL MEDIO AMBIENTE CREDITOS ACADEMICOS 3

FICHA TECNICA AÑO 2010 PECUARIAS Y DEL MEDIO AMBIENTE CREDITOS ACADEMICOS 3 IDENTIFICACIÓN FICHA TECNICA NOMBRE DEL CURSO APLICACION DE LA INFORMATICA AL SECTOR PALABRAS CLAVES HARDWARE, SOFTWARE, INFORMATICA, VIRUS, OFIMATICA, INTERNET, ELEARNING, MOODLE INSTITUCION UNIVERSIDAD

Más detalles

Curso Superior. Curso Superior en Robots Industriales. Implantación, Componentes y Programación

Curso Superior. Curso Superior en Robots Industriales. Implantación, Componentes y Programación Curso Superior Curso Superior en Robots Industriales. Implantación, Componentes y Programación Índice Curso Superior en Robots Industriales. Implantación, Componentes y Programación 1. Sobre Inesem 2.

Más detalles

ARQUITECTURA DE SOFTWARE

ARQUITECTURA DE SOFTWARE ARQUITECTURA DE SOFTWARE Introducción n a la Arquitectura de Software (sistemas) Requisitos de calidad Documento de Diseño RTFS-Método del control de diseño Introducción n al Diseño o de la interfaz Humano/Computador

Más detalles

Consultores de Formación 3. Qué es la robótica educativa y objetivos? 4. Beneficios 6. Cómo se aprende? 7. Equipos y Robots 8.

Consultores de Formación 3. Qué es la robótica educativa y objetivos? 4. Beneficios 6. Cómo se aprende? 7. Equipos y Robots 8. INDICE Consultores de Formación 3 Qué es la robótica educativa y objetivos? 4 Beneficios 6 Cómo se aprende? 7 Equipos y Robots 8 Dirigido a: 9 Duración y periodicidad 10 Actividades 11 Contactos 14 Cómo

Más detalles

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen A través de este artículo se ofrece un panorama amplio y de alto nivel sobre la especificación y los diferentes diagramas del Lenguaje

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 18 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 5 Situación RD 1201/2007 Actualización

Más detalles

Inteligencia Artificial. Robótica

Inteligencia Artificial. Robótica Inteligencia Artificial Robótica Prof. Wílmer Pereira Qué es un robot? Criatura mecánica que emula funciones de un humano Según T. M. Knasel, los robots se pueden clasificar por generaciones: 1 (1960):

Más detalles

Esta materia está compuesta de 10 asignaturas que se imparten entre los cursos 2º, 3º y 4º.

Esta materia está compuesta de 10 asignaturas que se imparten entre los cursos 2º, 3º y 4º. Denominación de la MATERIA: 12. INGENIERÍA AUTOMÁTICA Créditos ECTS, carácter (básica, obligatoria, optativa ): 30 ECTS obligatorios 30 ECTS optativos Duración y ubicación temporal dentro del plan de estudios:

Más detalles

Training Programación 2014 Chile

Training Programación 2014 Chile Training Programación 2014 Chile Seminarios en Automatización www.festo.com/cl Seminarios Festo Una excelente combinación de entrenamientos tecnológicos y organizacionales que le ayudarán a realizar una

Más detalles

CAPÍTULO I NUEVOS ENFOQUES DE LA INGENIERÍA DE SOFTWARE.

CAPÍTULO I NUEVOS ENFOQUES DE LA INGENIERÍA DE SOFTWARE. CAPÍTULO I NUEVOS ENFOQUES DE LA INGENIERÍA DE SOFTWARE. 1.1. INTRODUCCIÓN. La ingeniería de software esta inmiscuida en cada proyecto que lleva implícita la calidad total de un sistema, si bien es posible

Más detalles

Título: El proyecto de Software Educativo. Algunas consideraciones. Autor: MSc. José Antonio Gutiérrez Lam. Profesor Auxiliar

Título: El proyecto de Software Educativo. Algunas consideraciones. Autor: MSc. José Antonio Gutiérrez Lam. Profesor Auxiliar Título: El proyecto de Software Educativo. Algunas consideraciones. Autor: MSc. José Antonio Gutiérrez Lam. Profesor Auxiliar Centro de trabajo: Universidad de Ciencias Pedagógicas Rafael María de Mendive

Más detalles

PUD: Proceso de Desarrollo Unificado

PUD: Proceso de Desarrollo Unificado PUD: Proceso de Desarrollo Unificado 1 1998 Genealogía del PUD Rational Unified Process 5.0 1997 Rational Objectory Process 4.1 UML 1996 Rational Objectory Process 4.0 1995 Método Ericsson Rational Approach

Más detalles

Robótica en el Aula. Presentación y Nociones Básicas. Gabriel Ocaña Rebollo. Ingeniero Superior de Telecomunicaciones Profesor E.S.

Robótica en el Aula. Presentación y Nociones Básicas. Gabriel Ocaña Rebollo. Ingeniero Superior de Telecomunicaciones Profesor E.S. Robótica en el Aula Presentación y Nociones Básicas Gabriel Ocaña Rebollo Ingeniero Superior de Telecomunicaciones Profesor E.S. de Tecnología CEP El Ejido, Noviembre 2009 Índice Presentación del curso.

Más detalles

Características Morfológicas. Principales características de los Robots.

Características Morfológicas. Principales características de los Robots. Características Morfológicas Principales características de los Robots. Se describen las características más relevantes propias de los robots y se proporcionan valores concretos de las mismas, para determinados

Más detalles

Pontificia Universidad Católica del Ecuador

Pontificia Universidad Católica del Ecuador 1. DATOS INFORMATIVOS: MATERIA O MÓDULO: INGENIERÍA DE SOFTWARE I CÓDIGO: CARRERA: SISTEMAS NIVEL: QUINTO No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4 SEMESTRE/AÑO ACADÉMICO: Segundo Semestre 2011-2012 CRÉDITOS

Más detalles

Denominación de la materia. créditos ECTS = 36 carácter = OBLIGATORIA SISTEMAS OPERATIVOS, SISTEMAS DISTRIBUIDOS Y REDES

Denominación de la materia. créditos ECTS = 36 carácter = OBLIGATORIA SISTEMAS OPERATIVOS, SISTEMAS DISTRIBUIDOS Y REDES Denominación de la materia SISTEMAS OPERATIVOS, SISTEMAS DISTRIBUIDOS Y REDES créditos ECTS = 36 carácter = OBLIGATORIA Ubicación dentro del plan de estudios y duración La materia está formada por 6 asignaturas

Más detalles

PROGRAMACIÓN DE MÓDULO MÓDULO. Este módulo se imparte en 2º en el primer y segundo trimestre y tiene una carga docente de 126 horas.

PROGRAMACIÓN DE MÓDULO MÓDULO. Este módulo se imparte en 2º en el primer y segundo trimestre y tiene una carga docente de 126 horas. Página 1 de 14 DEPARTAMENTO INFORMATICA CURSO 2º CICLO FORMATIVO Desarrollo de Aplicaciones Web Diseño de Interfaces Web MÓDULO 1. Introducción. Este módulo se imparte en 2º en el primer y segundo trimestre

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

Elaborado por: Antonio José Randisi ÍNDICE. 1. Orígenes del Robot. 2. Estado actual de la Robótica. 3. Clasificación general de los Robot

Elaborado por: Antonio José Randisi ÍNDICE. 1. Orígenes del Robot. 2. Estado actual de la Robótica. 3. Clasificación general de los Robot Elaborado por: Antonio José Randisi ÍNDICE 1. Orígenes del Robot 2. Estado actual de la Robótica 3. Clasificación general de los Robot 4. Objetivos de la Robótica industrial 5. Problemática del estudio

Más detalles

Escuela Técnica Superior de Ingeniería Informática

Escuela Técnica Superior de Ingeniería Informática Escuela Técnica Superior de Ingeniería Informática Máster en Ingeniería Informática aplicada a la Industria, a la Ingeniería del Software y a los Sistemas y Tecnologías de la Información GUÍA DOCENTE DE

Más detalles

Instituto Tecnológico de Saltillo

Instituto Tecnológico de Saltillo Instituto Tecnológico de Saltillo Cuestionario Robótica Unidad I Temas: antecedentes históricos, relación entre la automatización y la robótica y clasificación y aplicación de la robótica, Volumen de trabajo

Más detalles

PERFIL DEL INGENIERO DE SISTEMAS FUSM

PERFIL DEL INGENIERO DE SISTEMAS FUSM PERFIL DEL INGENIERO DE SISTEMAS FUSM PERFIL DEL INGENIERO DE SISTEMAS DE LA FUSM El perfil del Ingeniero de Sistemas presencial de la Fundación Universitaria San Martín, Bogotá, está en capacidad de modelar

Más detalles

Curso práctico on-line de Arduino avanzado

Curso práctico on-line de Arduino avanzado Curso práctico on-line de Arduino avanzado Implementaciones de lazos de control completos Introducción Hasta hace poco tiempo, el prototipado de sistemas hardware/software para implementación de lazos

Más detalles

COMPETENCIAS TIC PARA EL DESARROLLO PROFESIONAL DOCENTE

COMPETENCIAS TIC PARA EL DESARROLLO PROFESIONAL DOCENTE COMPETENCIAS TIC PARA EL DESARROLLO PROFESIONAL DOCENTE Uno de los propósitos de la educación del siglo XXI, es la formación de personas inteligentes a nivel cognitivo, afectivo y práxico, para lo cual

Más detalles

Tema 13. Metodologías en el desarrollo de Sistemas de Software. Prof. Oscar Adolfo Vallejos

Tema 13. Metodologías en el desarrollo de Sistemas de Software. Prof. Oscar Adolfo Vallejos Tema 13 Metodologías en el desarrollo de Sistemas de Software Prof. Oscar Adolfo Vallejos Desarrollo de Sistemas de Software Objetivo Conceptos en el contexto más amplio de Software e Ingeniería de Software

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

El Proceso Unificado Rational para el Desarrollo de Software.

El Proceso Unificado Rational para el Desarrollo de Software. Instituto de Electrónica y Computación El Proceso Unificado Rational para el Desarrollo de Software. Carlos Alberto Fernández y Fernández Huajuapan de León, Oaxaca 26 de octubre de 2000 Objetivo Proporcionar

Más detalles

CONTROL Y ROBÓTICA. MECANIZACIÓN. Incorporación de máquinas para ejecutar determinadas tareas.

CONTROL Y ROBÓTICA. MECANIZACIÓN. Incorporación de máquinas para ejecutar determinadas tareas. CONTROL Y ROBÓTICA. MECANIZACIÓN. Incorporación de máquinas para ejecutar determinadas tareas. El propósito no es otro que realizar, de forma automática, una serie de acciones que anteriormente se llevaban

Más detalles

CAPÍTULO II. Gráficos Dinámicos.

CAPÍTULO II. Gráficos Dinámicos. 2.1 Definición. Los gráficos dinámicos son representaciones a escala del proceso, en donde se muestra la información de las variables del proceso a través de datos numéricos y de animación gráfica. Éstos

Más detalles

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA Resumen AUTORIA CARLOS CABALLERO GONZÁLEZ TEMATICA INFORMÁTICA ETAPA ESO-BACHILLERATO-CFGM(ESI,ASI,DSI) Se describe la revolución que supuso la incursión

Más detalles

Interacción Persona - Ordenador

Interacción Persona - Ordenador Interacción Persona - Ordenador Diseño de la interfaz en la Ingeniería del Software Dr. Pedro Latorre Dra. Sandra Baldassarri Dra. Eva Cerezo Ingeniería del Software Ingeniería del Software: Definición

Más detalles

Taller de Robótica Alfonso Aniorte Carbonell I.E.S. San Isidoro

Taller de Robótica Alfonso Aniorte Carbonell I.E.S. San Isidoro Taller de Robótica Alfonso Aniorte Carbonell I.E.S. San Isidoro ÍNDICE La Robótica Educativa El uso de la robótica en el procedimiento de enseñanza/aprendizaje Por qué la Robótica en los Talleres Profundiza?

Más detalles

cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.

cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred. cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.com CICLO DE VIDA DEL SOFTWARE Para apreciar un poco más el problema

Más detalles

Licenciatura en Sistemas de Información

Licenciatura en Sistemas de Información Plan de Estudio Carrera Licenciatura en Sistemas de Información Universidad Nacional del Nordeste UNNE Octubre 2009 I. Denominación Denominación de la carrera: Licenciatura en Sistemas de Información Denominación

Más detalles

I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L

I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L REFERE CIA AL SISTEMA EDUCATIVO ACTUAL. Los contenidos de este tema, están enfocados a introducir al alumno en el concepto de Ingeniería del

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

Maestría en DISEÑO MULTIMEDIA

Maestría en DISEÑO MULTIMEDIA Maestría en DISEÑO MULTIMEDIA Maestría en Diseño Multimedia El Diseño Multimedia es el resultado de la combinación de diversas ramas, que engloban texto, fotografías, videos, sonido, animación, manipulada

Más detalles

AUTOMATIZACIÓN EN EL PROCESO DE MANUFACTURA

AUTOMATIZACIÓN EN EL PROCESO DE MANUFACTURA AUTOMATIZACIÓN EN EL PROCESO DE MANUFACTURA email: avelasquez@urp.edu.pe Fabricación Antigua Antiguamente para aumentar la produccion, era necesario idear la manera mas efectiva de evitar los tiempos muertos

Más detalles

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA 299011-ROBÓTICA FREDDY F. VALDERRAMA GUTIÉRREZ. (Director Nacional) ALFREDO LÓPEZ.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA 299011-ROBÓTICA FREDDY F. VALDERRAMA GUTIÉRREZ. (Director Nacional) ALFREDO LÓPEZ. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA PROGRAMA DE INGENIERÍA ELECTRÓNICA 299011-ROBÓTICA FREDDY F. VALDERRAMA GUTIÉRREZ (Director Nacional) ALFREDO

Más detalles

PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN

PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN Principios y criterios para la evaluación del ciclo de vida de desarrollo de sistemas Se pueden enunciar algunos principios para desarrollar

Más detalles

Administración de Variabilidad en una línea de producto basada en modelos

Administración de Variabilidad en una línea de producto basada en modelos Administración de Variabilidad en una línea de producto basada en modelos Kelly Garcés Carlos Parra Hugo Arboleda Andres Yie Rubby Casallas Universidad de los Andes, Bogotá k-garces @uniandes.edu.co Universidad

Más detalles

FUNDAMENTOS, ESTRUCTURA Y PROGRAMACIÓN DE LOS PROCESADORES DIGITALES DE SEÑAL. FAMILIA TMS320C3X DE TEXAS INSTRUMENTS.

FUNDAMENTOS, ESTRUCTURA Y PROGRAMACIÓN DE LOS PROCESADORES DIGITALES DE SEÑAL. FAMILIA TMS320C3X DE TEXAS INSTRUMENTS. FUNDAMENTOS, ESTRUCTURA Y PROGRAMACIÓN DE LOS PROCESADORES DIGITALES DE SEÑAL. FAMILIA TMS320C3X DE TEXAS INSTRUMENTS. Sergio Gallardo, Javier Lillo, Sergio Toral, Federico Barrero Universidad de Sevilla.

Más detalles

APLICACION DE MAPAS CONCEPTUALES EN LA GESTIÓN DE UN PROGRAMA CURRICULAR DE EDUCACION SUPERIOR EN INGENIERIA

APLICACION DE MAPAS CONCEPTUALES EN LA GESTIÓN DE UN PROGRAMA CURRICULAR DE EDUCACION SUPERIOR EN INGENIERIA Concept Maps: Theory, Methodology, Technology Proc. of the Second Int. Conference on Concept Mapping San José, Costa Rica, 2006 APLICACION DE MAPAS CONCEPTUALES EN LA GESTIÓN DE UN PROGRAMA CURRICULAR

Más detalles

GUÍA DOCENTE 1. DESCRIPCIÓN DE LA ASIGNATURA

GUÍA DOCENTE 1. DESCRIPCIÓN DE LA ASIGNATURA 1. DESCRIPCIÓN DE LA ASIGNATURA Grado: Ingeniería Informática en Sistemas de Información Doble Grado: Asignatura: Ingeniería del Software 1 Módulo: M3: Ingeniería del Software, Sistemas de Información

Más detalles

TEMA 2. PLANIFICACION DE PROCESOS. CAD/CAM

TEMA 2. PLANIFICACION DE PROCESOS. CAD/CAM TEMA 2. PLANIFICACION DE PROCESOS. CAD/CAM PARTE 1: INTRODUCCIÓN A CAD/CAM. 1. DEFINICIONES. 2. EL CAD/CAM EN EL PROCESO DE DISEÑO Y. 3. COMPONENTES DE CAD/CAM. 4. CAMPOS DE APLICACIÓN. 5. INGENIERÍA INVERSA.

Más detalles

Introducción. Primera aproximación a los conceptos Orientados a Objetos

Introducción. Primera aproximación a los conceptos Orientados a Objetos Desarrollo de juegos como base para la compresión de temas fundamentales de la programación orientada a objetos Ponencia Aprendizaje y currículo HÉCTOR FABIO CADAVID RENGIFO ESCUELA COLOMBIANA DE INGENIERÍA

Más detalles

GUÍA DOCENTE DE INTRODUCCIÓN A LA PROGRAMACIÓN DE VIDEOJUEGOS Y GRÁFICOS

GUÍA DOCENTE DE INTRODUCCIÓN A LA PROGRAMACIÓN DE VIDEOJUEGOS Y GRÁFICOS GUÍA DOCENTE DE INTRODUCCIÓN A LA PROGRAMACIÓN DE VIDEOJUEGOS Y GRÁFICOS La presente guía docente corresponde a la asignatura de Introducción a la Programación de Videojuegos y Gráficos (Videojuegos) del

Más detalles

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software IX Contenidos Prólogo... XIX Prefacio... XXI Guía de lectura...xxiii Parte I - Introducción Capítulo 1 - Evolución 1.1 Introducción... 2 1.2 Los hitos en la evolución histórica del desarrollo de software...

Más detalles

DISEÑO E IMPLEMENTACIÓN DEL CONTROL REMOTO DE UN ROBOT MEDIANTE DISPOSITIVOS MÓVILES

DISEÑO E IMPLEMENTACIÓN DEL CONTROL REMOTO DE UN ROBOT MEDIANTE DISPOSITIVOS MÓVILES DISEÑO E IMPLEMENTACIÓN DEL CONTROL REMOTO DE UN ROBOT MEDIANTE DISPOSITIVOS MÓVILES ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO Jorge Villalobos Alvarado BOGOTÁ 21 DE JULIO DE 2015 INTEGRANTES - Daniel

Más detalles

MINISTERIO DE TELECOMUNICACIONES Y DE LA SOCIEDAD DE LA INFORMACIÓN SUBSECRETARÍA DE INCLUSIÓN SOCIAL DIRECCIÓN DE ALISTAMIENTO DIGITAL

MINISTERIO DE TELECOMUNICACIONES Y DE LA SOCIEDAD DE LA INFORMACIÓN SUBSECRETARÍA DE INCLUSIÓN SOCIAL DIRECCIÓN DE ALISTAMIENTO DIGITAL MINISTERIO DE TELECOMUNICACIONES Y DE LA SOCIEDAD DE LA INFORMACIÓN SUBSECRETARÍA DE INCLUSIÓN SOCIAL PROGRAMA HERRAMIENTAS OFIMÁTICAS Quito, ECUADOR 2015 1 INDICE CONTENIDO PÁGINA I. Antecedentes. 3 II.

Más detalles

PROGRAMACIÓN, TECNOLOGÍA Y ROBÓTICA

PROGRAMACIÓN, TECNOLOGÍA Y ROBÓTICA SECUNDARIA PROGRAMACIÓN, TECNOLOGÍA Y ROBÓTICA aprender es crecer aprender es crecer EL APRENDIZAJE INTELIGENTE Profundizar en los contenidos curriculares con rigor y potenciar la creatividad para afrontar

Más detalles

UNIVERSIDAD DE LOS LLANOS Facultad de Ciencias Básicas e Ingeniería Programa Ingeniería de Sistemas

UNIVERSIDAD DE LOS LLANOS Facultad de Ciencias Básicas e Ingeniería Programa Ingeniería de Sistemas CURSO: FUNDAMENTOS DE INGENIERÍA DE SOFTWARE 1 SEMESTRE: V 2 CODIGO: 602503 3 COMPONENTE: 4 CICLO: 5 AREA: Profesional 6 FECHA DE APROBACIÓN: 7 NATURALEZA: TEÓRICO PRÁCTICO. 8 CARÁCTER: Obligatorio 9 CREDITOS

Más detalles

República de Panamá. Ministerio de Educación. Título: Historia de la Robótica. Integrantes: Brahayan Ojo. Luis Martinez.

República de Panamá. Ministerio de Educación. Título: Historia de la Robótica. Integrantes: Brahayan Ojo. Luis Martinez. República de Panamá Ministerio de Educación Título: Historia de la Robótica Integrantes: Brahayan Ojo Luis Martinez Karol Herrera Carlos Martinez I.P.T. El Silencio Profesor: José Morales Fecha de entrega

Más detalles

- Facilidad para el manejo de especificaciones, reglamentos y normas de obligado cumplimiento.

- Facilidad para el manejo de especificaciones, reglamentos y normas de obligado cumplimiento. Competencias generales - Capacidad para redactar, desarrollar y firmar proyectos en el ámbito de la ingeniería de telecomunicación, que tengan por objeto, según la especialidad, la concepción, el desarrollo

Más detalles

ROBÓTICA. Carrera: ELO-ELEC. M.C. Ignacio Dávila Ríos

ROBÓTICA. Carrera: ELO-ELEC. M.C. Ignacio Dávila Ríos ROBÓTICA Carrera: ELO-ELEC M.C. Ignacio Dávila Ríos Objetivo(s) General(es) del curso: El Alumno conocerá el funcionamiento y la aplicación de los sistemas robóticos de uso común en los sistemas industriales

Más detalles

Teórica 2 64 Laboratorio 1 32 Resolución de problemas 0.5 16 Ejemplos prácticos en clase 0.5 16 Suma 4 128

Teórica 2 64 Laboratorio 1 32 Resolución de problemas 0.5 16 Ejemplos prácticos en clase 0.5 16 Suma 4 128 CÓDIGO ASIGNATURA 626 DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas ASIGNATURA: Construcción de sistemas II Ingeniería en Informática 2011 OBJETIVOS Estudiar y modelizar requerimientos de sistemas

Más detalles

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 16 CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC304_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

Unidad Didáctica Control y Robótica 4º ESO

Unidad Didáctica Control y Robótica 4º ESO Unidad Didáctica Control y Robótica 4º ESO 1. Introducción. Tipos de trabajos según el grado de automatización. a) Trabajo artesanal b) Trabajo mecánico c) Trabajo automático Hombre con funciones de motor,

Más detalles

ESCUELA POLITÉCNICA DEL EJÉRCITO

ESCUELA POLITÉCNICA DEL EJÉRCITO ESCUELA POLITÉCNICA DEL EJÉRCITO VICERRECTORADO ACADÉMICO ASIGNATURA: TECNOLOGÍAS DE SOFTWARE PARA ELECTRONICA II DEPARTAMENTO: ELECTRICA Y ELECTRÓNICA NIVEL: SEXTO CRÉDITOS: 4 CÓDIGO: CARRERAS: ELECTRÓNICA

Más detalles