- Level Expert
- Duration 49 hours
- Course by University of Colorado Boulder
-
Offered by
About
This course can also be taken for academic credit as ECEA 5318, part of CU Boulder's Master of Science in Electrical Engineering degree. The final course emphasizes hands-on building of an application using real-time machine vision and multiple real-time services to synchronize the internal state of Linux with an external clock via observation. Compare actual performance to theoretical and analysis to determine scheduling jitter and to mitigate any accumulation of latency. The verification of the final project will include comparison of system timestamp logs with a large set of images which can be encoded into a video. The final report will be peer reviewed and the captured frames and video uploaded for scripted assessment. Course Learning Outcomes: Outcome 1: Decompose a problem and set of basic real-time requirements into software modules and Linux POSIX real-time threads Outcome 2: Analyze services in terms of C (execution time), T (request period), and D (deadlines for completion) to establish feasibility and margin for meeting requirements Outcome 3: Design and construct a solution for a native Linux system equipped with a webcam to verify and demonstrate system synchronization using machine vision processingModules
Introduction
1
Discussions
- Introduce Yourself
2
Videos
- Course Goals and Learning Objectives
- Course Detailed Overview with Assumed Prior Knowledge
1
Readings
- EXTRA HELP - Home Lab Setup for RTES Project
Standard Project Description
3
Videos
- Background Concepts Used for RTES Project
- Detecting External Clock "Tick" with Machine Vision
- Final Peer Review Assessment of RTES Project
Standard Project Goals and Objectives
4
Videos
- Verifying Frame Synchronization to External Clock on Every Frame
- RTES Project Demonstration of 1 Hz Solution
- RTES Project Demonstration of 10 Hz Solution
- Design Notations Used for Software Services
1
Readings
- More Software Design Methods and Notations
Tools and Methods
5
Videos
- Code Walkthrough: V4L2 (Video for Linux 2) Camera Interface Demonstration
- Code Demonstration: Frame Difference Interactive OpenCV Example
- Use of Cheddar for Timing Analysis
- General Methods for Tracing and Profiling RT Embedded Systems
- Linux Syslog, GNU Profiling, and HTOP for RTES Project
Review of Initial Service Design Concepts and Module 1 Quiz
1
Peer Review
- Peer Review of Initial Services, RMA and Timing Diagrams
1
Quiz
- Basics of Real-Time Systems
External Clock Synchronization with Machine Vision Architecture
4
Videos
- Simple Design that Does Not Work and Why
- Better Design Example, But Not Fault Tolerant
- Better Design Somewhat Fault Tolerant
- Best Practice Design Example
1
Readings
- Request for Proposal - Goals and Objectives for the Project
RTES Project Starter Code — Tick Detection, Frame Capture, and Sequencing
3
Videos
- External Clock Tick Detection Starter Code Walk-through
- Simple Frame Capture of 1800 Frames in One Process
- Sequencing RT Services Using a Software Interval Timer
1
Readings
- Download RTES Project Starter Code and Build and Review
Prototype Assessment Practice and Module 2 Quiz
1
Peer Review
- Code Walk-through of Project Starter Code
1
Quiz
- Project Design , Implementation and Functional Testing
Running and Analyzing First RTES Project Complete Implementation
2
Videos
- Coding Tips and Debugging
- Analysis: Methods of Multi-Service Timing Verification
Common Issues with RTES Project
1
Videos
- Review of Common Mistakes
1
Readings
- Most Common RTES Project Errors - A List to Consider
Final 1 Hz Assessment Practice
- Final Project Operation at 1 Hz
1
Peer Review
- Peer Review of 1 Hz Monotonicity and Glitch Free Operation
Methods of RTES Project System Profiling
2
Videos
- Using Sysprof and Kernel Shark on Linux
- Wireshark Network Transport Tracing with Linux
Plotting and Analyzing Trace Data
- Final Project Operation at 10 Hz
1
Peer Review
- 10 Hz Design Walk-through
1
Videos
- Code Walk-through: Demonstration of Syslog for Timing Analysis
Final RTES Project Peer Inspection
1
Peer Review
- Final Design and RTES Solution Presentation
2
Videos
- Example Peer Review Design Demonstration - V4L Example
- Example Peer Review Design Walk-through - OpenCV Example
Final RTES Project and Overall Course Summary
1
Videos
- Take-Away and Final Notes for Course
1
Quiz
- Project and Final Take-Away Major Concepts

Sam Siewert