Back to Academic Projects

Reinforcement Agent Training: From Q-Learning to Autonomous Control of a Lunar Lander

Python, Reinforcement Learning, PyTorch, Stable-Baselines3, Gymnasium, DQN, PPO, FastAPI, Streamlit

RL Agent Training: From Q-Learning to Autonomous Lunar Lander Piloting

Overview

This project implements a complete progression in reinforcement learning, from theoretical fundamentals to the deployment of a complete autonomous agent. Starting point: the observation → action → reward loop in a simple environment. End point: the autopilot of the "Eagle-1" lunar landing module for AstroDynamics, exposed via an API, visualized in a graphical interface, and monitored by a performance dashboard.

The project applies Reinforcement Learning best practices to build, from scratch to production, a complete chain for training, optimizing, and deploying an intelligent agent.


Objectives


Skills Demonstrated

Reinforcement Learning Fundamentals


Q-Learning "from scratch"


Deep Q-Network (DQN)


Training and Optimization of a Control Agent (LunarLander)


Agent Deployment (lightweight MLOps)


Architecture

        Gymnasium Environment
    (CartPole / FrozenLake / LunarLander)
                    │
                    ▼
        Random Policy (baseline)
                    │
                    ▼
     Q-Learning (Q-table, Bellman, ε-greedy)
                    │
                    ▼
   Manual DQN (PyTorch, ReplayBuffer,
        Policy Net / Target Net)
                    │
                    ▼
      DQN / PPO via Stable-Baselines3
      (training, tuning, TensorBoard)
                    │
                    ▼
       Optimized Agent (reward >200)
                    │
        ┌───────────┼───────────┐
        ▼           ▼           ▼
      API        GUI       Dashboard
   (FastAPI)  (Streamlit/    (monitoring of
              Gradio)        performance)

Technical Stack

Reinforcement Learning

Monitoring & Optimization

Deployment & Visualization

Deliverables


Applied Best Practices


Results

At the end of this project, the pipeline allows to:


Skills Acquired