<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An IoT-based system of mechanizing sport competition motion for perception improvement</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vadim V. Romanuke</string-name>
          <email>romanukevadimv@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Serhii Y. Dementiev</string-name>
          <email>s.dementiev@vtei.edu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Svitlana A. Yaremko</string-name>
          <email>svitlana_yaremko@ukr.net</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>PCWrEooUrckResehdoinpgs ISSNc1e6u1r-3w-0s0.o7r3g</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Vinnytsia Institute of Trade and Economics of State University of Trade and Economics</institution>
          ,
          <addr-line>87 Soborna Str., Vinnytsia, 21050</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <fpage>81</fpage>
      <lpage>96</lpage>
      <abstract>
        <p>Human perception heavily relies as on seeing and hearing, as well as on possibility to view diferent angles and continuity of motion. Obviously, modern video broadcasting and displaying do ensure high-resolution content, but they nonetheless still lack that subtlety of perceiving objects live, by which one is still capable to distinguish watching screen picture from watching natural picture. In sport competitions, events are perceived much better when they are observed up close, with stronger capability of estimating dynamics and general mechanics of motion. This concerns the coaching staf and analysts, as well as fans and spectators. A special case is the use of scaled-down or miniaturized models similar to tabletop games, where on-field sports players are represented by model figures. Such models, additionally allowing tangibility, are especially precious for people with visual impairments. We suggest a conceptual model of an IoT-based embedded system, which allows visually, tangibly, and acoustically perceiving location and motion of a sports player within sports field. We consider three approaches to technical implementation of motion mechanism for providing speed and smoothness. Motion is controlled by stepper motors and specialized drivers TMC22xx/DRV88xx. Acceleration and deceleration are computed by a special pattern. An algorithm is developed for automatic calibration of the system mechanics, and also for automatic positioning. Motion control, data acquisition from player-mounted sensors, and data exchange among servers are provided by Raspberry Pi Compute Module 5. We optimize internal protocols for data exchange among processes, as well as external protocols for real-time data acquisition, based on neglecting states that have relatively low efect on the overall model response. This renders our system power consumption to almost linear with respect to stepper motors, which are the most power-consuming in the system.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;wearable sensors</kwd>
        <kwd>real-time data acquisition</kwd>
        <kwd>mechanical presentation of information</kwd>
        <kwd>perception improvement</kwd>
        <kwd>stepper motor</kwd>
        <kwd>TMC2209</kwd>
        <kwd>Raspberry Pi Compute Module</kwd>
        <kwd>Python server</kwd>
        <kwd>UART</kwd>
        <kwd>calibration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Nowadays, huge variety of portable displays, tablets, electronic boards, and other devices for visual
