# A Novel Sensorised Insole for Sensing Feet Pressure Distributions

^{1}

Dynamic Interaction Control at Istituto Italiano di Tecnologia, Center for Robotics and Intelligent Systems, Via San Quirico 19D, Genoa, Italy

^{2}

iCub Tech at Istituto Italiano di Tecnologia, Via San Quirico 19D, Genoa, Italy

^{3}

Machine Learning and Optimisation, The University of Manchester, Manchester M13 9PL, UK

^{*}

Author to whom correspondence should be addressed.

Received: 31 December 2019 / Revised: 18 January 2020 / Accepted: 27 January 2020 / Published: 29 January 2020

(This article belongs to the Special Issue Sensors for Biomechanics Application)

Wearable sensors are gaining in popularity because they enable outdoor experimental monitoring. This paper presents a cost-effective sensorised insole based on a mesh of tactile capacitive sensors. Each sensor’s spatial resolution is about 4 taxels/cm ${}^{2}$ in order to have an accurate reconstruction of the contact pressure distribution. As a consequence, the insole provides information such as contact forces, moments, and centre of pressure. To retrieve this information, a calibration technique that fuses measurements from a vacuum chamber and shoes equipped with force/torque sensors is proposed. The validation analysis shows that the best performance achieved a root mean square error (RMSE) of about $7\mathrm{N}$ for the contact forces and $2\mathrm{N}\mathrm{m}$ for the contact moments when using the force/torque shoe data as ground truth. Thus, the insole may be an alternative to force/torque sensors for certain applications, with a considerably more cost-effective and less invasive hardware.

## 1. Introduction

The sense of touch is pivotal in many fields of engineering, such as robotics and wearable technologies [1]. Tactile sensing allows one to characterise physical contacts in terms of contact forces and moments between bodies. In human-centred technologies, instead, tactile sensors are embedded into wearable devices to provide feedback information on human movements. This paper contributes towards human-centred wearable technologies by proposing a novel capacity-based sensorised insole that can measure foot pressure distributions.

A popular application of human-centred wearable devices concerns gait analysis, that is, the systematic study of human walking. This is used in the medical field for the assessment of gait pathologies and for rehabilitation [2,3,4,5]. Gait analysis is also used for sport purposes, that is, to help athletes improve performances while minimising the risk of injuries at the joint level [6,7,8]. Different solutions for gait event detection and plantar pressure monitoring have been proposed, including force platforms, pedobarographs, force treadmills and sensorised shoes [9,10,11,12]. Force platforms, pedobarographs and force treadmills are very reliable and accurate devices, but they are affected by limitations such as high encumbrance, weight, cost and lack of portability, which restrict their application to laboratories. Indeed, in some applications a high portability of the device is required and sensorised shoes are a good solution for satisfying this requirement.

Recently, sensorised shoes have been gaining in popularity because they enable outdoor experimental monitoring. These devices can be equipped with accelerometers, gyroscopes, force/torque (FT) sensors and bend sensors. Thus, sensorised shoes can measure ground reaction forces and estimate the centre of pressure (CoP) with good accuracy. Even if such technologies are less expensive than force treadmills or force platforms, the cost is still relatively high. Furthermore, the sensors used for sensorising the shoes are heavy and rigid and do not allow subjects to walk comfortably [13,14,15,16]. In addition, devices such as FT sensors, accelerometers, gyroscopes, do not provide the possibility of having a distributed measurement of the pressure across the foot plant. In view of this requirement, sensorised insoles represent a good trade-off between cost and performance, although they often provide less-accurate measurements than FT sensorised shoes and typically cannot measure the horizontal ground reaction forces. However, sensorised insoles integrate an array of tactile sensors, providing a measurement of the foot’s pressure distribution. These sensors can be resistive, capacitive or piezoelectric transducers and cover at least the lateral and medial heel, metatarsal heads and the toe footprint locations. The sensors’ spatial distribution allows the estimation of the pressure distribution on each foot.

In recent years, several prototypes of insoles based on different sensing technologies have been developed [7,17,18], but several weaknesses limit their use. $\left(i\right)$ Some of the proposed solutions have a very low sensor spatial resolution (they use up to 10 sensors) [19,20]. Consequently, one often obtains poor information about pressure distribution, contact forces and moments. Other prototypes increase the sensor spatial resolution and even the sensors’ area, but despite that, they do not cover the entire surface of the insole [21,22]. $\left(ii\right)$ Some technologies are affected by drift caused by temperature changes, hardware deformation after prolonged pressure or hysteresis phenomena [17,19]. $\left(iii\right)$ The sensor calibration of some prototypes needs to be repeated over time, and each calibration instance is time consuming [18,19]. In some cases the calibration procedure is not systematic or quantitative analyses of the calibration accuracy are not performed [21]. In addition, some of the existing solutions use a unique calibration curve for all sensors [20], which can seldom represent the different behaviours of each sensor.

In this paper, we present a new sensorised insole prototype based on capacitive sensors that were initially conceived for the skin of the iCub humanoid robot [23]. More precisely, our main contribution is twofold. First, we present a cost-effective insole prototype that has a wide sensorised area. Second, we conceive and test a novel estimation procedure for the proposed prototype. The presented insole prototype uses capacitive transducers (i.e., taxels), grouped into modular sensors, and micro-controller tactile boards (MTBs) that drive the data acquisition [24]. The used dielectric layer is a substrate of 3D fabric using techniques adopted in the clothing industry, further reducing the cost of the sensor [25]. The amount of individual taxels in our prototype far exceeds commercial insoles [22,26,27], providing the higher spatial resolution of 4 taxels/cm${}^{2}$. The relationship between capacitance and estimated pressure, forces and moments is obtained through a customised calibration procedure. The calibration provides a time-effective way to obtain specific calibration models for each individual taxel. Starting from a calibration technique proposed for the same skin sensor technology in previous work [28,29], we propose an improvement to overcome the load and the hardware shape limitations of our previous approaches. The new proposed method is fast and systematic, thus allowing one to find the specific calibration curve of each sensor simultaneously. Furthermore, the method calibrates the sensorised insole under pressures well beyond 1 Atm as required for usage with human subjects. Thanks to the calibration, the insole is capable of providing CoP measurements, pressure distribution over the whole foot, vertical ground reaction forces as well as the moments about horizontal axes with an accuracy comparable to commercial FT sensors. In the best case, the performances achieved by our insole, expressed in root mean square error (RMSE), were around $7\mathrm{N}$ for the contact forces and $2\mathrm{N}\mathrm{m}$ for the contact moments when using force/torque sensors as ground truth. Instead, in most dynamic cases, higher RMSE could be measured, up to $96\mathrm{N}$ for the forces and $12\mathrm{N}\mathrm{m}$ for the moments.

The paper is organised as follows: Section 2 describes the technology used for building the sensorised skin of the iCub humanoid robot, the mathematical model of taxels and the methods already developed for calibrating capacitive sensors. Section 3 focuses on the insole prototype description and the calibration procedure. Section 4 presents data extracted for the calibration experiments and describes validation experiments and results. This section also describes the tool developed for real-time visualisation of the quantities estimated by the insole. Section 5 contains a summary of the paper and the main advantages of using our insole. It also suggests some future perspectives from the point of view of the hardware, the mathematical model and the calibration technique.

## 2. Background

#### 2.1. Mathematical Notation

