Python-Based Reinforcement Learning on Simulink Models

This paper proposes a framework for training Reinforcement Learning agents using Python in conjunction with Simulink models. Leveraging Python's superior customization options and popular libraries like Stable Baselines3, we aim to bridge the gap between the established Simulink environment and the flexibility of Python for training bleeding edge agents. Our approach is demonstrated on the Quanser Aero 2, a versatile dual-rotor helicopter. We show that policies trained on Simulink models can be seamlessly transferred to the real system, enabling efficient development and deployment of Reinforcement Learning agents for control tasks. Through systematic integration steps, including C-code generation from Simulink, DLL compilation, and Python interface development, we establish a robust framework for training agents on Simulink models. Experimental results demonstrate the effectiveness of our approach, surpassing previous efforts and highlighting the potential of combining Simulink with Python for Reinforcement Learning research and applications.

Paper

References (12)

06Exploring the Dynamics of Reinforcement Learning in Aerospace Control2024 · RL4AA Salzburg 2024. Conference Presentation and Poster. Salzburg, Austria
07Mark Towers et al. Gymnasium2023 · zenodo
09Embedding DLL in Python: The DLL is interfaced with Python using ctypes, exposing the following essential functions and data structures: – MODELNAME initialize : Initializes the control modelMODELNAME U : Accesses input data
10Simulink Coder - MATLABMathWorks
11QuanserQuanser
12Compiling to Dynamic Link Library (DLL): The generated C-Code is compiled into a DLL enabling seamless integration

Similar papers

© 2026 NYSGPT2525 LLC