Guía docente de la asignatura

Documentos relacionados
Guía docente de la asignatura

(Ext. 5623), (Ext. 5640)

Guía docente de la asignatura

Guía docente de la asignatura

Guía docente de la asignatura Sistemas Empotrados

GUÍA DOCENTE ELECTRÓNICA DIGITAL GRADO EN INGENIERÍA ELECTRÓNICA INDUSTRIAL Y AUTOMÁTICA

Guía docente de la GESTIÓN DE EMPRESAS HOTELERAS

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE

Guía docente de la asignatura

Grado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre

Guía Particular de Asignatura DATOS BÁSICOS DE LA ASIGNATURA DATOS BÁSICOS DE LOS PROFESORES DATOS ESPECÍFICOS DE LA ASIGNATURA

Técnicas y Lenguajes de Programación. Bases de Datos.Técnicas de Computación.ANSI C.

Guía docente de la asignatura

GUÍA DOCENTE SISTEMAS BASADOS EN MICROPROCESADOR

GUÍA DE APRENDIZAJE SISTEMAS OPERATIVOS

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE

Máster en Desarrollo de Aplicaciones y Servicios para Dispositivos Móviles Guía de Aprendizaje. Información al estudiante

Guía docente de la asignatura

CONTROL DISTRIBUIDO Y AUTOMATIZACIÓN

Guía docente de la asignatura

GUÍA DE APRENDIZAJE ARQUITECTURA DE COMPUTADORES

Electrónica de potencia

Guía docente de la asignatura

Control de procesos industriales

Guía Docente de la Asignatura

GUÍA DOCENTE. Ingeniería Informática en Sistemas de Información Doble Grado:

Análisis Factorial clásico. Análisis de Correlación Canónica. Análisis Discriminante. Modelos Lineales multivariantes.

Microeconomía II Curso

FICHA TÉCNICA DE LA ASIGNATURA. Sistemas de Información y Control de Gestión. Plan 430 Código 52301

Guía Docente: Guía Básica. Datos para la identificación de la asignatura. Escuela de Ingeniería Informática Grado en Ingeniería Informática

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Programacion en android. CURSO ACADÉMICO - SEMESTRE Primer semestre

Técnicas Instrumentales. Complementos de Formación. Máster en Investigación Biomédica. Español. Dra. Mª Nieves Fernández García

Control de procesos industriales

GUÍA DOCENTE. Curso DESCRIPCIÓN DE LA ASIGNATURA. Ingeniería Informática en Sistemas de Información Doble Grado: Módulo: Modulo 4

2. Contextualización de los Contenidos y Competencias de la Materia... 3

GUÍA DOCENTE 2016/2017. Introducción a los Sistemas Operativos Grado en INGENIERÍA INFORMÁTICA 1º curso. Modalidad Presencial

(Ext. 5623), (Ext. 5619)

GUÍA DOCENTE LITERATURA ESPAÑOLA. EDAD MEDIA

TITULACIÓN: LICENCIADO EN QUÍMICA CURSO ACADÉMICO: GUÍA DOCENTE DE FUNDAMENTOS DE INFORMÁTICA.

GUÍA DOCENTE CURSO FICHA TÉCNICA DE LA ASIGNATURA. Datos de la asignatura Nombre Circuitos y Dispositivos Electrónicos

DIRECCIÓN DE OPERACIONES I

Especialidades en GII-TI

DATOS BÁSICOS DE LA MATERIA

GUÍA DOCENTE. Curso Administración y Dirección de Empresas Doble Grado:

Economía de la Empresa

GUÍA DOCENTE Arquitecturas Avanzadas de Computadores

GUÍA DOCENTE ASIGNATURA FUNDAMENTOS EDUCATIVOS DE LA LOGOPEDIA

Interacción persona ordenador

LITERATURA ESPAÑOLA. EDAD MEDIA

Pontificia Universidad Católica del Ecuador

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Investigacion cientifica de accidentes. CURSO ACADÉMICO - SEMESTRE Primer semestre

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Ingenieria del transporte. CURSO ACADÉMICO - SEMESTRE Segundo semestre

