Temario del curso
Semana 01
Día 01
Introducción
- ¿Qué hace que un robot sea inteligente?
Robots físicos vs. robots virtuales
- Robots inteligentes, máquinas inteligentes, máquinas conscientes y automatización de procesos robóticos (RPA), entre otros.
El papel de la Inteligencia Artificial (IA) en la robótica
- Más allá del "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 (PLN), etc.
- Robótica cognitiva
Día 02
El papel del Big Data en la robótica
- Toma de decisiones basada en datos y patrones
La nube y la robótica
- Vinculació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 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
Día 03
Componentes de hardware de un robot
- Motores, sensores, microcontroladores, cámaras, etc.
Elementos comunes de los robots
- Visión artificial, reconocimiento de voz, síntesis de voz, detección de proximidad, detección de presión, etc.
Día 04
Marcos de trabajo para la programación de robots
- Marcos de trabajo de código abierto y comerciales
-
Sistema Operativo de Robots (ROS)
- Arquitectura: espacio de trabajo, temas, mensajes, servicios, nodos, librerías de acción, 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
Día 05
Herramientas para simular un robot físico
- Software de simulación y visualización 3D comercial y de código abierto
Herramientas para diseñar las características físicas de un robot
- Software CAD comercial y de código abierto
Estudio de caso: Robots mecánicos
- Robots en el campo de la tecnología nuclear
- Robots en sistemas ambientales
Semana 02
Día 06
Curso intensivo de Python
- Instalación y configuración de software
- Paquetes y utilidades útiles
- Trabajo con estructuras de datos, operadores, bucles, condicionales, funciones y métodos de Python, etc.
- Escritura de un programa de ejemplo
- Proyecto en equipo
Día 07
Preparación para el desarrollo robótico
- Configuración del entorno de desarrollo (por ejemplo, Arduino IDE)
- Exploración de la sintaxis del lenguaje Arduino (C/C++)
- Codificación, compilación y carga al microcontrolador
- Ensamblaje de los componentes de hardware de un robot Arduino
Día 08
Trabajo con componentes de Arduino
- Sensores analógicos
- Sensores digitales
Trabajo con módulos de comunicación de Arduino
- Módulos Bluetooth
- Módulos Wi-Fi
- Módulos RFID
- I2C y SPI
- Internet móvil
Día 09
Construcción de un robot
- Planificación de las características y funcionalidades de un robot
- Implementación del movimiento del robot
Proyecto en equipo
- Discusión y revisión
Día 10
Control del robot
- Implementación del controlador
- Conexión al robot (por cable y de forma inalámbrica)
Proyecto en equipo
- Discusión y revisión
Semana 03
Día 11
Programación del robot
- Simulación de un robot con Gazebo / ROS
- Comprensión del nodo ROS
- Programación de un nodo en Python y C++
- Mensajes y temas en ROS
- Paradigma de publicación / suscripción
Proyecto en equipo
- Bump & Go con robot real
- Discusión y revisión
Día 12
Programación del robot (continuación...)
- 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 en equipo
- Rastreo seguro de objetos por color
- Discusión y revisión
Día 13
Pruebas del robot
- Herramientas para probar su código
- Pruebas unitarias
- Creación de un conjunto de pruebas
- Automatización de pruebas
- Solución de problemas
Proyecto en equipo
- Rastreo seguro de objetos por color
- Discusión y revisión
Día 14
Programación del robot (continuación...)
- Servicios en ROS
- Procesamiento de información 3D de sensores RGB-D con PCL
- Mapas y navegación con ROS
Día 15
Programación del robot (continuación...)
- Finalización de tareas con ActionLib
Proyecto en equipo
- Búsqueda de objetos en el entorno
Semana 04
Día 16
Programación del robot (continuación...)
- Finalización de tareas con ActionLib
Día 17
Programación del robot (continuación...)
- Reconocimiento y generación de voz
- Solución de problemas
Proyecto en equipo
- Control de un robot mediante voz
Día 18
Programación del robot (continuación...)
- Control de brazos robóticos con MoveIt!
- Control del cuello robótico para visión activa
- Solución de problemas
Proyecto en equipo
- Búsqueda y recolección de objetos
Día 19
Despliegue del robot
- Despliegue del robot en el mundo físico
- Monitoreo y mantenimiento de robots en el campo
- Uso de una aplicación móvil para controlar un robot
Seguridad del robot
- Prevención de manipulaciones no autorizadas
- Prevención de que hackers visualicen y roben datos sensibles
Día 20
Análisis de datos
- Recolección y organización de datos generados por el robot
- Interpretación de los datos mediante herramientas y procesos de visualización
Construcción colaborativa de un robot
- Construcción de un robot en la nube
- Construcción de una aplicación móvil para interactuar con su robot
- Unirse a la comunidad de robótica
Perspectivas futuras de los robots en el campo de la ciencia y la energía
Resumen y conclusiones
Requerimientos
- Experiencia en programación en C o C++
- Experiencia en programación en Python (útil pero no obligatoria; puede enseñarse como parte del curso)
- Experiencia con la línea de comandos de Linux
Público objetivo
- Desarrolladores
- Ingenieros
- Científicos
- Técnicos
Testimonios (2)
Suministro de los materiales (máquina virtual) para comenzar directamente con los ejercicios y explicación del núcleo de ROS2. Por qué las cosas funcionan de cierta manera.
Arjan Bakema
Curso - Autonomous Navigation & SLAM with ROS 2
Traducción Automática
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