Autonomous Cyber-Physical Systems: Course Introduction

Slides:



Advertisements
Similar presentations
CSE 5522: Survey of Artificial Intelligence II: Advanced Techniques Instructor: Alan Ritter TA: Fan Yang.
Advertisements

CS/CMPE 535 – Machine Learning Outline. CS Machine Learning (Wi ) - Asim LUMS2 Description A course on the fundamentals of machine.
General information CSE 230 : Introduction to Software Engineering
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
Introduction: What is AI? CMSC Introduction to Artificial Intelligence January 7, 2003.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
CSCI 1730: C++ and System Programming
Computer Network Fundamentals CNT4007C
Welcome to CS 4390/CS5381: Introduction to Formal Methods
Advanced Software Engineering
EE5900 Cyber-Physical Systems
Course Overview - Database Systems
Probabilistic Analysis of Computer Systems
MATH/COMP 340: Numerical Analysis I
Computer Networks CNT5106C
COMP 523 Diane pozefsky 24 August 2016.
E 96 Introduction to Engineering Design Peter Reiher UCLA
It’s called “wifi”! Source: Somewhere on the Internet!
CMSC 611 Advanced Computer Arch.
Subcontracting SBP 210 Lesson 1: Introduction
Objectives of the Course and Preliminaries
Principles of Computing – UFCFA Lecture-1
September 27 – Course introductions; Adts; Stacks and Queues
Autonomous Cyber-Physical Systems: Course Introduction
COSC051: Computer Science I
CS410: Text Information Systems (Spring 2018)
Autonomous Cyber-Physical Systems: Autonomous Systems Software Stack
CSCD 433/533 Advanced Computer Networks
Course Overview - Database Systems
CSCI 5582 Artificial Intelligence
Andy Wang Operating Systems COP 4610 / CGS 5765
Foundations of Programming Languages – Course Overview
EECE 310 Software Engineering
This Class This is a graduate level spatial modeling class in natural resources This will be one of the most challenging classes you’ll probably take You’ll.
Lecturer: Geoff Hulten TAs: Kousuke Ariga & Angli Liu
Introduction to Artificial Intelligence
Andy Wang Operating Systems COP 4610 / CGS 5765
Introduction to CS II Data Structures
CMSC 611 Advanced Computer Arch.
Introduction to Programming Using C++
COMS 161 Introduction to Computing
Andy Wang Operating Systems COP 4610 / CGS 5765
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Automata and Formal Languages
26 July 2011 SC 611 Class 1.
CS6501 Embedded Operating Systems for the IoT
CS3216: Software Development on Evolving Platforms
First Semester 1439/1440 Welcome 
Topics in Formal Reasoning for Cyber-Physical Systems
Andy Wang Operating Systems COP 4610 / CGS 5765
CS4501: Information Retrieval Course Policy
CSCD 433/533 Advanced Computer Networks
Principles of Programming Languages
Human Media Multicore Computing Lecture 1 : Course Overview
IS8014 Theory & Qualitative Research in IS Week 1:
CIS5930: Advanced Topics in Parallel and Distributed Systems
Human Media Multicore Computing Lecture 1 : Course Overview
Human Media Multicore Computing Lecture 1 : Course Overview
Principles of Imperative Computation
Principles of Computing – UFCFA Week 1
Computer Networks CNT5106C
Type Systems for Programming Languages
Andy Wang Operating Systems COP 4610 / CGS 5765
Data and Applications Security Developments and Directions
Lecture 1a- Introduction
Models of cooperating systems
CS Problem Solving and Object Oriented Programming Spring 2019
Course Introduction Data Visualization & Exploration – COMPSCI 590
CSCI 1730: C++ and System Programming
Lecturer: Geoff Hulten TAs: Alon Milchgrub, Andrew Wei
Presentation transcript:

Autonomous Cyber-Physical Systems: Course Introduction Spring 2019: CS 599 Instructor: Jyo Deshmukh Course materials: http://www-bcf.usc.edu/~jdeshmuk/teaching/cs599-autocps-spring-2019/

What is a Cyber-Physical System? Different ways to answer this question! Wikipedia: A Cyber-Physical system (CPS) is a mechanism controlled or monitored by software algorithms. NSF: engineered systems built from, and depending upon, the seamless integration of algorithms and physical components From a historical perspective CPS combines elements of cybernetics, mechatronics, control theory, process science, embedded systems, distributed control, and more recently communication. One common saying: CPS = Control + Computation + Communication

Our focus on CPS in this course Control Computation Communication Systems where the behavior of the physical components is strongly influenced by the software components Systems where there the communication between the physical component and the software component may be direct or through a network Systems in which the primary role played by software is control (in contrast to passive monitoring) CPS

Communication Network One view of a CPS Actuators Physical component Sensors Environment/Plant Communication Network Controller (Some embedded code)

Examples [All images from Google image search]

What’s an autonomous CPS? Autonomous: without the need for human intervention or control Autonomous CPS = CPS with no human operator! Semi-autonomous: CPS with autonomy under specific conditions, but requiring a human operator otherwise. Today, several CPS examples are semi-autonomous, and getting to fully autonomous

Autonomous/Semi-autonomous CPS Image credit: Motor Authority Image credit: army.mil Image credit: Google images

Course Objectives Gain basic familiarity with CPS topics Computational models Control algorithms Software Architectures Challenge Problems/Case studies “Model-Based” Software Development Paradigm for CPS Developing models for physical components + software + communication Software Engineering: Writing checkable requirements and tests Software testing for CPS Learn autonomous software stack through case studies in autonomy

Key theme of the course: Formal Reasoning Formal Reasoning is required because we are dealing with systems that are safety-critical, and/or mission-critical with huge implications on human health, well-being, economy, etc. The FDA has issued 23 recalls of defective devices during the first half of 2010, all of which are categorized as “Class I,” meaning there is “reasonable probability that use of these products will cause serious adverse health consequences or death.”

Course Overview Part I: Model-based Development Synchronous & Asynchronous Models, Timed Models, Dynamical System Models, Hybrid Models, Basics of Control Part II: Expressing Requirements, Monitoring, Test Generation Temporal Logic, Test Generation, Falsification Part III: Ingredients of Autonomous CPS software Basics of perception, decision-making, reinforcement learning, sensing, examples from self-driving, UAVs and medical devices Part IV: Introduction to Formal Verification Reachability Analysis, Barrier Certificates, Mining Requirements

How will we evaluate ourselves? 4 Homework Assignments Two written assignments, and two coding assignments Coding assignments: Develop components in the software stack of an autonomous CPS application 2 simple take-home exams Will test basic understanding of what we cover in the course Class Project

Class Project Purpose: Expected outcome: Practice Model-based Development of a CPS application Write formal requirements Generate tests using falsification/test generation Bonus: Mine requirements / Prove safety Expected outcome: Matlab/Simulink (simulation) model of a CPS application Can also develop model in Python if that is the preferred language (will require additional work for handling requirements!) If motivated, you can try to deploy it on the chosen hardware platform I have a few that I can give you to play with – first-come-first-serve, ask me about these!

Class Project Potential CPS applications: UAV application (quadrotor drone) Autonomous vehicle subsystem (e.g. lane change assist, collaborative merging, stop- sign detection, collision avoidance, autonomous intersection management, platooning, etc.) Medical device (Insulin infusion pump, Pacemaker) Ground robot with limited sensing capabilities Biological system Any other application you want – just check with me before starting work!

Learning curve will be sharper if: You have no knowledge of Matlab Matlab is easy to learn, with several online resources and tutorials, but it may take you some time if you have never used it! You have no knowledge of automata Knowledge of finite-state automata will help, but I will go over the basics You do not remember elementary calculus Basics of differential equations

Grading and Evaluation Breakdown Assignments: 40% (4x10) Tests: 30% (2x15) Project: 25% (Proposal: 5, Final Deliverable: 15, Final Talk: 5) Attendance + Class participation: 5% Please ask questions in class or at office hours!

Textbooks: Optional Principles of Cyber-Physical Systems by Rajeev Alur $56-63 on Amazon Free e-book available on USC libraries Introduction to Embedded Systems: A CPS approach - Free at: https://ptolemy.berkeley.edu/books/leeseshia/

Office Hours, Class Timings First 5 mins: recap of last lecture + outline of this lecture + announcements Last 20 mins: optional questions, discussions, etc. Office Hours: Monday, 12:00pm-2:00pm, SAL 340, or by appointment. No TA

Introductions … What’s your background? Why did you feel like taking this course? What do you expect to get out of it? Exposure to Matlab/Simulink/Control Theory? One fun fact about you.

Questions?