PROYECTO DOCENTE ASIGNATURA: "Diseño de Aplicaciones Móviles"

Instrumentación para el Control de Procesos en la Industria Alimentaria

Guía docente de la asignatura

Régimen Jurídico del Gasto Público y del Presupuesto

Ingeniería de Sistemas Electrónicos

Análisis Exploratorio de Datos 1231X (B.O.E. del 19-julio-2000). Troncal. Obligatoria. Optativa.

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Reactores quimicos. CURSO ACADÉMICO - SEMESTRE Segundo semestre

GUÍA DOCENTE DISEÑO E SISTEMAS DE CONTROL Y ROBÓTICA Grado en Ingeniería Electrónica Industrial y Automática

GUÍA DOCENTE Herramientas informáticas para la docencia

DIRECCIÓN DE RECURSOS HUMANOS II

Titulación(es) Titulación Centro Curso Periodo Grado en Física FACULTAT DE FÍSICA 3 Primer cuatrimestre

240EO016 - Automatización de Procesos

MÁSTER. Guía de ante. Patrones de. Diseño. Java. Bases de

GESTIÓN Y ADMINISTRACIÓN DE LOS SERVICIOS DE RED EN LOS SISTEMAS OPERATIVOS

Grado en Ciencias Ambientales Universidad de Alcalá Curso Académico 2016/2017 Primer Curso Primer Cuatrimestre

FACULTAD DE CIENCIAS DE LA COMUNICACIÓN

UNIVERSIDAD POLITÉCNICA DE MADRID. E.T.S. de Ingenieros Industriales PROCESO DE SEGUIMIENTO DE TÍTULOS OFICIALES

Arquitectura y Sistemas de Operativos

El Plan de Estudios no establece ningún prerrequisito para poder cursar esta asignatura.

GUIA DOCENTEDE LA ASIGNATURA DIRECCIÓN DE OPERACIONES

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Expresion grafica. CURSO ACADÉMICO - SEMESTRE Segundo semestre

PROGRAMA DE ESTUDIO. Nombre de la asignatura: CONTROLADORES LÓGICOS PROGRAMABLES. Horas de. Práctica ( )

Universidad de las Illes Balears Guía docente

Guía docente de la asignatura

APLICACIONES INFORMÁTICAS PARA FINANZAS Y CONTABILIDAD

MÁSTER UNIVERSITARIO EN INGENIERÍA WEB. Guía de Aprendizaje Información al estudiante

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Programacion web. CURSO ACADÉMICO - SEMESTRE Segundo semestre

Titulación(es) Titulación Centro Curso Periodo Grado de Ingeniería Informática ESCOLA TÈCNICA SUPERIOR D'ENGINYERIA

GUÍA DOCENTE Organización y Gestión de Proyectos y Obras

GUÍA DOCENTE 2016/2017. Trabajo fin de Grado Grado en ENFERMERÍA 4º curso. Modalidad presencial

Créditos: 3 Horas Presenciales del estudiante: 22,5 Horas No Presenciales del estudiante: 52,5 Total Horas: 75 UTILIZACIÓN DE LA PLATAFORMA VIRTUAL:

FICHA TÉCNICA DE LA ASIGNATURA

PROYECTO DOCENTE ASIGNATURA: "Robótica y Automatización"

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Reactores quimicos. CURSO ACADÉMICO - SEMESTRE Primer semestre

GUÍA DOCENTE Modelización en Ingeniería Hidráulica y Ambiental

Introducción a la contabilidad ADMINISTRACIÓN Y DIRECCIÓN DE EMPRESAS TECNOLÓGICAS 1er curso. Modalidad Presencial

Ingeniería Eléctrica Descriptores Creditos ECTS Carácter Curso Cuatrimestre. 6 OP 4 2c Castellano

Ingeniería en Informática PLAN DE ESTUDIO. Título: Ingeniero en Informática. Departamento de PRODUCCIÓN Y TRABAJO

GUÍA DOCENTE 2016/2017. Introducción a la Informática Grado en Pedagogía 1º curso. Modalidad Presencial

Guía Docente ESCUELA POLITÉCNICA SUPERIOR

