Programa del Curso CI-0160

Información General del Curso

UCR – Universidad de Costa Rica
ECCI – Escuela de Ciencias de la Computación e Informática
CI-0160 Robótica
Tipo Curso: Teórico-Práctico
4 Créditos / 12 Horas Totales a la Semana:
  • 5 horas de clases presenciales a la semana
  • 7 horas de trabajo independiente a la semana
Asistencia Obligatoria*
Requisito:
  • CI-0122 Sistemas Operativos
  • CI-0121 Redes de Comunicación de Datos
  • CI-0123 Proyecto Integrado de Sistemas Operativos y Redes de Comunicación de Datos
Co-requisito: No tiene
Cupo Mínimo: 10 estudiantes / Cupo Máximo: 22 estudiantes
Curso Propio y Electivo del Último Año de la Carrera
Periodo Actual: I Semestre del 2020

* Aunque la asistencia a este curso no es obligatoria (de acuerdo al reglamento de la UCR), es necesario que el estudiante asista a todas las clases para poder aprobar el curso con éxito; ya que los objetivos, la metodología, las actividades de enseñanza-aprendizaje y la evaluación están planeadas contando con la participación activa de los estudiantes.

Descripción del Curso

El curso de Robótica es un curso teórico-práctico dirigido a los estudiantes de la Escuela de Ciencias de la Computación e Informática de la Universidad de Costa Rica en el énfasis de Ciencias de la Computación. Está dedicado a introducir los fundamentos en el uso, el diseño y la implementación de sistemas orientados a robótica, centrándose en el diseño, construcción y programación de robots autónomos con diferentes tecnologías de robótica, como Arduino y los kits de Lego Mindstorms NXT y EV3. Además, se incorporarán el hardware y software de los robots Sphero BOLT, Q.bo, NAO y Pepper, los cuales serán utilizados por los estudiantes en los laboratorios y las tareas.

Los estudiantes adquieren conocimientos prácticos sobre temas como la incertidumbre en la detección y la acción, así como los métodos para tratar con ella, la localización de si mismo, la planificación de trayectorias y evasión de obstáculos, arquitecturas basadas en comportamientos y arquitecturas de controladores reactivos, la teoría básica de control, y temas avanzados, como sistemas multi-robot, aprendizaje, y mapeado.

En cumplimiento de la Ley 7600 de la igualdad de oportunidades se programa la posibilidad de atención de las necesidades educativas especiales de los matriculados. Los interesados favor avisar al profesor por escrito durante la primera semana del curso acerca de las adecuaciones que necesiten. Posteriormente (a más tardar la tercera semana del curso), para hacer efectivas las adecuaciones requeridas se deben presentar los documentos que justifiquen tales necesidades educativas especiales. El estudiante debe estar dispuesto a trabajar en equipo junto con el docente y la comisión institucional para llevar su necesidad educativa particular.

Objetivos

En esta sección se especifican los objetivos formativos que comprende el curso de Estructuras Discretas, desglosándolos en el objetivo general (relacionado con la materia), y objetivos específicos (lo que se debe saber al finalizar el curso).

Al mismo tiempo, los objetivos de la asignatura se van a clasificar en tres grupos: conocimiento (información a recordar), comprensión (ser capaz de aplicar un algoritmo previamente conocido), y aplicación (ser capaz de tomar decisiones y decidir entre varias opciones).

Objetivo General

Aprender y aplicar los fundamentos de robótica para diseñar, construir, programar y documentar la solución de problemas reales mediante sistemas robóticos, utilizando diferentes tecnologías.

Objetivos Específicos

Durante este curso, cada estudiante desarrollará habilidades para:

  1. Explicar las principales características y componentes de los sistemas robóticos, para diseñar y construir robots autónomos, mediante el análisis del funcionamiento típico de un robot en su conjunto utilizando diferentes tecnologías.
  2. Aplicar las principales teorías y técnicas para el diseño de robots, mediante la presentación de ejemplos y la realización de ejercicios prácticos.
  3. Analizar la problemática de la transición de soluciones abstractas a soluciones prácticas para la solución de problemas reales, mediante la realización de ejercicios prácticos.
  4. Desarrollar un sistema de programas básicos de control, planificación y percepción para manipular el actuador, mediante el análisis de diferentes formas de programación de robots y la realización de aplicaciones prácticas.
  5. Desarrollar interfaces de programación de tareas por objetivos e intercambio de información entre los diferentes robots para la solución de problemas reales, mediante la realización de aplicaciones prácticas.
  6. Desarrollar sistemas robóticos (hardware y software) que permitan la ejecución efectiva de las tareas asignadas al(a los) robot(s) para la solución de problemas reales, mediante la utilización de diferentes tecnologías.

Objetivos Transversales

  1. Comunicar efectivamente sus resultados, tanto de manera escrita como oral.
  2. Desarrollar habilidades del trabajo en equipo.
  3. Desarrollar una actitud autodidacta, para investigar algunos temas de manera individual.
  4. Generar consciencia sobre el impacto de la robótica en la sociedad.

Contenidos y Cronograma

Fecha Inicio Fecha Fin Duración (Clases) Tema
1 10/03 13/03 2 Presentación del curso, lectura de la carta del estudiante.

Conformación de equipos colaborativos.

Robótica:

  • Introducción a la Robótica.
2 17/03 24/04 10 Principios Básicos:
  • Arquitectura general.
  • Programación básica.
  • Introducción a Arduino.
  • Introducción a ROS (Robotics Operating System).
  • Mecánica básica y motores a paso.
  • Nociones básicas de posicionamiento y control automático.
  • Métodos de representación en posicionamiento, orientación, escala y perspectiva. Matrices de transformación. Dinámica del movimiento en un actuador.
  • Matrices de transformación.
  • Dinámica del movimiento en un actuador.
  • Representación del movimiento en 6 dimensiones.
3 28/04 05/05 4 Sistemas de Sensación:
  • Sensores y actuadores clásicos (principales aspectos).
  • Percepción por tacto, percepción por sensación, percepción de distancia: escala y perspectiva.
  • Visión automática. Procesamiento digital de imágenes, filtrado y resaltado.
  • Segmentación, reconocimiento y clasificación de objetos.
  • Reconocimiento automático del habla.
4 05/05 15/05 4 Arquitecturas:
  • Arquitecturas de control del robot.
  • Arquitecturas basadas en comportamientos.
  • Arquitecturas cognitivas.
5 19/05 19/06 10 Temas Avanzados:
  • Inteligencia artificial clásica (lógica de primer orden, unificación y resolución).
  • Planificación (definición de estado y transición, ejemplo: mundo de los cubos).
  • Localización y planeación de trayectorias.
  • Mapeado. Simultaneous localization and mapping (SLAM).
  • Aprendizaje y sistemas de representación del conocimiento.
  • Robótica evolutiva y bio-inspirada..
  • Sistemas multi-robot.
  • Aplicaciones de los robots.
    • Robótica de asitencia.
    • Robótica de servicio.
    • Robótica social.
  • Ética e impacto en la sociedad.
6 23/06 03/07 4 Presentación del Proyecto:
  • Sistema Robótico.

NOTA: Las fechas planificadas en este cronograma están sujetas a un transcurso normal del semestre. En caso de cualquier eventualidad, se realizará el cambio de fechas que se acuerden con la mayoría del grupo y la profesora.

Laboratorios

Fecha Inicio Fecha Fin Duración (Clases) Laboratorio
1 17/04 24/04 2 Iniciando con la infraestructura de NAO
2 08/05 15/05 2 Iniciando con la infraestructura de Pepper (simulador)
3(NO) 17/04 24/04 2 Iniciando con Sphero BOLT
4(NO) 08/05 15/05 2 Arquitecturas: Arquitectura reactiva (Vehículos Braitenberg) y Arquitectura de Subsunción
5 22/05 29/05 2 Brazo robótico

