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 Cognitivas y Automatización de Procesos Robóticos (RPA), etc.

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

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

El Papel de los Datos Grandes en la Robótica

  • Toma de decisiones basada en datos y patrones.

La Nube y la Robótica

  • Enlace entre robótica e IT.
  • Construcción de 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 la radiación.
  • Robots en Reactores Nucleares
    • Detección y protección contra la radiación.

Componentes de Hardware de un Robot

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

Elementos Comunes en los Robots

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

Marcos 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

Preparación del Entorno de Desarrollo

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

Estudio de Caso: Robots Mecánicos

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

Programación del Robot

  • Programación de un nodo en Python y C++
  • Comprensión del 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 de información 2D 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

Programación del Robot (Continuación...)

  • Servicios en ROS.
  • Procesamiento de información 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.

Programación del Robot (Continuación...)

  • ActionLib.
  • Reconocimiento de Voz 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.

Prueba de su Robot

  • Pruebas unitarias.

Semana 04

Extensión de las Capacidades del Robot con Aprendizaje Profundo

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

Curso Intensivo en 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.

Curso Intensivo en Aprendizaje Profundo (Continuación...)

  • Modelos de Aprendizaje Profundo
    • Redes Convolucionales y Recurrentes
  • Redes Neuronales Convolucionales (CNNs o ConvNets)
    •  Capa Convolucional
    •  Capa de Pooling
    •  Arquitectura de Redes Neuronales Convolucionales

Semana 05

Curso Intensivo en 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 de Aprendizaje Profundo.
    • Aprendizaje Profundo en ROS.

Uso de Datos Grandes en su Robot

  • Conceptos de datos grandes.
  • Enfoques para el análisis de datos.
  • Herramientas de Datos Grandes.
  • Reconocimiento de patrones en los datos.
  • Ejercicio: NLP y Visión por Computadora en conjuntos de datos grandes.

Uso de Datos Grandes en su Robot (Continuación...)

  • Procesamiento distribuido de conjuntos de datos grandes.
  • Coexistencia y fertilización cruzada de Datos Grandes 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 (ciclo sentido-plan-actuar).
  • Ejercicio: Captura de datos en streaming.

Programación de un Robot Autónomo con Aprendizaje Profundo

  • Componentes del robot con Aprendizaje Profundo.
  • Configuración del simulador de robots.
  • Ejecución de una red neuronal acelerada por CUDA con Cafe.
  • Solución de problemas.

Semana 06

Programación de 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

  • Uso del robot para recopilar y organizar nuevos datos.
  • Herramientas y procesos para comprender los datos.

Implementación de un Robot

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

Seguridad de su Robot

  • Prevención del acceso no autorizado.
  • Prevención de que los hackers vean y roben datos sensibles.

Construcción Colaborativa de un Robot

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

Perspectiva Futura para los Robots en el Campo de las Ciencias y la Energía

Resumen y Conclusión

Requerimientos

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

Audiencia

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

Número de participantes


Precio por participante

Testimonios (1)

Próximos cursos

Categorías Relacionadas