This project aims to transform the software development process in modern cars, which are witnessing significant innovation with many new autonomous functions being introduced, culminating in a fully autonomous vehicle. Most of these new features are indeed implemented in software, at the heart of which lies several control algorithms. Such control algorithms operate in a feedback loop, involving sensing the state of the plant or the system to be controlled, computing a control input, and actuating the plant in order to enforce a desired behavior on it. Examples of this range from brake and engine control, to cruise control, automated parking, and to fully autonomous driving. Current development flows start with mathematically designing a controller, followed by implementing it in software on the embedded systems existing in a car. This flow has worked well in the past, where automotive embedded systems were simple ? with few processors, communication buses, and simple sensors. The control algorithms were simple as well, and important functions were largely implemented by mechanical subsystems. But modern cars have over 100 processors connected by several miles of cables, and multiple sensors like cameras, radars and lidars, whose data needs complex processing before it can be used by a controller. Further, the control algorithms themselves are also more complex since they need to implement new autonomous features that did not exist before. As a result, both computation, communication, and memory accesses in such a complex hardware/software system can now be organized in many different ways, with each being associated with different tradeoffs in accuracy, timing, and resource requirements. These in turn have considerable impact on control performance and how the control strategy needs to be designed. As a result, the clear separation between designing the controller, followed by implementing it in software in the car, no longer works well. This project aims to develop both the theoretical foundations and the tool support to adapt this design flow to emerging automotive control strategies and embedded systems. This will not only result in more cost-effective design of future cars, but will also help with certifying the implemented controllers, thereby leading to safer autonomous cars.
Abstract
Samarjit Chakraborty
Samarjit Chakraborty is a William R. Kenan, Jr. Distinguished Professor and Chair of the Department of Computer Science at UNC Chapel Hill. Prior to coming here he was a professor of Electrical Engineering at the Technical University of Munich in Germany from 2008 – 2019, where he held the Chair of Real-Time Computer Systems. From 2011 – 2016 he additionally led a research program on embedded systems for electric vehicles at the TUM CREATE Center for Electromobility in Singapore, where he also served as a Scientific Advisor. He was an assistant professor of Computer Science at the National University of Singapore from 2003 – 2008, before joining TUM. He obtained his PhD from ETH Zurich in 2003. His research is broadly in embedded and cyber-physical systems design. He received the 2023 Humboldt Professorship Award from Germany and is a Fellow of the IEEE.
Performance Period: 01/01/2021 - 12/31/2023
Institution: University of North Carolina at Chapel Hill
Sponsor: NSF
Award Number: 2038960