Créditos
6
Tipos
- GRAU: Optativa
- GCED: Optativa
Requisitos
Esta asignatura no tiene requisitos
, pero tiene capacidades previas
Departamento
ESAII
Profesorado
Responsable
- Josep Fernàndez Ruzafa ( josep.fernandez@upc.edu )
Competencias
Trabajo en equipo
- G5.1 - Capacidad de colaborar en un entorno unidisciplinar. Identificar los objetivos del grupo y colaborar en el diseño de la estrategia a seguir y un plan de trabajo para conseguirlos. Identificar las responsabilidades de cada componente del grupo y asumir el compromiso personal de la tarea asignada. Evaluar y presentar los resultados propios. Identificar el valor de la cooperación e intercambiar información con los otros componentes del grupo. Intercambiar información sobre el progreso del grupo y proponer estrategias para mejorar su funcionamiento.
Actitud frente al trabajo
- G8.3 - Tener motivación para el desarrollo profesional y para afrontar nuevos retos. Tener motivación para la mejora continua. Disponer de capacidad de trabajo en situaciones de falta de información.
Competencias técnicas comunes
- CT1.1A - Demostrar conocimiento y comprensión de los conceptos fundamentales de la programación y de la estructura básica de un computador. CEFB4. Conocimiento de los fundamentos del uso y programación de los computadores, los sistemas operativos, las bases de datos y, en general, los programas informáticos con aplicación en ingeniería.
- CT1.1B - Interpretar, seleccionar y valorar conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática y su aplicación a partir de los fundamentos matemáticos, estadísticos y físicos necesarios. CEFB2. Capacidad para comprender y dominar los fundamentos físicos y tecnológicos de la informática: electromagnetismo, ondas, teoría de circuitos, electrónica y fotónica y su aplicación para la resolución de problemas propios de la ingeniería.
- CT1.2A - Demostrar conocimiento y comprensión de los conceptos fundamentales de la programación y de la estructura básica de un computador. CEFB5. Conocimiento de la estructura, funcionamiento e interconexión de los sistemas informáticos, así como los fundamentos de su programación.
- CT1.2B - Interpretar, seleccionar y valorar conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática y su aplicación a partir de los fundamentos matemáticos, estadísticos y físicos necesarios. CEFB3. Capacidad para comprender y dominar los conceptos básicos de matemática discreta, lógica, algorítmica y complejidad computacional, y su aplicación para el tratamiento automático de la información por medio de sistemas computacionales y su aplicación para la resolución de problemas propios de la ingeniería.
- CT1.2C - Interpretar, seleccionar y valorar conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática y su aplicación a partir de los fundamentos matemáticos, estadísticos y físicos necesarios. CEFB1: Capacidad para la resolución de los problemas matemáticos que puedan plantarse en la ingeniería. Aptitud para aplicar los conocimientos sobre: algebra, cálculo diferencial e integral i métodos numéricos; estadística y optimización.
- CT2.1 - Demostrar conocimiento y capacidad de aplicación de los principios, metodologías y ciclos de vida de ingeniería de software.
- CT2.5 - Diseñar y evaluar interfaces persona-computador que garanticen la accesibilidad y la usabilidad a los sistemas, a los servicios y a las aplicaciones informáticas.
- CT3.5 - Identificar las posibilidades de uso y los beneficios que puede aportar la aplicación en las diferentes tipologías de software empresarial y servicios TIC existentes.
- CT3.6 - Demostrar conocimiento de la dimensión ética en la empresa: la responsabilidad social y corporativa en general y, en particular, las responsabilidades civiles y profesionales del ingeniero en informática.
- CT4.1 - Identificar las soluciones algorítmicas más adecuadas para resolver problemas de dificultad mediana.
- CT4.2 - Razonar sobre la corrección y la eficiencia de una solución algorítmica.
- CT4.3 - Demostrar conocimiento y capacidad de aplicación de los principios fundamentales y las técnicas básicas de los sistemas inteligentes y su aplicación práctica.
- CT5.2 - Conocer, diseñar y utilizar de forma eficiente los tipos y las estructuras de datos más adecuados para la resolución de un problema.
- CT5.3 - Diseñar, escribir, probar, depurar, documentar y mantener código en un lenguaje de alto nivel para resolver problemas de programación aplicando esquemas algorítmicos y usando estructuras de datos.
- CT5.4 - Diseñar la arquitectura de los programas utilizando técnicas de orientación a objetos, de modularización y de especificación e implementación de tipos abstractos de datos.
- CT5.5 - Usar las herramientas de un entorno de desarrollo de software para crear y desarrollar aplicaciones.
- CT5.6 - Demostrar conocimiento y capacidad de aplicación de los principios fundamentales y de las técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.
- CT8.1 - Identificar tecnologías actuales y emergentes y evaluar si son aplicables, y en qué medida, para satisfacer las necesidades de los usuarios.
Especialidad ingeniería del software
- CES1.2 - Dar solución a problemas de integración en función de las estrategias, de los estándares y de las tecnologías disponibles.
- CES1.8 - Especificar, diseñar e implementar sistemas de control y de tiempo real.
- CES2.1 - Definir y gestionar los requisitos de un sistema software.
- CES2.2 - Diseñar soluciones apropiadas en uno o más dominios de aplicación, utilizando métodos de ingeniería del software que integren aspectos éticos, sociales, legales y económicos.
Especialidad ingeniería de computadores
- CEC2.1 - Analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y la ejecución de aplicaciones y servicios informáticos.
Especialidad de computación
- CCO1.1 - Evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución, y recomendar, desarrollar e implementar la que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.
- CCO1.3 - Definir, evaluar y seleccionar plataformas de desarrollo y producción hardware y software para el desarrollo de aplicaciones y servicios informáticos de diversa complejidad.
- CCO2.1 - Demostrar conocimiento de los fundamentos, los paradigmas y las técnicas propias de los sistemas inteligentes y analizar, diseñar y construir sistemas, servicios y aplicaciones informáticas que utilicen estas técnicas en cualquier ámbito de aplicación.
- CCO2.2 - Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano de una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes.
- CCO3.1 - Implementar código crítico siguiendo criterios de tiempo de ejecución, eficiencia y seguridad.
- CCO3.2 - Programar considerando la arquitectura hardware, tanto en ensamblador como en alto nivel.
Objetivos
-
Conocer los elementos que forman un sistema robot, las diferentes alternativas, y su funcionamiento.
Competencias relacionadas: G7.1, CEC2.1, G7.2, G7.3, G8.3, CT1.2B, -
Conocer la evolución, estado actual y tendencias de la robótica.
Competencias relacionadas: G7.1, CES2.1, CES2.2, CT8.1, CT5.2, CT5.4, CT5.5, G7.2, G7.3, G8.3, CT5.3, CT5.6, -
Conocer las diferentes formas de programación de los robots y sus características.
Competencias relacionadas: CT5.2, CT5.4, CT5.3, CT1.1B, CT1.1A, -
Conocer y saber diferenciar los distintos niveles de planificación y control del movimiento del robot.
Competencias relacionadas: CEC2.1, CT1.2A, CT1.2C, CCO2.1, CT4.1, CT4.2, CCO2.2, CCO3.1, CCO3.2, CT4.3, CT5.6, CT1.2B, -
Conocer las técnicas que permiten definir, calcular y generar trayectorias adecuadas para los robots, y su implementación algorítmica.
Competencias relacionadas: CT1.2A, CT1.2C, CCO1.1, CCO1.3, CT4.1, CT4.2, CT4.3, CT1.1B, CT1.1A, -
Conocer los sensores y sistemas de percepción para la interacción con el entorno para las aplicaciones más frecuentes
Competencias relacionadas: G7.1, G7.2, G7.3, G8.3, CT1.2B, -
Conocer la problemática y las estrategias de la navegación de vehículos guiados y autónomos
Competencias relacionadas: CEC2.1, CT1.2A, CT1.2C, CCO2.1, CT4.1, CT4.2, CT5.2, CT5.4, CCO2.2, CCO3.1, CCO3.2, CT4.3, CT5.3, CT5.6, CT1.1B, CT1.1A, -
Saber cómo se utilizan las técnicas de planificación en el campo de la robótica
Competencias relacionadas: CT1.2A, CT1.2C, CT4.1, CT4.2, CT5.2, CT5.4, CT5.5, CT4.3, CT5.3, CT5.6, CT1.1B, CT1.1A, -
Conocer los requerimientos sensoriales de los robot móviles
Competencias relacionadas: G7.1, CT2.5, G7.2, G7.3, G8.3, CT1.2B, -
Conocer los requerimientos de las aplicaciones más habituales de la robótica y saber discriminar qué tareas son susceptibles de ser robotizadas.
Competencias relacionadas: G9.1, G9.3, CT8.1, CT5.2, CT5.4, CT5.5, G9.2, CT5.3, CT5.6, -
Ser capaz de identificar los requerimientos de una tarea que debe ser robotizada
Competencias relacionadas: G9.1, G9.3, CT5.2, CT5.4, CT5.5, G9.2, CT5.3, CT5.6, CT1.2B, -
Saber programar y utilizar los robots para dar solución a la tarea propuesta
Competencias relacionadas: G9.1, G9.3, CT5.2, CT5.4, G9.2, CT5.3, CT1.1B, CT1.1A, -
Saber integrar la información suministrada por los sensores en el programa del robot
Competencias relacionadas: G7.1, G9.1, G9.3, CT1.2A, CT1.2C, CT2.1, G5.1, CCO1.1, CCO1.3, CT5.2, CT5.4, CT5.5, G7.2, G7.3, G9.2, CT5.3, CT1.1B, CT1.2B, CT1.1A, -
Saber elegir los tipos de sensores necesarios para cada aplicación
Competencias relacionadas: G7.1, G9.1, G9.3, CT5.2, CT5.4, CT5.5, G7.2, G7.3, G9.2, CT5.3, CT5.6, CT1.2B, -
Conocer los factores que inciden sobre la fiabilidad de un robot y cómo minimizar su efecto
Competencias relacionadas: G9.1, G9.3, G9.2, CT1.2B, -
Conocer los aspectos relativos a la seguridad de sistemas robóticos
Competencias relacionadas: G9.1, G9.3, CT5.2, CT5.4, CT5.5, G8.3, G9.2, CT5.3, CT5.6, -
Conocer la metodología del desarrollo de un proyecto de robotización
Competencias relacionadas: CES1.2, CES2.1, CES2.2, CT3.6, CES1.8, CT3.5, -
Diseño de proyectos de robotización de una tarea determinada
Competencias relacionadas: G9.1, G9.3, CEC2.1, CES1.2, CES2.1, CES2.2, CT8.1, G5.1, CT3.6, CCO3.1, CCO3.2, G8.3, G9.2, CES1.8, CT3.5,
Contenidos
-
Introducción
Robots y Robótica. Evolución de los robots. Incidencia de la robótica en la sociedad actual. -
Morfología del robot.
Componentes. Estructuras y características de los robots. -
Cinemática de los robots manipuladores
Transformaciones geométricas. Parámetros DH. Cinemática directa. Cinemática Inversa. Cinemática diferencial. -
Generación de trayectorias
Caminos y trayectorias. Trayectorias en el espacio de articulaciones. Trayectorias en el espacio cartesiano. -
Programación y Control del robot
Control en el espacio de articulaciones. Arquitectura de control de un manipulador. Entornos y lenguajes de programación de robots industrial. -
Robots móviles
Mecanismos de locomoción. Tipo de robot móviles. Cinemática directa e inversa. Maniobrabilid -
Percepción del entorno
Clasificación de los sensores. Características. Sensores de profundidad. Sensores de orientación. -
Navegación de robots móviles
Navegación reactiva. Evasión de obstáculos. Planificación basada en mapas. -
Localización del robot móvil
Sistemas de localización (GPS, US, IR, rutas fijas). Navegación basada en puntos de referencia. -
Aplicaciones de la robótica
Robótica Industrial. Robótica de servicios. Robótica de exploración. Robótica médica y asistencial. -
Desarrollo de un proyecto de robotización
Requerimientos. Diseño. Implicaciones éticas y sociales. Fiabilidad y seguridad.
Actividades
Actividad Acto evaluativo
Desarrollo Tema 1
Participar activamente en las sesión presencial. Estudio autónomo de los materiales propuestos. Búsqueda de información respecto la robótica, los sistemas robots y sus aplicaciones.Objetivos: 2 1
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
1.5h
Aprendizaje dirigido
0h
Aprendizaje autónomo
1h
Metodología docente
La metodología docente de la asignatura se aleja de la división convencional entre teoría, problemas y prácticas para ofrecer una experiencia de aprendizaje integrada y dinámica. En las sesiones presenciales, se intercalan de manera fluida las actividades de adquisición de conocimientos con espacios de reflexión y una puesta en práctica inmediata, facilitando que el estudiante aplique los conceptos aprendidos mediante la construcción de modelos, la simulación y el desarrollo de aplicaciones para sistemas robóticos.Como complemento a la actividad presencial, el proceso de aprendizaje se consolida mediante el trabajo autónomo y en equipo, centrado en la resolución y entrega de ejercicios y de proyectos de ámbito global.
Método de evaluación
La evaluación de la asignatura se realiza a partir de:1. Mini proyectos a desarrollar durante las sesiones de laboratorio:
a) MP1: Mini proyecto relacionado con Robots Manipuladores.
b) MP2: Mini proyectos relacionados con Robots Móviles.
2. Proyecto global de ámbito
a) PG1: Proyecto global relacionado con Robots Manipuladores.
b) PG2: Proyecto global relacionado con Robots Móviles.
3. Examen parcial de ámbito
a) ExParc1: Examen parcial de Robots Manipuladores.
b) ExParc2: Examen parcial de Robots Móviles.
4. Actitud. Valoración de la actitud del estudiante ante la asignatura y desenpeño en las actividades presenciales.
La nota final (NF) se calcula mediante la siguiente fórmula ponderada:
NF= 0.1*Actitud + 0.1*MP1 + 0.2*PG1 + 0.15*ExParc1 + 0.1*MP2 + 0.2*PG2 + 0.15*ExParc2
Bibliografía
Básico
-
Robotics, vision and control : fundamental algorithms in Python
- Corke, Peter I,
Springer International Publishing AG,
2023.
ISBN: 9783031064685
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005230277706711&context=L&vid=34CSUC_UPC:VU1 -
Introduction to autonomous mobile robots
- Siegwart, Roland; Nourbakhsh, Illah R.; Scaramuzza, Davide,
MIT Press,
2011.
ISBN: 9780262015356
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=3339191 -
Springer handbook of robotics
- Siciliano, B.; Khatib, O,
Springer,
2016.
ISBN: 9783319325521
https://link-springer-com.recursos.biblioteca.upc.edu/book/10.1007/978-3-319-32552-1 -
Fundamentos de robótica
- Barrientos, A. [et al.],
McGraw-Hill,
2007.
ISBN: 9788448156367
https://www-ingebook-com.recursos.biblioteca.upc.edu/ib/NPcd/IB_BooksVis?cod_primaria=1000187&codigo_libro=4101 -
Introduction to AI robotics
- Murphy, R.R,
MIT Press,
2019.
ISBN: 9780262348157
Web links
- Portal de la Xarxa Europea de promoció de la Robòtica tant en l'àmbit formatiu com d'investigació. http://www.euron.org
- Federació Internacional de Robòtica. Entitat que promou, la recerca i desenvolupamnet, l'us i la coperació internacional, en tots els àmbits de la robòtica. http://www.ifr.org
- Portal que agrupa els fabricants i usuaris de sistemes i components robots. http://www.roboticsonline.com/
Capacidades previas
Área de Matemáticas* Conocer y saber aplicar el concepto de derivada y derivada parcial.
* Saber los métodos elementales de representación gráfica de funciones (asíntotas, máximos, mínimos, ...).
* Conocer las propiedades elementales de las funciones trigonométricas.
* Conocer los conceptos básicos de manipulación y operación con matrices.
Área de Física
* Obtener conceptos y las leyes básicas de la electricidad, el magnetismo y el electromagnetismo (ley de Coulomb, ley de Ohm, campo eléctrico y magnético, carga eléctrica, dipolo magnético, potencial eléctrico, diferencia de potencial, tensión eléctrica, corriente, resistencia y conductancia eléctrica, y sus unidades en el sistema MKS
* Conocer los rasgos más significativos del comportamiento físico de los dispositivos semiconductores: la unión PN, el transistor bipolar y el transistor MOS.
Área de Programación y Estructura de Datos
* Saber especificar, diseñar y implementar algoritmos sencillos con un lenguaje de programación imperativo.
* Saber construir programas correctos, eficientes y estructurados.
* Conocer los conceptos de lenguajes interpretados y lenguajes compilados.
* Conocer los algoritmos de búsqueda en estructuras de datos (tablas, listas, árboles, ...).
Área de Arquitectura y Tecnología de Computadores
* Conocer a nivel funcional las diferentes puertas lógicas.
* Saber analizar e implementar sistemas lógicos combinacionales y secuenciales simples.
* Saber minimizar y sintetizar funciones lógicas.
* Conocer la estructura básica de un computador.
* Conocer el subsistema de entrada / salida e interrupciones del computador.
* Conocer que es un sistema operativo y sus funciones.
* Conocer el concepto de proceso, concurrencia, y comunicación y sincronización entre procesos.