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 autónomas y automatización de procesos robóticos (RPA), etc.
El Rol de la Inteligencia Artificial (IA) en la Robótica
- Más allá de "si-entonces-sino" y la máquina de aprendizaje.
- Los algoritmos detrás de la IA.
- Aprendizaje automático, visión por computadora, procesamiento del lenguaje natural (NLP), etc.
- Robótica cognitiva
El Rol de los Grandes Datos en la Robótica
- Toma de decisiones basada en datos y patrones.
La Nube y la Robótica
- Enlazando robótica con TI.
- Construyendo 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 de Hardware de un Robot
- Motores, sensores, microcontroladores, cámaras, etc.
Elementos Comunes de 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
- 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
Preparar 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.
Programar el Robot
- Programar un nodo en Python y C ++
- Comprender el 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 2D de información 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
Programar el Robot (Continuación...)
- Servicios en ROS.
- Procesamiento 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.
Programar el Robot (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.
Probar su Robot
- Pruebas unitarias.
Semana 04
Extender las Capabilidades de un Robot con Aprendizaje Profundo
- Percepción -- visión, audio y tacto.
- Representación del conocimiento.
- Reconocimiento de voz a través de NLP (procesamiento del lenguaje natural).
- Visión por computadora.
Introducción al 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.
Introducción al Aprendizaje Profundo (Continuación...)
-
Modelos de Aprendizaje Profundo
- Redes Convolucionales y Recurrentes.
-
Redes Neuronales Convolucionales (CNNs o ConvNets)
- Capa de Convolución.
- Capa de Agrupamiento.
- Arquitectura de Redes Neuronales Convolucionales.
Semana 05
Introducción al 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 para el Aprendizaje Profundo.
- Aprendizaje profundo en ROS.
Usar Grandes Datos en su Robot
- Conceptos de grandes datos.
- Enfoques para el análisis de datos.
- Herramientas de gran data.
- Reconocimiento de patrones en los datos.
- Ejercicio: NLP y visión por computadora en conjuntos de datos grandes.
Usar Grandes Datos en su Robot (Continuación...)
- Procesamiento distribuido de conjuntos de datos grandes.
- Coexistencia y fertilización cruzada entre Grandes Datos 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 (bucle sentido-plan-actuar).
- Ejercicio: Captura de datos en tiempo real.
Programar un Robot Autónomo con Aprendizaje Profundo
- Componentes del robot de aprendizaje profundo.
- Configuración del simulador del robot.
- Ejecutar una red neuronal acelerada por CUDA con Caffe.
- Solución de problemas.
Semana 06
Programar 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
- Usar el robot para recopilar y organizar nuevos datos.
- Herramientas y procesos para comprender los datos.
Implementar un Robot
- Transición de un robot simulado a hardware físico.
- Implementar el robot en el mundo físico.
- Monitoreo y mantenimiento de robots en campo.
Seguridad del Robot
- Evitar la manipulación no autorizada.
- Evitar que los hackers vean y roben datos sensibles.
Construir un Robot Colaborativamente
- Construir un robot en la nube.
- Unirse a la comunidad de robótica.
Perspectiva Futura para los Robots en el Campo Científico y Energético
Resumen y Conclusión
Requerimientos
- Experiencia en programación con C o C++
- Experiencia en programación con Python (útil pero no necesaria; puede ser enseñada como parte del curso)
- Experiencia con la línea de comandos de Linux
Público Objetivo
- Desarrolladores
- Ingenieros
- Científicos
- Técnicos
Testimonios (1)
su conocimiento y utilización de la IA para la robótica en el futuro.
Ryle - PHILIPPINE MILITARY ACADEMY
Curso - Artificial Intelligence (AI) for Robotics
Traducción Automática