Lego Mindstorms EV3 Gyroboy
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.
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Robotics and Autonomous Systems > ROS Toolbox > ROS Toolbox Supported Hardware >
- Engineering > Electrical and Computer Engineering > Robotics >
Tags
Acknowledgements
Inspired by: Gyroboy - self-balancing two-wheel robot based on Lego EV3, Simulink Keyboard Input, NXTway-GS (Self-Balancing Two-Wheeled Robot) Controller Design
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
LQG_IA_NPC
LQG_NPC
LQG_WPC
LQR_IA_NPC
LQR_NPC
MOTOR_TEST
OPP_NPC
PP_NPC
SENSOR_TEST
LQG_IA_NPC
LQG_NPC
LQG_WPC
LQR_IA_NPC
LQR_NPC
MOTOR_TEST
OPP_NPC
PP_NPC
SENSOR_TEST
Versions that use the GitHub default branch cannot be downloaded
Version | Published | Release Notes | |
---|---|---|---|
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 |
|
|
1.0.0 |
|