MATRIX PRESSURE SENSOR WITH NEURAL NETWORK, AND CALIBRATION METHOD
20230026597 · 2023-01-26
Assignee
Inventors
Cpc classification
G01L1/18
PHYSICS
G01L1/146
PHYSICS
G01L1/14
PHYSICS
G01L1/26
PHYSICS
G01L25/00
PHYSICS
International classification
G01L5/00
PHYSICS
G01L1/14
PHYSICS
G01L1/18
PHYSICS
G01L1/26
PHYSICS
Abstract
Matrix pressure sensor with neural network, and calibration method
Matrix pressure sensor (1), comprising: a matrix (2) of tactile pixels (10) at least some of which have a reciprocal crosstalk effect between them, a neural network (30) for processing an image (I.sub.P_MES) of the response from the sensor and providing a corrected image (I.sub.P_COR), this network having been trained from an augmented database (BD.sub.AUG) comprising: real homogeneous pressing data measured by applying a homogeneous pressure (P.sub.R) to at least some of the pixels, better still to all of the pixels of the matrix, and additional partial pressing data produced through simulation by applying binary masks (MAS) to the real homogeneous pressing data, so as to simulate partial pressing without a crosstalk effect with the pixels situated outside partial pressing areas.
Claims
1. Matrix pressure sensor, comprising a matrix of tactile pixels at least some of which have a reciprocal crosstalk effect between them, a neural network for processing an image of the response from the sensor and providing a corrected image, this network having been trained from an augmented database comprising: real homogeneous pressing data measured by applying a homogeneous pressure to at least some of the pixels, and additional partial pressing data produced through simulation by applying binary masks to the real homogeneous pressing data, so as to simulate partial pressing without a crosstalk effect with the pixels situated outside partial pressing areas.
2. Sensor according to claim 1, the pixels being piezoresistive or capacitive.
3. Sensor according to claim 2, the pixels being piezoresistive, the sensor having one of the following structures: a) A first layer of a conductive polymer, an array of column electrodes on the outer face of this first layer of conductive polymer, a second layer of a conductive polymer facing the first layer, an array of row electrodes on the outer face of this second layer of conductive polymer; b) A layer of piezoresistive material, an array of column electrodes on a face of this first layer of piezoresistive material, an array of row electrodes on the face opposite this layer of piezoresistive material; c) A first electrically insulating carrier layer, an array of column electrodes on the inner face of this first carrier layer, a layer of a conductive polymer having a first face facing the array of column electrodes, an array of row electrodes facing the second face of the layer of conductive polymer, a second electrically insulating carrier layer, on the inner face of which the row electrodes are arranged; d) A substrate, row and column electrodes on one and the same face of this substrate, a layer of a conductive polymer facing these row and column electrodes.
4. Sensor according to claim 1, comprising a temperature sensor, the neural network having been trained so as to take into account the influence of temperature on the behavior of the pixels, by taking the temperature as additional input.
5. Sensor according to claim 1, the neural network comprising a single convolutional layer and at least one dense layer.
6. Sensor according to claim 1, the neural network comprising convolutional layers and deconvolutional layers.
7. Sensor according to claim 1, the pixels being distributed over the matrix with an irregular distribution in at least one direction.
8. Sensor according to claim 1, comprising a processor for acquiring an image of the response from the sensor by reading out the pixels sequentially, each pixel that is read out being supplied with power and all of the other pixels that are not read out being grounded during this readout operation.
9. Method for calibrating a tactile sensor comprising a matrix of tactile pixels at least some of which have a reciprocal crosstalk effect between them, comprising the following steps: applying a homogeneous pressure to at least some of the pixels, thus generating a real homogeneous pressing database by acquiring the response from the sensor for various values of the applied pressure, generating an augmented database containing additional partial pressing data obtained through simulation by applying binary masks to the real homogeneous pressing data, so as to simulate partial pressing without a crosstalk effect with the pixels situated outside partial pressing areas, training at least one neural network to deliver a corrected image of the response from the sensor using the augmented database.
10. Method according to claim 9, wherein a plurality of neural networks with different architectures are subjected to the training, and the one with the best performance is selected by subjecting the sensor to at least one press different from a press that was used to train the networks, and by comparing the results produced by these various networks with the real data.
11. Method according to claim 10, wherein said different press consists of a homogeneous press exerted on only some of the pixels of the matrix, and wherein the selection is made on the basis of at least one selection criterion representative of the difference between the highest pixel response and the lowest pixel response for this press.
12. Method according to claim 9, wherein the neural network is trained so as to take into account the influence of temperature on the behavior of the pixels, by taking the temperature as additional input.
13. Method according to claim 9, a plurality of binary masks being used at the same time on one and the same image when forming the augmented database, while ensuring that the masks do not overlap.
14. Method according to claim 9, the binary masks being formed of pixelated ellipsoids for which the values of the major axis, minor axis, orientation and coordinates of their center on the matrix are varied.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0053] The invention will be able to be better understood upon reading the following detailed description of non-limiting exemplary implementations thereof, and upon examining the appended drawing, in which:
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
DETAILED DESCRIPTION
[0071]
[0072] The sensor 1 comprises a processing circuit 3 connected to the matrix 2, for example by a wired link 50, which processes the response I.sub.P_MES from the matrix 2 using an artificial neural network 30 in order to provide a corrected response I.sub.P_COR.
[0073] In the example under consideration, the response I.sub.P_MES is the pressure “image” measured by the matrix 2 when it is subjected to the force E, said image comprising pixels representing the pressure measured individually by each of the pixels 10.
[0074] The response I.sub.P_MES consists for example of values encoded on integers signed on 16 bits.
[0075] The corrected response I.sub.P_COR is the pressure image corrected so as to take into account certain defects with the sensor 1, such as any non-linearity of its response, the reciprocal crosstalk effect between certain pixels, and possibly its temperature dependency.
[0076] The neural network 30 is trained beforehand in a phase of calibrating the sensor 1, as is described below.
[0077] The sensor 1 may also be designed to measure at least one variable other than the pressure exerted on the matrix. It may comprise a temperature sensor 6, as illustrated in
[0078] The matrix 2 of pixels 10 is for example piezoresistive. In this case, the pixels 10 may be formed in various ways, some of which are shown in
[0079] As illustrated in
[0080] The layers 21 and 23 are then stacked such that the electrodes 20 and 22 are arranged on the outside of the assembly. The two layers 21 and 23 are for example separated by a small air gap 24, and touch one another with satisfactory electrical contact only when a pressure is exerted on the assembly.
[0081] In the example of this figure, the electrodes 20 and 22 each have a linear shape and are arranged perpendicular to one another.
[0082] A pressure P exerted on the matrix 2 varies the contact area between the layers 21 and 23, thereby leading to a change in electrical resistance in the measuring area where the electrodes 20 and 22 intersect. This variation in electrical resistance may be measured in various ways. For example, a voltage is applied between the electrodes and the corresponding current is measured. It is also possible to measure the voltage across the terminals of the resistor using the resistive divider bridge technique, or by injecting a known current.
[0083] In one variant illustrated in
[0084] In other variants, the electrodes are carried by an insulating substrate, in particular a flexible one, for example made of PET. The electrodes 20 and 22 are for example each printed or deposited on an electrically insulating flexible layer 26 and face one another, as illustrated in
[0085] In the variant of
[0086] It is possible to produce all of the pixels 10 of the matrix 2 by printing N parallel electrodes on one face of the matrix, for example on a layer of weakly conductive material 21, and M parallel electrodes on the other face, for example a layer of weakly conductive material 23, the M electrodes being arranged perpendicular to the N electrodes, as illustrated in
[0087] Since the material of the layers 21 and 23 is preferably electrically isotropic, a press between two adjacent pixels 10 also generates a variation in electrical resistivity for these two pixels. A press on one pixel may thus “spill over” electrically onto its neighbors, and therefore generate a reciprocal crosstalk phenomenon.
[0088] It is possible to implement a scanning-based method for reading out the pixels 10, such as the one illustrated in
[0089] In the first step 71 of the readout method, all of the electrodes are grounded.
[0090] The following steps are then repeated, where i is an integer between 1 and N: [0091] In step 72, the electrode i is supplied with power, and [0092] The following are repeated, where j is an integer between 1 and M: [0093] In step 73, the electrode j is connected to the input of a readout circuit, [0094] In step 74, the signal on the measurement area corresponding to the intersection of the electrodes i and j is read out, and [0095] In step 75, the electrode j is grounded, and [0096] The electrode i is grounded.
[0097] This sequential readout method, by supplying power to each of the pixels 10 in turn, while at the same time grounding the other electrodes (not shown in
[0098] The number and the distribution of the pixels 10 are of course not limited to the example that has just been described; other layouts are possible.
[0099] The pixels 10 may thus also be distributed with an irregular distribution, as illustrated in
[0100] The sensor 1 is preferably placed in a room or a chamber with a controlled ambient temperature and the temperature sensor 6 transmits the measurement of the ambient temperature T to the neural network 30 at the time of acquisition of the data IP_MES from the matrix 2.
[0101] A description will now be given of one example of a method for calibrating the matrix pressure sensor with reference to
[0102] In the example under consideration, the calibration method comprises three steps 11, 12 and 13, as shown in
[0103] In step 11, a database BD.sub.MESs of real homogeneous pressure measurements is formed. For this purpose, the sensor 1 is subjected, over the whole of the matrix 2, to a given homogeneous pressure force P.sub.R, and the responses from each pixel to this force are measured and recorded.
[0104] To apply a given homogeneous pressure P.sub.R, a plate 120 is for example fixed to the mobile head 100 of a measurement bench comprising a reference force sensor 110, as illustrated in
[0105] The plate 120 preferably has dimensions larger than the matrix 2 of the sensor to be calibrated.
[0106] In order to spatially homogenize the pressure P.sub.R applied to the matrix 2, it is possible to add a layer 150 of a deformable material between the plate 120 and the matrix 2. The layer 150 comprises for example an envelope made of deformable elastomer filled with water, with a highly flexible silicone grease gel or else with a compressible fluid such as air. The elastomer envelope is preferably relatively inelastic, in order to avoid any lateral creep during pressing and to promote the transmission of forces from the plate 120 to the matrix 2.
[0107] The layer 150 has dimensions larger than the matrix 2 and makes it possible to conform with the surface of the matrix 2 while compensating for any coplanarity defects between the plate 120 and the matrix 2, these defects otherwise possibly leading to pressures that are locally higher.
[0108] The layer 150 also makes it possible to transmit even relatively weak forces to all of the pixels 10 at the same time, for example after a first press that allows it to store the fingerprint of the matrix 2.
[0109] For the calibration, N.sub.C reference pressure values P.sub.R covering the interval of the dynamic range able to be measured by the matrix 2 are for example chosen.
[0110] The N.sub.C reference pressure values may be sampled uniformly, for example by selecting 41 values per pitch of 1 newton between 0 and 40 newtons.
[0111] The sampling may also follow another distribution law, for example a logarithmic one, in particular when the response from the pixels 10 is not linear and tends for example to flatten out for high forces. Discretizing the highest pressure values P.sub.R more finely thus makes it possible to adapt to the response from the pixels while still retaining a reasonable calibration duration.
[0112] The N.sub.C chosen reference pressure values P.sub.R may be applied randomly in order to avoid any memory effect of the matrix, and repeated, for example 3 times, in order to introduce redundancy and average the responses.
[0113] Each pressure value P.sub.R is for example kept for a few seconds in order to allow the system to find its mechanical equilibrium and to acquire enough stabilized measurements so as then to take a temporal average therefrom.
[0114] The theoretical pressure perceived by each pixel 10 is equal to the pressure P.sub.R divided by the number of pixels N.sub.P. It is chosen for example to subject each pixel to a pressure that varies between 0 and 2 newtons, this corresponding to an applied reference pressure P.sub.R of between 0 and (2×N.sub.P) newtons.
[0115] The mobile head 100 may be mounted on a spring-based damping system so as to be able to absorb a vertical displacement as the exerted pressure P.sub.R increases. This makes it possible to increase the vertical displacement travel for a given range of forces and to relax constraints on the resolution of the control of the displacements.
[0116] It is possible to use software to temporally synchronize the real pressure data measured by the matrix 2 with the associated reference pressures P.sub.R measured by the sensor 110.
[0117] The data may be post-processed in order to isolate the N.sub.C periods over which the responses from the N.sub.P pixels are stable, and for each of these periods, to calculate the average value of each of the pixels 10 along with the average value of the reference pressure P.sub.R.
[0118] The results are saved in the database BD.sub.Ns in the form of a table with dimensions (N.sub.P+1)×N.sub.C,
[0119] N.sub.P denoting the number of pixels 10,
[0120] N.sub.C denoting the number of reference pressure values P.sub.R tested, and
[0121] “+1” corresponding to the reference pressure P.sub.R.
[0122] The real pressure data may be represented in the form of a pressure image I.sub.P_MES, as described above and as shown in
[0123] These 25 images represent the response from the sensor to 25 reference pressure values P.sub.R to which the matrix 2 has been homogeneously subjected, and may be compared with reference images I.sub.P_REF as shown in
[0124] In contrast to the applied pressure, the pressure images I.sub.P_MES appear pixelated, with different values for certain pixels, indicating that the responses from the pixels are not homogeneous and that a correction is needed.
[0125] Step 11 may be repeated for various temperature conditions if desired. In this case, the database BD.sub.MES is reproduced as many times as temperature values are imposed, for example every 10° C. between 0° C. and +40° C. for indoor applications.
[0126] In step 12, an augmented database BD.sub.AUG containing additional partial pressing data is generated.
[0127] These additional data are obtained through simulation from the database BDMs by applying binary masks to the homogeneous pressing data.
[0128] This step makes it possible to enrich the database BD.sub.MES, which contains only data relating to the responses from the sensor to homogeneous pressures exerted on the matrix 2, this enrichment taking place without new measurements being performed.
[0129] A “binary mask” here denotes a geometric mask that, when applied to the images I.sub.P_MES and I.sub.REF from the database BD.sub.P_MES, preserves the measurements of the pixels 10 and of the reference pressure P.sub.R contained under this mask, while at the same time forcing the responses from the pixels situated outside this mask to 0.
[0130] Forcing responses to 0 is tantamount to canceling out the reciprocal crosstalk between the pixels 10 that are loaded and those that are not loaded by the mask.
[0131] The binary masks are for example defined by one or more pixelated ellipsoids, with one pixel of the mask equal to one pixel of the matrix, as illustrated in
[0132] The masks are for example parameterized by the number of ellipsoids and the values of their minor axis a, major axis b, orientation, and coordinates of their center O on the matrix. In the illustrated example, the center O of the mask MAS is situated on the pixel 4/4 (4.sup.th column and 4.sup.th row). Of course, any other positioning is conceivable.
[0133] These parameters thus make it possible to generate masks ranging from a single pixel, which represents for example very localized pressing, to a disk (to represent the pressing of a finger), a cross, a rectangle, or any other shape of interest.
[0134] These parameters may be chosen randomly, or so as to cover all possible combinations for a given matrix 2.
[0135] It is also possible to modify the number of masks in order to simulate multiple simultaneous presses on the matrix 2 and, where appropriate, generate a final image I.sub.P_MES by applying a combination of several masks to one and the same given pressing level, or to different pressing levels using the various associated images I.sub.P_REF, and by summing the corresponding masked images.
[0136] In order to avoid problems in terms of discontinuity of applied forces, it is ensured that the masks do not overlap, by applying for example a dilation of at least one pixel between two adjacent masks, by calculating the result of a logic “AND” function between the masks and then by checking that the sum is equal to 0. If the sum is greater than 0 (indicating that the masks overlap), this combination of masks is not selected.
[0137] Generating M sets of masks thus makes it possible to increase the size of the base BD.sub.MES by a factor M. By way of example, for a matrix of dimensions 8×8 pixels, covering all possible mask configurations while drawing a limit at just 1 mask and while setting the orientation of the ellipsoid to 0° is tantamount to increasing the base BD.sub.MES by a factor 4×4×64=1024 (4 minor axis values, 4 major axis values, 8×8=64 positions of the center).
[0138] In step 13, the neural network 30 is trained to deliver a corrected pressure image I.sub.P_COR of the response from the sensor using the augmented database BD.sub.AUG.
[0139] By virtue of the enrichment of the data performed in step 12, the neural network 30 is trained with forms other than just homogeneous presses on all of the pixels of the matrix 2, thereby making it possible to improve calibration and correction performance.
[0140] Training the neural network 30 consists in determining the parameters of the model, that is to say here modulating the synaptic weights of the network, so as to make the responses from the pixels 10 tend towards the real pressure value to which they are subjected.
[0141] For example, for a homogeneous pressure P.sub.R applied to the whole matrix 2, this involves homogenizing the responses among the pixels 10 towards the constant value P.sub.R/N.sub.P, where N.sub.P is the number of pixels.
[0142] To this end, it is possible to follow learning methods known to a person skilled in the art, for example based on error backpropagation. The database BD.sub.AUG is split for example into two subsets, one used for the phase of training the network, and the other for validating the network thus determined.
[0143] Before starting the training, each responsible from a pixel 10 is preferably normalized by its maximum value attained in the database BD.sub.AUG.
[0144] In the training phase, the neural network 30 is provided with the measured images I.sub.P_MES of the first subset, some of them originating from direct data obtained in step 11 and others from additional data generated in step 12, along with the associated reference images IP REF.
[0145] In the validation phase, the neural network 10 is provided with the measured images I.sub.P_MES of the second subset, and the corrected images I.sub.P_COR generated at output by the neural network are compared with the reference images I.sub.P_REF.
[0146] A first validation criterion CRIT1 for validating the performance of the network may be defined by a mean squared error (MSE) between the corrected images I.sub.P_COR and the reference images I.sub.P_REF that is below a certain threshold, for example 0.01.
[0147] On the other hand, to evaluate the performance of the network, it is possible to use an additional criterion CRIT2 characterizing the ability of the neural network 30 to generalize a correction to images I.sub.P_MES that do not belong to the database BD.sub.AUG.
[0148] A new database BD.sub.MES_2 is generated for example using the measurement bench as described in step 11, but by changing the type of pressing applied to the matrix 2. A known reference pressure P.sub.R force E is for example imposed on one or more sub-portions of the matrix 2, while modifying the shape and the number of fixed contact points on the head 100 of the bench, as illustrated in
[0149] These points may have pressing area dimensions expressed as a number of pixels 10 of the matrix 2, so as to facilitate the reconstruction of the reference pressure image I.sub.P_REF.
[0150]
[0151] The additional criterion CRIT2 may be defined in several ways based on the corrected images from the new database BD.sub.MES_2.
[0152] By way of example, it is considered that N.sub.C2 reference pressure P.sub.R values are applied, each loading N.sub.P2 pixels of the matrix 2 so as to form the new database BD.sub.MES_2.
[0153] For each reference pressure value P.sub.R,K, where k ∈ [1, N.sub.C2], the homogeneity A.sub.k of the corrected responses from the N.sub.P2 loaded pixels is defined by the difference between the highest corrected pixel response Pxc.sub.k and the lowest pixel response:
A.sub.k=max{Pxc.sub.k,m}.sub.m∈[1,N.sub.
As a variant, it is possible to define the homogeneity A.sub.k of the corrected responses from the N.sub.P2 loaded pixels by the variance of the corrected pixel responses {Pxc.sub.k} with respect to the average response Pxc.sub.k,mean, for each reference pressure value P.sub.R,k:
[0154] The criterion CRIT2 then express the homogeneity of the corrected pixel responses {Pxc.sub.k} subjected to one and the same pressing value P.sub.R,k for all of the N.sub.C2 applied pressing values, i.e.:
[0155] The neural network is deemed to exhibit better performance in the correction of the images the lower the value of the criterion CRIT2. The training of the neural network is for example validated for CRIT2<0.1 (when, as mentioned above, the values of the responses from the pixels have been normalized before the criterion is calculated).
[0156] It is possible to use the criteria CRIT1 and CRIT2 described above to select the best-performing neural network out of neural networks with different architectures, by searching for an architecture that minimizes the two abovementioned criteria at the same time.
[0157] Generally speaking, a product of the two criteria does not always constitute a sufficient metric to select the desired result, since this result could give preference to a network that exhibits very good performance on the augmented database BD.sub.AUG but poor on the new database BD.sub.MES_2.
[0158] It is possible to use a weighted sum of the various criteria, by defining weights that do not benefit for example some presses rather than others.
[0159] For CRIT1<0.01 and CRIT2<0.1, a metric of the type “score=1×CRIT1+0.1×CRIT2” is for example defined and the network that generates the lowest score is selected.
[0160] Other types of criteria and/or a greater number of criteria may of course be used to validate and/or select the neural network 30, and the respective weighting thereof in the formula for the score is chosen depending on the desired application and the means available.
[0161] For example, the number of synaptic weights of the network under test is taken into account, in particular if the computing system that is used has a small amount of memory (it will then be sought to give preference to a network comprising a low number of weights).
[0162] It is also possible to define a criterion on the complexity of the unitary computations performed by the network and/or the number thereof.
[0163] Various neural network architectures meet the criteria that have just been described.
[0164] Use will be made for example of a neural network having an architecture comprising at least one convolutional layer and one dense layer, also called “fully connected”.
[0165]
[0166] Such an architecture has the advantage of performing only relatively simple computations, which are therefore fast to execute and easily portable within a lightweight computing unit such as a microcontroller. However, a high number of parameters has to be stored, of the order of more than 150,000, thereby requiring a relatively high amount of static memory, such as ROM, Flash or EEPROM for example.
[0167] It is also possible to use a neural network having an architecture combining convolutional and then deconvolutional layers, in particular what is known as a “fully convolutional” architecture, comprising only convolutional/deconvolutional layers.
[0168] In the example illustrated in
[0169] Such an architecture requires a higher computing power than the previous one due to the succession of the convolution and deconvolution processes, but has the advantage of a small number of parameters to be stored, for example fewer than 25,000 parameters.
[0170] Other architectures are possible, for example feedforward or looped architectures, and the parameterization of the chosen architecture may vary. For example, the neural network comprises a number of hidden layers or a number of neurons per layer different from the one that has just been described.
[0171] The architecture is preferably selected just once for a given matrix 2 type or design.
[0172] When manufacturing a new specimen of this matrix, the database BD.sub.MES is generated with this matrix and the neural network having the preselected architecture is trained and then validated in line with the calibration method described above.
[0173] When using the sensor, each pressure image I.sub.P_MES measured by the matrix is injected into the neural network 30 thus trained in order to be corrected into an image I.sub.P_COR.
[0174] This correction may be performed directly in the management electronics of the matrix 2 if said management electronics allow this, or be transferred to a terminal that receives the images I.sub.P_MES transmitted by the matrix.
[0175] Of course, the invention is not limited to the examples that have just been described.
[0176] For example, the pressures exerted on the matrix 2 are not necessarily detected through a resistive measurement. They may be detected through a capacitive measurement, for example by replacing the conductive material with a material having a high dielectric constant, and for example by subjecting the measurement electrodes to AC voltages, or using any other method suitable for measuring a capacitance.
[0177] The sensor may furthermore be designed to measure other quantities in addition to pressure and/or temperature. A piezoelectric layer may be added in order to measure any vibrations or accelerations.
[0178] The sensor according to the invention may be used, inter alia, for robotic applications, in particular in the context of dextrous robotic object manipulation. The matrices are for example fastened to all of the surfaces of the gripper that are possibly in contact with objects (palm, finger, phalanges, etc.) and make it possible to estimate the position and the orientation of the object in the gripper.
[0179] In other exemplary applications, the sensor is integrated into a tactile human-machine interface or, as mentioned above, into a metrological pad such as a chiropody pad.