- Let $\mathbb{R}$ be the set of real numbers.
- Let $\mathit{x}\in {\mathbb{R}}^{n}$ denote an n-dimensional column vector, while x denotes a scalar quantity.
- Let $\left|\right|\mathit{x}\left|\right|$ be the Euclidean norm of the vector $\mathit{x}$.
- Let ${\mathbf{0}}_{m\times n}$ be the zero matrix $\in {\mathbb{R}}^{m\times n}$.
- Let ${\mathit{I}}_{n}$ be the identity matrix $\in {\mathbb{R}}^{n\times n}$.
- Let ${f}_{z}$, ${m}_{x}$ and ${m}_{y}$ denote the vertical ground reaction force and the moments about the horizontal axes, respectively.
- Let ${x}_{i}\in \mathbb{R}$ denote a variable referred to the i-th sensor.

#### 2.2. Tactile Sensors

The insole proposed in this paper is based on the same technology used for the skin of the iCub humanoid robot [24]. The iCub skin (Figure 1a) is an array of triangular modules of flexible printed circuit boards (PCBs), each containing 12 capacitive sensors with a circular shape (named taxels, Figure 1b): 10 measuring the change in capacitance induced by pressure and 2 embedded in the PCB used for the temperature compensation. Each triangle has an area of 3.24 cm${}^{2}$ and has a unique 2-bit address. The PCB provides a spatial resolution of approximately 4 taxels/cm${}^{2}$ (the area of each taxel is approximately 19 mm${}^{2}$). The triangles also host an integrated capacitance to digital converter (CDC) that encodes measurements of each taxel into 16-bit words with a 0.12 fF resolution. A patch of PCB is composed of many interconnected triangles where each connection includes a dedicated Inter-Integrated Circuit (I2C) bus with four synchronised serial data lines and a shared serial clock. This allows up to 16 triangles to be connected to the same MTB. The MTB is a micro-controller-based board that interfaces the I2C bus and the CAN bus (Figure 1d). The micro-controller recognises the devices connected to the I2C bus (i.e., the CDCs), reads measurements sent by the CDC of each triangle on the bus and performs an on-board temperature and an offset compensation. Then, the MTB cuts the 16-bit words into 8-bit words suitable for communication through CAN bus. The measurements are sent to a host through the CAN bus at a rate of 50 Hz. A deformable dielectric layer, coupled with a ground plane, is placed on top of the sensors (Figure 1c). The dielectric layer consists of a nylon mesh with good mechanical properties in terms of hysteresis and deformation response. The mesh is provided by commercial suppliers and is cost-effective. When it is pressed, the distance between sensors and the surface of the dielectric decreases, causing a change in capacitance. That is, the higher the pressure on the dielectric, the higher the capacitance variation, as shown in Figure 2. The user can set a bit-shift parameter that selects which 8 bits are considered of the 16. The settable value is in the range from 0 (the MTB selects the least significant byte) to 7 (the MTB selects the most significant byte). With a higher bit-shift value, the 8-bit word maps a larger range of analog capacitance values but reduces the sensibility to very small variations. The choice of this value depends on the specific application and on the specific stiffness of the used dielectric material.

#### 2.3. A Mathematical Model for Taxels

The behaviour of each taxel can be approximated as a parallel plate capacitor described by [30]
where ${C}_{a}$ is the analog capacitance, ${\u03f5}_{0}$ is the vacuum permittivity, ${\u03f5}_{r}$ is the relative permittivity of the dielectric that covers the PCB, A is the area of the taxels (equal for each taxel) and d is the distance between the ground place and the taxels (Figure 2).

$${C}_{a}=\frac{{\u03f5}_{r}{\u03f5}_{0}A}{d}.$$

The mechanical behaviour of the skin can be approximated as a set of parallel springs connecting the ground plane and the sensors plane. The behaviour can be described with Hooke’s law [31] as:
where k is the stiffness of the skin and ${d}_{0}$ is the distance between the skin and the taxel, at rest conditions. The stiffness is approximated to a constant, thus, the model (2) is linear. The insole has a smooth, approximately flat shape. We assume the ground contact surface to be smooth as well, such that the insole deformation is locally flat around each taxel. Consequently, we consider only the force perpendicular to the sensors.

$$F=-k(d-{d}_{0}),$$

The force can also be expressed in terms of differential pressure relative to the atmospheric pressure, such that when no external force is applied to the skin (lifted foot) the differential pressure is zero. By assuming a uniform pressure P over the taxel area A, the resulting force F is given by:

$$F=AP.$$

By substituting (2) and (3) in (1), the capacitance measured by each taxel is given by:

$${C}_{a}=\frac{{\u03f5}_{r}{\u03f5}_{0}A}{-\frac{PA}{k}+{d}_{0}}.$$

By substituting (1) and (2) in (3) and solving for P, we write the pressure estimated for each taxel as:

$$P=\frac{F}{A}=-\frac{k\left(d-{d}_{0}\right)}{A}=-k{\u03f5}_{r}{\u03f5}_{0}\left(\frac{1}{{C}_{a}}-\frac{1}{{C}_{a,0}}\right).$$

In (5), the pressure is linear with respect to ${C}_{a}^{-1}$ but the CDC circuits measure the analog capacitance ${C}_{a}$, convert and stream the capacitance as a raw value that we designate as digital capacitance. The relationship between ${C}_{a}$ and ${C}_{d}$ is expressed by a linear function:

$${C}_{d}=\frac{{C}_{d,0}}{{C}_{a,0}-{C}_{a,max}}({C}_{a}-{C}_{a,max}).$$

By considering the variation of both capacitances ${C}_{a}$ and ${C}_{d}$, the linear relationship is still valid, as follows:
where

$$\Delta {C}_{d}=\frac{\Delta {C}_{d,max}}{\Delta {C}_{a,max}}\Delta {C}_{a},$$

$$\begin{array}{ccc}\hfill \Delta {C}_{d}& =& {C}_{d,0}-{C}_{d},\hfill \end{array}$$

$$\begin{array}{ccc}\hfill \Delta {C}_{a}& =& {\displaystyle {C}_{a}-{C}_{a,0}={C}_{a}-\frac{{\u03f5}_{r}{\u03f5}_{0}A}{{d}_{0}}.}\hfill \end{array}$$

The variables $\Delta {C}_{d,max}$ and $\Delta {C}_{a,max}$ are the maximum variation of the digital and analog capacitance, respectively. The substitution of (4), (8a) and (8b) in (7) yields the pressure exerted on each taxel as:

$$P=\frac{{d}_{0}k}{A}-\frac{{\u03f5}_{r}{\u03f5}_{0}k}{{\displaystyle \frac{\Delta {C}_{a,max}}{\Delta {C}_{d,max}}({C}_{d,0}-{C}_{d})+\frac{A{\u03f5}_{r}{\u03f5}_{0}}{{d}_{0}}}}.$$

Nevertheless, the model in (9) can be applied only in ideal conditions. The variables ${d}_{0}$, k and ${\u03f5}_{r}$ are typically obtained via a calibration procedure which is affected by several limitations:

- -
- ${\u03f5}_{r}$ changes with the pressure because the quantity of air contained between the ground plane and the sensors decreases to zero (we can consider that beyond this point we are saturating the sensors);
- -
- k changes with the pressure and with time;
- -
- ${d}_{0}$ is not constant due to the hysteresis in the dielectric mechanical elasticity.

To overcome some of these drawbacks, a polynomial model can be used to describe the relationship between capacitance and pressure, thus overcoming some of the limitations of the model (9). Hysteresis phenomena, however, will not be taken into account.

#### 2.4. Recall on Skin Calibration

The objective of this section is to present two different methods used in previous work for calibrating the iCub skin [24]. Both methods choose a fifth-order polynomial model and use setups based on a similar approach. They exploit an air pump and flexible material to uniformly distribute pressure on the surface of the skin.

- The first setup (Figure 3a) consists of inserting the skin inside a Ziploc bag and pumping out air. This decreases the pressure in the bag and creates a uniform pressure distribution over the skin surface. The flow rate is regulated by using valves to ensure a slow and steady pace in order to avoid the dynamic effects of the dielectric material. The pressure reached on the skin is measured with a pressure sensor that sends data to a computer through a CAN network [28].
- The second setup uses an isolation chamber (Figure 3b). Contrary to the vacuum bag experiment explained above, the pressure is now increased in the external environment relative to the skin. The setup consists of an air compressor, the mentioned chamber, a pressure regulator and a micro-controller for pushing air and increasing the pressure inside the chamber [29].

In both cases, the capacitances measured by each taxel are related to the applied pressure by using a least-square fitting to find the polynomial coefficients.

In this paper, we use the first setup to take measurements then fused with data coming from sensorised shoes (Section 2.3).

## 3. Contribution

This section describes our insole prototype by detailing the changes to the capacity-based technology recalled in Section 2.2. It also presents a new setup for the insole calibration as well as the mathematical theory developed for the parameter identification for the taxels’ polynomial model.

#### 3.1. Insole Prototype

The insole prototype is based on the tactile capacitive technology presented in Section 2.2 (Figure 4a). The insole is mainly composed of four elements: a support, the electronics, a skin dielectric and the MTBs. The support is an element not present in the iCub skin, as the electronics are directly glued on the iCub cover. In our case, the electronic components are not directly glued on the internal base of the shoe, but on a dedicated support. This choice comes from the fact that the insole is continuously subjected to stress due to foot steps and high pressures, but at the same time the electronic components are very fragile and need to be protected. The support is a 3-mm-thick 3D-printed piece of plastic (Figure 4c) with gaps to accommodate the CDC (Figure 4b). The electronics of each insole are composed of 28 triangles, divided into three patches highlighted in Figure 4b: front in green, middle in red and rear in blue. Each patch is connected to a different MTB. The MTBs are connected in series and they send information to a host computer connected to the insoles through a CAN bus interface. A total of 280 capacitive pressure sensors and 56 capacitive temperature sensors are available on each insole. The electronics are covered by the same cost-effective dielectric material used for the iCub skin, but made thicker to sustain the human weight range. The dielectric layer is covered by conductive lycra and is glued to the PCB (Figure 4a). The total weight of each insole is about $100\mathrm{g}$. The cost of a pair of insoles is not higher than 500 euros.

#### 3.2. New Calibration Method

As done in previous work [32], we are interested in estimating the pressure distribution, contact forces and moments using only our insole prototype. The relationship between these quantities and the digital capacitance is obtained through calibration. Nevertheless, the calibration methods described in Section 2.4 cannot be used for the calibration of our insole prototype owing to the following drawbacks:

- The vacuum bag method can reach a maximum pressure of 1 Atm, which is not high enough for our application. We need higher pressures during the calibration in order to take data that is consistent with real working conditions. For instance, if we consider a person weighing $80\mathrm{k}\mathrm{g}\mathrm{s}$ standing still on a single foot heel, a vertical force ${f}_{z}$ of about 800 N is applied on a small area of the insole. This force is spread over 4~5 triangles. The area of each triangle is about $A=3.24\times {10}^{-4}$ m${}^{2}$. Thus, recalling (3) and considering four triangles, the pressure on each sensor will be:$$P=\frac{{f}_{z}}{A\ast {n}_{triangles}}\approx 6\mathrm{Atm}.$$
- The calibration setup based on the isolating vessel is not big enough to hold the proposed insole and can only reach a maximum pressure of 3 Atm.

Because of these drawbacks, we propose a new calibration setup and method. We combine data of two different setups for the insole calibration. The first setup is the vacuum bag. Although it does not allow pressures higher than 1 Atm to be reached, it allows to: $\left(i\right)$ have a uniform pressure distribution over the insole; $\left(ii\right)$ control the flow rate for increasing the pressure; $\left(iii\right)$ measure the applied pressure as described in Section 2.4. These characteristics are important for avoiding the dynamic effects of the dielectric and thus characterising only the static behaviour of the skin. The second setup is meant to overcome the limits of the vacuum bag method. The idea is to compare reliable and accurate force/moment measurements from third-party sensors with the respective quantities estimated through the insoles. Among those sensors there are sensorised treadmills, force plates and force/torque sensors. By placing the insole on one of the mentioned sensors, they can be used simultaneously and data from the insole and from force/moments sensors can be acquired in a synchronised way. This kind of setup allows higher pressures to be reached (depending on the weight of the person) and allows the taxels to be excited with different pressure distributions. The quantities that will be compared are: pressure, vertical ground reaction force and moments about horizontal axes.

#### 3.3. Model Parameters Identification from the New Calibration Method

The theoretical model of taxels described in Section 2.3 considers ideal behaviours and precise knowledge of quantities like the skin stiffness k and the dielectric constant ${\u03f5}_{r}$. In practice, these values are difficult to estimate. We resort to a polynomial function for describing taxels’ calibration curves for two reasons:

- -
- The quantities ${d}_{0}$ and ${\u03f5}_{r}$ to estimate in the model (9) are not linear with respect to the pressure and to find them we need to solve a non-linear optimisation problem;
- -
- Hypotheses for deriving the theoretical model are based on ideal behaviours, but the physical insole does not always respect the ideally hypotised case. Thus, a more general model helps to consider factors that we did not take into account in (9).

We use a third-degree polynomial, where the degree was chosen on the basis of the sensors’ answer. We checked the shape of the taxel calibration curves relating the pressure $P\left({C}_{i}\right)$ and digital capacitances ${C}_{i}$ acquired by increasing the pressure with the vacuum bag setup. Indeed, the calibration curves often have two inflexions due to a nonlinearity at low differential pressure and near saturation of the sensor, and the two inflexions are typical of a cubic function. Thus, the model for the i-th taxel is defined as:

$$P\left({C}_{i}\right)={a}_{0,i}+{a}_{1,i}{C}_{i}+{a}_{2,i}{C}_{i}^{2}+{a}_{3,i}{C}_{i}^{3}.$$

The model may be different for each taxel, and the individual coefficients are estimated through the calibration procedure. It is possible to write each taxel model in a compact form:
where ${\gamma}_{i}={\left[\begin{array}{cccc}1& {C}_{i}& {C}_{i}^{2}& {C}_{i}^{3}\end{array}\right]}^{T}$ contains the powers of the capacitance ${C}_{i}$ for the sensor i, and ${\mathit{k}}_{i}={\left[\begin{array}{cccc}{a}_{0,i}& {a}_{1,i}& {a}_{2,i}& {a}_{3,i}\end{array}\right]}^{T}$ contains the respective polynomial coefficients to estimate.

$$P\left({C}_{i}\right)={\gamma}_{i}^{T}{\mathit{k}}_{i},$$

