Content of the project: - Design of monitoring device using ESP32 - Design of a device to measure player position, heart rate, and step count - Design of display interface - Design of th
INTRODUCTION
The urgency of the topic
Thesis research on a device used for football players to track and evaluate player performance EPTS (Electronic Performance and Tracking System) is one of the tools that FIFA has implemented to measure player distance and track the ball The International Football Association Board (IFAB) decided to allow players to use wearable technology in official football matches in March 2015
In recent years, the popularity of using wearable player tracking devices has been on the rise This is a lucrative market for companies and businesses to invest in and develop such devices to generate revenue Countries that are pioneers in this field include companies from Germany, England, Austria, etc They have successfully developed and promoted their products, the most visible and familiar being the Premier League, where all players from each club wear a vest-mounted device under their main shirt when they take the field In addition to the usual playing accessories such as: shirts, pants, specialized shoes, socks, protective pads, etc., there is now a vest with a device attached Some famous brands like Captapult, Playertex, etc., they not only develop in the king of sports but also spread to other sports such as basketball, rugby, volleyball, etc
Figure 1.1: Electronic Performance & Tracking Systems
Although it is so famous, it is still not well known about this technology in Vietnam Recently, in the 2022 World Cup qualifying campaign of the Vietnam national football team, we began to see the appearance of Catapult monitoring vests on the bodies of players such as Tien Linh, Cong Phuong, Quang Hai, etc This shows how the impact of technology in football is spreading
Through the specific evidence as above, we see the need for a device to track the basic parameters of the trainer when training or competing to track the basic parameters of the body such as the number of kilometers of movement, training speed, and also the heart rate of the trainer From these parameters, we can adjust the training regimen for better fitness Such a device is essential during the training period to track the distance and speed of movement of the players on the field as well as their heart rate Then, this information is transmitted to another monitoring device outside the field to be recorded This allows for a more accurate grasp of the health status of the players and to develop more appropriate training and competition plans for each position on the field Realizing the need for a device that can fulfill the above tasks, the group has researched the topic: " Research, design, and implementation of equipment to monitor players on the football pitch".
Scientific and practical significance of the topic
The urgency of the research, design, and deployment of the player tracking device on the football field lies in the wide range of benefits and applications it brings to the field of sports and training Here are some specific aspects:
- Optimized Training Performance: The device helps to optimize training performance by providing accurate information about the player's position, heart rate, and movement This helps coaches to adjust training plans to meet the specific needs and abilities of each player
- Personal Health Management: Monitoring heart rate and movement measures helps to assess the player's individual health This not only helps to prevent injuries but also creates a suitable training regimen for each individual
- Optimized Formation and Tactics: Data on player position on the field helps coaches determine the best tactics and formation for each game situation This increases the team's chances of winning
- Real-time decision-making: The data is updated continuously, supporting immediate decisions in real-time This is important in situations that require flexibility and quick response from coaches and players
- Enhancing the Personal Experience: By providing detailed information about the player's activity, the topic helps to create a positive and motivating experience for the player Tracking individual progress can increase commitment and passion in training
- Contribution to Technology Research: The research not only addresses challenges in the field of sports but also contributes to the development of sports tracking and evaluation technology This could open the door to new advances in this field
In conclusion, the urgency of this topic lies not only in the specific improvement of the performance of players and teams, but also in the aspect of contributing to the development and modernization of the field of sports and health tracking technology
Research Target
In the project, we set a number of important goals to ensure success and high efficiency:
- Researching the commercial products currently used by major football teams worldwide
- Designing a model of the product with basic functionalities compared to the actual product with high stability
- Analyzing and processing data collected from sensors
- Designing a display interface and data statistics
- Adding a feature to remind players on the field during training
Figure 1.2: Player wear vest CATAPULT
Subject and scope of the research
- The research subject in the topic is players participating in training and competition activities on the field
- The research focuses on the design and implementation of a tracking device that provides information about the player's position, heart rate, and movement in real-time
- The research subjects include both players and coaches, in order to provide accurate and useful data to optimize the training process, assess health, and improve performance on the field
Figure 1.3: Applicable Object 1.4.2 Research Scope
The research focuses on developing a basic model tracking device to measure heart rate, speed, and distance for players It includes hardware design, software development for user interface and statistics, data management, and analysis to optimize player performance and health Further exploration involves miniaturization and integrating new technological advancements Additionally, basic features will be added to remind the team formation during training sessions
Research method
- The research uses a technical research method, focusing on the application of engineering principles and techniques to develop and deploy a player-worn tracking device
- The research method applies a technical and experimental approach to evaluate the feasibility and effectiveness of using the player tracking device and storing and displaying data on the web system
- The research also uses comparative and data analysis methods to evaluate the performance, features, and scalability of the device compared to other methods and technologies
The first step in the product research and development process is to understand the needs and urgency of the topic in practice This includes identifying the importance of tracking and evaluating player performance in the field of football To do this, the research team needs to refer to existing modern products or solutions on the market Products such as smart wristbands or smartwatches that can measure heart rate can be an important source of inspiration
Next, collecting materials and research methods for measuring heart rate, speed, and distance is important to build a solid theoretical foundation for the topic The team needs to grasp the most advanced techniques in this field to be able to integrate them into their product
At the same time, researching smart wristbands and smartwatches that can measure heart rate and locate positions will help the team choose the right sensors and technologies to integrate into their product This poses a challenge in the arrangement of sensors and processors in a reasonable way on the player's body without affecting their sporting activities
After having the theoretical basis and the necessary information about the sensors, the team proceeds to collect and process data from the sensors, using Wifi communication to transmit the data to the server This requires a solid knowledge of data processing and communication techniques
In addition, the team also conducts in-depth research on basic formations and tactical diagrams in football to develop a player reminder system that is most appropriate and effective This helps to optimize tracking and improve player performance
Finally, the team builds web software to track and display information from sensors in a clear and easy-to-use way This poses requirements for software engineering and a user-friendly interface.
Graduation project structure
The graduation project consists of 8 parts, of which the specific contents are as follows:
Chapter 1: INTRODUCTION: In this chapter, the team presents the urgency, significance, and objectives of the topic, the research methods to be used to implement the topic, and the available research in Vietnam and abroad
Chapter 2: LITERATURE VIEW: This chapter presents the relevant theories and their applications to the topic
Chapter 3: DESIGN AND IMPLEMENT: This chapter presents the methods for designing products and building sensors to collect data
Chapter 4: METHOD ANALYST DATA: This chapter presents the methods for processing and calculating the data returned from sensors
Chapter 5: EXPERIMENT RESULTS FINDINGS AND ANALYSIS: This chapter presents the results of the actual experiments on the field and evaluates the results achieved
Chapter 6: CONCLUSION AND RECOMMENDATIONS: Summary of the topic and product development directions
LITERATURE VIEW
Device theory
Currently, many leading football teams in the world are actively using devices to support and track players on the field This is not only a trend but also an important part of the strategy for managing and developing the team of players Famous companies such as Catapult, Playertex,… are the leading providers of modern solutions for this
The tracking device is usually attached neatly to the back of the player's neck, designed in a small bag, and contains many important sensors In particular, the positioning sensor, accelerometer, and heart rate sensor all have the task of tracking and recording important information In particular, the heart rate sensor tracks the player's heart rate while the position sensor and accelerometer provide information about the distance and speed of movement on the football field
After collecting data, the information is transmitted to a tracking device outside the football field for statistical and analytical purposes Coaches use these indicators to assess the health status of the players and from there build appropriate training and competition plans to optimize performance for each individual At the same time, during training, it can be integrated with the adjustment of the formation, and running on the field according to the requirements of the coach, thanks to the vibration sensor, evaluating the accuracy of the player when moving
This proves that integrating technology and tracking the personal information of players is an important part of managing the team effectively in a professional environment
Heart Rate (HR) is a basic biological signal that reflects the activity of the cardiovascular system and is an important factor in assessing the health of the body HR signals are often measured and recorded using devices such as ECG electrodes, PPG sensors, or smart wearable devices
HR is a measure of the number of beats of the heart in a given period, typically expressed as beats per minute (bpm) It is an important indicator of heart health and function
Resting Heart Rate (RHR), measured most accurately when someone wakes up or in the morning, indicates the level of heart rate when the body is not active RHR measurement is often used to assess cardiovascular health and fitness A low RHR is often considered a sign of a strong cardiovascular system and the body's ability to effectively deliver oxygen The normal RHR for adults typically ranges from 60 to 100 bpm
Cardiovascular health assessment: Heart rate signals provide information about the rhythm, cycle, and irregular fluctuations, which can help assess cardiovascular health
Training performance measurement: In sports, heart rate signals are used to measure the level of exercise and training performance
Stress reduction and mental improvement: Monitoring heart rate signals can help users identify and reduce stress, as well as improve their mental health
Age Heart Rate Standards (beats/minute)
Table 2.1: Heart rate with each age
However, many external factors also affect heart rate For example, environmental factors such as hot weather or high altitudes can increase heart rate Emotions such as anxiety, fear, or stress can also cause fluctuations Stimulants such as tobacco, caffeine, as well as medications and eating/drinking a lot also play an important role in changing heart rate
In particular, vigorous physical activity such as running, swimming, or high-intensity sports can increase maximum heart rate as the body needs to provide more oxygen and nutrients to meet the needs of exercise These factors all simultaneously impact the fluctuation of heart rate, and understanding them is important for a comprehensive assessment of cardiovascular health
Amplitude: Measures the difference between the maximum and minimum values of the heart rate signal Amplitude typically reflects the amount of blood being pumped from the heart to the body and may be related to the strength of the heart beat
Frequency: Measures the number of heart beats in a unit of time, typically beats per minute The frequency of the heart rate signal can vary depending on the individual's physical condition, activity level, and emotional state
Time: The heart rate signal is typically measured and recorded over time The heart rate cycles are important for assessing the rhythm and timing of the heart
The electrical processes of the heart are the electronic processes that occur within the heart to create and regulate the heart rate Here are the important electrical processes in the heart:
P wave: The P wave represents the stimulation and contraction of the atrial cells in the atrium It is typically a small, wavy shape, representing the process of atrial contraction and pushing blood from the atrium into the ventricles
QRS complex: Represents the stimulation and contraction of the ventricular cells in the heart It consists of the Q, R, and S waves The Q wave represents the first stimulation and contraction of the ventricular cells The R wave represents the main stimulation and contraction of the ventricular cells, while the S wave represents the final stimulation and contraction of the ventricular cells The QRS complex represents the strong contraction of the ventricular cells and pumping blood out of the heart
T wave: Represents the process of electrical repolarization of the heart after it contracts It represents the recovery of the heart cells and preparation for the next heart beat cycle The T wave is typically a small, wavy shape, and it reflects the repolarization of the heart cell membrane
The P, QRS complex, and T waves are the basic and important waveforms in the electrocardiogram (ECG or EKG) They provide information about the electrical processes and function of the heart, and allow the identification of electrical abnormalities such as irregular heart rhythms, conduction disorders, and heart disease
The Electronic Form of the Heart Rate Signal:
Theory of location determination
Ultra-wideband (UWB) is an advanced wireless communication technology that enables high-speed data transmission across a wide range of frequencies, typically ranging from tens of MHz to over 10 GHz This technology allows for high-speed data transmission, high precision, and lower energy consumption compared to traditional communication methods
In UWB, data is transmitted in the form of short pulses with very narrow pulse widths, typically only within nanoseconds, and can span multiple frequency channels The use of a wide range of frequencies helps UWB to avoid interference from other signals and minimize collisions with other communication systems
UWB technology has numerous applications in various fields, including data transmission, location positioning, radar, sensors, and wireless connectivity between electronic devices In the automotive industry, UWB is used for tracking the position and detecting objects around vehicles, while in healthcare, it can be utilized to monitor patients' health parameters without direct contact
Figure 2.4: The operational principles of UWB computing
One of the major advantages of UWB is its high noise immunity and excellent material penetration capabilities, making it an attractive choice for applications requiring high reliability and performance However, there are also challenges such as compliance with legal regulations and industry standards, as well as competition from other wireless communication technologies
When using a pair of DW1000, it is easy to calculate the distance between the two devices when setting them in Anchor and Tag mode However, to determine the exact coordinate position of a Tag in space, we need at least three DW1000 to be able to apply the Plane Formulary Algorithm In which, two DW100 have the role of Anchor and the remaining DW1000 has the role of Tag
Let us assume that all three DW1000 are in a plane with the same height In which, there are two DW1000 that play the role of Anchor and the distance between them is a constant that has been determined in advance according to the setup From there, when a Tag returns the distance between it and the remaining two Anchors, we can easily determine its position in space through the Plane Formulary Algorithm method
In the illustration above, A and B are assumed to be two Anchors and have a distance of c that is a constant that has been pre-set Meanwhile, C is a Tag with the magnitude of the distance with A as b and with B as a will be determined through the DW1000 of the Tag So obviously, with three points in a triangle formed by the three DW1000s, we have been able to easily determine all of their edges From there, we can quickly determine the coordinate position of C through the Plane Formulary Algorithm calculated as follows
First, we will apply the Cosine Theorem to calculate the angle alpha created by the magnitude of the distance of the AC and AB edges using the formula:
After calculating the angle alpha, we apply the Pythagorean Theorem again with the formula:
If we let point A be the quadrant (0, 0), then point C has a coordinate position of:
Theory of player reminder mechanism
In-field player notification using wearable devices is a new technology that is being developed and applied in sports, especially football This technology uses wearable devices, such as smartwatches, smart bracelets, or smart glasses, to provide information and reminders to players during competition
There are many benefits to in-field player notification using wearable devices, including:
- Increased performance: Wearable devices can provide players with information about the positions of teammates, opponents, and the ball, helping players make more accurate decisions and improve performance
- Reduced injuries: Wearable devices can track players' physiological indicators, such as heart rate, breathing rate, and body temperature, helping to detect early signs of injury and take timely preventive measures
- Enhanced communication: Wearable devices can allow players to communicate with each other and with the coach quickly and effectively, helping to improve team coordination and tactics
There are many methods for in-field player notification using wearable devices, including:
Text messages: Text messages are the most common method of player notification Text messages can be sent to players in the form of text messages or push notifications
Images: Images can also be used to notify players Images can be sent to players in the form of static images or videos
Sound: Sound can also be used to notify players Sound can be sent to players in the form of voice notifications or chimes
However, to be in line with the scale of the thesis topic, the group used the method of player notification using vibration sensors in an inner vest This method has the following advantages:
Non-distracting: Vibration sensors do not distract players during competition
User-friendly: Vibration sensors are easy to use and do not require players to do anything else
High aesthetics: Inner vests can be designed to match the players' competition attire
Figure 2.6: Remind player was offside
The inner vest has vibration sensors attached to different locations on the player's body These sensors will receive signals from the computer system to control the vibration
The computer system will collect data from various sources, such as accelerometer sensors, position sensors, and heart rate sensors This data will be analyzed to identify situations that need to be reminded to players
When a situation that needs to be reminded is identified, the computer system will send a signal to the vibration sensors The vibration sensors will vibrate in the location corresponding to the situation that needs to be reminded
For example, if the sensor system determines that the player is in an unfavorable position to receive the ball or move offside, the computer system will send a signal to the player's vibration sensor The vibration sensor will vibrate to remind the player to move to a more favorable position
When using this method, it is important to note the following:
Quality of vibration sensors: Vibration sensors must be of good quality to ensure that the vibration signal is clear and does not cause discomfort to players
Size and weight of the vest: The vest must be of a suitable size and weight to avoid interfering with players during competition
Location of vibration sensors: The location of vibration sensors must be appropriate to ensure that the vibration signal is transmitted to the player accurately
The method of player notification using vibration sensors in an inner vest is still under development However, this method has the potential for many applications in sports In the future, this method can be improved in terms of the quality of vibration sensors, the size and weight of the vest, as well as the location of vibration sensors
Low pass filter application
Low-pass filter (LPF) plays an undeniable role in refining and cleaning signals, making it an essential component in the field of signal processing and electronics Its design aims to retain the low-frequency components of the signal while suppressing those frequencies higher than the specified cutoff limit
With its significant flexibility, LPF has a wide range of applications, especially in the field of signal and audio processing Its ability to remove unwanted noise in the signal helps to create cleaner and more stable data while improving the quality and reliability of the signal In the context of audio, LPF shines when removing unwanted high frequencies, creating a clear and pure sound
Figure 2.7: Overall the Low Pass Filter
Beyond its conventional applications, LPF is also a powerful tool in many other fields such as television, measurement, and many other technological applications Its ability to remove noise and reproduce signals with stability and accuracy has made LPF essential in signal processing and quality assurance in many technological applications
2.4.2 Method of Low-Pass filter:
To implement a low-pass filter using the transfer function expression, we can use the system frequency analysis expression to design the filter A common expression used in low-pass filtering is the expression of the first-order filter (first-order filter), described by the transfer function as follows:
𝜔 0 : cutoff frequency (unit: rad/s) For instance we select cutoff frequency = 5 so fomular become:
Due to the above transfer function, we understand that our first-order filter will preserve signals below 5 Hz and reduce signals higher than 5 Hz
Figure 2.8: The result for signal 2Hz through Low Pass Filter
We see that when passing a sine wave signal with a frequency of 2 Hz through the filter mentioned above, the signal is preserved, unlike the 50 Hz signal shown below, the intensity of the wave is significantly reduced
Figure 2.9: The result for signal 50Hz through Low Pass Filter
Delay due to frequency response
The frequency response of a filter is a plot of the magnitude and phase of the output signal of the filter as a function of the frequency of the input signal The magnitude of the frequency response represents the amount of attenuation that the filter applies to the signal at a given frequency The phase of the frequency response represents the shift in the phase of the output signal relative to the phase of the input signal
For a low-pass filter, the magnitude of the frequency response decreases as the frequency of the input signal increases This means that the filter attenuates high-frequency components of the signal more than low-frequency components
The delay due to frequency response is caused by the fact that the filter takes a certain amount of time to attenuate the high-frequency components of the signal This delay is proportional to the cutoff frequency of the filter
Delay due to phase shift
Phase shift is the change in the phase of a signal as it passes through a system In the case of a low-pass filter, phase shift occurs due to the circuit and structural elements of the filter
The phase shift of a low-pass filter is typically not significant within the frequency range of interest This is because the phase shift of a low-pass filter is typically less than
90 degrees at frequencies below the cutoff frequency
Figure 2.10: Phase slip in Low Pass Filter
Application of filter to topic
The application of low-pass filter in the group's topic is to remove unwanted noise from muscle movement and other unwanted signals in order to improve the accuracy and reliability of heart rate measurement, making the heart signal cleaner, providing a stable basis for heart rate monitoring and analysis
The low-pass filter for the AD8232 sensor can be adjusted to select the appropriate cutoff threshold for the specific application requirements The choice of cutoff threshold depends on the heart rate frequency to be measured and the possible noise By adjusting the cutoff threshold, we ensure that the filter only retains the important heart rate signals during measurement and removes unwanted signals and noise.
Overall Node-Red
In simple terms, Node-RED is an open-source and visual tool used to build workflows and Internet of Things (IoT) applications It provides a web-based graphical interface that allows users to connect nodes together to process data and interact with different devices and services
Figure 2.11: Interface with Node-Red
Node-RED is built on the Node.js platform and uses a web browser to create a user- friendly interface Users can drag and drop nodes from a library of available nodes to create workflows to their liking Nodes can perform a variety of tasks, including data processing, connecting to and interacting with web services, databases, IoT devices, and more
Node-RED includes features such as:
Visual interface: Node-RED's graphical interface makes it easy to create and debug workflows Users can easily see how the different nodes are connected and how they interact with each other
Web service integration: Node-RED can be used to connect to and interact with a variety of web services This makes it easy to integrate with existing applications and services
IoT integration: Node-RED can be used to connect to and interact with IoT devices This makes it easy to build applications that collect data from sensors and control devices
Flexible data processing: Node-RED provides a variety of nodes for processing data This makes it easy to perform tasks such as data filtering, aggregation, and analysis
Real-time communication: Node-RED can be used to build real-time applications This makes it possible to build applications that respond to changes in data in real- time
2.5.2 Connect to Node-Red using MQTT Broker HiveMQ:
HiveMQ Broker is a data transmission platform based on the MQTT protocol, designed with fast, efficient, and highly reliable features for two-way data transmission between Internet of Things devices
It is a free service on the Cloud platform, allowing you to connect to MQTT anywhere, regardless of location, suitable for learning IoT programming
HiveMQ Broker is divided into two types:
Public broker: Uses port 1883, no security, often used to test applications or simple products
Private broker: Uses port 8883 and SSL/TLS security You can use it in commercial products, but of course, you should pay attention to the terms of use
The following are the steps to connect and transmit data from HiveMQ Cloud to Node-RED:
1 Configure the MQTT parameters of the ESP32 to connect to the broker
2 Set up the ESP32 to publish data to HiveMQ Cloud
3 Use the MQTT library on Node-RED to connect to HiveMQ Cloud
4 Use the MQTT nodes on Node-RED to transmit data from HiveMQ Cloud to Node-RED
2.5.3 Reasons for choosing node-red as the display
Node-RED is a great tool for building interfaces without having to use multiple objects with different programming languages
Node-RED is an open-source and visual tool used to build workflows and Internet of Things (IoT) applications It provides a web-based graphical interface that allows users to connect nodes together to process data and interact with different devices and services
One of the advantages of Node-RED is that it allows users to build interfaces without having to use multiple objects with different programming languages This is because Node-RED provides a large library of nodes that can be used to create interfaces These nodes can be connected together to create complex workflows
Figure 2.13: General description of connections in the project
For example, to create a simple interface that displays some data, users can use the following nodes:
Input Node: This node is used to receive data from an external source, such as an IoT device or a web service
Change Node: This node is used to convert data from one format to another
Dashboard Node: This node is used to display data on a web page
Users simply drag and drop these nodes into the Node-RED canvas to create the interface They can then configure the nodes to perform the desired tasks
Simple programming by dragging and dropping, eye-catching color interface, easy to build a dynamic web page
Node-RED uses a web-based graphical interface, allowing users to program by dragging and dropping nodes This makes programming easy and intuitive, even for people with no programming experience
The Node-RED interface is also designed to be visually appealing and dynamic This helps users to easily track and understand their workflows
Easy to connect, with high application potential, and especially not limited like other tools such as blink, thing speak
Node-RED can connect to a variety of different devices and services This makes it a powerful tool for a variety of applications
Node-RED also has a high application potential It can be used to build IoT applications, web applications, mobile applications, and more
In addition, Node-RED is not limited like other tools such as blink, thing speak It allows users to build more complex and creative workflows.
Designing a GUI with Python Tkinter
Python has a basic syntax that is similar to English, which makes it easy for programmers to read and understand a Python program
Python has a large standard library that contains a lot of code that can be used for almost any task, which makes it possible to write a program with fewer lines of code
Python is a flexible language, so programmers do not need to declare the type of a variable when writing code
Python is a portable language, so it can be used on different platforms
Python is an interpreted language, so if there is an error in the program code, it will stop running This makes it easy for programmers to find errors in the code
2.6.2 Python libraries used in the program a Matplotlib
Developers use Matplotlib to display data in high-quality two- and three-dimensional graphics This library is often used in scientific applications With Matplotlib, you can visualize data by displaying it as different types of graphs, such as bar charts and line charts
In the design of the program interface, Matplotlib is used to simulate the movement of players on the field Along with it is a heat map that shows the frequency and area where the player moves on the field b Pandas
Pandas provides optimized and flexible data structures that you can use to manipulate time series data and structured data, such as tables and groups This library is used by many people for data science tasks, data analysis, and machine learning
In the design of the program interface, Pandas is used to select the necessary data to provide Matplotlib to perform modeling into specific models, and visually display for users c Tkinter
Tkinter is the standard GUI library for Python Tkinter in Python provides a quick and easy way to create GUI applications There are many different widgets such as buttons, canvases, entries, etc., which are used to build GUI applications in Python
In the design of the program interface, the Tkinter library is used to display function buttons and frames for the diagrams and heat maps modeled by Matplotlib It is the part that displays the functions for users to interact directly with the program d Socket
Socket is a network application programming interface that is used to transmit and receive data over the internet Between two programs running on the internet, a two-way communication link is required to connect two processes to communicate with each other The endpoint of this link is called a socket
Another function of socket is to help TCPP or TCP Layer identify the application that the data will be sent to by binding to a port, thereby forming a connection between the client and server
In the design of the program interface, Socket is used to connect and establish a connection between the Server (Python on the computer) and Clients (on Arduino) to activate DW 1000 to operate concurrently, avoiding duplication At the same time, send data to activate the vibration motor on the device when the player is in the wrong position on the field e Threading
A thread is a block of independent statements in a process that can be scheduled by the operating system Simply put, threads are functions or procedures that run independently of the main program The threading module of the standard Python library provides us with classes and functions to work with threads, and it also provides mechanisms for thread synchronization, including: Thread, Lock, Rlock, etc
The Thread class provides us with the necessary methods to work with threads, specifically:
start(): A method used to activate a thread object, by default it will call the run() method
run(): Describes the tasks that the thread performs, by default this method will call the function associated with the target argument when the thread is initialized
join(): When called, this method will block the thread that calls it until the thread that is called is finished This method is often used in the main thread to wait for other threads to finish their work and then process the results
In addition, the Thread class also provides some other attributes and methods such as: name(), getName(), etc.
Creating a Data Storage File with CSV
CSV (Comma Separated Values) is a simple file format used to store tabular data, such as spreadsheets or databases CSV files store data in numbers and text in plain text format Each line of the file is a data record Each record consists of one or more fields, separated by commas The use of a comma as a field separator is the origin of the name for this file format
2.7.2 Creating a CSV File in Python:
A CSV file consists of three parts:
The first part: corresponds to the first column in the spreadsheet, indicating the names of the columns, each column is separated from each other by a comma
The second part: corresponds to the last column in the spreadsheet
The third part: includes lines with the same structure, corresponding to the content of the value columns in the spreadsheet Note that each line of the text is a different value line on the spreadsheet
Figure 2.15: Data save in file CSV
There are different ways to read CSV files using csv module or pandas library in Python
Module csv: is one of the modules in Python that provides classes to read and write tabular information in CSV file format
Pandas library: is one of the open source Python libraries that provides convenient, high-performance data structures and data analysis tools and techniques for Python programming
Using CSV.READER(): At first, CSV file is opened by open() method in 'r' mode (specifies read mode while opening file) which returns file object then it is read by Using the CSV module's reader() method returns a reader object that iterates throughout the lines in the specified CSV document
Use CSV.DICTREADER() class: Similar to previous method, CSV file is first opened using this open() method then read using DictReader, csv module class works like a regular reader but maps the information in a CSV file to a dictionary The first line of the file includes the dictionary keys.
Other applications
2.8.1 TCP and how two Tags operate at the same time a Why select TCP?
With the default hardware configuration of DW1000, we can only open at most one Tag at a time This is because if more than one Tag is opened simultaneously, it can interfere with the process of determining the distance between the Tag and the Anchors This can cause problems for the Tag, such as preventing it from operating normally
To increase the number of Tags that can participate in positioning, we need to use a different method to control when Tags are turned on and off One way to do this is to use a timer The timer can be used to start and stop Tags at specific times
To ensure that the timer starts and stops Tags at the same time, we can use the TCP protocol TCP is a network protocol that provides reliable communication between devices
It can be used to send commands to Arduinos to start and stop the timer
In the program, we can use the Socket library to establish a TCP connection between the computer and the Arduino Once the connection is established, we can send commands to Arduino using the send() method b What is TCP?
TCP (Transmission Control Protocol) is an important network protocol used in the transmission of data over a network A network protocol is a set of rules and procedures that control the execution of data transmission so that everyone in the world, regardless of their geographical location, regardless of the application, or software they are using can operate in the same way same method called TCP
TCP is often combined with IP (Internet Protocol) as a pair called TCP/IP You may encounter this term in the network settings section on your computer, smartphone, or handheld devices IP will handle the assignment of addresses and forwarding of packets from source to destination while TCP controls the reliability of the transmission c How TCP works in the program:
Based on the Socket library, TCP establishes the role of Server on the computer and the connected Arduinos as Clients From here, the Server can easily send commands to Arduino through the Server-Clients model to activate other commands pre-set on Arduino
FreeRTOS is a free, open-source, real-time operating system (RTOS) for microcontrollers (MCUs) FreeRTOS provides multitasking for MCUs, allowing multiple tasks to run at the same time
Using FreeRTOS in a project can help improve the performance and responsiveness of the system FreeRTOS can be used to:
Run multiple tasks at the same time, each task performing a specific task
Ensure that tasks are run on time, such as the motor control task must be run immediately to react to state changes
Reduce the complexity of code, as FreeRTOS provides functions and data structures to manage tasks
FreeRTOS can be used in a variety of applications, including:
Embedded systems: FreeRTOS can be used to create complex embedded systems, such as industrial control systems, automation systems, and monitoring systems
Wearable devices: FreeRTOS can be used to create wearable devices, such as smartwatches, fitness trackers, and smart glasses
Robotics: FreeRTOS can be used to create robots, such as industrial robots, service robots, and entertainment robots
FreeRTOS is a powerful tool that can be used to improve the performance and responsiveness of a system In the project, the group used FreeRTOS to run real-time player reminders and display player positions on the field
Here are some specific examples of how FreeRTOS can be used in the project:
The player reminder task can be run in a separate thread from the player position display task This allows the two tasks to run concurrently, without interfering with each other
The player reminder task can be prioritized to ensure that it is always run on time This is important because player reminders are critical for safety and efficiency
The player position display task can use FreeRTOS's timers to ensure that it is updated at regular interval This ensures that the player positions are always displayed accurately
By using FreeRTOS, the group was able to create a system that is both efficient and responsive The player reminders are always delivered on time, and the player positions are always displayed accurately.
DESIGN AND IMPLEMENT
Hardware requirements
According to the requirements of the project, it is necessary to measure accurate parameters such as the position of the player, the speed as well as the player's heart rate achieved with high accuracy and vibrate to understand the player's movement
Currently, there are many types of sensors that can meet this need However, it is necessary to choose them so that they are suitable for the project goal, which is to attach the device to the player
Figure 3.1: Device used in training
For position and distance, a high-precision and least noisy position sensor is needed Normally, GPS is used because of its popularity, but the problem is that over a large and far range, it can only be accurate to a fair level For the need to determine the position in football, which needs a very accurate and absolute position, the group uses the DW1000 sensor, which is very accurate, with an error of only ±10cm At the same time, this sensor can be set up depending on the position and size of the football field you want
For speed measurement, the common sensor on the market is MPU6050 with 6 rotating axes This sensor has been mastered by the group during the Embedded course and the accuracy is not too different from other devices with the same function Therefore, the group chose the MPU6250 accelerometer sensor with high sensitivity and stable analog signal for this project
For heart rate, there are very few sensors on the market that measure heart rate and return in ECG waveform After searching, the group chose the AD8232 heart rate sensor with 3 electrodes attached to the body and returned an analog signal
The microcontroller that the group chose to use for the project is ESP32 because of its compact size and can transmit data to the server via Wifi connection And this module can be combined with many sensors to produce quite accurate data
The group chose the design of a chip sticker to optimize the size to help the player feel comfortable during use, not cramped or annoying
In summary, the flexible combination of sensors and microcontrollers has helped the group achieve the project goals accurately and efficiently These choices not only ensure the accuracy of the data but also meet the requirements for portability and comfort when using.
Block diagram
Through research, the group has studied and designed the system, from which we obtained the following block diagram simulating the main blocks in the system:
Overview of the system's operating mechanism will have 3 basic blocks shown through the arrow directions The function of each block is as follows:
Power supply block: This block provides power to the entire system The group chose to use a Lipo leaf battery because it is compact and has a long battery life
Central control block: This block is responsible for collecting data from the sensors, processing the data, and uploading it to the web The group chose to use the ESP32 microcontroller for this block because it is powerful and has built-in Wi-Fi and Bluetooth connectivity
Sensor block: This block contains the sensors that collect data from the environment The group chose to use the MPU6250 accelerometer and velocity sensor, the DWB1000 positioning sensor, the Ad8232 heart rate sensor, and the vibration motor.
Directions and solutions for implementation
With the goal of the project being small enough to be worn on the human body without causing entanglement during vigorous movement, we proceeded to model the ideas to select the most optimal solutions
We prioritized the selection of components such as the motherboard, sensors, and converters that are small in size and consume low power in order to design a complete, compact, and flexible model
The group studied PCB two-layer drawing to reduce the circuit area Initially, the group's goal was to draw a circuit with the output pins of the modules and sensors and plug them onto the PCB board
The group's efforts to reduce the size and weight of the system were successful The final system is only about the size of a credit card and weighs less than 100 grams This makes it small enough to be worn comfortably on the human body without causing entanglement
The group's use of PCB two-layer drawing also helped to reduce the size of the system This is because PCB two-layer drawing allows for the components to be placed on both sides of the board, which reduces the overall size of the system
The group's efforts to reduce the size and weight of the system were important because they made the system more portable and comfortable to wear This is important for the safety and efficiency of the system, as it allows the player to move freely without being restricted by the system
After completing the PCB board, the group found that circuit size was still large In addition, the insertion of the sensors made the PCB board much higher, and the gaps at the pin insertion positions were high Therefore, the group researched in a different direction
Based on the block diagram above, the group used the datasheet of each module to determine the power consumption of each sensor From this, they selected the battery for the product
With the estimated capacity of the device being nearly 450 mAh, the team chose a 500mAh lipo battery as enough to meet the needs
In addition, to match the input of the power IC, it is necessary to connect 2 battery blocks in series to meet the requirements
Regarding the power block, based on the calculation of consumption level above, the team chose the XL1509 power ic to meet the needs of the product
With the input voltage (Vin) ranging from 4.5v to 40v, the load current of the IC is 2A The IC has three output series, which are 3.3v, 5v, and 12v The output voltage of the
IC will depend on the design of the Buck converter
In this topic, all modules and sensors use 3.3v power Therefore, the power block will be designed with an output of 3.3v
Figure 3.7: Principle diagram of power block with output 3.3V
Figure 3.8: Power block on the board
The team plans to use the CP2102 chip for programming the ESP32 The CP2102 is a highly-integrated USB-to-UART Bridge Controller designed to simplify upgrading RS-
232 designs to USB using minimal components and PCB space
Here are the key specifications of the CP2102 chip:
USB 2.0 full-speed function controller and transceiver
EEPROM or EPROM for storing configuration data
Asynchronous serial data bus (UART) with full modem control signals
No additional external USB components required
Allows CP2102-based products to appear as a COM port to PC applications
Package: RoHS-compliant 28-pin QFN (5x5 mm)
Temperature range: -40 to +85 °CTemperature Range: –40 to +85 °C
The block diagram of the ESP32 programming block is shown below The block diagram is based on the ESP32 schematic provided by the ESP manufacturer, Espressif Systems
Figure 3.11: Charging block in PCB
The team plans to use the ESP32-WROOM-32 as the primary microcontroller for the device The ESP32-WROOM-32 is a powerful Wi-Fi + Bluetooth® + Bluetooth LE MCU module suitable for various applications, ranging from low-power sensor networks to demanding tasks like voice encoding, music streaming, and MP3 decoding
At the core of this module is the ESP32-D0WDQ6 chip* The chip embedded is designed to be scalable and adaptive There are two CPU cores that can be individually controlled, and the CPU clock frequency is adjustable from 80 MHz to 240 MHz The chip also has a low-power coprocessor that can be used instead of the CPU to save power while performing tasks that do not require much computing power, such as monitoring of peripherals ESP32 integrates a rich set of peripherals, ranging from capacitive touch sensors, SD card interface, Ethernet, high-speed SPI, UART, I2S, and I2C
Two low-power Xtensa® 32-bit LX6 microprocessors
- 1 core at 240 MHz: 504.85 CoreMark; 2.10 CoreMark/MHz
- 2 cores at 240 MHz: 994.26 CoreMark; 4.14 CoreMark/MHz
448 KB ROM for booting and core functions
520 KB on-chip SRAM for data and instructions
8 KB SRAM in RTC (FAST and SLOW memory)
1 Kbit eFuse, 768 bits reserved for customer applications
External SRAM support (up to 4 MB)
Processing speed: 160 MHz to 240 MHz
Power supply voltage: 3V to 3.6V (typical 3.3V)
34 programmable GPIOs (including strapping and input-only)
12-bit SAR ADC with up to 18 channels
Ethernet MAC interface with dedicated DMA and IEEE 1588 support
TWAI® (compatible with ISO 11898-1 CAN Specification 2.0)
LED PWM (up to 16 channels
Wi-Fi: 802.11b/g/n, up to 150 Mbps (2.4 GHz)
Bluetooth: v4.2 BR/EDR and LE specifications
Class-1, class-2, and class-3 transmitter without external power amplifier
NZIF receiver with –94 dBm Bluetooth LE sensitivity
Standard HCI based on SDIO/SPI/UART
High-speed UART HCI, up to 4 Mbps
Dual-mode controller (simultaneous BR/EDR and LE)
Synchronous Connection-Oriented/Extended (SCO/eSCO)
CVSD and SBC for audio codec
Multi-connections in Classic Bluetooth and Bluetooth LE
The ESP32-WROOM-32 was chosen for the following reasons:
Powerful processing: The dual CPU cores with adjustable clock speeds and high CoreMark score ensure efficient processing for the demanding tasks of the project
Multi-core capability: The ability to utilize both cores independently allows for efficient multitasking and responsiveness
Rich peripheral set: The ESP32 provides a wide range of peripherals, including Wi-Fi, Bluetooth, GPIOs, ADCs, DACs, and various communication interfaces, eliminating the need for additional external components
Compact size and low power consumption: The ESP32 is small and lightweight, making it ideal for integration into devices worn by players It also offers low-power modes for extending battery life
Wireless connectivity: Built-in Wi-Fi and Bluetooth capabilities enable wireless communication with other devices and networks
Cost-effective: The ESP32 offers a good balance of features and cost, making it a suitable choice for this project
Overall, the ESP32-WROOM-32 is a versatile and powerful microcontroller that meets the requirements of the project in terms of processing power, functionality, size, and communication capabilities Its combination of performance, features, and cost- effectiveness makes it an ideal choice for the player support device
Figure 3.14: Microcontroller Block in PCB
The team plans to use the MPU-6050 as the inertial measurement unit (IMU) for the device The MPU-6050 is a powerful and popular 6-axis motion tracking device that combines a 3-axis gyroscope, 3-axis accelerometer, and a Digital Motion Processor™ (DMP) in a small package This makes it ideal for capturing detailed movement data in the player support device
Integrates a 3-axis gyroscope and 3-axis accelerometer
16-bit ADCs for both gyroscope and accelerometer outputs
User-programmable full-scale ranges:
Figure 3.16: Connection between ESP32 and MPU6050
The team designed the MPU6050 block on the PCB based on the MPU6050 schematic provided by the manufacturer
They used a VOM to verify the connections of the purchased MPU6050 module before integrating it into the PCB
The MPU6050 communicates with the ESP32 microcontroller using the I2C protocol
Compact size and low power consumption make it suitable for wearable devices
High accuracy and sensitivity for capturing precise movement data
User-programmable full-scale ranges allow for flexibility in adapting to different applications
I2C communication simplifies integration with the ESP32 microcontroller
Overall, the MPU6050 provides a reliable and efficient solution for tracking player movement in the device Its combination of features and ease of integration makes it an ideal choice for the project
The I2C communication protocol used for connecting the MPU6050 to the ESP32 might require specific libraries and code configurations depending on the chosen implementation and tools The team may need to refer to additional resources and user guides for setting up and utilizing the I2C interface effectively
Figure 3.18: MPU6050 block in PCB
Option for installation on the player
There are several different methods for attaching the device to the player's back One common method is to use a removable adhesive patch This patch is typically made of elastic material, such as rubber or fabric The patch is applied to the player's back, and then the device is attached to the patch
Another method is to use a strap This strap is typically made of nylon or polyester The strap is worn around the player's neck, and then the device is attached to the strap
Another method is to use a jacket or vest that is specifically designed to accommodate the device This jacket or vest typically has a pocket or special strap to attach the device The method used will depend on the type of device being used and the player's preference
The method using a jacket or vest: is a comfortable and discreet method Jackets or vests often have pockets or special straps to accommodate the device
To attach the device using a jacket or vest, follow these steps:
1 Find the pocket or special strap on the jacket or vest
2 Place the device in the pocket or attach the device to the strap
3 Adjust the position of the device for comfort
Figure 3.32: Device location in vest 3.5.2 Choosing the right jacket:
The choice of jacket for the player is also very important because it affects the body's movement The jacket for the player must be made of non-wrinkle, non-pilling material with the ability to ventilate and keep the player cool, have a comfortable form-fitting, and especially the seams must be strong
Size: The jacket must be the right size for the player's body, not too tight or too loose
Material: The jacket should be made of durable material that is resistant to impact and water
Pocket or storage compartment: The jacket must have pockets or storage compartments to hold the player monitoring devices
Connection: The jacket must have connections to connect to the player monitoring devices
In addition, you can also consider adding additional features to the jacket, such as:
Display: The jacket has a display to display the data collected from the player monitoring devices
Notification system: The jacket has a notification system to alert the player when there is a health problem
The group chose to buy a vest jacket from the Sport brand to meet all of these needs with the L size model suitable for players weighing from 60-70 kg with Neoprene fabric soft, breathable, high elasticity
Soft and comfortable, high-quality material, good elasticity for sports activities
Promotes blood circulation in the human body
Reduces muscle stiffness and prevents muscle strain during exercise
Suitable for fitness, football, hiking, running and many other sports
Can be hand-washed after use.
METHOD ANALYST DATA
Completed device features
After completion, the product will have the following basic functions:
Read basic data from modules:The modules on the device will collect data from the environment, including the player's location, speed, distance traveled, speed graph, and heart rate
Display the measured values on the Web interface: The collected data will be uploaded to the Web interface, where coaches and players can view it
Remind the player on the field: The device can emit an alert or remind the player when there is a health problem, such as a heart rate that is too high or too low
Technologies Used in the Final Product: To perform these functions, the product uses the following technologies:
Sensor technology: Sensors are used to collect data from the environment In this product, the sensors used include location sensors, accelerometers, gyroscopes, and heart rate sensors
Communication technology: Communication technology is used to transmit data from the modules to the Web interface In this product, the communication technology used is Wi-Fi
Programming technology: Programming technology is used to write the program for the device In this product, the programming language used is Python.
Data processing diagram
Device Block: This block is responsible for collecting data from the four sensors The data is then passed to the ECG, MPU, DW, and Vibration blocks for further processing
ECG Block: This block processes data from the heart rate sensor The data is then used to calculate the player's heart rate
MPU Block: This block processes data from the accelerometer The data is then used to calculate the player's acceleration
DW Block: This block processes data from the position sensor The data is then used to calculate the player's position
Vibration Block: This block controls the vibration motor The motor is used to alert the player when they are out of position
Lowpass Filter Block: This block filters out noise from the data returned from the sensors This helps to improve the accuracy of the data
TCP Block: This block establishes a connection between the device and the server The connection is used to send data to the server
MQTT Block: This block stores data in a database table on the server The data is stored in a format that can be easily accessed and analyzed
Tkinter Block: This block is used to store and process data as required For example, the Tinker block could be used to calculate the player's distance traveled or the number of times they have been out of position
Broker Block: This block receives data from the MQTT block and stores it on the server The broker also provides a way for other devices to access the data
Web Server Block: This block displays and analyzes data from the database The data can be displayed in a variety of ways, such as graphs, charts, or tables.
Calculation of the Low Pass Filter used in the heart rate sensor
It is imposible to transfer function equation directly to process the signal from the sensor because the equation is not suitable for real-time signal processing Therefore, we will convert it from the state-space equation to the state update equation as follows:
Step 1: Convert the continuous transfer function (CT) to the discrete transfer function (DT)
We have the continuous transfer function as::
Next, we will convert the bilinear expression:
Substituting into the original equation we have:
Step 2: Build the difference equation
To convert the discrete transfer function H(z) to the difference equation (difference equation), we will use the method of decomposing into numerator and denominator, and then building the corresponding difference equation
Multiply both the numerator and denominator by z^n to bring the discrete transfer function to a form with the numerator independent of z:
Set the numerator equal to the expression y(n) and the denominator equal to the expression x(n) we have:
𝑦(𝑛) = 𝑏 0 + 𝑏 1 𝑧 −1 + ⋯ + 𝑏 𝑘 𝑧 −𝑘 (4.6) 𝑥(𝑛) = 𝑎 0 + 𝑎 1 𝑧 −1 + ⋯ + 𝑎 𝑚 𝑧 −𝑚 (4.7) Convert the expression into a difference equation by multiplying by z n :
𝑦(𝑛) = 𝑎 1 𝑦(𝑛 − 1) + 𝑎 2 𝑦(𝑛 − 2) + ⋯ + 𝑏 0 𝑥(𝑛) + 𝑏 1 𝑥(𝑛 − 1) + ⋯ (4.9) With the final expression that has been transformed as above, we can apply this equation to the real-time data noise filtering with the AD8232 heart rate sensor
The results of the filter with the AD8232 sensor
Figure 4.2: The unprocessed raw signal obtained from AD8232 sensor
By measuring the raw signal from the AD8232 sensor, we get a series of ECG signals with high noise, so the application of the filter is a necessity to have a clean and reliable signal
Applying the converted Low pass filter equation to the Arduino program, the group conducted experiments to measure ECG signals at different cut-off frequencies to select the frequency level that produces the cleanest and most stable signal
Cut-off frequency of 5Hz
Figure 4.3: Low Pass filter results at 5 Hz cutoff frequency
We can see that with a cut-off frequency of 5Hz, the signal after filtering has a much smaller amplitude and also has the most phase delay, leading to the impossibility of being used for practical experiments
Cut-off frequency of 10Hz
Figure 4.4: Low Pass filter results at 10 Hz cutoff frequency
With a cut-off frequency of 10Hz, the wave amplitude is not cut as small as the 5Hz frequency, but it is still relatively delayed in phase compared to the original signal
Cut-off frequency of 15Hz
Figure 4.5: Low Pass filter results at 15 Hz cutoff frequency
The signal after the filter received at the frequency of 15Hz no longer has much phase delay compared to the two cut-off frequencies of 5Hz and 10Hz, the amplitude is also closer to the two frequencies above as well as eliminating the signal's teeth, making the sensor signal more accurate at this time and can be used in the device application
Cut-off frequency of 20Hz
Figure 4.6: Low Pass filter results at 20 Hz cutoff frequency
At a cut-off frequency of 20Hz, the signal received is equivalent to the 15Hz cut-off frequency but with a much closer amplitude
From the 20Hz cut-off frequency onwards, the signal received does not change much, seemingly corresponding to the 20Hz cut-off signal, so we will consider and choose between the two cut-off frequencies of 15Hz and 20Hz for the most appropriate application
Comparison of cut-off frequencies of 15Hz and 20Hz:
Figure 4.8: Comparison of cut-off frequencies of 15Hz and 20Hz:
To be able to see more clearly the difference between the signals received after the filter of these two frequencies, the group conducted a comparison between the two cut-off frequencies and the original signal of the sensor
Amplitude: The 15Hz cut-off frequency has a lower amplitude than the 20Hz cut-off frequency, but for the topic, the priority is the ability to reduce noise rather than the increase or decrease of amplitude is not important
Noise reduction efficiency: Based on the comparison diagram, it can be seen that the signal of the 20Hz cut-off frequency will now be delayed more than the signal of the 15Hz cut-off frequency In medical and ECG monitoring applications, the delay of the signal is very important and can affect the diagnosis and data processing, so the group decided to choose the cut-off frequency of the filter to be 15Hz for the signal returned to be clean and reliable
From the results of the experiments above, the group chose the cut-off frequency of the Low pass filter to be 15Hz for application in the heart rate monitoring device This cut- off frequency helps to remove noise from the ECG signal, while still maintaining the amplitude and phase of the original signal, ensuring the accuracy of the signal after filtering
To design a container that can protect football players from the forces acting on them when they fall or collide We have to calculate total of all forces acting on the container.The forces acting on a player when they fall can be divided into two main types:
Forces acting on the upper body of the player: These forces include the weight of the player and the player's inertia when they fall Inertia can be calculated using the following formula:
Fq is the inertia force (N) m is the mass of the player (kg) v is the velocity of the player (m/s)
With a player with a mass of 70 kg and a fall velocity of 5 m/s, the inertia force acting on the player is:
Forces acting on the player's feet: These forces include the friction force between the player's feet and the ground The friction force can be calculated using the following formula:
Fm is the friction force (N) μ is the coefficient of friction between the player's feet and the ground
N is the reaction force of the ground (N)
The reaction force of ground can be calculated using the following formula:
N is the reaction force of the ground (N) m is the mass of the player (kg) g is the acceleration due to gravity (9.81 m/s²)
With a player with a mass of 70 kg and a coefficient of friction between the player's feet and the ground of 0.5, the friction force acting on the player's feet is:
Therefore, the total force acting on the player when they land on their feet can reach approximately 1200 N, equivalent to 120 kg of force This force can cause injuries to the player, especially in the back area
EXPERIMENT RESULTS FINDINGS AND ANALYSIS
Design expertement
To assess the monitor equipment, we asked our customer to know his expectations about the equipment Finally, we summarized all the things he wanted and listed out 8 needs that we should have in our machine:
1 The device has high precision
2 The device creates a feeling of comfort and is portable
3 The device is easy to use and operate
4 The device has high durability and resistance to water
5 The device has a reasonable price
6 The device has a variety of functions
7 The device has a long lifespan
8 The device runs run real time
No Needs Metrics Imp Unit List
M1 1,5,6 Sensor Type 4 list ECG – IMU - DW
M4 2,4 Material 3 list ABS – TPU - PETG
M7 1,6,8 Data 3 list Heart rate, Velocity, Position
M10 6 Signal notification 4 list Turn or Last
*Imp stands for Important Rate (Using a scale of 1=little important to 5=very important)
X - Indirect measure: the quantity to be measured is not measured directly but other related parameter is measured and inference is drawn from there
O – Direct measure: the quantity to be measured is determined directly by measurement tools such as caliper, micrometer, etc
Imp Unit Ideal Value Marginal
BASIC is all static measurable metrics and functions that a typical product should have
ADVANCE is all static measurable metrics, functions that improve the product performances and cost more than 10%
ADDITIONAL is all static measurable metrics, functions that add value to the product but do not make the product cost higher than 10%
Unit Sampling Types of Test Method Description
Sensor Type List 1 X Comparing block listing
Weight Gram 1 X Using scales to read the mass of the device
Mm 1 X Using rulers to measure the dimensions of the device
Material List 1 X ABS, TPU, PETG
Battery Minute 5 X Using a timer to calculate the number of minutes the device will operate until the battery runs out
Failure rate % 30 X Analyzing device display data compared to standard measuring equipment
Heart rate Bmp 30 X Compared with specialized heart rate measuring devices in sports
Velocity m/s 10 X Compared with specialized speed measuring devices in sports
Vibrant Cycle 10 X Checking vibration modes by feeling
Orient M 10 X Using rulers to measure the dimensions of the device
Delay Second 10 X Using a ruler to measure the actual distance on the field compared to the data displayed on the screen
List 10 X Checking to operate when activated
Analyst data List 5 X Checking and comparing with reality
Storage Data List 5 X Checking the contained data
List 1 X Let the customer check and give feedback
Size Clothes List 1 X Let the customer check and give feedback
Operation Experience
Sampling Ideal Value Marginal value
Table 5.5: Static test 5.2.2 Dynamic test:
Average measured value: 44.8 Average % match: 80%
Table 5.6: Battery life (minute) Heart rate (BMP)
Average measured value: 79.1 Average % match: 67%
Average measured value: 101.6 Average % match: 60%
Average measured value:159.3 Average % match: 79.5%
Table 5.7: Check heart rate value (bmp) Velocity (m/s)
Average measured value: 79.1 Average % match: 67%
Average measured value: Average % match: 78%
Table 5.8: Check velocity value when walking and running (cm/s)
Average measured value: OK Average % match: 80%
Average measured value: 5.06 Average % match: 82%
Analyst
The results satisfy all the initial requirements of the device
Figure 5.1: Graph on the value of battery life
Comment: We can observe varying battery life after each full charge and use Battery life is influenced by the sensors and motors used in the device Particularly, battery life differs greatly depending on the number of times the vibration motor is used to alert the player We can improve this by using a higher-capacity battery to meet usage demands
Figure 5.2: Graph on the value of heart rate
Comment: We divided it into 3 states to measure heart rate: standing still, walking, running In the states of standing still and walking, the heart rate values differ greatly compared to when using a heart rate monitor The reason is that when in a static state, heart rate and blood flow are not very clear, especially since the device only uses 3 electrodes for electrocardiography, resulting in a high potential for noise interference As for when running, the heart beats stronger and blood must flow faster, the signal measured from the electrodes is clearer, so the heart rate data in this state will be more accurate than when standing still or walking
Figure 5.3: Graph on the value of velocity
Be at p er m in u te
Comment: We measure speed by trying to maintain a constant speed over a short distance And this value is also divided into two states: walking and running Compared to a wristwatch, the speed when walking and running does not vary much Sometimes there are some errors, but they are not significant
Figure 5.4: Graph on the value of location
Comment: We measure position by using a ruler from a standing position relative to a fixed distance of 5m Considering the measured values, the error is relatively tolerable, possibly due to unstable signal transmission due to the test position or hardware issues However, this error does not have a significant impact
Sensor Type 4 List ECG – IMU
Figure 5.5: Testing indoor and on the pitch
The average matching rate is not as high as we would like (about %), which shows that the device is still affected by surrounding factors However, from the table above we can see that some important functional values of the device are not reported enough, which makes the average compatibility percentage not good Some basic functional requirements are still fully met but the accuracy is not too high The most important parameter is the accuracy of data from the sensor, which is highly affected and needs to be fine-tuned depending on the implementation environment
The low performance of the device can be explained by the following reasons:
+ Testing environment: The team chose to test in a sunny outdoor environment, the temperature was quite high, and direct sunlight could cause the sensors and internal circuits to interfere with the data at that time, there was no plan yet aerodynamics for the device
+WiFi connection signal: Wifi is the main communication method of the device, so during the process, it will depend on the wifi signal of the place where it is done
In addition, other requirements such as wearing comfort, impact resistance, water resistance, and the ability to prompt players directly while running still meet the requirements that the original team set out.
CONCLUSION AND RECOMMENDATIONS
Conclusion
After completing the project, we have completed the following requirements:
The device works quite accurately, using filters such a Lowpass to process sensor noise
The user interface displays data and player statistics
The device is designed with a chip-on-board (COB) circuit to reduce the size of the hardware and make it more comfortable to use
The device is designed with a case to protect the sensors and battery inside, minimizing damage caused by impact during use
The device can be attached to the shirt and the placement is quite accurate
The device has the ability to remind players during training
The design is still not as good as the target set
The website is still quite simple, with not many features
The filters are not yet the most optimized they could be
The size is still quite large compared to products on the market
It depends heavily on the Internet in the implementation area.
Recommendations
Smaller and More User-Friendly: Focus on reducing the size and weight of the device to create a more flexible and convenient product for users
Improved Sensor Integration: Research and integrate new sensors with high accuracy to provide more accurate and diverse data
Integration of 5G Technology: To address the issue of internet connectivity, research on integrating 5G technology to ensure strong and continuous data transmission
Development of Mobile App: Create a synchronized mobile application that allows players to easily track personal information and coaches to manage the team conveniently
Improved Web Interface: More user-friendly interface
Upgrade sensor quality, better filter parameter design
[1] Alldatasheet DW1000 Product Specification docs.ai-thinker.com, [Online], Oct15
2023 Available: https://docs.ai-thinker.com/_media/uwb/docs/dwm1000-datasheet-1.pdf
[2] Qorvo AD8232- Heart Rate Monitor modules pdfl.alldatesheet.com, Oct 15 2023 Available: https://pdf1.alldatasheet.com/datasheet-pdf/view/527942/AD/AD8232.html
[3] Alldatasheet MPU6050 modules alldatasheet.com, [Online], Oct 15 2023 Available: https://www.alldatasheet.com/datasheet-pdf/pdf/517744/ETC1/MPU-6050.html
[4] Alldatasheet Vibrant motor alldatasheet.com, [Online], Oct 18 2023 Available: https://www.alldatasheet.com/datasheet-pdf/pdf/158140/NSC/ADC0834.html
[5] Alldatasheet ESP32 Datasheet alldatasheet.com, [Online], Oct 19 2023 Available: https://www.alldatasheet.com/datasheet-pdf/pdf/1148023/ESPRESSIF/ESP32.html
[6] Starlino A Guide To using IMU (Accelerometer and Gyroscope Devices) in Embedded Applications starlino.com [Online], Octorber 25 2023 Available: http://www.starlino.com/imu_guide.htm
[7] Google Scholar, J Clin Med, Myocardial Work Index in Professional Football Players:
A Novel Method for Assessment of Cardiac Adaptation, [Online], Oct 25 2023 Available: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10179020/fbclid=IwAR0OwvwfTybM4 MNMcY6ztVbb_qe6E8d9TRhEtrAKqdL6D3dl-_YhqJOYlNE
[8] Google Scholar, Johns Hopkins Medicine, Understand Your Target Heart Rate, Understanding Your Target Heart Rate | Johns Hopkins Medicine [Online], Nov 7 2023 Available: https://www.hopkinsmedicine.org/health/wellness-and-prevention/3-kinds-of-exercise- that-boost-heart-health
[9] Github Gyroscope, and Accelerometer Calibration with Arduino github.com , [Online], Nov 11 2023 Available: https://github.com/blog/calibration-of-an-inertial-measurement-unit-imu-with-arduino [10] ThePoorEngineer EXTENDED LOW PASS FILTER IMPLEMENTATION thepoorenineer.com https://thepoorengineer.com/en/ekf-impl/,
[11] Project, “Thiết bị hỗ trợ theo dõi trạng thái cầu thủ”, Ho Chi Minh University Technology and Education, Hồ Chí Minh, 2023
[12] FIFA Electronic Performance and Tracking Systems (EPTS) fifa.com , [Online], Oct
11 2023 Available: https://www.fifa.com/technical/football-technology/standards/epts,
[13] MDPI How to design and implement a digital low pass filter on Arduino youtube.com [Online], Dec 12 2023 Available: https://www.youtube.com/watch?v=HJ-C4Incgpw&t4s
[14] HiveMQbroker, BasicMQTT_HiveMQ.ino sketch and open it in Arduino IDE gui-o.com [Online], Dec 15 2023 Available: https://www.gui-o.com/how-to-guides/hivemq-broker