The primary objectives of my thesis are to analyse and find a proper way to model, identify and simulate the behavior of a balancing robot developed by the Deptartment of Measurement and Information Systems. This requires the knowledge of embedded systems hardware, software, understanding of control system theory and system modelling. Development of the hardware or the balancing algorithm does not make part of my project.
The balancing robot is a two-wheel mobile inverted pendulum model which contains microcontrollers, sensors and actuators. It uses a gyro and a tilt sensor to estimate the angular position of the pendulum. The robot is built on the mitmót mote which is a modular, prototype-development platform. It consists of modules like processor module, radio communication module, motor control module, display module. The core of the platform is an ATmega128 microprocessor that performs the control of the robot by sending control signals to the motor control module based on the data of the sensors. Both the AVR processor and the motor control module have their own software.
My thesis describes necessary considerations and steps for deducting the model of the balancing robot and, as a result, a linear state space model is received in canonical form. Herein, I also present a discrete control loop model by analysing the control algorithm of the software. By using the two models, I ran simulations. Based on simulation results we can have a deeper understanding of the real system.
Identification of the robot requires the acquisition of some internal signals of the robot. Therefore, this document also describes the implementation of radio transmission of these signals within the robot's software. I built up radio connection between the robot and a gateway mote. The gateway mote is capable of converting and forwarding data (coming through the radio link) to a PC via a serial (UART) link. Using the computer we can process the signals. To succesfully process the data, one should get acquainted with the concept of observability, controllability, prediction and identification. After mastering these concepts, I managed to identify the model parameters based on the measurements and also to successfully validate the software model that I had previously built up in MATLAB Simulink. My goal was to get a clearer picture about the operation of the balancing robot and open the way for further developing (e.g. design and implementation of an optimal state-space controller) and to make possible on-line diagnostic signal analysis without using communication wires connected to the mobile robot.