I am an Assistant Professor in the Department of Computer Science at Iowa State University. I received a Ph.D. in Mechanical Engineering from the California Institute of Technology in 2010 under the supervision of Prof. Richard Murray.
My research interests lie in the broad area of computer science, control, and optimization, with a particular focus on formal methods, motion planning, situational reasoning, hybrid systems, and distributed control systems. Most of my work involves applying mathematical and computational rigor to solve concrete, real-world problems, especially in autonomy, robotics, and transportation.
A significant portion of my career has been devoted to the development of autonomous vehicles, both in academia and industry settings. In particular, I was a principal research scientist and led the planning team at nuTonomy (now Hyundai-Aptiv Autonomous Driving Joint Venture). As one of the earliest employees, I was heavily involved in the whole software development and release process, from design (interfaces and modules) to implementation (C++ and python), testing, evaluation, and deployment. My work focused on planning, decision making, control, behavior specification, and validation of autonomous vehicles. I also led the Systems Team for Team Caltech in the 2007 DARPA Urban Challenge during my Ph.D.
Ph.D. in Mechanical Engineering, 2010
California Institute of Technology
Master of Science in Mechanical Engineering, 2006
California Institute of Technology
Bachelor of Science in Mechanical Engineering (Summa Cum Laude), 2005
I’m looking for Ph.D. students with strong analytical skills and eager to initiate and explore new ideas that will have real-world impact. No particular background is required. If you’re interested, please send me a short email, giving an example of challenges (not necessarily CS/control/robotic related—anything that illustrates your analytical skills works) you have solved or want to solve and how you would approach it.
May 20: Our paper on Hierarchical Multiobjective Shortest Path Problems is available online on WAFR 2020.
Apr 20: I’m giving guest lectures on Minimum Violation Planning and on Rulebooks for the Autonomous Racing course at University of Pennsylvania.
Mar 20: I’m giving a talk on Behavior Specifications of Autonomous Vehicles at Bogazici University, Istanbul, Turkey.
Mar 20: Richard Murray and I are teaching a short course on Specification, Design, and Verification for Self-Driving Cars at Yildiz Technical University, Istanbul, Turkey. The course is sponsored by European Embedded Control Institute (EECI) Internataional Graduate School on Control.
Most of my work draws inspiration from practical applications, especially in autonomy, robotics, and transportation. As these systems become more complex, they cannot be built based on human intuition alone anymore. My research focuses on providing theoretical and computational foundations to enable systematic modeling, design, optimization, and analysis for such complex systems.
During my Ph.D., I led the Systems team and implemented the finite state machine logic that accounted for traffic rules and governed the overall functioning of the planner of Alice, Team Caltech’s entry in the 2007 DARPA Urban Challenge. The difficulties in the design and analysis of this finite state machine motivated my research on applying formal methods to control systems as part of the MURI project on Specification, Design and Verification of Distributed Embedded Systems. During my postdoc at SMART, I worked on building low-cost autonomous vehicles for mobility-on-demand systems, developing distributed algorithms for controlling traffic lights, and designing transportation pricing strategies to reduce traffic congestion.
I also spent 4+ years at a self-driving car company, nuTonomy, where I initially led the planning team and was a primary developer of the planning and decision-making module. Unlike in Alice, nuTonomy’s planning system does not rely on complex finite state machines. Instead, we applied formal methods to automatically build the decision-making logic such that it is provably correct by construction. While I was excited to see the core part of my research in real-world practices, I realized that there is a fundamental problem that has been mostly overlooked by the formal methods community and lies in the lack of precise specifications of these autonomous systems, i.e., in defining what constitutes their correct behaviors, taking into account various factors, including safety, regulatory requirements, comfort, culture, etc, that may be conflicting. My recent work focuses on addressing this gap and developing theory, methods, and tools to derive, analyze, and refine specifications for autonomous systems..js-id-Current-projects
A path planning system for multi-vehicle domains.
Assess and demonstrate the role of autonomy in mobility-on-demand systems through modeling, algorithm development and experimental demonstration.
Design a consensus protocol to solve the assignment problem in a distributed manner.
Develop mathematical and computational frameworks to facilitate the design and analysis of embedded control systems such as autonomous vehicles.
Derive, analyze, and refine specifications from regulatory requirements and demonstrations.
Develop planning and decision-making algorithms with multiple, potentially conflicting objectives.
Mechanism design for dynamic pricing and real-time control of traffic signals based on control, communication, optimization and game theory
A Python-based software toolbox for the synthesis of embedded control software that is provably correct with respect to an expressive subset of linear temporal logic (LTL) specifications.