Working Principle and Performance of a Scalable Gravimetric System for the Monitoring of Access to Public Places

Here, we propose a novel application of a low-cost robust gravimetric system for public place access monitoring purposes. The proposed solution is intended to be exploited in a multi-sensor scenario, where heterogeneous information, coming from different sources (e.g., metal detectors and surveillance cameras), are collected in a central data fusion unit to obtain a more detailed and accurate evaluation of notable events. Specifically, the word “notable” refers essentially to two event categories: the first category is represented by irregular events, corresponding typically to multiple people passing together through a security gate; the second category includes some event subsets, whose notification can be interesting for assistance provision (in the case of people with disabilities), or for statistical analysis. The employed gravimetric sensor, compared to other devices existing in the literature, exhibits a simple scalable robust structure, made up of an array of rigid steel plates, each laid on four load cells. We developed a tailored hardware and software to individually acquire the load cell signals, and to post-process the data to formulate a classification of the notable events. The results are encouraging, showing a remarkable detectability of irregularities (95.3% of all the test cases) and a satisfactory identification of the other event types.


Introduction
Smart floors, footboards, and platforms are used in a large variety of applications. Traditionally, they are employed in the biomedical field, for postural or gait analysis [1][2][3][4][5] as an alternative to other techniques based on wearable sensors [6,7]. Furthermore, one of the main targets of the existing devices is related to the sensing, with high spatial resolution and high sensitivity, of the pressure field exerted by the feet of a patient standing, walking, or running. Technological solutions to this problem are usually offered by soft or flexible materials embedded within a large matrix of capacitive or piezoresistive pressure sensors, able to perform a dense spatial sampling of the sensitive device surface [2,3]. Despite the required high spatial resolution and sensitivity, in these applications, the robustness and cost usually are not critical issues: the smart floor is trodden in a controlled manner, at a moderate frequency, with the aim of analyzing the transit event in detail while performing complex, expensive and time-consuming examinations.

State of the Art
The technological evolution of gravimetric sensors is pushing toward integrable, scalable, and pervasive but non-intrusive solutions. Regarding this, slim and flexible sensor matrices, that can be embedded into the floor with no encumbrance for human activities, represent one of the latest research fields. Different sensor types are employed: the more common and recent proposals, that can be found in the literature, involve capacitive sensors [16] and piezoresistive Polymer Thick Films (PTFs) [8][9][10][11]14]. A more advanced piezoresistive carbon nanotube polymer sensor matrix is presented in [20]. The authors introduce a smart sensing floor based on triboelectricity in [4]. This effect also is used in other interesting research lines, where smart floors are even depicted as possible energy harvesters: for example, triboelectric nanogenerators (TENGs) are inserted in the floor to exploit the triboelectric effect both for motion sensing and for collecting energy from low-frequency mechanical vibrations [21].
As already stated in the previous section, the novel application introduced in this article, that is the monitoring of the access to public places, poses some serious challenges in terms of durability and reliability, since the system should be able to sustain a high throughput (many passages per day) without undergoing structural faults. Conversely, sensor integrability and size are less restrictive constraints with respect to domestic, office or biomedical applications. Thus, we opted for a simpler but more robust architecture, like the one proposed in [18], that we already introduced in our previous work [17].

Gravimetric Sensor: Structure
A simple and robust realization of a gravimetric platform consists of a rigid plate laid on force sensors, with a vertical sensitivity axis, as already mentioned in the Introduction. There are usually four sensors placed at the platform corners. This configuration allows them to obtain the weight and the trajectory of a body moving upon the platform; as a disadvantage, it permits neither the extraction of detailed pressure maps for gait or postural analysis, nor the straightforward recognition of multiple objects on the platform, since the information provided by the platform is related to the motion of a single center of mass. Nevertheless, the usage of an array of gravimetric platforms can enhance the distinction capabilities when different objects are located on different elements of the array. Figure 1a shows a schematic of a single gravimetric platform with four force sensors (e.g., load cells) located near the four corners and individuated by x i,1 , x i,2 , y i,1 , y i,2 coordinates with respect to one corner. The i subscript is the platform index, used later to extend the calculations to the generic case of an array of N platforms. A gravimetric footboard can be obtained as an array of N identical platforms as in Figure 1b, which shows a possible disposition of gravimetric platforms.

State of the Art
The technological evolution of gravimetric sensors is pushing toward integrable, scalable, and pervasive but non-intrusive solutions. Regarding this, slim and flexible sensor matrices, that can be embedded into the floor with no encumbrance for human activities, represent one of the latest research fields. Different sensor types are employed: the more common and recent proposals, that can be found in the literature, involve capacitive sensors [16] and piezoresistive Polymer Thick Films (PTFs) [8][9][10][11]14]. A more advanced piezoresistive carbon nanotube polymer sensor matrix is presented in [20]. The authors introduce a smart sensing floor based on triboelectricity in [4]. This effect also is used in other interesting research lines, where smart floors are even depicted as possible energy harvesters: for example, triboelectric nanogenerators (TENGs) are inserted in the floor to exploit the triboelectric effect both for motion sensing and for collecting energy from low-frequency mechanical vibrations [21].
As already stated in the previous section, the novel application introduced in this article, that is the monitoring of the access to public places, poses some serious challenges in terms of durability and reliability, since the system should be able to sustain a high throughput (many passages per day) without undergoing structural faults. Conversely, sensor integrability and size are less restrictive constraints with respect to domestic, office or biomedical applications. Thus, we opted for a simpler but more robust architecture, like the one proposed in [18], that we already introduced in our previous work [17].