The resultant force acting on the insole is computed considering the force on each taxel:
where ${\mathit{f}}^{SK}\in {\mathbb{R}}^{3}$, and for each taxel i, ${A}_{i}$ is the taxel area on the ground and ${P}_{i}$ is the measured pressure. $\widehat{\mathit{n}}$ is the unit vector normal to the ground and pointing upwards, since each taxel measures a force normal to the sensor plate and we consider both the insole and the ground contact to be flat. Another direct consequence is that it is not possible to compute the ground contact horizontal forces. In addition, all the taxels have the same known area denoted by A. For compactness in the formulation, we consider a reference frame W with its origin placed anywhere on the ground plane, the x and y axes parallel to the ground plane, the z axis pointing up. All the dynamic quantities and taxel positions are expressed in that frame. We have $\widehat{\mathit{n}}={\left[\begin{array}{ccc}0& 0& 1\end{array}\right]}^{T}$ such that we can consider just the z component of the normal measured forces:
being ${f}_{z}^{SK}\in \mathbb{R}$. By defining ${\mathit{\phi}}_{f}\in {\mathbb{R}}^{4n\times 1}$ as:
where n is the number of taxels that compose the insole, and $\mathit{k}\in {\mathbb{R}}^{4n\times 1}$ as:
we can write the resultant force as:

$${\mathit{f}}^{SK}=\sum _{i}{P}_{i}{A}_{i}\widehat{\mathit{n}},$$

$${f}_{z}^{SK}=\sum _{i}{P}_{i}{A}_{i}=A\sum _{i}{\gamma}_{i}^{T}{\mathit{k}}_{i},$$

$${\mathit{\phi}}_{f}={\left[\begin{array}{cccc}{\gamma}_{1}^{T}& {\gamma}_{2}^{T}& \cdots & {\gamma}_{n}^{T}\end{array}\right]}^{T},$$

$$\mathit{k}={\left[\begin{array}{cccc}{\mathit{k}}_{1}^{T}& {\mathit{k}}_{2}^{T}& \cdots & {\mathit{k}}_{n}^{T}\end{array}\right]}^{T},$$

$${f}_{z}^{SK}=A{\mathit{\phi}}_{f}^{T}\mathit{k}.$$

Let $\mathit{X}\in {\mathbb{R}}^{4n\times 4n}$ and $\mathit{Y}\in {\mathbb{R}}^{4n\times 4n}$ denote the block diagonal matrices containing respectively the x and y coordinates of each taxel expressed in the reference frame W, in the form:

$$\mathit{X}=\left[\begin{array}{cc}{x}_{1}{I}_{4}& \hspace{1em}\\ \hspace{1em}& \ddots \\ \hspace{1em}& \hspace{1em}& {x}_{n}{I}_{4}\end{array}\right],\hspace{1em}\mathit{Y}=\left[\begin{array}{cc}{y}_{1}{I}_{4}& \hspace{1em}\\ \hspace{1em}& \ddots \\ \hspace{1em}& \hspace{1em}& {y}_{n}{I}_{4}\end{array}\right].$$

We can then write the resultant moments as:

$${m}_{x}^{SK}=A{\mathit{\phi}}_{f}^{T}\mathit{Y}\mathit{k},\hspace{1em}{m}_{y}^{SK}=A{\mathit{\phi}}_{f}^{T}\mathit{X}\mathit{k}.$$

The number of samples acquired is greater than the number of unknown coefficients. Thus, it is possible to define four over-constrained systems in the following form:
where $\mathbf{\Phi}\in {\mathbb{R}}^{m\times 4n}$ is the regressor containing the capacitances’ powers measured by the taxels, $\mathit{k}\in {\mathbb{R}}^{4n}$ are the coefficients to estimate and $\mathit{b}\in {\mathbb{R}}^{m}$, with $m\gg 4n$, containing the known quantities measured by the accurate sensors. In general, a problem in the form $\mathbf{\Phi}\mathit{k}=\mathit{b}$ can be solved through the least-square method. Nevertheless, in our case there are multiple variables to be compared, that is, vertical ground reaction force, moments about horizontal axes and pressure.

$$\mathbf{\Phi}\mathit{k}=\mathit{b},$$

The optimisation problem could be ill-posed for two reasons:

- -
- Variables to compare, force, moments and pressure have different order. Indeed, force can reach a value of about $1000\mathrm{N}$, moments can reach a value of about $100\mathrm{N}\mathrm{m}$ and pressure assumes values between 0 and ${10}^{6}\mathrm{Pa}$.
- -
- The sample numbers of the two data sets (FT shoes data set and vacuum bag data set) is not the same because they come from different experiments.

Thus, we need to normalise the variables of the optimisation problem (forces, moments and pressures) by considering the order of magnitude and the sample numbers of each data set. The normalisation is obtained by adopting the weighted least-square method:
where ${\mathit{f}}_{z}^{FT}\in {\mathbb{R}}^{{l}_{f}}$, ${\mathit{m}}_{x}^{FT}\in {\mathbb{R}}^{{l}_{f}}$, ${\mathit{m}}_{y}^{FT}\in {\mathbb{R}}^{{l}_{f}}$ are measured by the FT sensors, $\mathit{P}\in {\mathbb{R}}^{{l}_{P}}$ is measured by the pressure sensor and they correspond to $\mathit{b}$ in (20). ${l}_{f}$ and ${l}_{P}$ are the respective numbers of samples. Instead, regressors are defined as below:

$$\begin{array}{cc}\hfill {\mathit{k}}^{*}& =\underset{\mathit{k}}{argmin}({w}_{f}\left|\right|{\mathbf{\Phi}}_{f}\mathit{k}-{\mathit{f}}_{z}^{FT}{\left|\right|}^{2}+{w}_{{m}_{x}}\left|\right|{\mathbf{\Phi}}_{{m}_{x}}\mathit{k}-{\mathit{m}}_{x}^{FT}{\left|\right|}^{2}\hfill \\ \hfill \hspace{1em}& +{w}_{{m}_{y}}\left|\right|{\mathbf{\Phi}}_{{m}_{y}}\mathit{k}-{\mathit{m}}_{y}^{FT}{\left|\right|}^{2}+\sum _{i}{w}_{P,i}\left|\right|{\mathbf{\Phi}}_{P,i}\mathit{k}-\mathit{P}{\left|\right|}^{2}),\hfill \end{array}$$

$$\begin{array}{ccc}\hfill {\mathbf{\Phi}}_{f}& =& {\left[\begin{array}{cccc}A{\mathit{\phi}}_{f,1}& A{\mathit{\phi}}_{f,2}& \cdots & A{\mathit{\phi}}_{f,{l}_{f}}\end{array}\right]}^{T}\in {\mathbb{R}}^{{l}_{f}\times 4n},\hfill \end{array}$$

$$\begin{array}{ccc}\hfill {\mathbf{\Phi}}_{{m}_{x}}& =& {\left[\begin{array}{cccc}A{\mathit{\phi}}_{f,1}\mathit{X}& A{\mathit{\phi}}_{f,2}\mathit{X}& \cdots & A{\mathit{\phi}}_{f,{l}_{f}}\mathit{X}\end{array}\right]}^{T}\in {\mathbb{R}}^{{l}_{f}\times 4n},\hfill \end{array}$$

$$\begin{array}{ccc}\hfill {\mathbf{\Phi}}_{{m}_{y}}& =& {\left[\begin{array}{cccc}A{\mathit{\phi}}_{f,1}\mathit{Y}& A{\mathit{\phi}}_{f,2}\mathit{Y}& \cdots & A{\mathit{\phi}}_{f,{l}_{f}}\mathit{Y}\end{array}\right]}^{T}\in {\mathbb{R}}^{{l}_{f}\times 4n},\hfill \end{array}$$

