Safe Reinforcement Learning using Ideas from Model Predictive Control

Georg Schäfer, Jakob Rehrl, Stefan Huber, Simon Hirlaender
7/8/2026
cs.LGcs.RO

No confident code implementation found for this paper.

Abstract

Reinforcement learning (RL) enables the synthesis of control policies directly from data, making it highly appealing for complex cyber-physical systems (CPSs) and robotics. A persistent challenge, however, is ensuring strict, hard safety constraints during the active learning phase. In real-world physical systems, violating mechanical limits can cause irreversible damage, necessitating that exploration remains strictly within safe operational regions. We propose a generalized framework that combines the adaptive, high-performance nature of deep reinforcement learning (DRL) with the formal safety guarantees of model predictive control (MPC). Using a mathematical model of the system dynamics, offline MPC computations define a feasible state-action space, representing all safe combinations of system states and control inputs that guarantee constraint satisfaction. During training and deployment, the RL agent's instantaneous actions are projected onto this globally verified feasible set via a safety filter. We systematically evaluate our generalized approach on a non-linear 1-DoF laboratory testbed, demonstrating successful exploration and stable policy convergence on physical hardware.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Cite this paper

@article{schfer2026safe,
  title  = {Safe Reinforcement Learning using Ideas from Model Predictive Control},
  author = {Georg Schäfer and Jakob Rehrl and Stefan Huber and Simon Hirlaender},
  year   = {2026},
  eprint = {2607.07252},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2607.07252v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2607.07252.svg)](https://codeofpaper.com/paper/2607.07252)

Discussion