Programa del Curso
Semana 01
Día 01
Introducción
-
¿Qué hace que un robot sea inteligente?
Robots físicos vs virtuales
-
Smart Robots, Máquinas Inteligentes, Máquinas Sensibles y Automatización Robótica de Procesos (RPA), etc.
El papel de la Inteligencia Artificial (IA) en Robotics
-
Más allá del "si-entonces-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.
Robótica cognitiva
Día 02
El papel del Big Data en Robotics
-
Toma de decisiones basada en datos y patrones
La nube y Robotics
-
Vincular la robótica con las tecnologías de la información
Construir robots más funcionales que accedan a más información y colaboren
Caso de estudio: Robots industriales
-
Robots mecánicos
Baxter
Motores, sensores, microcontroladores, cámaras, etc.
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.
Día 04
-
Marcos de desarrollo para Programming un robot
Marcos comerciales y de código abierto Sistema operativo del robot (ROS) Arquitectura: espacio de trabajo, temas, mensajes, servicios, nodos, actionlibs, herramientas, etc.
Idiomas para Programming un robot
-
C++ para control de bajo nivel
Python para orquestación
Programación de ROS nodos en Python y C++
Otros idiomas
Día 05
-
Herramientas para simular un robot físico
Software comercial y de visualización 3D de código abierto y simulación
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. Escribir un programa de ejemplo Proyecto en equipo
Día 07
-
Preparación para el desarrollo de robots
Configuración del entorno de desarrollo (por ejemplo, Arduino IDE) Explorando la sintaxis del lenguaje Arduino (C/C++) Codificación, compilación y carga en el microcontrolador Ensamblaje 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
-
Construyendo 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
Simulación de un robot con Gazebo / ROS Descripció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 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
-
Search Para objetos del 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
-
Controlar un robot mediante la voz
Día 18
-
Programming El Robot (Continuación...)
Controlar los brazos robóticos con MoveIt! Control del cuello robótico para la visión activa Solución de problemas
Proyecto de equipo
-
Search y colección de objetos
Día 19
-
Despliegue del robot
Despliegue del robot en el mundo físico Supervisión y mantenimiento de robots en el campo 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 los datos generados por el robot Dar sentido a los datos a través de herramientas y procesos de visualización
Construir un robot de forma colaborativa
-
Creación de un robot en la nube
Creación de una aplicación móvil para interactuar con el robot
Unirse a la comunidad robótica
Futuro Outlook de los robots en el campo de la ciencia y la energía
-
Resumen y conclusión
Requerimientos
- Experiencia en programación en C o C++
- Experiencia en programación en Python (útil pero no necesaria; se puede enseñar como parte del curso)
- Experiencia con la línea de comandos de Linux
Audiencia
- Desarrolladores
- ingenieros
- científicos
- Técnicos
Testimonios (1)
Good conceptual explanations followed by good example exercises