Skip to content

Latest commit

 

History

History
203 lines (133 loc) · 15.6 KB

README.md

File metadata and controls

203 lines (133 loc) · 15.6 KB

Awesome Robotics Teaching with MATLAB and Simulink

Awesome Maintenance

Collection of curriculum and useful examples for robotics and autonomous systems education using MATLAB® and Simulink® for different stages of learning.

Content classification:

  • (Beginner) Suggested for anyone new to MATLAB/Simulink and new to robotics (STEM Education)
  • (Intermediate) Suggested for those with foundational engineering knowledge and basic MATLAB skills (MATLAB Onramp Recommended)
  • (Advanced) Recommended for anyone with working knowledge in robotics theory, programming experience, and basic MATLAB skills

Looking for content specific to robotics applications? Check out the Awesome-MATLAB-Robotics GitHub repository instead.

NOTE: For content additions open a GitHub Issue on the repository

Overview Resources

(Beginner) (Intermediate) (Advanced)
Learning Robotics Basics with MATLAB (Video) Robotics Education with MATLAB (Video) Teaching Robotics with MATLAB (White-Paper)
Watch the video Watch the video Watch the video

Featured Books

Front cover 978-3-031-07261-5_5208

Educational Hardware

Learning Topics

Introduction to Robotics

(Beginner) Robotics Playground [Curriculum] 9 Lessons covering how to use distance sensors, encoders, limit switches, and MATLAB and Simulink basics.

(Beginner) Mobile Robotics Tutorials [Curriculum | Videos] 5 Video tutorials teaching basics programming skills and controls theory for autonomous path navigation.

(Intermediate) Control of Mobile Robots [Curriculum] 7 Lessons covering controllers, PID, Obstacle avoidance, controller arbitration, wall following, and complete navigation system.

(Intermediate) Applied Autonomous Robots I [Curriculum] 9 Lessons and exercises including basic code development, kinematics, perception, control, trajectories, potential fields, and a computer vision teaser.

(Advanced) Applied Autonomous Robots II [Curriculum] 9 Lessons covering basics of computer vision, physics of color, visual servoing, filtering, camera calibration, K-means clustering and Kalman filters.

(Advanced) Robotics Playground Expansion Pack [Curriculum] 5 Lessons on Robot Navigation, Robot Manipulation, Contact Modeling, Path Planning implemented in a 3D simulator with realistic physics.

Physics and Mechanics

(Beginner) Physics Course with Symbolic Math [Curriculum] Chapter 4 includes live script covering classical mechanics

(Intermediate) Electromechanical Systems [Curriculum] 13 Lessons covering electromechanics in depth. Some topics include digitization, electrical systems, control systems basics, filter design, PWM, physical modeling, discretization,and DC motors.

(Advanced) Modeling, Design, and Control of Robotic Mechanisms - Kyungnam University (Curriculum) 4 Topics covering planar robot dynamics, 2-DOF simulation, real-time control and an Arduino project for a walking robot.

Controls and Estimation

(Beginner) Controls Tutorials - University of Michigan (Curriculum) 70+ Control system tutorials including system modeling and analysis, controller design and analysis, simulation, and physical modeling, for 8 applications (motors, automobiles, aircraft, pendulums, etc).

(Beginner) Transfer Function Analysis of Dynamic Systems (Curriculum) 4 lessons and live scripts covering transfer functions, pole-zero and frequency domain analysis.

(Beginner) Control Design Onramp with Simulink (Interactive Tutorials) 1-Hour interactive tutorial covering the basics of plant modeling, linearization, feedback control and PID tuning.

(Intermediate) Control of Mobile Robots (Curriculum) 7 Lessons covering controllers, PID, Obstacle avoidance, controller arbitration, wall following and complete navigation system.

(Intermediate) Embedded Control and Mechatronics - Southern Illinois University (Curriculum) 14 Lectures and 2 projects covering, dynamic system modeling, system identification, simulation of nonlinear systems, analysis of linear control systems, lead-lag control, PID, LQR, optimization-based control, and LQG. Projects use Arduino for hardware implementation.

(Advanced) Feedback linearization and nonlinear control of two link robots [Example] Simulation of a two-link robot corresponding to Example 6.2 of Applied Nonlinear Control by Slotine.

(Advanced) Reinforcement Learning with MATLAB (Curriculum) 4 Learning Modules on reinforcement learning covering Q-learning for MDP, Stochastic Gridwrold with DQN, thermal control with DDPG Agent, and robot walking.

Sensing and Perception

(Beginner) Intro to Image Processing - University of Wisconsin-Madison This short project introduces students to image processing with MATLAB including importing images from the web, color transformations, circle finding, and edge finding.

(Beginner) Getting Started with Perception [Videos | Examples] Video tutorials and examples for: - Basic Image Processing - Image Segmentation - Feature Matching and Tracking - Point-Cloud Processing

(Beginner) Image Processing Onramp with MATLAB 2-Hour interactive course covering image handling in MATLAB, image segmentation, pre and post processing techniques, classification, and batch processing.

(Intermediate) Computer Vision Onramp (Self-Paced Tutorials) 2-Hour interactive tutorial covering processing of video data, feature extraction and matching, object detection, and tracking.

(Intermediate) Image processing with MATLAB (Self-paced Course) 11-Hour interactive tutorial covering working with images, segmentation based on color and texture, object detection, edge and shape detection, batch processing, and image registration.

(Advanced) Deep Learning Onramp (Self-Paced Course) 2-Hour interactive tutorial covering usage of pre-trained neural networks, image management, and transfer learning for classification.

Programming and Embedded Computing

(Beginner) Intro to MATLAB Programming (Self-Paced Course) 2-Hour Introduction to programming tutorial using MATLAB. Covering programming environment, relational operators, arrays, vectors, matrices, functions, plotting, and data import.

(Intermediate) MATLAB and Simulink ROS Tutorials [Curriculum] 9 Lessons with hands-on projects teaching the basics of interacting with robots powered by ROS (Robot Operating System).

(Advanced) Getting Started with MATLAB, Simulink and ROS [Examples | Videos | GitHub] Examples and video tutorials on: - Using MATLAB with ROS - Using Simulink with ROS - Automatic Code Generation for ROS Nodes - Distributed Computing Using ROS

Robot Intelligence

Navigation, Localization, Mapping and SLAM

(Beginner) Introduction to Mobile Robotics (Self-paced Tutorials) 5 Video tutorials with accompanying simualtions covering robot control, PID design, line following, obstacle detection and path navigation.

(Beginner) Navigation Stack Templates for Mobile Robots [Examples | Videos] Reference application and examples for:

  • Mapping
  • Path Following
  • Path Planning
  • Trajectory Generation
  • Monte Carlo Localization
  • SLAM

(Intermediate) Localization and Kalman Filters [Curriculum] 6 Lessons explaining the basics of landmark-based robot localization including: Sensor processing, robot control, localization and kalman filter theory, and ROS implementation.

Manipulation

(Beginner) Robotic Manipulators Course Modules (Curriculum) Live script lessons covering fundamental concepts for manipulation. Covering point translations/rotations, transformation matrices, DH parameters and more.

(Beginner) Forward/Inverse Kinematics of 2-link robots [Interactive Example] Example and simulation explaining how to derive forward/inverse kinematics, and jacobian of a 2-link chain. With final project robot writing "hello" with end effector.

(Beginner) Workspace Analysis of Planar n-DOF robots [Example] Use this function to visualize and analyze the workspaces of planar robots from their DH parameters.

(Intermediate) Modeling and Control of Serial Manipulators using Dual-Quaternions 8 Lessons covering how to use Dual-Quaternion (DQ) robot representations for kinematic modeling and robot control.

(Intermediate) Designing Manipulator Algorithms [Examples | Simulations] Reference application and examples demonstrating:

  • Task Space Control
  • Joint Space Control
  • Forward/Inverse Kinematics
  • Closed-loop control
  • Supervisory logic and task scheduling
  • Actuator Modeling

Planning

No content yet :'( Any suggestions for this topic?

Collaboration (Multi-Robot, Human-Machine)

Modeling Multi-Agent Robot Systems - University of Washington 4 Lectures and accompanying code examples covering deling multi-agent systems, graph theory for interaction, agreement protocol for rendezvous, and formation control.

Machine Learning

Deep Learning and Reinforcement Learning

(Beginner) Reinforcement Learning Onramp [Self-Paced Course] 3 Hour interactive tutorial covering Reinforcement learning overview, defining environments, defining agents, and training agents.

(Intermediate) AI for Robotics Workshop [Examples] Examples and lessons on how to develop a mobile robot using AI for perception and control in both simulation and with an Nvidia JetBot.

(Intermediate) Q-learning for 4-Link robot walker (Interactive Simulator) Kinematic simulator for 4-link robot walking demonstrating practical programming, inverse kinematics, Q-learning for motion control, and simulated annealing.

(Intermediate) Reinforcement Learning with MATLAB (Curriculum) 4 Learning Modules on reinforcement learning covering Q-learning for MDP, Stochastic Gridwrold with DQN, thermal control with DDPG Agent, and robot walking.

Instruction and Grading Tools

More content

Didn't find what you were looking for? Try the following links to more teaching resources:

Did we miss something?

  • Submit requests to add content by opening an issue in the repository

Copyright 2022 The MathWorks, Inc.