White paper

Enseñanza de robótica con MATLAB y Simulink

Introducción

La creciente demanda de conocimientos sobre robótica y automatización aplicadas a los sectores de atención médica, agricultura y fabricación, entre otros, ha provocado un aumento en la demanda mundial de herramientas de enseñanza que facilitan el desarrollo acelerado de conocimientos en robótica y sistemas autónomos (RAS) para estudiantes de educación superior y profesionales que deseen ampliar sus conocimientos.

La robótica es una rama multidisciplinaria de la ingeniería y ciencias que requiere conocimientos de física, electrónica, control, mecatrónica, programación y telecomunicaciones, entre otras disciplinas. Asimismo, la docencia universitaria presenta retos que abarcan una serie de actividades, desde preparación y desarrollo de clases hasta evaluación y supervisión de proyectos técnicos.

¿Cómo se puede enseñar una variedad tan amplia de asignaturas con un único conjunto de herramientas?

Este white paper presenta ejemplos prácticos, recursos y herramientas que utilizan MATLAB® y Simulink® para enseñar robótica. Se analiza un plan de estudios académico típico (que se muestra a continuación), desde las primeras asignaturas hasta el proyecto de fin de curso, para demostrar cómo acelerar la pedagogía y utilizar una plataforma de aprendizaje uniforme en diversas actividades didácticas.

Tabla que muestra los cursos de la licenciatura en ingeniería robótica clasificados por disciplina y ordenados por año de estudio

Cursos del plan de estudios de robótica clasificados por disciplina

Objetivos de aprendizaje

  • Preparación de lecciones: Diseña lecciones y obtiene materiales adecuados para tus cursos.
  • Desarrollo de lecciones: Crea lecciones más interesantes, interactivas y prácticas.
  • Autoaprendizaje: Proporciona recursos para incentivar el estudio independiente
  • Talleres: Diseña talleres virtuales y presenciales.
  • Evaluación: Ahorra más tiempo optimizando el método tradicional de evaluación.
  • Desafíos: Desafía a tus estudiantes vinculando la teoría con la práctica y su aplicación en el mundo real.
partición

Preparación de lecciones

¿Qué herramientas se encuentran disponibles? ¿Dónde se pueden conseguir?

Herramientas universitarias

Todas las herramientas de enseñanza presentadas en este white paper se basan en MATLAB y Simulink. Muchas universidades de todo el mundo ofrecen acceso en todo el campus a MATLAB, Simulink y más de 125 toolboxes.

MATLAB

MATLAB es una plataforma de programación y cálculo numérico utilizada por millones de profesionales de ingeniería y ciencias para analizar datos, desarrollar algoritmos y crear modelos. Además, MATLAB ofrece una plataforma para desarrollar y compartir contenido de cálculo técnico interactivo basado en extensas librerías de programación.

Simulink

“El diseño basado en modelos con MATLAB y Simulink cubre una amplia variedad de dominios de software necesarios para el diseño de sistemas robóticos avanzados. Permite realizar simulación de sistemas y controladores mecatrónicos complejos, generación de código para pruebas de HIL en tiempo real, procesamiento de señales e imágenes, y análisis y visualización de datos”.​

Simulink es un entorno de diagramas de bloques que se utiliza para diseñar sistemas con modelos multidominio, simular antes de implementar en hardware y desplegar sin necesidad de escribir código. Con Simulink, se puede implementar el diseño basado en modelos para reducir el plazo de desarrollo y defectos en productos finales, y proporcionar una plataforma de integración para desarrollo y educación de sistemas multidominio.

Diagrama que describe las diferentes fases del diseño basado en modelos con Simulink. El flujo de trabajo de MBD para desarrollo de sistemas incluye: 1. Investigación, 2. Requisitos y especificaciones, 3. Diseño, 4. Implementación, y 5. Pruebas y verificación.

Flujo de trabajo de diseño basado en modelos con Simulink

Toolboxes para aplicaciones de robótica

Una toolbox es un conjunto de funciones integradas en el entorno de cálculo técnico de MATLAB. Entre las toolboxes que son especialmente relevantes para aplicaciones de robótica se incluyen:

Recursos didácticos

Enseña dentro y fuera del aula con recursos adaptados a la robótica.

Material didáctico

Hemos desarrollado material didáctico basado en proyectos de MATLAB y Simulink para docentes, para que puedan reutilizar o adaptar el contenido según sea necesario. Entre los cursos más populares se cuentan los siguientes:

App MATLAB Robotics Playground en la página de material didáctico, con botones para acceder a ejemplos, lecciones, documentación, y mucho más.

App MATLAB Robotics Playground.

Repositorios de GitHub

Los repositorios de MathWorks en GitHub® contienen varios proyectos y recursos de robótica de código abierto para personal docente que utiliza MATLAB y Simulink.

partición

Desarrollo de lecciones

¿Cómo se pueden crear lecciones más interesantes, interactivas y prácticas?

Motivación

Motiva a tus estudiantes compartiendo cómo profesionales de ingeniería de todo el mundo utilizan MATLAB y Simulink para acelerar el ritmo de la innovación con robótica:

Soluciones online

Utiliza MATLAB Online™ y Simulink Online™ para enseñar robótica e impartir lecciones con ejemplos reales sin necesidad de descargar o instalar archivos, como el ejemplo a continuación sobre planificación de rutas. Este recurso basado en la nube permite tener siempre acceso a la última versión del software.

Almacenamiento en la nube

MATLAB Drive™ ofrece una ubicación común de almacenamiento en la nube para tus archivos de MATLAB. Utilízalo con MATLAB Online para compartir materiales curriculares de robótica con tus estudiantes y lograr que tus lecciones sean más interactivas.

Diagrama que describe los recursos en la nube de MathWorks y cómo emplear MATLAB Drive para compartir y sincronizar hasta 20 GB de archivos entre diferentes plataformas, tales como MATLAB Online, MATLAB Desktop y MATLAB Mobile. También muestra cómo utilizar MATLAB Drive Connector para almacenar archivos sincronizados localmente.

MATLAB Drive permite sincronizar archivos con MATLAB Desktop, MATLAB Online y MATLAB Mobile.

Diseño de apps

Con MATLAB App Designer puedes crear apps profesionales de robótica aunque no seas profesional de desarrollo de software.

Solo se necesitan dos pasos para crear una app de robótica industrial:

  1. Diseña la interfaz de usuario sin necesidad de escribir código, arrastrando y soltando componentes.
  2. Escribe el código que determina el comportamiento de la app.

Vista de diseño (izquierda) de MATLAB App Designer y vista de código (derecha) de una app de área de trabajo de robótica industrial.

Consulta la galería de apps de MATLAB y File Exchange para obtener más ejemplos de robótica.

Scripts interactivos

Puedes crear documentos interactivos que combinen código de MATLAB con ecuaciones, texto con formato e imágenes en un único entorno, denominado Live Editor. Además, los scripts en vivo almacenan y muestran el resultado junto con el código que lo produce.

Puedes presentar los scripts en vivo como un conjunto de tutoriales y ejercicios online, interactivos durante las lecciones. Por ejemplo, puedes utilizar scripts en vivo para enseñar los conceptos básicos del uso de Robot Operating System (ROS y ROS2) para desarrollar y programar robots.

Diagrama que muestra cómo exportar scripts en vivo de ROS en diferentes formatos de archivo, tales como PDF, Word, HTML o LaTeX.

Los scripts en vivo se pueden exportar en formato PDF, Word, HTML y LaTeX.

Consulta la galería de scripts en vivo y File Exchange, para obtener más ejemplos de robótica.

partición

Autoaprendizaje

¿Cómo se puede promover el autoaprendizaje? ¿Qué plataformas se pueden utilizar?

Cursos online interactivos

Enseña a programar a través de ejercicios de robótica relevantes. MATLAB Academy ofrece cursos online interactivos, a tu ritmo y flexibles que proporcionan ejercicios prácticos con formación paso a paso y comentarios automáticos.

Cursos introductorios Onramp

Los cursos introductorios Onramp son gratuitos, interactivos, a tu ritmo y online. Busca cursos introductorios Onramp relacionados con robótica en campos como procesamiento de imágenes, Deep Learning, y muchos más.

Más cursos

Profundiza en diferentes disciplinas con estos cursos completos:

MATLAB Academy que muestra ejercicios de robótica (izquierda) y un proyecto de robótica (derecha).

Vídeos

Busca vídeos y webinars sobre MATLAB, Simulink y otros productos y servicios relacionados con robótica:

Libros de texto

MathWorks Book Program apoya a autores y editores de todo el mundo que escriben libros basados en MATLAB y Simulink. Esta biblioteca online incluye más de 30 libros relacionados con robótica y sistemas autónomos.

Libros relacionados con robótica de la biblioteca MathWorks Book Program.

