ECEN 5033 - RT Media and Control Systems Home Page
ECEN 5033-001 Special Topic - Spring 2008
Real-Time Digital Media and Robotics
(A Linux-Based Real-Time Systems Course)
Classes: Held on Mondays 4:00-6:30 pm, with lectures in ECEE 1B28
Labs: labs/demos wil be held in ECEE 2B37, BuffOne Card Access
Prerequisites: Basic Linux and C programming proficiency (REQUIRED)
Related Coursework (Embedded Certificate Program): ECEN 5613/4613, ECEN 5623/4623, ECEN 5543 (not required, but helpful).
Offered by Electrical Engineering Dept. (Schedule) and by CAETE in the Embedded Systems Certificate Program
Non CU students may register through CAETE:registration Info
Please e-mail Pam Wheeler [Pam.Wheeler@Colorado.edu] for more info or e-mail Robin McClanahan [Robin.McClanahan@Colorado.edu] with CAETE.
E-mail Office Hours: Mon/Tues 7:30-9:00 AM (all outstanding e-mails answered during this time);
Instructor Office Hours: Mon 7:00-8:30 PM, by Appointment otherwise.
Office Hours: Mondays 08:00-08:55am, Tuesdays 05:30-07:00pm, ECEE 2B37.
Office Hours: Weds and Thurs 5:00-6:30pm, ECEE 2B37.
Special Thanks to the University of Colorado Engineering Excellence Fund, industry sponsor Qualcomm, and Open Source Linux and GNU tools.
Last Class, April 28th - Final Quiz CANCELLED, MT return, FCQs, Open Lab
(Need Directions? -- Engineering Center Map, CU Interactive Campus Map)
Course Description
In this course, students will design and build a Linux-based real-time system application for robotics, computer vision, or digital media encode/decode and transport. The course focus is on the process as well as fundamentals of designing, coding, and testing a Linux-based real-time system on an x86 or Cell Broadband Engine platform. Students will complete labs on a Linux platform using POSIX kernel-mapped threads and drivers to implement real-time digital media and control applications.
Topics include: Real-time threading, synchronization, hardware acceleration and function offload, real-time theory, and debug/analysis methods for real-time systems in Linux; Linux drivers, kernel interfaces, and Linux real-time application implementation strategies; basic robotics, computer vision, MPEG2 digital video parser/generators, SDTV/HDTV broadband/baseband transport, open source digital video tools, real-time RTP/UDP transport, and transport stream analysis and standards. Students configure and extend Linux drivers for digital video, computer vision, and robotic control systems in project and lab work.
Upon completion of the course, the student will have a good working knowledge of the full real-time embedded Linux system lifecycle including: analysis, design, programming, hardware integration, unit testing, and system testing for IPTV, digital cable, and robotics/computer-vision systems for embedded Linux.
This course is part of on-going development of distance learning and virtual lab interfaces at the University of Colorado with web-based virtual lab interfaces offered to students as an option and Linux-based exercises that can be done on home systems.
Useful Links for the Course
- DVB Snoop Analyzer
- W6RZ Home Page - MPEG Transport Streams
- LLNL POSIX Thread Programming Tutorials
- YoLinux Thread Programming Tutorials
Open Source Software, Digital Media, and Tools Used
- Linux Device Drivers, 3rd Edition PDF.
- Example Code for this class (see login info on CULearn).
- Open Source Media Used in Class (see login info on CULearn).
- Fedora Core 8 Linux Distribution, Developer Install Option.
- Python Programming Language and Interpreter.
- DDD Debugger.
- Linux Trace Toolkit - Next Generation.
- Linux Trace Toolkit - Original.
- VLC.
- CImg Library.
- XV for Linux.
- IrfanView for Windows.
- Example Code from Real-Time Embedded Components and Systems (see login info on CULearn).
Text and Publications Used
- Real-Time Embedded Components and Systems, Sam Siewert, (ISBN 1584504684), Charles River Media, Thomson Learning Inc., publisher link, Amazon link, Softpro Books, Barnes&Noble, also available in CU bookstore.
- Required On-Line Papers (Available on CULearn or Here using login info on CULearn)
- Dr. Siewert's SoC Drawer Papers with sample code
- Dr. Siewert's Big Iron Lesson Papers with sample code
IPTV and Digital Cable References
- Video Over IP, A Practical Guide to Technology and Applications, Wes Simpson, 2006, Focal Press, ISBN 0-240-80557-7.
- Modern Cable Television Technology, 2nd Edition, Walter Ciciora, James Farmer, et al, 2004, Elsevier Inc., ISBN 1-55860-828-1.
- Digital Video Compression, Peter Symes, 2004, McGraw-Hill Inc., ISBN 0-07-142487-3.
- A Practical Guide to Video and Audio Compression, Cliff Wootton, 2005, Elsevier Inc., ISBN 0-240-80630-1.
Linux Driver and Kernel Programming References
- Building Embedded Linux Systems, Karim Yaghmour, 2003, (ISBN 0-596-00222-X), O'Reilly Media, Inc.
- Understanding the Linux Kernel, 2nd Ed., Daniel P. Bovet & Marco Cesati, 2003, (ISBN 0-596-00213-0), O'Reilly Media, Inc.
- Linux Device Drivers, 3rd Ed., Jonathan Corbet, Alessandro Rubini & Greg Kroah-Hartman, 2005, (ISBN 0-596-00590-3), O'Reilly Media, Inc.
- Linux Kernel Development, Robert Love, 2005, (ISBN 0-672-32720-1), Pearson Education, Inc.
- Embedded Linux Primer - A Practical Real-World Approach, Christopher Hallinan, 2007, (ISBN 0-13-167984-8), Prentice Hall.
- Embedded Linux System Design and Development, P. Raghavan, Amol Lad, Sriram Neeklakandan, 2006, (ISBN 0-8493-4058-6), Auerbach Publications.
Robotics References
- Robot Modeling and Kinematics, Rachid Manseur, 2006, (ISBN 1-58450-851-5), Charles River Media, Thomson Learning Inc.
- Robot Modeling and Control, Mark W. Spong, Seth Hutchinson, M. Vidyasagar, 2006, (ISBN 0-471-64990-2), John Wiley & Sons, Inc.
Digital Signal and Image Processing References
- The Scientist's and Engineer's Guide to Digital Signal Processing, Steven W. Smith, 1997, (ISBN 0-9660176-3-3), California Technical Publishing, Free E-book link.
- Video Processing and Communications, Yao Wang, Jorn Ostermann, and Ya-Qin Zhang, 2002, (ISBN 0-13-017547-1), Prentice Hall, Book web link.
- Computer Vision: A Modern Approach, Forsyth and Ponce, ISBN 0-13-085198-1, (2003).
- Digital Image Processing, Gonzalez and Wintz,Addison-Wesley, 1987
Fundamentals of Digital Image Processing, A.K. Jain,Prentice Hall, 1989.
Please check the syllabus regularly and prepare before class.
Please check CULearn for lab due dates and for submission.
Any PC running Fedora Core 8 and equipped with PCI 2.x bus slots will work as a home lab for the course as an alternative or in addition to using the ECEE 2B37 lab. Please follow the usage guidelines and be aware of ECE department and University of Colorado policies.
Projects using the 6-DOF Robotics/Computer Vision or the digital video lab components must be completed working in groups of 2 to 4 students.
Crust Crawler 6-DOF Arm Video Footage
Please see Lab Specs for Requirements for Robotics Extended Lab
Please see Lab Specs for Requirements for Digital Video Extended Lab