$$\begin{array}{ccc}\hfill {\mathbf{\Phi}}_{P,i}& =& \left[\begin{array}{ccc}{\mathbf{0}}_{{m}_{P},i\times 4(i-1)}& \begin{array}{c}{\gamma}_{i,1}^{T}\\ \vdots \\ {\gamma}_{i,{l}_{P}}^{T}\end{array}& {\mathbf{0}}_{{m}_{P},i\times 4(n-i)}\end{array}\right]\in {\mathbb{R}}^{{l}_{P}\times 4n}.\hfill \end{array}$$

The problem can also be written in a quadratic programming form:
where

$${\mathit{k}}^{*}=\underset{\mathit{k}}{argmin}\left(\frac{1}{2}{\mathit{k}}^{T}\mathit{H}\mathit{k}+{\mathit{k}}^{T}\mathit{g}\right),$$

$$\begin{array}{ccc}\hfill \mathit{H}& =& {w}_{f}{\mathbf{\Phi}}_{f}^{T}{\mathbf{\Phi}}_{f}+{w}_{{m}_{x}}{\mathbf{\Phi}}_{{m}_{x}}^{T}{\mathbf{\Phi}}_{{m}_{x}}+{w}_{{m}_{y}}{\mathbf{\Phi}}_{{m}_{y}}^{T}{\mathbf{\Phi}}_{{m}_{y}}+\sum _{i}{w}_{P,i}{\mathbf{\Phi}}_{P,i}^{T}{\mathbf{\Phi}}_{P,i},\hfill \end{array}$$

$$\begin{array}{ccc}\hfill \mathit{g}& =& -{w}_{f}{\mathbf{\Phi}}_{f}^{T}{\mathit{f}}_{z}^{FT}-{w}_{{m}_{x}}{\mathbf{\Phi}}_{{m}_{x}}^{T}{\mathit{m}}_{x}^{FT}-{w}_{{m}_{y}}{\mathbf{\Phi}}_{{m}_{y}}^{T}{\mathit{m}}_{y}^{FT}-\sum _{i}{w}_{P,i}{\mathbf{\Phi}}_{P,i}^{T}\mathit{P}.\hfill \end{array}$$

The problem could be ill-posed, considering the nature of the problem and the fact that with a sensorised shoes setup we do not have control of the acquired data. To overcome this issue, the problem can be regularised with a Tikhonov regularisation [33] as follows:

$$\begin{array}{cc}\hfill {\mathit{k}}^{*}& =argmin({w}_{f}\left|\right|{\mathbf{\Phi}}_{f}\mathit{k}-{\mathit{f}}_{z}^{FT}{\left|\right|}^{2}+{w}_{{m}_{x}}\left|\right|{\mathbf{\Phi}}_{{m}_{x}}\mathit{k}-{\mathit{m}}_{x}^{FT}{\left|\right|}^{2}\hfill \\ \hfill \hspace{1em}& +{w}_{{m}_{y}}\left|\right|{\mathbf{\Phi}}_{{m}_{y}}\mathit{k}-{\mathit{m}}_{y}^{FT}{\left|\right|}^{2}+\sum _{i=1}^{280}{w}_{{P}_{i}}\left|\right|{\mathbf{\Phi}}_{{P}_{i}}\mathit{k}-\mathit{P}{\left|\right|}^{2}+{\lambda \left|\right|\mathit{k}\left|\right|}^{2}).\hfill \end{array}$$

The above quadratic programming problem is solved using an open-source C++ software package qpOASES [34]. The main advantage of this tool is the possibility of adding constraints to our problem if required.

## 4. Experiments and Validation

#### 4.1. Experiments for Calibration and Validation

The objective of the experiments was $\left(i\right)$ to collect data needed for the calibration of the taxels and $\left(ii\right)$ to validate the effectiveness of the identification algorithm in (25). An experimental session was carried out at the Istituto Italiano di Tecnologia (IIT), Genova, Italy. One volunteer (mass: $63\mathrm{k}\mathrm{g}$) was recruited for the experiments to acquire the calibration dataset and a second volunteer (mass: $54\mathrm{k}\mathrm{g}$) was recruited for validating the estimation algorithm outcome.

For collecting data to use at the calibration phase, two kinds of data sets were taken.

- One data set was collected using the setup described in Section 2.4. The experiments with a vacuum bag (Figure 5a) reached a pressure of 90 kPa and the pressure was uniformly distributed over the insole. The experiment consisted of three cycles of pressure reduction and increase (Figure 6). In Figure 6 we can see that the pressure was negative, which can be explained by the choice of the reference frame W that has the z axis pointing up. Indeed, in order to have compression, the force applied on each taxel has to be negative and as consequence of (3) even the pressure has to be negative. We can even observe that when the pressure increased the measured capacitance decreased. This is because the chips do not stream analog capacitances, as explained in Section 2.3, but the analog capacitances are mapped to a digital value at an 8-bit resolution and the relation (6). The mapping was inverse, that is, values from 255 to 240 indicate that the taxel was not pressed and 0 means that the taxel was measuring the highest analog capacitance that is possible to map with 8 bits.
- Another data set was taken using a pair of sensorised shoes developed at IIT (Figure 5b). Each shoe was equipped with two six-axis FT sensors by the iCub group at Istituto Italiano di Tecnologia (IIT) [35], able to measure the forces and moments. As mentioned in Section 3.2, the data sets had different features in order to excite the activation of the taxels as much as possible in order to obtain different combinations to cover the entire capacitance range of each sensor (Figure 7).

Several tasks were performed with the sensorised shoes, including standing still on both feet (T1), standing still on one foot (T2), performing slow movements on the feet (T3) (used for the calibration) and walking (T4–T6) (used for the validation). The pressure reached with these experiments was higher than the one applied on the insole using the vacuum bag (up to 1 MPa) and was not uniformly distributed (Figure 8). The data sets used for calibration were pre-processed in order to filter the acquisition noise. The filter we used in pre-processing phase was the MATLAB implementation of the Savitzky–Golay filter [36]. The filter parameters were the order and the frame length and we set them to 5 and 41, respectively. Data were processed and analysed with MATLAB

^{®}.The results described in the next paragraph were obtained from the left insole. The data sets for the calibration phase were filtered in order to consider only slowly varying data. The reason for this is that, compared to the insole sensors, the FT sensors and the pressure sensor are more responsive to rapid force/moment/pressure changes, which leads to a mismatch in the compared data and might affect the calibration results.

Let ${n}_{f}$ and ${n}_{P}$ be the number of samples in the data set collected with the sensorised shoe and the number of samples collected with the vacuum, respectively. The weights of the least-square problem were manually tuned and chosen as ${w}_{f}=1/{n}_{f}$, ${w}_{{m}_{x}}=33/{n}_{f}$, ${w}_{{m}_{y}}=10/{n}_{f}$ and ${w}_{{P}_{i}}={10}^{-6}/{n}_{P}$, with $i=1,\dots ,n$, where n is the number of taxels on a single insole. We obtained the best performances with the chosen weights. The regularisation coefficient $\lambda $ was instead set to 10${}^{-9}$. The highest force and moments reached were $|{f}_{z}|=650\mathrm{N}$, $|{m}_{x}|=25\mathrm{N}\mathrm{m}$ and $|{m}_{y}|=90\mathrm{N}\mathrm{m}$.

#### 4.2. Validation

