Programa del Curso
Semana 01
Día 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
Día 02
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 el sector nuclear Reactors
- Detección y protección radiológica
Día 03
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.
Día 04
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
Día 05
Herramientas para simular un robot físico
- Software comercial y de código abierto y de simulación y visualización 3D
Herramientas para diseñar las características físicas de un robot
- Software comercial y de código abierto CAD
Caso de estudio: Robots mecánicos
- Robots en el campo de la tecnología nuclear
- Robots en sistemas medioambientales
Semana 02
Día 06
Curso intensivo en Python
- Instalación y configuración del software
- Paquetes y utilidades útiles
- Trabajar con Python estructuras de datos, operadores, bucles, condicionales, funciones, métodos, etcétera.
- Escribir un programa de ejemplo
- Proyecto en equipo
Día 07
Preparación para el desarrollo de robots
- Configuración del entorno de desarrollo (p. ej., Arduino IDE)
- Exploración de la sintaxis del lenguaje Arduino (C/C++)
- Codificación, compilación y carga en el microcontrolador
- Montaje de los componentes de hardware de un robot Arduino
Día 08
Trabajar con Arduino componentes
- Sensores analógicos
- Sensores digitales
Trabajar con Arduino Communication módulos
- 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 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 e inalámbrica)
Proyecto de equipo
- Discusión y revisión
Semana 03
Día 11
Programming El Robot
- Simulando un robot con Gazebo / ROS
- Descripción del nodo ROS
- Programming un nodo en Python y C++
- Mensajes y temas en ROS
- Paradigma de publicación/suscripción
Proyecto de equipo
- Bump & Go con robot real
- Discusión y revisión
Día 12
Programming El Robot (continuación...)
- 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 de equipo
- Seguimiento seguro de objetos por color
- Discusión y revisión
Día 13
Probando el robot
- Herramientas para probar el código
- Pruebas unitarias
- Creación de un conjunto de pruebas
- Automatización de las pruebas
- Solución de problemas
Proyecto de equipo
- Seguimiento seguro de objetos por color
- Discusión y revisión
Día 14
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
Día 15
Programming El Robot (Continuación...)
- Completar tareas con ActionLib
Proyecto de equipo
- Búsqueda de objetos en el entorno
Semana 04
Día 16
Programming El Robot (Continuación...)
- Completar tareas con ActionLib
Día 17
Programming El Robot (Continuación...)
- Speech Recognition y la generación del habla
- Solución de problemas
Proyecto de equipo
- Control de un robot mediante la voz
Día 18
Programming El Robot (Continuación...)
- Control de brazos robóticos con MoveIt!
- Control del cuello robótico para la visión activa
- Solución de problemas
Proyecto de equipo
- Búsqueda y recogida de objetos
Día 19
Despliegue del robot
- Despliegue del robot en el mundo físico
- Supervisión y mantenimiento de robots sobre el terreno
- Uso de una aplicación móvil para controlar un robot
Asegurar el robot
- Prevención de manipulaciones no autorizadas
- Evitar que los piratas informáticos vean y roben datos confidenciales
Día 20
Análisis de datos
- Recopilación y organización de datos generados por el robot
- Dar sentido a los datos a través de herramientas y procesos de visualización
Construcción colaborativa de un robot
- Construyendo un robot en la nube
- Creación de una aplicación móvil para interactuar con su robot
- 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.