Low-cost real-time motion capturing system using inertial measurement units ACTA IMEKO ISSN: 2221-870X September 2022, Volume 11, Number 3, 1 - 9 ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 1 Low-cost real-time motion capturing system using inertial measurement units Simona Salicone1, Simone Corbellini2, Harsha Vardhana Jetti1, Sina Ronaghi3 1 Department of Electronics, Information and Bioengineering (DEIB), Politecnico di Milano, Via Guiseppe Ponzio 34, 20133, Milano, Italy 2 Department of Electronics and Telecommunication (DET), Politecnico di Torino, Corso Duca degli Abruzzi, 24, 10129, Torino, Italy 3 Department of Energy (DENG), Politecnico di Milano, Via Lambruschini 4a, 20156, Milano, Italy Section: RESEARCH PAPER Keywords: Motion-capture; bluetooth low energy; inertial measurement units; digital signal processing; embedded systems Citation: Simona Salicone, Simone Corbellini, Harsha Vardhana Jetti, Sina Ronaghi, Low-cost real-time motion capturing system using inertial measurement units, Acta IMEKO, vol. 11, no. 3, article 17, September 2022, identifier: IMEKO-ACTA-11 (2022)-03-17 Section Editor: Francesco Lamonaca, University of Calabria, Italy Received May 17, 2022; In final form September 23, 2022; Published September 2022 Copyright: This is an open-access article distributed under the terms of the Creative Commons Attribution 3.0 License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. Corresponding author: Simona Salicone, e-mail: simona.salicone@polimi.it 1. INTRODUCTION Human motion reconstruction, also known as motion- capture systems (Mo-Cap), plays an important role in medical rehabilitation, sports training, and entertainment [1]-[3]. In the field of healthcare, physical therapists use such systems to record patient movements, visualize the movements in real-time and finally making a comparison of the recorded movements throughout the treatment cycle for efficacy evaluation. For the purpose of entertainment, the use of Mo-caps is necessary for reconstructing human movements for 3-dimensional (3D) games development and animated scenes in the movie industry. For the application of sports training, the use of Mo-caps is beneficial for reconstructing the players' movement for the evaluation of each player individually and as a team, as well as, monitoring each player for automatic estimation and prediction of possible injuries, such as muscle damages caused by players collision during a period of professional activity [4]. Mo-cap solutions use either non-optical sensor-based methods or optical computer vision methods to reconstruct the physical human movements. As it is currently known, solutions based on computer vision methods can be employed only in a controlled environment and they suffer from inconsistencies concerning environmental conditions such as ambient light (colour and illumination problems), object proximity (occlusion), and motion detection in cluttered scenes [5], [6]. Alternatively, sensor-based methods of Mo-cap are usually applied in form of wearable devices, that use inertial measurement units (IMUs) based on microelectromechanical systems (MEMS). In principle, MEMS-based IMUs are immune to visible environmental conditions, but they may suffer from orientation drifts over time. The development of Inertial based Mo-Cap solutions, for both movement tracking and human activity recognition (HAR), has been a topic of research for many years, mainly due to the constant increase in the availability of new MEMS devices. Nowadays, many similar commercial Mo-Cap solutions are available on the market; such products, depending on the specific targeted application, can differ in the maximum number of ABSTRACT Human movement modeling - also referred to as motion-capture - is a rapidly expanding field of interest for medical rehabilitation, sports training, and entertainment. Motion capture devices are used to provide a virtual 3-dimensional reconstruction of human physical activities - employing either optical or inertial sensors. Utilizing inertial measurement units and digital signal processing techniques offers a better alternative in terms of portability and immunity to visual perturbations when compared to conventional optical solutions. In this paper, a cable-free, low-cost motion-capture solution based on inertial measurement units with a novel approach for calibration is proposed. The goal of the proposed solution is to apply motion capture to the fields that, because of cost problems, did not take enough benefit of such technology (e.g., fitness training centers). According to this goal, the necessary requirement for the proposed system is to be low-cost. Therefore, all the considerations and all the solutions provided in this work have been done according to this main requirement. mailto:simona.salicone@polimi.it ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 2 sensors, in the placement position of the sensors on the human body, and in the user interface and data representation. As an example, the MTw Awinda [7] tracker by XSense is a complete wireless human motion tracker able to accurately monitor the joint angles and is targeted for many applications, spanning from rehabilitation to injury prevention in sport and to human machine interaction in robotics. The system can manage up to 20 sensors with a maximum data rate of 60 Hz. The Movit System G1 [8] by Captiks is another available solution for both indoor and outdoor motion capture and analysis. This system can acquire up to 16 sensors and it is able to provide raw orientation measurements and even animation and video files. The acquisition rate can reach 100-200 Hz to track fast movements. For movements with higher dynamics, the Wearable 3D Motion Capture [9] by Noraxon can reach a measurement output rate of 400 Hz. This system is equipped with 16 sensors suitable for all type of movements including high velocity and high impact conditions. Despite the availability on the marked of many solutions, usually these products are targeted to the most demanding applications and their cost remains too high for their use in many other fields. Usually, the cost of such commercial Mo-Cap solutions can range from a few thousand dollars to even tens of thousands of dollars. These prices are unfortunately out of budget in many applications. Therefore, in this paper, we focus on the development of a low-cost Mo-Cap solution, which is full-body, multi sensor and cable-free. Hence, to avoid using costly measurement elements, a novel approach for calibration using software level data analysis solely based on gyroscope measurements is proposed. The system is intended to be used for physical activities that require movements with low angular velocity for a short period of time (i.e., medical rehabilitation, physiotherapy and movement analysis in aged people). A set of experiments are also performed, for a preliminary validation and metrological characterisation of the proposed solution. 2. DEVELOPED SYSTEM This section explains the architecture of the proposed solution. The hardware and software feature specifications of the solution are highlighted and the proposed method for gyroscope calibration is explained. Finally, a set of experiments are defined to demonstrate the functionality of the system and to assess the effectiveness of the employed method in reducing drift errors during the attitude representation process. 2.1. System architecture Figure 1 briefly shows some possible architectures of Mo-Cap solutions; in particular the red path indicates the selected method for our solution. Four key decisions have been made to choose a method of implementation that are explained accordingly. The reason for choosing a non-optical method is to provide portability and immunity to visual environmental perturbations. In fact, for the applications that require the activity to be performed in an open area, it is inherently difficult to control environmental parameters such as lighting. MEMS-based IMUs are usually a combination of low-cost accelerometer, gyroscope and in some circumstances magnetometer. In a common navigation system, all the three available inertial sensors (e.g., accelerometers, magnetometers and gyroscopes) are employed for both the preliminary calibration and the navigation itself. In particular, during the navigation, the accelerometer and the magnetometer are necessary to obtain a geo-referenced frame of coordinates and to compensate for drifts inevitably arising from the integration of the gyroscope signals. However, the use of the magnetometer may decrease the accuracy in indoor environments due to the usual presence of local magnetic field perturbations. On the other hand, the accelerometer may increase the measurement noise since the body acceleration is superimposed on the detected gravity vector. Fortunately, in most of the human movement measurement applications, a geo-referenced frame is not necessary and even the measurement of angle changes over short time intervals (e.g. a few minutes) with respect to a starting position is usually sufficient (e.g. the patient is asked to start the movement from a reference position). For these reasons the authors propose a robust measurement system solely based on the use of gyroscopes and a simple calibration procedure suitable to achieve reasonable drifts and angle accuracy over a few minute intervals. 2.2. Sensor placement Considering a wearable motion capture product, the factors to be considered are accurately indicated by Marin et al. [10]. The placement factor is crucial to avoid any friction and displacement of the sensors during various activities. Even displacements during movements with a low angular velocity can abruptly decrease the accuracy of the representation. Therefore, the outermost places right above the joints and flat areas of the body are preferably used. Considering the application of medical rehabilitation, it is necessary to track the position of the bones that contribute to commuting and basic physical activities. The proposed solution uses 15 wearable sensors for full-body motion capture. These sensors are attached to the front and back side of the human body in an order that is illustrated in Figure 2, where the red dots refer to the sensors and the orange lines indicate the correct positioning of the sensors. Additionally, the sensor numbers, names and the measurand parameters are included in Table 1. Furthermore, as shown in Figure 3, the fixed fabric method is used for the attachment factor. In particular, 15 fabric elastic bands have been hand-made, with different circumferences according to the body parts where the wearable devices are intended to be installed. Furthermore, on each elastic band, a pocket with the size of 5 cm × 5 cm has been sewed to contain the sensing element with the dimension of 3 cm × 3 cm × 1 cm. Figure 1. Range of possible implementation methods. ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 3 2.3. Hardware design To implement multiple wireless measuring nodes in forms of wearable devices that can perform online software level calibration, commercially available modules, also known as nRFtag (or Sensor_tag), were used, as illustrated in Figure 4. It also shows the sensor base and holder, which are used for sensor calibration. In particular, the base has been specifically designed and 3D printed by the Authors. The main specifications of the nRFtag are summarized in Table 2. From each sensor tag, the MEMS-based 6-DOF IMU MPU6050 [11] is used as the sensing element and the nRF51802 system on a chip (SoC) [12] is used as the processing unit and the Bluetooth Low Energy™ (BLE) communication module. The manufacturer recommended power supply for the sensor tag is a CR2032 non-rechargeable coin-cell battery with 3V output. Considering the portability design criteria, a rechargeable wearable device is more convenient from the perspective of the Figure 2. Sensor attachment to the human body and numbering of the sensors. On the left: front side. On the right: back side. Figure 3. The employed sensor (in the green box) and the hand-made elastic belt used to fix the sensor on the body (the wrist in this figure). Table 1. Sensor names and the measurand parameters. # Sensor Measurand 1 Forehead Rotation and side-bend relating to the origin 2 Chest Anterior/posterior tilt and lateral tilt to left/right 3 Left arm Abduction/adduction, flexion/extension 4 Right arm Abduction/adduction, flexion/extension 5 Left wrist Abduction/adduction, flexion/extension 6 Right wrist Abduction/adduction, flexion/extension 7 Left hand Abduction/adduction, flexion/extension 8 Right hand Abduction/adduction, flexion/extension 9 Sacral(back) Rotation and side-bend relating to the origin 10 Left knee Flexion/extension 11 Right knee Flexion/extension 12 Left ankle Plantar-flexion/dorsi-flexion and supination/pronation 13 Right ankle Plantar-flexion/dorsi-flexion and supintion/pronation 14 Left ankle Rotation and side-bend 15 Right ankle Rotation and side-bend Figure 4. Top view of the Sensor_tag module (in the green square) attached to the base, which has been specifically designed and 3D printed for the sensor calibration. Table 2. Brief specifications of the nRFtag. Product name nRFtag (Sensor_tag) Application Wearable devices Supply voltage 3V coin-cell battery 2032 package Embedded modules - nRF51802 (ARM® Cortex™-M0 - MPU6050 IMU - BMP280 Barometric pressure sensor - AP3216 Ambient light sensor Size Circular shape d = 30 mm TX Power +4 dBm ~ -20 dBm On air data rate 250 kbps, 1 Mbps or 2 Mbps Modulation GFSK RX current 9.5 mA TX current at +4 dBm 10.5 mA ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 4 actor user. For this reason, a rechargeable circuit for the wearable devices was designed and implemented. Although it was possible to use a rechargeable coin-cell battery with the same package size and output voltage (e.g. ML2032 Li-Al coin-cell battery), our solution uses a Lithium-Polymer (Li-Po) type of battery as the power supply. The reason for this preference was the variety of available options in terms of supply capacity, higher charging rate, and simplicity of charging circuit implementation for Li-Po batteries compared to other types. During this hardware modification, additional components such as TP4056 battery charger module [13] and CE6208 DC/DC buck converter [14] were used. The central receiver in this project works as a communication bridge between the sensor tags and the personal computer. This component should receive the measurement data, construct a data structure, and transfer the data to a personal computer. For this purpose, an nRF52840 development kit manufactured by Nordic Semiconductor™ was considered as illustrated and summarized in Figure 5 and Table 3 respectively. This development kit enabled us to interact with the 15 measurement nodes concurrently using BLE communication protocol for real- time measurement [15]. Furthermore, an approximated cost of the main components of the system are represented in Table 4 where the items indicated with (*) are only required for the rechargeable configuration. These components are available in the commercial market, and it is of course possible to further reduce the cost of the system in case of bulk production. If we compare the obtained total price (in both the two proposed solutions) with the costs of the available commercial systems (which, as reported in the Introduction, range from a few thousand dollars to even tens of thousands of dollars), it can be immediately understood the considerably high cost savings. 2.4. Attitude representation Despite different possible methods of attitude representation that are preferred due to the application [16], [17], the most common way of representing attitude of a rigid body in 3D space 1 Euler angles were introduced by Leonhard Euler in 18th century is using the Euler angles1. Euler angles represent rotation by performing a sequential operation with respect to a particular sequence and angle value. By representing the 3D space with three perpendicular axes denoted as i, j, k, it is possible to rotate any rigid body object by angles φ, θ, ψ with respect to the 3D axes. Rotations based on Euler angles can be represented using a rotation vector as indicated in equation (1). 𝑢: = [𝜑 𝜃 𝜓] (1) Considering equation (2) where R is a rotation operation along a single axis, it could be understood that 𝑅𝑖𝑗𝑘 is a rotation function which consists in the product of three individual rotations along each 3D axis sequentially. 𝑅𝑖𝑗𝑘 ≔ 𝑅𝑖(𝜑)𝑅𝑗(𝜃)𝑅𝑘(𝜓) (2) By denoting the i, j and k axes as 1, 2 and 3 respectively, it could be stated that the performed sequence in equation (2) is [1,2,3]. This sequence is widely used for applications consisting representation of gyroscopic spinning motions of a rigid body. Although Euler angles are widely used because of their easy- to-understand mathematical expression, employing them might introduce a major drawback also referred to as singularities during attitude representation. These singularities, which are also known as Gimbal Lock, might occur during specific sequence operations. The Gimbal lock is basically losing one or more degree of freedom (DOF) when two or more axes are positioned in parallel to each other. In particular, with a [1,2,3] sequence, the Gimbal lock problem will arise when the rotation along the second axis (𝜃) becomes an integer multiplication of 90° (𝜃 = 𝑛 π). In order to overcome the issues regarding singularities, it is possible to use the unit Quaternions2 for attitude representation. The unit Quaternions are a form of a four-component complex numerical system which are mostly used in the pure mathematics, but indeed, have practical uses in applied science such as navigation systems and attitude representation in 3D space. Unlike Euler angles, unit Quaternion rotation vector is composed by four components. The first component 𝑞0 ≔ 𝑤 is a scalar value related to the rotation angle, while the following three parameters are a vector 𝑞1:3 ≔ (𝑥, 𝑦, 𝑧) that indicates the rotation axis as represented in equation (3). 𝑞𝑤,𝑥,𝑦,𝑧 = [𝑞0 𝑞1 𝑞2 𝑞3] 𝑇 = [ 𝑞0 𝑞1:3 ] (3) One key advantages of the unit Quaternions comparing to Euler angles is the fact that in case of the unit Quaternions, the attitude representation process is not sequential. Hence, the unit Quaternions do not suffer from singularities. Therefore, in our 2 Quaternions were introduced by William Rowan Hamilton in 19th century Figure 5. Central receiver development kit (NRF52840 DK). Table 3. Brief specifications of the central receiver. Product name nRF52840DK Application Central receiver Supply voltage 1.7 ~ 5.5 V Processor nRF52840 (ARM® Cortex™ - M4 Size Rectangular shape (135 × 63 mm²) Table 4. Price of the single components and total price of the system (for the two proposed solutions). Item Number of employed items Unit price (€) nRF52840 DK × 1 59 Sensor_tag × 15 16 Li-Po battery (*) × 15 3 TP4056 Charger (*) × 15 1 DC/DC Buck converter (*) × 15 1 Total price 299 Total price (rechargeable) 374 (*) ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 5 method of representation, the unit Quaternions are preferred over the Euler angles. In addition, since the unit Quaternions use only complex multiplications, they require less hardware resources comparing to the Euler angles that require triangular function derivations [16]. Although the unit Quaternions benefit from a more robust mathematical derivation and no singularities, there are not easy to interpret with a physical meaning. Hence, in order to report the data to the end-user, we preferred to convert the unit Quaternion values to the Euler angles only when a numerical value representation is needed. The conversion function from the unit Quaternions to the Euler angles is possible as indicated in equation 4 (and vice versa as indicated in equation (5)). It is important to note that this conversion depends on the Euler angles' sequential system, which in the case of this solution is [1,2,3]. 𝑅(𝑢)1,2,3 = [ atan2(2𝑞2𝑞3 + 2𝑞0𝑞1, 𝑞3 2 − 𝑞2 2 − 𝑞1 2 + 𝑞0 2) −asin(2𝑞1𝑞3 − 2𝑞0𝑞2) atan2(2𝑞1𝑞2 + 2𝑞0𝑞3, 𝑞1 2 + 𝑞0 2 − 𝑞3 2 − 𝑞2 2) ] (4) 𝑞𝑤,𝑥,𝑦,𝑧 = [ 𝑞0 𝑞1 𝑞2 𝑞3 ] ≔ [ 𝐶𝜙/2𝐶𝜃/2𝐶𝜓/2 + 𝑆𝜙/2𝑆𝜃/2𝑆𝜓/2 −𝐶𝜙/2𝐶𝜃/2𝐶𝜓/2 + 𝑆𝜃/2𝑆𝜓/2𝑆𝜙/2 𝐶𝜙/2𝐶𝜓/2𝐶𝜃/2 + 𝑆𝜙/2𝑆𝜃/2𝑆𝜓/2 𝐶𝜙/2𝐶𝜃/2𝐶𝜓/2 − 𝑆𝜙/2𝑆𝜓/2𝑆𝜃/2 ] (5) Where C and S are the short terms for the Cosine and Sine functions respectively, atan2 stands for 2-parametric inverse tangent function, and asin is the inverse sine function. 2.5. Calibration method Low cost IMU devices are unfortunately affected by important systemic errors, mainly due to gain errors and to axis misalignments, which may lead to poor accuracy, especially when the sensor has to deal with accelerations and rotations that frequently change axes, as expected in human movement measurements. A calibration has therefore to be performed in order to achieve acceptable results. The main sources of inaccuracy in the use of the gyroscope lay in the gain error (the offset error is present as well, but it is not of concern since it can be easily removed by collecting some initial measurements with the sensor laying in a static position) and in the axes misalignments (i.e. the axes of sensitivity of three gyroscopes are not exactly orthogonal each other). Assuming that the sensor x-axis is correctly aligned with the reference frame x-axis (more properly that the reference frame x-axis is chosen parallel to the actual sensor x-axis), and assuming that the reference y-axis is chosen so that the sensor y-axis lies in the reference frame x-y plane, the measurement signals can be related to the actual sensor rotation by using the following matrix equation: ( 𝑋 𝑌 𝑍 ) = ( 𝑎′ 0 0 𝑏′ 𝑐′ 0 𝑑′ 𝑒′ f′ ) . ( 𝑋𝑠 𝑌𝑠 𝑍𝑠 ) (6) Where 𝑋𝑠, 𝑌𝑠 and 𝑍𝑠 represent the actual angular speeds with respect to the reference frame, and 𝑋, 𝑌, 𝑍 represent the signals measured by the sensor along its non-orthogonal axes and affected by gain errors. The sensor angular speed can be obtained from the measured signals by inverting the previous equation, whose matrix maintains a triangular shape: ( 𝑋𝑠 𝑌𝑠 𝑍𝑠 ) = ( 𝑎 0 0 𝑏 𝑐 0 𝑑 𝑒 𝑓 ) . ( 𝑋 𝑌 𝑍 ) (7) Considering a rotation with angular speed 𝜔 along an arbitrary axis, it can be written: 𝑋𝑠 2 + 𝑌𝑠 2 + 𝑍𝑠 2 = 𝜔2 (8) and therefore: 𝑎2𝑋2 + (𝑏𝑋 + 𝑐𝑌)2 + (𝑑𝑋 + 𝑒𝑌 + 𝑓𝑍)2 = 𝜔2 (9) rearranging the terms: 𝑋2(𝑎2 + 𝑏2 + 𝑑2) + 𝑌2(𝑐2 + 𝑒2) + 𝑍2(𝑓2) + 2𝑋𝑌(𝑏 𝑐 + 𝑑 𝑒) + 2 𝑋 𝑍(𝑑𝑓) + 2 𝑌 𝑍(𝑒𝑓) = 𝜔2 , (10) which, with the following six definitions: 𝛼 = 𝑎2 + 𝑏2 + 𝑐2 𝛽 = 𝑐2 + 𝑒2 𝛾 = 𝑓2 𝛿 = 𝑏𝑐 + 𝑑𝑒 𝜖 = 𝑑𝑓 𝜁 = 𝑒𝑓 , (11) leads to the following compact matrix system of equations that collects all the applied rotations: ( 𝑋1 2 𝑌1 2 𝑍1 2 2𝑋1𝑌1 2𝑋1𝑍1 2𝑌1𝑍1 𝑋2 2 Y2 2 Z2 2 2𝑋2𝑌2 2𝑋2𝑍2 2𝑌2𝑍2 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ 𝑋N 2 YN 2 ZN 2 2𝑋N𝑌N 2𝑋N𝑍N 2𝑌N𝑍N ) . ( α β γ δ ε ζ ) = ( 𝜔1 2 𝜔2 2 ⋮ 𝜔𝑁 2 ) (12) The six unknown parameters (from 𝛼 to 𝜁), can be obtained inverting the previous equation if at least six rotations with known speed (𝜔1to 𝜔𝑁) have been applied. Eventually the required coefficients can be quickly obtained with the following order: 𝑓 = √𝛾 𝑑 = 𝜖/𝑓 𝑒 = 𝜁/𝑓 𝑐 = √𝛽 − 𝑒 2 𝑏 = (𝛿 − 𝑑𝑒)/𝑐 𝑎 = √𝛼 − 𝑏2 − 𝑐2 (13) This calibration has been easily implemented on the sensor micro-controller using the matrix SVD decomposition for solving the system of equation (12), however the application of a rotation with a known speed to the sensor is not practical and would require complex equipment. Fortunately, considering practically applicable sets of axes during calibration, the previous equations, by integration, hold also with angles for rotations along any arbitrary fixed axis. Therefore, the proposed approach consists in rotating the sensor along a set of unknown axes for an integer number of turns, integrating the sensor signals and replacing (2 𝑘 π)2 instead of 𝜔2 in equation (12). To manage the calibration procedure, a base for rotating the sensor along arbitrary axes was necessary. Therefore, as already mentioned in Section 2.3, a specific base has been designed and 3D printed (the base is visible in Figure 4). In addition, a specific virtual app has been developed using the Bluetooth version of the miuPanel platform (ref. https://miupanel.com). By means of the miuPanel platform a mobile phone can establish a direct BLE connection with the sensors and retrieve a graphical panel for controlling the sensor. The developed panel is shown in Figure 6: it contains a real- time visualization of the Yaw, Pitch and Roll angles, and some buttons to start the calibration, to acquire multiple rotation and to compute the calibration coefficients. Through the panel it is also possible to store the calibration results into the sensor flash memory. ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 6 2.6. Embedded software design In this part, the combination of the central receiver and all the wearable devices as the acquisition group will be addressed. Due to the software design considerations, it is necessary to indicate the desired features and specifications of the solution. The basic requirements regarding the acquisition group of our cable-free Mo-Cap solution are indicated below: • The central receiver should be able to receive data from all the 15 wearable sensors simultaneously and to associate them to the corresponding body part. • Central receiver should be able to identify the index of the received data for synchronization purposes. • A lightweight format for data string communication between the central receiver and the wearable devices should be constructed. This data structure, which is also referred to as the data matrix, should be able to contain the measurement raw data and necessary attributes such as functionality status from the wearable devices. The first two requirements are associated with the connection establishment, while the rest are related to the measurement data structure. As previously mentioned, the employed connection protocol in the proposed solution is Bluetooth™ Low Energy. This protocol sufficiently satisfies the requirements such as fast connection establishment, short-range and high-speed data transfer. The set of instructions which are executed by the peripherals are included in Figure 7, where the red path indicates the calibration algorithm to reduce drifts of the gyroscope measurements. To avoid connection establishment to the unnecessary devices within the BLE range, the central receiver is programmed to only search for this service-characteristic profile. Furthermore, in order to distinguish each sensor, the unique peer address identifier of each sensor is associated with the sensor number in Table 1. The peripheral communicates data through advertisement packets transmitted every 20 ms. Since the attributes and the payload (measurement data) consume more data bytes than a single BLE advertisement packet size (31 Bytes), it is necessary to communicate the data using multiple advertisements packets. Each advertisement packet size has 31 Byte of data, and it consists of information such as: generic access profile (GAP), type, manufacturer specific data, the peripheral address, and the payload. Upon receiving the advertisement packets by the central receiver, the data matrix is structured to be communicated to a personal computer using serial communication. The set of instructions that are executed by the central receiver are indicated in Figure 8, where initialization process is only executed when the central receiver is turned on, while the acquisition and communication process are done continuously. 2.7. Representation software design In order to represent the measurement data, representation software in form of windows applications were developed. These applications use various techniques to interpret the incoming data from the central receiver. Each windows application is provided with a graphical user interface (GUI) to interact with the professional user. Furthermore, these applications were created using software environments namely MATLAB, NI LabView, and Unity game engine. From the data matrix structure, it is possible to extract information such as sensor number, new data availability, data packet type, and measurement values. As illustrated in Figure 9, the general principle for the data interpretation process in all the software environments is to decode the incoming hexadecimal data matrix from the serial interface into single-precision floating-point using the IEEE 754-2019 Standard. The decoded data will be then converted into the Euler angles and the Quaternion values. Eventually, the converted angles are represented and stored numerically and graphically. Figure 6. Screenshot of the mobile application designed to manage the calibration process. Figure 7. Peripherals' program logic. Figure 8. Central receiver's program logic. Figure 9. Data interpretation logic. ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 7 2.8. Experimental procedure The experiments were conducted separately for each of the representation applications. Therefore, the procedures and the necessary considerations regarding each test are explained in this section. 2.8.1. Experiment 1 – Functionality test The aim of this experiment is the 3D representation of human physical activities using MATLAB and Unity game engine. Before proceeding to the tests, the experimental modules followed by a brief description are provided below. • Upper body experiment: These experiments are aimed to capture the upper body activities by tracking sensor numbers #1 to #8. • Lower body experiment: These experiments are aimed to capture lower body activities by tracking sensor numbers #9 to #15. • Full body experiment: These experiments perform the full-body motion capturing process by employing all the 15 sensors. Figure 10 to Figure 13 illustrate the functionality of the representation procedure using MATLAB and Unity game engine where, in each figure, the test subject's posture is placed next to test results for an immediate comparison, while, for a better vision of the Reader, the position of the sensors on the body are marked with red circles on the picture, according to Table 1. 2.8.2. Experiment 2 - Metrological characterisation This experiment aims to evaluate the Type A standard uncertainty. This preliminary evaluation has been done to estimate the standard uncertainty of a single sensor (Sensor #2 corresponding to the chest of the test subject) throughout the measurement process. The experiment was performed by connecting a single sensor tag to the central receiver via BLE and connecting the central receiver to a personal computer using serial communication. The sensor tag was located on a fixed position (on a piece of sponge to damp environmental vibrations). Then, the sensor tag was turned on and the offset compensation phase started, which took approximately 10 seconds. The experiment was done for about 9 minutes, at room temperature (23 °C) while errors due to the PCB mounting and Cross-Axis sensitivity effects were neglected [11]. Moreover, the NI LabView application was used to record the incoming data in a text-plain file. Finally, the text-plain file was converted into an Excel worksheet to perform the statistical analysis. 5000 samples were considered for the analysis (500 seconds of data acquisition). Then the first 2000 samples were discarded to take into account the offset compensation phase and the warm-up time of the measuring units. Hence, the samples between 2001 to 5000 were used for this analysis. Let us consider the measurements of the gyroscope along each of the 3D axis as a variable that varies randomly. Hence, the measurement uncertainty of the instrument along each axis based on the experimental results could be calculated according to the Joint Committee of Guides in Measurements (JCGM) - Guide to the expression of uncertainty in measurements (GUM) [18]. The results of the calculations are provided in Table 5, and measurements obtained with sensors in static position are illustrated in Figure 14. 2.8.3. Experiment 3 – Correction method evaluation The purpose of this experiment was to highlight the impact of the calibration algorithm for reducing the drifts in the gyroscope measurements. To induce the drifts in the measuring unit, we placed a sensor on a ruler with a defined position on a table and reported the measured value for each of the 3D axis. Then by grabbing the ruler with the right hand, we performed 15 forward rotations and 15 lateral movements of the right arm in 1 minute. Next, the ruler was placed at the same defined position and the mismatch between the initial value was reported. The above steps were repeated for 5 times, therefore, 15 groups of Figure 10. MATLAB upper body experiment with T-pose posture. Figure 11. MATLAB lower body experiment with an arbitrary posture. Figure 12. MATLAB full body experiment with T-pose posture. Figure 13.Unity lower body (left figure) and full body (right figure) experiment with an arbitrary posture. Table 5. Type A evaluation of the standard uncertainty. Parameters φº θº ψº Induced rotation 0 0 0 Experimental SD of observations 0.015 0.022 0.0071 ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 8 observations along each axis were obtained. Finally, to emphasize the impact of the calibration method, we performed this experiment with and without the calibration algorithm being executed. The impact of the gyroscope calibration algorithm is highlighted in Figure 14. As it is demonstrated, observations without using the correction algorithm are prone to drifts over time during repetitive movements. On the other hand, the gyroscope measurement drifts are bounded to ±1.5 ° when executing the calibration algorithm. 3. DISCUSSION Considering the limitations of machine vision technologies in motion capture solutions, in this paper, we presented a low-cost, non-optical, cable-free, real-time and full-body wearable motion capture solution using 15 distributed MEMS based IMU. By using the Bluetooth™ Low Energy wireless communication protocol, we established a low-power consuming and low-cost Mo-Cap system that fully satisfies the portability design criteria of wearable devices. Taking into account the broad range of applications for motion capture devices, our solution was specifically designed to be used for medical rehabilitation at home and in non- professional gyms, where the cost of the system plays a very important role. Furthermore, it has been considered that the measurement duration and the angular velocity of the physical movements are low (i.e., physiotherapy and movement analysis in aged people) and that, after each set of exercises, the patient returns to a reference position. In the proposed solution, the angular position is estimated solely based on the measurements of the gyroscope. Since the gyroscopic measurements are prone to angular drifts over time, we proposed a software level calibration method that is able not only to eliminate the gain errors but also to take into account the axes misalignments. The results of our experiments appeared promising by bounding the gyroscope drifts to approximately ±1.5 ° over a measurement period of 5 minutes. Moreover, the experimental results also demonstrated the functionality of the system and a preliminary attempt to metrologically characterise the measurement system was performed. Furthermore, the rotation angles can be further analysed using data processing methods for human activity recognition (HAR). This application is widely used for medical diagnostic procedures such as gait analysis and core stability assessment. It is therefore possible to implement HAR by using suitable classification methods such as deep neural networks. Table 6 shows a comparison between the proposed system and other available commercial systems. The table clearly shows that the performances and characteristics of our system are comparable with the ones of other commercial systems, at least in short periods of time. However, the great advantage of the proposed system is represented by the cost which, as discussed in the Introduction and shown in Table 4, is one or even two orders of magnitude smaller. This represents a very great advantage of the proposed system, which, for the desired applications of few minutes, provides similar performances to the commercial systems, but at very low-cost. REFERENCES [1] L. N. N. Nguyen, D. Rodríguez-Martín, A. Català, C. Pérez-López, A. Samà, A. Cavallaro, Basketball Activity Recognition using Wearable Inertial Measurement Units, Proceedings of the XVI International Conference on Human Computer Interaction. Association for Computing Machinery: Vilanova i la Geltru, Spain, 2015, pp. 1-6. DOI: 10.1145/2829875.2829930 [2] F. Casamassima, A. Ferrari, B. Milosevic, P. Ginis, E. Farella, L. Rocchi, A wearable system for gait training in subjects with Parkinson's disease. Sensors (Basel), 2014, 14(4), pp. 6229-6246. DOI: 10.3390/s140406229 Figure 14. Measurements obtained with sensors in static position (left figure) and evaluation of the improvements obtained with the proposed calibration algorithm (right figure). Table 6. Comparison between the proposed system and other available commercial systems. Product Proposed system MTW Awinda [7] MOVIT G1 [8] Ultium Motion [9] Connection Wireless Wireless Wireless Wireless Range (m) 20 20 30 40 Number of sensors 15 20 16 16 Battery life (h) 10 6 6 10 Orientation accuracy (°) 1.5 (max 5 min) 1 1 1 Sensor weight (g) 10 16 25 19 Size (mm2) 30 × 30 47 × 30 48 × 39 44 × 33 Angular range (deg/s) 2000 2000 2000 7000 Quaternion rate (Hz) 10 60 100 100 https://doi.org/10.1145/2829875.2829930 https://doi.org/10.3390/s140406229 ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 9 [3] R. A. W. Felius, M. Geerars, S. M. Bruijn, J. H. van Dieën, N. C. Wouda, M. Punt, Reliability of IMU-Based Gait Assessment in Clinical Stroke Rehabilitation. Sensors (Basel), 2022, 22(3), pp. 1- 19. DOI: 10.3390/s22030908 [4] D. Kelly, G. F. Coughlan, B. S. Green, B. Caulfield, Automatic detection of collisions in elite level rugby union using a wearable sensing device. Sports Engineering, 2012. 15(2), p. 81-92. DOI: 10.1007/s12283-012-0088-5 [5] Y. Z. Cheong, W. J. Chew, The Application of Image Processing to Solve Occlusion Issue in Object Tracking. Proceedings of MATEC Web of Conference., 2018, pp. 1-10. DOI: 10.1051/matecconf/201815203001 [6] G. D. Finlayson, Colour and illumination in computer vision. Interface Focus, 2018. DOI: 10.1098/rsfs.2018.0008 [7] Xsens. MTW AWINDA. Online [Accessed 27 September 2022] https://www.xsens.com/products/mtw-awinda [8] Captiks. Movit System G1-3D. Online [Accessed 27 September 2022] http://www.captiks.com/products/movit-system-g1-3d [9] USA, N. Ultium Motion. 2021. Online [Accessed 27 September 2022] https://www.noraxon.com/our-products/ultium-motion/ [10] J. Marin, T. Blanco, J.J. Marin, Octopus: A Design Methodology for Motion Capture Wearables. Sensors, 2017. 17(8), pp. 1-24. DOI: 10.3390/s17081875 [11] InvenSense. MPU-6000 and MPU-6050 Product Specification. 2013. Online [Accessed 27 September 2022] https://invensense.tdk.com/wp- content/uploads/2015/02/MPU-6000-Datasheet1.pdf [12] Semiconductor., N. nRF51802 Multiprotocol Bluetooth low energy/2.4 GHz RF System on Chip Product Specification. 2016. Online [Accessed 27 September 2022] https://infocenter.nordicsemi.com/pdf/nRF51802_PS_v1.2.pdf [13] Corp, N.T.P.A. TP4056 1A Standalone Linear Li-lon Battery Charger with Thermal Regulation in SOP-8. Online [Accessed 27 September 2022] https://www.mikrocontroller.net/attachment/273612/TP4056.p df [14] Inc, N.C.E. CE6208 SERIES Ultra-Fast High PSRR 1A CMOS Voltage Regulator Online [Accessed 27 September 2022] https://datasheetspdf.com/datasheet/CE6208.html [15] Semiconductor, N. nRF52840 Development kit PCA10056 user guide. 2019; Online [Accessed 27 September 2022] https://infocenter.nordicsemi.com/pdf/nRF52840_DK_User_ Guide_v1.3.pdf [16] J. Diebel, Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors. Matrix, 2006, pp.1-35. [17] H. Parwana., M. Kothari, Quaternions and Attitude Representation. arXiv, Department of Aerospace Engineering, Indian Institute of Technology Kanpur, India, 2017, pp. 1-19. DOI: 10.48550/arXiv.1708.08680 [18] JCGM. GUM: Guide to the Expression of Uncertainty in Measurement. 2008. Online [Accessed 27 September 2022] https://www.bipm.org/documents/20126/2071204/JCGM_100 _2008_E.pdf https://doi.org/10.3390/s22030908 https://doi.org/10.1007/s12283-012-0088-5 https://doi.org/10.1051/matecconf/201815203001 https://doi.org/10.1098/rsfs.2018.0008 https://www.xsens.com/products/mtw-awinda http://www.captiks.com/products/movit-system-g1-3d https://www.noraxon.com/our-products/ultium-motion/ https://doi.org/10.3390/s17081875 https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf https://infocenter.nordicsemi.com/pdf/nRF51802_PS_v1.2.pdf https://www.mikrocontroller.net/attachment/273612/TP4056.pdf https://www.mikrocontroller.net/attachment/273612/TP4056.pdf https://datasheetspdf.com/datasheet/CE6208.html https://infocenter.nordicsemi.com/pdf/nRF52840_DK_User_Guide_v1.3.pdf https://infocenter.nordicsemi.com/pdf/nRF52840_DK_User_Guide_v1.3.pdf https://doi.org/10.48550/arXiv.1708.08680 https://www.bipm.org/documents/20126/2071204/JCGM_100_2008_E.pdf https://www.bipm.org/documents/20126/2071204/JCGM_100_2008_E.pdf