The validation process involved the comparison between the data measured by the FT sensors mounted on the sensorised shoes (in which the insoles were placed) and the data estimated with the calibrated insoles starting from the measured capacitances and using the relations (13) and (19). The validation was performed in MATLAB. The data sets for the validation phase were not filtered to discard capacitances with high variation, as done with the calibration data sets. Table 1 lists the maximum pressures sensed by the taxels in each task. It is worth specifying that the pressure was not uniformly distributed, and thus only some taxels sensed the maximum value. The accuracy of the calibration was evaluated for different tasks through the estimation of the root mean square error (RMSE) resulting from that comparison (Table 1). The RMSE varied from 7 to 95 N for the vertical force ${f}_{z}$, from $0.7$ to $1\mathrm{N}\mathrm{m}$ for the moment about the x axis ${m}_{x}$ and from 2 to $8\mathrm{N}\mathrm{m}$ for the moment about the y axis. The RMSE computed for tasks T1 and T2 was obtained at steady state; indeed, the experiments consisted of staying still on the insoles without changing the foot position. We can see that the RMSE increased for tasks T3 to T6. The obtained results are justified by the introduction of dynamic movements on the insole, where the dynamics was faster for tasks from T4 to T6, which were the tasks that reached the largest error. In addition to the dynamics that involved transition phases, we needed to consider another factor influencing the results. Indeed, the insole was subjected to a different pressure intensity and pressure distribution than the static case. Tasks from T3 to T6 involved a greater vertical force on smaller areas corresponding to the forefoot and the heel. To overcome this problem, one solution could be the introduction of a dynamic sensors model in place of the static one adopted in this study. In conclusion, it is important to highlight that performances related to the steady state and the transition phase were different. For a better interpretation of the results, Table 2 shows the tracking accuracy of the variables ${f}_{z}$, ${m}_{x}$ and ${m}_{y}$ [37]. As already commented, the accuracy was better for the static tasks. In Figure 9, we can see the estimated force and moments for the Task T3 and Task T4 data sets. The graph indicates that the estimated force ${f}_{z}$ and moments ${m}_{x}$, ${m}_{y}$ closely followed the actual force and moments applied on the insole.

Figure 10 shows a delay of the insole estimation with respect to the FT sensor measurements (samples of FT sensor data sets and insole data sets were synchronised over time based on the receiver timestamp). This delay caused a very large error during the transition phase of up to 200 N.

Furthermore, the calibration goodness could be analysed by comparing the CoP estimated by the FT sensors and the insole. The CoP estimated by the insole was computed as:
where ${x}_{i}$ and ${y}_{i}$ represent the x and y components of the i-th taxel in the plane of the insole. Instead, the CoP estimated by the FT sensors was computed as:

$$Co{P}_{x}=\frac{{\displaystyle \sum _{i=1}^{280}P\left({C}_{i}\right){x}_{i}}}{{\displaystyle \sum _{i=1}^{280}P\left({C}_{i}\right)}},\hspace{1em}Co{P}_{y}=\frac{{\displaystyle \sum _{i=1}^{280}P\left({C}_{i}\right){y}_{i}}}{{\displaystyle \sum _{i=1}^{280}P\left({C}_{i}\right)}},$$

$$Co{P}_{x}=-\frac{{m}_{y}}{{f}_{z}},\hspace{1em}Co{P}_{y}=\frac{{m}_{x}}{{f}_{z}}.$$

Figure 11 shows the components x and y of the CoP related to Tasks T3 and T4. It can be observed that the values related to the insole were close to those related to the FT sensors (i.e., the ground truth).

Table 3 shows the RMSE for several tasks. The estimation of the CoP varied between 11 and 38 mm for the x component and between 3 and 7 mm for the y component. Instead, Table 4 contains the tracking accuracy. It shows that, contrary to the force and moments tracking, the accuracy was higher for dynamic tasks.

We developed a MATLAB-based tool for online visualisation of the estimated CoP, capacitances and pressure distribution, and estimated forces and moments as shown in Figure 12. Unfiltered data were streamed through the YARP protocol with a frequency of $50\mathrm{Hz}$ and read in MATLAB by opening a YARP port [38]. Data were received and processed in real-time. The cycle for reading, processing and visualising the results had a frequency of $27\mathrm{Hz}$. This means that we processed one sample for every two sent, where the sample indicates the set of taxel measurements in a given instant.

On the left, the figure shows the comparison between the centre of pressure estimated from the FT sensor data and that estimated by the insole. In the middle, the graph contains the comparison between vertical contact force and horizontal moments estimated through the FT sensors and the insole, respectively. On the right, the capacitance distribution is given by the taxel measurements and the pressure distribution was computed using the coefficients estimated during the calibration phase. For visualisation purposes, the estimated forces and the pressure distribution are positive. The insole is very sensitive and thus the measured capacitance values were not equal to the rest value even when there was no weight on the foot. This is due to the contact between the foot and the insole, which becomes strong when the shoes are strapped. To avoid considering fake pressures, we used a threshold on the measured capacitance values set to 30. Furthermore, the pressure values were interpolated over the entire insole surface in order to obtain a more accurate estimation of the pressure distribution and the CoP. Additionally, the capacitance values were interpolated to visualise the capacitance distribution. A video of the online visualisation tool is provided to show the results of the validation in real time.

## 5. Conclusions

In this paper, we presented a novel insole prototype for the real-time monitoring of plantar pressure distributions. Compared to the existing devices, the measurements are not affected by temperature changes because of an internal compensation. The sensors cover almost the entire surface of the insole, having a high spatial resolution. We defined and identified a model for each single taxel through a proved calibration procedure, which is required for an accurate estimation of the pressure distribution, vertical forces and moments about the horizontal axes. The insole needs to be calibrated only once and provides a calibration model for each individual taxel. The choice of materials allows a cost-effective wearable sensor that is almost comparable in performance with other expensive solutions. We showed that the calibration of the insole gave good results and the estimated variables were quite reliable when compared to those measured and estimated with the FT sensors. We also described an example of a real scenario, demonstrating that it was possible to obtain good results for real-time applications.

Nevertheless, the proposed prototype can still be improved. A wireless module can be used to remove cables. The PCB and the support for the electronics can be more stretchable and soft to provide a more comfortable wearing experience for the user. Additionally, we can improve the calibration with the following additional mathematical considerations:

- A weighted iterative least-square method can be used in order to avoid manually tuning the weights;
- The formulation for describing the relationship between capacitance and pressure for each taxel could also take into account some hysteresis in the stiffness of the skin dielectric and the electric state of the sensor;
- Constraints on the model can be added in the optimisation problem;
- The accuracy and the repeatability of the data collection procedure can be improved.

As future work, we aim to redesign the calibration device mentioned in Section 2.4 in order to reach higher pressures and control the pressure variation applied on the insole. Finally, we wish to keep improving the insole design with the desirable hardware characteristics mentioned above.

## Author Contributions

Resources, M.M., L.F. and S.D.; conceptualisation, I.S., F.J.A.C., S.D, N.G., M.M. and D.P; methodology, I.S., F.J.A.C., S.T. and D.P.; software, I.S. and F.J.A.C.; data curation, I.S., L.R., Y.T. and C.L.; validation, I.S. and F.J.A.C.; visualisation, I.S. and F.J.A.C.; writing—original draft preparation, I.S., F.J.A.C. and C.L.; writing—review and editing I.S., F.J.A.C., N.G., L.R., Y.T., S.T., L.F., C.L. and D.P.; supervision, D.P. and G.M. All authors have read and agreed to the published version of the manuscript.

## Funding

This paper is supported by EU An.Dy Project. This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 731540.

## Conflicts of Interest

The content of this publication is the sole responsibility of the authors. The European Commission or its services cannot be held responsible for any use that may be made of the information it contains.

## References

