File Exchange

image thumbnail

Lego Mindstorms EV3 Gyroboy

version 1.1 (46.8 MB) by Tim Hughes
Observer-based reference tracking feedback controller for the LEGO Mindstorms EV3 Gyroboy segway robot.

11 Downloads

Updated 29 Oct 2019

GitHub view license on GitHub

Observer-based reference tracking feedback controller based on the standard LEGO Mindstorms EV3 Gyroboy segway robot build. Takes input from an Xbox One gamepad or keyboard.

This is joint work with Gareth Willetts and Jakub Kryczka.

The main Simulink files have been saved in MATLAB 2019a, and also exported to 2018a and 2017a formats.

To begin, refer to the file setup_guide.m on the GitHub repository.

Details of the project will appear in:
"LQG controller for the LEGO MINDSTORMS EV3
Gyroboy segway robot." by Timothy H. Hughes, Gareth H. Willetts and Jakub A. Kryczka. Submitted to the 2020 International Federation of Automatic Control World Congress.

Contents:
KeyboardControl.slx: Simulink file for sending keyboard inputs to the Gyroboy robot.
setup.m: Matlab script for managing Simulink variants (for running on the EV3 or in simulation mode, and switching between pre-programmed and Xbox gamepad/keyboard input)
model.m: Matlab script with model parameters
gyroboy.mp4: Brief video of the Gyroboy robot in operation.
setup_guide.pdf: instructions for getting started.

MATLAB and Simulink files for various controllers are available in the following folders:
LQG_NPC: LQG controller.
LQG_WPC: LQG controller with pre-compensator.
LQG_IA_NPC: LQG controller plus integral action.
LQR_NPC: LQR controller
LQR_NPC_IA: LQR controller with integral action
OPP_NPC: LQR controller with observer designed using pole placement
PP_NPL: Pole placement controller

MATLAB and Simulink files for measuring model parameters are in the following folders:

MOTOR_TEST: for measuring LEGO EV3 motor parameters.
SENSOR_TEST: for quantifying the noise on the LEGO gyroscopic sensor.

Cite As

Tim Hughes, Gareth Willetts and Jakub Kryczka (2019). LegoMindstormsEV3 (https://www.github.com/jakubk28/LegoMindstormsEV3), GitHub. Retrieved June 18, 2019.

Comments and Ratings (0)

Updates

1.1

Added several controller designs to the GitHub repository

1.0.4

Updated image

1.0.3

Added image (courtesy of Millie Papworth)

1.0.2

Edited description and added Acknowledgments

1.0.1

Included website

MATLAB Release Compatibility
Created with R2019a
Compatible with R2017a to R2019a
Platform Compatibility
Windows macOS Linux
Tags Add Tags