Aprendizaje por refuerzo del balanceo de un robot de dos ruedas con microcontrolador de bajas prestaciones

Loading...
Thumbnail Image

Identifiers

Publication date

Reading date

Collaborators

Tutors

Editors

Journal Title

Journal ISSN

Volume Title

Publisher

Metrics

Google Scholar

Share

Research Projects

Organizational Units

Journal Issue

Abstract

En este Trabajo Fin de Máster se ha desarrollado un sistema de control por aprendizaje por refuerzo para lograr el equilibrio autónomo de un robot de dos ruedas. El sistema se implementa sobre el robot Balboa 32U4 de Pololu, que cuenta con un microcontrolador de bajas prestaciones, sensores inerciales y motores de corriente continua como actuadores. El proyecto aplica el algoritmo Q-Learning para que el robot aprenda a mantenerse en equilibrio sin modelo matemático ni controladores clásicos como el PID. Se han evaluado distintas definiciones del espacio de estados, a partir de los sensores inerciales integrados, junto con un conjunto discreto de acciones que ajustan la velocidad de los motores. Una de las características clave del trabajo es que el entrenamiento se realiza íntegramente en el sistema real, sin simuladores. El aprendizaje tiene lugar en tiempo real sobre el microcontrolador, por lo que se han analizado en profundidad las limitaciones del hardware y las condiciones físicas del entorno. Para el desarrollo e implementación se ha utilizado el entorno de programación Arduino, compatible con el microcontrolador ATmega32U4 del robot. Esta compatibilidad, junto con el uso de librerías oficiales del fabricante, ha facilitado el acceso al hardware y ha condicionado la metodología experimental del proyecto.
This Master Thesis presents the development of a reinforcement learning-based control system designed to achieve autonomous balancing of a two-wheeled robot. The system is implemented on the Pololu Balboa 32U4 robot, which integrates a low-performance microcontroller, inertial sensors, and DC motors as actuators. The project applies the Q-Learning algorithm, enabling the robot to learn how to maintain balance without relying on a mathematical model or classical control strategies such as PID. Various definitions of the state space have been evaluated, using data from the onboard inertial sensors, along with a discrete set of actions corresponding to different motor speeds. A key feature of this work is that training is carried out entirely on the physical system, without the use of simulators. The learning process runs in real time on the microcontroller, thus we have copied with the hardware limitations and the challenges of the physical environment. The development and implementation have been deployed on the Arduino programming environment, which is compatible with the robot’s ATmega32U4 microcontroller. This compatibility, along with the use of official libraries provided by the manufacturer, has facilitated access to the hardware and shaped the experimental methodology followed throughout the project.

Description

Bibliographic citation

Endorsement

Review

Supplemented By

Referenced by

Creative Commons license

Except where otherwised noted, this item's license is described as Attribution-NonCommercial-NoDerivatives 4.0 International