NOTA: Las fechas planificadas en este cronograma están sujetas a un transcurso normal del semestre. En caso de cualquier eventualidad, se realizará el cambio de fechas que se acuerden con la mayoría del grupo y la profesora.

Metodología

El curso se extenderá a lo largo de un semestre de trabajo, con una equivalencia aproximada de 60 horas presenciales (32 lecciones – 16 semanas).

Este curso promoverá la participación y la colaboración de los estudiantes en el proceso de enseñanza-aprendizaje, y por esta razón requerirá del compromiso constante del estudiante con el curso. Por su parte, el docente proveerá espacios y actividades didácticas que faciliten un aprendizaje colaborativo. Tales actividades se realizarán tanto dentro como fuera del horario de clase y el profesor podrá asignarlas como trabajo individual o en grupos.

Las clases teóricas serán complementadas con clases prácticas en laboratorio, donde se pondrán en uso la teoría vista en las clases teóricas. Se tendrán lecturas semanales de artículos y documentos que serán comentados en clase y los cuales se relacionarán al tema, o bien a la lectura de material relativo a herramientas, lenguajes o técnicas actualmente usadas para implementar tales sistemas y que serán de utilidad al estudiante para el desarrollo de sus tareas. Además, se partirá del interés de los estudiantes para que realicen una investigación sobre temas avanzados de robótica y un proyecto de un sistema robótico en alguna de las tecnologías robóticas vistas en las clases resolviendo un problema de vida real.

Los laboratorios deberán realizarse con base en las guías dadas por el docente durante las sesiones de laboratorio y entregarse un informe de cada laboratorio en la fecha establecida por el docente. Cada laboratorio se realizará en equipos de cuatro personas. El objetivo de los laboratorios es aplicar la metodología constructivista, aprender haciendo, donde los estudiantes tienen la oportunidad de aplicar los contenidos teóricos en la práctica, construir su propio conocimiento y potenciar el trabajo colaborativo.

La investigación partirá del interés personal de los estudiantes para asignar una serie de temas que serán desarrollados por cada equipo de estudiantes. La investigación y la presentación se harán en equipos de dos personas. Cada equipo desarrollará su tema, la cual culminará con una presentación en forma de exposición en clase y la realización de un vídeo clip.

El proyecto partirá de la comprensión de los estudiantes en los temas vistos en clase para elegir un problema a resolver. El proyecto está dividido en cuatro etapas, que serán desarrolladas por cada equipo de estudiantes. La realización del proyecto se hará en equipos de cuatro personas. Cada equipo desarrollará cada etapa, y al final del semestre culminará con un Sistema Robótico y la presentación de este al profesor y al grupo.

En todas las actividades del curso se debe adjuntar la autoevaluación y coevaluación de cada miembro del equipo, ya que la calificación final del trabajo o evaluación será el promedio entre la calificación obtenida y las evaluaciones (autoevaluación y coevaluación).

Todo trabajo estará sujeto a la evaluación de su redacción, ortografía, estructura y contenido. Todo material base debe ser referenciado utilizando el estilo APA. Para todo producto realizado durante la ejecución de las actividades del curso se deben generar evidencias sobre el proceso realizado.

Los recursos didácticos con los que se contarán son:

  • El docente. El trabajo principal del docente es guiar o ayudar al estudiantado a conseguir los objetivos del curso. Su mayor éxito será conseguir que todos los estudiantes aprueben el curso. Durante las actividades estará pendiente del trabajo que esté realizando el estudiantado, y les ofrecerá la ayuda necesaria para que puedan completarlo de forma satisfactoria, aunque procurará que primero intenten resolverlo por ellos mismos. Hay que recordar que el docente estará a disposición en el horario de consultas.
  • Mediación Virtual. En Mediación Virtual encontrará toda la información y el material del curso y grupo respectivo, como presentaciones, prácticas, soluciones a algunos ejercicios y actividades estarán disponibles en el mismo. También se puede encontrar las calificaciones y los criterios de evaluación de cada trabajo asignado. El nivel de virtualidad que se trabajará en este curso será “Curso bajo virtual” (75% físico y 25% virtual), por lo que algunas clases serán virtuales utilizando la plataforma.
  • Web del curso. El sitio Web del curso está disponible en https://kramirez.net/ci-0160/. Toda la información y el material del curso, como presentaciones, prácticas, soluciones a algunos ejercicios y actividades estarán disponibles en el mismo. También se puede encontrar las calificaciones y los criterios de evaluación de cada trabajo asignado.

