The aim of my MSc thesis (Sensor fusion in embedded applications) is to examine, simulate and evaluate the sensor fusion processes of an embedded system. The embedded application is a two-wheel mobile inverted pendulum model which contains microcontrollers, sensors and actuators. It uses a rate gyro sensor and a two-axis tilt accelerometer 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. Therefore with the help of sensor fusion the inclination angle of the balancing robot can be estimated based on its sensors units. Furthermore I integrate an x-IMU orientation measurement unit into the robot. Its measured orientation can be a reference value for the fusion algorithms and it helps to compare and evaluate them.
In my thesis I introduce the definition, the levels, the benefits and the drawbacks of the fusion processes. I sort them based on their configuration as well. I show the basic idea and types of the complementary filtering. I present their effective implementation and I also design them in Matlab environment. I introduce the errors of the sensors located on the robot and interpret their signals. I show a way to compensate their error using complementary filter pairs. I derive the recursive process of the discrete Kalman filter and simulate and examine its operation for different noises. I show the parallel connection between the Kalman filter and the complementary filter pairs. This follows the build of the balance robot and the hardware components of the x-IMU. I also present the methods of the robot's software and the filter algorithms on the x-IMU. I take a detour to the quaternion algebraic structure because it is the theory behind the filter algorithms of the x-IMU. After that I show the integration of the x-IMU to the robot's program and I introduce the software changes, which follows that. In addition further calibration processes are required. I present the embedded implementation of the fusion processes and I design measurements to compare them. Finally I evaluate the results.