This repository contains an implementation of the OPAX (Optimistic Active Exploration of Dynamical Systems) algorithm in MATLAB.
The OPAX algorithm is designed for active dynamics learning in dynamical systems. It utilizes a Gaussian process (GP) to model system dynamics and employs an information-gathering objective to guide exploration. This implementation follows the methodology described in the paper, with the following key steps:
- Initialization: Initialize system model and generate an initial training set.
- Model Fitting: Fit a Gaussian process (GP) to the training data.
- Optimal Control: Solve an optimal control problem to maximize information gain while respecting constraints.
- Exploration and Safety: Apply selected control inputs to the system, update GP model, and ensure safety during exploration.
- Trajectory Planning: Generate planned trajectory targeting high uncertainty regions and execute on the true system.
- Model Evaluation: Evaluate final GP on held-out test set using mean-squared error.
To use this implementation, follow these steps:
-
Clone this repository to your local machine:
git clone https://github.com/aymen5507/optimistic-active-learning.git
-
Open MATLAB and navigate to the cloned repository.
-
Run the
opax_algorithm.m
script to execute the OPAX algorithm. -
Adjust parameters and settings as needed for your specific application.
- MATLAB R2019b or later
- MATLAB Statistics and Machine Learning Toolbox
- This implementation is based on the OPAX algorithm described in the paper "Optimistic Active Exploration of Dynamical Systems".
For questions or feedback, please contact me.