Skip to content

Enange/ReBaBot

Repository files navigation

ReBaBot

ReBaBot is an extension of the original BaBot project by Johan Link, introducing Reinforcement Learning (RL) as an alternative to the traditional PID controller for ball balancing control.

Instead of manually tuned PID actions, ReBaBot uses RL algorithms to decide the control actions required to stabilize and balance the ball.

A special thanks goes to Johan Link for the original BaBot idea and implementation, which served as the foundation for this project.

demoVideo

Project Overview

The goal of ReBaBot is to replace the classical PID-based control system with a Reinforcement Learning approach. The system learns how to balance a ball dynamically on a platform through interaction and reward feedback.

We experimented with two RL algorithms:

  • Soft Actor-Critic (SAC)
  • Proximal Policy Optimization (PPO)

The RL model is responsible for generating the control actions that would normally be computed by the PID controller.

comparison

System Architecture

  • A Raspberry Pi 5 is connected directly to the robot’s control board.
  • The Raspberry Pi runs the Reinforcement Learning inference/training logic.
  • Communication between the Raspberry Pi and the robot is handled via serial communication.
  • Sensor feedback and state information are sent to the RL agent, which responds with control actions.

Repository Structure

  • report.pdf → Detailed explanation of the project, implementation, and experiments (recommended reading for full reproduction)
  • 3D_models.pdf→ STL files of the robot (both first and second versions)
  • datasets → CSV files containing the individual runs of PPO and SAC, and the PID datasets
  • tensorboard_training_logs → Tensorboard log files
  • plot_result.py → Script to plot the training results
  • models → saved RL models

🙏 Acknowledgements

This project is built upon the original BaBot system by Johan Link.
We sincerely thank him for the initial idea that made this work possible.

About

RL autobalancing robot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors