The analysis of the GPI, MPI and POLY methods exposed in the latter sections, shows the presence of play operators, exponential functions, logarithmic, hyperbolic tangent, exponentiation and high degree polynomials, which anticipate a complicated implementation in devices such as FPGAs. Therefore, development of a method based on simple mathematical operations is essential to achieve fast and efficient real time tactile sensors. Furthermore, if one considers the possibility of working with arrays with a large number of taxels (for example, 16 × 16 = 256), each of which must be compensated in real time with its own model of hysteresis, depending on the application, compensation should be performed as fast as possible or with minimal resource consumption and high accuracy.
4.1. Direct External Loop Adaptation Model
The newly proposed approach is based on an adaptation of the external loop of the hysteresis curves to build all the inner hysteretic cycles. Linear interpolation of experimental data from this external loop (see
Figure 2) is done to obtain the so called pattern curves, one for the ascending external trajectory and another for the descending external trajectory, so we call them
and
respectively. The adaptation is made by piecewise linear mapping of the pattern curves into the input interval of the internal target curves.
Figure 6 illustrates the linear mapping of a generic pattern curve
P between
and
into the target interval defined by the points
and
to obtain the target curve
T.
For each input value
in
, the corresponding value
in
obtained by linear mapping is:
Now
in
is mapped into
in
as
Figure 6.
General linear mapping of a pattern curve P into a target curve T.
Figure 6.
General linear mapping of a pattern curve P into a target curve T.
A key aspect of the ELAM model is that the target curve is split into pieces and the mapping in Equations (9) and (10) is done in each piece. It has been split into two segments in this work that are defined by the split point
with
and
. As a first simple approach, we propose the following linear expressions to find the split point:
where
and
. The location of this point is determined by an error minimization algorithm as explained below, and the parameters
and
are the same for all target curves. This strategy allows different mappings to be performed at the left and right of the split point to achieve a more accurate fitting of the curve.
Figure 7a,b illustrate the construction of the descending and ascending trajectories respectively of the hysteresis loops with the ELAM method. As shown in
Figure 2a, all descending hysteresis curves converge at the same point (
in
Figure 7). Similarly, all ascending curves in
Figure 2b converge at the same target point
in
Figure 7). The target subcycles are formed by one descending curve,
in
Figure 7a, and another ascending curve,
in
Figure 7b. For the construction of internal hysteresis loops, it is necessary to know the starting points of
and
, which we call
and
, respectively.
Figure 7.
(a) Construction of descending curves for ELAM model; (b) Construction of ascending curves for ELAM model.
Figure 7.
(a) Construction of descending curves for ELAM model; (b) Construction of ascending curves for ELAM model.
Moreover, the split point divides each trajectory into two segments. Specifically, the descending curve
is composed of
and
(see
Figure 7a) as
The coordinates of the split point
can be expressed from Equations (11) and (12) as
with
In order to obtain
and
in Equation (13), the linear mapping in
Figure 6 is carried out by replacing the initial and final values of the pattern curve
P and of the target curve
T in the Equations (9) and (10) (see
Figure 6), by the initial and final values corresponding to the pattern curve and the target curve used in the construction of each of the segments. To do this, another split point has to be established in the pattern curve. From inspection of the experimental curves, it is set to
for the descending curve,
i.e., the split points of both the pattern and target curves share the
x coordinate.
Therefore, since the descending curve begins at the returning point
, and converge to the point
in
Figure 7a, if
,
is mapped to the trajectory
and the output value is obtained from Equations (9) and (10) respectively through the expressions.
and
On the other hand, if
the curve
is mapped to the trajectory
from the Equations (9) and (10) to obtain (see
Figure 7a)
and
Note that the operation to the left of the split point is simply the scaling of the pattern curve.
The output values in Equations (17) and (19) depend on the coordinates of the split point
, which depend on
and
in Equations (14) and (15). An error minimization algorithm can fit the experimental data of the internal cycles in the values provided by Equations (17) and (19) using
and
as parameters to estimate. This is done as explained in
Section 5, and once
and
are estimated, the coordinates of the split point are readily obtained from Equations (14) and (15) for any other possible descending curve in an internal cycle and the whole descending trajectory is given by Equations (17) and (19).
Similarly, the ascending curve
begins at the point of return
and converge to the point
(see
Figure 7b), and it is composed by
and
as
In this case, the adaptation of the curve
from the external loop to the desired trajectory
is performed. The split point
is calculated as
with
. Note that the parameter
introduces here a quadratic dependence of the split point location on the length of the interval
that improves the fitting of the target ascending curves. In this trajectory, the linear dependence given in Equation (11) does not provide an accurate enough model, so the next level of complexity to try is the quadratic dependence. Moreover, the split points of the pattern curve
and the target curve
are
and
respectively, where
is obtained from
, as
Figure 7b illustrates. Therefore, both split points do not now share the same
x coordinate as in
Figure 7a, but the same
y coordinate.
For
, the pattern curve
is mapped into the target curve
(see
Figure 7b) from the Equations (9) and (10) respectively, so we obtain
and
On the other hand, if
, the pattern curve
is mapped into the target curve
(see
Figure 7b) from the Equations (9) and (10) respectively, so we obtain
and
where
is obtained from
.
Taking into account that , the output values in Equations (24) and (26) depend on the coordinates of the split point , which depend on , and in Equations (21) and (22). Again, the error minimization algorithm can fit the experimental data of the internal cycles in the values provided by Equations (24) and (26) using , and as parameters to estimate. Once , and are estimated, the coordinates of the split point are readily obtained from Equations (21) and (22) for any other possible ascending curve in an internal cycle and the whole ascending trajectory is given by Equations (24) and (26).
Summarizing, once the set of parameters
is obtained from the error minimization algorithm, the output of the complete ELAM model is given by
where
,
,
and
are given by Equations (17), (19), (24) and (26), respectively, and replacing
ym(t) by
yELAM(t) in Equation (1), the
HELAM(p(t)) model for
Figure 4 is:
4.2. Inverse External Loop Adaptation Model
The purpose of building a model of the hysteresis of the sensor is that the inverse model can be applied in cascade with the sensor output to compensate its hysteretic behavior. It is, therefore, necessary to invert the ELAM model proposed in this paper in such a way that for any output value of the tactile sensor
we can calculate the input value
. The inverse model construction is performed similarly to the direct model described in the previous section. The following procedure is actually the same that is described in the previous section but with a swap of the coordinate axes. Since the split point is the same, the inverted curves are obtained just inverting the mapping in each piece. The inverted mapping is readily performed from Equations (9) and (10) as follows. Firstly, the output value of the pattern curve
P that corresponds to the value of the sensor output
is obtained from the Equation (10) as
Then, the value
is obtained through inverse linear interpolation as
, and the value of
is obtained from the Equation (9) as
The Equations (29) and (30) define the linear mapping for the inverse model ELAM, so the equations of the ascending or descending curves in the inverse model can be obtained from them in a similar way as that followed to build the direct model.
Figure 8.
(a) Construction of descending curves for inverted ELAM. (b) Construction of ascending curves for inverted ELAM.
Figure 8.
(a) Construction of descending curves for inverted ELAM. (b) Construction of ascending curves for inverted ELAM.
Figure 8a shows a schematic of the construction of the inverse model for descending curves. These curves, as in the direct model, are determined by the return point
and the split point
. For input values
, the pattern curve
is mapped to the target trajectory
. For this process, it is necessary to know the point
such that
. Note that since the split point is the same as in the direct model,
can be obtained as
. For each value of
in
there is an associated value
in
which can be deduced from Equation (29) as
The value of
is deduced from the Equation (30) knowing that
and its value is
For input values
, the
curve is mapped to the
trajectory, so it is necessary to determine the value
in
corresponding to each value of
. From Equations (29) and (30) we obtain:
Figure 8b shows a schematic of the construction of the inverse model for ascending trajectories starting at the return point
and which converge at the point
.
For input values
, a mapping of the external curve
to the internal trajectory
is performed. To do so, from the general Equations (29) and (30) we obtain:
and
where the point in the pattern curve which corresponds to each value
in the target curve has the same
y value and it is called
.
For input values
, a mapping of the external curve
is performed along the
y axis to the internal trajectory
. From the general Equations (29) and (30), the resulting expressions are
and
where the point in the pattern curve which corresponds to each value
in the target curve has the same
y value and it is called
.
Summarizing, the complete inverse ELAM model is expressed as