Gravimetric Sensor: Structure
A simple and robust realization of a gravimetric platform consists of a rigid plate laid on force sensors, with a vertical sensitivity axis, as already mentioned in the Introduction. There are usually four sensors placed at the platform corners. This configuration allows them to obtain the weight and the trajectory of a body moving upon the platform; as a disadvantage, it permits neither the extraction of detailed pressure maps for gait or postural analysis, nor the straightforward recognition of multiple objects on the platform, since the information provided by the platform is related to the motion of a single center of mass. Nevertheless, the usage of an array of gravimetric platforms can enhance the distinction capabilities when different objects are located on different elements of the array. Figure 1a shows a schematic of a single gravimetric platform with four force sensors (e.g., load cells) located near the four corners and individuated by , , , , , , , coordinates with respect to one corner. The subscript is the platform index, used later to extend the calculations to the generic case of an array of platforms. A gravimetric footboard can be obtained as an array of identical platforms as in Figure 1b, which shows a possible disposition of gravimetric platforms. The idea at the basis of the extension of the sensor into an array is to improve the capability of detecting the passage of more than one person at a time on the footboard. Therefore, the width of the single platform can be optimally selected so as to maximize the probability that only one person at time can comfortably pass on the single platform, whereas the length can be selected as to accommodate a single average step.

Gravimetric Sensor: Load and Trajectory Estimation
The magnitude M i (t) of the net vertical force applied on the i-th footboard at the time t can be obtained by the sum of the forces m i,j (t) acting on each force sensor and measured by the sensors themselves: where j is the sensor index. Note that the resultant force M i (t) is the product of the inertial mass of the object and the vertical acceleration and, in static conditions, coincides with the weight of the object; therefore, in this paper we sometimes refer to this quantity with the term weight or load. The extraction of object trajectories on a single gravimetric platform is plainly based on torque equilibrium calculations. The location coordinates X i (t), Y i (t) of the net force application point on the i-th footboard at the time t can be inferred applying torque equilibrium with respect to the corner chosen as a reference: (2) Figure 2 gives an explanatory visualization of Equation (2), showing the constraint reactions opposing the total force acting on the footboard and measured by the force sensors.
Sensors 2020, 20, x FOR PEER REVIEW 4 of 20 The idea at the basis of the extension of the sensor into an array is to improve the capability of detecting the passage of more than one person at a time on the footboard. Therefore, the width of the single platform can be optimally selected so as to maximize the probability that only one person at time can comfortably pass on the single platform, whereas the length can be selected as to accommodate a single average step.

Gravimetric Sensor: Load and Trajectory Estimation
The magnitude ( ) of the net vertical force applied on the -th footboard at the time can be obtained by the sum of the forces , ( ) acting on each force sensor and measured by the sensors themselves: where is the sensor index. Note that the resultant force ( ) is the product of the inertial mass of the object and the vertical acceleration and, in static conditions, coincides with the weight of the object; therefore, in this paper we sometimes refer to this quantity with the term weight or load. The extraction of object trajectories on a single gravimetric platform is plainly based on torque equilibrium calculations. The location coordinates ( ), ( ) of the net force application point on the -th footboard at the time can be inferred applying torque equilibrium with respect to the corner chosen as a reference: (2) Figure 2 gives an explanatory visualization of Equation (2), showing the constraint reactions opposing the total force acting on the footboard and measured by the force sensors. Let now us consider a two-dimensional array of gravimetric platforms. Then, the total force ( ) acting on the array at the time is: and the position of the total force application point on the platform at the time , given by the ( ), ( ) coordinates, can be written as follows: Let now us consider a two-dimensional array of N gravimetric platforms. Then, the total force M(t) acting on the array at the time t is: and the position of the total force application point on the platform at the time t, given by the X(t), Y(t) coordinates, can be written as follows: Sensors 2020, 20, 7225 5 of 20

Performance of the Gravimetric System: Uncertainty
An important aspect to be considered is the accuracy with which a system such the one described in Section 2.1 is capable of determining forces and trajectories by applying Equations (1)-(4).
To assess this performance, we used the well-known propagation formula of uncertainty for indirect measurement under the assumption of statistically independent errors, which is based on the evaluation of the variance. Assuming the measurand ζ related through the function f to k quantities ξ i , i.e., ζ = f (ξ 1 , ξ 2 , . . . , ξ k ), for small errors we can write: where σ 2 ξ i are the standard deviations of the measurement error of ξ i , whereas σ 2 ζ is the resulting standard deviation of the measurement error of ζ.
This formula, which concerns variances, is straightforwardly exploited to derive the uncertainties replacing all the standard deviations with their estimations (uncertainties) and is used for the measured weights and the trajectories.
The statistical independence assumption is supported by the physical separation of the acquisition of each sensor signal. Regarding the following, the force sensors are supposed as identical, characterized by measurement noise modeled by white ergodic stationary stochastic processes independent and identically distributed, with zero mean, therefore characterized by the same time-invariant uncertainty u(m). Likewise, the errors on the positioning of all sensors along the two axes are considered independent identically distributed random variables, with zero mean, characterized by the uncertainties u(x) and u(y), respectively.
The application of Equation (5) for uncertainty evaluation to the case of a single platform yields: where u(X i (t)) and u(Y i (t)) are the uncertainties on the trajectory coordinates on the i-th platform, whereas u(M i ) indicates the uncertainty of the measured load on each platform.
It can be seen that the uncertainty of the trajectory estimation varies depending on the load application point position. Considering, as an example, the uncertainty evaluated for X i (t), it can be easily shown that: Note that w = x i,2 − x i,1 is the distance between the sensors along the x direction. Therefore, the estimation of the x coordinate becomes critical when the measured load signal becomes small (very low load on the platform). These situations can be easily excluded setting a load threshold for platform operations, M imin , that is chosen as the minimum significant load for the proposed application (e.g., 10 N corresponding to a standing mass equal to 10 kg). Below this threshold the signal from the force sensors are considered only noise and are not processed. Therefore, the worst-case uncertainty can be evaluated: Equation (9) clarifies that the coordinate estimation accuracy is limited by the maximum accepted relative load error, u R MAX (m). This discussion can be easily extended to u(Y i (t)). More in general, given a certain platform, i.e., once the force sensors are chosen, as well as the platform geometry and the load sensor positioning tolerances, the minimum load threshold for trajectory calculation can be selected to guarantee a given level of accuracy.
The extension to the N footboard array case is straightforward: Considering plausible values for the sensor position errors (≈5 mm), and force sensors with a ∼2 N peak-to-peak noise value and a signal full range of 2000 N, a gravimetric footboard size in the range (2 ÷ 3 m 2 ) and a minimum load of ten of kilograms, a satisfactory trajectory estimation, with an uncertainty in the order of some centimeters, is achievable. Figure 3 shows a simulated trajectory (in blue) on a gravimetric footboard of 2 × 0.9 m 2 , with the error bounds (in red) resulting from evaluating Equation (11).
Sensors 2020, 20, x FOR PEER REVIEW 6 of 20 Equation (9) clarifies that the coordinate estimation accuracy is limited by the maximum accepted relative load error, ( ). This discussion can be easily extended to ( ) . More in general, given a certain platform, i.e., once the force sensors are chosen, as well as the platform geometry and the load sensor positioning tolerances, the minimum load threshold for trajectory calculation can be selected to guarantee a given level of accuracy. The extension to the footboard array case is straightforward: Considering plausible values for the sensor position errors (≈ 5 mm), and force sensors with a ∼ 2 N peak-to-peak noise value and a signal full range of 2000 N, a gravimetric footboard size in the range (2 ÷ 3 m ) and a minimum load of ten of kilograms, a satisfactory trajectory estimation, with an uncertainty in the order of some centimeters, is achievable. Figure 3 shows a simulated trajectory (in blue) on a gravimetric footboard of 2 × 0.9 m , with the error bounds (in red) resulting from evaluating Equation (11).

Data Processing
The capability of the proposed system of recognizing different situations is obtained exploiting the equations reported in Section 2.1, allowing the estimation of loads and trajectories on the single platforms and loads and trajectory on the complete footboard. The different situations (test cases) chosen in this paper for assessing the gravimetric system applicability are typical occurrences in an access monitoring scenario. Particularly, we considered the following event categories: single person without any particular object ("standard event" category), single person with luggage on wheels or with a stroller (grouped in a "wheel event" category), single person on crutches ("crutches event" category), two people side-by-side or two or more people queued (grouped in an "irregular event" category). The first three categories do not represent a security violation and, therefore, they are eventually grouped in a generic "regular event" category, as opposed to the irregular event category.
The data processing can be subdivided into two phases: the load and trajectory calculation and preprocessing, and the event recognition. During the first phase, Equations (1)-(4) are applied to the analog to digital (A/D) converted force sensor output signals (m i,j (k), i = 1,. . . , N; j = 1,. . . , 4; k ∈ N, such that M i (k) > M imin ) when the load on the single platform is above the predetermined threshold, M imin , and low-pass filtered, to produce the set of discrete signals . . , N, k ∈ N sampling the trajectory of the person who crossed the platform. Trajectory and load data are the input for the second part of the processing, namely the event recognition algorithm. The proposed recognition strategy is a multi-layer approach with a two-tier structure. The first level only separates standard events (i.e., the passage of a single person without any particular object) from all the other event categories, which are collectively named "special events" at this step. Concerning the case of a standard event, no warning is generated, and the algorithm exits. Conversely, in the case of a special event, the analysis continues with the second level event recognition algorithm. This second tier can generate either an alarm (in the case of irregularities, i.e., more than one person passing together on the platform), or only a notification (in the other cases), always providing a label indicating the hypothesized category for the occurred event. The first and second levels of the event recognition algorithm are described in detail in Sections 2.4.1 and 2.4.2, respectively. Figure 4 shows a flow chart summarizing the whole algorithm working logic.

Data Processing
The capability of the proposed system of recognizing different situations is obtained exploiting the equations reported in Section 2.1, allowing the estimation of loads and trajectories on the single platforms and loads and trajectory on the complete footboard.
The different situations (test cases) chosen in this paper for assessing the gravimetric system applicability are typical occurrences in an access monitoring scenario. Particularly, we considered the following event categories: single person without any particular object ("standard event" category), single person with luggage on wheels or with a stroller (grouped in a "wheel event" category), single person on crutches ("crutches event" category), two people side-by-side or two or more people queued (grouped in an "irregular event" category). The first three categories do not represent a security violation and, therefore, they are eventually grouped in a generic "regular event" category, as opposed to the irregular event category.
The data processing can be subdivided into two phases: the load and trajectory calculation and preprocessing, and the event recognition. During the first phase, Equations (1)-(4) are applied to the analog to digital (A/D) converted force sensor output signals ( , ( ), = 1, … , ; = 1, … , 4; ∈ ℕ, such that ( ) > ) when the load on the single platform is above the predetermined threshold, , and low-pass filtered, to produce the set of discrete signals ( ), ( ), ( ), ( ), ( ), ( ) , = 1, … , , ∈ ℕ sampling the trajectory of the person who crossed the platform. Trajectory and load data are the input for the second part of the processing, namely the event recognition algorithm. The proposed recognition strategy is a multi-layer approach with a two-tier structure. The first level only separates standard events (i.e., the passage of a single person without any particular object) from all the other event categories, which are collectively named "special events" at this step. Concerning the case of a standard event, no warning is generated, and the algorithm exits. Conversely, in the case of a special event, the analysis continues with the second level event recognition algorithm. This second tier can generate either an alarm (in the case of irregularities, i.e., more than one person passing together on the platform), or only a notification (in the other cases), always providing a label indicating the hypothesized category for the occurred event. The first and second levels of the event recognition algorithm are described in detail in Sections 2.4.1 and 2.4.2, respectively. Figure 4 shows a flow chart summarizing the whole algorithm working logic.

