Course Description:


Cars, many ground and aerial robots, and medical devices have all traditionally relied on a human operator. By bestowing autonomy on these systems, we hope to lessen the role of or completely eliminate the need for a human operator. What distinguishes these autonomous mobile applications is that they are all safety-critical. Software failures in these systems can cause harm to humans or damage to property. This course teaches you how to build autonomous systems while keeping safety as the foremost concern. To bring safety to the fore, we start by discussing formal models of computation for ACPS, and basics of linear and nonlinear control theory as used for ACPS. In the second part of the course, we introduce how to reason about the safety of such ACPS using formal specification languages and advanced testing methods. In the third part of the course, we will study some of the main components used in autonomy such as software components for perception, planning, navigation, and AI-based techniques for control design such as reinforcement learning. The homework assignments will be a mix of theoretical exercises and coding. The latter includes an 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.


Instructor Jyotirmoy V. Deshmukh [Jyo]
Time 2:00 - 5:20pm
Medium of instruction In-person, GFS 116
TAs
Office hours [Jyo]: Tuesdays 11am-12pm or by appointment
Office hours []: