Temario del curso

Semana 01

Introducción

  • ¿Qué hace que un robot sea inteligente?

Robots Físicos vs Virtuales

  • Robots inteligentes, máquinas inteligentes, máquinas autónomas y automatización de procesos robóticos (RPA), etc.

El Rol de la Inteligencia Artificial (IA) en la Robótica

  • Más allá de "si-entonces-sino" y la máquina de aprendizaje.
  • Los algoritmos detrás de la IA.
  • Aprendizaje automático, visión por computadora, procesamiento del lenguaje natural (NLP), etc.
  • Robótica cognitiva

El Rol de los Grandes Datos en la Robótica

  • Toma de decisiones basada en datos y patrones.

La Nube y la Robótica

  • Enlazando robótica con TI.
  • Construyendo robots más funcionales que acceden a más información y colaboran.

Estudio de Caso: Robots Industriales

  • Robots Mecánicos
    • Baxter
  • Robots en Instalaciones Nucleares
    • Detección y protección contra radiación.
  • Robots en Reactores Nucleares
    • Detección y protección contra radiación.

Componentes de Hardware de un Robot

  • Motores, sensores, microcontroladores, cámaras, etc.

Elementos Comunes de los Robots

  • Visión por máquina, reconocimiento de voz, síntesis de voz, detección de proximidad, detección de presión, etc.

Marco de Desarrollo para Programar un Robot

  • Marcos de código abierto y comerciales.
  • Sistema Operativo Robótico (ROS)
    • Arquitectura: espacio de trabajo, temas, mensajes, servicios, nodos, actionlibs, herramientas, etc.

Lenguajes para Programar un Robot

  • C++ para control de bajo nivel.
  • Python para orquestación.
  • Programación de nodos ROS en Python y C ++
  • Otros lenguajes

Herramientas para Simular un Robot Físico

  • Software de simulación y visualización 3D comercial y de código abierto.

Semana 02

Preparar el Entorno de Desarrollo

  • Instalación y configuración del software.
  • Paquetes y utilidades útiles.

Estudio de Caso: Robots Mecánicos

  • Robots en el campo de la tecnología nuclear.
  • Robots en sistemas ambientales.

Programar el Robot

  • Programar un nodo en Python y C ++
  • Comprender el nodo ROS.
  • Mensajes y temas en ROS.
  • Paradigma de publicación/suscripción.
  • Proyecto: Bump & Go con robot real.
  • Solución de problemas.
  • Simulación de robots con Gazebo/ROS.
  • Marcos en ROS y cambios de referencia.
  • Procesamiento 2D de información de cámaras con OpenCV.
  • Procesamiento de información de un láser.
  • Proyecto: Seguimiento seguro de objetos por color.
  • Solución de problemas.

Semana 03

Programar el Robot (Continuación...)

  • Servicios en ROS.
  • Procesamiento 3D de sensores RGB-D con PCL.
  • Mapas y Navegación con ROS.
  • Proyecto: Búsqueda de objetos en el entorno.
  • Solución de problemas.

Programar el Robot (Continuación...)

  • ActionLib.
  • Reconocimiento y Generación de Voz.
  • Control de brazos robóticos con MoveIt!.
  • Control del cuello robótico para visión activa.
  • Proyecto: Búsqueda y recolección de objetos.
  • Solución de problemas.

Probar su Robot

  • Pruebas unitarias.

Semana 04

Extender las Capabilidades de un Robot con Aprendizaje Profundo

  • Percepción -- visión, audio y tacto.
  • Representación del conocimiento.
  • Reconocimiento de voz a través de NLP (procesamiento del lenguaje natural).
  • Visión por computadora.

Introducción al Aprendizaje Profundo

  • Redes Neuronales Artificiales (ANNs).
  • Redes Neuronales Artificiales vs. Redes Neuronales Biológicas.
  • Redes Neuronales Feedforward.
  • Funciones de Activación.
  • Entrenamiento de Redes Neuronales Artificiales.

Introducción al Aprendizaje Profundo (Continuación...)

  • Modelos de Aprendizaje Profundo
    • Redes Convolucionales y Recurrentes.
  • Redes Neuronales Convolucionales (CNNs o ConvNets)
    • Capa de Convolución.
    • Capa de Agrupamiento.
    • Arquitectura de Redes Neuronales Convolucionales.

Semana 05

Introducción al Aprendizaje Profundo (Continuación...)

  • Redes Neuronales Recurrentes (RNN)
    • Entrenamiento de una RNN.
    • Estabilización de gradientes durante el entrenamiento.
    • Redes de Memoria a Largo y Corto Plazo (LSTM).
  • Plataformas y Bibliotecas de Software para el Aprendizaje Profundo.
    • Aprendizaje profundo en ROS.

Usar Grandes Datos en su Robot

  • Conceptos de grandes datos.
  • Enfoques para el análisis de datos.
  • Herramientas de gran data.
  • Reconocimiento de patrones en los datos.
  • Ejercicio: NLP y visión por computadora en conjuntos de datos grandes.

Usar Grandes Datos en su Robot (Continuación...)

  • Procesamiento distribuido de conjuntos de datos grandes.
  • Coexistencia y fertilización cruzada entre Grandes Datos y Robótica.
  • El robot como generador de datos
    • Sensores de medición de rango, posición, visuales, táctiles y otras modalidades.
  • Comprender los datos sensoriales (bucle sentido-plan-actuar).
  • Ejercicio: Captura de datos en tiempo real.

Programar un Robot Autónomo con Aprendizaje Profundo

  • Componentes del robot de aprendizaje profundo.
  • Configuración del simulador del robot.
  • Ejecutar una red neuronal acelerada por CUDA con Caffe.
  • Solución de problemas.

Semana 06

Programar un Robot Autónomo con Aprendizaje Profundo (Continuación...)

  • Reconocimiento de objetos en fotografías o secuencias de video.
  • Habilitar la visión por computadora con OpenCV.
  • Solución de problemas.

Análisis de Datos

  • Usar el robot para recopilar y organizar nuevos datos.
  • Herramientas y procesos para comprender los datos.

Implementar un Robot

  • Transición de un robot simulado a hardware físico.
  • Implementar el robot en el mundo físico.
  • Monitoreo y mantenimiento de robots en campo.

Seguridad del Robot

  • Evitar la manipulación no autorizada.
  • Evitar que los hackers vean y roben datos sensibles.

Construir un Robot Colaborativamente

  • Construir un robot en la nube.
  • Unirse a la comunidad de robótica.

Perspectiva Futura para los Robots en el Campo Científico y Energético

Resumen y Conclusión

Requerimientos

  • Experiencia en programación con C o C++
  • Experiencia en programación con Python (útil pero no necesaria; puede ser enseñada como parte del curso)
  • Experiencia con la línea de comandos de Linux

Público Objetivo

  • Desarrolladores
  • Ingenieros
  • Científicos
  • Técnicos
 120 Horas

Número de participantes


Precio por participante

Testimonios (1)

Próximos cursos

Categorías Relacionadas