First Tier Event Recognition Algorithm
The first level of the event recognition algorithm is based on the analysis of the two coordinates ( ) and ( ) , the transit direction, which are processed separately. The coordinate ( ) is analyzed to detect the so-called 'back steps'. Indeed, during a usual regular event of a walk-through, this coordinate is a non-decreasing function of time; only if the passing person decides to invert the walking direction on the footboard, the coordinate slope changes sign. Conversely, a second person stepping on the platform suddenly adds a load applied close to the footboard edge ( ( ) = 0 m), with

First Tier Event Recognition Algorithm
The first level of the event recognition algorithm is based on the analysis of the two coordinates X(k) and Y(k), the transit direction, which are processed separately. The coordinate Y(k) is analyzed to detect the so-called 'back steps'. Indeed, during a usual regular event of a walk-through, this coordinate is a non-decreasing function of time; only if the passing person decides to invert the walking direction on the footboard, the coordinate slope changes sign. Conversely, a second person stepping on the platform suddenly adds a load applied close to the footboard edge (Y(k) = 0 m), with the consequence of a displacement of the net force application point toward this edge, resulting in a change of the slope sign of Y(k). When a 'back step' event is found, a first net force average is evaluated using the n samples preceding the event (with n at least equal to ten), and a second average is calculated using the n samples following it. These two values are verified to be close within a certain threshold; if this is Sensors 2020, 20, 7225 8 of 20 true, then the event is considered a real and regular back-step, i.e., the passage is regular but the single person on the footboard decides to invert the transit direction. Conversely, if the two average values difference exceeds the preset threshold, then the algorithm associates the back step to the arrival of a second person on the platform and sets a special event flag, passing the execution to the second-tier event recognition algorithm.
Regarding the X(k) coordinate, the algorithm seeks in every sample the maximum distance between the application points of the net force relative to the loaded platforms. As in the previous case, when this distance exceeds an appropriate threshold, the algorithm sets the special event flag, as it is likely that two people side-by-side are crossing the platform. This processing applied to the X coordinate is useful when the platform width is chosen as described in Section 2.1, i.e., granting a high probability that only one person at time can comfortably pass on the single platform.

Second Tier Event Recognition Algorithm
The second-tier event recognition algorithm is based on a particular feature extraction. The algorithm is capable of extracting people, wheel (e.g., a stroller or luggage on wheels), and pressure spot (e.g., crutches or walking sticks) signals, considering force magnitude and distribution. Particularly, the process of separating people tracks from wheel tracks makes use only of the force magnitude information, while the force distribution information is added for isolating pressure spot tracks. The effect of this procedure will be clear in the next section, comparing Figures 6a, 9 and 10a,c. Fully, a number C = 3 of trajectory types is considered. The output of this algorithm is a larger set of trajectories and loads of the above listed types. Therefore, the input of the algorithm is a set of N + 1 trajectories and loads, its output consists of (N + 1)·C trajectories and loads, i.e., This means that the trajectories X i,c (k c ), Y i,c (k c ), and the loads M i,c (k c ) are extracted only if the weight belongs to a specified force interval. This algorithm allows to extract from a complex trajectory the contribution of wheels, people, and crutches. After this operation, for each trajectory type, the algorithm calculates the first and second moments of the spatial coordinates. We experimentally found these values, depending on the trajectory types (people, wheels, pressure spots), are different for the diverse event categories and, therefore, can be compared with appropriate thresholds to eventually establish the event type.

Characterization System
We proved the feasibility of the system depicted in the previous section, and we characterized its performance, realizing a gravimetric apparatus made up of a gravimetric footboard prototype handled by tailored acquisition, analysis electronics and software. The gravimetric sensor prototype (produced by Saima Sicurezza S.p.a.) was an array of six 2 × 0.9 m 2 steel plates, arranged as in Figure 1b, each laid on four load cells (range 250 kg-2 mV/V, produced by N.B.C. Elettronica Group) placed near the corners. A custom front-end circuit was designed and manufactured to power the load cells with a regulated voltage (from a 12 V power source to a 4.096 V regulated voltage reference) and to individually acquire their signals. The first realization of this circuit, that we used for the study presented in this paper, included no amplification stage in the analogic chain, but performed only the routing of each load cell signal to a different channel of one of three NI USB6361 (National Instruments) acquisition boards (16 bits A/D, 8 differential channels), which were connected to an acquisition PC. The software managing the acquisition and the real time analysis, i.e., trajectory estimation and classification, was implemented in the LabVIEW and Matlab programs, and it was capable of a 100 Hz sampling speed per channel. This frequency was sufficient for reconstructing the variable force exerted by a person walking on the footboard and his/her trajectory. Figure 5a shows a block scheme of the realized acquisition system, while Figure 5b shows the front panel of the LabVIEW VI managing the acquisition and implementing the data processing.
Sensors 2020, 20, x FOR PEER REVIEW 9 of 20 capable of a 100 Hz sampling speed per channel. This frequency was sufficient for reconstructing the variable force exerted by a person walking on the footboard and his/her trajectory. Figure 5a shows a block scheme of the realized acquisition system, while Figure 5b shows the front panel of the LabVIEW VI managing the acquisition and implementing the data processing.   Figure 6b is the 3D visualization of the 2D trajectories in Figure 6a, with the measured force, ( ) and ( ), = 1, … , 6, in newtons as the third dimension. It also is interesting to plot the load and the trajectory coordinates with respect to the time, as shown in Figure  7, for the same event of Figure 6. Figure 7a and 7b shows the spatial coordinates and the load magnitude, respectively, for each single platform, while Figure 7c and 7d show the coordinates of the resultant force application point and its intensity.