- Lucarotti, C.; Oddo, C.M.; Vitiello, N.; Carrozza, M.C. Synthetic and bio-artificial tactile sensing: A review. Sensors
**2013**, 13, 1435–1466. [Google Scholar] [CrossRef] [PubMed] - Gao, W.; Emaminejad, S.; Nyein, H.Y.Y.; Challa, S.; Chen, K.; Peck, A.; Fahad, H.M.; Ota, H.; Shiraki, H.; Kiriya, D.; et al. Fully integrated wearable sensor arrays for multiplexed in situ perspiration analysis. Nature
**2016**, 529, 509. [Google Scholar] [CrossRef] - Mukhopadhyay, S.C. Wearable sensors for human activity monitoring: A review. IEEE Sens. J.
**2014**, 15, 1321–1330. [Google Scholar] [CrossRef] - Hessert, M.J.; Vyas, M.; Leach, J.; Hu, K.; Lipsitz, L.A.; Novak, V. Foot pressure distribution during walking in young and old adults. BMC Geriatr.
**2005**, 5, 8. [Google Scholar] [CrossRef] [PubMed] - Sparrow, W.; Tirosh, O. Gait termination: a review of experimental methods and the effects of ageing and gait pathologies. Gait Posture
**2005**, 22, 362–371. [Google Scholar] [CrossRef] [PubMed] - Queen, R.M.; Haynes, B.B.; Hardaker, W.M.; Garrett, W.E., Jr. Forefoot loading during 3 athletic tasks. Am. J. Sport. Med.
**2007**, 35, 630–636. [Google Scholar] [CrossRef] [PubMed] - Razak, A.; Hadi, A.; Zayegh, A.; Begg, R.K.; Wahab, Y. Foot plantar pressure measurement system: A review. Sensors
**2012**, 12, 9884–9912. [Google Scholar] [CrossRef] - Orlin, M.N.; McPoil, T.G. Plantar pressure assessment. Phy. Ther.
**2000**, 80, 399–409. [Google Scholar] [CrossRef] - Adkin, A.L.; Frank, J.S.; Carpenter, M.G.; Peysar, G.W. Postural control is scaled to level of postural threat. Gait Posture
**2000**, 12, 87–93. [Google Scholar] [CrossRef] - Cross, R. Standing, walking, running, and jumping on a force plate. Am. J. Phy.
**1999**, 67, 304–309. [Google Scholar] [CrossRef] - Linthorne, N.P. Analysis of standing vertical jumps using a force platform. Am. J. Phy.
**2001**, 69, 1198–1204. [Google Scholar] [CrossRef] - Kram, R.; Griffin, T.M.; Donelan, J.M.; Chang, Y.H. Force treadmill for measuring vertical and horizontal ground reaction forces. J. Appl. Physiol.
**1998**, 85, 764–769. [Google Scholar] [CrossRef] [PubMed] - Bamberg, S.J.M.; Benbasat, A.Y.; Scarborough, D.M.; Krebs, D.E.; Paradiso, J.A. Gait analysis using a shoe-integrated wireless sensor system. IEEE Trans. Inf. Technol. Biomed.
**2008**, 12, 413–423. [Google Scholar] [CrossRef] [PubMed] - Chen, M.; Huang, B.; Xu, Y. Intelligent shoes for abnormal gait detection. In Proceedings of the 2008 IEEE International Conference on Robotics and Automation, Pasadena, CA, USA, 19–23 May 2008; pp. 2019–2024. [Google Scholar]
- Schepers, H.M.; Koopman, H.F.; Veltink, P.H. Ambulatory assessment of ankle and foot dynamics. IEEE Trans. Biomed. Eng.
**2007**, 54, 895–902. [Google Scholar] [CrossRef] [PubMed] - Schepers, H.M.; Van Asseldonk, E.H.; Baten, C.T.; Veltink, P.H. Ambulatory estimation of foot placement during walking using inertial sensors. J. Biomech.
**2010**, 43, 3138–3143. [Google Scholar] [CrossRef] [PubMed] - Zhu, H.; Maalej, N.; Webster, J.G.; Tompkins, W.J.; Bach-y Rita, P.; Wertsch, J.J. An umbilical data-acquisition system for measuring pressures between the foot and shoe. IEEE Trans. Biomed. Eng.
**1990**, 37, 908–911. [Google Scholar] [CrossRef] - Jagos, H.; Oberzaucher, J.; Reichel, M.; Zagler, W.L.; Hlauschek, W. A multimodal approach for insole motion measurement and analysis. Procedia Eng.
**2010**, 2, 3103–3108. [Google Scholar] [CrossRef] - González, I.; Fontecha, J.; Hervás, R.; Bravo, J. An ambulatory system for gait monitoring based on wireless sensorized insoles. Sensors
**2015**, 15, 16589–16613. [Google Scholar] [CrossRef] - Crea, S.; Donati, M.; De Rossi, S.; Oddo, C.; Vitiello, N. A wireless flexible sensorized insole for gait analysis. Sensors
**2014**, 14, 1073–1093. [Google Scholar] [CrossRef] - Benocci, M.; Rocchi, L.; Farella, E.; Chiari, L.; Benini, L. A wireless system for gait and posture analysis based on pressure insoles and Inertial Measurement Units. In Proceedings of the 2009 3rd International Conference on Pervasive Computing Technologies for Healthcare, London, UK, 1–3 April 2009; pp. 1–6. [Google Scholar]
- Oerbekke, M.S.; Stukstette, M.J.; Schütte, K.; de Bie, R.A.; Pisters, M.F.; Vanwanseele, B. Concurrent validity and reliability of wireless instrumented insoles measuring postural balance and temporal gait parameters. Gait Posture
**2017**, 51, 116–124. [Google Scholar] [CrossRef] - Natale, L.; Bartolozzi, C.; Pucci, D.; Wykowska, A.; Metta, G. icub: The not-yet-finished story of building a robot child. Sci. Rob.
**2017**, 2, eaaq1026. [Google Scholar] [CrossRef] - Cannata, G.; Maggiali, M.; Metta, G.; Sandini, G. An embedded artificial skin for humanoid robots. In Proceedings of the 2008 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, Seoul, Korea, 20–22 August 2008; pp. 434–438. [Google Scholar]
- Maiolino, P.; Maggiali, M.; Cannata, G.; Metta, G.; Natale, L. A Flexible and Robust Large Scale Capacitive Tactile System for Robots. IEEE Sens. J.
**2013**, 13, 3910–3917. [Google Scholar] [CrossRef] - Stöggl, T.; Martiner, A. Validation of Moticon’s OpenGo sensor insoles during gait, jumps, balance and cross-country skiing specific imitation movements. J. Sport. Sci.
**2017**, 35, 196–206. [Google Scholar] [CrossRef] [PubMed] - XSENSOR. XSENSOR Technology Corporation. Available online: https://xsensor.com/applications/foot-gait-pressure-measurement/ (accessed on 23 December 2019).
- Kangro, J.; Traversaro, S.; Pucci, D.; Nori, F. Skin normal force calibration using vacuum bags. In Proceedings of the 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 401–406. [Google Scholar]
- Kangro, J.; Sureshbabu, A.V.; Traversaro, S.; Pucci, D.; Nori, F. A Plenum-Based Calibration Device for Tactile Sensor Arrays. IEEE Rob. Autom. Lett.
**2018**, 3, 3937–3943. [Google Scholar] [CrossRef] - Hayt, W.H.; Buck, J.J.A. Engineering Electromagnetics, 6th ed.; McGraw-Hill: New York, NY, USA, 1981; pp. 150–153. [Google Scholar]
- Beatty, M.F. Principles of Engineering Mechanics: Volume 2 Dynamics—The Analysis of Motion. In Mathematical concepts and methods in science and engineering; Springer Science & Business Media: Berlin, Germany, 2005. [Google Scholar]
- Andrade Chavez, F.; Kangro, J.; Traversaro, S.; Nori, F.; Pucci, D. Contact Force and Joint Torque Estimation Using Skin. IEEE Rob. Autom. Lett.
**2017**. [Google Scholar] [CrossRef] - Neubauer, A. Tikhonov regularisation for non-linear ill-posed problems: optimal convergence rates and finite-dimensional approximation. Inverse Prob.
**1989**, 5, 541. [Google Scholar] [CrossRef] - Ferreau, H.J.; Kirches, C.; Potschka, A.; Bock, H.G.; Diehl, M. qpOASES: A parametric active-set algorithm for quadratic programming. Math. Program. Comput.
**2014**, 6, 327–363. [Google Scholar] [CrossRef] - FT Sensor. Available online: http://wiki.icub.org/wiki/FT_sensor#Creo_CAD_model (accessed on 15 January 2020).
- Sgolay. Available online: https://it.mathworks.com/help/signal/ref/sgolay.html (accessed on 15 January 2020).
- Yaramasu, V.; Wu, B. Model Predictive Control of Wind Energy Conversion Systems; Wiley: Hoboken, NJ, USA, 2016; chapter Appendix B. [Google Scholar]
- Metta, G.; Fitzpatrick, P.; Natale, L. YARP: yet another robot platform. Int. J. Adv. Rob. Syst.
**2006**, 3, 8. [Google Scholar] [CrossRef]

