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

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

  • Más allá del "if-then-else" y la máquina 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 del Big Data en la Robótica

  • Toma de decisiones basada en datos y patrones

La Nube y la Robótica

  • Enlazando la robótica con IT
  • Creació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 radiación
  • Robots en Reactores Nucleares
    • Detección y protección contra radiación

Componentes Mecánicos 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.

Marco de Desarrollo para Programar un Robot

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

Lenguajes para Programar un Robot

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

Herramientas para Simular un Robot Físico

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

Semana 02

Preparando 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

Programación del Robot

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

Semana 03

Programación del Robot (Continuado...)

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

Programación del Robot (Continuado...)

  • 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

Prueba de tu Robot

  • Pruebas unitarias

Semana 04

Ampliando las Capabilidades de un Robot con Aprendizaje Profundo

  • Percepción -- visión, audio y hápticos
  • 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 (Continuado...)

  • Modelos de Aprendizaje Profundo
    • Redes Convolucionales y Redes Recurrentes
  • Redes Neuronales Convolucionales (CNNs o ConvNets)
    • Capa de convolución
    • Capa de pooling
    • Arquitectura de redes neuronales convolucionales

Semana 05

Curso Intensivo en Aprendizaje Profundo (Continuado...)

  • Redes Neuronales Recurrentes (RNN)
    • Entrenamiento de una RNN
    • Estabilización de gradientes durante el entrenamiento
    • Redes neuronales con memoria a largo plazo
  • Plataformas y Bibliotecas de Software para Aprendizaje Profundo
    • Aprendizaje profundo en ROS

Usando Big Data en tu Robot

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

Usando Big Data en tu Robot (Continuado...)

  • Procesamiento distribuido de grandes conjuntos de datos
  • Coexistencia y fertilización cruzada entre Big Data y Robótica
  • El robot como generador de datos
    • Sensores de medición de rango, posición, visuales, táctiles y otras modalidades
  • Dar sentido a los datos sensoriales (ciclo de sensores-planeación-acción)
  • Ejercicio: Captura de datos en streaming

Programando un Robot Autónomo con Aprendizaje Profundo

  • Componentes del robot de aprendizaje profundo
  • Configuración del simulador de robots
  • Ejecución de una red neuronal acelerada con CUDA utilizando Café
  • Solución de problemas

Semana 06

Programando un Robot Autónomo con Aprendizaje Profundo (Continuado...)

  • Reconocimiento de objetos en fotografías o flujos de video
  • Habilitación de 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 dar sentido a los datos

Implementación de un Robot

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

Seguridad de tu Robot

  • Prevenir manipulaciones no autorizadas
  • Prevenir que los hackers vean y roben datos sensibles

Construcción Colaborativa de un Robot

  • Construcción de robots en la nube
  • Participación en la comunidad robótica

Perspectiva Futura para los Robots en el Campo de Ciencia y 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

Target Audience

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

Número de participantes


Precio por Participante​

Testimonios (1)

Próximos cursos

Categorías Relacionadas