Logo UAB
2021/2022

Robótica, Lenguaje y Planificación

Código: 102785 Créditos ECTS: 6
Titulación Tipo Curso Semestre
2502441 Ingeniería Informática OB 3 2
2502441 Ingeniería Informática OT 4 2
La metodología docente y la evaluación propuestas en la guía pueden experimentar alguna modificación en función de las restricciones a la presencialidad que impongan las autoridades sanitarias.

Contacto

Nombre:
Fernando Luis Vilariño Freire
Correo electrónico:
FernandoLuis.Vilarino@uab.cat

Uso de idiomas

Lengua vehicular mayoritaria:
español (spa)
Algún grupo íntegramente en inglés:
No
Algún grupo íntegramente en catalán:
No
Algún grupo íntegramente en español:

Equipo docente

Carlos Garcia Calvo

Prerequisitos

  • Programación en Python, C y C++.
  • Inglés medio escrito y oral.

Objetivos y contextualización

La evolución de las técnicas de Visión por Computador e Inteligencia Artificial ha facilitado el desarrollo de sistemas autónomos capaces de tomar decisiones e interactuar con su entorno. Esto ha tenido un impacto directo en el área de la robótica moderna en un abanico que va desde la robótica industrial clásica a la domótica experimental. Los mencionados sistemas están cada vez más presentes en nuestras vidas y su complejidad y autonomía son cada vez mayores. En esta asignatura se afronta la temática de la Robótica, Planificación y Lenguaje desde esta perspectiva de cara a alcanzar los siguientes objetivos:

  • El alumno asimilará las nociones básicas de la robótica (tan industrial como de servicio) y alcanzará un conocimiento genérico de los módulos componentes de un robot (hardware y software)
  • Se estudiarán metodologías ágiles orientadas a la resolución de retos. Estas metodologías forman parte de las estrategias de innovación más actuales y se integran en actividades de impacto directo como prototipado rápido y hackathons. Los alumnos desarrollarán estas competencias.
  • Se aprenderá a diseñar y programar un robot y evaluar su funcionamiento de manera cualitativa y cuantitativa a partir de simuladores y sistemas electrónicos.
  • Se alcanzarán los conocimientos para crear estrategias con el objetivo de guiar un robot real a partir de la información adquirida por una cámara.

Competencias

    Ingeniería Informática
  • Actitud personal.
  • Adquirir hábitos de trabajo personal.
  • Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en 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.
  • Capacidad para conocer los fundamentos, paradigmas y técnicas propias de los sistemas inteligentes y analizar, diseñar y construir sistemas, servicios y aplicaciones informáticas que utilicen dichas técnicas en cualquier ámbito de aplicación.
  • Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.

Resultados de aprendizaje

  1. Conocer distintos tipos de sensores/actuadores: utilidad y limitaciones.
  2. Desarrollar la curiosidad y la creatividad.
  3. Diseñar procesos de toma de decisiones para la mejora de la capacidad de un algoritmo de actuar en circunstancias no previstas.
  4. Escoger e implementar comportamientos adecuados en distintas circunstancias.
  5. Evaluar de forma crítica el trabajo realizado.
  6. Gestionar la información incorporando de forma crítica las innovaciones del propio campo profesional, y analizar las tendencias de futuro.
  7. Prevenir y solucionar problemas.
  8. Seleccionar plataformas hardware/software para el tratamiento y modelado de sistemas cognitivos.

Contenido

TEMA 1

1.1 Definiciones fundamentales.
1.2 Ejemplos de robots.

TEMA 2

2.1 Componentes modulares hardware.
2.2 Placas controladoras.
2.3 Sensores multimodales.

TEMA 3

3.1 Componentes modulares software.
3.2 Gestión de actuadores.
3.2 Introducción a la electrónica de control.

TEMA 4

4.1 Cinemática de robots.
4.2 Control cinemático.

TEMA 5

5.1 Representación del espacio y descomposición espacial.
5.2 Representaciones geométricas y topológicas.

TEMA 6

6.1 Planning: Definición del espacio de configuración y el espacio libre.
6.2 Algoritmos de planning: Grid-based Search, Geometric Algorithms, Potential Fields and Sampling based algorithms.

TEMA 7

7.1 Introducción a SLAM (Simultaneous Localization and Mapping).
7.2 Estrategias de resolución de los principales problemas: Mapping, Sensing, Locating and Modeling.
7.3 Visual SLAM.

Metodología

 

La asignatura estará fundamentada en una metodología de aprendizaje basado en resolución de proyectos. Las sesiones de teoría, problemas y prácticas irán orientadas a la resolución de un proyecto de robot, que será elegido libremente por el alumno, y que deberá desarrollarse en un grupo de trabajo de 4 alumnos durante 3 meses.