**Figure 1.**(

**a**) Main components of the iCub skin. (

**b**) Array of capacitive sensors. Each sensor implements 12 taxels and hosts the capacitive transduction electronics. (

**c**) Deformable dielectric with conductive top layer. (

**d**) Micro-controller tactile board (MTB).

**Figure 3.**(

**a**) Calibration setup based on vacuum bags. (

**b**) Calibration setup based on isolation chamber.

**Figure 4.**(

**a**) Insoles prototype. (

**b**) Inner part of the insole containing the gaps that accommodate the digital converter integrated circuits. (

**c**) Computer-Aided Drafting (CAD) design of the support for the electronics. (

**d**) Micro-controller tactile boards (MTBs) consistency: one for each patch of the insoles.

**Figure 5.**(

**a**) Vacuum bag experiment. The pressure inside the bag was reduced by using a vacuum pump. (

**b**) Sensorised shoes equipped with force/torque (FT) sensors and insoles.

**Figure 6.**Capacitances measured by one triangle (i.e., 10 taxels) and pressures measured by the pressure sensor during the vacuum bag experiment that consisted of three cycles of pressure reduction and increase.

**Figure 7.**Capacitances measured by one triangle (i.e., 10 taxels), vertical force and horizontal moments measured by the sensorised shoes.

**Figure 9.**Vertical force ${f}_{z}$ and horizontal moments ${m}_{x}$ and ${m}_{y}$ tracking. (

**a**) Task T3. (

**b**) Task T4.

**Figure 10.**Zoomed view of the tracking error to highlight the delay between FT sensors and insole estimations.

**Figure 12.**Online visualisation tool for the insoles. On the left-hand side, the comparison between centres of pressure estimated by force/torque (FT) sensors and insole. In the middle, estimation of vertical contact forces ${f}_{z}\left(\mathrm{N}\right)$ and moments ${m}_{x}$, ${m}_{y}$$\left(\mathrm{N}\mathrm{m}\right)$ using the calibrated insole. On the right-hand side, the pressure distribution.

**Table 1.**Root Mean Square Error (RMSE) analysis of vertical ground reaction force ${f}_{z}\left(\mathrm{N}\right)$ and horizontal moments ${m}_{x}$, ${m}_{y}$$\left(\mathrm{N}\mathrm{m}\right)$, respectively, from tasks T1 to T6.

Task | Description | Highest Pressure | RMSE | RMSE | RMSE |
---|---|---|---|---|---|

$\left(\mathbf{k}\mathbf{Pa}\right)$ | ${\mathit{f}}_{\mathit{z}}\left(\mathbf{N}\right)$ | ${\mathit{m}}_{\mathit{x}}\left(\mathbf{N}\mathbf{m}\right)$ | ${\mathit{m}}_{\mathit{y}}\left(\mathbf{N}\mathbf{m}\right)$ | ||

T1 | Still on feet | 220 | 7.5946 | 0.70729 | 2.2892 |

T2 | Still on left foot | 560 | 11.9475 | 1.8784 | 4.5675 |

T3 | Slow movements on feet | 490 | 34.1682 | 1.8559 | 5.2909 |

T4 | Walk 1 | 630 | 93.4157 | 2.1891 | 12.129 |

T5 | Walk 2 | 600 | 84.8782 | 1.9286 | 11.0665 |

T6 | Walk 3 | 360 | 95.1694 | 0.99215 | 7.7857 |

**Table 2.**Tracking accuracy of vertical ground reaction force ${f}_{z}$ and horizontal moments ${m}_{x}$, ${m}_{y}$, respectively, from tasks T1 to T6.

Task | Description | Accuracy (%) | Accuracy (%) | Accuracy (%) |
---|---|---|---|---|

${\mathit{f}}_{\mathit{z}}$ | ${\mathit{m}}_{\mathit{x}}$ | ${\mathit{m}}_{\mathit{y}}$ | ||

T1 | Still on feet | 98.0472 | 70.8789 | 91.1336 |

T2 | Still on left foot | 98.4868 | 73.6694 | 91.4024 |

T3 | Slow movements on feet | 89.3013 | 71.6058 | 83.9142 |

T4 | Walk 1 | 81.8419 | 64.056 | 75.9248 |

T5 | Walk 2 | 83.8964 | 71.886 | 81.69 |

T6 | Walk 3 | 82.5655 | 63.0632 | 70.7365 |

**Table 3.**Root mean square error (RMSE) analysisof centre of pressure $Co{P}_{x}$, $Co{P}_{y}$ (mm), respectively, from tasks T1 to T6.

Task | Description | RMSE | RMSE |
---|---|---|---|

$\mathit{C}\mathit{o}{\mathit{P}}_{\mathit{x}}$ (mm) | $\mathit{C}\mathit{o}{\mathit{P}}_{\mathit{y}}$ (mm) | ||

T1 | Still on feet | 18.6429 | 4.951 |

T2 | Still on left foot | 11.941 | 4.2918 |

T3 | Slow movements on feet | 28.9685 | 6.697 |

T4 | Walk 1 | 19.8642 | 3.8349 |

T5 | Walk 2 | 18.6675 | 3.1547 |

T6 | Walk 3 | 37.5296 | 5.084 |

**Table 4.**Tracking accuracy of centre of pressure $Co{P}_{x}$, $Co{P}_{y}$, respectively, from task T1 to T6.

Task | Description | Accuracy [%] | Accuracy [%] |
---|---|---|---|

$\mathit{C}\mathit{o}{\mathit{P}}_{\mathit{x}}$ | $\mathit{C}\mathit{o}{\mathit{P}}_{\mathit{y}}$ | ||

T1 | Still on feet | 69.5057 | 89.1761 |

T2 | Still on left foot | 84.3097 | 60.71643 |

T3 | Slow movements on feet | 99.9442 | 99.9884 |

T4 | Walk 1 | 99.9805 | 99.9965 |

T5 | Walk 2 | 99.9811 | 99.997 |

T6 | Walk 3 | 99.9484 | 99.9935 |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).