Commented [M22]:
in Figure 5.  Figure 6 shows an example of trajectory estimation in the case of a person pulling a luggage on wheels. Regarding both Figure 6a,b, the trajectory of the application point of the force resultant, (X(k), Y(k)), is drawn in blue, while the other colors refer to the trajectories on the individual platform (X i (k), Y i (k)), i = 1, . . . , 6. Figure 6b is the 3D visualization of the 2D trajectories in Figure 6a, with the measured force, M(k) and M i (k), i = 1, . . . , 6, in newtons as the third dimension. It also is interesting to plot the load and the trajectory coordinates with respect to the time, as shown in Figure 7, for the same event of Figure 6. Figure 7a,b shows the spatial coordinates and the load magnitude, respectively, for each single platform, while Figure 7c  The accuracy performances of the described gravimetric system were evaluated using the method introduced in Section 2.2, applying Equations (6)- (11). The obtained trajectories and related error envelopes were similar to the results shown in Figure 3, with a maximum error on the assessment of the net force application point location of 10 cm (uncertainty 3 cm).  The accuracy performances of the described gravimetric system were evaluated using the method introduced in Section 2.2, applying Equations (6)- (11). The obtained trajectories and related error envelopes were similar to the results shown in Figure 3, with a maximum error on the assessment of the net force application point location of 10 cm (uncertainty 3 cm). The accuracy performances of the described gravimetric system were evaluated using the method introduced in Section 2.2, applying Equations (6)- (11). The obtained trajectories and related error envelopes were similar to the results shown in Figure 3, with a maximum error on the assessment of the net force application point location of 10 cm (uncertainty 3 cm). Table 1 reports, for each tested event category, the number of test cases, the expected output for the two event recognition levels, and the expected signaling (alarm or no alarm). Figure 7c, for example, shows how the entering on the footboard by the luggage on wheels causes inversions in the Y coordinate trend (in red). These inversions are the ones called "back steps" in Section 2.4.1.

First Level Event Recognition Algorithm Results
Regarding the event represented in Figures 6 and 7, the back steps correspond to dramatic changes in the total mean applied load, as can be determined from Figure 7d. Therefore, in this case, the first-tier event recognition algorithm is surely capable of classifying the event as "special" and passing the execution to the second-tier recognition algorithm. Figure 8 summarizes the results for the first level event recognition algorithm: the special event category, thanks to the check on both spatial coordinates, shows an excellent detectability.  Table 1 reports, for each tested event category, the number of test cases, the expected output for the two event recognition levels, and the expected signaling (alarm or no alarm). Figure 7c, for example, shows how the entering on the footboard by the luggage on wheels causes inversions in the coordinate trend (in red). These inversions are the ones called "back steps" in Section 2.4.1. Regarding the event represented in Figures 6 and 7, the back steps correspond to dramatic changes in the total mean applied load, as can be determined from Figure 7d. Therefore, in this case, the firsttier event recognition algorithm is surely capable of classifying the event as "special" and passing the execution to the second-tier recognition algorithm. Figure 8 summarizes the results for the first level event recognition algorithm: the special event category, thanks to the check on both spatial coordinates, shows an excellent detectability.    Figure 9 displays the results of wheel extraction (Figure 9a) and people extraction (Figure 9b) for the same event in Figures 6 and 7. It is clearly visible how the extraction procedure, in this case, is capable of isolating the wheel tracks from the person tracks. Another meaningful example is given in Figure 10, which refers to the passage of a person on a pair of crutches. Concerning Figure 10, Figure 10b is the 3D representation of the 2D trajectories of Figure 10a, with the applied force in newtons as the third dimension. Furthermore, it is interesting to observe the effect of load spot extraction (Figure 10c), which is capable of evidencing the footholds of the crutches. these two images, it is apparent that imposing appropriate thresholds on the coordinate moments after people extraction allows the identification of irregular events (i.e., people queued and people side-by-side), as they are rather sharply separated from the others (Figure 11a); similarly, spot extraction permits the recognition of people on crutches (Figure 11b). Consequently, the events that are categorized neither as irregular nor as crutches are labeled as "wheel events".   As explained in Section 2.4.2, after the extraction of the different tracks, the second level event recognition algorithm calculates the mean and the variance for the spatial coordinates for each track type. Plotting these moments one versus the other reveals a remarkable differentiation of the events depending on the event type and on the performed extraction. Specifically, we found that the relevant quantities for classification are the mean and the variance of the Y c coordinate in the case of people extraction and in the case of pressure spot extraction, plotted respectively in Figure 11a,b. Observing these two images, it is apparent that imposing appropriate thresholds on the Y people coordinate moments after people extraction allows the identification of irregular events (i.e., people queued and people side-by-side), as they are rather sharply separated from the others ( Figure 11a); similarly, spot extraction permits the recognition of people on crutches (Figure 11b). Consequently, the events that are categorized neither as irregular nor as crutches are labeled as "wheel events". The confusion matrix of Figure 12 summarizes the results for the second-tier event recognition algorithm. During this performance evaluation, we considered as input only the special events (301 in total), neglecting the errors introduced by the first step event recognition algorithm. Thus, we could assess the performance of the second-tier event recognition algorithm independently. Lastly, the confusion matrix of Figure 13 recaps the overall performance of the entire classification method, in terms of true/false positive (TP and FP) and true/false negative (TN and FN) alarms (see Table 1). The confusion matrix of Figure 12 summarizes the results for the second-tier event recognition algorithm. During this performance evaluation, we considered as input only the special events (301 in total), neglecting the errors introduced by the first step event recognition algorithm. Thus, we could assess the performance of the second-tier event recognition algorithm independently. Lastly, the confusion matrix of Figure 13 recaps the overall performance of the entire classification method, in terms of true/false positive (TP and FP) and true/false negative (TN and FN) alarms (see Table 1).

