Knowledge base: Warsaw University of Technology

Settings and your account

Back

Methods for steering a two-wheeled balancing robot

Andžej Šerlat

Abstract

The aim of this work was to analyse selected algorithms of controlling a two-wheeled balancing robot and to implement them in a real object. The work involved a 25 cm tall robot built as a part of the transitional work. The task of algorithms controlling the robot was to maintain the balance (angle of rotation relative to the vertical), stabilising the robot's position and its movement on the plane (whose speed can be set by a wireless pilot). The analysis of the system’s behaviour for various configurations of four PID type regulators was performed and the best one was determined with the assumption of certain quality control criteria. Parts of the balancing robot (wheels and body) were made using the 3D printing method. The main part of the electrical components includes Atmega2560 microcontroller, which is responsible for the control algorithm, data reading from sensors and proper generation of DC motor control signals, which are later amplified by the H-bridge. The robot has an MPU6050 sensor that allows to read the angle relative to the acceleration vector and two encoders, which make it possible to measure the displacement and speed of the left and right wheels and the angle between them. One of the functions that the robot allows for, is wireless communication via the Bluetooth module with a computer or a remote control. In the case of communication with the computer, the data is sent every 4ms, and is read later using the LabView program and displayed on relevant charts, which allows for a convenient analysis of the processes occurring in a given dynamic object. The amount of data sent is limited only by the resolution of the parameter sent. The LabView program also allows for dynamic data transfer, which contains information about the change of a specific parameter that the robot receives without disturbing the main work loop. Such a method of communication allows for a very convenient selection of PID parameters for each of the regulators and other values corresponding to the controllability of the given object. In the case of connecting the robot with a remote control via Bluetooth modules, the data from the remote control with a given speed and a given steering angle is sent. In this case, the robot stops sending the data with variable parameters and acts only as a receiver of information, whose task is to seek the setpoints that he received from the pilot.
Diploma type
Engineer's / Bachelor of Science
Diploma type
Engineer's thesis
Author
Andžej Šerlat (FACME) Andžej Šerlat,, Faculty of Automotive and Construction Machinery Engineering (FACME)
Title in Polish
Metody sterowania dwukołowym robotem balansującym
Supervisor
Sebastian Korczak (FACME/IMDF) Sebastian Korczak,, Institute of Machine Design Fundamentals (FACME/IMDF)Faculty of Automotive and Construction Machinery Engineering (FACME)
Piotr Przybyłowicz (FACME/IMDF) Piotr Przybyłowicz,, Institute of Machine Design Fundamentals (FACME/IMDF)Faculty of Automotive and Construction Machinery Engineering (FACME)
Certifying unit
Faculty of Automotive and Construction Machinery Engineering (FACME)
Affiliation unit
Institute of Machine Design Fundamentals (FACME/IMDF)
Study subject / specialization
, Mechatronika Pojazdów i Maszyn Roboczych
Language
(pl) Polish
Status
Finished
Defense Date
21-01-2019
Issue date (year)
2019
Pages
100
Internal identifier
SIMR; D-2037
Reviewers
Sebastian Korczak (FACME/IMDF) Sebastian Korczak,, Institute of Machine Design Fundamentals (FACME/IMDF)Faculty of Automotive and Construction Machinery Engineering (FACME) Paweł Roszczyk (FACME/ICME) Paweł Roszczyk,, The Institute of Construction Machinery Engineering (FACME/ICME)Faculty of Automotive and Construction Machinery Engineering (FACME)
Keywords in Polish
robot balansujący, regulator PID, metody sterowania, czunik inercyjny, enkoder
Keywords in English
balancing robot, PID controller, steering methods, inertial measurement unit, encoder
Abstract in Polish
Celem niniejszej pracy było przeanalizowanie wybranych algorytmów sterowania dwukołowym robotem balansującym i zaimplementowanie ich w obiekcie rzeczywistym. W pracy wykorzystano robota o wysokości 25 cm zbudowanego w ramach pracy przejściowej. Zadaniem algorytmów sterujących robotem było utrzymywanie równowagi (kąt obrotu względem pionu), utrzymywanie zadanego położenia robota na płaszczyźnie oraz jego przemieszczanie, którego prędkość może być zadana pilotem bezprzewodowym. W pracy przeprowadzono analizy zachowania układu dla różnych konfiguracji czterech regulatorów typu PID oraz ustalono najlepszy (przy założeniu pewnych kryteriów jakości regulacji). Części robota balansującego (koła oraz korpus) zostały wykonane przy zastosowaniu metody druku 3D. W zakres części elektrycznych wchodzi główny mikrokontroler Atmega2560, który odpowiada za algorytm sterowania, odczyt danych z czujników oraz odpowiednie generowanie sygnałów sterujących silnikami prądu stałego DC, które są później wzmacniane przez Mostek H. Robot posiada czujnik MPU6050, który pozwala na odczyt kąta względem wektora przyśpieszenia ziemskiego oraz dwa enkodery kwadraturowe, które umożliwiają pomiar przemieszczenia oraz prędkości lewego i prawego koła oraz kąta skrętu między nimi. Jedną z funkcji, które umożliwia robot, jest komunikacja zdalna przez moduł Bluetooth z komputerem lub pilotem sterującym. W przypadku komunikacji z komputerem, wysyłane są dane co 4ms, które później są odczytywane za pomocą programu LabView i wyświetlane na odpowiednich wykresach, co pozwala na wygodną analizę zachodzących procesów w danym obiekcie dynamicznym. Ilość wysyłanych danych jest ograniczona tylko rozdzielczością wysyłanego parametru. Program LabView pozwala też na dynamiczny przesył danych, które zawierają informację o zmianie konkretnego parametru, które robot odbiera bez zakłócenia głównej pętli roboczej. Taki sposób komunikacji pozwala na bardzo wygodne dobieranie parametrów PID dla każdego z regulatorów oraz innych wielkości odpowiadających za sterowalność danego obiektu. W przypadku podłączenia się robota z pilotem sterującym przez moduły Bluetooth, wysyłane są dane z pilota o zadanej prędkości jazdy oraz o zadanym kącie skrętu. W takim przypadku robot przestaje wysyłać dane o zmiennych parametrach i działa tylko jako odbiornik informacji, którego zadaniem jest dążenie do wartości zadanych, które odebrał od pilota sterującego.
File
  • File: 1
    Metody_sterowania_dwukołowym_robotem_balansującym.pdf
Request a WCAG compliant version
Local fields
Identyfikator pracy APD: 30273

Uniform Resource Identifier
https://repo.pw.edu.pl/info/bachelor/WUT0cb0fa83f9b94784bb3a5ba18cc4c2cb/
URN
urn:pw-repo:WUT0cb0fa83f9b94784bb3a5ba18cc4c2cb

Confirmation
Are you sure?
Report incorrect data on this page