Building Digital Twins

About the Course

Screenshot

This course is all about making Digital Twins ‘work’ using largely Open Source infrastructure (along with some COTS products). As such, the course requires an understanding of the following: Python, C#, 3D physics / gaming engines (currently Unity Engine), Git source code management, and some Linux (via WSL 2) or macOS shell scripting (depending on your OS).

Building Digital Twins assignments are different than what you might normally see in a course. Each assignment serves as the basis for the next one, so it’s VERY IMPORTANT that you start working on each as soon as possible, as they get progressively more difficult and can take many days to implement.

Although specialized device hardware (e.g., an SBC with attached sensors and actuators) is NOT required for the course, you will need a reasonably powerful development workstation or laptop with a modern graphics card / GPU and monitor, as we’ll be building 3D visualizations within a 3D physics / gaming engine (again, Unity Engine or other – subject to change) to process and interpret simulated data sets. The required lab modules can technically run on a single system running Windows 10 / 11 (with some components running in WSL 2) or macOS; I’ll mostly be teaching and demonstrating code using Windows 11 / WSL 2.

See Programming Digital Twins – README for the Lab Module roadmap.

Course Organization and Syllabus (subject to change)

WEEKPARTTOPICTYPE
1 01Foundational Concepts and DevOps: Digital Twin BasicsLecture/Lab
2 Architecture and Core Digital Twin Components – Part 01 of 02Lecture/Lab
3 Architecture and Core Digital Twin Components – Part 02 of 02Lecture/Lab
4 Quiz No. 1 (Part 01)Lecture/Quiz
502Telemetry GenerationLecture/Lab
6 State SynchronizationLecture/Quiz
7 System ModelingLecture/Lab
8 Quiz No. 2 (Part 02)Lecture/Quiz
903System Integration & ManagementLecture/Lab
10 Basic Predictive MaintenanceLecture/Lab
11 User Training & SimulationLecture/Lab
12 Quiz No. 3 (Part 03)Lecture/Quiz
1304Final Project Use Case Selection; Other Topics – Part 01 of 02Lecture/Lab
14 Final Project Use Case Selection; Other Topics – Part 02 of 02Lecture/Lab
15 Final Project Completion and PresentationProject Presentations