Identifying Data 2020/21
Subject (*) Robotics Application Development: Introduction to ROS Code 770538013
Study programme
Máster Universitario en Informática Industrial e Robótica
Descriptors Cycle Period Year Type Credits
Official Master's Degree 2nd four-month period
First Optional 3
Language
Spanish
Galician
Teaching method Face-to-face
Prerequisites
Department Ciencias da Computación e Tecnoloxías da Información
Coordinador
Becerra Permuy, Jose Antonio
E-mail
jose.antonio.becerra.permuy@udc.es
Lecturers
Becerra Permuy, Jose Antonio
Mallo Casdelo, Alma María
E-mail
jose.antonio.becerra.permuy@udc.es
alma.mallo@udc.es
Web
General description O obxectivo desta materia é introducir ao alumno no desenvolvemento de aplicacións de robótica utilizando o framework ROS e a linguaxe de programación Python.
Contingency plan 1. Modificacións nos contidos
Non se realizarán cambios.

2. Metodoloxías
*Metodoloxías docentes que se manteñen
Mantéñense todas as metodoloxías.

*Metodoloxías docentes que se modifican
Todas as metodoloxías terán que ser adaptadas. Así, a sesión maxistral, as prácticas de laboratorio e a proba mixta realizaranse mediante Teams e / ou Moodle. A presentación dos traballos tutelados realizarase tamén mediante Teams. Os dispositivos físicos empregados en todas as metodoloxías serán substituídos por simuladores.

3. Mecanismos de atención personalizada ao alumnado
Fóra das titorías en despacho, mantéñense os mesmos mecanismos de atención personalizada, a saber: videoconferencia e mensaxería por Teams, Moodle e correo electrónico, por esta orde de preferencia.
Adicionalmente, se o profesorado observa que hai dúbidas comúns a un grupo de alumnos, poderanse programar titorías de grupo reducido mediante videoconferencia por Teams.

4. Modificacións na avaliación
Non hai cambios na avaliación, máis aló de que será realizada telemáticamente mediante Moodle ou Teams.

*Observacións de avaliación:

5. Modificacións da bibliografía ou webgrafía
Toda a bibliografía recomendada foi adquirida pola biblioteca do centro en PDF ademais de en papel, polo que podería ser proporcionada aos alumnos. No caso de que iso non fose posible por unha cuestión de dereitos de autor, o profesorado proporcionaría unha substitutoria de libre acceso.

Study programme competencies
Code Study programme competences
A4 CE04 - Capacidad para uso y desarrollo de código y librerías que permitan captar el entorno y actuar sobre él en sistemas robóticos y/o industriales
A8 CE08 - Capacidad para el uso y desarrollo de sistemas de comunicación para su aplicación sobre sistemas robóticos y/o industriales
A9 CE09 - Capacidad para el uso, simulación y diseño de sistemas mecánicos empleados en entornos robóticos y/o industriales
B1 CB6 - Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación
B2 CB7 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio
B6 CG1 - Buscar y seleccionar alternativas considerando las mejores soluciones posibles
B12 CG7 - Analizar de forma crítica la propia experiencia de prácticas
B13 CG8 - Aplicar los conocimientos teóricos a la práctica
B16 CG11 - Valorar la aplicación de tecnologías emergentes en el ámbito de la industria y la robótica
C1 CT01 - Adquirir la terminología y nomenclatura científico-técnica para exponer argumentos y fundamentar conclusiones
C3 CT03 - Aplicar una metodología que fomente el aprendizaje y el trabajo autónomo
C4 CT04 - Desarrollar el pensamiento crítico

Learning aims
Learning outcomes Study programme competences
Saber instalar e configurar ROS, o seu sistema de paquetes, coas súas ferramentas de compilación, xestión e instalación, e a súa forma de operar en base a espazos de traballo. AC4
BC16
CC1
CC3
CC4
Saber programar utilizando o modelo de computación distribuída de ROS, mediante a implementación de nodos. AC4
AC9
BC1
BC2
BC6
BC12
BC13
BC16
CC1
CC3
CC4
Saber utilizar os modos de comunicación entre nodos de ROS: topics e servizos. AC4
AC8
BC1
BC2
BC6
BC12
BC13
BC16
CC1
CC3
CC4
Saber rexistrar e visualizar as comunicacións entre nodos ROS. AC4
AC8
BC16
CC1
CC3
CC4

