ECTS credits ECTS credits: 6
ECTS Hours Rules/Memories Student's work ECTS: 99 Hours of tutorials: 3 Expository Class: 24 Interactive Classroom: 24 Total: 150
Use languages Spanish, Galician
Type: Ordinary Degree Subject RD 1393/2007 - 822/2021
Departments: Electronics and Computing
Areas: Computer Science and Artificial Intelligence, Languages and Computer Systems
Center Higher Polytechnic Engineering School
Call: First Semester
Teaching: Sin docencia (Extinguida)
Enrolment: No Matriculable
Escribir software para robots es difícil, particularmente a medida que la escala y el alcance de la robótica continúan creciendo. Los diferentes tipos de robots pueden tener hardware muy variable, lo que hace que la reutilización de código no sea trivial.
En los últimos años, varios frameworks de software y middleware se han vuelto muy populares y ampliamente adoptados en la industria y las comunidades de investigación. Una de las ventajas que ofrecen las plataformas de software para el desarrollo de sistemas robóticos, es la de poder almacenar y compartir proyectos y software de robótica desarrollados por instituciones públicas y privadas, así como por investigadores, estudiantes y aficionados. Esto permite que muchos trabajos puedan ser retomados por alguien más y no se pierdan los avances generados, sin importar si el propósito del proyecto es de investigación, comercial o lúdico. Los frameworks incluyen programas de soporte, compiladores, bibliotecas de códigos, conjuntos de herramientas e interfaces de programación de aplicaciones que reúnen los diferentes componentes para permitir el desarrollo de un proyecto o solución. Un middleware generalmente se centra en algunas funciones complejas, como el control del robot o la comunicación entre procesos.
Los resultados del aprendizaje
-------------------------------
Ser capaz de trabajar con los sistemas operativos robóticos actuales, conocer sus funcionalidades y su adecuación los diferentes tipos de plataformas robóticas y escenarios de uso.
Conocer los diferentes middlewares y frameworks de programación de robots utilizando los lenguajes de programación más adecuados a las funcionalidades requeridas. Experimentar con los diferentes componentes que integran la arquitectura software de un robot.
Aplicar los simuladores de robots más extendidos y probar en ellos los diferentes elementos de la arquitectura software del robot.
Saber utilizar las herramientas de desarrollo y depuración propias de la robótica, integradas en frameworks de programación de robots y simuladores.
Conocer y utilizar librerías de software libre habituales en robótica.
Ser capaces de programar mediante diferentes lenguajes sobre sistemas operativos multiplataforma.
Los contenidos generales de la materia conforme se recogen en la memoria verificada son:
“Sistemas operativos robóticos. Multiplataforma. Middlewares y Frameworks de programación de robots. Simuladores de robots. Herramientas de desarrollo y depuración. Software Libre en Robótica.”
Estos contenidos se estructurarán en la siguiente secuencia de temas y prácticas:
1. Introducción al uso de simuladores en robótica: software y opciones más comunes para la simulación.
2. Middlewares y frameworks de programación de robots.
3. Robot Operating System (ROS)
4. ROS: Introducción a su arquitectura distribuida. Uso de Topics, paradigma publica/suscribe o creación de mensajes personalizados.
5. Servicios y acciones en ROS
6. Uso de ROS para el desarrollo de soluciones que permitan la navegación de robots.
7. Aspectos básicos relativos a ROS2 y sus diferencias con ROS. Introducción al concepto de modelado cinemático y dinámico de robots
8. Software libre en robótica
Se trata de una asignatura principalmente práctica (mayor carga de horas interactivas que expositvas), el alumno aprenderá a través de sus prácticas a desenvolverse con uno de las plataformas software más extendidas y de uso habitual en el contexto habitual: el Robot Operating System (ROS). La programación en ROS se verá tanto en Python (primera parte de la asignatura), como en C++ (segunda parte). Mediante el uso de un ordenador, el alumno creará diferentes programas para el control de robots simulados.
La primera parte de la asignatura (temas 1, 2, 3, 4 (Python), 5(Python), 6(Python) requerirá la mitad de las horas HP: 24 y HNP:36 ). La segunda parte de la asignatura temas 4,5,6 (ROS en C++), así como los temas 7 y 8 requerirán la otra mitad (HP: 24 HNP:36)
La mayor pare de la información necesaria para la asignatura se podrá encontrar en los guiones o se podrá acceder fácilmente a ella a través de Internet. Se detalla a continuación una bibliografía que puede servir de apoyo para completar la formación o para aquellas personas con dispensa de asistencia
[1] http://wiki.ros.org/
Bibliografía complementaria
Existen también cursos disponibles online (muchos de ellos de pago)
[1]https://www.theconstructsim.com/intro-to-robot-programming-ros-learning…
[2]L. Joseph. Robot Operating System (ROS) for Absolute Beginners: Robotics Programming Made Easy. ISBN-13: 978-1484234044 Apress. 2018
J. Cacace. Robot Operating system coockbook. ISBN-13: 978-1783987443. Packt Publishing. 2018
[3] Joseph Lentin, Jonathan Cacace, Mastering ROS for Robotics Programming. Second Edition. Pack. 2018
[4] Joseph Lentin, ROS Robotics Projects. Packt. 2017
[5] Joseph Lentin, Learning Robotics Using Python. Packt. 2015.
Tal y como se recoge en la memoria verificada del título. Las competencias que se cubren en esta materia son las siguientes:
Competencias básicas:
CB2: Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
CB4: Que los estudiantes puedan transmitir información, ideas, problemas y soluciones un público tanto especializado como no especializado.
CB5: Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
Competencias Generales:
CG2: Capacidad de resolución de problemas en el campo de la ingeniería robótica con creatividad, iniciativa, metodología y razonamiento crítico.
CG3: Capacidad de utilizar herramientas informáticas para el modelado, la simulación y el diseño de aplicaciones de ingeniería.
Competencias específicas
CE22: Capacidad de diseñar, construir robots y programar robots móviles.
CE14: Capacidad de aplicar sistemas de navegación, localización y construcción de mapas en robots, y estar al corriente de las nuevas tendencias en robótica.
Competencias Transversales
CT3: Capacidad de trabajo individual, con actitud autocrítica.
CT9: Habilidad en el manejo de tecnologías de la información y de la comunicación (TIC).
CT10: Utilización de información bibliográfica y de Internet.
Las clases teóricas se desarrollarán en el aula de teoría, y en ellas el profesor dará a los alumnos las directrices necesarias para la resolución de los proyectos/prácticas que se plantearán durante las prácticas de la asignatura.
La docencia interactiva se llevará a cabo en las aulas de informática. En las clases prácticas estableceremos métodos de enseñanza activos o productivos basados en la enseñanza problémica que faciliten la adquisición de capacidades cognitivas y de tipo creador. En las prácticas se plantearán ejercicios a través de los cuales el alumno aprenderá a manejar ROS con dos lenguajes de programación: Python (en la primera parte de la materia), y C++ en la segunda. Para la realización de estos ejercicios se deberá emplear ROS así como alguna herramienta de simulación.
Asimismo, en las tutorías se atenderá al alumnado para discutir, comentar, aclarar o resolver cuestiones concretas en relación con sus tareas dentro de la asignatura. Estas tutorías serán podrán ser tanto presenciales como virtuales a través de la plataforma Ms Teams.
Curso Virtual: Esta materia dispondrá de un curso virtual desenvuelto sobre la plataforma de Campus virtual de la USC, usando además la herramienta colaborativa Ms Teams. En estas se le facilitará al alumnado todo el material necesario en formato digital, además de distintas herramientas de comunicación para el apoyo, tanto de la docencia virtual como de las tutorías, incluyendo videoconferencia, chat, correo electrónico, foros…
La memoria verificada establece que, para esta asignatura, las ponderaciones mínimas y máximas son:
La evaluación se llevará a cabo de dos formas: (1) Evaluación continua a través de la posible valoración de las prácticas en el propio laboratorio en la que los alumnos expondrán en el trabajo realizado y mostrarán los resultados alcanzados, realización de trabajos que proponga el profesor, o entrega de ejercicios que se realicen en el aula y se entreguen al término de la práctica (2) Por otra parte, habrá una última prueba final que contendrá tanto ejercicios teóricos como prácticos. La prueba final representará el 65% del total de la asignatura, mientras que el 35% restante lo representa las pruebas (trabajos, cuestionarios, etc. que se propongan en el aula).
Debido a este tipo de evaluación continua, la asistencia a prácticas será obligatoria salvo causa justificada.
El alumno recibirá a cualificación de "non presentado" cuando no haga el examen final.
Para los casos de realización fraudulenta de ejercicios o pruebas será de aplicación lo establecido en la “Normativa de avaliación do rendemento académico dos estudantes e de revisión das cualificacións”
Segunda oportunidad o cuando haya dispensa de asistencia
----------------------------------------------------------
Al margen de la evaluación continua, todos los alumnos tienen derecho a asistir al examen de la segunda oportunidad. Los alumnos podrán entregar en fecha previa el examen de la segunda oportunidad, aquellas actividades que le plantee el profesor, correspondientes a aquellas que no hubiesen superado en la convocatoria anterior. Podrá haber una defensa de trabajos con el profesor solamente en la oportunidad de julio (para la evaluación continua), para aquellos alumnos que no hayan superen la asignatura en la convocatoria de febrero.
En el caso de que a alguna persona se le conceda dispensa de asistencia se le podrán plantear trabajos que representen el 35% de la materia y que tendrá que defender delante del profesor, mientras que la prueba final seguirá representando el 65% restante de la nota.
El alumno recibirá a cualificación de "non presentado" cuando no haga el examen final. Para los casos de realización fraudulenta de ejercicios o pruebas será de aplicación lo establecido en la “Normativa de avaliación do rendemento académico dos estudantes e de revisión das cualificacións”
Evaluación de competencias
-----------------------------
Evidentemente la realización de las diferentes ejercicios prácticos o la prueba final permitirá la evaluación de las competencias específicas (CE22 y CE14) o la competencia básica CB2, en particular en lo relativo a la programación de robots, o uso de plataformas software para resolver problemas de navegación (CE14). El hecho de que a través de los programas que desarrollen trabajen con robots simulados permitirá la evaluación de la CG3, se plantearán ejercicios para cuya resolución se podrán emplear herramientas de simulación básica y programación de robots (CG3). Para el estudio de la materia, preparación de los trabajos, acceso a detalles relativos a la plataforma ROS, etc, será necesario el acceso a material disponible en Internet (CT9 y CT10), además de que se valorará el que sean capaces de resolver de forma autónoma las dudas y dificultades que se vayan encontrando a la hora de resolver los problemas planteados (CB5), o incluso se valorará positivamente la realización de trabajos planteados por el profesor que demuestre la iniciativa y autonomía del alumno al resolver problemas o enfrentarse a retos relacionados con la asignatura, pero que van más allá de la formación proporcionada en el aula.
Se promoverá la adopción de soluciones de carácter novedoso a los problemas que se planteen en las prácticas de esta asignatura, fomentando así creatividad, iniciativa, metodología y razonamiento crítico (CG2). Finalmente, para la evaluación de la CB4, se tendrá en cuenta una eventual participación en actividades de difusión de la robótica presentando sus propios proyectos.
De hecho, se reservará una pequeña parte de la puntuación para la valoración de las competencias CG2, CB4.
Actividad Metodología ECTS Horas Presenciales Horas No Presenciales (NP)
Clase expositivas Clases magistrales--------- 1,2 (ECTS) ----12 (HP) --12(HNP)
Clases interactivas Lab y aulas informática--------3,6(ECTS)--- 36 (HP)---- 60(HNP)
Tutoría en grupo -------------- 0,3 (ECTS)---- 3 (HP)---- 7 (HNP)
Tutoría individualizada ----- 0,4 (ECTS)---- 4 (HP) --- 3(HNP)
Evaluación y revisión ------ 0,5 (ECTS) --- 5 (HP) ---- 8 (HNP)
Total ----- 6,0 (ECTS)---- 60 (HP) ---- 90 (HNP)
Escenario 1: normalidad adaptada
• La docencia expositiva e interactiva será fundamentalmente de carácter presencial. Las tutorías podrán realizarse en despacho o de manera virtual.
• La modalidad preferente para la realización de las prácticas será la presencialidad.
• La evaluación será llevada a cabo de forma presencial
Escenario 2: semipresencialidad
• La docencia presencial convivirá con la virtual. Las clases expositivas serán virtuales y las interactivas presenciales. Las tutorías serán telemáticas a través de MS Teams.
• La evaluación será llevada a cabo de forma presencial
Escenario 3: cierre de las instalaciones, online
• La docencia será completamente de carácter virtual, tanto con mecanismos síncronos como asíncronos, usando el Campus virtual, la plataforma Teams, así como otras herramientas software que permita la realización de las prácticas por parte del alumnado.
• De no poderse llevar a cabo la evaluación presencial, ésta será telemática
Jose Luis Correa Pombo
- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- joseluis.correa [at] usc.es
- Category
- Professor: University Lecturer
Roberto Iglesias Rodriguez
- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- roberto.iglesias.rodriguez [at] usc.es
- Category
- Professor: University Lecturer
David Mera Perez
Coordinador/a- Department
- Electronics and Computing
- Area
- Languages and Computer Systems
- david.mera [at] usc.es
- Category
- Professor: Temporary PhD professor
Friday | |||
---|---|---|---|
16:00-19:00 | Grupo /CLIL_02 | Spanish | Computer Room 4 (Pav.III) |
01.22.2021 10:00-14:00 | Grupo /CLE_01 | Classroom 7 (Lecture room 2) |
01.22.2021 10:00-14:00 | Grupo /CLE_01 | Classroom 8 (Lecture room 2) |
06.28.2021 10:00-14:00 | Grupo /CLE_01 | Computer Room 2 (Pav.II-PSI) |
06.28.2021 10:00-14:00 | Grupo /CLE_01 | Computer Room 4 (Pav.III) |