Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Horas de Titorías: 3 Clase Expositiva: 24 Clase Interactiva: 24 Total: 51
Linguas de uso Castelán, Galego
Tipo: Materia Ordinaria Grao RD 1393/2007 - 822/2021
Departamentos: Electrónica e Computación
Áreas: Ciencia da Computación e Intelixencia Artificial, Linguaxes e Sistemas Informáticos
Centro Escola Politécnica Superior de Enxeñaría
Convocatoria: Primeiro semestre
Docencia: Con docencia
Matrícula: Matriculable
Escribir software para robots é difícil, particularmente a medida que a escala e o alcance da robótica continúan crecendo. Os diferentes tipos de robots poden ter hardware moi variado, o que fai que a reutilización de código non sexa trivial.
Nos últimos anos, varios frameworks de software e middleware volvéronse moi populares e amplamente adoptados na industria e nas comunidades de investigación. Unha das vantaxes que ofrecen as plataformas de software para o desenvolvemento de sistemas robóticos, é a de poder almacenar e compartir proxectos e software de robótica desenvoltos por institucións públicas e privadas, así como por investigadores, estudantes e afeccionados. Isto permite que moitos traballos poidan ser retomados por alguén máis e non se perdan os avances xerados, sen importar se o propósito do proxecto é de investigación, comercial ou lúdico. Os frameworks inclúen programas de soporte, compiladores, bibliotecas de códigos, conxuntos de ferramentas e interfaces de programación de aplicacións que reúnen os diferentes compoñentes para permitir o desenvolvemento dun proxecto ou solución. Un middleware xeralmente céntrase nalgunhas funcións complexas, como o control do robot ou a comunicación entre procesos.
Os contidos xerais da materia conforme se recollen na memoria verificada son:
Sistemas operativos robóticos. Multiplataforma. Middlewares e Frameworks de programación de robots. Simuladores de robots. Ferramentas de desenvolvemento e depuración. Software Libre en Robótica.
Estes contidos estruturaranse na seguinte secuencia de temas e prácticas:
Parte 1
1. Middlewares e frameworks de programación de robots.
2. Robot Operating System (ROS) e ROS2.
3. ROS: Introdución á súa arquitectura distribuída. Uso de Topics, paradigma publica/subscribe ou creación de mensaxes personalizadas. Implementación con Python
4. Paradigma publica/subscribe a través de diferentes plataformas
5. Servizos en ROS, implementación con Python
6. Accións en ROS, implementación con Python
Parte 2
7. Uso de Topics, paradigma publica/subscribe ou creación de mensaxes personalizadas. Implementación con C++
8. Servizos en ROS, implementación con C++
9. Accións en ROS, implementación con C++
* Prácticas
Trátase dunha materia principalmente práctica (maior carga de horas interactivas que expositivas), o alumno aprenderá a través das súas actividades a desenvolverse cunha das plataformas software máis estendidas e habituais no contexto da robótica: o Robot Operating System (ROS). A programación en ROS verase tanto en Python (primeira parte da materia), como en C++ (segunda parte). Mediante o uso dun computador, o alumno creará diferentes programas para o control de robots simulados.
* Temporización do programa
A primeira parte da materia requirirá a metade das horas HP: 24 (6 expositivas e 18 interactivas) e HNP:36. A segunda parte da materia requirirán a outra metade (HP: 24 HNP:36).
Para a primeira parte destinaranse 6 horas de teoría presenciais, 6 HNPy 18 de prácticas, 30 HNP. Nas clases de teoría daranse os temas introdutorios 1, 2 e 3 nas 2 primeiras horas presenciais (2 HNP), mentres que para servizos reservaranse 2 horas presenciais (2 HNP) e para accións e servidores de acción outras 2 horas presenciais e 2 HNP de esforzo do alumno . Para a parte práctica a distribución será similar: 6 horas para o paradigma publica/subscribe en ROS e tamén outras plataformas (12 HNP de traballo persoal do alumno). 6 horas para a implementación de servidores de servizo e servizos (12 HNP traballo do alumno), e outras 6 horas para aprender a crear e empregar servidores de acción e accións (12 HNP de traballo do alumno). Para a segunda parte, a división horaria por temas será similar: 1/3 das horas presenciais dedicaranse ao paradigma publica/subscribe en ROS con C++, outro terzo do tempo dedicarase a servizos, e a última parte a accións con ROS e C++. A distribución de horas non presenciais segue a mesma distribución (12 HNP para teoría e prácticas de publica/subscribe en ROS con C++, 12 HNP para teoría e prácticas de servizos con C++, 12 HNP para teoría e prácticas de accións con ROS e C++).
A maior parte da información necesaria para a materia poderase atopar nos guións ou se poderá acceder facilmente a través de Internet. Detállase a continuación unha bibliografía que pode servir de apoio para completar a formación ou para aquelas persoas con dispensa de asistencia.
* Bibliografía básica
[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
[3] J. Cacace. Robot Operating system coockbook. ISBN-13: 978-1783987443. Packt Publishing. 2018
[4] Joseph Lentin, Jonathan Cacace, Mastering ROS for Robotics Programming. Second Edition. Pack. 2018
[5] Joseph Lentin, ROS Robotics Projects. Packt. 2017
[6] Joseph Lentin, Learning Robotics Using Python. Packt. 2015
O alumno que supere a materia con éxito será capaz de:
* Coñecemento
Con28. Familiarizarse cós sistemas operativos robóticos actuais, coñecer as súas funcionalidades e a súa adecuación ós diferentes tipos de plataformas robóticas e escenarios de uso.
Con29. Coñecer os diferentes middlewares e frameworks de programación de robots utilizando as linguaxes de programación máis adecuadas ás funcionalidades requeridas.
* Destreza
H/D30. Resolver problemas de programación de robots usando diferentes linguaxes sobre algunha contorna (framework) multiplataforma
H/D31. Desenvolvemento de programas usando as ferramentas de desenvolvemento e depuración propias da robótica, integradas en frameworks de programación de robots e simuladores.
H/D32. Aplicar os simuladores de robots máis estendidos e experimentar cóas diferentes compoñentes que integran a arquitectura software dun robot.
* Competencia
Comp06. Deseñar, construir e programar robots.
Comp09. Capacidade de aplicar sistemas de navegación, localización e construcción de mapas en robots, e estar ó corrente das novas tendencias en robótica.
As clases teóricas desenvolveranse na aula de teoría, e nelas o profesor dará aos alumnos as directrices necesarias para a resolución dos proxectos/prácticas que se exporán durante as clases interactivas.
A docencia interactiva levarase a cabo nas aulas de informática. Nas clases prácticas estableceremos métodos de ensino activos ou produtivos baseados no ensino a través de problemas prácticos que faciliten a adquisición de capacidades cognitivas e de tipo creador. Nas prácticas exporanse exercicios a través dos cales o alumno aprenderá a manexar ROS con dúas linguaxes de programación: Python (na primeira parte da materia), e C++ na segunda. Para a realización destes exercicios deberase empregar ROS así como algunha ferramenta de simulación.
Así mesmo, nas titorías atenderase ao alumnado para discutir, comentar, aclarar ou resolver cuestións concretas en relación coas súas tarefas dentro da materia. Estas titorías serán poderán ser tanto presenciais como virtuais a través da plataforma Ms Teams.
Curso Virtual: Esta materia dispoñerá dun curso virtual desenvolto sobre a plataforma de Campus virtual da USC, usando ademais a ferramenta colaborativa Ms Teams. Nestas facilitaráselle ao alumnado todo o material necesario en formato dixital, ademais de distintas ferramentas de comunicación para o apoio, tanto da docencia virtual como das titorías, incluíndo videoconferencia, chat, correo electrónico, foros...
A avaliación levarase a cabo de dúas formas: (1) Avaliación continua a través da posible valoración de exercicios prácticos desenvolvidos no laboratorio. Poderase tamén propoñer a posible realización de traballos voluntarios que fomenten a creatividade do alumno, motivación, etc., e que permitan que o alumnado profundice nalgúns dos contidos da materia, ou exploren alternativas non cubertas directamente nos contidos impartidos polo profesor. (2) Por outra banda, haberá unha última proba final que poderá conter exercicios teóricos e/ou prácticos. A proba final representará o 65% do total da materia, mentres que o 35% restante represéntao as probas (as prácticas entregables mencionadas no punto 1, traballos, cuestionarios, etc.) que se propoñan na aula.
Debido a este tipo de avaliación continua, a asistencia a prácticas será obrigatoria salvo causa xustificada.
O alumno recibirá a cualificación de "non presentado" cando non faga o exame final.
Para os casos de realización fraudulenta de exercicios ou probas será de aplicación o establecido na "Normativa de avaliación do rendemento académico dous estudantes e de revisión dás cualificacións"
Cada unha das dúas partes da materia está valorada en 5 puntos. Para superar a materia haberá que obter unha cualificación total igual ou superior a 5 puntos (5 sobre 10).
* Segunda oportunidade ou cando haxa dispensa de asistencia
Á marxe da avaliación continua, todos os alumnos teñen dereito a asistir ao exame da segunda oportunidade. Os alumnos que non superasen as actividades propostas durante a avaliación continua en primeira convocatoria, poderán realizar, na mesma data que o exame de segunda oportunidade, un conxunto de actividades equivalentes que representen o 35% da nota da materia, sendo o outro 65% restante o valor do exame final.
No caso de que a algunha persoa concédaselle dispensa de asistencia esixiránselle os mesmos traballos ou realización de exercicios de avaliación continua que no resto dos casos, estes traballos representarán o 35% da nota final. Por este motivo eximiráselle da asistencia a clases de teoría e prácticas, salvo aquelas sesións dedicadas á realización dos exercicios de avaliación continua, que serán de asistencia obrigatoria. A proba final seguirá representando o 65% restante da nota.
O alumno recibirá a cualificación de "non presentado" cando non faga o exame final.
Para os casos de realización fraudulenta de exercicios ou probas será de aplicación o establecido na "Normativa de avaliación do rendemento académico dous estudantes e de revisión dás cualificacións"
* Alumnos repetidores
No caso dos alumnos repetidores esixiránselle os mesmos traballos ou realización de exercicios de avaliación continua que ao resto dos seus compañeiros, estes traballos representarán o 35% da nota final. Por este motivo eximiráselle da asistencia a clases de teoría e prácticas, salvo aquelas sesións dedicadas á realización dos exercicios de avaliación continua, que serán de asistencia obrigatoria. A proba final seguirá representando o 65% restante da nota.
* Avaliación de competencias
En xeral o desenvolvemento das actividades prácticas, así como a preparación dos temas teóricos permitirá ao alumnado traballar as competencias básicas, xerais e transversais da materia, e acadar os resultados da aprendizaxe previstos.
Actividad Metodoloxía -- ECTS -- Horas Presenciais -- Horas No Presenciais (NP)
Clase expositivas Clases maxistrais --------- 1,2 (ECTS) ---- 12 (HP) -- 12(HNP)
Clases interactivas Lab e aulas informática -------- 3,6(ECTS) --- 36 (HP) ---- 60(HNP)
Titoría en grupo -------------- 0,3 (ECTS) ---- 3 (HP) ---- 7 (HNP)
Titoría individualizada ----- 0,4 (ECTS) ---- 0 (HP) --- 7(HNP)
Avaliación e revisión ------ 0,5 (ECTS) --- 7 (HP) ---- 12 (HNP)
Total ----- 6,0 (ECTS) ---- 51 (HP) ---- 99 (HNP)
Roberto Iglesias Rodriguez
- Departamento
- Electrónica e Computación
- Área
- Ciencia da Computación e Intelixencia Artificial
- Correo electrónico
- roberto.iglesias.rodriguez [at] usc.es
- Categoría
- Profesor/a: Titular de Universidade
Marcos Boullon Magan
Coordinador/a- Departamento
- Electrónica e Computación
- Área
- Linguaxes e Sistemas Informáticos
- Correo electrónico
- marcos.boullon [at] usc.es
- Categoría
- Profesor/a: Profesor Axudante Doutor LOU
Xoves | |||
---|---|---|---|
16:00-17:00 | Grupo /CLE_01 | Castelán | Aula 7 (Aulario 2) |
17:00-19:00 | Grupo /CLIL_01 | Castelán | Aula de Informática 4 (Pav.III) |
19:00-21:00 | Grupo /CLIL_02 | Castelán | Aula de Informática 4 (Pav.III) |
17.01.2025 10:00-14:00 | Grupo /CLE_01 | Aula de Informática 4 (Pav.III) |
17.01.2025 10:00-14:00 | Grupo /CLE_01 | Aula de Informática 5 (Pav III) |
20.06.2025 10:00-14:00 | Grupo /CLE_01 | Aula de Informática 4 (Pav.III) |
20.06.2025 10:00-14:00 | Grupo /CLE_01 | Aula de Informática 5 (Pav III) |