Instructor:
Dr. Justin Bradley
290 Schorr Center Email: justin.bradley@unl.edu
Phone: (402) 472-5072 Office hours: by appointment
Course Description
This course introduces students to the research, design, and analysis of cyber-physical systems – the tight integration of computing, control, and communication. Applications for CPS research are far reaching and span medical devices, smart buildings, vehicle systems, and mobile computing. The application domain for this course will be cyber-physical (aerospace) vehicle systems though techniques are more broadly applicable. The course introduces, compares, and contrasts two complementary areas of study: control theory, and automata theory with a focus on how the two are combined in CPS to enable intelligent, safe, and robust robotic vehicles. A semester project will help students creatively apply cutting-edge CPS research to their research problems. Because CPS research is so broad prerequisites are minimal and basics in the specific areas of study will be reviewed. Helpful background includes digital control, real-time systems theory, automata theory, and optimization. Students from Computer Science, Computer Engineering, Electrical Engineering, and Mechanical Engineering should be appropriately prepared for this course.
Class: Tuesday, Thursday 11:00 - 12:15 in M&N B7
Full Syllabus
Course Materials
Most course materials will be stored on the private learning management system (Canvas). But here are the books from which I have drawn material and used as references.
- Lee, Edward Ashford, and Sanjit Arunkumar Seshia. Introduction to embedded systems: A cyber-physical systems approach. Lee & Seshia, 2011
- Alur, Rajeev. Principles of Cyber-Physical Systems. MIT Press, 2015
- Wolf, Marilyn. High-Performance Embedded Computing: Applications in Cyber-Physical Systems and Mobile Computing. Elsevier, 2014
- Wolf, Marilyn. Computers as components: principles of embedded computing system design. Elsevier, 2017.
- Control theory books (I have several that include):
- Hespanha, Joao P. Linear systems theory. Princeton university press, 2009.
- Åström, Karl J., and Björn Wittenmark. Computer-controlled systems: theory and design. Courier Corporation, 2013.
- Franklin, Gene F., J. David Powell, and Michael L. Workman. Digital control of dynamic systems. Vol. 3. Menlo Park: Addison-wesley, 1998.
Assignments
HW #1
HW #2
HW #3
HW #4
Project
Helpful Websites, Papers, etc.
Cyber-Physical Systems is an interdisciplinary area of study. A broad understanding of related topics helps create strong researchers that can bridge disciplines. Not all students will have such breadth of knowledge. To help with the homework assignments, projects, and lectures in this course, here is a set of resources which I have found useful for myself and students. I will continue to add to this list as I find more helpful resources.
Dynamics and Control
- Michigan Controls Tutorial: This is a phenomenol tutorial put together that walks users through many different design methods using Matlab and Simulink.
- BYU ControlBook: This is the website for the book from which I have taken some of the material for this course. There are useful solutions to problems in the book as well as Simulink, Matlab, and Python code. This book (downloadable for free on that website) is very approachable for those without a controls background. Highly recommend!
- Lagrangian Mechanics Tutorial: This tutorial gives a nice, intuitive explanation of where the Lagrangian comes from and why it’s so useful. Incidentally, the main website for this tutorial has lots of good physics information (but beyond the scope of this course).
- iLecture Online Lagrangian Tutorial: Video series introducing Lagrangian Mechanics (with examples).
Matlab
- Mathworks Matlab Courses: Mathworks has a number of interactive courses that can help you learn Matlab basics fairly quickly.
- tutorialspoint Matlab Tutorial: Tutorial for those with little programming experience.
- Mathworks File Exchange: File Exchange is an online community/repository of useful user-contributed functionality and toolboxes you can add to Matlab.
- Matlab Tutorial: This tutorial gets you up and running with the basics in Matlab as quickly as possible.