Temario del curso
Sección 01
Día 01
Introducción
- ¿Qué hace que un Robot Inteligente sea inteligente?
Robots Inteligentes físicos vs. virtuales
- Robots Inteligentes, Máquinas Inteligentes, Máquinas Sentientes y Automatización de Procesos Robóticos (RPA), etc.
El papel de la Inteligencia Artificial (IA) en los Robots Inteligentes
- Más allá del "si-entonces-sino" y la máquina que aprende
- Los algoritmos detrás de la IA
- IA en Robots Inteligentes: aprendizaje automático, visión por computadora, procesamiento del lenguaje natural (NLP), etc.
- Robótica cognitiva
El papel de los Big Data en los Robots Inteligentes
- Toma de decisiones basada en datos y patrones
La nube y los Robots Inteligentes
- Conexión de la robótica con las TI
- Construcción de robots más funcionales que accedan a más información y colaboren
Estudio de caso: Robots Inteligentes mecánicos
- Robots Inteligentes industriales
- Baxter
- Robots de servicio personal
- Robots domésticos que asisten a personas mayores, vehículos autónomos inteligentes
- Robots de servicio profesional
- Robots agrícolas en operaciones lecheras
Componentes de hardware de un Robot Inteligente
- Motores, sensores, microcontroladores, cámaras, etc.
Elementos comunes de los Robots Inteligentes
- Visión artificial, reconocimiento de voz, síntesis de voz, detección de proximidad, detección de presión, etc.
Marco de desarrollo para programar un Robot Inteligente
- Marcos de trabajo de código abierto y comerciales
- Robot Operating System (ROS)
- Arquitectura: espacio de trabajo, tópicos, mensajes, servicios, nodos, actionlibs, herramientas, etc.
Lenguajes para programar un Robot Inteligente
- 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 Inteligente físico
- Software comercial y de código abierto para simulación y visualización 3D
Preparación del entorno de desarrollo
- Instalación y configuración de software
- Paquetes y utilidades útiles
Día 02
Programación del Robot Inteligente
- Programación de un nodo en Python y C++
- Comprensión del nodo ROS
- Mensajes y tópicos 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
Día 03
Programación del Robot Inteligente (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
Sección 02
Día 04
Programación del Robot Inteligente (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
Pruebas de su Robot Inteligente
- Pruebas unitarias
Día 05
Ampliación de las capacidades de un Robot Inteligente con Aprendizaje Profundo
- Percepción: visión, audio y háptica
- Representación del conocimiento
- Reconocimiento de voz mediante NLP (procesamiento del 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 de alimentación hacia adelante
- Funciones de activación
- Entrenamiento de Redes Neuronales Artificiales
Día 06
Curso intensivo en Aprendizaje Profundo (continuación...)
- Modelos de Aprendizaje Profundo
- Redes Convolucionales y Redes Recurrentes
- Redes Neuronales Convolucionales (CNNs o ConvNets)
- Capa de convolución
- Capa de agrupación (Pooling)
- Arquitectura de Redes Neuronales Convolucionales
Sección 03
Día 07
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 de corto y largo plazo
- Plataformas de Aprendizaje Profundo y Bibliotecas de Software
- Aprendizaje Profundo en ROS
Día 08
Uso de Big Data en su Robot Inteligente
- 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
Día 09
Uso de Big Data en su Robot Inteligente (continuación...)
- Procesamiento distribuido de grandes conjuntos de datos
- Coeexistencia y fertilización cruzada entre Big Data y Robótica
- El Robot Inteligente como generador de datos
- Sensores de medición de rango, posición, visuales, táctiles y otras modalidades
- Interpretación de datos sensoriales (bucle sentir-planear-actuar)
- Ejercicio: Captura de datos en flujo continuo
Sección 04
Día 10
Programación de un Robot Inteligente Autónomo con Aprendizaje Profundo
- Componentes de Aprendizaje Profundo para robots
- Configuración del simulador de robots
- Ejecución de una red neuronal acelerada por CUDA con Cafe
- Solución de problemas
Día 11
Programación de un Robot Inteligente Autónomo con Aprendizaje Profundo (continuación...)
- Reconocimiento de objetos en fotografías o flujos de video
- Habilitación de la visión por computadora con OpenCV
- Solución de problemas
Día 12
Análisis de Datos
- Uso del Robot Inteligente para recopilar y organizar nuevos datos
Construcción colaborativa de un Robot Inteligente
Implementación de su Robot Inteligente en hardware físico
Monitoreo y mantenimiento de Robots Inteligentes en el campo
Seguridad de su Robot
- Prevención de manipulaciones no autorizadas
- Prevención de que los hackers visualicen y roben datos comerciales sensibles (tarjetas de crédito, información de empleados, etc.)
Unirse a la comunidad robótica
Perspectivas futuras para los Robots Inteligentes
Palabras de cierre
Requerimientos
- Experiencia en programación con C++
- Experiencia en programación con Python
- Experiencia con la línea de comandos de Linux
Testimonios (3)
Todo en general
Daniele Donzelli - ITT ITALIA S.r.l.
Curso - CANoe for CAN Compact Training
Traducción Automática
Conocimientos básicos de PLC
Bartosz - Phillips-Medisize Poland
Curso - Introduction to OMRON PLC programming
Traducción Automática
cada vez que no estaba seguro de algún ejercicio, el entrenador me lo explicaba de múltiples formas hasta que lo entendía.
Oncel Seleamet - IRROM Industrie
Curso - PLC Ladder Programming
Traducción Automática