Online and offline learning of player objectives from partial observations in dynamic games

Lasse Peters*, Vicenç Rubies-Royo, Claire J. Tomlin, Laura Ferranti, Javier Alonso-Mora, Cyrill Stachniss, David Fridovich-Keil

*Corresponding author for this work

Research output: Contribution to journalArticleScientificpeer-review

29 Downloads (Pure)


Robots deployed to the real world must be able to interact with other agents in their environment. Dynamic game theory provides a powerful mathematical framework for modeling scenarios in which agents have individual objectives and interactions evolve over time. However, a key limitation of such techniques is that they require a priori knowledge of all players’ objectives. In this work, we address this issue by proposing a novel method for learning players’ objectives in continuous dynamic games from noise-corrupted, partial state observations. Our approach learns objectives by coupling the estimation of unknown cost parameters of each player with inference of unobserved states and inputs through Nash equilibrium constraints. By coupling past state estimates with future state predictions, our approach is amenable to simultaneous online learning and prediction in receding horizon fashion. We demonstrate our method in several simulated traffic scenarios in which we recover players’ preferences, for, e.g. desired travel speed and collision-avoidance behavior. Results show that our method reliably estimates game-theoretic models from noise-corrupted data that closely matches ground-truth objectives, consistently outperforming state-of-the-art approaches.

Original languageEnglish
Pages (from-to)917-937
Number of pages21
JournalInternational Journal of Robotics Research
Issue number10
Publication statusPublished - 2023


  • Inverse dynamic games
  • inverse optimal control
  • multi-agent prediction


Dive into the research topics of 'Online and offline learning of player objectives from partial observations in dynamic games'. Together they form a unique fingerprint.

Cite this