Discussion
The results presented in Section 3 are really encouraging, showing, in particular, an excellent detectability of irregularities (95.3% of all the test cases). The difference between irregular category detectability in Figure 12 and true positives in Figure 13 is due to the first level event recognition algorithm errors, that we excluded in evaluating second level event recognition algorithm performance (as stated in Section 3.3). The overall performance of the algorithm, in other words, is spoiled by the inability of the first-tier event recognition algorithm to individuate all the special events (see Figure 8).
The capability of spotting the irregularities, in the application of interest, should be the most desirable; on the other hand, the occurrence of some false alarms is more acceptable than missing a security violation. Taking this perspective, the algorithm flexibility in changing the classification parameters is a key feature to adapt the system to different situations. Indeed, the parameter setting can give a boost to the recognition of a specific event category: for example, acting properly on the first level event recognition algorithm parameters, and making the thresholds more restrictive on the quantities plotted in Figure 11a for the second level event recognition algorithm, led to the results presented in Figure 14. Therein, the modified set of parameters allowed a better identification of the irregularities, bringing more frequent false alarms as a drawback. Thus, generally speaking, the choice of the algorithm thresholds and parameters is a critical task, which must be accomplished while assessing the field application of the system and deciding which error type is more tolerable.

Discussion
The results presented in Section 3 are really encouraging, showing, in particular, an excellent detectability of irregularities (95.3% of all the test cases). The difference between irregular category detectability in Figure 12 and true positives in Figure 13 is due to the first level event recognition algorithm errors, that we excluded in evaluating second level event recognition algorithm performance (as stated in Section 3.3). The overall performance of the algorithm, in other words, is spoiled by the inability of the first-tier event recognition algorithm to individuate all the special events (see Figure 8).
The capability of spotting the irregularities, in the application of interest, should be the most desirable; on the other hand, the occurrence of some false alarms is more acceptable than missing a security violation. Taking this perspective, the algorithm flexibility in changing the classification parameters is a key feature to adapt the system to different situations. Indeed, the parameter setting can give a boost to the recognition of a specific event category: for example, acting properly on the first level event recognition algorithm parameters, and making the thresholds more restrictive on the quantities plotted in Figure 11a for the second level event recognition algorithm, led to the results presented in Figure 14. Therein, the modified set of parameters allowed a better identification of the irregularities, bringing more frequent false alarms as a drawback. Thus, generally speaking, the choice of the algorithm thresholds and parameters is a critical task, which must be accomplished while assessing the field application of the system and deciding which error type is more tolerable. To the best of our knowledge, the presented work is a total novel application of this kind of gravimetric system. The authors of [18] employ a similar gravimetric sensor architecture, based on a platform laid on four load cells, but applied to indoor localization of objects, people, or robots; instead, in our proposal, the aim is to recognize the signatures of different events. Found in most of To the best of our knowledge, the presented work is a total novel application of this kind of gravimetric system. The authors of [18] employ a similar gravimetric sensor architecture, based on a platform laid on four load cells, but applied to indoor localization of objects, people, or robots; instead, in our proposal, the aim is to recognize the signatures of different events. Found in most of the other works, more packed gravimetric sensor matrices are used, resulting in finer information but in greater complexity, with a higher cost and less robustness as well, making these devices unfeasible for the automatic entrance control of busy public places; our system, on the other hand, exploits only four sensors per platform, lowering the costs, and easing the hardware structure and the analysis software. Additionally, the load cell data processing reconstructing the trajectories, although very simple, actually builds a sort of virtual array of load cells, with the limitation of the position calculation accuracy (see the Conclusions).

The Complete Gravimetric System
Here, the overall gravimetric system architecture is described. The diagram shown in Figure 15a illustrates the architecture of the complete gravimetric system, also showing the connection between the different components of the system. Fully, each gravimetric platform (dark gray rectangles) composing the total footboard is equipped with its own analog conditioning electronics and digital signal processing capability (based on a microprocessor embedded in the slave block in Figure 15a). Each slave performs load cell signal sampling, provides on-line signal filtering, and extrapolates the force application point trajectory for the platform it serves. The as-obtained data are then sent to a central processing unit (labeled master in Figure 15a) via Controller Area Network (CAN) bus (1 Mb/s at 40 m). We provided two different communication layers at this step: a high-priority low rate data flow for pre-processed data (force and trajectory for each platform), and a low-priority high frequency data flow for transmitting raw data, if required, and for service communications (i.e., configuration parameters from the master). A PC or another microcontroller acts as the master, configuring the slaves, collecting the data from all the platforms, performing data processing, presenting the results (through a Human to Machine Interface, HMI) and making them available to other devices (Machine To Machine, M2M) in JavaScript Object Notation (JSON) format. Figure 15b shows the complete gravimetric system setup: the gravimetric footboard and the acquisition master (Intel Next Unit of Computing, NUC). Seen in the background, a part of the LabVIEW VI, acting both as an HMI (see Figure 5b) and as an M2M, is visible.

Slave Architecture
Each gravimetric platform is equipped with a circuitry which is called slave in this discussion. The slave hardware is composed of two main blocks: an analog front-end and a Cortex-M4 based STM32F373 (STMicroelectronics) microcontroller mounted on a readapted Nucleo-64 board. The analog conditioning circuit is made up of four identical channels (one per each load cell) providing The described gravimetric apparatus demonstrates the fundamental benefit of scalability, thanks to its modular architecture. An arbitrary number of gravimetric platforms can be assembled, with almost no change in the slave block realization, and with minor modifications to the master software, granting the flexibility of the system.
Regarding the next sections, the slave and master hardware and software architectures are described in detail. The adopted policy for the communication between the master and the slaves via CAN bus is reported in a separate section.

Slave Architecture
Each gravimetric platform is equipped with a circuitry which is called slave in this discussion. The slave hardware is composed of two main blocks: an analog front-end and a Cortex-M4 based STM32F373 (STMicroelectronics) microcontroller mounted on a readapted Nucleo-64 board. The analog conditioning circuit is made up of four identical channels (one per each load cell) providing signal filtering and amplification. The amplification is conveniently set to match the input range of the 16-bit sigma-delta converter present on the microcontroller. Occurring at the system start-up, the microcontroller reads some configuration parameters from a dedicated area of its on-board non-volatile memory, which also is accessible to the master via CAN bus (see Section 5.3 for details on the configuration parameters). The microcontroller samples the ADC output at a frequency called the "sampling frequency", averages the acquired data reducing the sampling frequency to a lower one, called the "update frequency" (the data obtained at this point are called "raw data"), calculates the resultant force magnitude (M i ) and application point position (X i , Y i ), and sends this processed information through the CAN bus. This main routine is executed by each slave microcontroller continuously. Each slave microcontroller, in other words, independently presents the samples of the three signals (M i , X i , Y i ) on the CAN bus at the update frequency, with no need for a request from the master. Additionally, each slave listens for configuration parameter changes from the master.

Master Architecture
The role of the master in the proposed system is played by an Intel NUC. The master configures the slaves, collects the information from all the platforms, performs data processing and produces the final output (i.e., event categorization, Human to Machine Interface (HMI) and Machine To Machine (M2M) interfaces). The master software consists of two separate threads working in parallel, as illustrated in Figure 16. Thread A (Figure 16a) is the CAN bus reading thread: it waits in an idle state until a new message (i.e., a platform state update consisting of the three new samples of M i , X i , Y i ) from one of the slaves is available on the CAN bus; when a slave sends a platform status update, it is stored in a buffer memory, which represents the current overall footboard status; then, the thread A goes back into the idle state. Thread B (Figure 16b) is the data processing thread: it reads the footboard status from the buffer memory at the update frequency (PLATFORM CLEAR state) and compares the total load charging the footboard with a load threshold (see Section 2.4); if the total load is over the threshold, the master continues reading from the buffer memory (and switches to PLATFORM OCCUPIED state), but stores the data in a queue rather than discarding them; when the footboard is recognized to be clear again (total load under the threshold), the data queue is passed to the data processing and event classification algorithm (see Section 2.4) to produce the final output, which is presented to the user and exposed via TCP/IP in JSON format ( Figure 17 reports an example of JSON output for a standard event).
is over the threshold, the master continues reading from the buffer memory (and switches to PLATFORM OCCUPIED state), but stores the data in a queue rather than discarding them; when the footboard is recognized to be clear again (total load under the threshold), the data queue is passed to the data processing and event classification algorithm (see Section 2.4) to produce the final output, which is presented to the user and exposed via TCP/IP in JSON format ( Figure 17 reports an example of JSON output for a standard event).

CAN Communication
A CAN frame has 11 bits for the message identifier and up to 8 bytes for the data payload. During our CAN bus implementation, we reserved 8 message identifiers per each platform (slave). This means that a maximum of 256 platforms can be connected simultaneously in our system. The message identifier, therefore, is composed of a base address, that is the platform identifier, settable by means of dip switches mounted on the slave boards, and of an offset from 0 to 7 determining the message type. The meanings of the 8 possible message types are listed in Table 2. Occurring at the system start up, the master sends the configuration to all the slave platforms, namely the sampling frequency, the update frequency (see Section 5.1), the number of connected load cells (we added this option for flexibility, to be able to also connect gravimetric platforms with a different number of sensors), and a mask for excluding cells from the acquisition in case of faults. This last option is particularly useful is over the threshold, the master continues reading from the buffer memory (and switches to PLATFORM OCCUPIED state), but stores the data in a queue rather than discarding them; when the footboard is recognized to be clear again (total load under the threshold), the data queue is passed to the data processing and event classification algorithm (see Section 2.4) to produce the final output, which is presented to the user and exposed via TCP/IP in JSON format ( Figure 17 reports an example of JSON output for a standard event).