Evaluación y Medición

A continuación se presenta los criterios de evaluación y medición:

Laboratorios 25%
Tareas 20%
Investigación 15%
Exposición del Tema 5%
Vídeo Clip 5%
Evaluaciones de las Exposiciones 5%
Proyecto 40%

NOTA: Para aprobar el curso el estudiante debe tener una nota igual o superior a 6.75. Si la nota final está entre 5.75 y 6.74 tendrá derecho a realizar un examen de ampliación, el cual incluye toda la materia del curso; en dicho examen deberá tener una nota mínima de 7.0 para aprobar el curso, siendo la nota final 7.0. En caso de que el estudiante tenga una nota igual o inferior a 5.74, o bien en caso de presentar el examen de ampliación con una nota inferior a 7.0 reprobará el curso.

Observaciones

  • El material del curso (presentaciones, tareas, ejemplos, artículos, documentos, etc.) puede obtenerse en https://kramirez.net/ci-0160/
  • Las tareas deberán ser entregadas al profesor el día propuesto en el enunciado, por cualquier medio que se indique; son grupales.
  • Los quices se harán en todas las lecciones y en cualquier momento durante el transcurso de la lección, y solo se repondrán en los casos que establece el Reglamento de Régimen Académico Estudiantil en su Artículo 24. En los quices se puede utilizar material de apoyo; pueden ser individuales o grupales.
  • La investigación consiste en la presentación al grupo y la realización de un vídeo clip, en equipo de dos personas como máximo, de un tema avanzado en robótica. Se formarán los equipos y se asignarán los temas el primer día de clases. El material visual y la presentación deberán ser entregadas al profesor el día propuesto en el enunciado, por cualquier medio que se indique; son grupales. Cada estudiante llenará una hoja con comentarios sobre las exposiciones de cada equipo, estos comentarios serán evaluados y pasarán a formar parte de su nota individual; ya que indican el interés, aprovechamiento y asimilación de los temas expuestos.
  • El proyecto se puede realizar en equipo de cuatro personas como máximo. Se formarán los equipos el primer día de clases. Cada etapa del proyecto deberá ser entregada al profesor el día propuesto en el enunciado, por cualquier medio que se indique. Se realizará a los integrantes de cada equipo, una comprobación individual del trabajo realizado en cada etapa del proyecto.
  • Las comprobaciones del proyecto son quices individuales, sobre el trabajo realizado en cada etapa, que comprueba si el estudiante participó o no en el desarrollo de este. Se realizan el día de entrega de cada etapa. La nota obtenida en cada comprobación se promedia con la nota obtenida en la etapa respectiva del proyecto.
  • Los criterios de evaluación de cada trabajo asignado se entregarán oportunamente.
  • El uso de lápiz en cualquier evaluación se permite, pero no se acepta reclamos. Por lo que, el uso del lapicero es recomendado.
  • Todo trabajo debe ser entregado de forma digital.
  • Por cada día natural de retraso en la entrega de cualquier trabajo del curso se rebajará un punto en la escala de 1 a 10.
  • Si envía por correo electrónico con uno o más días de retraso, se aplicará la regla de rebajo de puntos expuesta arriba con base en la fecha de envío.
  • Cuando el estudiante sepa que tendrá que faltar un día particular en el cual debe entregar algún trabajo, se recomienda que lo comunique a la profesora antes de ese día, para coordinar la entrega de alguna forma.
  • En todos los trabajos y las evaluaciones de los estudiantes, se calificará la redacción, ortografía, estructura y contenido. Todo material base debe ser referenciado utilizando el estilo APA. Se rebajará de la nota obtenida un punto por cada falta encontrada en alguno de los aspectos citados.
  • En todos los trabajos y las evaluaciones de los estudiantes, se debe entregar una autoevaluación y coevaluación, con el fin de evaluar el aporte de sus compañeros de equipo y el propio. La calificación final del trabajo o evaluación será el promedio entre la calificación obtenida y las evaluaciones (autoevaluación y coevaluación).
  • En todos los trabajos y las evaluaciones, se le solicitará al estudiante que firme una lista de entrega, para que el estudiante tenga un documento que compruebe que entregó y realizó lo solicitado por el profesor.
  • Los estudiantes pueden discutir los trabajos (excluyendo exámenes y quices) con quien sea. Esto incluye hablar sobre interpretaciones del ejercicio asignado, por donde se podría atacar el problema, inclusive la estrategia completa de solución (si alguno de los que discuten ya lo resolvió); además, se puede sugerir y/o buscar material complementario, etc. Lo que no se puede es copiar la solución de ninguna fuente, ya sea un(a) compañero(a), un libro, Internet, etc.
  • Los trabajos serán revisados por la profesora y/o el(la) asistente, si se encuentra evidencia de cualquier tipo de copia, y es la primera vez, los estudiantes involucrados tendrán un cero de nota. Si ocurre una segunda vez, el caso se remitirá a la comisión disciplinaria de la ECCI para aplicar el reglamento.
  • En cuanto a reportes y presentaciones se castigará el plagio, el cual se considera copia y será castigado de la misma manera. Se considera plagio la copia literal de segmentos (texto, figuras, tablas u otros datos no textuales) de otra fuente, sin comillas y sin referencia, aunque sea traducido, así como el parafraseo sin aportes e ningún tipo.
  • Cuando un(a) estudiante no pueda asistir a efectuar una evaluación por alguna razón de fuerza mayor: la muerte de un pariente hasta de segundo grado, la enfermedad del estudiante u otra situación de fuerza mayor o caso fortuito; se seguirá con lo normado en el artículo 24 del Reglamento de Régimen Académico Estudiantil.