Créditos: 6 Horas Presenciales del estudiante: 45 Horas No Presenciales del estudiante: 105 Total Horas: 150 UTILIZACIÓN DE LA PLATAFORMA VIRTUAL:

Pontificia Universidad Católica del Ecuador

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Fundamentos de automatica. CURSO ACADÉMICO - SEMESTRE Primer semestre

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

Pontificia Universidad Católica del Ecuador

UNIVERSIDAD DE GUADALAJARA

GUÍA DOCENTE CURSO FICHA TÉCNICA DE LA ASIGNATURA

Transcripción:

Guía docente de la asignatura Asignatura Materia Titulación PROGRAMACIÓN DE SISTEMAS AUTOMÁTICA INDUSTRIAL MASTER ELECTRÓNICA INDUSTRIAL Y AUTOMÁTICA Plan 568 Código Periodo de impartición 2º CUATRIMESTRE Tipo/Carácter OBLIGATORIA Nivel/Ciclo MASTER Curso 1 Créditos ECTS 6 Lengua en que se imparte Profesor/es responsable/s Datos de contacto (E-mail, teléfono ) Horario de tutorías Departamento Castellano Eduardo Zalama Casanova ezalama@eii.uva.es Félix Miguel Trespaderne trespa@eii.uva.es Eusebio de la Fuente López efuente@eii.uva.es Escuela Ingenierías Industriales Dpto. Ingeniería de Sistemas y Automática Pº del Cauce 59. Tel 983 423358 ezalama@eii.uva.es Ver página web de la UVa INGENIERÍA DE SISTEMAS Y AUTOMÁTICA 1. Situación / Sentido de la Asignatura 1.1 Contextualización Esta asignatura es común para el módulo I de Automática Industrial y se ubica en el 2º cuatrimestre del primer año del Master. En ella se pretende profundizar y ampliar los conceptos de programación estudiados en las asignaturas Informática Industrial y Control y Comunicaciones Industriales del Grado de Electrónica Industrial y Automática. Se presentan nuevos conceptos para la programación avanzada en C++11, se introduce el sistema operativo ROS (Robot Operating System), el diseño de interfaces gráficos con Qt y el desarrollo de proyectos sobre arquitecturas abiertas como Raspberry Pi empleando el lenguaje de programación Python. 1.2 Relación con otras materias Esta asignatura está estrechamente relacionada con la asignatura Robótica y Sistemas de Percepción Avanzados que se imparte en el mismo cuatrimestre. Los conceptos necesarios de instalación, programación y manejo de librerías de ROS y OpenCV se abordarán en la asignatura de Programación de Sistemas. Además, se realizará un proyecto transversal, sobre el que se aplicarán los conocimientos adquiridos en las diferentes asignaturas, y cuya evaluación formará parte de cada asignatura afectada. 1.3 Prerrequisitos Se requieren conocimientos de computadores, sistemas operativos y programación en C++ porque se empezará trabajando sobre conceptos avanzados. Como se impartirán conocimientos de programación aplicables al ámbito de la robótica y visión artificial es muy recomendable que se curse simultáneamente con la asignatura Robótica y Sistemas de Percepción Avanzados de Programación Avanzada. 1 de 7