CAN Communication
A CAN frame has 11 bits for the message identifier and up to 8 bytes for the data payload. During our CAN bus implementation, we reserved 8 message identifiers per each platform (slave). This means that a maximum of 256 platforms can be connected simultaneously in our system. The message identifier, therefore, is composed of a base address, that is the platform identifier, settable by means of dip switches mounted on the slave boards, and of an offset from 0 to 7 determining the message type. The meanings of the 8 possible message types are listed in Table 2. Occurring at the system start up, the master sends the configuration to all the slave platforms, namely the sampling frequency, the update frequency (see Section 5.1), the number of connected load cells (we added this option for flexibility, to be able to also connect gravimetric platforms with a different number of sensors), and a mask for excluding cells from the acquisition in case of faults. This last option is particularly useful

CAN Communication
A CAN frame has 11 bits for the message identifier and up to 8 bytes for the data payload. During our CAN bus implementation, we reserved 8 message identifiers per each platform (slave). This means that a maximum of 256 platforms can be connected simultaneously in our system. The message identifier, therefore, is composed of a base address, that is the platform identifier, settable by means of dip switches mounted on the slave boards, and of an offset from 0 to 7 determining the message type. The meanings of the 8 possible message types are listed in Table 2. Occurring at the system start up, the master sends the configuration to all the slave platforms, namely the sampling frequency, the update frequency (see Section 5.1), the number of connected load cells (we added this option for flexibility, to be able to also connect gravimetric platforms with a different number of sensors), and a mask for excluding cells from the acquisition in case of faults. This last option is particularly useful in security applications, where faults must be addressed without interrupting the service. Once the configuration is complete, the platforms begin to send their pre-processed data (M i , X i , Y i ), as described in Section 5.1, using the offset message identifier 0 (high priority). The debug mode, activatable with offset 5, instructs the platforms to send the raw data (see Section 5.1) using the high speed CAN data layer (see Section 5 introduction). The raw data are sent using offset 7. Thus, the raw data are given the lowest priority. This way, even if the CAN bus is congested with raw data communications, it is still possible to force off the debug mode thanks to the higher priority of the offset 5.

Offset
Meaning From Master to Slaves From Slaves to Master 0 Pre-processed data (M, X, Y) X 1 Sampling frequency X 2 Update frequency X 3 Number of connected load cells X 4 Mask of functioning cells X 5 Debug mode X 6 Not used (left for future use) 7 Raw data (only in debug mode) X

Conclusions
Here, we presented a low cost, robust, and flexible gravimetric system for access monitoring applications, consisting of an array of simple gravimetric footboards based on load cells. The operations of the system were described and analyzed from a theoretical point of view and validated by means of a data acquisition set-up.
Considering the presented results, it can be seen that, despite its simplicity and the small number of sensors used, the system was able to reconstruct the trajectory of the application point of the vertical component of the applied force, resulting in high accuracy.
Regarding the presented system implementation devoted to public place access control, the typical accuracy is in the order of centimeters. Generally, the spatial accuracy is related to the ratio between the magnitude of the net vertical force itself and the load cell uncertainty; therefore, in most applications, a satisfactory accuracy can be obtained through a fit selection of the sensors.
Furthermore, the trajectory on the complete footboard is split into the elementary trajectories on the individual platforms. This allows a refinement in the knowledge about the spatial distribution of the forces applied on the overall footboard, and to gain more information about the transit occurring on the footboard. Here, the proposed gravimetric system has been applied to access control in public places, but it also can be applied in other fields by adapting the size and number of platforms. Gait analysis, for example, represents a possible area of employment: in fact, although our gravimetric system is not capable of drawing a detailed force map of the feet, it can extract the trajectory and the intensity of the force exerted on the lower limbs.
An ad hoc trajectory analysis algorithm was presented, aimed at an on-line identification of irregular events, i.e., multiple and simultaneous transits. Considering this, the experimental results showed good performance in detecting multiple people stepping simultaneously on the gravimetric footboard, both side-by-side and queued. This type of event is generally relevant to access control activities and is crucial if the goal is to perform these activities automatically. Other types of events, such as people with wheeled luggage or on crutches, have been investigated with satisfactory results. Correct recognition of these patterns also could be relevant to minimize false positives in security checks performed with heterogeneous technologies such as metal detectors, video analysis, etc., allowing a data fusion approach for non-invasive checks in public spaces.
The implemented event recognition algorithm can be further improved in future development of this work. Particularly, a Machine Learning (ML) approach can be introduced to refine the accuracy of the event classification; moreover, thanks to ML, it might be possible to add to the event category set other likely occurrences, currently hard if not impossible to spot, such as the passage of a person on a wheelchair.
Finally, it must be underlined that, to the authors' knowledge, all the other approaches for safety applications are based on dense matrices of sensors embedded in a floor. The proposed approach has the peculiarity of combining a 'real' but very simple sensor array (the six platforms) with a 'virtual' array (the single platform) created by exploiting the torque equilibrium. The 'virtual' array is able to reach a very fine resolution (as if having a very large number of sensing elements), which is limited only by the sensor uncertainty. The virtual array performance, nonetheless, is limited because the obtainable information is related to the 'resultant' force on the individual platform, therefore the virtual array works very well in the case of a single force application point but has a limited performance in the case of multiple application points, and it can be used only in conjunction with advanced signal processing techniques or artificial intelligence to unravel the condensed information.

Conflicts of Interest:
The authors declare no conflict of interest.