El sistema elegido deberá estar basado en una controladora Arduino o Raspberry Pi, además de al menos un sensor y un actuador. Los componentes electrónicos de este robot serán proporcionados por la Escuela, dentro de un presupuesto al que el alumno deberá ajustarse. Además, se podrán utilizar todas las piezas 3D necesarias, la impresión será proporcionada también por la Escuela.

El alumno podrá escoger libremente la complejidad de su proyecto, siendo la calificación final más alta en función de la ambición, el interés y la creatividad de la propuesta, la que atacará 4 pilares: 1) Arquitectura de componentes, 2) Diseño 3D, 3) Algorítmica, 4) Integración y validación. De igual manera, el alumno podrá decidir si desea focalizar su proyecto más en la parte algorítmica o en la electrónica, con el objetivo de poder desarrollar un proyecto lo más personalizado posible en relación al interés del alumno .

Para el desarrollo del proyecto se seguirá una metodología ágil basada en 5 sprints. En cada sprint se avanzará en las etapas del proyecto para atacar los 4 pilares descritos anteriormente. El resultado del último sprint será un robot físico capaz de implementar las funcionalidades propuestas en el proyecto.

Clases de fundamentos teóricos. Durante estas sesiones en el aula, se presentarán y se discutirán loscontenidos de la materia y se hará seguimiento de los proyectos. Se proporcionará al alumno materiales digitales, impresiones y referencias bibliográficas. Serán clases de discusión activa en las que se irá avanzando de manera constructiva en la identificación de los principales objetivos, dando respuestas y propuestas de solución a medida que evoluciona la asignatura. Todos los materiales estarán identificados en la web Caronte (http://caronte.uab.es)

Seminarios de problemas. En estas actividades los alumnos se adentrarán en el análisis de las principales problemáticas técnicas asociadas a la robótica. Por ello trabajarán un conjunto de ejercicios, cuya resolución les permitirá alcanzar la capacidad de implementar de manera eficiente los retos generados a sus proyectos y les proporcionará una perspectiva contextualizada de los contenidos trabajados en las clases de fundamentos teóricos. El conjunto de ejercicios estará orientado de manera constructiva, y así los alumnos empezarán primero por ejercicios más conceptuales, para finalizar en análisis cualitativos y cuantitativos particulares.

Sesiones prácticas. Durante las sesiones de prácticas, los alumnos implementarán a Laboratorio su robot físico y testear el software generado. Las entregas de prácticas estarán asociados a los 5 sprints de la asignatura.

Ejemplos de retos que los alumnos podrán afrontar son:

  1. Control de motores DC a partir de modulación de amplitud de pulsos, de motores paso-a-paso.
  2. Cuantificación de la distancia de objetos a partir de sensores de proximidad, infra-rojo, ultra sonido, cámaras, etc.
  3. Control de movimiento a partir de señales de sonido, imagen, giroscopios, etc.
  4. Posicionamiento a partir desensores de GPS, magnetómetros, imagen, etc.
  5. Integración de reconocimiento de patrones y de objetos, a partir de secuencias de vídeo.
  6. Conducción autónoma.

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.

Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
CLASES DE FUNDAMENTOS TEÓRICOS 26 1,04 1, 3, 4
SEMINARIOS DE PROBLEMAS 12 0,48 1, 4
SESIONES DE PRÁCTICAS 12 0,48 4, 8
Tipo: Autónomas      
ESTUDIO INDIVIDUAL 26 1,04 1, 3
PROGRAMACIÓN DE ROBOTS (individual i por grupos) 36 1,44 1, 3, 4, 8
RESOLUCIÓN DE PROBLEMAS (individual y por grupos) 30 1,2 1, 3, 4

Evaluación

La evaluación del alumno se hará en un proceso continuo que tendrá en cuenta las entregas de los sprints en prácticas (distribuidas a lo largo de la asignatura, y que suponen el 50% de la nota final). Habrá un examen de conceptos teóricos (25%) y un examen de problemas (25%). Las discusiones llevadas a cabo durante las sesiones teóricas, de problemas y de prácticas y todas las contribuciones de los estudiantes al conocimiento colectivo contarán positivamente en la calificación final.

Las entregas previstos son:

1. PRÁCTICAS

  LL.1.1 Entrega del sprint (S1)
  LL.1.2 Entrega del sprint (S2)
  LL.1.3 Entrega del sprint (S3)
  LL.1.4 Entrega del sprint (S4)
  LL.1.5 Entrega del sprint (S5)
  S = S1 + S2 + S3 + S4 + S5

2. Las actividades de evaluación previstas son (TEORÍA y PROBLEMAS):

A.2.1 Examen final Teoría (teoría).
A.2.2 Examen final Problemas (P).

La NOTA FINAL será calculada de la siguiente manera: NOTA FINAL = 12:25 * Teoría + 12:25 * P + 0.5 * S

Para aprobar es necesario que la evaluación de cada una de las partes supere el mínimo exigido (5) y que la evaluación total supere los 5 puntos. En caso de no superar la asignatura, la nota numérica del expediente será el valor menor entre 4.5 y la media ponderada de las notas.

Las contribuciones positivas en las discusiones redondearán los decimales de la nota hacia arriba. Para optar a la Matrícula de Honor es necesario haber tenido una actitud participativa en las discusiones de clase. Se concederán globalmente las matrículas de honor resultantes de calcular el cinco por ciento o fracción de los alumnos matriculados en todos elsgrups de docencia de la asignatura. Sólo se podrán otorgar a estudiantes que hayan obtenido una calificación final igual o superior a 9.

Las entregas serán, de manera orientativa, cada 2 semanas. Todas las entregas son obligatorios. En caso de suspenderlo, los alumnos tendrán la oportunidad de recuperar la nota parcial volviendo a enviar el documento corregido antes del día del examen final. Los estudiantes repetidores podrán convalidar las partes aprobadas años anteriores.

La no presentación al examen final (EF) implica un "No Evaluable" en las actas.

Finalmente, habrá una prueba extraordinaria que permitirá a los alumnos obtener un aprobado en la parte de Teoría en caso de haber suspendido el examen final (EF), la cual permitirá a la calificación de aprobado.

Todos los exámenes serán ajustados según el calendario de la Escuela.

Las fechas de evaluación continua y entrega de trabajos se publicarán en la web Caronte (http://caronte.uab.es) y pueden estar sujetos a cambios de programación por motivos de adaptación a posibles incidencias. Siempre se informará en la web Caronte sobre estos cambios ya que se entiende que la web Caronte es el mecanismo habitual de intercambio de información entre profesor y estudiantes.

Para cada actividad de evaluación, se indicará un lugar, fecha y hora de revisión en la que el estudiante podrá revisar la actividad con el profesor. En este contexto, se podrán hacer reclamaciones sobre la nota de la actividad, que serán evaluadas por el profesorado responsable de la asignatura. Si el estudiante no se presenta en esta revisión, no se revisará posteriormente esta actividad.

Sin perjuicio de otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, se calificarán con un cero las irregularidades cometidas por el estudiante que puedan conducir a una variación de la calificación de un acto de evaluación. Por lo tanto, plagiar, copiar o dejar copiar una práctica o cualquier otra actividad de evaluación implicará suspender con un cero y no se podrá recuperar en el mismo curso académico. Si esta actividad tiene una nota mínima asociada, entonces la assignaturaquedarà suspendida.

Actividades de evaluación

Título Peso Horas ECTS Resultados de aprendizaje
Defensa de los problemas 0,25 2 0,08 1, 4, 6
Entrega de prácticas 0,5 4 0,16 5, 1, 2, 3, 4, 7, 8
Exmen FInal 0,25 2 0,08 1, 3, 4, 8

Bibliografía

Todo el material de la asignatura se publicará en: http://cerbero.uab.es

Los libros de texto básicos son:

  • Craig, J.J. "Introduction to Robotics. Mechanics and Control". Pearson, Prentice Hall. Third Edition. 2.005.
  • Choset, H., et al. "Principles of Robot Motion". The MIT press. 2.005.

Otras referencias:

  1. Siciliano, B, Sciaicco, L. et al. "Robotics. Modelling, Planing and Control". Springer. 2010.
  2. Siciliano, B., Khatib, O. "Handbook of Robotics", Springer. 2008.

Enlaces de interés:

  1. Stanford Artficial Intelligence | Introduction to robotics. http://see.stanford.edu/see/courseInfo.aspx?coll=86cc8662-f6e4-43c3-a1be-b30d1d179743
  2. Kragic, D., Vicze, M. "Vision for Robotics". Foundations and Trends in Robotics: Vol. 1: No. 1, pp 1-78. http://dx.doi.org/10.1561/2300000001
  3. Project "Robot Planning Tasks and Methods" http://idm-lab.org/project-f-content.html
  4. SLAM for Dummies http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-412j-cognitive-robotics-spring-2005/projects/1aslam_blas_repo.pdf
  5. SceneLib Homepage http://www.doc.ic.ac.uk/~ajd/Scene/index.html

Software

  • Arduino software: https://www.arduino.cc
  • Coppelia sim: https://www.coppeliarobotics.com
  • Robot Operating System: https://www.ros.org