2. Competencias 2.1 Generales CG1. Capacidad de análisis y síntesis. CG2. Capacidad de organización y planificación del tiempo. CG3. Capacidad de expresión escrita. CG4. Capacidad de resolución de problemas. CG5. Capacidad de razonamiento critico/análisis lógico. CG6. Capacidad de integración de conocimiento de diferentes disciplinas tecnológicas. CG7. Capacidad para trabajar mediante el método de aprendizaje basado en proyectos. 2.2 Específicas CE10. CE11. CE12. CE13. Implementar los resultados obtenidos en sistemas reales. Capacidad para llevar a cabo programación de sistemas bajo restricciones de tiempo real, multitarea, concurrencia, etc. en sistemas hard/soft industriales. Capacidad de realizar programación en red y distribuida. Capacidad de gestión de un sistema. 3. Objetivos Al concluir la asignatura el estudiante debe ser capaz de: - Analizar, desarrollar e implementar proyectos informáticos que incluyan la integración de software en el ámbito de la robótica y automatización utilizando equipos específicos y técnicas de programación avanzada. - Entender cómo se aplican los conceptos de programación concurrente y tiempo real en sistemas para el control de robots. - Conocer los principios y modelos fundamentales de la programación orientada a objeto. Ser capaz de implementar programas concurrentes utilizando el lenguaje de programación C++. - Desarrollar proyectos de aplicaciones que incluyan sistemas abiertos como Raspberry Pi. - Analizar, diseñar y desarrollar interfaces gráficos de usuario eficientes con Qt. 4. Tabla de dedicación del estudiante a la asignatura ACTIVIDADES PRESENCIALES HORAS ACTIVIDADES NO PRESENCIALES HORAS Clases teórico-prácticas (T/M) 35 Estudio y trabajo autónomo individual 45 Clases prácticas de aula (A) Estudio y trabajo autónomo grupal 45 Laboratorios (L) 25 Total presencial 60 Total no presencial 90 2 de 7

5. Bloques temáticos 1 Bloque 1: Programación C++ avanzada Carga de trabajo en créditos ECTS: 6 a. Contextualización y justificación En este bloque se amplían conocimientos de programación C++ adquiridos en el grado. La programación en lenguaje C++ constituye una herramienta fundamental para el desarrollo de aplicaciones concurrentes en tiempo real. Se revisarán los conceptos de herencia, polimorfismo y el empleo de plantillas. Asimismo, se revisarán los contenedores de la biblioteca STL y las nuevas características de la versión C++11 como punteros inteligentes, funciones lambda y creación y sincronización de hilos. En el desarrollo de interfaces gráficos se empleará el framework Qt, desarrollado como software libre y de código abierto. Qt permite el desarrollo multiplataforma. Una vez desarrollado el interfaz, se puede portar a cualquiera de las plataformas móviles, de escritorio o de sistemas empotrados. Esto contrasta con el desarrollo tradicional sobre cada uno de los sistemas empleando diferentes tecnologías en cada uno de ellos. Además, Qt permite alcanzar una gran eficiencia en el desarrollo al proporcionar gran cantidad de módulos listos para su uso. Aunque puede emplearse con muchos lenguajes de programación, Qt utiliza el lenguaje de programación C++ de forma nativa. Qt corre sobre los principales sistemas operativos de escritorio (Windows XP/7/8/10, Mac OS X, Linux, BSDs, Unix), los sistemas operativos móviles más relevantes (ios, Android, Blackberry, Windows Phone) y sobre los sistemas empotrados más empleados (Linux Embedded, Windows Embedded, QNX, vxworks, Nucleos, Integrity). En cuanto al Sistema Operativo ROS (en inglés Robot Operating System) se trata de un framework para el desarrollo de software para robots. ROS es software libre bajo términos de licencia BSD. En este bloque temático se presentarán los servicios que proporciona este sistema operativo como abstracción del hardware, control de dispositivos de bajo nivel, implementación de funcionalidad de uso común, paso de mensajes entre procesos y mantenimiento de paquetes. Se mostrará la arquitectura de grafos en la que se basa, donde el procesamiento toma lugar en los nodos que pueden recibir, mandar y multiplexar mensajes de sensores, control, estados, planificaciones y actuadores, entre otros. Aparte del sistema operativo en sí, se contemplarán también la ros-pkg, una suite de paquetes aportados por la contribución de usuarios que implementan la funcionalidades tales como localización y mapeo simultáneo, planificación, percepción, simulación, etc. La realización de proyectos se hará sobre Raspberry Pi, un pequeño ordenador de bajo coste bajo sistema operativo Linux. Mediante programación en Python se llevarán a cabo prácticas de control con sensores, motores y otro hardware incluyendo Arduino. El objetivo es practicar con su sistema operativo Linux e iniciarse con el lenguaje de programación Python a la vez que se desarrollan aplicaciones para adquirir información de sensores, activar distintos tipos de motores o controlar hardware desde su conector GPIO. b. Objetivos de aprendizaje 3 de 7

