Skip to content

Latest commit

 

History

39 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

CaaT Academy — Control & Robotics Lab

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.

CaaT Academy


Current Repository Status

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.


Published Courses

Lecture material and code are deliberately stored in separate trees:

  • Tutorials/Lectures/<Course>/... — standalone HTML lessons
  • Tutorials/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

Repository Structure

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.


Lecture Structure

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.


Companion Code Structure

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.


Languages and Technologies

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.


How to Use the Repository

Clone the current repository:

git clone https://github.com/mohammadijoo/Control_Robotics_Lab.git
cd Control_Robotics_Lab

Then 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/

Suggested Study Workflow

  1. Start from Tutorials/index.html and choose a published course.
  2. Follow the course chapters in sequence.
  3. Read the corresponding HTML lesson in Tutorials/Lectures.
  4. Study the equations, derivations, diagrams, and engineering explanations.
  5. Open the matching Tutorials/Codes lesson folder.
  6. Run one or more available implementations.
  7. Modify parameters, initial conditions, controller settings, or model assumptions and compare results.

Course Roadmap

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.


Main Subject Areas

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

Contributing

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.


License and Usage

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


Author

Abolfazl Mohammadijoo

About

This repository includes codes for comprehensive tutorials in Control / Robotics Engineering. The link of YouTube video tutorials are mentioned in description.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

133 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages