Matrix pressure sensor with neural network and corresponding calibration procedure
Patent Information
- Application Number
- DE602022013438
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-07-23
- Filing Date
- 2022-07-21
- Publication Date
- 2025-04-23
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing matrix pressure sensors face challenges in accurately measuring pressure distribution due to inhomogeneous pixel responses and coupling effects between neighboring pixels, requiring complex calibration processes that are time-consuming and not easily generalizable.
A calibration process for matrix pressure sensors involving a network of neurons that processes sensor responses, utilizing a database of real homogeneous support data and simulated partial support data to correct for pixel coupling and non-linearity, allowing for simple, fast, and generalizable calibration across various types of matrices.
The solution enables reliable measurement of pressure distribution, including non-trivial support forms, and simplifies the calibration process, making it more efficient and adaptable to different pixel distributions and configurations.
Description
Technical field
[0001] The present invention relates to pressure sensors, and more particularly to matrix pressure sensors. Prior art
[0002] Tactile perception is important for some robotics applications. To enable robots to perform human-like tasks, such as those involving holding and / or manipulating an object, it is desirable to be able to measure certain properties of the contact between an external object and a surface, including the pressure or pressure distribution exerted on the contact area.
[0003] It is known to use a matrix pressure sensor, i.e. one comprising several sensitive measuring elements, called "pixels", in order to measure a pressure distribution exerted on a surface.
[0004] However, due to their design and assembly, pixels generally exhibit inhomogeneous responses and sometimes dependent on those of their neighbors, particularly if the pressure-generating support is not applied to all the pixels in the matrix.
[0005] To take into account the aforementioned phenomena and compensate for the associated non-linearity effects, the sensor is subjected to a calibration phase before use.
[0006] In the case of a "single-pixel" pressure sensor, a classic calibration method consists of applying several known force levels to the sensor, recording the associated responses and determining a mathematical model from these measurements in order to then be able to extrapolate the correction to any new measurement from the sensor.
[0007] This approach can be applied to a matrix sensor, as described in patent CN101281073, which discloses a calibration method in which the response of the sensor to a reference force is measured, for different forces and for each pixel of the matrix. However, this acquisition method is all the longer as the matrix has pixels, and does not allow taking into account the possible dependence of the response of a pixel on those of its close neighbors, a phenomenon known as coupling ( "crosstalk" in English) between pixels.
[0008] In application CN110174213, the pixels are collectively subjected to a reference force using a plate that covers the entire surface, so as to stress the pixels simultaneously and equally. The individual pixel responses are recorded and then calibrated using a mathematical model coupled with a data adjustment algorithm, such as the least squares or maximum likelihood method. This application CN110174213 also discloses a method for processing the crosstalk with a corrective coefficient calculated via an algebraic law, said law being based on a linear combination of the calibrated responses of the pixel to be corrected and the adjacent pixels. This calibration process, however, requires knowledge a prioriof the algebraic correction law, which is not trivial because it depends on the characteristics of the matrix and the shape of the supports on the surface. The publication "Plantar Pressure Measurement System With Improved Isolated Drive Feedback Circuit and ANN: Development and Characterization", CASTRO FABIAN ET AL, IEEE SENSORS JOURNAL, vol. 20, no. 19, May 28, 2020, pages 11034-11043, ISSN: 1530-437X, DOI: 10.1109 / JSEN.2020.2998700, discloses the drive of a matrix force sensor. During a test, a part of the sensor is exposed to a homogeneous pressure. In addition, any modification of the arrangement of the pixels within the matrix requires finding a new algebraic correction law, which for certain configurations can be particularly difficult. Statement of the invention
[0009] There is therefore a need to further improve matrix pressure sensors, in particular to have a sensor capable of measuring the pressure distribution exerted during various types of support, and whose calibration is relatively simple, rapid and generalizable to several types of matrices. Summary of the invention
[0010] The invention aims to meet this need, and it achieves this, according to a first of its aspects, thanks to a calibration method according to claim 1 for a matrix pressure sensor.
[0011] The sensor includes a matrix of tactile pixels, at least some of which have a reciprocal coupling effect between them, a neural network for processing an image of the sensor response and providing a corrected image, this network having been trained from an augmented database comprising: o real homogeneous support data measured by applying a homogeneous pressure to at least some of the pixels of the matrix, better still to all of the pixels of the matrix, and o additional partial support data produced by simulation by applying binary masks to the real homogeneous support data, so as to simulate partial supports without coupling effect with the pixels located outside the partial support zones.
[0012] The sensor according to the invention allows reliable measurement of the pressure exerted during a press, including a press of non-trivial shape, and for regular or non-regular arrangements of the pixels within the matrix. Touch pixels
[0013] The pixels may be of the piezoresistive or capacitive type, preferably of the piezoresistive type.
[0014] The invention applies to various pixel distributions. The pixels can be distributed regularly in one or two directions X, Y of the matrix, for example with a pitch along X which is the same as the pitch along Y. Alternatively, the pixels are distributed on the matrix with a non-regular distribution in at least one direction. This can allow for increased precision, for example by increasing the spatial resolution, in areas where the greatest precision is required. The presence of the neural network makes it possible to easily calibrate the sensor, including for such configurations.
[0015] For piezoresistive pixels, the sensor has, for example, 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 one face of this layer of piezoresistive material, and an array of row electrodes on the opposite face of 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 conductive polymer layer, and a second electrically insulating carrier layer, on the inner face of which the row electrodes are arranged; or d) A substrate, row and column electrodes on the same face of this substrate, and a layer of a conductive polymer facing these row and column electrodes. ;
[0016] Other types of structures are possible, including hybrid structures between those just described.
[0017] The row or column electrodes may be rectilinear and spaced at a constant pitch and be perpendicular to each other; alternatively, the row and / or column electrodes may be spaced at a variable spacing, for example decreasing in a central region of the sensor.
[0018] Other row and column electrode geometries are possible. Temperature sensor
[0019] The sensor according to the invention may comprise 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, taking the temperature as an additional input.
[0020] This allows us to take into account the influence of temperature on, for example, the elasticity or resistivity of the sensor materials. The temperature sensor can be integrated into the pixel matrix or located elsewhere.
[0021] The sensor according to the invention may, if appropriate, comprise several temperature sensors, for example located in different areas of the matrix.
[0022] The sensor according to the invention can also be placed in a room or enclosure with controlled ambient temperature, the temperature sensor measuring the ambient temperature. Processor
[0023] Preferably, the sensor comprises a processor for acquiring an image of the sensor response by sequentially reading the pixels; preferably, each read pixel is powered and all other unread pixels are grounded during this reading, which makes it possible to electrically isolate the read pixel and reduce the reading inaccuracy, in particular by improving the spatial precision of the measurement.
[0024] By "processor" is meant broadly any type of electronic equipment capable of performing the required functions; for example, the processor is a microcontroller card or other, and may include non-volatile memory as well as various interface circuits, for example A / D conversion.
[0025] The neural network can be implemented with the same processor that performs the pixel response acquisition or with any other electronic board or circuit. Neural network
[0026] The neural network can have several types of architectures.
[0027] For example, the neural network has a single convolutional layer and at least one dense layer. The advantage of such an architecture is that it only performs relatively simple calculations, which are therefore quick to execute and easily portable within a lightweight computing unit such as a microcontroller.
[0028] Alternatively, the neural network has convolutional and deconvolutional layers. The advantage of such an architecture is that it has a reduced number of parameters to memorize. Calibration process
[0029] In the method for calibrating a touch sensor according to the invention, the sensor comprises a matrix of touch pixels, at least some of which have a reciprocal coupling effect between them, and the method comprises the steps of: applying to at least part of the pixels, better still to all of the pixels, a homogeneous pressure, thus generating a real database of homogeneous support by acquiring the response of the sensor for different values of the applied pressure, generating an augmented database containing additional partial support data obtained by simulation by applying binary masks to the real homogeneous support data, so as to simulate partial supports without coupling effect with the pixels located outside the partial support zones, training at least one neural network to deliver a corrected image of the response of the sensor using the augmented database.
[0030] To choose the appropriate neural network, it is preferable to subject several neural networks of different architectures to training, and to select the most efficient one by subjecting the sensor to at least one test pressure different from a pressure used for training the networks, in particular a test pressure different from a homogeneous pressure on all the pixels of the matrix, and by comparing the results produced by these different networks with the real data produced by the test pressure on the sensor.
[0031] The test pressure consists, for example, of a homogeneous pressure exerted on only part of the pixels of the matrix, for example on less than a quarter of the pixels of the matrix.
[0032] The selection of the neural network can be carried out 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 test support.
[0033] When the sensor has a temperature sensor, the neural network can be trained to take into account the influence of temperature on pixel behavior, taking temperature as an additional input.
[0034] Multiple binary masks can be used simultaneously on the same image when building the augmented database, ensuring that the masks do not overlap.
[0035] The masks are for example formed from pixelated ellipsoids whose major axis, minor axis, orientation and coordinates of their center on the matrix are varied, in particular to simulate a point pressure limited to a pixel or the pressure of a finger in the form of a disc. The geometry of the masks can be chosen according to the nature of the pressures that the sensor is then likely to encounter, in order to specialize the network to correct the responses of the pixels for pressures of this nature. Brief description of the drawings
[0036] The invention may be better understood by reading the detailed description which follows, non-limiting examples of its implementation, and by examining the attached drawing, in which: [ Fig 1 ] partially and schematically represents an example of a pressure sensor according to the invention, [ Fig 2a ] represents in a partial and schematic manner in cross section an example of a structure of a pixel comprising electrodes carried by two layers of weakly conductive material, [ Fig 2b ] represents in a partial and schematic manner in cross section another example of a structure of a pixel comprising electrodes located on either side of the same layer of piezoresistive material, [ Fig 2c] represents in a partial and schematic manner in cross section another example of a pixel structure comprising electrodes carried by two insulating layers and a layer of conductive polymer, [ Fig 2d ] represents in a partial and schematic manner in cross-section another example of a structure of a pixel comprising electrodes on the same face of an insulating layer and a layer of conductive polymer, [ Fig 3 ] schematically and partially represents an example of the measurement of electrical resistance between the electrodes of a matrix, [ Fig 4 ] is a block diagram illustrating an example of a method for reading pixels from a matrix, [ Fig 5 ] illustrates a partial and schematic front view of a matrix comprising pixels distributed with a non-regular distribution, [ Fig 6 ] is a block diagram illustrating an example of a method for calibrating a touch sensor according to the invention, [ Fig 7] schematically and partially represents certain details of the first stage of the calibration process of the figure 6 , [ Fig 8a ] is an example of pressure images measured by an 8x8 pixel matrix sensor when subjected to various homogeneous forces, [ Fig 8b ] represents the reference images corresponding to the various homogeneous forces exerted on the sensor at the Figure 8a , [ Fig 9 ] schematically and partially represents an example of a binary mask applied to an image of the Figures 8a And 8b . [ Fig 10 ] schematically and partially represents examples of non-homogeneous stresses on the sensor used in the third stage of the process of the figure 3 , [ Fig 11 ] schematically illustrates the possibility of correcting, using a neural network, pressure images measured when the sensor is subjected to non-homogeneous stresses such as that of the figure 10 , [ Fig 12 ] schematically and partially illustrates an example of the architecture of a neural network of the sensor according to the invention, and, [ Fig 13 ] schematically and partially illustrates another example of the architecture of a neural network of the sensor according to the invention. Detailed description
[0037] It has been illustrated at the figure 1 an example of a pressure sensor 1 according to the invention. The sensor 1 comprises a matrix 2 of tactile pixels 10. In the example considered, the pixels 10 are distributed regularly according to a grid defining for example a substantially flat surface on which a force E can be exerted.
[0038] The sensor 1 comprises a processing circuit 3 connected to the matrix 2, for example by a wired connection 50, which processes the response I P_MES of the matrix 2 using an artificial neural network 30 in order to provide a corrected response I P_COR.
[0039] In the example considered, the response I P_MES is the “image” of pressure 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.
[0040] The I P_MES response, for example, consists of values encoded as 16-bit signed integers.
[0041] The corrected response I P_COR is the pressure image corrected to take into account certain defects of sensor 1, such as the possible non-linearity of its response, the reciprocal coupling effect between certain pixels, and possibly its dependence on temperature.
[0042] The neural network 30 is trained beforehand during a calibration phase of the sensor 1, as described below.
[0043] The sensor 1 may be arranged to also measure at least one other quantity than the pressure exerted on the die. It may comprise a temperature sensor 6, as illustrated in figure 1 , which allows the influence of temperature on pixel response to be taken into account.
[0044] The matrix 2 of pixels 10 is for example of the piezo-resistive type. In this case, the pixels 10 can be produced in different ways, some of which are shown in Figures 2a, 2b , 2c, and 2d .
[0045] As illustrated in the Figure 2a, a first electrode 20 can be printed on a layer of weakly conductive material 21, for example a polymer loaded with carbon particles, and a second electrode 22 can be printed on another layer of weakly conductive material 23. The layers 21 and 23 are then superimposed so that the electrodes 20 and 22 are arranged outside the assembly. The two layers 21 and 23 are for example separated by a thin air gap 24, and only touch each other with satisfactory electrical contact when pressure is exerted on the assembly.
[0046] In the example of this figure, the electrodes 20 and 22 each have a linear shape and are arranged perpendicular to each other.
[0047] A pressure P exerted on the matrix 2 varies the contact surface between the layers 21 and 23, which induces a change in the electrical resistance in the measurement zone where the electrodes 20 and 22 intersect. This variation in electrical resistance can be measured in various ways. For example, a voltage is applied between the electrodes and the corresponding current is measured. The voltage across the resistor can also be measured using the resistive divider bridge technique, or by injecting a known current.
[0048] In a variant illustrated in the Figure 2b , the electrodes 20 and 22 are printed on either side of the same layer of intrinsically piezoresistive material 25, which deforms under the action of the forces exerted on the matrix 2, causing, similarly to the previous example, a variation in the electrical resistivity in the zone of intersection of the electrodes.
[0049] 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 printed or each deposited on an electrically insulating flexible layer 26 and face each other, as illustrated in Figure 2c A weakly conductive layer 27, for example of a polymer loaded with conductive particles, possibly cellular, or of a piezoresistive material, is arranged in a sandwich between the electrodes 20 and 22 and separated from each electrode 20 or 22 by a thin air layer 24.
[0050] In the variant of the figure 2d, the electrodes 20 and 22 are carried by the same electrically insulating substrate 26, opposite a weakly conductive layer 27, for example a compressible cellular material, or a non-cellular material. The electrodes are separated from the layer 27 by a thin air layer 24. When a force is exerted on the matrix 2, the layer 27 can come into contact with a portion of the electrodes.
[0051] All of the pixels 10 of the matrix 2 can be produced 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 figure 3 . In this example, N denotes the number of rows in matrix 2, M the number of columns, and the crossing of the electrodes defines the 10 pixels.
[0052] The material of layers 21 and 23 being preferably electrically isotropic, a pressure between two adjacent pixels 10 also generates a variation in the electrical resistivity for these two pixels. A pressure on a pixel can thus electrically “overflow” onto its neighbors, and therefore generate a reciprocal coupling phenomenon.
[0053] A method of reading pixels 10 by scanning can be implemented such as that illustrated in figure 4 . This method, described below, uses a method similar to that proposed in the article "The UnMousePad - An Interpolating Multi-Touch Force-Sensing Input Pad" by Rosenberg et. Al (ACM SIGGRAPH 2009 papers. 2009. 1-9).
[0054] In the first step 71 of the reading process, all the electrodes are grounded. The following steps are then repeated, for i an integer between 1 and N: In step 72, electrode i is powered, and We repeat, for j an integer between 1 and M: o In step 73, electrode j is connected to the input of a reading circuit, o In step 74, the signal is read on the measurement zone corresponding to the intersection of electrodes i and j, and o In step 75, electrode j is grounded, and We ground electrode i.
[0055] This method of sequential reading, by supplying power to each of the pixels 10 in turn, while connecting the other electrodes to ground (not shown in the figure 3), advantageously limits measurement artifacts, such as "ghost" signals, linked to current leakage paths within the detection structure. The electronic components, thanks to channel multiplexing, can also be shared, which can reduce the manufacturing cost of the sensor. Alternatively, several analog / digital converters are used with or without channel multiplexing, in particular one converter per electrode j connected to the reading circuit.
[0056] The number and distribution of pixels 10 are of course not limited to the example just described; other arrangements are possible.
[0057] Thus, the 10 pixels can still be distributed with a non-regular distribution, as shown in Figure 5 , which allows for finer resolution in certain areas of the matrix, depending on the applications. In the example of the podoscope panel shown in Figure 5 , the pixel density is higher in the potential support areas of the feet P, and lower in its periphery.
[0058] The sensor 1 is preferably placed in a room or enclosure with 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 IP_MES data from the matrix 2
[0059] We will now describe an example of a calibration process for the pressure matrix sensor with reference to the figures 6 to 9 .
[0060] In the example considered, the calibration process comprises three steps 11, 12 and 13, as shown in figure 6 .
[0061] In step 11, a database BD MES of real homogeneous pressure measurements is created. For this, sensor 1 is subjected over the entire matrix 2 to a given homogeneous pressure force PR, and the responses of each pixel to this force are measured and recorded.
[0062] To apply a given homogeneous pressure PR, for example, a plate 120 is fixed to the mobile head 100 of a measuring bench comprising a reference force sensor 110, as illustrated in figure 7 . The sensor 110 measures the pressure PR, also referred to as “reference pressure” in the following, applied to the matrix 2.
[0063] The plate 120 is preferably of larger dimensions than the matrix 2 of the sensor to be calibrated.
[0064] In order to spatially homogenize the pressure PR applied to the die 2, a layer 150 of a deformable material can be added between the plate 120 and the die 2. The layer 150 comprises, for example, a deformable elastomer envelope filled with water, a very flexible gel such as silicone grease or a compressible fluid such as air. The elastomer envelope is preferably not very elastic, in order to avoid lateral creep during pressing and to promote the transmission of forces from the plate 120 to the die 2.
[0065] The layer 150 is of larger dimensions than the matrix 2 and makes it possible to fit the surface of the matrix 2 while compensating for any coplanarity defects between the plate 120 and the matrix 2, these defects being able to otherwise induce locally higher pressures.
[0066] The layer 150 still allows even relatively low forces to be transmitted to all of the pixels 10 simultaneously, for example after an initial pressing which allows it to memorize the imprint of the matrix 2.
[0067] For calibration, we choose for example NC reference pressure values PR covering the range of dynamics measurable by matrix 2.
[0068] Sampling of NC reference pressure values can be done uniformly, for example by selecting 41 values in 1 Newton steps between 0 and 40 Newton.
[0069] Sampling can still follow another distribution law, for example logarithmic, especially when the response of the pixels 10 is not linear and tends for example to flatten for high forces. Discretizing the highest PR pressure values more finely thus makes it possible to adapt to the pixel response while maintaining a reasonable calibration time.
[0070] The chosen reference pressure values PR can be applied randomly, to avoid a possible matrix memory effect, and repeated, for example 3 times, to introduce redundancy and average the responses.
[0071] Each PR pressure value is, for example, maintained for a few seconds to allow the system to find its mechanical balance and acquire enough stabilized measurements to then create a time average.
[0072] The theoretical pressure perceived by each pixel 10 is equal to the pressure PR divided by the number of pixels NP . For example, we choose to subject each pixel to a pressure varying between 0 and 2 Newton, which corresponds to a reference pressure applied PR between 0 and (2xN P ) Newton.
[0073] The movable head 100 may be mounted on a spring-based damping system so that it can absorb vertical displacement as the exerted pressure PR increases. This makes it possible to increase the vertical displacement travel for a given force range and to relax constraints on the resolution of the displacement control.
[0074] Software can be used to time synchronize the actual pressure data measured by the matrix 2 with the associated reference pressures PR, measured by the sensor 110.
[0075] The data can be post-processed in order to isolate the NC periods over which the responses of the NP pixels are stable, and for each of these periods, to calculate the average value of each of the pixels 10 as well as the average value of the reference pressure PR.
[0076] The results are saved in the BD MES database in the form of a table of dimensions (NP +1) x NC, NP designating the number of pixels 10, NC designating the number of reference pressure values PR tested, and the “+1” corresponding to the reference pressure PR.
[0077] The actual pressure data can be represented as a pressure image I P_MES , as described above and as shown in Figure 8a for 25 pressure images delivered by an 8x8 pixel matrix, i.e. NP =64.
[0078] These 25 images represent the sensor response to 25 reference pressure values PR to which the matrix 2 was homogeneously subjected, and can be compared to reference images I P_REF as represented in Figure 8b , on which all pixels 10 have an identical value equal to PR / NP with NP = 64 and PR varying between 0 and approximately 45 Newton. Thus the pressure values of pixels 10, identical within a reference image I P_REF , can vary from one reference image to another between 0 and (45 / 64) Newton.
[0079] Unlike applied pressure, I P_MES pressure images appear pixelated, with some pixels having different values, indicating that pixel responses are not homogeneous and correction is required.
[0080] Step 11 can be repeated for different temperature conditions, if desired. In this case, the MES database is replicated as many times as the number of temperature values is imposed, for example, every 10°C between 0°C and +40°C for indoor applications.
[0081] In step 12, an augmented database BD AUG is generated containing additional partial support data.
[0082] These additional data are obtained by simulation from the BD MES database by applying binary masks to the homogeneous support data.
[0083] This step makes it possible to enrich the BD MES database, which only contains data relating to the sensor's responses to homogeneous pressures exerted on matrix 2, this enrichment being carried out without carrying out new measurements.
[0084] By "binary mask" we mean here a geometric mask which, applied to the images I P_MES and I P_REF of the BD MES database, preserves the measurements of the pixels 10 and the reference pressure PR contained under this mask, while forcing to 0 the responses of the pixels located outside this mask.
[0085] Forcing responses to 0 amounts to canceling the reciprocal coupling between the pixels 10 requested and those not requested by the mask.
[0086] 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 the figure 9 for a MAS mask applied to a measured image I P_MES and its reference image I P_REF , for a matrix of 8x8 pixels.
[0087] 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 example illustrated, the center O of the MAS mask is located at pixel 4 / 4 (4th < column and 4th < row). Of course, any other positioning is possible.
[0088] These parameters allow the generation of masks ranging from a single pixel, which represents, for example, a very localized pressure, to a disk (to represent the pressure of a finger), a cross, a rectangle, or any other form of interest.
[0089] These parameters can be chosen randomly, or to cover all possible combinations for a given 2-matrix.
[0090] We can also play on the number of masks in order to simulate multiple simultaneous supports on matrix 2 and, if necessary, generate a final I P_MES image by applying a combination of several masks to the same given support level, or to different support levels using the different associated I P_REF images, and by summing the corresponding masked images.
[0091] To avoid problems of discontinuity of applied forces, we ensure 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 logical "AND" function between the masks 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.
[0092] Generating M sets of masks thus makes it possible to increase the size of the BD MES base by a factor of M. For example, for a matrix of dimensions 8x8 pixels, covering all possible mask configurations by limiting oneself to a single mask and by fixing the orientation of the ellipsoid at 0° amounts to increasing the BD MES base by a factor of 4x4x64=1024 (4 minor axis values, 4 major axis values, 8x8=64 center positions).
[0093] In step 13, the neural network 30 is trained to deliver a pressure image I P_COR corrected for the sensor response using the augmented database BD AUG.
[0094] Thanks to the data enrichment carried out in step 12, the neural network 30 is trained with shapes other than only homogeneous supports on all the pixels of the matrix 2, which makes it possible to improve the performance of the calibration and the correction.
[0095] Training the neural network 30 consists of determining the parameters of the model, that is to say here modulating the synaptic weights of the network, so as to make the responses of the pixels 10 tend towards the real pressure value to which they are subjected.
[0096] For example, for a homogeneous pressure PR applied to the matrix assembly 2, it is a question of homogenizing the responses of the pixels 10 between them towards the constant value PR / NP with NP the number of pixels.
[0097] To do this, one can follow learning methods known to those skilled in the art, for example based on error backpropagation. For example, the BD AUG database is separated into two subsets, one used for the network learning phase, and the other for validation of the network thus determined.
[0098] Before starting training, we preferably normalize each response of a pixel 10 by its maximum value reached in the BD AUG database.
[0099] During the learning phase, the neural network 30 is provided with the measured images I P_MES of the first subset, some of which come from the direct data obtained in step 11 and others from the additional data generated in step 12, as well as the associated reference images I P_REF.
[0100] During the validation phase, the neural network 10 is provided with the measured images I P_MES of the second subset and the corrected images I P_COR generated as output by the network are compared with the reference images I P_REF .
[0101] A first validation criterion CRIT1 of the network performance can be defined by a mean square error (MSE) between the corrected images I P_COR and the reference images I P_REF lower than a certain threshold, for example 0.01.
[0102] On the other hand, we can use to evaluate the performance of the network an additional criterion CRIT2 characterizing the capacity of the neural network 30 to generalize a correction on images I P_MES which do not belong to the BD AUG database.
[0103] For example, a new database BD MES_2 is generated using the measuring bench as described in step 11, but by changing the type of support applied to the matrix 2. For example, a known reference pressure force E PR is imposed on one or more sub-parts of the matrix 2, by adjusting the shape and the number of test points fixed on the head 100 of the bench, as illustrated in figure 10 .
[0104] These tips can have support surface dimensions expressed in number of pixels 10 of the matrix 2, so as to facilitate the reconstruction of the reference pressure image I P_REF.
[0105] It has been illustrated at the figure 11 an example of corrected images I P_COR generated by the neural network 30 from the measured images I P_MES when the matrix 2 is subjected to varied supports of this type.
[0106] The additional criterion CRIT2 can be defined in several ways from the corrected images of the new BD MES_2 database.
[0107] As an example, we consider that we apply N C2 reference pressure values PR each requesting N P2 pixels of matrix 2 to constitute the new database BD MES 2.
[0108] For each reference pressure value PR,k with k ε [1, N C2 ], we define for example the homogeneity A k of the corrected responses of the N P2 pixels solicited by the difference between the highest corrected pixel response Pxc k and the lowest pixel response: A k = max Pxc k , m m ∈ 1 N P 2 − min Pxc k , n n ∈ 1 N P 2
[0109] Alternatively, we can define the homogeneity A k of the corrected responses of the N P2 pixels solicited by the variance of the corrected pixel responses {Pxc k } compared to the average response Pxc k , mean , for each reference pressure value PR,k: Pxc k , mean = 1 N P 2 ∑ m = 1 N P 2 Pxc k , m A k = 1 N P 2 ∑ m = 1 N P 2 Pxc k , mean − Pxc k , m 2
[0110] The CRIT2 criterion then reflects the homogeneity of the corrected pixel responses {Pxc k } subjected to the same support value PR,k for all N C2 support values applied, i.e.: CRIT 2 = 1 N C 2 ∑ k = 1 N C 2 A k
[0111] The neural network is estimated to be more efficient in correcting images when the value of the CRIT2 criterion is low. For example, we validate the learning of the neural network for CRIT2 < 0.1 (when, as mentioned above, the values of the pixel responses have been normalized before calculating the criterion).
[0112] The CRIT1 and CRIT2 criteria described above can be used to select the best performing neural network among neural networks of different architectures, by looking for an architecture that minimizes both of the above-mentioned criteria.
[0113] Generally speaking, a product of the two criteria does not always constitute a sufficient metric to select the desired network, because this result could favor a network that performs very well on the augmented BD AUG database but is poor on the new BD MES_2 database.
[0114] We can use a weighted sum of the different criteria, by defining weights which do not, for example, favor certain supports more than others.
[0115] For CRIT1 < 0.01 and CRIT2 <0.1, we define for example a metric of type “score = 1 x CRIT1 + 0.1 x CRIT2” and select the network which generates the lowest score.
[0116] Other types of criteria and / or a greater number of criteria can of course be used for the validation and / or selection of the neural network 30, and their respective weighting in the score formula is chosen according to the applications sought and the means available.
[0117] For example, we take into account the number of synaptic weights of the network tested, particularly if the calculation system used has little memory (we will then seek to favor a network with a small number of weights).
[0118] We can also define a criterion on the complexity of the unit calculations carried out by the network, and / or their number.
[0119] Different neural network architectures meet the criteria just described.
[0120] For example, we use a neural network with an architecture comprising at least one convolutional layer and one dense layer, also called “fully connected”.
[0121] We represented at the figure 12an example of such an architecture for a matrix 2 of dimensions 8x8 pixels. The neural network 30 comprises a first convolutional layer 302 of 64 filters using kernels of size 3x3, with an activation 304 of type Relu. This layer is followed by a flattening layer Flatten 306 which transforms the output of the convolution into a 1D vector. Finally, a dense layer 308 of 64 neurons (8x8) is applied and a reforming layer Reshape 310 is used to return to 2D (8x8).
[0122] Such an architecture has the advantage of performing only relatively simple calculations, and is therefore quick to execute and easily portable within a lightweight computing unit such as a microcontroller. However, a large number of parameters must be stored, in the order of more than 150,000, which requires a relatively large amount of static memory, such as ROM, Flash or EEPROM.
[0123] We can also use a neural network with an architecture combining convolutional and then deconvolutional layers, in particular an architecture called " fully convolutional » comprising only convolutional / deconvolutional layers.
[0124] In the example shown in figure 13 for the aforementioned 8x8 pixel matrix, two convolutional layers 320 and 324 with activations 322 and 326 of Relu type having successively 16 and 32 4x4 kernel filters are used, followed by two layers 328 and 332 of “Conv2DTranspose” type with activations 330 and 334 of Relu type having successively 32 and 16 4x4 filters. A “Conv2D” layer 336 is added to the output with a single filter of size 1x1 and a layer Reshape 338 to format the I P_COR output in 8x8 format.
[0125] Such an architecture requires higher computing power than the previous one due to the succession of convolution and deconvolution processes, but has the advantage of a reduced number of parameters to be memorized, for example less than 25,000 parameters.
[0126] Other architectures are possible, for example architectures of the type feed-forward Or loop, and the parameterization of the chosen architecture may vary. For example, the neural network has a different number of hidden layers or a different number of neurons per layer than just described.
[0127] Architecture selection is preferably done only once for a given 2-die type or design.
[0128] When manufacturing a new copy of this matrix, the BD MES database is generated with this matrix and the neural network presenting the preselected architecture is trained then validated following the calibration process described above.
[0129] When using the sensor, each pressure image I P_MES measured by the matrix is injected into the neural network 30 thus trained to be corrected into an image I P_COR .
[0130] This correction can be made directly at the level of the management electronics of matrix 2 if it allows it, or be transferred to a terminal which receives the I P_MES images transmitted by the matrix.
[0131] Of course, the invention is not limited to the examples which have just been described.
[0132] For example, the detection of the pressures exerted on the matrix 2 is not necessarily obtained by resistive measurement. It can be done by capacitive measurement, for example by replacing the conductive material with a material with a high dielectric constant, and by subjecting for example the measuring electrodes to alternating voltages, or by any other method suitable for measuring a capacitance.
[0133] The sensor can further be arranged to measure other quantities in addition to pressure and / or temperature. A piezoelectric layer can be added to measure possible vibrations or accelerations.
[0134] The sensor according to the invention can be used, among other things, for robotic applications, in particular in the context of dexterous robotic manipulation of objects. The matrices are, for example, fixed on all surfaces of the gripper possibly in contact with the objects (palm, finger, phalanges, etc.) and make it possible to estimate the position and orientation of the object in the gripper.
[0135] In other application examples, the sensor is integrated into a human-machine touch interface, or as mentioned above, into a metrological panel such as a podiatrist's panel.
Claims
1. Method for calibrating a tactile sensor (1) comprising a matrix (2) of NP tactile pixels (10) at least some of which have a reciprocal crosstalk effect between them, comprising the steps of: - applying a homogeneous pressure (PR) to at least some of the pixels, - thus generating a real homogeneous pressing database (BDMES) by acquiring the response IP_MES from the sensor for various values of the applied pressure , the database (BDMES) additionally comprising images IP_REF, the images IP_REF being reference images in which all of the tactile pixels (10) have an identical value equal to PR / NP, - generating an augmented database (BDAUG) containing additional partial pressing data obtained through simulation by applying binary masks (MAS) to the real homogeneous pressing data IP_MES and to the images IP_REF, so as to simulate partial pressing without a crosstalk effect with the pixels situated outside partial pressing areas, - training at least one neural network (30) to deliver a corrected image (IP_COR) of the response IP_MES from the sensor using the augmented database (BDAUG).
2. Method according to Claim 1, 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 (E) different from a press that was used to train the networks, in particular a press different from a homogeneous press on all of the pixels of the matrix (2), and by comparing the results (IP_COR) produced by these various networks with the real data (IP_REF).
3. Method according to Claim 2, wherein said different press consists of a homogeneous press (E) 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 (CRIT1) representative of the difference between the highest pixel response (Pxc) and the lowest pixel response (Pxc) for this press.
4. Method according to one of Claims 1 to 3, wherein the neural network (30) is trained so as to take into account the influence of temperature (T) on the behaviour of the pixels, by taking the temperature as additional input.
5. Method according to any one of Claims 1 to 4, a plurality of binary masks (MAS) being used at the same time on one and the same image when forming the augmented database (BDAUG), while ensuring that the masks do not overlap.
6. Method according to any one of Claims 1 to 5, the binary masks (MAS) being formed of pixelated ellipsoids for which the values of the major axis (b), minor axis (a), orientation and coordinates of their centre (O) on the matrix (2) are varied, in particular in order to simulate a one-time press limited to one pixel or pressing of a finger in the shape of a disc.