El objetivo del aprendizaje es ampliar los conocimientos sobre programación y sistemas operativos vinculados al campo de la robótica y automatización. Se pretende que el alumno se capaz de programar dispositivos robóticos empleando las técnicas más actuales de programación con software libre y de código abierto. c. Contenidos Programación avanzada C++ Sistema operativo ROS Diseño de interfaces gráficos con Qt Desarrollo de proyectos con Raspberry Introducción al lenguaje de programación Python d. Métodos docentes MÉTODOS DOCENTES Método expositivo/lección magistral Resolución de ejercicios y problemas Aprendizaje mediante experiencias OBSERVACIONES Clase Aula Clase Aula Prácticas de laboratorio en grupos reducidos. 4 de 7

e. Plan de trabajo El bloque se organizará en los siguientes temas: Tema Título del tema Teoría Aula Seminario Laboratorio 1 Sistema operativo ROS 10 5 2 Programación Avanzada C++ 10 5 3 Programación de Interfaces gráficos en 5 5 C++ con Qt. 4 Desarrollo de proyectos con Raspberry 5 5 5 Lenguaje de programación Python 5 5 TOTAL 35 25 La organización semanal de las actividades presenciales será la siguiente: Semana Contenidos Teoría ROS (Robot Operating System) Introducción Instalación y Configuración Paquetes, pilas y nodos 1-3 Servicios y parámetros Creación de programas Mensajes Gazebo Aula Seminario Laboratorio 10 5 4-6 Programación Avanzada C++ Herencia. Polimorfismo. Tratamiento de excepciones. Plantillas. Contenedores STL Características nuevas de C++11: variables auto, punteros inteligentes, funciones lambda, bucles por rango, inicialización uniforme, multihilado 10 5 7-9 Programación de interfaces gráficos en C++ con Qt Introducción Componentes (widgets) Gestión de Eventos. Signal-Slot Diálogos Diseño de una aplicación gráfica 5 5 10-12 Raspberry Pi Introducción Instalación y configuración Administración y gestión del sistema GPIO Control con raspberry pi (servomotores, sensores,) Arduino y Raspberry Pi 5 5 5 de 7

12-15 Lenguaje de programación Python. Proyecto Raspberry Pi. 5 5 TOTAL 10 5 10 f. Evaluación La evaluación se basará en los siguientes tipos de pruebas o exámenes: Prueba oral o escrita compuesta por cuestiones de teoría y resolución de problemas. Valoración: entre el 30% y el 60% del total de la asignatura. Prueba de aprovechamiento de prácticas en el laboratorio. Valoración: entre el 10% y el 20% del total de la asignatura. Evaluación de los informes, memoria y trabajo basado en proyectos realizados por el alumno o grupo de trabajo. Valoración: entre el 30% y el 60% del total de la asignatura. g. Bibliografía básica A Gentle Introduction to ROS. Jason M. O Kane. University of South Carolina. http://wiki.ros.org/es https://www.qt.io/ C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) 2nd Edition by Jasmin Blanchette, Mark Summerfield Getting Started with Raspberry Pi by Matt Richardson and Shawn Wallace. O Reilly Media, Sebastopol, Dic. 2012. Raspberry Pi Cookbook. Simon Monk. O Reilly Media, Sebastopol, Dic. 2013. Learning Python, Fifth Edition by Mark Lutz O Reilly Media, Sebastopol, Jun. 2013. h. Bibliografía complementaria i. Recursos necesarios 6 de 7

6. Temporalización (por bloques temáticos) BLOQUE TEMÁTICO CARGA ECTS PERIODO PREVISTO DE DESARROLLO 7. Tabla resumen de los instrumentos, procedimientos y sistemas de evaluación/calificación BLOQUE ACTIVIDAD PESO EN LA NOTA FINAL OBSERVACIONES Tanto en la convocatoria Ordinaria como en la Extraordinaria 8. Consideraciones finales [OPCIONAL]: Guía de trabajo del estudiante, para el trabajo no presencial: Semana Contenidos Lecturas Problemas recomendados Entrega ejercicios Proyecto Laboratorio TOTAL PARCIAL Preparación de exámenes TOTAL INDIVIDUAL/GRUPO TOTAL 7 de 7