A browser-native engineering course library for control engineering, robotics, simulation, system dynamics, mathematical modeling, and autonomous systems.
CaaT Academy is built around the idea of “Coding beside Theory”: each course provides structured lecture material together with companion implementation examples so that theory, mathematics, simulation, and code can be studied side by side.
The current main branch contains:
- 9 published courses
- 204 course chapters
- 1,035 standalone HTML lesson pages
- Separate lecture and companion-code trees for every published course
- Implementations primarily in Python, C++, Java, MATLAB, and Wolfram Language / Mathematica
- A 35-course prerequisite roadmap in the academy homepage, including both published and planned courses
- Shared CSS, JavaScript, images, theme support, navigation helpers, Mermaid export support, and other website assets
The academy landing page is Tutorials/index.html.
Lecture material and code are deliberately stored in separate trees:
Tutorials/Lectures/<Course>/...— standalone HTML lessonsTutorials/Codes/<Course>/...— companion source-code examples and supporting files
| Course | Chapters | HTML Lessons | Lectures | Companion Code |
|---|---|---|---|---|
| Introduction to Robotics | 20 | 109 | Introduction_to_Robotics_Course | Introduction_to_Robotics_Course |
| System Dynamics | 20 | 100 | System_Dynamics_Course | System_Dynamics_Course |
| Linear Control | 30 | 150 | Linear_Control_Course | Linear_Control_Course |
| Modern Control | 30 | 150 | Modern_Control_Course | Modern_Control_Course |
| Robotics: Kinematics and Dynamics | 20 | 101 | Robotics_Kinematics_and_Dynamics_Course | Robotics_Kinematics_and_Dynamics_Course |
| Robot Control | 16 | 81 | Robot_Control_Course | Robot_Control_Course |
| Autonomous Mobile Robots | 20 | 100 | Autonomous_Mobile_Robots_Course | Autonomous_Mobile_Robots_Course |
| Advanced Robotics | 20 | 104 | Advanced_Robotics_Course | Advanced_Robotics_Course |
| Adaptive Control | 28 | 140 | Adaptive_Control_Course | Adaptive_Control_Course |
| Total | 204 | 1,035 |
The repository currently follows this high-level structure:
Control_Robotics_Lab/
├── LICENSE
├── README.md
└── Tutorials/
├── index.html
├── Lectures/
│ ├── Adaptive_Control_Course/
│ ├── Advanced_Robotics_Course/
│ ├── Autonomous_Mobile_Robots_Course/
│ ├── Introduction_to_Robotics_Course/
│ ├── Linear_Control_Course/
│ ├── Modern_Control_Course/
│ ├── Robot_Control_Course/
│ ├── Robotics_Kinematics_and_Dynamics_Course/
│ └── System_Dynamics_Course/
├── Codes/
│ ├── Adaptive_Control_Course/
│ ├── Advanced_Robotics_Course/
│ ├── Autonomous_Mobile_Robots_Course/
│ ├── Introduction_to_Robotics_Course/
│ ├── Linear_Control_Course/
│ ├── Modern_Control_Course/
│ ├── Robot_Control_Course/
│ ├── Robotics_Kinematics_and_Dynamics_Course/
│ └── System_Dynamics_Course/
└── assets/
├── css/
├── images/
└── js/
The course names are mirrored between Lectures and Codes so the theoretical material and its corresponding implementations are easy to locate.
Each published lecture course has its own course index and chapter folders. A typical lecture tree looks like:
Tutorials/Lectures/Adaptive_Control_Course/
├── index.html
├── Chapter01/
│ ├── Lesson1.html
│ ├── Lesson2.html
│ ├── Lesson3.html
│ └── ...
├── Chapter02/
└── ...
The lesson pages are standalone HTML documents designed for direct browser use.
Code is stored separately from the lecture HTML. A typical code tree looks like:
Tutorials/Codes/Adaptive_Control_Course/
├── Chapter01/
│ ├── Lesson1/
│ │ ├── Chapter1_Lesson1.cpp
│ │ ├── Chapter1_Lesson1.java
│ │ ├── Chapter1_Lesson1.m
│ │ ├── Chapter1_Lesson1.nb
│ │ └── Chapter1_Lesson1.py
│ ├── Lesson2/
│ └── ...
├── Chapter02/
└── ...
The exact files vary by lesson. Some lessons also include supporting data, scripts, archives, build files, or other implementation-specific resources.
The repository currently contains material and examples using technologies including:
- Python
- C++
- Java
- MATLAB
- Wolfram Language / Mathematica
- HTML
- CSS
- JavaScript
Some code folders also contain supporting files such as CSV data, shell scripts, CMake files, archives, and environment/build resources where needed.
Clone the current repository:
git clone https://github.com/mohammadijoo/Control_Robotics_Lab.git
cd Control_Robotics_LabThen open the academy homepage:
Tutorials/index.html
From there you can browse the published courses and the full learning roadmap.
You can also open a lesson directly, for example:
Tutorials/Lectures/Adaptive_Control_Course/Chapter01/Lesson1.html
When a lesson has companion implementations, use the matching path under Tutorials/Codes:
Tutorials/Codes/Adaptive_Control_Course/Chapter01/Lesson1/
- Start from Tutorials/index.html and choose a published course.
- Follow the course chapters in sequence.
- Read the corresponding HTML lesson in
Tutorials/Lectures. - Study the equations, derivations, diagrams, and engineering explanations.
- Open the matching
Tutorials/Codeslesson folder. - Run one or more available implementations.
- Modify parameters, initial conditions, controller settings, or model assumptions and compare results.
The academy homepage contains a 35-course prerequisite roadmap spanning foundational robotics and modeling through advanced control, intelligent systems, industrial automation, and specialized robotics topics.
The repository currently contains folders only for the 9 published courses listed above. Planned courses remain visible in the roadmap and can be added to the same Lectures / Codes structure as they are completed.
The currently published material covers:
- Robotics foundations
- System modeling and simulation
- Classical and linear control
- State-space and modern control
- Robot kinematics
- Robot dynamics
- Manipulator control
- Autonomous mobile robots
- Navigation, localization, mapping, and planning
- Advanced robotics
- Adaptive control
- Parameter estimation and self-tuning control
Contributions are welcome for tasks such as:
- Fixing typos or broken links
- Correcting mathematical or programming errors
- Improving explanations
- Improving portability of code examples
- Reporting issues in lecture pages, simulations, or supporting files
Please open an issue or submit a pull request with a clear description of the proposed change.
This repository uses a dual-license structure. See LICENSE for the authoritative terms.
- Course text, explanations, diagrams, lesson pages, images, and documentation are licensed under CC BY-NC-SA 4.0.
- Source-code examples are licensed under PolyForm Noncommercial 1.0.0 unless otherwise stated.
- Attribution to Abolfazl Mohammadijoo and this repository must be preserved.
- Commercial use requires a separate commercial license.
For commercial licensing, contact: a.mohamadijoo@gmail.com
Abolfazl Mohammadijoo
- GitHub: https://github.com/mohammadijoo
- CaaT Academy: https://mohammadijoo.github.io/CaaT_Academy/
- YouTube: https://www.youtube.com/@abolfazlmohammadijoo