Fechas Importantes

Tareas

  • Tarea #1 => Martes 21 de abril.
  • Tarea #2 => Martes 14 de abril. (NO)
  • Tarea #3 => Martes 19 de mayo. (NO)
  • Tarea #4 => Martes 2 de junio.
  • Tarea #5 => Martes 16 de junio.

Investigación

  • Entrega de la Presentación => Una semana antes de la fecha de exposición
  • Exposición => Del 19 de mayo al 19 de junio.

Proyecto

  • Entrega de la Etapa 1 => Viernes 24 de abril.
  • Entrega de la Etapa 2 => Viernes 29 de mayo.
  • Entrega de la Etapa 3 => Viernes 12 de junio.
  • Entrega de la Etapa 4 => Viernes 3 de julio.
  • Presentación en clase de la propuesta del sistema robótico => Viernes 27 de marzo.
  • Presentación en clase del prototipo del sistema robótico => Viernes 29 de mayo.
  • Presentación en clase del sistema robótico => Viernes 3 de julio.
  • Presentación en la feria robótica => Miércoles 8 de julio, 9am – 11am.

NOTA: Las fechas planificadas en este cronograma están sujetas a un transcurso normal del semestre. En caso de cualquier eventualidad, se realizará el cambio de fechas que se acuerden con la mayoría del grupo y la profesora.

Bibliografía

