With the increased demand for skills in robotics and automation applied to different industry sectors, such as health care, agriculture, manufacturing, and more, there is growing global demand for teaching tools that facilitate the accelerated development of robotics and autonomous systems (RAS) competencies for both students in higher education and professionals looking to upskill.
Robotics is a multidisciplinary branch of science and engineering that requires knowledge in physics, electronics, control, mechatronics, programming, and telecommunications, among other disciplines. Likewise, teaching at the university level presents challenges that encompass a series of activities ranging from the preparation and development of classes to the assessment and oversight of technical projects.
Could it be possible to cover the educational needs for such a wide breadth of subjects with a single set of tools?
In this white paper, you can find practical examples, resources, and tools that utilize MATLAB® and Simulink® for teaching robotics. A typical academic curriculum (shown below) is analyzed, from the first courses to the final projects, to demonstrate how pedagogy for relevant knowledge can be accelerated and how a consistent learning platform is used in a variety of teaching activities.
Learning Objectives
- Preparing lessons: Design lessons and get adequate materials for your courses.
- Conducting lessons: Make lessons more engaging, interactive, and practical.
- Self-study: Provide resources to your students to motivate independent study.
- Laboratories: Design virtual laboratories and physical laboratories.
- Evaluation: Improve traditional evaluation and save time.
- Challenges: Challenge your students by linking theory to practice and real-world application.
What tools do you have available? Where can you find them?
Tools at Universities
All teaching tools presented in this white paper are based in MATLAB and Simulink. Many universities worldwide have campus-wide access to MATLAB, Simulink, and 125+ toolboxes.
MATLAB
MATLAB is a programming and numeric computing platform used by millions of engineers and scientists to analyze data, develop algorithms, and create models. MATLAB also provides a platform to develop and share interactive technical computing content based on extensive programming libraries.
Simulink
Simulink is a block diagram environment used to design systems with multidomain models, simulate before moving to hardware, and deploy without writing code. Model-Based Design with Simulink can be implemented to reduce development time and defects in final products, as well as provide an integration platform for development and education of multidomain systems.
Toolboxes for Robotics Applications
A toolbox is a collection of functions built in the MATLAB technical computing environment. Some of the toolboxes that are particularly relevant for robotics applications include:
- Toolboxes such as Automated Driving Toolbox™, Navigation Toolbox™, Robotics System Toolbox™ and more, which are related to robotics and autonomous systems.
- Community toolboxes: You can package MATLAB files to create a toolbox to share with others. These files can include code, data, apps, examples, and documentation. Find relevant community toolboxes, such as the Robotics Toolbox by Peter Corke, professor and published author at Queensland University of Technology.
Teaching Materials
Teach in and out of the classroom using resources tailored to robotics.
Courseware
MATLAB and Simulink project-based learning courseware is published for professors to reuse or adapt the contents to apply them into their courses. Some popular courses include:
GitHub Repositories
GitHub® repositories from MathWorks contain a diverse selection of open-source robotics projects and resources for educators using MATLAB and Simulink.
How can you make your lessons more engaging, interactive, and practical?
Increasing Motivation
Share with your students how engineers worldwide use MATLAB and Simulink to accelerate the pace of innovation with robotics:
- Jumping Robot, ETH Zurich: Students Build Innovative Jumping Robot for Final Project
- Preceyes, Eindhoven: World’s First Eye-Surgery Robot Using Model-Based Design
Online Solutions
Use MATLAB Online™ and Simulink Online™ for robotics education so your students can follow lessons containing live examples, such as the example below on path planning, without downloads or installations. This cloud-based resource allows you to always have access to the latest version of the software.
Cloud Storage
MATLAB Drive™ provides a common cloud-based storage location for your MATLAB files. Use it with MATLAB Online to share robotics curriculum materials with your students and make your lessons more interactive.
Apps Design
MATLAB App Designer lets you create professional robotics apps without having to be a professional software developer.
Only two steps are needed to create an application like the industrial robotics app below:
- Design the user interface without writing code, using drag-and-drop components.
- Write the code that determines the behavior of the app.
Visit the MATLAB App Gallery and File Exchange to find more examples related to robotics.
Interactive Scripts
You can create interactive documents that combine MATLAB code with formatted text, equations, and images in a single environment called the Live Editor. In addition, live scripts store and display output alongside the code that creates it.
Visit the Live Script Gallery and File Exchange, as well as find more examples related to robotics.
How can you facilitate self-study for your students? Which platforms can they use?
Learn how to program through relevant robotics-related exercises. MATLAB Academy hosts interactive, self-paced, and flexible online courses that provide hands-on exercises with step-by-step instruction and automated feedback.
Onramps
Onramp courses are free, interactive, self-paced, and online. Find robotics-related onramp courses on fields such as image processing, deep learning, and more.
More Courses
Learn about different disciplines in more depth with these complete course offerings:
- MATLAB courses (programming)
- Simulink courses (physics, controls, signal processing)
- AI, machine learning, and deep learning courses (computer vision, intelligence)
- Math and optimization courses (calculus, linear algebra)
- Image and signal processing courses
Find videos and webinars about MATLAB, Simulink, and other products and services related to robotics:
- Videos and webinars: Watch around 400 robotics-related videos.
- MATLAB Tech Talks: Explore fundamental concepts in science with these video series.
- MATLAB YouTube channel: View international, Spanish, Korean, and Japanese channels.
The MathWorks Book Program supports authors and publishers around the globe who are developing books based on MATLAB and Simulink. This library includes more than 30 books related to robotics and autonomous systems.
Are you writing or planning a book about using robotics with the MATLAB and Simulink product families? You may be eligible for membership in the MathWorks Book Program.
How can you use or design laboratories to enable student participation and active learning?
Virtual Laboratories
You can use MATLAB and Simulink to build interactive virtual labs by incorporating modeling and simulation.
MATLAB: Programming Labs
MATLAB helps students to convert robotics ideas and concepts into autonomous system models that work seamlessly in realistic environments.
Application examples:
Simulink: Design and Simulate
Simulink is for modeling and simulation. You can simulate large-scale robotic system models with reusable components and libraries including specialized, third-party modeling tools:
- Simulink 3D Animation™: Visualize the dynamic behavior of a system in VR.
- Simulink and RoadRunner: Design 3D scenes to simulate autonomous driving.
- Simulink and Gazebo: Set up a synchronized simulation with Gazebo.
- Simulink and Quanser Virtual Labs: Work in blended, hybrid, or remote laboratory configurations.
- Simulink and Unreal Engine®: Develop, test, and view a driving algorithm’s performance.
Simscape: Physical Systems Modelling
Simscape™ enables you to rapidly create models of robotics systems within the Simulink environment. With Simscape, you don’t need to write your code to numerically solve systems of equations. You just need to build the custom blocks, connect them graphically, and let the solver do its work.
Application examples:
- Simscape Driveline™, Simscape Electrical™, and Simscape Multibody™: Delivery quadcopter
- Simscape Multibody and AI: Train a biped robot to walk using reinforcement learning agents
Stateflow: State Machines and Flow Charts
Stateflow® provides a graphical language that includes state transition diagrams, flow charts, state transition tables, and truth tables. You can use Stateflow to describe how MATLAB algorithms and Simulink models react to input signals, events, and time-based conditions.
Physical Laboratories
Designing and simulating systems is important for trying new concepts and visualizing how they will work. Moving to hardware is beneficial for students to gain experience with real systems.
Engineers and scientists connect MATLAB and Simulink to physical hardware to design, test, and verify systems that combine hardware components and software algorithms.
MATLAB Mobile: Mobile Devices and Sensors
Students have a small laboratory in their pockets with sensors such as an accelerometer, a speedometer, a magnetometer, an orientation tracker, a GPS, and a camera, among others that are commonly used in robotics and autonomous systems applications for environment perception.
Using mobile devices such as smartphones and tablets, students can:
- Acquire data from device sensors and analyze the data in MATLAB.
- Take pictures and record videos for further processing and analysis.
MATLAB Mobile™ is a tool that allows you to learn and teach robotics and autonomous systems–related topics right from your mobile device by connecting to a MATLAB session running on MathWorks Cloud.
Hands-on Example (Computer Vision with AI):
Run this script in MATLAB Mobile and use Deep Learning Toolbox™ to take and classify photos on your mobile device.
>> 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
Continuation example: Open your PC, explore the Deep Network Designer and the Deep Learning Network Analyzer apps, and adjust this pretrained network to your needs!
Hardware Support
Once you are satisfied with your model, you can automatically generate C, HDL, or PLC code from your algorithms, and run them on manipulators, drones, mobile robots, and any robotics hardware supported by MATLAB and Simulink.
Low-Cost Hardware
Hands-on learning with MATLAB and Simulink together with the use of low-cost hardware makes it possible for students to participate in motivating projects while building valuable expertise.
Application examples:
Real-Time Applications
You can also use professional hardware to simulate and test control designs and the dynamics of robots and manipulators, autonomous systems, electric motors, and so on.
Speedgoat® machines, which are real-time target computers, are expressly designed to work together with Simulink and Simulink Real-Time™ to create, control, and instrument real-time applications.
How can you improve and simplify traditional evaluation?
Automated Evaluation
MATLAB Grader™ lets you scale assessments and automatically grade MATLAB coding assignments in any learning environment or your web browser.
Submit Homework
Use rich text, images, hyperlinks, and LaTeX equations in problem descriptions. Select options for pass/fail and weighted grading.
Instant Feedback
MATLAB Grader allows you to see details about concepts where students are struggling:
- Access solution maps showing size, time of arrival, and distance from the solution.
- View a complete history of students’ attempts to find the correct solution.
- Review student outcomes (available to instructors and authorized teaching assistants).
- Deliver real-time, contextual feedback to students on their solutions.
LMS Integration
MATLAB Grader can provide outcomes from automated assessments that feed directly to your learning platform, reporting in the tools you use every day for course management.
Problem Collections
MATLAB Grader problem collections such as Electric Circuits and Dynamics are available to verified instructors only. Instructors can request access through Customer Support.
How can you challenge your students? Where can you find relevant final project topics?
Student Competitions
MathWorks supports competitions related to Robotics, Automotive, and AI.
Research Projects
Find new ideas for RAS research projects, submit your work, and receive official recognition from MathWorks:
Preparing Lessons | Conducting Lessons | Self-Study |
---|---|---|
MATLAB and Simulink Toolboxes Courseware |
MATLAB and Simulink Online MATLAB Drive MATLAB App Designer MATLAB Live Editor |
Interactive courses Other resources |
Laboratories | Evaluation | Challenges |
Simscape Stateflow MATLAB Mobile Hardware support |
MATLAB Grader | Competitions Innovation projects |
Learn More
- Resources for Educators - Overview
- Create and Run a Simple App Using App Designer - Documentation
- Create Your First MATLAB Grader Exercise - Companion Software
- Robotics Education with MATLAB and Simulink (10:10) - Video
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)