Contents
Topic Sub-topic
Introdución a ROS. Introdución.
Motivación e conceptos básicos.
Instalación e estrutura dun proxecto. Instalación.
Distribucións.
Espazos de traballo.
Paquetes.
Modelo computacional. Nodos e a súa xestión.
Launch files e parámetros.
Espazos de nomes.
Modos de comunicación. Publicador / subscriptor (topics).
Cliente / servidor (servizos).
Mensaxes: definición e utilización.
Rexistro e réplica de experimentos. Logs.
Gravación / repetición de mensaxes.

Planning
Methodologies / tests Competencies Ordinary class hours Student’s personal work hours Total hours
Guest lecture / keynote speech B1 B16 C1 7 10.5 17.5
Laboratory practice A4 A8 A9 B6 B12 B13 10 15 25
Supervised projects A4 A8 A9 B2 B6 B12 B13 C4 C3 0 28.5 28.5
Mixed objective/subjective test B1 B16 C1 C4 2 0 2
 
Personalized attention 2 0 2
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Guest lecture / keynote speech Actividade presencial na aula que serve para establecer os conceptos fundamentais da materia. Consiste na exposición oral facendo uso profuso de medios audiovisuais e buscando a participación dos alumnos mediante a formulación de casos prácticos e a realización de preguntas, co fin de facilitar a aprendizaxe e fomentar o espírito crítico.
Laboratory practice Mediante esta actividade os alumnos implementarán no laboratorio pequenos programas / sistemas que exemplificarán os conceptos vistos nas sesións maxistrais, de forma que poidan probar no mundo real algúns dos métodos e técnicas, e valorar de primeira man os problemas (e as súas implicacións) que xorden na implementación.
Supervised projects Realización dun ou varios traballos ao longo do cuadrimestre, expostos de forma incremental, realizados de forma autónoma e titorizados polos profesores, que implicarán levar á práctica gran parte dos conceptos vistos nas sesións maxistrais. O traballo será realizado en grupo e os alumnos entregarán, en soporte informático, unha memoria e terán que realizar tamén unha presentación ante o profesor e os seus compañeiros de clase.
Mixed objective/subjective test Proba de avaliación que se realizará nas correspondentes oportunidades das convocatorias oficiais. Consistirá nunha proba escrita con preguntas moi breves e / ou de tipo test, coa finalidade de comprobar o afianzamento dos conceptos teóricos máis importantes vistos na materia.

Personalized attention
Methodologies
Supervised projects
Description
Traballos tutelados: será necesario mostrar os avances que se vaian realizando para ofrecer a orientación adecuada, resolver dúbidas e asegurar a calidade do traballo. Estas titorías realizaranse en grupo e de forma presencial no despacho do profesor.

Assessment
Methodologies Competencies Description Qualification
Laboratory practice A4 A8 A9 B6 B12 B13 Consistirá na recompilación de todas as prácticas de laboratorio realizadas durante o curso. Estas deberán realizarse no tempo asignado ás clases prácticas, e entregaranse ao final das mesmas. Durante a súa realización, o alumno pode expor dúbidas ao profesor ou consultar os materiais que estime oportuno. Por tanto, esta actividade avaliará o traballo diario do alumno nas clases prácticas.

Nomenclatura empregada na sección de observacións para esta actividade:
PL: nota obtida nos exercicios realizados nas clases prácticas de laboratorio.
35
Supervised projects A4 A8 A9 B2 B6 B12 B13 C4 C3 Desenvolvemento dun proxecto aplicado en grupos reducidos. Será necesario entregar os materiais (documento e presentación) en tempo e forma seguindo as indicacións do enunciado. Ademais, requirirá a exposición oral por parte de todos os integrantes do grupo de traballo, empregando para iso a presentación entregada. A non realización da presentación supoñerá unha nota de cero nesta actividade.

