TFG: Implementation and evaluation of ANNs in microcontroller-based systems

Nowadays, artificial neural networks (ANNs) are computational models that, while they have solved many different problems, they require a large amount of memory to execute those solutions. Therefore, their implementation is more common in systems with high-performance capabilities, such as data centers or servers. However, there is an increasing interest in developing these solutions on devices with fewer resources, such as personal computers, mobile devices, and microcontrollers.  This situation has led to the proliferation of multiple techniques and tools to reduce the requirements of these models and allow their implementation on those platforms.

The main objective of this project is the evaluation of a tool for the implementation of artificial neural networks in microcontroller-based systems. For this purpose, a practical use case has been defined.

To achieve this objective, the classification of types of tremors in Parkinson’s patients was chosen as the practical use case. In addition, the Arduino Nano 33 BLE Sense has been also chosen as the microcontroller-based platform to implement the solutions of the practical use case.

Later, a dataset has been generated with real measurements from a sensor on that platform. With this dataset various experiments have been carried out to determine how the different structures of artificial neural networks deal with the chosen use case.

Then, based on those experiments, some appropriate ANNs for classifying types of tremors have been designed, trained, and evaluated in a system with graphics and tensor processing units and in a microcontroller-based system.

Finally, based on the results obtained, the trade-offs between classification accuracy, memory footprint and inference latency involved in the implementation of ANNs solutions in microcontroller-based systems have been determined. In addition, a discussion of the strengths and weaknesses of the selected tool for the implementation of artificial neural networks in microcontroller-based systems has been presented.

TFG: Design and implementation of a wearable system for livestock

Today, the use of monitoring systems is widespread in society. However, it is not common to see them in animals.

This end-of-grade work aims to design and implement a wearable system for cows, horses, sheep and goats. Thus, the farmer can know the state of the animals and their location. Taking into account the signs and characteristics that occur in this type of animals in situations of interest, the system has several sensors: a microphone, a temperature and humidity sensor, a gyroscope, an accelerometer, an air quality sensor, a gas sensor to detect diseases and a GPS.

Thanks to the information of these sensors it is possible to know when the animal is sick, has problems walking or even the period of heat of the females and later the time of delivery.

Finally, all data is sent to the farmer to make decisions on the farm, improving the welfare of the animal and increasing its productivity.

For the development of the system, the complete hardware design and implementation was carried out, in addition to the realization of a hardware abstraction layer (HAL) for all sensors.

TFG:DESIGN AND DEVELOPMENT OF AN LOW-COST WIRELESS PROSTHETICS ARM

This final project focuses on the field of robotics aimed at developing automated prostheses, helping to recover part of the lost mobility of people who need it. More specifically, it will focus on analysing and designing a wirelessly controlled robotic arm, which will serve as the basis for future projects at the B105 Electronic Systems Lab.

To this end, a preliminary study was carried out of the technologies currently used to develop a robotic arm, extracting which components can be used to carry out the movement and control of the arm, what considerations must be taken into account to design the different parts that make it up and what prototypes currently exist, extracting their characteristics to try to find a way to improve them.

Once the previous study had been done, the design of the arm was carried out, where the way to control it, the type of wireless communication, the motorization to be used and how it is fed were chosen. After this, we have chosen the components that best suit to meet the specifications requested, the modeling program has been used to design the parts, the materials used to build them, and the type of manufacture used to make them. It has been concluded that the parts must be manufactured by 3D printing, that Bluetooth will be used as technology for wireless communication, and servomotors to motorize the system.

Afterwards, the connection has been made, the design of the pieces by means of a 3D modeling program and the subsequent manufacture of part of them by means of 3D printing. A mobile application has also been developed to control several servomotors and check the wireless connection between the arm and the mobile, in addition to having created several integration files on the board to check the operation of the components.

Then different tests have been carried out, using the software created, where different components have been connected, and it has been checked whether they work correctly or not.

In the end a complete functionality has not been achieved, but a partial functionality has been achieved where it has been possible to connect by means of Bluetooth the mobile and the arm, to move two servomotors, with which two fingers have been moved, and the battery has been controlled by means of a series of leds. Several problems have also been found with regard to the power supply of the servomotors and the reception of data sent by the board that controls the servomotors to the mobile.

TFM: Development of a vehicle monitoring system based on NB-IoT technology

Nowadays, several European cities are looking for ways to regulate their internal traffic due to the high concentration rates of pollutants present because of vehicles. These concentrations cause hundreds of thousands of premature deaths in Europe per year, so it is beginning to be considered as a risk factor for its citizens. In most of the cities that implement some type of restriction, the regulation of this traffic is carried out by establishing a fixed low emission zone controlled by cameras.

In this context, the aim of this work is to provide an alternative to the conditions for access to these restricted zones, which are generally based on the Euro standard met by each vehicle. Thus, a device has been developed that connects to the vehicles by means of the OBD II standard, obtains its geolocation and transmits the acquired data using the NB-IoT technology. The purpose of these data is to obtain an estimate of the emissions produced by vehicles individually and based on actual traffic data, with which to regulate the access to the restricted zone. To this end, the COPERT emissions estimator has been incorporated based on speed data with a half-second time interval. This provides an opportunity to create fairer driving conditions based on the particular emissions of each vehicle within the restricted zones. In addition, it allows the creation of dynamic zones that can be a palliative for the border effect that could occur with a fixed zone. With this change of perspective, we can restrict more or less the traffic depending on the pollution situation in the city. Another improvement is the regulation of other pollutants like carbon monoxide or methane.

The developed system is powered by the vehicle battery, uses OBD II through the CAN bus or the ISO 9141 to communicate with the vehicle and obtains the location using a multi-constellation. A PCB has been designed that integrates three modules that carry out the tasks of communicating with the vehicle, transmitting the data to a central server and establishing of the geolocation of the vehicle; as well as a microcontroller in charge of the coordination between these elements and communicating with the user through commands.

A vehicle ECU simulator has been developed in order to debug the system and check that the data obtained are related to the expected values without the need to be permanently connected to a real vehicle during development. The objective was to create a simple simulator that would implement CAN bus communication and could respond to requests from an OBD II port.

Several tests have been carried out with the developed system on board a vehicle during a real journey. Their results allow us to see a distribution consistent with what was expected in terms of the concentration of pollutants emitted. Thus, we have empirically proven that the concentration of pollutants increases on narrow and slow roads and decreases on wider roads. From these tests the correct functioning of the final system and, therefore, the fulfilment of the objectives are confirmed. The result of a test made with a Euro 6 diesel car can be seen in the following picture, where we can see the NOx estimated emissions.

TFG: Development of a system for motion analysis

Obtaining information about the motion of an object has many applications in today’s society. Large industries such as cinema or videogames use motion capture technologies for their development. Motion capture systems collect the information that allows to know the acceleration, speed, orientation and position of an object.

The development of MicroElectroMechanical Systems or MEMS by the end of the 1980s has increased the use of accelerometers and gyroscopes to increase motion capture. That led to the development of Inertial Measurement Units with a small size, resulting from the combination of accelerometers and gyroscopes. This miniaturisation enabled the use in other applications, like augmented reality, 3D animation, navigation, video games and sports . Another of its features that stands out is that it does not need an external reference to be used, resulting in a simpler implementation.

In this graduate thesis, a system has been developed that can collect the data generated by an IMU, store it and then dump it into another system for analysis. Some criteria were needed to be established, so the design is focused on been small and low power consumption. For the development of the system, a hardware design was made, followed by the implementation of the software. Finally, some test were made to evaluate the final result.