LorenzoAgnolucci / Segway

We implement a control system that stabilize the robot in its vertical position, which corresponds to the unstable equilibrium state. The hardware board used to develop the robot is a LEGO MINDSTORM. We develop also an Android app for remote control.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Segway

Table of Contents

About The Project

EasyControl logo

In Segway we implement a control system that stabilize the robot in its vertical position, which corresponds to the unstable equilibrium state. The hardware board used to develop the robot is a LEGO MINDSTORM EV3. We later extend the model from in-place balancing to allow free movement in all directions. We also developed EasyControl an Android app with an intuitive GUI to control the robot easily through a joystick-like controller.

For more information, read the report located in the repo root.

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

The robot need to have ev3dev installed and to be set up as shown in the report.

Installation

  1. Clone the repo
git clone https://gitlab.com/turboillegali/gutenberg
  1. Cross-compile with CMake and Docker the contents of the cpp directory

  2. Copy and run the resulting binary on the robot

Usage

Here's a brief description of each directory in the repo root:

  • python: contains both the Python implementations of the control model
  • cpp: contains the C++ implementation of the extended control model
  • app: contains all the sources of EasyControl
  • media: contains app logo and video demos

Authors

Acknowledgments

Laboratory of Automatic Control © Course held by Professor Michele Basso - Computer Engineering Master Degree @University of Florence

About

We implement a control system that stabilize the robot in its vertical position, which corresponds to the unstable equilibrium state. The hardware board used to develop the robot is a LEGO MINDSTORM. We develop also an Android app for remote control.


Languages

Language:C++ 51.3%Language:Python 23.5%Language:C 7.5%Language:Makefile 6.8%Language:Kotlin 5.5%Language:CMake 5.4%