Datos Identificativos 2024/25
Asignatura (*) Desarrollo de Aplicaciones en Robótica: ROS Avanzado Código 730556014
Titulación
Máster Universitario en Informática Industrial e Robótica
Descriptores Ciclo Periodo Curso Tipo Créditos
Máster Oficial 2º cuatrimestre
Primero Optativa 3
Idioma
Castellano
Gallego
Modalidad docente Presencial
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Coordinador/a
Becerra Permuy, Jose Antonio
Correo electrónico
jose.antonio.becerra.permuy@udc.es
Profesorado
Becerra Permuy, Jose Antonio
Correo electrónico
jose.antonio.becerra.permuy@udc.es
Web
Descripción general O obxectivo desta materia é que o alumno sexa capaz de abordar aplicacións de robótica reais con ROS e Python, incluíndo probas con simuladores físicos 3D e a implantación en robots reais.

Competencias / Resultados del título
Código Competencias / Resultados del título
A14 COMP14 - Capacidad para diseñar, simular y/o implementar soluciones tecnológicas que impliquen el uso de robots y/o sistemas de informática industrial en un entorno, contemplando aspectos éticos y legales.
A17 COMP17 - Capacidad para alcanzar la optimización, eficiencia y sostenibilidad en el desarrollo de sistemas robóticos y/o industriales y/o metaheurísticos.
A26 CON08 - Identificar las estructuras mecánicas básicas y avanzadas con las que se construyen las distintas morfologías robóticas, así como las claves y parámetros de su comportamiento, y los modelos cinemáticos y dinámicos de robots.
A36 HAB08 - Disponer de una visión general de las diferentes posibilidades y objetivos de control en robots inteligentes, así como las tecnologías básicas y emergentes que se pueden aplicar.
A51 OPT-COMP8 - Utilizar un simulador 3D en ROS.
A67 OPT-CON8 - Identificar las librerías más habituales en ROS para la utilización de sensores y actuadores habituales, incluyendo cámaras, así como las que permiten implementar técnicas SLAM en ROS.
A85 OPT-HAB8 - Desarrollar aplicaciones de robótica complejas utilizando un IDE completo, incluyendo la depuración de los nodos.

Resultados de aprendizaje
Resultados de aprendizaje Competencias / Resultados del título
COMP14 - Capacidad para diseñar, simular y/o implementar soluciones tecnológicas que impliquen el uso de robots y/o sistemas de informática industrial en un entorno, contemplando aspectos éticos y legales. AI14
COMP17 - Capacidad para alcanzar la optimización, eficiencia y sostenibilidad en el desarrollo de sistemas robóticos y/o industriales y/o metaheurísticos. AI17
CON08 - Identificar las estructuras mecánicas básicas y avanzadas con las que se construyen las distintas morfologías robóticas, así como las claves y parámetros de su comportamiento, y los modelos cinemáticos y dinámicos de robots. AI26
HAB08 - Disponer de una visión general de las diferentes posibilidades y objetivos de control en robots inteligentes, así como las tecnologías básicas y emergentes que se pueden aplicar. AI36
OPT-COMP8 - Utilizar un simulador 3D en ROS. AI51
OPT-CON8 - Identificar las librerías más habituales en ROS para la utilización de sensores y actuadores habituales, incluyendo cámaras, así como las que permiten implementar técnicas SLAM en ROS. AI67
OPT-HAB8 - Desarrollar aplicaciones de robótica complejas utilizando un IDE completo, incluyendo la depuración de los nodos. AI85

Contenidos
Tema Subtema
Los bloques o temas siguientes desarrollan los contenidos establecidos en la ficha de la memoria de verificación. - Integración de ROS en un IDE de Python. Depuración.
- Simulación 3D en ROS.
- Ejemplos de utilización de sensores y actuadores reales con ROS.
- Utilización de cámaras y librerías de procesado de imágenes en ROS.
- SLAM en ROS.
- Implementación de ejemplos completos utilizando simulación y robots reales.
Integración de ROS en un IDE. Conceptos de Visual Studio Code.
Utilización básica de Visual Studio Code.
Configuración de Visual Studio Code para la ejecución de comandos de ROS.
Configuración de Visual Studio Code para la ejecución y depuración de nodos de ROS.
actionlib Definición de acciones.
Implementación.
Laser pipeline Filtros.
Conversión de medidas en crudo a nubes de puntos.
Ensamblaje de nubes de puntos.
Robot stack Formato de descripción de robots: urdf y xacro.
Gestión de las posiciones de las articulaciones: joint state publisher.
Utilización de múltiples sistemas de coordenadas y cinemática directa: robot state publisher y geometry2 / tf2.
Control stack Interfaz con el hardware.
Implementación de los controladores: controladores estándar.
Navigation stack Relación con laser, robot y control stacks.
Utilización de mapas.
SLAM.
Implementación de ejemplos completos. Implementación de ejemplos completos mediante simulación (con Gazebo) y robots reales.

Planificación
Metodologías / pruebas Competencias / Resultados Horas lectivas (presenciales y virtuales) Horas trabajo autónomo Horas totales
Prueba mixta A26 A36 A67 2.5 0 2.5
Sesión magistral A14 A17 A26 A36 A67 A85 10.5 15.75 26.25
Prácticas de laboratorio A14 A17 A36 A51 A85 10.5 15.75 26.25
Trabajos tutelados A14 A17 A36 A51 A85 0 18 18
 
Atención personalizada 2 0 2
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías Descripción
Prueba mixta Prueba de evaluación que se realizará en las correspondientes oportunidades de las convocatorias oficiales. Consistirá en una prueba escrita con la finalidad de comprobar el afianzamiento de los conceptos teóricos más importantes vistos en la asignatura.
Sesión magistral Actividad presencial en el aula que sirve para establecer los conceptos fundamentales de la materia. Consiste en la exposición oral haciendo uso profuso de medios audiovisuales y buscando la participación de los alumnos mediante el planteamiento de casos prácticos y la realización de preguntas, con el fin de facilitar el aprendizaje y fomentar el espíritu crítico.
Prácticas de laboratorio Mediante esta actividad los alumnos implementarán en el laboratorio pequeños programas / sistemas que ejemplificarán los conceptos vistos en las sesiones magistrales, de forma que puedan probar en el mundo real algunos de los métodos y técnicas, y valorar de primera mano los problemas (y sus implicaciones) que surgen en la implementación. Durante su realización, el alumno podrá plantear dudas al profesor o consultar los materiales que estime oportuno.
Trabajos tutelados Realización de uno o varios trabajos a lo largo del cuatrimestre, de forma autónoma y tutorizados por los profesores, que implicarán llevar a la práctica los conceptos vistos en las sesiones magistrales. Al menos el trabajo final será realizado en grupo y los alumnos entregarán, en soporte informático, una memoria y tendrán que realizar también una presentación ante el profesor y sus compañeros de clase.

Atención personalizada
Metodologías
Prácticas de laboratorio
Trabajos tutelados
Descripción
Prácticas de laboratorio: la atención personalizada en las clases prácticas consistirá en resolver las dudas conceptuales o procedimentales que puedan surgir durante su realización, modulando el tiempo de atención a cada alumno en función de sus necesidades individuales.

Trabajos tutelados: la atención personalizada en los trabajos consistirá en tutorías intermedias, durante el plazo habilitado para su realización, que se centrarán en la revisión del trabajo realizado hasta ese momento, sugiriendo cambios y aclarando dudas.

Evaluación
Metodologías Competencias / Resultados Descripción Calificación
Prueba mixta A26 A36 A67 Prueba final de la materia que consistirá en la realización de un examen individual. Esta prueba tendrá preguntas de tipo teóricas y prácticas relacionadas con los conceptos estudiados en las clases magistrales, en las prácticas de laboratorio o con los contenidos de los trabajos / proyectos tutelados. 40
Trabajos tutelados A14 A17 A36 A51 A85 Desarrollo de uno o varios proyectos individuales o en grupos reducidos. Será necesario entregar los materiales en tiempo y forma siguiendo las indicaciones del enunciado. Al menos el trabajo final requerirá la exposición oral por parte de todos los integrantes del grupo de trabajo, empleando para eso la presentación entregada. La no realización de la presentación supondrá una nota de cero en esta actividad. 60
 
Observaciones evaluación
Para poder aprobar la materia el estudiante deberá cumplir los siguientes requisitos (puntuación entre 0 y 10 en todas las actividades):
  1. Que la nota en los trabajos tutelados (TT) sea mayor o igual que 5.
  2. Que la nota en la prueba mixta (PM) sea mayor o igual que 5.
Si no se cumplen todos los requisitos anteriores la cualificación será de suspenso y la nota numérica máxima que se podrá obtener, en la oportunidad correspondiente, será de 4,5 puntos. Si se cumplen los requisitos exigidos, la nota final se calculará de la siguiente forma:
  • NOTA FINAL = 0,4*PM + 0,6*TT
Notas sobre las actividades:
  • Los alumnos que se presenten en la convocatoria adelantada tendrán la posibilidad de pasar la parte de la puntuación de los trabajos tutelados a la prueba mixta. Para eso, será necesario que los estudiantes se pongan en contacto con los profesores al inicio del curso.
  • En la 2ª oportunidad los alumnos podrán mantener las notas aprobadas si así lo desean y deberán repetir las partes en las que estén suspensos.
  • Todos los aspectos relacionados con "dispensa académica", "dedicación al estudio", "permanencia" y "fraude académica" se regirán de acuerdo con la normativa académica vigente de la UDC.

Fuentes de información
Básica Rico, F. M. (2022). A concise introduction to robot programming with ROS2. CRC Press.
Newman, W. (2017). A Systematic Approach to Learning Robot Programming with ROS. CRC Press.
Joseph, L., & Cacace, J. (2018). Mastering ROS for Robotics Programming: Design, build, and simulate complex robots using the Robot Operating System 2nd edition. Packt Publishing Ltd.
Fairchild, C., & Harman, T. L. (2017). ROS Robotics By Example: Learning to control wheeled, limbed, and flying robots using ROS Kinetic Kame 2nd edition. Packt Publishing Ltd.

Complementária


Recomendaciones
Asignaturas que se recomienda haber cursado previamente
Desarrollo de Aplicaciones en Robótica: Introducción a ROS/730556013
Python para Ingenieros Introductorio/730556010

Asignaturas que se recomienda cursar simultáneamente
Python para Ingenieros Avanzado/730556012

Asignaturas que continúan el temario

Otros comentarios

Otros comentarios
Para ayudar a conseguir un entorno sostenible y cumplir con el objetivo de la acción número 5 ("Docencia e investigación saludable y sostenible ambiental y social") del "Plan de Acción Green Campus Ferrol" la entrega de los trabajos documentales que se realicen en esta materia:

1. Se solicitará en formato virtual y/o soporte informático.

2. Se realizará a través de Moodle, en formato digital sin necesidad de imprimirlos.

3. De realizarse en papel:

- No se emplearán plásticos.

- Se realizarán impresiones a doble cara.

- Se empleará papel reciclado.

- Se evitará la impresión de borradores.


(*) La Guía Docente es el documento donde se visualiza la propuesta académica de la UDC. Este documento es público y no se puede modificar, salvo cosas excepcionales bajo la revisión del órgano competente de acuerdo a la normativa vigente que establece el proceso de elaboración de guías