No hay libro de texto. Se usarán capítulos de los libros citados a continuación, así como publicaciones recientes de revistas y conferencias.

  1. Barrientos, Antonio; Peñín, Luis Felipe; Balaguer, Carlos; & Aracil, Rafael. “Fundamentos de Robótica”. McGraw-Hill. 2007.
  2. Craig, J.J. “Introduction to robotics”. Addison-Wesley, Reading, MA. 2000.
  3. González, Bernardi; & C.A Martínez-Alfaro. “Kinematic simulator for an insect like robot”. IEEE International Conference on Systems, Man and Cibernetics. Vol 2, p. 1845-1851. Octubre, 2003.
  4. Briceño, Juan. “Notas del Curso CI-2500 Temas especiales en Inteligencia Artificial: Robótica”. Universidad de Costa Rica, Edición Electrónica, SIBDI Asignatura 006.3 B849n, Nº inscripción 523683. 2003.
  5. Dudek, G.; & Jenkin, M. “Computational Principles of Mobile Robotics”. Cambridge University press. 2000.
  6. Esteve, Juan Domingo. “Apuntes de Robótica”. Universidad de Valencia. España.
  7. Faúndez Zanuy, Marcos. “Tratamiento Digital de la Voz e Imagen”. Alfaomega Marcombo. 2000.
  8. da Fontoura Costa, Luciano; & Mercondes Cesar, Roberto Jr. “Shape Analisys and Classification”. CRC Press. 2001.
  9. Fu, K.S.; González, R.C.; & Lee, C.S.G. “Robotics: Control, Sensing, Vision, and Intelligence”. McGraw-Hill. 1987.
  10. Genesereth, Michael R.; & Nilsson, Nils. Logical Foundation of Artificial Intelligence. Morgan Kaufman. 1987.
  11. Gordon, MacComb. “Tips y técnicas para electrónica, guía práctica de fórmulas, funciones, datos y componentes”. Mc Graw and Hill.
  12. Hee Song, Deok; Kyu Lee, Woon; & Jung, Seul. “Control and interface between an Exoskeleton Master Robot and a human Like robot with two arms”. Proceedings on Advanced Intelligent Mechatronics International Conference IEEE/ASM. 2005.
  13. Kuc, Tae-yong; Nam, Kwanghee; & Lee, Jin S. “An iterative learning control of robot manipulators”. IEEE Transactions on Robotics and Automation, Vol 7, Nª 6. Diciembre, 1991.
  14. LaValle, Steven M. “Planning Algorithms”. Cambridge University Press. 2006. URL: http://planning.cs.uiuc.edu/
  15. Martin, F.G. “Robotic Explorations: A Hands-On Introduction to Engineering” Prentice Hall. 2001.
  16. Mataric, Maja. “The Robotics Primer”. MIT Press. 2007.
  17. McKerrow, P. “Introduction to robotics, Electronic systems engineering series”. Addison-Wesley Pub. Co., Sydney; Reading, Mass. 1991.
  18. Murray, Richard M.; Li, Zexiang; & Sastry, S. Shaukar. “A mathematical Introduction to Robotic manipulation”. CRC Press. 1994.
  19. Murphy, R. “An Introduction to AI Robotics”. MIT Press. 2000.
  20. Prat Viñas, Lluís. “Circuitos y dispositivos electrónicos”. Alfaomega, 6 edición. Marzo, 1999.
  21. Rabiner, Lawrence; & Juang, Biing-Hwang. “Fundamentals of Speech Recognition”. Prentice Hall, Signal Processing series, Allan V. Oppenheim Editor. 1993.
  22. Repelí, Brian D. “Pattern Recognition and Neural Networks”. Cambridge University Press. 1996.
  23. Ruíz del Solar, J. y Salazar, R. “Introducción a la Robótica”. Universidad de Chile.
  24. Russell, Stuart; & Norvig, Peter. “Artificial Intelligence: A Modern Approach”. Prentice Hall, 3 edición. Diciembre, 2009. URL: http://aima.cs.berkeley.edu/.
  25. Siciliano, B.; Sciavicco, L.; Villani, L. & Oriolo, G. “Robotics: modelling, planning and control”. Springer, Londres. 2009.
Volver a CI0160