Nomenclatura empregada na sección de observacións para esta actividade:
TT: nota obtida no traballo tutelado.
25
Mixed objective/subjective test B1 B16 C1 C4 Proba final da materia que consistirá na realización dun exame individual. Esta proba terá preguntas de tipo teóricas e prácticas relacionadas cos conceptos estudados nas clases maxistrais, nas prácticas de laboratorio ou cos contidos dos traballos / proyectos tutelados.

Nomenclatura empregada na sección de observacións para esta actividade:
PM: nota obtida nesta proba.
40
 
Assessment comments
Para poder aprobar a materia o estudante deberá cumprir os seguintes requisitos (puntuación entre 0 e 10 en todas as actividades):
  1. Que a nota nas prácticas de laboratorio sexa maior ou igual que 5.
  2. Que a nota no traballo tutelado sexa maior ou igual que 5.
  3. Que a nota na proba mixta sexa maior ou igual que 5.
Se non se cumpren todos os requisitos anteriores a  cualificación será de suspenso e a nota numérica máxima que se poderá obter, na oportunidade correspondente, será de 4,5 puntos. Se se cumpren os requisitos esixidos, a nota final calcularase da seguinte forma:

NOTA FINAL = 0,35× PL + 0,25* TT + 0,40* PM

Aínda que a asistencia ás clases non é obrigatoria, o primeiro requisito converte en moi difícil aprobar a materia se o número de ausencias ás clases no laboratorio é elevado.

No caso dos alumnos matriculados a tempo parcial, dependendo das circunstancias e se os profesores considérano necesario, a parte da puntuación das diferentes prácticas de laboratorio poderá pasarse ao traballo tutelado, a cambio da obrigación da existencia dunha titoría cada semana para garantir o correcto aproveitamento da materia.

Notas sobre as actividades:

- Todas as actividades terán unha única oportunidade para a súa entrega durante o curso académico, salvo a proba mixta que terá dúas oportunidades oficiais de exame. Por tanto, as notas obtidas durante o curso nas prácticas e no traballo tutelado gárdanse para a oportunidade de xullo, NON SENDO POSIBLE REPETILAS.

- De acordo ao artigo 14, apartados 1 e 3 da normativa*, a copia ou intento de copia (ou calquera comportamento impropio) durante unha proba implicará a  cualificación de suspenso cun 0 nas dúas oportunidades da convocatoria anual.

- De acordo ao artigo 14, apartado 4 da mesma normativa, o plaxio de calquera traballo implicará a  cualificación de suspenso cun 0 no devandito traballo.

* Normativa de avaliación, revisión e reclamación das cualificacións dos estudos de grao e máster universitario, cuxa última versión é do 29 de xuño de 2017.

Sources of information
Basic Mahtani, A., Sánchez, L., Fernández, E., & Martinez, A. (2016). Effective robotics programming with ROS. Third Edition.. Packt Publishing Ltd.
Joseph, L. (2018). Robot Operating System (ROS) for Absolute Beginners.. New York: Apress.

Complementary


Recommendations
Subjects that it is recommended to have taken before

Subjects that are recommended to be taken simultaneously
Introduction to Python for Engineers/770538011

Subjects that continue the syllabus
Robotics Application Development: Advanced ROS/770538014

Other comments
Para axudar a conseguir unha contorna sustentable e cumprir co obxectivo da acción número 5 ("Docencia e investigación saudable e sustentable ambiental e social") do "Plan de Acción Green Campus Ferrol" a entrega dos traballos documentais que se realicen nesta materia:

1. Solicitarase en formato virtual e/ou soporte informático.

2. Realizarase a través de Moodle, en formato dixital sen necesidade de imprimilos.

3. De realizarse en papel:

- Non se empregarán plásticos.

- Realizaranse impresións a dobre cara.

- Empregarase papel reciclado.

- Evitarase a impresión de borradores.


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.