reproduction of information allows covering nearly any household, industrial, and entertainment tasks.
However, almost all of these tools ultimately produce a 2D image on the screen plane, which a person
“reads” with one’s eyes and eventually transforms into an image or object as a factual perception of
information. Techniques of perceptual augmentation to enhance perception in vision are well-known.
Thus, the contrast between the white background and black characters is used to highlight the text,
certain color palettes are used to enhance part of the image, special dynamic video sequences are
generated, which actually allow enhancing perceptibility of 3D scenes and objects on 2D screen, etc.
Meanwhile, large manufacturers of electronic visual displays continue to develop. There are already
many concepts of flexible displays [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], curved screens [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], 3D LED displays [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], 3D hologram spinning
fan LED displays [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and others, but reproduction of information by mechanical pointers will always
be relevant also. The matter is human perception heavily relies as on seeing and hearing, as well as on
possibility to view diferent angles and continuity of motion [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ]. Despite modern video broadcasting
and displaying unquestionably ensure high-resolution content, mechanical reproduction of a system
object (element or parameter) is visible at any side and angle, it is not limited in size and is often much
cheaper, more reliable and informative than electronic displaying. A real mechanical object is tangible
and even can be felt (perceived) by its nearby vibration. Simple examples are such mechanical means of
displaying as a wall clock with hands, a tachometer or a fuel level indicator on the dashboard of a car, a
weather vane. Mechanization of information presentation provides that subtle feature of augmented
perception that is lacked in watching screen picture, whichever quality it has.
      </p>
      <p>
        In sport competitions, events are perceived much better when they are observed up close, with
stronger capability of estimating dynamics and general mechanics of motion. The coaching staf
and analysts can view detailed peculiarities of tactical movements and mistakes of players [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ].
Fans and spectators get aesthetic pleasure from watching details of movements, dribbling, struggling,
confrontation moments. A special case is the use of scaled-down or miniaturized models similar
to tabletop games, where on-field sports players are represented by model figures. Such models,
additionally allowing tangibility in addition to audio commentary of the game, are especially precious
for people with visual impairments who receive possibility to estimate tactilely location and motion
of an individually taken player. Moreover, coaches get miniaturized yet enhanced views of analyzing
individual player positioning and tactical adherence [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The player can review subtler details of one’s
performance and improve spatial awareness [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>Our purpose is to develop a conceptual model of an IoT-based embedded system, which allows
visually, tangibly, and acoustically perceiving location and motion of a sports player within sports field.
Positioning is to be realized by a moving marker, whose shape and size could be changed according
to the type of game or sport. Player’s data must be aggregated straightforwardly from sensors via
stadium network gateways, but also we ought to make it possible to download data of previous games
to simulate performance of a chosen player. The system, which is presumed to be portable and energy
eficient, is believed to be a more convenient tool for visual presentation of tactics and strategies in
sports games by the team’s coaching and teaching staf. Besides, unlike electronic applications, it should
allow visually impaired people to better perceive information about events in the game.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Sports data collection</title>
      <p>
        Sports data, and, in particular, soccer data, are continuously collected during the game. Data acquisition
is the first step in the data processing pipeline. It involves capturing raw data and converting it into a
format that can be easily analyzed. Data are acquired either from sensors usually mounted in vests
and cleats or by optical tracking systems and event data providers. When players wear enhanced-GPS
devices [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], BLE beacons [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], accelerometers, gyroscopes, magnetometers, and other wearable sensors,
embedded in vests and cleats, these devices collect location data, speed, and movement patterns through
gaming time [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Optical tracking systems have cameras placed around the stadium that track the
players’ movements in real time [
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ]. Systems like Hawk-Eye [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] or ChyronHego [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] use multiple
high-resolution cameras to record player positions at a high frame rate. Event data providers involve
technical personnel for collecting sports data. Companies like StatsBomb [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], Opta Sports [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], and
Wyscout [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] collect player data during matches using a combination of manual tagging and automated
systems.
      </p>
      <p>
        Once acquired, the raw telemetry data from tracking systems and wearables is preprocessed to
determine the player’s position on the field and other temporal characteristics at any given moment.
This positional data is recorded in the abscissa-and-ordinate-axes coordinates with respect to the field
dimensions. Besides, these are sensors inside the ball itself, which record its motion speed and the
position in 3D coordinates with respect to the field to identify in-flight characteristics of the ball [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
To maintain a continuous record of movement, the data is typically sampled at high frequencies (e. g.,
25 frames per second or so) [
        <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
        ].
      </p>
      <p>
        The preprocessed data is used for generation of heatmaps [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. The field is divided into a grid of
small cells, where each cell represents a specific area of the field. The system calculates the time a
player spends in each grid cell. More time spent in a cell results in higher intensity for that cell on the
heatmap. Other heatmaps show such activity levels as sprints, touches, interceptions, headkicks, etc.
Heatmaps use gradient color coding (e. g., blue for low activity, red for high activity) to represent the
intensity of a player’s presence and activity in diferent areas. Static heatmaps show the whole match,
whereas dynamic heatmaps show gradual changes over time. Nevertheless, heatmaps cannot show
player’s geometrical twists and turns, which are observable only either on screen or, what is at least no
way worse, on a miniaturized field.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Structure of the system</title>
      <p>All telemetry data is collected on wireless gateways in the stadium and transmitted to a server where
the telemetry data is filtered and processed. Most of the game’s data is not available to the general
public, and it is mostly not of interest to common spectators or fans. But basic information about the
game process is delivered to providers of such services, which give the end user the opportunity to
receive it, whether for a fee or free. Examples of such telemetry data available on the match broadcast
screens and tabulated statistics on the Internet are ball possession percentage, pass accuracy, amount of
kilometers covered by the player, maximum impact force, etc.</p>
      <p>Data providers deliver data from their servers to users online, or they may provide recordings of
previous games. Data formats can be diferent, but as a rule, they can be obtained in CSV, XML, or JSON
and similar formats, which are easy to parse, convert, and transfer for further processing. Recorded
games, as well as interesting educational game situations, can be stored on own separate “On demand”
server in an optimized format that allows for faster access to data and makes data classification better.</p>
      <p>
        The center of the system is the Raspberry Pi Compute Module (figure 1). This is a powerful
minicomputer based on the Linux OS operating system [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], which has powerful peripherals for
simultaneously processing input sensors, data exchange with servers, controlling motors, displaying required
information on the screen and processing other related information. Raspberry Pi products are the
most rational choice today in terms of price-to-quality ratio. With the price of the basic model starting
at $35, the Raspberry Pi 5 operation speed is about 25 Gflops [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], which is an excellent indicator. Of
course, competitors such as Orange Pi or Banana Pi are not far behind, but the quality and support of
their products is much worse.
      </p>
      <p>In our system, the Raspberry Pi uses the following peripherals:
1. Ethernet and Wi-Fi to access the Internet to exchange data with servers, and to be able to configure
the system and collect logs.
2. GPIO, UART, I2C, I2S for controlling stepper motor drivers, receiving data from sensors,
controlling the vibrator and transmitting sound to user’s headphones.
3. Bluetooth as an alternative audio channel for a wireless headset.
4. HDMI or MIPI for outputting the broadcast video signal to an optional screen.</p>
      <p>The system runs on Raspberry Pi OS, which is a Unix-like operating system based on the Debian
Linux distribution for the Raspberry Pi family of compact single-board computers. Raspberry Pi OS
is very stable, allows multithreading, and also supports all popular software development tools like
C/C++, Python, Bash script, Java, PHP.</p>
      <p>The system converts the received data about the position of the player on the sports field, his speed
and current acceleration into a 2D coordinate on the miniaturized field and controls the position of
the carriage with the help of two motors and belts. The carriage moves under the miniaturized field
with a magnet attached to it. A magnetic marker as the player’s model figure is placed on top of the
miniaturized field. This marker completely repeats the movement of the carriage. The calibration of the
carriage position, as well as the permanent control of its position, is performed by four optical sensors
on each side of the miniaturized field, which makes mechanical malfunctions and slips impossible. The
optical sensors also help position the marker more accurately, whereas positioning is quite repeatable.
The carriage is moved along the conditional abscissa and ordinate axes by two 24 V stepper motors
with a maximum peak current of 2 A. The accuracy, smoothness, and other dynamic parameters of the
motors are controlled by driver boards TMC22xx, which are controlled from the Raspberry Pi via GPIO
and UART interfaces. The system has a vibration motor that generates a vibration signal of a certain
amplitude and frequency, by the type of which the user can distinguish one or another event that is
currently happening on the field.</p>
      <p>Basic (or custom) control of the system is possible using several buttons and switches. Full control
of the system is carried out using a command protocol through an internal or external (Internet)
connection.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Mechanics of the system</title>
      <p>The mechanical part of the system consists of motors that move the belts, which in turn move the
carriage (figure 2). The carriage moves on linear bearings along linear guides in the
abscissa-andordinate-axes plane in the direction specified by the logic. Gears and tension devices allow the belt to
move smoothly and have a stable tension. All elements are fixed on a strong aluminum frame, which is
the base.</p>
      <p>The choice of the design is determined by the main requirements: maximum movement speed,
simplicity, and maximum reliability of the system. We consider three versions of the mechanical design.
Version “A” has the appearance of a classic scheme, which is used in the manufacture of
computernumerical-control machines (figure 3). It has two (cheaper schemes have one) lower motors that move
the main beam with two running screws and determine the position of the ordinate axis (Y axis). Another
motor is placed on the beam, which moves the carriage along the abscissa axis (X axis) with another
running screw. Scheme “A” has such advantages as good positioning and excellent holding power and
movement of the carriage, which is relevant for computer-numerical-control machines. However, it is
not fast and requires much more additional relatively expensive components than schemes on belts. Belt
schemes (figure 2) are often used in the construction of 3D printers of the cheap and middle segments
of the market, so there are no problems with components and auxiliary mechanisms.</p>
      <sec id="sec-4-1">
        <title>Motion along abscissa axis </title>
      </sec>
      <sec id="sec-4-2">
        <title>Motion along ordinate axis </title>
        <p>
          Scheme “B” is a family of 2-axis mechanisms called H-Bots [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. They use two motors on one belt
to create 2-axis motion (figure 4). The simplest type is the classic H-Bot [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. Letter “H” comes from
the contour of the belts that form this letter. The motors rotate in one direction for movement along
one axis, for movement along another axis the motors must be rotated in opposite directions. If only
one motor is rotated, both axes will move evenly (diagonally). All other angles can be realized with the
corresponding gear ratio.
        </p>
        <p>
          The H-Bot is simple and very reliable, but adds some torque on the mechanism under heavy loads.
For example, when the belt is pulled down from the left side of letter “H” and up from the right side,
the force will try to twist the frame if there is too much resistance of the carriage in X. Scheme “C”
called CoreXY [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] solves this nuance (figure 5), but it has crossed belts on one side that complicates
the construction and lowers its reliability upon intensive usage. In addition, a longer belt increases the
likelihood of problems with its stretching and carriage positioning. There are also other belt routing
schemes, e. g., T-Bots, but they are less popular.
        </p>
        <p>Therefore, we select the classic H-Bot layout to ensure the maximum speed of movement and
reliability of the system under conditions of not applying excessive loads to the carriage, which in
principle is not required for this task. The rating of stepper motors is determined based on the NEMA17
standard size with a torque of 3-4 kg/cm at a current of up to 2 A. They are usually used in 3D printers,
extruders and small computer-numerical-control machines. For example, the NEMA17 JK42HS40 motor
is quite suitable for such tasks by owing to that the motor has acceptable characteristics (table 1).</p>
        <p>
          The driver for controlling the stepper motor is selected based on popularity, ease of connection to
the Raspberry Pi Compute Module, and energy eficiency. The DRV88xx series of drivers [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] from
the Pololu company are considered, in particular the DRV8825 model [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ], as well as the TMC2209
model from Trinamic [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ]. The latter is eventually used in the system. It difers from other drivers in
that it receives information about rotation parameters from back EMF signals and winding currents.
The obtained data allow to achieve precise and noiseless control of the engine. In addition, this driver
allows a maximum motor current of 2 A and supports fine-tuning parameters via the UART interface.
        </p>
        <p>
          The PCM5102 module serves for the sound I2S DAC [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ]. It produces high-quality 24-bit sound and
is intended for use with Raspberry Pi or Orange Pi mini-computers. This is an inexpensive module,
and for its size it has excellent characteristics both in headphones and through an additional power
amplifier.
        </p>
        <p>
          A laser distance sensor on the VL53L0X module serves for calibrating and adjusting the position
of the carriage. This is a miniature ToF (Time-of-Flight) distance sensor module that allows quickly
and accurately measuring distances up to 2 m. The module is connected via a common I2C serial
interface for device control and data transfer. The VL53L0X sensor is equipped with an advanced matrix
based on highly sensitive single-photon avalanche diodes. The principle of its operation is based on
STMicroelectronics’ patented FlightSense technology [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ]. A VCSEL surface-emitting laser with a
wavelength of 940 nm acts as an optical signal source in the VL53L0X distance sensor. It is equipped
with a built-in infrared filter. Its glow is completely invisible to human eye, and provides a longer
measurement distance with less sensitivity to ambient light levels and is more resistant to crosstalk
such as glass surfaces. The distance measurement range is from 1 cm to 2 m.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Logic of system functioning</title>
      <p>After powering on, the analog part of the system is ready to work almost immediately. The Raspberry
Pi digital controller loads the operating system and starts its all related services within 10 seconds.
The main internal logic of the system is shown in figure 6. If the system is idle without action for 60
seconds, it automatically goes into sleep mode to save power resources, which turns of all loads and
puts the controller into a reduced power saving mode. The transition to operating mode occurs when
the user presses a button on the panel, or activity on the Ethernet port. There is a light-emitting diode
that indicates the current mode.</p>
      <p>System start 
The Python script operations: </p>
      <p> 
•  Basic system checking 
•  Reading out the configuration file 
•  Starting the main C++ App in daemon 
   mode with configuration keys </p>
      <p>C++ Main App starting tasks: </p>
      <p> 
•  Validation of all the keys 
•  Start of logging 
•  Start of all the functional threads 
Movement thread </p>
      <p> 
• Configures and controls 
  the step motors operation 
  using the drivers 
• Calculates motor speed 
  and acceleration 
• Checks for the initial 
  calibration and tunes  
  the carriage position  
  if needed </p>
      <p>System core thread </p>
      <p> 
• Checks for system events 
  and exceptions 
• Reads and handles the 
  sensors, vibromotor,  
  and the user buttons 
• Outputs audio stream to 
  headphones and video 
  stream to the screen </p>
      <p>Data thread </p>
      <p> 
• Handles the incoming 
  data from the provider 
  server 
• Data processing (parsing, 
  filtering, conversion) 
• Updates the moving 
  queue with a new track 
  for carriage </p>
      <p>Control thread </p>
      <p> 
• Handles the incoming 
  commands 
• Switches the system 
  modes 
• Tunes the system 
  parameters 
• Responds with the 
  current system state 
The Python script operations: </p>
      <p> 
•  Storing error logs 
•  Storing the configuration 
•  Double‐checking that all  
   the peripherals are in safe mode </p>
      <p>System turn‐off </p>
      <p>The system starts by running a Python script that checks whether all necessary services are running
in the operating system and performs basic settings. The script reads the configuration file that contains
the saved data of the previous system session and runs a daemon program written in C++ with the
appropriate configuration keys. For the main task, C++ is chosen because it provides maximum code
execution speed and, accordingly, the operation of all system processes. Less demanding processes for
execution time, such as system start, shutdown, and other related tasks, are written in Python, as they
are easy to adjust and add new functionality if necessary.</p>
      <p>The C++ program starts with a basic task that checks the settings, initiates the start of logging, and
launches four main processes, which are responsible for the main operation of the system. Dividing the
work of this IoT-based system into four separate processes allows distributing tasks more logically and
functionally. This eventually allows parallelizing the system work without noticeable delays, overhead,
or issues of non-synchronization.</p>
      <p>The first process is responsible for movement. It performs the initial initialization of the TMC2209
driver parameters for optimal and smooth operation of the motors. For this, two system UART ports are
used. The movement control itself is performed via the GPIO interface. At the beginning of the work,
the carriage position is calibrated: the carriage is first moved along the entire Y axis until the optical
sensor is triggered, then a similar operation is performed along the X axis and the carriage is placed
exactly in the center of the playing field, which starts the main functionality. To prevent emergency
situations and mechanical failure, the system provides a movement timeout without triggering the edge
sensors, after which the motor movement stops and the system signals an error. Over time, a small
position drift is possible caused by belt slippage or accidental skips in motor steps. However, the system
constantly calculates the carriage position in the field, so when the marker and, accordingly, the carriage
approaches an edge, it automatically adjusts its real position to the expected one. The first process also
calculates the optimal motor speed and acceleration when the direction of the marker changes. In fact,
the movement parameters are calculated after receiving data from the server (a tracking data provider),
but before transferring control to the motor drivers.</p>
      <p>The second process is the core of the IoT-based embedded system. This process is responsible for
processing system events such as user pressing buttons, handling system exceptions, and terminating
work. The process also polls the state of edge sensors via the I2C interface, controls signals to the
vibration motor, controls the output of the audio stream via I2S/BLE to headphones and the output
of the video stream to the optional HDMI/MIPI screen. This process is also an integral part of edge
computing, since it provides the user with actually converted 2D game data before it is transferred to a
games data warehouse.</p>
      <p>The third process is responsible for obtaining data on the player’s movement on the field. It receives
and processes data from the selected provider server (network gateway), but also it may receive data
from storage. It performs data preprocessing, such as parsing, filtering, and converting into binary
format, which is then added to the queue of the carriage movement trajectory, which is further handled
by the process that monitors the movement. In simplified terms, the data stream is received in CSV
format, strip by strip, where the belonging of each “column” is determined by the header (the first strip).
The numbers in the specified columns are the coordinates of a particular player on whom a conditional
marker is placed and whose movement is then monitored.</p>
      <p>The control process is responsible for selecting a data column (i. e., the player on whom the marker
is placed). This is the fourth, no less important, process in the system. The control process receives
external commands from the user and responds to user’s requests. The commands are used to configure
the system, select a server with data, start, stop the game, command to recalibrate the system, etc. With
the help of the commands, a remote operator can find out the current state of the system. The command
system itself is as simple as possible, being actually the command itself in a string form and several
parameters that are added to it. Before each command, a unique ID is transmitted – a key number that
constantly increases by one with each new command, which allows to clearly separate one command
from another. A response with the same ID is generated for each incoming command. For example,
command “12345,RECALL” does not require additional parameters and will recalibrate the mechanics,
and next command “12346,DATASRVADDR,192.168.0.100” will set a new IP address for the data server.
The response to the first command will be “12345,0”, where the status zero means the command has
been executed without errors. This method allows to flexibly add new commands for controlling the
system and makes it impossible to lose understanding of which previous command the response was
received for.</p>
      <p>To read field boundaries data from VL53L0X sensors, the I2C interface is used. In total, there are
four identical sensors on each of the lines. All four sensors are hardware-connected to one two-wire
line, and each has its own unique address on the bus in order to be able to query a specific sensor. The
VL53L0X has a default I2C address of 0x29. But there is a software option to change it to any in the
range 0x29...0x7F. Accordingly, the sensors that work in the system have addresses 0x2A, 0x2B, 0x2C,
and 0x2D. Below (figure 7) is a commented example of a squeezed C++ code that initializes the interface,
queries the sensors, performs averaging with outlier filtering. The result of the work is a conclusion
whether the carriage is within the field; if not, then the current coordinates are corrected. This happens
imperceptibly for the user and the corrected system continues to function.</p>
      <p>After receiving the command to terminate the operation, the Python script again takes control, which
records the operation log, saves the current system configuration, checks whether all peripherals are in
normal mode, and safely parks the operating system.</p>
    </sec>
    <sec id="sec-6">
      <title>6. System operation and power characteristics</title>
      <p>The IoT-based system normally functions in two modes: operation and sleep. The main system operation
characteristics are summarized in table 2 along with commentaries and explanations. The computing
module boot time depends on settings and used services just like in the case of desktop operating</p>
      <sec id="sec-6-1">
        <title>Depends on an initial carriage position. The carriage moves to the center if this is an initial calibration (initialization) or backwards to its previous position if this is an on-demand calibration</title>
      </sec>
      <sec id="sec-6-2">
        <title>The motors will not hold the carriage (configurable)</title>
      </sec>
      <sec id="sec-6-3">
        <title>All the peripherals will be of. The computing module switches to the sleep mode (configurable)</title>
      </sec>
      <sec id="sec-6-4">
        <title>Shuts down the system completely (configurable)</title>
      </sec>
      <sec id="sec-6-5">
        <title>Non-configurable</title>
      </sec>
      <sec id="sec-6-6">
        <title>Depends on server settings, location, latency up to 5 ms</title>
      </sec>
      <sec id="sec-6-7">
        <title>Non-configurable up to 50 ms</title>
      </sec>
      <sec id="sec-6-8">
        <title>Includes motor driver and sensor initial set-up</title>
      </sec>
      <sec id="sec-6-9">
        <title>Respond to the command time up to 5 ms</title>
      </sec>
      <sec id="sec-6-10">
        <title>Non-configurable</title>
      </sec>
      <sec id="sec-6-11">
        <title>Sensor readout time</title>
        <p>up to 5 ms</p>
        <p>Non-configurable, although depends on
the tracking data provider and how data are acquired
(whether it is received from optical tracking systems
and/or player-mounted wearable sensors)
systems. The range of carriage calibration time is estimated by uniformly covering the miniaturized
ifeld of a 105-by-70 cm size with a step of 5 cm. Motor release timeout is set to a minute due to the
player’s inactivity (standstill, in fact) on a real pitch through a minute usually implies an injury or
pending substitution. Sleep mode timeout is intended to save power. It is intended to be during the
15-minute break after the first half. By this very reason, system turn-of timeout is set to 20 minutes: if
the player is still inactive following the 15-minute break for another 5 minutes, this means that he will
not participate in the current match further.</p>
        <p>The main system power characteristics are summarized in table 3 along with commentaries and
explanations. The computing module consumes no more than 10 W, but this is about 22 % of what
the stepper motor may consume. Meanwhile, our real-time experiments reveal that average system
consumption is 19.3 to 22.1 W (this includes both time halves, while the 15-minute break is not included
for obvious reason). A peak in 103 W occurs when both motors start moving at the same time at
maximum speed. The vibration motor, drivers, the ToF distance sensor, and other peripherals consume
at most 2.09 W. This power part, obviously, cannot be reduced.</p>
        <p>
          Owing to internal protocols for data exchange among processes, as well as external protocols for
real-time data acquisition, are optimized based on neglecting states that have relatively low efect
on the overall model response [
          <xref ref-type="bibr" rid="ref34 ref35">34, 35</xref>
          ], the system consumes power almost linearly with respect to
stepper motors. Therefore, the system can be expanded to an IoT network, where data from sensors are
aggregated in a hierarchical manner with a branching factor of 2. For instance, if  is a power amount
required to aggregate data at a network node (in the case of a single node considered above, it is already
included into those 103 W), then level  + 1 of the network tree will consume an additional amount
(93 + ) · 2− 1
        </p>
      </sec>
      <sec id="sec-6-12">
        <title>Stepper motor</title>
      </sec>
      <sec id="sec-6-13">
        <title>Vibration motor</title>
      </sec>
      <sec id="sec-6-14">
        <title>TMC2209 drivers</title>
      </sec>
      <sec id="sec-6-15">
        <title>VL53L0X sensor</title>
      </sec>
      <sec id="sec-6-16">
        <title>Other peripherals</title>
      </sec>
      <sec id="sec-6-17">
        <title>Motor release</title>
      </sec>
      <sec id="sec-6-18">
        <title>Sleep mode</title>
      </sec>
      <sec id="sec-6-19">
        <title>System peak consumption up to 103 W Average system consumption 19.3...22.1 W</title>
      </sec>
      <sec id="sec-6-20">
        <title>The carriage is moved about 50 % time at most, which corresponds to the averaged player who covers a distance of 10.08 km</title>
        <p>of power compared to level ,  = 1, 2, . . ., where the amount of 93 W in (1) is the result of adding a
couple of stepper motors (including consumption of the vibration motor, drivers, the ToF distance sensor,
and other peripherals). Hence, the grand total of power 2 ( + 1) consumed by such a hierarchical
network consisting of  + 1 levels can be expressed recursively:</p>
        <p>2 ( + 1) = 2 () + (93 + ) · 2− 1,  = 1, 2, . . .</p>
        <p>It is easy to prove that the power consumed by such a hierarchical IoT network consisting of  levels
(to show performance of 2 − 1 players) is</p>
        <p>2 ( ) = 10 −  + (93 + ) · 2 − 1,  = 1, 2, . . .</p>
        <p>Indeed, equality (3) can be proved by induction. The base case is when  = 1, i. e. we have just a single
node similar to the considered above:</p>
        <p>2 (1) = 10 −  + (93 + ) · 21− 1 = 10 −  + 93 +  = 103,
which is true (table 3). By the inductive hypothesis we assume that equality (3) holds for any  = :
2 () = 10 −  + (93 + ) · 2− 1.</p>
        <p>By the inductive step, we are about to show that equality (3) holds for  =  + 1. Here,
2 ( + 1) = 10 −  + (93 + ) · 2+1− 1 = 10 −  + (93 + ) · 2 =
= 10 −  + (93 + ) · 2− 1 + (93 + ) · 2− 1 = 2 () + (93 + ) · 2− 1.</p>
        <p>The last term in (6) is the right side of true recursion (2), and this proves equality (3) by induction with
(4) and (5).
(2)
(3)
(4)
(5)
(6)</p>
        <p>Alternatively, the system can be expanded to an IoT network, where data from sensors are distributed
among  miniaturized fields without constructing a hierarchy. If  is a power amount required to
route data to every newly added player (in the case of a single node considered above, it is already
included into those 103 W), then it will consume an additional amount 93 +  of power. Hence, the
grand total of power par ( + 1) consumed by such a parallelized network consisting of  + 1 players
can be expressed recursively:
par ( + 1) = par () + 93 + ,  = 1, 2, . . .
(7)
It is easy (even trivially, to some extent) to prove that the power consumed by such a one-level-split IoT
network showing performance of  players is</p>
        <p>par ( ) = 10 −  + (93 + ) · ,  = 1, 2, . . .</p>
        <p>Indeed, equality (8) can be proved by induction as well. The base case is when  = 1, i. e. we have just
a single player:</p>
        <p>par (1) = 10 −  + (93 + ) · 1 = 10 −  + 93 +  = 103,
which is true (table 3) coinciding also with (4). By the inductive hypothesis we assume that equality (8)
holds for any  = :</p>
        <p>par () = 10 −  + (93 + ) · .</p>
        <p>By the inductive step, we are about to show that equality (8) holds for  =  + 1:
par ( + 1) = 10 −  + (93 + ) · ( + 1) = 10 −  + (93 + ) ·  + 93 +  =</p>
        <p>= par () + 93 + .</p>
        <p>The last term in (11) is the right side of true recursion (7), and this proves equality (8) by induction with
(9) and (10).</p>
        <p>Nevertheless, it is worth noting that the proved power equalities (3) and (8) make sense for situations,
when the soccer player starts abruptly accelerating along either axis X or axis Y (i. e., horizontally or
vertically, respectively). So, the amount of consumed power in equalities (3) and (8) is a
close-to-worstcase scenario. In other situations, power consumption is less.
(8)
(9)
(10)
(11)</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>7. Discussion</title>
      <p>Compared to the performance of electronic applications, the developed system has a unique feature in
its performance – tangibility. This feature is based on miniaturized mechanization of motion. Along
with possibility to watch sports events closely enough, without necessarily touching the player’s model
ifgure, acoustics of the events additionally builds up an efect of presence, although being simulated.
Such a mechanical, non-virtual, reality simulation further improves perception and forms positive
interest in the game. Such models providing useful information and aesthetically positive impression
are especially precious for people with visual impairments, who become capable to include tactility
into their perception of the game, if viewing detailed peculiarities of player’s motion is burdensome.</p>
      <p>The computing module is edged as possible close to sensors with a purpose to further intensify data
exchange without any delays during real-time game. Since 2010s, amounts of sports data acquired,
collected, and recorded during matches have been gradually growing, becoming factually Big Data
instances. So, this is crucial to further edge and parallelize computational systems in order to respond
to the known Big Data challenges. Our system complies with those challenges by providing almost
linear power consumption with respect to stepper motors, which are the most power-consuming in the
system, and by neglecting data of non-efective states in the system.</p>
      <p>The developed system is not just an amusement – replays of recorded games serve as an alternative
approach for coaches and analysts to review player’s consistency and vision of pitch in struggling
situations. Besides, in soccer, often conceded goals from free kicks and corner kicks are results of
improper individual actions of a definite player (say, defender). In this way, along with watching screen
motion, miniaturized mechanical replay of the player’s mistaken behavior helps better understand how
to rectify individual and team tactics during free kicks and corner kicks.</p>
      <p>Obviously, exposing performance of only one player on the miniaturized field seems to be a demerit.
Indeed, our model cannot show the entire miniaturized match. Putting two and more players on the
same field would require much complicated mechanics, which at the moment looks implausible due to
physical obstacles of multiple belts and likely interference from magnets. A possible solution might be
in using multilayered H-Bots by placing each carriage magnet on its own layer, but then each magnet
would require to have specific calibration and amperage to hold tightly to the corresponding magnetic
marker of the player.</p>
      <p>
        Another drawback is the carriage calibration time. The carriage position is calibrated automatically,
but it takes 3 to 10 seconds to complete calibration. Calibration during a real-time match takes about 3
to 5 seconds, which may incur significant delays, despite sensor readout time is just up to 5 milliseconds.
Calibration during a real-time match is caused mainly by inertia of stepper motors, belt slippage, and
accidental skips in motor steps [
        <xref ref-type="bibr" rid="ref25 ref26 ref36">25, 26, 36</xref>
        ]. However, our experiments reveal that soccer player’s
position drift does not exceed 3 mm, which is 3 meters on a real pitch. Moreover, calibration within a
105-by-70 cm miniaturized field is executed hardly noticeable for human eye.
      </p>
    </sec>
    <sec id="sec-8">
      <title>8. Conclusion</title>
      <p>For the purposes of perception improvement in sport analysis and entertainment, we have suggested
a conceptual model of an IoT-based embedded system of mechanizing sport competition motion on
a miniaturized sports field. The system operated by a Raspberry Pi Compute Module allows visually,
tangibly, and acoustically perceiving location and motion of a player within sports field in accordance
with his real-time motion. Recorded motion is reproducible as well. Motion data, acquired either from
wearable sensors or by optical tracking systems and event data providers on wireless gateways in the
stadium, are transmitted to the computing module for further filtering, truncating, and processing. The
mechanical part of the system is based on the classic H-Bot layout with two stepper motors whose
torques, determined by the real player’s location and motion information, impart corresponding motion
to the miniature player.</p>
      <p>Based on the system tests for soccer with Raspberry Pi Compute Module 5, our system consumes no
more than 103 W at peak, while average electric power consumption does not exceed 23 W. Besides,
system power consumption is almost linear with respect to the 90 W consuming stepper motors,
which makes this system expandable and scalable both hierarchically and linearly. Power consumption
linearization is additionally facilitated by neglecting data of non-efective states in the soccer-exemplified
system. In general, such optimization of internal protocols for data exchange among processes, as well
as external protocols for real-time data acquisition, speeds up and rectifies the system response to actual
player’s motion on the sports field. The soccer-exemplified system has a 5 millisecond response, although
the mechanical part with the two-belted carriage of the miniature player may incur a-few-seconds
delays of accurately reproducing player’s motion. The inaccuracy within a 105-by-70 cm miniaturized
ifeld is 3 mm at most, though, which is unlikely to be very noticeable.</p>
      <p>Carriage calibration is still an open question yet the system boot requires special consideration. The
matter is the worst boot case including initial carriage calibration is about 35 seconds, which seems to
be pretty long. Another open question remaining to be studied is how the computing module must
handle data frames with missed data and probable outliers. Handling the latter successfully is expected
to have a strong impact on shortening the carriage calibration time.</p>
      <p>Author Contributions: V. Romanuke and S. Dementiev conceived the system. S. Dementiev designed the system
architecture and selected its components by supervision of V. Romanuke and S. Yaremko. S. Dementiev wrote most of the
codes for the system functioning, while V. Romanuke measured timing and energy characteristics of the completed system.
V. Romanuke wrote drafts for sections 1, 3, 8; S. Dementiev wrote drafts for Sections 2, 4, 5; sections 6 and 7 were drafted by
V. Romanuke and S. Yaremko. V. Romanuke and S. Yaremko made the finalized layout of the paper.
Funding: This research received no external funding.</p>
      <p>Data Availability Statement: Data of this research are available upon request.</p>
      <p>Declaration on Generative AI: The authors have not employed any generative AI tools.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Liao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Peng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <article-title>Study on interface fatigue failure of flexible OLED display modules based on cyclic cohesive zone model</article-title>
          ,
          <source>Displays</source>
          <volume>87</volume>
          (
          <year>2025</year>
          )
          <article-title>102949</article-title>
          . doi:
          <volume>10</volume>
          .1016/j. displa.
          <year>2024</year>
          .
          <volume>102949</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>X.</given-names>
            <surname>Hao</surname>
          </string-name>
          ,
          <string-name>
            <surname>G. Zhang,</surname>
          </string-name>
          <article-title>Numerical prediction of glass molding process for 3D curved screen</article-title>
          ,
          <source>Heliyon</source>
          <volume>9</volume>
          (
          <year>2023</year>
          )
          <article-title>e19693</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.heliyon.
          <year>2023</year>
          .e19693.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Bian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Fang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <article-title>Fabrication of microlens arrays on curved substrates for large viewing angle integral imaging 3D display</article-title>
          ,
          <source>Displays</source>
          <volume>84</volume>
          (
          <year>2024</year>
          )
          <article-title>102755</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.displa.
          <year>2024</year>
          .
          <volume>102755</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <source>[4] 3D Hologram Fans</source>
          ,
          <year>2025</year>
          . URL: https://www.display
          <article-title>-innovations.com/3d-hologram-fans.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.-C.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Muschter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Limanowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hatzipanayioti</surname>
          </string-name>
          ,
          <article-title>Chapter 9 - Human perception and neurocognitive development across the lifespan</article-title>
          , in: F.
          <string-name>
            <given-names>H.</given-names>
            <surname>Fitzek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.-C.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Speidel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Strufe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Simsek</surname>
          </string-name>
          , M. Reisslein (Eds.), Tactile Internet, Academic Press,
          <year>2021</year>
          , pp.
          <fpage>199</fpage>
          -
          <lpage>221</lpage>
          . doi:
          <volume>10</volume>
          .1016/ B978-0
          <source>-12-821343-8</source>
          .
          <fpage>00021</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Duyck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. I.</given-names>
            <surname>Costantino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bracci</surname>
          </string-name>
          ,
          <string-name>
            <surname>H. O. de Beeck</surname>
          </string-name>
          ,
          <article-title>A computational deep learning investigation of animacy perception in the human brain</article-title>
          ,
          <source>Communications Biology</source>
          <volume>7</volume>
          (
          <year>2024</year>
          )
          <article-title>1718</article-title>
          . doi:
          <volume>10</volume>
          .1038/ s42003-024-07415-8.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Memmert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Strauss</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Theweleit</surname>
          </string-name>
          ,
          <article-title>Perception and deception</article-title>
          ,
          <source>in: Mind Match Soccer: The Final Step to Become a Champion</source>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2023</year>
          , pp.
          <fpage>123</fpage>
          -
          <lpage>137</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>662</fpage>
          -68035-
          <issue>3</issue>
          _
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C.</given-names>
            <surname>Vater</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Schnyder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Müller</surname>
          </string-name>
          ,
          <article-title>That was a foul! How viewing angles, viewing distances, and visualization methods influence football referees' decision-making</article-title>
          ,
          <source>German Journal of Exercise and Sport Research</source>
          <volume>54</volume>
          (
          <year>2024</year>
          )
          <fpage>476</fpage>
          -
          <lpage>485</lpage>
          . doi:
          <volume>10</volume>
          .1007/s12662-024-00947-5.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>V.</given-names>
            <surname>Machado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Leite</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Moura</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Cunha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Sadlo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Comba</surname>
          </string-name>
          ,
          <article-title>Visual soccer match analysis using spatiotemporal positions of players</article-title>
          ,
          <source>Computers &amp; Graphics</source>
          <volume>68</volume>
          (
          <year>2017</year>
          )
          <fpage>84</fpage>
          -
          <lpage>95</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.cag.
          <year>2017</year>
          .
          <volume>08</volume>
          .006.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>R.</given-names>
            <surname>Grazioli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. L. H.</given-names>
            <surname>Soares</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Schons</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Preissler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Veeck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Benítez-Flores</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. S.</given-names>
            <surname>Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. L.</given-names>
            <surname>Cadore</surname>
          </string-name>
          ,
          <article-title>Curve sprint performance and speed-related capabilities in professional soccer players</article-title>
          ,
          <source>Journal of Bodywork and Movement Therapies</source>
          <volume>40</volume>
          (
          <year>2024</year>
          )
          <fpage>1034</fpage>
          -
          <lpage>1040</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.jbmt.
          <year>2024</year>
          .
          <volume>07</volume>
          .018.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Mao</surname>
          </string-name>
          ,
          <article-title>Intelligent soccer system based on biosensor network technology</article-title>
          ,
          <source>Measurement</source>
          <volume>173</volume>
          (
          <year>2021</year>
          )
          <article-title>108564</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.measurement.
          <year>2020</year>
          .
          <volume>108564</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>C.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <string-name>
            <surname>G. Varshney,</surname>
          </string-name>
          <article-title>An improved authentication scheme for BLE devices with no I/O capabilities</article-title>
          ,
          <source>Computer Communications</source>
          <volume>200</volume>
          (
          <year>2023</year>
          )
          <fpage>42</fpage>
          -
          <lpage>53</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.comcom.
          <year>2023</year>
          .
          <volume>01</volume>
          .001.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>B. J. C.</given-names>
            <surname>Bastiaansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. J. K.</given-names>
            <surname>Vegter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Wilmes</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. J. de Ruiter</surname>
            ,
            <given-names>E. A.</given-names>
          </string-name>
          <string-name>
            <surname>Goedhart</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. A. P. M. Lemmink</surname>
            ,
            <given-names>M. S.</given-names>
          </string-name>
          <string-name>
            <surname>Brink</surname>
          </string-name>
          ,
          <article-title>Biomechanical load quantification of national and regional soccer players with an inertial sensor setup during a jump, kick, and sprint task: assessment of discriminative validity</article-title>
          ,
          <source>Sports Engineering</source>
          <volume>27</volume>
          (
          <year>2024</year>
          )
          <article-title>17</article-title>
          . doi:
          <volume>10</volume>
          .1007/s12283-024-00458-4.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>C.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Suo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Mao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Meng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>A survey on soccer player detection and tracking with videos, The Visual Computer (</article-title>
          <year>2024</year>
          )
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          . doi:
          <volume>10</volume>
          .1007/ s00371-024-03367-6.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>C.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Suo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Meng</surname>
          </string-name>
          , L. Mao,
          <article-title>Soccer player tracking and data correction based on attention with full-field videos</article-title>
          ,
          <source>The Visual Computer</source>
          <volume>40</volume>
          (
          <year>2024</year>
          )
          <fpage>9141</fpage>
          -
          <lpage>9153</lpage>
          . doi:
          <volume>10</volume>
          .1007/s00371-024-03300-x.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Hawk-Eye</surname>
          </string-name>
          |
          <article-title>A global leader in the live sports arena</article-title>
          ,
          <year>2025</year>
          . URL: https://www.hawkeyeinnovations. com.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>ChyronHego</surname>
          </string-name>
          ,
          <year>2025</year>
          . URL: https://chyronhego.com.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Hudl</given-names>
            <surname>Statsbomb | Data Champions</surname>
          </string-name>
          ,
          <year>2025</year>
          . URL: https://statsbomb.com.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Opta</given-names>
            <surname>Sports</surname>
          </string-name>
          ,
          <year>2025</year>
          . URL: https://www.statsperform.com/opta.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Wyscout - Hudl</surname>
          </string-name>
          ,
          <year>2025</year>
          . URL: https://wyscout.hudl.com.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>D.</given-names>
            <surname>Garrido</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Burriel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Resta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. L.</given-names>
            del
            <surname>Campo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Buldú</surname>
          </string-name>
          ,
          <article-title>Heatmaps in soccer: Event vs tracking datasets</article-title>
          , Chaos,
          <source>Solitons &amp; Fractals</source>
          <volume>165</volume>
          (
          <year>2022</year>
          )
          <article-title>112827</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.chaos.
          <year>2022</year>
          .
          <volume>112827</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>E.</given-names>
            <surname>Shoop</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Matthews</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Brown</surname>
          </string-name>
          , J. C.
          <article-title>Adams, Hands-on parallel &amp; distributed computing with Raspberry Pi devices and clusters</article-title>
          ,
          <source>Journal of Parallel and Distributed Computing</source>
          <volume>196</volume>
          (
          <year>2025</year>
          )
          <article-title>104996</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.jpdc.
          <year>2024</year>
          .
          <volume>104996</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>G.</given-names>
            <surname>Guillen</surname>
          </string-name>
          ,
          <article-title>Sensor Projects with Raspberry Pi. Internet of Things and Digital Image Processing</article-title>
          , Apress Berkeley, CA, USA,
          <year>2024</year>
          . doi:
          <volume>10</volume>
          .1007/979-8-
          <fpage>8688</fpage>
          -0464-9.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>H-Bot</surname>
            <given-names>simulation</given-names>
          </string-name>
          ,
          <year>2021</year>
          . URL: https://discourse.mcneel.com/t/h-bot
          <source>-simulation/127563.</source>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>K.</given-names>
            <surname>Craig</surname>
          </string-name>
          ,
          <article-title>Mechatronic Model-Based Design Applied to an H-Bot Robot, Mechatronics and Applications: An International Journal (MECHATROJ) 2 (</article-title>
          <year>2021</year>
          ). URL: https://papers.ssrn.com/sol3/ papers.cfm?abstract_id=
          <fpage>3839216</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>S.</given-names>
            <surname>Weikert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ratnaweera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Zirn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Wegener</surname>
          </string-name>
          , Modeling and Measurement
          <string-name>
            <surname>of H-Bot Kinematic</surname>
            <given-names>Systems</given-names>
          </string-name>
          ,
          <year>2011</year>
          . URL: https://api.semanticscholar.org/CorpusID:66950480.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>R.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Qin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Peng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Tang</surname>
          </string-name>
          ,
          <article-title>The Design and Implementation of Simple Corexy Structure Writing Robot</article-title>
          , in: Y.
          <string-name>
            <surname>Jia</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Du</surname>
          </string-name>
          , W. Zhang (Eds.),
          <source>Proceedings of 2019 Chinese Intelligent Systems Conference CISC</source>
          <year>2019</year>
          , volume
          <volume>593</volume>
          of Lecture Notes in Electrical Engineering, Springer, Singapore,
          <year>2019</year>
          , pp.
          <fpage>201</fpage>
          -
          <lpage>213</lpage>
          . doi:
          <volume>10</volume>
          .1007/
          <fpage>978</fpage>
          -981-32-9686-2_
          <fpage>25</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>Electronicos</given-names>
            <surname>Caldas</surname>
          </string-name>
          ,
          <volume>1</volume>
          .8°
          <string-name>
            <given-names>42mm</given-names>
            <surname>Hybrid Stepper</surname>
          </string-name>
          Motor-NEMA17,
          <year>2025</year>
          . URL: https://www. electronicoscaldas.com/datasheet/JK42HSxx-Series_Jkong-Motor.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Texas</surname>
            <given-names>Instruments</given-names>
          </string-name>
          ,
          <source>DRV88xx EVM GUI (Rev. C)</source>
          ,
          <year>2025</year>
          . URL: https://www.ti.com/lit/ug/slvu361c/ slvu361c.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <surname>Pololu</surname>
          </string-name>
          ,
          <source>DRV8825 Stepper Motor Driver Carrier, High Current</source>
          ,
          <year>2025</year>
          . URL: https://www.pololu. com/product/2133.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <surname>Analog</surname>
            <given-names>devices</given-names>
          </string-name>
          ,
          <source>TMC2209</source>
          ,
          <year>2025</year>
          . URL: https://www.analog.com/en/products/tmc2209.html.
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <issue>PCM5102</issue>
          ,
          <article-title>112dB Stereo DAC with 2VRMS output and Integrated Audio PLL</article-title>
          ,
          <year>2025</year>
          . URL: https: //www.ti.com/product/PCM5102.
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <fpage>VL53L0X</fpage>
          ,
          <article-title>Time-of-Flight (ToF) ranging sensor</article-title>
          ,
          <year>2025</year>
          . URL: https://www.st.com/en/ imaging-and
          <article-title>-photonics-solutions/vl53l0x</article-title>
          .html.
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>S. E.</given-names>
            <surname>Mathe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. K.</given-names>
            <surname>Kondaveeti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Vappangi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. D.</given-names>
            <surname>Vanambathina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. K.</given-names>
            <surname>Kumaravelu</surname>
          </string-name>
          ,
          <article-title>A comprehensive review on applications of Raspberry Pi</article-title>
          ,
          <source>Computer Science Review</source>
          <volume>52</volume>
          (
          <year>2024</year>
          )
          <article-title>100636</article-title>
          . doi:
          <volume>10</volume>
          .1016/ j.cosrev.
          <year>2024</year>
          .
          <volume>100636</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>A.</given-names>
            <surname>Goel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bhatia</surname>
          </string-name>
          ,
          <article-title>Exhaustive Theoretical Study of Practical Free Space Optical Cooperative Relaying Technology: New Trends in IoT Communication</article-title>
          , in: A.
          <string-name>
            <surname>Prasad</surname>
            ,
            <given-names>T. P.</given-names>
          </string-name>
          <string-name>
            <surname>Singh</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Dwivedi Sharma</surname>
          </string-name>
          (Eds.),
          <source>Communication Technologies and Security Challenges in IoT: Present and Future</source>
          , Springer Nature Singapore, Singapore,
          <year>2024</year>
          , pp.
          <fpage>529</fpage>
          -
          <lpage>560</lpage>
          . doi:
          <volume>10</volume>
          .1007/
          <fpage>978</fpage>
          -981-97-0052-3_
          <fpage>26</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>N.</given-names>
            <surname>Edoimioya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. S.</given-names>
            <surname>Ramani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. E.</given-names>
            <surname>Okwudire</surname>
          </string-name>
          ,
          <article-title>Software compensation of undesirable racking motion of H-frame 3D printers using filtered B-splines</article-title>
          ,
          <source>Additive Manufacturing</source>
          <volume>47</volume>
          (
          <year>2021</year>
          )
          <article-title>102290</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.addma.
          <year>2021</year>
          .
          <volume>102290</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>