Temario del curso
Sección 01
Día 01
Introducción
- ¿Qué hace inteligente a un robot inteligente?
Robots inteligentes físicos vs. virtuales
- Robots inteligentes, máquinas inteligentes, máquinas sensibles y automatización de procesos robóticos (RPA), etc.
El papel de la Inteligencia Artificial (IA) en los robots inteligentes
- Más allá de "si-entonces-sino" y la máquina de aprendizaje
- Los algoritmos detrás de la IA
- IA en robots inteligentes: aprendizaje automático, visión por computadora, procesamiento de 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
- Vinculación de la robótica con TI
- Construcción de robots más funcionales que acceden a más información y colaboran
Caso de estudio: Robots mecánicos inteligentes
- Robots inteligentes industriales
- Baxter
- Robots de servicio personal
- Robots domésticos que asisten a los ancianos, automóviles inteligentes autónomos
- 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 por máquina, reconocimiento de voz, síntesis de habla, detección de proximidad, detección de presión, etc.
Frameworks de desarrollo para programar un robot inteligente
- Frameworks de código abierto y comerciales
- Robot Operating System (ROS)
- Arquitectura: espacio de trabajo, temas, 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 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
- Marco de referencia 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: Rastreo 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 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
Extensió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 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 de Alimentación Adelante (Feedforward)
- 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 (CNN o ConvNets)
- Capa de convolución
- Capa de agrupamiento (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 a largo plazo (LSTM)
- 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
- Coexistencia y fertilización cruzada de 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 (ciclo sense-plan-act)
- Ejercicio: Captura de datos en streaming
Sección 04
Día 10
Programación de un robot inteligente autónomo de aprendizaje profundo
- Componentes del robot de aprendizaje profundo
- Configuración del simulador de robot
- Ejecución de una red neuronal acelerada por CUDA con Caffe
- Solución de problemas
Día 11
Programación de un robot inteligente autónomo de 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
Analítica de datos
- Uso del robot inteligente para recopilar y organizar nuevos datos
Construcción colaborativa de un robot inteligente
Despliegue 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 hackers vean y roben datos sensibles del negocio (tarjetas de crédito, información de empleados, etc.)
Unión a la comunidad de robótica
Perspectivas futuras para los robots inteligentes
Comentarios de cierre
Requerimientos
- Experiencia en programación en C++
- Experiencia en programación en Python
- Experiencia con la línea de comandos de Linux
Testimonios (2)
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