Si estás escribiendo o preparando un libro sobre robótica con MATLAB y Simulink, confirma si cumples los requisitos para participar en MathWorks Book Program.

partición

Talleres

¿Cómo se pueden utilizar o diseñar talleres para una participación y aprendizaje más activos?

Talleres virtuales

Con MATLAB y Simulink, puedes crear talleres virtuales interactivos incorporando modelado y simulación.

MATLAB: Talleres de programación

Con MATLAB, tus estudiantes pueden convertir ideas y conceptos de robótica en modelos de sistemas autónomos que funcionan perfectamente en entornos del mundo real.

Ejemplos de aplicación:

Simulink: Diseño y simulación

Utiliza Simulink para modelado y simulación. Puedes simular modelos de sistemas robóticos a gran escala con componentes y librerías reutilizables que incluyen herramientas de modelado especializadas de terceros:

Simulaciones con Simulink 3D Animation, Gazebo y Quanser Virtual Labs.

Simscape: Modelado de sistemas físicos

Simscape™ permite crear rápidamente modelos de sistemas robóticos dentro del entorno de Simulink. Con Simscape, no es necesario escribir código para resolver numéricamente sistemas de ecuaciones. Basta con crear bloques personalizados, conectarlos gráficamente y el solver se encarga del resto.

Modelo de Simscape (izquierda) y simulación de un cuadricóptero de reparto (derecha).

Ejemplos de aplicación:

Stateflow: Máquinas de estados y diagramas de flujo

Stateflow® ofrece un lenguaje gráfico que incluye diagramas de transición de estados, diagramas de flujo, tablas de transición de estados y tablas de verdad. Con Stateflow, puedes describir cómo los algoritmos de MATLAB y los modelos de Simulink reaccionan a señales de entrada, eventos y condiciones basadas en tiempo.

Modelo y simulación de Stateflow de un flujo de trabajo de pick-and-place.

Talleres presenciales

Diseñar y simular sistemas es importante para probar conceptos nuevos y visualizar cómo funcionarán. Sin embargo, la implementación en hardware permite que tus estudiantes adquieran experiencia con sistemas reales.

Profesionales de ingeniería y ciencias conectan MATLAB y Simulink a hardware físico para diseñar, probar y verificar sistemas que combinan componentes de hardware y algoritmos de software.

MATLAB Mobile: Dispositivos móviles y sensores

Con un dispositivo móvil, estudiantes tienen a su disposición un pequeño laboratorio que cuenta con sensores tales como acelerómetro, velocímetro, magnetómetro, seguidor de orientación, GPS y cámara, que se utilizan habitualmente en aplicaciones de robótica y sistemas autónomos para percepción del entorno.

Empleando smartphones y tabletas, tus estudiantes pueden:

  • Capturar datos a partir de sensores de dispositivos y analizarlos en MATLAB.
  • Tomar fotos y grabar vídeos para posterior procesamiento y análisis.

MATLAB Mobile™ permite aprender y enseñar temas relacionados con robótica y sistemas autónomos desde un dispositivo móvil conectado a una sesión de MATLAB que se ejecute en MathWorks Cloud.

 Configuración de sensores, ejemplos, scripts en vivo y MATLAB Drive en MATLAB Mobile.

Con MATLAB Mobile, puedes utilizar sensores, acceder a ejemplos, ejecutar scripts en vivo y compartirlos con MATLAB Drive.

Ejemplo práctico de visión artificial con IA:

Ejecuta este script en MATLAB Mobile y utiliza Deep Learning Toolbox™ para capturar y clasificar fotos en tu dispositivo móvil.

 >> m=mobiledev; %acquire data from the mobile device sensors

 >> c=camera(m); %connect to the camera

 >> c.Autofocus='on’; %activate autofocus

 >> im=snapshot(c,'manual’); %take a photo

 >> imshow(im) %review your photo

 >> net=alexnet; %use AlexNet pretrained neural network

 >> layer=net.Layers; 

 >> outlayer=layer(end); %last AlexNet layer is where the categories name are

 >> categorias=outlayer.ClassNames; 

 >> img=imresize(im,[227,227]); %resize your image to meet AlexNet requirements

 >> [pred,scores]=classify(net,img); %classify your photo

 >> highscores=scores>0.04; %define the highscores

 >> bar(scores(highscores)) %plot the results

 >> set(gca,'xtick',1:7); 

 >> xticklabels(categorias(highscores)) %add categories name to the plot

Ejemplo de prueba: En tu PC, explora las apps Deep Network Designer y Deep Learning Network Analyzer, y ajusta esta red previamente entrenada a tus necesidades.

Soporte de hardware

Una vez que el modelo cumpla con todos tus requisitos, puedes generar automáticamente código C, HDL o PLC a partir de los algoritmos, y ejecutarlos en manipuladores, drones, robots móviles y otro hardware de robótica compatible con MATLAB y Simulink.

Diagrama que explica cómo generar automáticamente código C, HDL, PLC o GPU a partir de modelos de MATLAB, Simulink y Stateflow mediante la generación automática de código.

Generación automática de código para soporte de hardware.

Hardware de bajo coste

El aprendizaje práctico con MATLAB y Simulink, junto con el uso de hardware de bajo coste, permiten que estudiantes participen en proyectos interesantes y adquieran conocimientos prácticos.

Aplicaciones en tiempo real

También se puede utilizar hardware profesional para simular y probar diseños de sistemas de control y dinámica de robots y manipuladores, sistemas autónomos, motores eléctricos, y mucho más.

Las plataformas objetivo en tiempo real Speedgoat® están diseñadas específicamente para funcionar con Simulink y Simulink Real-Time™ a fin de crear, controlar e instrumentar aplicaciones en tiempo real.

partición

Evaluación

¿Cómo se pueden mejorar y simplificar los métodos tradicionales de evaluación?

Evaluación automática

Con MATLAB Grader™, puedes escalar el proceso de evaluación y calificar automáticamente los ejercicios de codificación de MATLAB en cualquier entorno de aprendizaje o un navegador web.

Creación de tareas

Puedes utilizar texto enriquecido, imágenes, hipervínculos y ecuaciones LaTeX en la descripción de problemas. Selecciona opciones para aprobado/suspenso y calificación ponderada.

Dos imágenes que muestran el mismo ejercicio de ingeniería de control. La primera imagen muestra un PDF, y la segunda el ejercicio evaluado automáticamente con MATLAB Grader.

Tareas en formato PDF y tareas de MATLAB Grader sobre ingeniería de control.

Comentarios inmediatos

MATLAB Grader permite ver qué conceptos plantean más dificultades a tus estudiantes:

  • Accede a gráficas de solución que muestran tamaño, tiempo invertido y diferencia con la solución de referencia.
  • Consulta un historial completo de los intentos de tus estudiantes para hallar la solución correcta.
  • Revisa los resultados finales (disponibles para personal instructor y asistentes de enseñanza con autorización).
  • Proporciona comentarios contextuales en tiempo real sobre las soluciones propuestas por tus estudiantes

Gráficas de comentarios en MATLAB Grader.

“El hecho de poder tener comentarios inmediatos (o confirmación) sobre código complicado es fantástico; sin eso, resultaría muy complicado depurar tu propio código. También me motivó obtener calificaciones del 100% en todos los ejercicios de MATLAB”.

Integración con LMS

MATLAB Grader puede proporcionar resultados a partir de evaluaciones automáticas que se envían directamente a la plataforma de aprendizaje, y comunicar la información con las herramientas que utilizas a diario para gestionar cursos.

Calificaciones de MATLAB Grader integradas en Moodle.

Calificaciones de MATLAB Grader integradas en Moodle.

Colecciones de problemas

Las colecciones de problemas de MATLAB Grader, como Dinámica y Circuitos eléctricos, solo están disponibles para personal instructor verificado. El servicio de atención al cliente se encarga de proporcionar acceso al personal instructor.

partición

Desafíos

¿Cómo se pueden plantear nuevos retos para estudiantes? ¿Dónde se pueden encontrar ideas sobre proyectos de fin de curso?

Competiciones estudiantiles

MathWorks ofrece apoyo para competiciones relacionadas con IA, robótica y automoción.

Demostraciones de European Rover Challenge (izquierda), Competición de Minidrones de MathWorks (centro) y Formula Student (derecha).

Proyectos de investigación

Descubre ideas nuevas para proyectos de investigación sobre RAS, envía tu proyecto y recibe el reconocimiento de MathWorks:

partición

Resumen

Preparación de lecciones Desarrollo de lecciones Autoaprendizaje
MATLAB y Simulink
Toolboxes
Material didáctico
MATLAB y Simulink Online
MATLAB Drive
MATLAB App Designer
MATLAB Live Editor
Cursos interactivos
Otros recursos
Talleres Evaluación Desafíos
Simscape
Stateflow
MATLAB Mobile
Soporte de hardware
MATLAB Grader Competiciones
Proyectos innovadores