Programa del Curso
Semana 01
Introducción
- ¿Qué hace que un robot sea inteligente?
Robots físicos frente a robots virtuales
- Smart Robots, Máquinas inteligentes, máquinas sensibles y Robotic Process Automation (RPA), etcétera.
El papel de Artificial Intelligence (AI) en Robotics
- Más allá del "si-entonces-si-no" y la máquina de aprendizaje
- Los algoritmos detrás de la IA
- Machine learning, visión artificial, procesamiento del lenguaje natural (PLN), etcétera.
- Robótica cognitiva
El papel de Big Data en Robotics
- Toma de decisiones basada en datos y patrones
La nube y Robotics
- Vincular la robótica con la informática
- Construir robots más funcionales que accedan a más información y colaboren
Caso de estudio: Robots industriales
- Robots mecánicos
- Baxter
- Robots en instalaciones nucleares
- Detección y protección radiológica
- Robots en Nuclear Reactors
- Detección y protección radiológica
Componentes de hardware de un robot
- Motores, sensores, microcontroladores, cámaras, etcétera.
Comunes Elements de los robots
- Visión artificial, reconocimiento de voz, síntesis de voz, detección de proximidad, detección de presión, etcétera.
Marcos de desarrollo para Programming un robot
- Código abierto y marcos comerciales
- Sistema operativo del robot (ROS)
- Arquitectura: espacio de trabajo, temas, mensajes, servicios, nodos, actionlibs, herramientas, etcétera.
Languages para Programming un robot
- C++ para control de bajo nivel
- Python para orquestación
- Programming ROS nodos en Python y C++
- Otros idiomas
Herramientas para simular un robot físico
- Software comercial y de código abierto y de simulación y visualización 3D
Semana 02
Preparación del entorno de desarrollo
- Instalación y configuración del software
- Paquetes y utilidades útiles
Caso de estudio: Robots mecánicos
- Robots en el campo de la tecnología nuclear
- Robots en sistemas medioambientales
Programming El Robot
- Programming un nodo en Python y C++
- Descripció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
- Fotogramas en ROS y cambios de referencia
- Procesamiento de información 2D de cámaras con OpenCV
- Procesamiento de la información de un láser
- Proyecto: Seguimiento seguro de objetos por color
- Solución de problemas
Semana 03
Programming El 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
Programming El Robot (Continuación...)
- ActionLib
- Speech Recognition y la generación del habla
- Control de brazos robóticos con MoveIt!
- Control del cuello robótico para la visión activa
- Proyecto: Búsqueda y recolección de objetos
- Solución de problemas
Probando su robot
- Pruebas unitarias
Semana 04
Ampliación de las capacidades de un robot con Deep Learning
- Percepción: visión, audio y háptica
- Representación del conocimiento
- Reconocimiento de voz a través de NLP (procesamiento del lenguaje natural)
- Visión artificial
Curso intensivo en Deep Learning
- Artificial Neural Networks (ANN)
- Artificial Neural Networks vs. Biológico Neural Networks
- Avance Neural Networks
- Funciones de activación
- Entrenamiento Artificial Neural Networks
Curso intensivo en Deep Learning (continuación...)
- Deep Learning Modelos
- Redes convolucionales y redes recurrentes
- Convolucional Neural Networks (CNNs o ConvNets)
- Capa de convolución
- Capa de agrupación
- Arquitectura convolucional Neural Networks
Semana 05
Curso intensivo en Deep Learning (continuación...)
- Recurrente Neural Networks (RNN)
- Entrenamiento de una RNN
- Estabilización de gradientes durante el entrenamiento
- Redes de memoria a corto y largo plazo
- Deep Learning Plataformas y bibliotecas de software
- Deep Learning En ROS
Uso de Big Data en su robot
- Conceptos de big data
- Enfoques para el análisis de datos
- Big Data Utillaje
- Reconocimiento de patrones en los datos
- Ejercicio: NLP y Computer Vision en grandes conjuntos de datos
Uso de Big Data en su robot (continuación...)
- Procesamiento distribuido de grandes conjuntos de datos
- Coexistencia y fertilización cruzada de Big Data y Robotics
- El robot como generador de datos
- Sensores de medición de rango, sensores de posición, visuales, táctiles y otras modalidades
- Dar sentido a los datos sensoriales (bucle sentir-planificar-actuar)
- Ejercicio: Captura de datos de streaming
Programming Un robot autónomo Deep Learning
- Deep Learning Componentes del robot
- Configuración del simulador de robot
- Ejecución de una red neuronal acelerada por CUDA con Cafe
- Solución de problemas
Semana 06
Programming Un robot autónomo Deep Learning (continuación...)
- Reconocimiento de objetos en fotografías o secuencias de vídeo
- Habilitación de la visión artificial 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
Despliegue de un robot
- Transición de un robot simulado a hardware físico
- Despliegue del robot en el mundo físico
- Supervisión y mantenimiento de robots sobre el terreno
Asegure su robot
- Prevención de manipulaciones no autorizadas
- Evitar que los piratas informáticos vean y roben datos confidenciales
Construcción colaborativa de un robot
- Construyendo un robot en la nube
- Unirse a la comunidad robótica
Futuro Outlook para los robots en el campo de la ciencia y la energía
Resumen y conclusión
Requerimientos
- Programming experiencia en C o C++
- Programming experiencia en Python (útil pero no necesario; se puede enseñar como parte del curso)
- Experiencia con Linux línea de comandos
Audiencia
- Desarrolladores
- Ingenieros
- Científicos
- Técnicos
Testimonios (1)
I feel I get the core skills I need to understand how the ROS fits together, and how to structure projects in it.