Course Description:
Have you wondered how we will accomplish the dream of driverless cars that
improve transportation safety and reduce manual effort, or unmanned autonomous
aerial vehicles that perform a variety of tasks such as search and rescue,
disaster relief, or even mundane package delivery? This course introduces you
to the basics of computational models, control algorithms, architectures, and
challenge problems for such Autonomous CyberPhysical Systems. A CyberPhysical
System (CPS) consists of two main parts: (1) physical components (electrical,
electronic, mechanical, hydraulic, etc.), and (2) software that is used to
control the behavior of the physical components. An autonomous CPS is a system
that is designed to operate without human intervention. Examples of autonomous
CPSs include driverless cars, unmanned aerial or submarine vehicles, and
humanoid and other autonomous robots.
In this course, we will first study the basics of CPS from a computer science
and formal methods/reasoning perspective. This includes: formal models of
computation for CyberPhysical Systems, formal languages for specification and
testing of CPS systems, and introduction to some common coding platforms for
CPS software development. In the second part of the course, we will study the
architectures and algorithms used in autonomous CPSs through some important
case studies. One of the homework assignments will teach you an end-to-end
implementation of a simple self-driving vehicle subsystem. The course will
position you to gain the skills required for industrial development of
autonomous systems, and will also enable you to think about research problems
in autonomy.
Learning Objectives:
- Gain basic familiarity with CyberPhysical Systems
- Learn how to develop software for a CPS using a model-based development approach
- Learn how to write formal requirements for CPS models and perform testing
- Learn basics of simulation-based testing and falsification
- Learn basics of autonomous systems, and the autonomous systems software stack
Instructor:
Jyotirmoy (Jyo) V. Deshmukh
Lectures:
Tue, 3:30-5:20pm, VKC 211
Thu, 3:30-5:20pm, VKC 211
Grading Policy:
Grading