Touchscreen interface allowing training of an external organ via ultrasonic vibrations
The haptic interface addresses the challenge of guiding a user's finger or external device along a trajectory using ultrasonic vibrations and position sensors to create progressive bending waves, enhancing friction modulation for intuitive sliding.
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
- Filing Date
- 2023-12-22
- Publication Date
- 2026-04-17
AI Technical Summary
Existing touch interfaces, particularly those using ultrasonic vibrations, struggle to effectively guide a user's finger or external device along a predetermined trajectory, especially for visually impaired individuals or those with limited vision, without direct tactile perception.
A haptic interface using a slab with actuators that induce ultrasonic vibrations and a position sensor to calculate control signals, creating progressive bending waves to guide the finger or external device along a desired path by combining displacements along multiple axes, enhancing friction modulation for intuitive sliding.
The interface effectively guides the finger or external device along a predetermined trajectory, providing intuitive haptic feedback for navigation, even in the absence of direct tactile perception, by modulating friction through ultrasonic vibrations.
Smart Images

Figure 00000024_0000 
Figure 00000025_0000 
Figure 00000026_0000
Abstract
Description
Title of the invention: Touch interface enabling the training of an external organ by ultrasonic vibrations technical field
[0001] The technical field of the invention relates to touch interfaces. EARLIER ART
[0002] Touch interfaces, such as touch panels, have already been described, allowing information to be intuitively encoded to the user, through a sensation felt at the level of the finger, under the effect of a vibration of the panel.
[0003] In a first type of application, the screen vibrates at a relatively low vibration frequency, generally a few hundred Hz. The interface is said to be vibrotactile. The vibrations are directly felt by the finger. Examples of applications are described in Hudin C et al., "Multitouch vibrotactile feedback on a tactile screen by the inverse filter technique: vibration amplitude and spatial resolution," IEEE Transactions on Haptics, Vol. 13, No. 3, July-Sept. 2020.
[0004] In a second type of application, the slab vibrates at an ultrasonic frequency: in this frequency range, touch is not, or only slightly, directly perceptible. However, under the effect of an ultrasonic vibration, an air film is created between the finger and the surface, reducing the friction of the finger on the slab. Thus, when a finger is moving along a slab, its friction on the slab can be modulated when the slab vibrates at an ultrasonic frequency.
[0005] By modulating the friction, a texturizing sensation can be perceived, as described in Cai Z “Ultraloop: Active lateral force feedback using resonant travelling waves” or in Garcia “2MoTac: Simulation of button click by superposition of two ultrasonic plate waves”. In this publication, ultrasonic vibrations allow for the perception of a button click effect.
[0006] The invention described below aims to produce a haptic effect to guide a user's finger, or another external device (such as a stylus), so that the finger slides along a tile in a given direction. The objective is, for example, to guide a user's finger to reach a target or follow a predetermined trajectory along the tile. The invention can thus be used by visually impaired people or those whose field of vision does not include the tile, such as drivers of a vehicle. Description of the invention
[0007] A first object of the invention is a method for controlling an interface, the interface comprising: - a slab, configured to be touched by a contact element, at a point of contact, the slab extending along a plane perpendicular to a transverse axis, the slab extending, in the plane, along a longitudinal axis; - actuators, arranged against the slab, each actuator being configured to induce an ultrasonic vibration of the slab when it is subjected to a control signal; - a position sensor (15), configured to detect a position of the contact point on the slab;
[0008] the process comprising: a. detection of a contact on the slab; b. determination of a position of the contact point on the slab; c. from the position resulting from b), determination of a displacement of the slab at the point of contact; d. using a processing unit, calculation of a control signal to be applied to each actuator so as to produce the displacement of the slab at the point of contact, each actuator inducing a progressive bending wave propagating along the slab, so as to form a vibration of the slab at the point of contact, causing the displacement of the slab at the point of contact; e. reiteration of steps a) to d), until a stopping criterion for the iterations is reached, or the algorithm exits.
[0009] Step c) may include determining a periodic displacement of the slab, at the point of contact, at the ultrasonic frequency, such that during each period: - the displacement of the slab combines a displacement along the transverse axis and a displacement along the plane of the slab; - the displacement of the slab, in the plane of the slab, progresses according to an angle of orientation, with respect to the longitudinal axis, when the displacement, along the transverse axis, progresses towards the external member, so as to induce a sliding of the contact member, along the slab, according to said angle of orientation.
[0010] During each period, the displacement of the slab, along the transverse axis, and the displacement of the slab, in the plane of the slab, can be related by a periodic time function, describing an ellipse.
[0011] As the slab extends along a lateral axis perpendicular to the longitudinal axis, during each period, the displacement at the point of contact in the plane of the slab may include: - a longitudinal component, along the longitudinal axis, depending on the angle of orientation; - a lateral component, along the lateral axis, depending on the angle of orientation; - so as to induce a sliding of the organ, by a combination of the longitudinal component and the lateral component.
[0012] The longitudinal component may depend on a spatial derivative, along the longitudinal axis, of the displacement along the transverse axis.
[0013] The lateral component may depend on a spatial derivative, along the lateral axis, of the displacement along the transverse axis.
[0014] According to one possibility, a ratio between the displacement, along the transverse axis, and the displacement, in the plane of the slab, is greater than 0.3.
[0015] According to one possibility: - step a) involves detecting several contact points spaced apart from each other; - step b) involves determining the position of each contact point; - step c) involves determining the displacement of the slab at each point of contact, with each point of contact being assigned an orientation angle; - step d) involves calculating the control signal to be applied to each actuator in order to obtain, at each point of contact, the displacement determined during step c).
[0016] Step d) may include an inversion of a direct model, the direct model establishing a relationship between a displacement at each contact point and a control signal from each actuator.
[0017] Step d) may include: - di) formation of a response matrix comprising, for each actuator, a displacement of the slab, at each point of contact, as a function of the actuator control signal; - dii) determination of a pseudo-inverse of the response matrix, so as to define the control signal of each actuator.
[0018] Substep di) may include extracting unit displacements from memory, each unit displacement corresponding to a displacement, along the transverse axis or in the plane, generated at each contact point by an actuator controlled by a unit control signal. The unit displacement is defined for each actuator during calibration. The calibration may include successive control of each actuator and measurement of a slab displacement along the transverse axis at different points on the slab. The calibration may include modeling a successive control of each actuator, and a model of a displacement of the slab, along the transverse axis, or in the plane of the slab, at different points of the slab.
[0019] A second object of the invention is an interface comprising: - a slab, configured to be touched by one or more contact elements, at one or more points of contact, - actuators, arranged against the slab, each actuator being configured to cause a vibration of the slab when it is subjected to a control signal; - a position sensor, configured to detect a position of the contact point; - a processing unit, configured to implement steps a) to d) of a process according to the first object of the invention
[0020] The interface can be a haptic interface, configured to control a device.
[0021] The invention will be better understood upon reading the description of the exemplary embodiments presented later in this description, in connection with the figures listed below. FIGURES
[0022] Fig. 1 schematically illustrates an example of a slab forming a haptic interface according to the invention.
[0023] Fig. 2 schematically illustrates the main processing steps enabling the control of the slab actuators to generate haptic feedback.
[0024] Fig. 3A shows a position of a contact point of a finger on a slab.
[0025] Figure 3B shows displacements of the slab (ordinate axis - unit pm) in function of time (x-axis - unit ms) along an X-axis, a Y-axis and a transverse Z-axis, so as to generate a slide of a finger parallel to the X-axis.
[0026] Figure 3C shows the displacements of the slab along the Z-axis (ordinate axis) unit pm) as a function of slab displacements along the X axis (abscissa axis - unit pm), corresponding to the time displacements represented on [Fig.3B].
[0027] Figure 3D shows the displacements of the slab along the Z-axis (ordinate axis) unit pm) as a function of slab displacements along the Y axis (abscissa axis - unit pm), corresponding to the time displacements represented on [Fig.3B].
[0028] Fig. 3E shows displacements of the slab (ordinate axis - unit pm) as a function of time (abscissa axis - unit ms) along the X axis, the Y axis and the transverse Z axis, so as to generate a sliding of the finger parallel to the Y axis.
[0029] Fig. 3F shows the displacements of the slab along the Z axis (ordinate axis - unit pm) as a function of the displacements of the slab along the X axis (abscissa axis - unit pm), corresponding to the time displacements represented on Fig. 3E.
[0030] Fig. 3G shows the displacements of the slab along the Z axis (ordinate axis - unit pm) as a function of displacements of the slab along the Y axis (abscissa axis - unit pm), corresponding to the time displacements represented on Fig. 3E.
[0031] Fig. 4A shows a position of several contact points of a finger on a slab.
[0032] Fig. 4B shows displacements of the slab (ordinate axis - unit pm) as a function of time (abscissa axis - unit ms) along the X axis, the Y axis and the transverse Z axis, so as to generate a slide of a first finger parallel to the X axis.
[0033] Fig. 4C shows displacements of the slab (ordinate axis - unit pm) as a function of time (abscissa axis - unit ms) along the X axis, the Y axis and the transverse Z axis, so as to generate a slip of a second finger along a direction of 45° with respect to the X axis (or the Y axis).
[0034] Figure 4D shows the displacements of the slab along the Z-axis (ordinate axis - unit pm) as a function of displacements along - the Y-axis (abscissa axis - unit pm), the upper curve, - the X-axis (abscissa axis - unit pm), midline curve, - as well as the displacement along the Y axis (ordinate axis - unit pm) as a function of the displacement along the X axis (abscissa axis - unit pm), bottom curve.
[0035] corresponding to the temporal displacements of the first finger shown in [Fig.4B],
[0036] Figure 4E shows the displacements along the Z-axis (ordinate axis - unit pm) as a function of displacements along - the Y-axis (abscissa axis - unit pm), the upper curve, - the X-axis (abscissa axis - unit pm), midline curve, - as well as the displacement along the Y axis (ordinate axis - unit pm) as a function of the displacement along the X axis (abscissa axis - unit pm), bottom curve.
[0037] corresponding to the temporal displacements of the first finger shown in [Fig.4C].
[0038] Fig. 4F shows displacements of the slab (ordinate axis - unit pm) as a function of time (abscissa axis - unit ms) along the X axis, the Y axis and the transverse Z axis, so as to generate a slide of a first finger parallel to the Y axis.
[0039] Fig. 4G shows displacements (ordinate axis - unit pm) as a function of time (abscissa axis - unit ms) along an X axis, a Y axis and a transverse Z axis, so as to generate a slide of a second finger parallel to the X axis.
[0040] Figure 4H shows the displacements of the slab along the Z-axis (ordinate axis - unit pm) as a function of displacements along - the Y-axis (abscissa axis - unit pm), the upper curve, - the X-axis (abscissa axis - unit pm), bottom curve,
[0041] corresponding to the temporal displacements of the first finger shown in [Fig.4F].
[0042] Figure 41 shows the displacements of the slab along the Z-axis (ordinate axis - unit pm) as a function of displacements along - the Y-axis (abscissa axis - unit pm), the upper curve, - the X-axis (abscissa axis - unit pm), bottom curve,
[0043] corresponding to the temporal displacements of the first finger shown in [Fig. 4G], DESCRIPTION OF SPECIFIC EMBODIMENT METHODS
[0044] Fig. 1 represents a haptic interface 1, intended to be touched by an external organ 3, for example a finger, to control a device 2. The device may be, without limitation, a consumer appliance, the dashboard of a vehicle, a person identification device, or a device to assist a visually impaired or disabled person.
[0045] In the examples shown in this application, the external part 3 is a finger, which corresponds to most of the envisaged applications. Alternatively, the external part 3 could be a stylus, or any other means of acting on the interface 1.
[0046] In this case, the interface is haptic, but it could be a slab, forming an interface configured to control the movement of an object, for example, particles or small objects, millimeter-sized. The object must have sufficient inertia so that the slab can be moved relative to it during vibrations.
[0047] The haptic interface comprises a rigid, transparent or opaque slab 10. The slab 10 may, for example, be made of glass, metal, or an organic compound, such as plexiglass. The slab 10 is delimited by a contact surface 11, intended to be touched by the external organ. The thickness e of the slab 10 is preferably less than 10 mm, or even less than 5 mm. The thickness e is adjusted according to the dimensions of the slab and the mechanical properties of the material forming the slab (rigidity, strength). For example, it is between 1 and 5 mm for glass or a material such as plexiglass.
[0048] The slab 10 extends parallel to a longitudinal axis X and a lateral axis Y. The lateral axis and the longitudinal axis define the plane of the slab PXY. The thickness of the slab is defined along a transverse axis Z, perpendicular to the contact surface IL
[0049] The slab 10 is coupled to actuators 12q, for example piezoelectric actuators, Q being an integer designating each actuator, with 1 < Q < Q. Q corresponds to the number of actuators. Each actuator is configured to move the slab, generating a vibration in an ultrasonic frequency range, extending beyond 20 kHz, typically in the spectral band [20 kHz - 100 kHz].
[0050] Each actuator 12q is powered by a control signal Sq, so as to generate a vibration whose characteristics (amplitude, frequency) are configured to produce a predetermined haptic feedback from the interface. The control signals Sq are transmitted, via a control circuit 13, to each actuator 12q.
[0051] In this example, each piezoelectric actuator 12q comprises a piezoelectric material, for example AIN, ZnO, or PZT, arranged between two electrodes. Each actuator can be bonded to the slab. According to one embodiment, the actuators 12q can be electromagnetic or electromechanical actuators.
[0052] The touch surface 11 includes a position sensor 15, for example, of the capacitive type. The position sensor 15 is connected to conductive tracks 14, arranged in a two-dimensional array. The conductive tracks 14 are adjacent to the contact surface 11. The conductive tracks extend parallel to the panel 10, or within the panel 10, below the contact surface 11. When the panel 10 is opaque, the conductive tracks 14 may be made of a common conductive material, for example, a metal. When the panel 10 is transparent, the conductive tracks 14 are preferably made of a transparent conductive material, for example, a conductive oxide, a common material being ITO (Indium Tin Oxide). The conductive tracks 14 preferably extend along lines (parallel to the X-axis) and columns (parallel to the Y-axis). The conductive tracks can be biased according to a bias voltage.The slab 10 includes an insulating layer extending between the conductive tracks 14 and the contact surface 11, so as to allow detection, by capacitive effect, of contact with the finger 3 of a user, or any other type of external organ.
[0053] The position sensor 15 is configured to generate a position signal P comprising the number n and the position p =^xy J of contact points on the contact surface 11. The conductive tracks 14 form a mesh on the slab, defining mesh points, each point of the mesh corresponding to a position that can be detected by the position sensor. The number of positions is determined according to the spatial resolution of the position sensor, which depends of the spacing between the conductive tracks 14. It is possible to consider a number of positions lower than that determined by the spatial resolution of the position sensor. This involves taking into account the contact surface of a finger, extending over a diameter of a few mm, for example 5 mm. Thus, the spatial resolution of the position sensor and the conductive tracks allows us to define a maximum number of positions Minax. The haptic interface 1 takes into account a number M of different positions that can be occupied by the finger 3 on the contact surface 11, with M < Minax.
[0054] The position sensor is not necessarily capacitive. It may be a resistive touch sensor or an infrared optical sensor.
[0055] Interface 1 includes a processing unit 20, which is powered, at different measurement times, by the position signal P generated by the position sensor 15. The processing unit 20 is intended to send a control signal Sq to the control circuit 13, so that the latter transmits each control signal Sq to each actuator 12q. The control circuit includes, for example, digital-to-analog converters, so as to form an analog control signal for each actuator from digital instructions resulting from the processing unit 20.
[0056] The processing unit 20 is configured to determine a vibration pattern based on the position of each finger 3 contacting the contact surface 11. The haptic pattern tends to induce a slide of the finger towards a target T on the slab. Thus, at each detected position (¾ Yn), the haptic interface defines a haptic pattern tending to slide the finger at an orientation angle 6n.
[0057] The processing unit 20 includes a microprocessor, connected to a memory 25 in which instructions are stored allowing the microprocessor to implement certain steps described in connection with [Fig.2].
[0058] Preferably, the actuators 12q are distributed under the slab, advantageously forming a regular mesh.
[0059] Figure 2 illustrates the main steps of an iterative process implemented by the haptic interface 1:
[0060] Step 100: At a measurement time, one or more fingers m touch the tile. M is an integer representing the number of fingers simultaneously touching the tile. The detection of contact on the tile triggers steps 110 to 140 described below.
[0061] Step 110: The position of each finger touching the slab is determined by the position sensor 15. This results in the formation of a position signal P for each point of contact.
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070] The position signal has 2 components: xn > Yn for each detected contact point. The index n designates each finger in contact with the slab. Step 120: Determining a haptic pattern for each point of contact with the tile. This involves determining a haptic pattern that, when felt, causes the finger to slide along the tile, following a trajectory that makes a 0° angle with a reference axis, for example, the X-axis. The trajectory depends on the finger's position relative to the target position T, i.e., the desired position for the finger to reach. Step 120 is implemented by the processing unit, based on the finger's position xn > Yn and the target position T. When multiple fingers touch the tile, a target position Tn can be assigned to each finger. During this step, a target displacement u^Xn, y, t}' is defined and applied to the slab at each point of contact so that each finger reaches the target position assigned to it. The displacement of the slab, at the point of contact (xn> Yn), and at time t, can be written in vector form: y^ t) = ju^x^ U^XD / The displacement thus comprises a longitudinal component ux, along the longitudinal axis X, a lateral component y along the lateral axis Y, and a transverse component uz along the transverse axis Z. Each term of the displacement vector Çxn, Y > corresponds to a progressive harmonic wave propagating in the PXY plane of the slab. In the frequency domain, the displacement Un(w), at frequency (^) is written: • U nz M' (2). The maximum amplitude of each displacement is a few pm, for example 1 pm or 2 pm. Step 130: Determination of the control signal § of each actuator 12q, in order to obtain the target displacement y / y J at each point of contact yj-
[0071] During this step, the processing unit 20 calculates the control signal S^t) to be applied to each actuator 12q to obtain each desired displacement H^Xn, y , at each contact point. The process involves extracting a response matrix from the slab Hn, determined for the contact point (x^, y ), from memory 25, and an inversion of a direct model, in order to estimate each control signal.
[0072] Substep 131: Extraction of a response matrix. This involves extracting, from memory 25, a response matrix Hn, each term of which is associated with an actuator 12q, the contact point (x^y), and a direction of movement of the slab (X-axis, Y-axis, or Z-axis). Each term corresponds to a displacement of the slab, along one of these directions of movement, at the contact point (x^y), when the actuator is subjected to a predetermined control signal, for example, a unit signal equal to 1 V. The terms forming the response matrix Ha are stored in memory 25 for all or part of the mesh points defined by the position sensor.
[0073] Thus, each term Hnqx ■> Hnqyj HDqZ of the response matrix Hn is a displacement of the slab, at the contact point yj, by a unit signal applied to an actuator along the respective axes X, Y, and Z. The response matrix is of dimension (3, Q)-
[0074] 'Hnlx ... W 1 “ nQx (3) ^u = ... H nQx ïï-nQx ।
[0075] Preferably, the response matrix Hn is defined in a frequency form Hn(w)- Thus, different response matrices are used for different frequency components s w.
[0076] Ha(w) = Hniy(w) $ $ ta ta ss « (4)... HnQx (w) f
[0077] The dimension of each matrix H^w) is [3, Q]
[0078] If we consider N fingers touching N distinct points of contact, the response matrix becomes:
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0079] 1 Hllx ••• H1Qx 1 (5) Hny ... H1Qs ■^1 lz • • • ^IQx Hn(w) = ■ ♦ « ♦ ■ ^Nlx ••• NQx H^iy ... Hj^qx \HNjz ... HNQxl Thus, for N contact points, the dimension of the response matrix is [3N, Q] Substep 132: inversion of the direct model. From the response matrix, a direct model can be formed. defining a displacement of the slab, in three dimensions, at each point of contact, depending on the control signal applied to the actuators. For a single point of contact, in the position L / Jw) = Hn(w)S(w) (6) for a single point of contact where ^n(w) is defined in (2), H^w) is defined in (4) and S w (7) Sx( w) ' Sq(w), S(w) is a control vector, comprising a control signal Sq at address each actuator 12q to obtain the desired haptic effect. When there are Al contact points / 1 (V the direct model J'"yn) becomes : H n(w)S(w)^ Where jjcst is a vector concatenating the displacements of the slab ? U KT u nM at each point of contact, along the X, Y and Z axes. Inverting the direct model (6) gives: ' S^w)1 ■ Sq(w), ( -1 ïïnQx(w) ^■nQx^^)' UnxM' (9)
[0092] Inverting the direct model (8) gives: udw) U Nj M u nM (10)
[0094] Each control signal can be determined by inverting the forward model (6), (8), by inverse filtering. It is, for example, possible to determine a pseudo-inverse of the transfer matrix. The use of a Moore- pseudo-inverse Penrose is a preferred option because it minimizes the norm of the vector.
[0095] Step 133: Transition to the time domain
[0096] During this step, the control vector S(t) is passed into the time domain, from each vector S(w)- Each term of the control vector S( / j) is a time-domain control signal addressed to each actuator:
[0097] sg(t)=P{Sg(lvM"1}(ll)
[0098] Where p denotes the real part operator.
[0099] When several frequencies are implemented, the signal Sq(t) can be obtained by inverse Fourier transform.
[0100] More precisely, the transition to the time domain allows for the definition of a temporal control sequence for each actuator 12q, this sequence extending over a duration At between 5 ms and 100 ms. The temporal sequence corresponds to the control signal Sq(t) of each actuator 12q during the duration At. The duration At is preferably between a few ms, for example 3 ms and 5 ms, and a few tens of ms, for example 10 ms or 20 ms.
[0101] Step 140: During step 140, each actuator is activated according to the control signal Sq(t), so as to generate an actuation sequence during the duration At.
[0102] We then return to step 100, waiting for the detection of a contact at another position. The iterations continue until a stopping criterion is reached. Iterations. This could involve the organ reaching the intended target position, or detecting no contact on the plate or contact outside an area of the slab where the finger does not need to be guided. It could also involve exceeding the usage time limit.
[0103] A particular feature of the invention is that, to orient the sliding of the finger at the point of contact (xn > Yn) according to the orientation angle 9n, the slab is preferably animated, at the point of contact, by an elliptical displacement, according to an ultrasonic frequency, the orientation of which, with respect to the plane of the slab, depends on the orientation angle 9U. By elliptical displacement, we mean a displacement whose successive amplitudes, respectively in the PXY plane of the slab and along the transverse axis Z, are related by an elliptical function. The ellipse is described at each period of the displacement.
[0104] In general, during each period, the displacement, in the plane of the PXY slab, progresses along the orientation angle 0, when the displacement, along the transverse axis, progresses towards the external organ.
[0105] Thus, at the point of contact, a vibration normal to the PXY plane of the slab, i.e., along the transverse axis, is combined with a vibration tangential to this plane. The elliptical displacement results in a modulation of an asymmetric friction force, with a non-zero average value, favoring a sliding motion of the finger along the slab, at an orientation angle 9n. Such a friction force is felt in the ultrasonic spectral range.
[0106] The respective vibration amplitudes along the X and Y axes depend on the orientation angle 9n. The vibration amplitude along each axis is higher the smaller the orientation angle relative to each axis. In this example, the amplitude along the X and Y axes depends respectively on the cosine and sine of the orientation angle 9n.
[0107] To produce such a displacement, the components of the motion, in the PXY plane and along the transverse axis Z, are in quadrature, that is to say:
[0108] UM = jaxUM(12)
[0109] Uy(w) = jayUM^
[0110] and: ax- acos0n (14) ay = asin0n(i5) J=fï-
[0111] a is a ratio of the ellipse of the motion. The ratio of the ellipse of the motion corresponds to the displacement in the PXY plane with respect to the displacement along the transverse axis Z.
[0112] When 0n is oriented along the X-axis, — (Xy = 0 and when 0n is oriented along the y-axis, aY = 0, ay = a
[0113] In the case of a slab of small thickness e undergoing bending, the displacements in the plane of the slab PXY and along the transverse axis Z are related by:
[0114] „ vn (16) ux\Xnf Y~ 2 dx (¾ 1 ) [°115] uy(xn> y, t) =^^(xn, y, t) (17)
[0116] Thus, the displacements along the X and Y axes depend on the spatial derivatives of the displacement along Z, along the respective X and Y axes.
[0117] The displacement along the transverse axis Z can be expressed as follows:
[0118] unz(xn, t) = A cos( -k(xncos0n+ynsin0n) + wt + 0) (20)
[0119] Where k is a wave number and A is the amplitude of the vibration causing the displacement.
[0120] In view of (16) and (17):
[0121] Unx(xn,yn, t) =Afkcos0n sin( -k^xI1cos6n + yism0n'j + <jJt + (p'j (21) uny(xn, y^ t) = Af.ksin0D sin( -k(x73cos0H+yüsin9n) +«t + ^) (22)
[0122] By posing 0= - k[xncosenY ynsinen) + (pn (23), we obtain
[0123] unz(t) = uz(xn,yii,t)=Acos[a)t + (pn) (24)
[0124] Unx(t) = ux(xn, ya, t) = Af kcos6n sm[ü)t + cpn) (25) [0i25] uny(t) = Uy(xD,yn,t)= A^ksin0n sin(œt + (pn) (26).
[0126] Expressions (20) and (26) correspond to a propagation of a progressive harmonic wave "out of plane", of amplitude A along the transverse axis Z, propagating along the plane PXY along the direction vector (COS0n, sin0n)- According to (16) and (17), the spatial derivatives along the axes X and Y of the progressive wave "out of plane" allow us to obtain the displacement waves in the plane uIlx( t ) and UDy ( t ) described by (21), (22), (25) and (26), of respective amplitudes Af kcosôa and A^ksin0n.
[0127]
[0128]
[0129]
[0130]
[0131]
[0132]
[0133]
[0134] The terms |kcos0fl and correspond to the ratio of ellipse a previously mentioned. In the frequency domain, expressions (24) to (26) become: unM=Ânm jÂn^kcos6n (28) Uny ( w ) = ksinen (29) with Àn = Ae™» (30). Given (27) to (30), when N = 1 (a single point of contact): (9) becomes: / % __ / x -1 jA^kcosen jAn^ksm3n 2 ^11 S^w ' SQ\W.
[0135]
[0136] (31) When N > 1 (multiple points of contact): 1 #iiyW OOO -1 1 jÂ1^kcos61 1 ksin01 ^i .Sq(w)J ••• HNqx(w) jÀN^kcos6N HNly(w} ... HNqx(w) jÀN^ksmeN 'nNiM ... HNq^w) l ÂN । (32)
[0137]
[0138]
[0139]
[0140] In the implementation of expressions (31) or (32), the terms forming the matrices Hn(w) or HN(w) result from a calibration, described below. The orientation angles depend on the position of the contact point and the position, on the slab, of the target that one wishes to reach with the finger. It is preferable that the ellipse ratio a be close to 1, so that during each period, the displacement in the PXY plane approaches the displacement along the transverse Z axis. This maximizes the perceived force exerted on the finger. Thus, preferably, « > 0.3 or « > 0.5. Or, a= fk(33). The wavenumber is related to the angular frequency ω by a dispersion relation: toui], <34> -
[0142] Where Ps is the surface mass (mass per unit area, kg.m2), such that Ps~ PXG (35), where P is the density
[0143] and D the stiffness (unit Nm) with D = Ye3 / ( 12( 1- P2) ), Y and p being respectively the Young's modulus and the Poisson's ratio of the slab 10.
[0144] In view of (33) and (34):
[0145] / 3PH ---(35)
[0146] The pulsation w is defined according to the mechanical properties of the slab (Young's modulus, thickness), so as to obtain et > 0.3 or a > 0.5. This relationship is usually verified in the frequency domain of ultrasound. Calibration
[0147] The matrices H^w)ou are established from terms and stored During a calibration phase, corresponding to step 90, each actuator is supplied with a predetermined signal, for example, sinusoidal, and the displacement of the slab, particularly along the transverse Z-axis, is measured. Each term in these matrices corresponds to a ratio between the measured displacement and the applied control signal. The displacement is measured after the slab reaches a steady state, i.e., a few milliseconds after the actuator is activated. The displacement can be measured with a laser vibrometer.
[0148] As a complementary or alternative method, calibration can be carried out by simulation.
[0149] Calibration can be performed on certain points of the slab, and interpolated to cover all mesh points defined by the position sensor.
[0150] In order to reduce the number of measurements during calibration, it is possible to take advantage of the fact that the displacements along the PXy plane can be deduced from the displacement along the transverse axis Z, by the relation 101511 JW «) = f (CO)(40) «H„qy( co) = (co) (41>-
[0152] Thus, each term of a response matrix, relating to a displacement along the X-axis or the Y-axis, can be deduced from a measurement of a displacement along the transverse Z-axis, using (40) or (41). Therefore, the calibration phase can be limited to a measurement (or a simulation) of the displacement along the Z-axis in response to the sequential actuation of each transducer. Modeling
[0153] Simulations were carried out using a glass slab, measuring 100 x 125 x 2 mm, actuated by 32 piezoelectric actuators distributed under the slab. Each modeled actuator measured 10 x 10 x 0.3 mm. The point of contact on the slab was determined randomly.
[0154] In a first series of simulations, only a single point of contact was considered. In [Fig. 3A], the actuators (squares) and the point of contact (black dot) are shown. The objective was to obtain a displacement of the finger parallel to the X-axis, with a displacement amplitude of 1 pm along the transverse axis. The frequency of the control signals was 50 kHz.
[0155] A control sequence for the actuators was determined to produce an elliptical displacement, tending to move the finger along the X-axis. Figure 3B shows the displacement (ordinate axis - pm) as a function of time of the point of contact along the X, Y, and Z axes (abscissa axis - ms), respectively. After a transient period of 2 ms, a displacement of 0.5 pm is observed along the X-axis, and a negligible displacement along the Y-axis. The amplitude along the Z-axis is on the order of 1 pm. When t > 5 ms, the actuation ceases, resulting in a transient regime until the displacement of the slab along each axis is zero.
[0156] Figure 3C represents the displacement along the Z-axis (ordinate axis - pm) as a function of the displacement along the X-axis (abscissa axis - pm). The displacements along the X and Z axes, at successive instants in the actuation sequence, describe an ellipse at a frequency of 50 kHz, i.e., 50,000 revolutions per second along the ellipse. In Figure 3C, an arrow F1 indicates the direction in which the displacements occur. When the slab approaches the finger (u > Q), the displacement of the slab tends to push the finger along the X-axis, in the positive direction, as indicated by arrow F2.
[0157] Figure 3D represents the displacement along the Z-axis (ordinate axis - pm) as a function of the displacement along the Y-axis (abscissa axis - pm). There is no displacement along the Y-axis.
[0158] A sequence of actuator commands was then simulated with the objective of sliding the finger along the slab at an angle of 90°, i.e., parallel to the Y-axis. Figure 3E shows the displacement sequences along the three axes at the point of contact as a function of time (x-axis - ms), similarly to Figure 3B. Figure 3F shows the displacement along the Z-axis (y-axis - pm) as a function of the displacement along the X-axis (x-axis - pm). There is no displacement along the X-axis. Figure 3G shows the displacement along the Z-axis (y-axis - pm) as a function of the displacement along the Y-axis (x-axis - pm). The amplitudes of the displacements along the Y and Z axes at successive times in the actuation sequence describe an ellipse with a period of 50 kHz. In figure 3G, an arrow F1 indicates the direction in which the movements occur. When the slab approaches the finger (uz > 0), the slab's movement tends to push the finger along the Y-axis, in the positive direction, as indicated by arrow F2.
[0159] In a second series of tests, an implementation of the process was simulated taking into account two different contact points. These are shown in [Fig. 4A]. The objective was to form haptic patterns allowing displacement along the X-axis (0i = 0°) at the first contact point, and displacement at an angle (02 = 45°) at the second contact point.
[0160] Figures 4B and 4C show respectively the sequences of displacements obtained for at each point of contact, along the X, Y and Z axes, (ordinate axis -pm) as a function of time (abscissa axis -ms).
[0161] In [Fig. 4D], for the first point of contact, the displacement along the Z-axis (ordinate axis - pm) is plotted as a function of the displacement along the Y-axis (abscissa axis - pm) (top figure), the displacement along the Z-axis as a function of the displacement along the X-axis (middle figure), and the displacement along the Y-axis as a function of the displacement along the X-axis (bottom figure). In [Fig. 4E], for the second point of contact, the displacement along the Z-axis is plotted as a function of the displacement along the Y-axis (top figure), the displacement along the Z-axis as a function of the displacement along the X-axis (middle figure), and the displacement along the Y-axis as a function of the displacement along the X-axis (bottom figure). In Figures 4D and 4E, arrow F1 shows the chronological direction of the displacement evolution. Arrow F2 shows the direction of the resulting displacement. In [Fig.4D], we observe a displacement along the X axis, in the direction x > 0. In [Fig.[4E], we observe simultaneous displacements of the same magnitude along the X axis (towards x > 0) and along the Y axis (towards y > 0). This results in a displacement along 02 = 45°.
[0162] Figures 4F and 4G show, respectively, the sequences of displacements obtained at each point of contact, along the X, Y, and Z axes (ordinate axis - pm), as a function of time (abscissa axis - ms). The objective is then to induce a displacement of the first point of contact along the Y axis, and of the second point of contact along the X axis.
[0163] In [Fig. 4H], the displacement along the Z-axis is plotted as a function of the displacement along the Y-axis (top figure) and the displacement along the Z-axis as a function of the displacement along the X-axis (bottom figure) for the first point of contact. In [Fig. 41], the displacement along the Z-axis is plotted as a function of the displacement along the Y-axis (top figure) and the displacement along the Z-axis as a function of the displacement along the X-axis (bottom figure) for the second point of contact. In Figures 4H and 41, the arrow Fl shows the chronological direction of the evolution of the displacements. Arrow F2 shows the direction of the displacement obtained. In [Fig.4H], we observe a displacement along the Y axis, in the direction y > 0. In [Fig.41], we observe simultaneous displacements, of the same magnitude, along the X axis (towards x > 0).
[0164] The invention makes it possible to control, by combining progressive bending waves, the sliding of an external body along a touch panel, in a predetermined direction. The invention can be implemented independently of the dimensions of the panel.
[0165] Although described in connection with a haptic interface, the invention can be implemented to allow the movement of objects on a slab forming an interface, under the effect of ultrasonic vibrations as previously described.
Claims
1. Demands Method for controlling an interface, the interface comprising - a slab (10), configured to be touched by a contact member (3), at a point of contact, the slab extending along a plane (PXy) perpendicular to a transverse axis (Z), the slab extending, in the plane, along a longitudinal axis (X); - actuators (12q), arranged against the slab, each actuator being configured to induce an ultrasonic vibration of the slab when subjected to a control signal (S g); - a position sensor (15), configured to detect a position of the contact point on the slab; the process comprising: a. detection of a contact on the slab; b. determination of a position of the contact point on the slab; c. from the position resulting from b), determination of a displacement of the slab at the point of contact; d. using a processing unit, calculation of a control signal to be applied to the actuator so as to obtain the displacement at the point of contact, each actuator inducing a progressive bending wave propagating along the slab, so as to form a vibration of the slab at the point of contact, causing a displacement of the slab at the point of contact; e. reiteration of steps a) to d), until a stopping criterion for the iterations is reached; the process being such that step c) involves determining a periodic displacement of the slab, at the point of contact, at the ultrasonic frequency, such that during each period: - the displacement of the slab combines a displacement along the transverse axis (Z) and a displacement along the plane of the slab (PXY); - the displacement of the slab, in the plane of the slab (PXY), progresses along an orientation angle (0), with respect to the longitudinal axis, when the displacement, along the transverse axis, progresses towards the external member, so as to induce a sliding of the contact member, along the slab, according to said orientation angle; the process being characterized in that step d) involves an inversion of a direct model, the direct model establishing a relationship between a displacement at each point of contact and a control signal of each actuator.
2. A method according to claim 1, wherein during each period, the displacement of the slab, along the transverse axis, and the displacement of the slab, in the plane of the slab, are related by a periodic time function, describing an ellipse.
3. A method according to any one of the preceding claims, wherein the slab extends along a lateral axis (Y), perpendicular to the longitudinal axis, during each period, the displacement, at the point of contact, in the plane of the slab, comprises: - a longitudinal component along the longitudinal axis, dependent on the angle of orientation; - a lateral component Y along the lateral axis, dependent on the angle of orientation; - so as to induce a sliding of the element, by a combination of the longitudinal component and the lateral component.
4. A method according to claim 3, wherein the longitudinal component depends on a spatial derivative, along the longitudinal axis, of the displacement along the transverse axis.
5. A method according to any one of claims 3 or 4, wherein the lateral component depends on a spatial derivative, along the lateral axis, of the displacement along the transverse axis.
6. A method according to any one of the preceding claims, wherein a ratio between the displacement, along the transverse axis, and the displacement, in the plane of the slab, is greater than 0.
3.
7. A method according to any one of the preceding claims, wherein - step a) comprises detecting several contact points spaced apart from each other; - step b) comprises determining the position of each contact point; - step c) comprises determining the displacement of the slab at each contact point, each contact point being assigned an orientation angle; - step d) comprises calculating the control signal to be applied to each actuator so as to obtain, at each contact point, the displacement determined in step c).
8. A method according to any one of the preceding claims, wherein step d) comprises: - di) formation of a response matrix comprising, for each actuator, a displacement of the slab, at each point of contact, as a function of the control signal of the actuator; - dii) determination of a pseudo-inverse of the response matrix, so as to define the control signal of each actuator.
9. A method according to claim 8, wherein substep di) comprises an extraction, from a memory, of unit displacements, each unit displacement corresponding to a displacement, along the transverse axis or in the plane, generated at each point of contact, by an actuator controlled by a unit control signal, the unit displacement being defined for each actuator during a calibration.
10. A method according to claim 9, wherein the calibration comprises a successive control of each actuator, and a measurement of a
11.
12.
13. displacement of the slab, along the transverse axis, at different points of the slab. Method according to claim 10, wherein the calibration includes modeling a successive command of each actuator, and modeling a displacement of the slab, along the transverse axis, at different points of the slab. Interface including: - a slab (10), configured to be touched by one or more contact elements (3), at one or more points of contact, - actuators (12q), arranged against the slab, each actuator being configured to cause a vibration of the slab when it is subjected to a control signal (Sq); - a position sensor (15), configured to detect a position of the contact point; - a processing unit (20), configured to carry out steps a) to d) of a process according to any one of the preceding claims. Interface according to claim 12, wherein the interface is a haptic interface, configured to control a device (2).