A contact trajectory tracking method and device

CN117572978BActive Publication Date: 2026-09-29BEIJING ESWIN COMPUTING TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311507523.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-13
Publication Date
2026-09-29
Estimated Expiration
2043-11-13

AI Technical Summary

Technical Problem

但是卡尔曼滤波算法又涉及大量的矩阵预算,又会造成较大的资源开销

Benefits of technology

[0010]本申请实施例中,通过将触点轨迹的二维平面运动系统拆分为位置和速度两个独立变量,将原本需要矩阵构建的运动系统拆分为两个独立的一阶线性系统,使卡尔曼滤波器模型不涉及复杂的矩阵运算,通过将速度测量值作为参数构建位置变量的增益以及误差系数,使得在保证抗干扰性效果的同时,最大限度地节约运算时间,从而不仅可以对直线型的触点轨迹有较好的预测效果,而且对于复杂的触点轨迹的预测结果也比较精准。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117572978B_ABST
    Figure CN117572978B_ABST
Patent Text Reader

Abstract

The application provides a contact trajectory tracking method and device, which comprises the following steps: obtaining a measurement value of a current contact point output by a Kalman filter, and updating a gain-adjusted roll-off factor; updating an error of a position and an error of a speed respectively, obtaining a first Kalman gain related to the position and a second Kalman gain related to the speed; obtaining an estimated position of the current contact point and an estimated speed of the current contact point; and then obtaining a position prediction value of a next contact point. The application splits a two-dimensional plane motion system of the contact trajectory into two independent variables of the position and the speed, splits a motion system constructed by a matrix into two independent first-order linear systems, does not involve complex matrix operations, constructs a gain of the position variable and an error coefficient by using a speed measurement value, and maximally saves operation time, so that the contact trajectory can be accurately predicted.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of biometric recognition and intelligent sensing technology, and in particular to a method and apparatus for tracking touch point trajectories. Background Technology

[0002] In the firmware of touch chips, the resources that can be accessed are very limited, and the requirements for the time and space complexity of programs are extremely stringent. How to obtain high-quality interactive responses from complex touch trajectories has become a key issue in touch trajectory tracking research. Kalman filtering can extract useful information from noisy data and has the advantages of small memory footprint and simple distributed implementation, requiring less computation and memory. However, the Kalman filtering algorithm involves a large amount of matrix budgeting, which causes significant resource overhead. Therefore, how to reduce the resource overhead of touch trajectory tracking while ensuring anti-interference performance is a technical problem that touch chips urgently need to solve.

[0003] It should be noted that the above introduction to the technical background is only for the purpose of providing a clear and complete explanation of the technical solutions of this application and facilitating understanding by those skilled in the art. It should not be assumed that these technical solutions are known to those skilled in the art simply because they have been described in the background section of this application. Summary of the Invention

[0004] This application provides a method and apparatus for tracking contact trajectories.

[0005] The first aspect of this application proposes a method for tracking touch point trajectories, including:

[0006] Obtain the measured value of the current contact point output by the Kalman filter, and update the roll-off factor of the gain adjustment based on the measured value of the current contact point;

[0007] Based on the roll-off factor, the position error and velocity error are updated respectively to obtain the first Kalman gain related to position and the second Kalman gain related to velocity.

[0008] The position is updated based on the first Kalman gain to obtain the estimated position of the current contact point, and the velocity is updated based on the second Kalman gain to obtain the estimated velocity of the current contact point;

[0009] Based on the estimated position and estimated speed of the current contact point, obtain the predicted position value of the next contact point.

[0010] In this embodiment, the two-dimensional planar motion system of the touch point trajectory is split into two independent variables, position and velocity. The motion system that originally required matrix construction is split into two independent first-order linear systems, so that the Kalman filter model does not involve complex matrix operations. By using the velocity measurement value as a parameter to construct the gain and error coefficient of the position variable, the computation time is saved to the maximum extent while ensuring the anti-interference effect. Thus, it can not only have a good prediction effect on linear touch point trajectories, but also have relatively accurate prediction results for complex touch point trajectories.

[0011] An embodiment of the second aspect of this application provides a device for tracking contact trajectories, comprising:

[0012] The first acquisition module is used to acquire the measured value of the current contact point output by the Kalman filter, and update the roll-off factor of the gain adjustment based on the measured value of the current contact point.

[0013] The second acquisition module is used to update the position error and velocity error respectively according to the roll-off factor, and acquire the first Kalman gain related to position and the second Kalman gain related to velocity.

[0014] The third acquisition module is used to update the position according to the first Kalman gain to obtain the estimated position of the current contact point, and to update the speed according to the second Kalman gain to obtain the estimated speed of the current contact point;

[0015] The fourth acquisition module is used to acquire the predicted position value of the next contact point based on the estimated position and the estimated speed of the current contact point.

[0016] A third aspect of this application provides an electronic device, including: a touch trajectory tracking device as described in the second aspect of the above-described embodiment.

[0017] The fourth embodiment of this application discloses a touch chip, including: a memory for storing program code; and a processor connected to the memory for reading the program code from the memory to execute the touch trajectory tracking method proposed in the first aspect embodiment of this application.

[0018] The fifth aspect of this application provides a non-transitory computer-readable storage medium that, when the instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to perform the touch trajectory tracking method proposed in the first aspect of this application.

[0019] The fifth aspect of this application provides a computer program product, including a computer program that, when executed by a processor, implements the touch trajectory tracking method proposed in the first aspect embodiment.

[0020] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description

[0021] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:

[0022] Figure 1 A schematic flowchart illustrating a method for tracking touch points according to an embodiment of this application;

[0023] Figure 2 A schematic flowchart of another contact trajectory tracking method provided in an embodiment of this application;

[0024] Figure 3 This is a schematic diagram of the first trajectory of a contact point in the contact point trajectory tracking method provided in the embodiments of this application;

[0025] Figure 4 This is a schematic diagram of the second trajectory of a contact point in the contact point trajectory tracking method provided in the embodiments of this application;

[0026] Figure 5 A schematic diagram of the structure of a contact trajectory tracking device provided in an embodiment of this application;

[0027] Figure 6 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application;

[0028] Figure 7 This is a schematic diagram of the structure of another electronic device provided according to an embodiment of this application;

[0029] Figure 8 This is a schematic diagram of the structure of a touch chip according to an embodiment of this application. Detailed Implementation

[0030] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with those of this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the embodiments of this application as detailed in the appended claims.

[0031] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the embodiments of this application. The singular forms “a” and “the” as used in the embodiments of this application and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.

[0032] It should be understood that although the terms first, second, third, etc., may be used to describe various information in the embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of the embodiments of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the words "if" and "suppose" as used herein can be interpreted as "when," "when," or "in response to a determination."

[0033] Embodiments of this application are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.

[0034] It should be noted that the touch point trajectory tracking method provided in any embodiment of this application can be executed alone, or it can be executed together with possible implementation methods in other embodiments, or it can be executed together with any technical solution in related technologies.

[0035] The following describes a method and apparatus for tracking contact trajectories according to embodiments of this application, with reference to the accompanying drawings.

[0036] Figure 1 This is a flowchart illustrating a method for tracking touchpoint trajectories provided in an embodiment of this application. Figure 1 As shown, the method includes, but is not limited to, the following steps:

[0037] S101: Obtain the measured value of the current contact point from the Kalman filter output, and update the roll-off factor of the gain adjustment based on the measured value of the current contact point.

[0038] The touch point trajectory tracking method provided in this application embodiment is applicable to electronic devices with touch screens and acoustic-optical-holographic projection devices. For example, electronic devices may include: mobile phones, tablets, laptops, wearable devices, smart TVs, in-vehicle computers, etc.; acoustic-optical-holographic projection devices may include: wall interactive projection, floor interactive projection, water curtain projection, etc.

[0039] In this embodiment of the application, the electronic device can track the touch trajectory of the touch screen. In some implementations, a sensor can be set under the touch screen of the electronic device to sense the touch point and then track the trajectory of the touch point.

[0040] Electronic devices can use Kalman filters to track contact trajectories. This involves obtaining the estimated position and velocity of the current contact point based on its measurements, and then predicting the position of the next contact point. Furthermore, the electronic device fully utilizes the property of Kalman filtering: it weights and fuses theoretical calculations and actual observations to obtain the position prediction closest to the true value.

[0041] Optionally, the speed measurement value of the current contact point is determined based on the current contact point's measurement value, and the roll-off factor is updated based on the speed measurement value. It should be noted that the current contact point's measurement value includes: the current contact point's speed measurement value and the current contact point's position measurement value. The current contact point's speed measurement value includes the magnitude and direction of the speed; the current contact point's position measurement value includes the coordinates of a first coordinate axis and a second coordinate axis, where the first coordinate axis can be the X-axis and the second coordinate axis can be the Y-axis.

[0042] Typically, the roll-off factor represents the amount of signal attenuation at the cutoff frequency after passing through a filter. In this embodiment, after the touch interaction is initiated, the Kalman filter iteratively performs calculations, exhibiting different trends as the speed of the touch interaction changes. According to the kinematic model, except for the initial touch point, the position measurement of the touch point at other times can be characterized by speed. Therefore, the roll-off factor is updated based on the speed measurement value; for example, the square root of the speed can be used to characterize the roll-off factor. Furthermore, an IIR filter (Infinite Impulse Response filter, meaning the filter's unit impulse response is infinitely long and the filter network includes a feedback loop) can be added outside the framework of the Kalman filter to track the roll-off factor, further reducing speed-induced jitter. This IIR filter exists as an auxiliary component of the Kalman filter and can be selectively set according to the actual usage environment, and is not limited to this embodiment.

[0043] In this embodiment, after the Kalman filter outputs the measurement value of the current contact point, the relevant parameters can be updated using the Kalman filter model, thereby predicting the position of the next contact point.

[0044] Under the prediction model of the Kalman filter, the prediction formula for the next contact point is as follows:

[0045]

[0046] in, The predicted touch state of the next touch point can be called the predicted touch state matrix. The current touch state of the touch point can be called the touch state matrix; A represents the state transition matrix of the Kalman filter model, determined by the Kalman filter model; B represents the input state matrix of the Kalman filter model, determined by the Kalman filter model; U K This can be represented as the velocity value of the current contact point (i.e., the measured velocity value of the current contact point). Since this application decomposes the two-dimensional planar motion system into two independent variables, position and velocity, therefore... Both A and B are one-dimensional variables, meaning they have only one element.

[0047] During the initialization of the Kalman filter model, for the position of the contact point: both the state transition matrix A and the observation state matrix H are represented as 1; the state matrix B is represented as the sampling time; U K The velocity value of the contact point; the model error matrix of the position is inversely proportional to the roll-off factor; the measurement error matrix of the position is directly proportional to the model error matrix of the position; the covariance matrix of the position is initialized to 0.

[0048] For the speed of the contact point: both the state transition matrix A and the observed state matrix H are represented as 1; Bu k Initialized to 0; the speed model error matrix is ​​proportional to the roll-off factor; the speed measurement error matrix is ​​proportional to the speed model error matrix; the speed covariance matrix is ​​proportional to the roll-off factor.

[0049] In other words, after determining the touch state, state transition matrix, input state matrix, and speed value of the current touch point, the Kalman filter model can determine the predicted touch state of the next touch point based on the above disclosure.

[0050] S102, based on the roll-off factor, update the position error and velocity error respectively, and obtain the first Kalman gain related to position and the second Kalman gain related to velocity.

[0051] Optionally, obtaining the position-related first Kalman gain includes:

[0052] The first measurement error matrix of the position is updated according to the roll-off factor to obtain the second measurement error matrix;

[0053] Based on the current velocity measurement of the contact point, the first covariance matrix of the position is updated to obtain the second covariance matrix;

[0054] The first Kalman gain is obtained based on the first observation state matrix, the second covariance matrix, and the second measurement error matrix.

[0055] A Kalman filter model can include a covariance matrix P, an observation state matrix H, a measurement error matrix R (e.g., the measurement error of an under-display sensor), and a model error matrix Q (i.e., the model error matrix of the Kalman filter). Here, Q represents the confidence level of the predicted value, which is characterized as process noise. The smaller the Q value, the easier it is for the system to converge, indicating a higher confidence level in the model's predicted value. However, if the Q value is too small, it is prone to divergence. If Q is zero, then only the predicted value is trusted. The larger the Q value, the lower the confidence level in the predicted value and the higher the confidence level in the measured value. If the Q value is infinite, then the measured value is trusted.

[0056] R represents the confidence level of the measured value, which is characterized by measurement noise. The larger the R value, the slower the filter response (specifically the response to the measured value) becomes, thus reducing the confidence level in the measured value. The smaller the R value, the faster the system converges, but an excessively small R value can easily lead to oscillations. Therefore, Q and R are traded off based on different factors such as accuracy, dynamic performance, and smoothness.

[0057] Furthermore, the first covariance matrix of the position is updated using the following formula:

[0058]

[0059] Among them, P K It can be used to characterize the covariance matrix corresponding to the current contact point (including the first covariance matrix of position and the third covariance matrix of velocity); A represents the state transition matrix of the Kalman filter model; A T represents the transpose of the state transition matrix of the Kalman filter model; Q represents the model error matrix; This can be used to characterize the covariance matrix (including the second covariance matrix) after the prediction operation. As can be seen from the above formula, A and Q are also updated accordingly during the update of the first covariance matrix. It should be noted that the update process of the first covariance matrix at the position here is essentially an update of the prediction process.

[0060] Furthermore, the process of obtaining the first Kalman gain is characterized by the following formula:

[0061]

[0062] in, It can be used to characterize the second covariance matrix; H represents the observation state matrix (in this case, H represents the first observation state matrix of the position); H Trepresents the transpose of the observation state matrix; R represents the measurement error matrix (in this case, R represents the second measurement error matrix of the position, which is obtained from the update process of the first measurement error matrix of the position, and this update process is controlled by the roll-off factor); K K+1 It can be used to characterize the first Kalman gain.

[0063] Optionally, a second Kalman gain related to velocity is obtained, including:

[0064] The third measurement error matrix of speed is updated based on the roll-off factor to obtain the fourth measurement error matrix;

[0065] The second Kalman gain is obtained based on the second observation state matrix of velocity, the third covariance matrix of velocity, and the fourth measurement error matrix.

[0066] The process of obtaining the second Kalman gain is the same as that of obtaining the first Kalman gain, so it will not be described in detail here.

[0067] It should be noted that, since this application decomposes the two-dimensional planar motion system into two independent variables, position and velocity, P K A, H, Q, and R are all one-dimensional variables, meaning they have only one element.

[0068] S103, update the position according to the first Kalman gain to obtain the estimated position of the current contact point, and update the velocity according to the second Kalman gain to obtain the estimated velocity of the current contact point.

[0069] Optionally, the position is updated based on the first Kalman gain, including:

[0070] Based on the previous contact point, determine the predicted position of the current contact point output by the Kalman filter;

[0071] Based on the first observation state matrix and the first Kalman gain of the current contact point's position, the measured value and the predicted value of the current contact point's position are updated to obtain the estimated position of the current contact point.

[0072] Furthermore, the position is updated using the following formula:

[0073]

[0074] in, This can represent the predicted position of the current contact point as determined by the Kalman filter output based on the previous contact point; K K+1It can be used to characterize the first Kalman gain; H represents the observation state matrix (at this time, H represents the first observation state matrix of position; it should be noted that since this application decomposes the two-dimensional planar motion system into two independent variables, position and velocity, H is a one-dimensional variable, that is, it has only one element); Z K+1 It can represent the current position measurement value of the touch point (for example, it can be calculated by the firmware algorithm in the under-display sensor); It can represent the estimated position of the current contact point.

[0075] Further explanation of the above formula includes:

[0076] The first intermediate value (i.e., the predicted position of the current contact point) is multiplied by the first observed state matrix to obtain the first intermediate value. );

[0077] The difference between the current contact point position measurement and the first intermediate value is calculated to obtain the second intermediate value (i.e., );

[0078] Multiplying the first Kalman gain and the second intermediate value yields the third intermediate value (i.e., );

[0079] The estimated position of the current contact point is obtained by summing the predicted position value of the current contact point and the third intermediate value. ).

[0080] Optionally, the velocity is updated based on the second Kalman gain, including:

[0081] Determine the estimated speed of the previous contact point based on the estimated position of the current contact point;

[0082] Based on the second observation state matrix and the second Kalman gain of the current contact point's velocity, the velocity measurement of the current contact point and the estimated velocity of the previous contact point are updated to obtain the estimated velocity of the current contact point.

[0083] Furthermore, the velocity is updated using the following formula:

[0084]

[0085] Among them, the estimated velocity of the previous contact point and the second observation state matrix are multiplied to obtain the fourth intermediate value;

[0086] The difference between the current contact speed measurement value and the fourth intermediate value is calculated to obtain the fifth intermediate value;

[0087] The sixth intermediate value is obtained by multiplying the second Kalman gain and the fifth intermediate value.

[0088] The estimated speed of the current contact point is obtained by summing the estimated speed of the previous contact point and the sixth intermediate value.

[0089] It should be noted that the process of obtaining the estimated speed of the current contact point is the same as the process of obtaining the estimated position of the current contact point, so it will not be described in detail here.

[0090] It should be noted that after obtaining the estimated position and estimated velocity of the previous contact point, the covariance matrix P of the Kalman filter system is updated using the following formula:

[0091]

[0092] in, It can be used to characterize the covariance matrix (including the second covariance matrix) after the prediction operation; K K+1 It can be used to characterize the first Kalman gain or the second Kalman gain; H represents the observation state matrix; P K+1 This represents the covariance matrix after the update operation, which is used for iterative calculations in the next loop.

[0093] Furthermore, the observation state matrix H, measurement error matrix R, and Kalman gain (including the first and second Kalman gains) of the Kalman filter system are used for iterative calculations in the next set of loops, and exhibit different trends as the speed changes.

[0094] It should be noted that, because this application decomposes the two-dimensional planar motion system into two independent variables, position and velocity, therefore and P K+1 All are one-dimensional variables, meaning they have only one element.

[0095] S104: Based on the estimated position and estimated speed of the current contact point, obtain the predicted position value of the next contact point.

[0096] Optionally, based on the estimated position and estimated velocity of the current contact point, the predicted position value of the next contact point is obtained, including:

[0097] The touch displacement is obtained by integrating the estimated velocity of the current touch point;

[0098] The position prediction value of the next touch point is obtained by summing the touch displacement with the estimated position of the current touch point, as output by the Kalman filter.

[0099] In summary, the error coefficients of the contact position and the error coefficients of the velocity (including the covariance matrix P, model error matrix Q, and measurement error matrix R) are complementary. Ultimately, the contact trajectory tracking method satisfies a higher first Kalman gain and a lower second Kalman gain in high-speed environments, and a lower first Kalman gain and a higher second Kalman gain in low-speed environments. In other words, the higher the speed, the more reliable the contact position information; the lower the speed, the more reliable the contact velocity information.

[0100] Please refer to Figure 2 , Figure 2 This is a flowchart illustrating a method for tracking touchpoint trajectories provided in an embodiment of this application. Figure 2 As shown, the method may include, but is not limited to, the following steps:

[0101] S201, Process the speed measurement value of the current contact point.

[0102] S202, set the speed error and position error. It should be noted that the speed error and position error refer to the error coefficients of the contact point's position and speed (including: covariance matrix P, model error matrix Q, and measurement error matrix R).

[0103] S203, calculate the model error matrix and measurement error matrix corresponding to velocity; calculate the model error matrix and measurement error matrix corresponding to position; update the covariance matrix corresponding to position.

[0104] S204, obtain the first Kalman gain related to position and the second Kalman gain related to velocity.

[0105] For a detailed description of steps S201 to S204, please refer to the relevant content in the above embodiments, which will not be repeated here.

[0106] S205, based on the previous contact point, determine the predicted position value of the current contact point output by the Kalman filter, and calculate the first deviation between the measured position value of the current contact point and the predicted position value of the previous contact point.

[0107] S206, based on the update of the first deviation using the first Kalman gain, the estimated position of the current contact point is obtained. It should be noted that the estimated position of the current contact point is part of the position information ultimately reported by the system to the electronic device.

[0108] In this embodiment of the application, the electronic device can track the touch trajectory of the touch screen. In some implementations, a sensor can be set under the touch screen of the electronic device to sense the touch point and then track the trajectory of the touch point.

[0109] Electronic devices can use Kalman filters to track contact trajectories. This involves obtaining the estimated position and velocity of the current contact point based on its measurements, and then predicting the position of the next contact point. Furthermore, the electronic device fully utilizes the property of Kalman filtering: it weights and fuses theoretical calculations and actual observations to obtain the position prediction closest to the true value.

[0110] For a detailed description of steps S205 to S206, please refer to the relevant content in the above embodiments, which will not be repeated here.

[0111] S207, calculate the estimated speed of the previous contact and calculate the second deviation between the speed measurement of the current contact and the estimated speed of the previous contact.

[0112] S208, based on the update of the second deviation using the second Kalman gain, obtain the estimated speed of the current contact point.

[0113] S209, Obtain the predicted position value of the next contact point.

[0114] S210, the covariance of update speed and the covariance of location.

[0115] For a detailed description of steps S207 to S210, please refer to the relevant content in the above embodiments, which will not be repeated here.

[0116] Furthermore, Figure 3 This is a schematic diagram of the first trajectory of a contact point using a contact point trajectory tracking method provided in an embodiment of this application. For example... Figure 3 As shown, the black trajectory line represents the position of the contact point after the Kalman filter operation, while the raw data represents the original position of the contact point without the Kalman filter operation, i.e., the position of the contact point without the contact point trajectory tracking method provided in this embodiment. It can be seen that the raw data trajectory has significant interference, while the predicted contact point trajectory using the contact point trajectory tracking method is more accurate and has stronger anti-interference capabilities. In other words, after the contact point trajectory tracking method is applied, the deviation between the predicted contact point position and the actual contact point position is extremely small.

[0117] Figure 4 This is a schematic diagram of the second trajectory of a contact point in the contact point trajectory tracking method provided in an embodiment of this application. Figure 4 As shown, without the Kalman filter, the raw data reveals that the contact's trajectory is highly uncertain, and the contact jumps erratically due to noise interference. However, after the Kalman filter, the contact's trajectory becomes more regular.

[0118] It should be further noted that the embodiments provided in this application can be applied to touch fields such as touch trajectory prediction, touch tracking, gesture prediction, stroke recognition, and handwriting recognition.

[0119] Figure 5 This is a schematic diagram of the structure of a contact trajectory tracking device according to an embodiment of this application. Figure 5 As shown, the contact trajectory tracking device 50 includes:

[0120] The first acquisition module 501 is used to acquire the measured value of the current contact point output by the Kalman filter, and update the roll-off factor of the gain adjustment based on the measured value of the current contact point.

[0121] The second acquisition module 502 is used to update the position error and the velocity error respectively according to the roll-off factor, and acquire the first Kalman gain related to position and the second Kalman gain related to velocity.

[0122] The third acquisition module 503 is used to update the position according to the first Kalman gain to obtain the estimated position of the current contact point, and to update the speed according to the second Kalman gain to obtain the estimated speed of the current contact point;

[0123] The fourth acquisition module 504 is used to acquire the predicted position value of the next contact point based on the estimated position and the estimated speed of the current contact point.

[0124] Optionally, the first acquisition module 501 is further configured to:

[0125] Based on the measured value of the current contact point, determine the speed measurement value of the current contact point, and update the roll-off factor based on the speed measurement value.

[0126] Optionally, the second acquisition module 502 is further configured to:

[0127] The first measurement error matrix of the position is updated according to the roll-off factor to obtain the second measurement error matrix;

[0128] Based on the current velocity measurement of the contact point, the first covariance matrix of the position is updated to obtain the second covariance matrix;

[0129] The first Kalman gain is obtained based on the first observation state matrix, the second covariance matrix, and the second measurement error matrix.

[0130] Optionally, the second acquisition module 502 is further configured to:

[0131] Based on the roll-off factor, the third measurement error matrix of the speed is updated to obtain the fourth measurement error matrix;

[0132] The second Kalman gain is obtained based on the second observation state matrix of velocity, the third covariance matrix of velocity, and the fourth measurement error matrix.

[0133] Optionally, the third acquisition module 503 is further configured to:

[0134] Based on the previous contact point, determine the predicted position value of the current contact point output by the Kalman filter;

[0135] Based on the first observation state matrix and the first Kalman gain of the current contact point's position, the measured position value and the predicted position value of the current contact point are updated to obtain the estimated position of the current contact point.

[0136] Optionally, the third acquisition module 503 is further configured to:

[0137] The predicted position value of the current touch point is multiplied by the first observation state matrix to obtain the first intermediate value;

[0138] The difference between the measured position value of the current contact point and the first intermediate value is calculated to obtain the second intermediate value;

[0139] The first Kalman gain and the second intermediate value are multiplied to obtain the third intermediate value;

[0140] The estimated position of the current contact point is obtained by summing the predicted position value of the current contact point and the third intermediate value.

[0141] Optionally, the third acquisition module 503 is further configured to:

[0142] Determine the estimated speed of the previous contact point based on the estimated position of the current contact point;

[0143] Based on the second observation state matrix and the second Kalman gain of the current contact point's velocity, the velocity measurement of the current contact point and the estimated velocity of the previous contact point are updated to obtain the estimated velocity of the current contact point.

[0144] Optionally, the third acquisition module 503 is further configured to:

[0145] The estimated velocity of the previous contact point and the second observation state matrix are multiplied to obtain the fourth intermediate value;

[0146] The difference between the current contact speed measurement value and the fourth intermediate value is calculated to obtain the fifth intermediate value;

[0147] The second Kalman gain and the fifth intermediate value are multiplied to obtain the sixth intermediate value;

[0148] The estimated speed of the current contact point is obtained by summing the estimated speed of the previous contact point and the sixth intermediate value.

[0149] Optionally, the fourth acquisition module 504 is further configured to:

[0150] The touch displacement is obtained by integrating the estimated velocity of the current touch point;

[0151] The position prediction value of the next touch point is obtained by summing the touch displacement with the estimated position of the current touch point, as output by the Kalman filter.

[0152] It should be noted that for details not disclosed in the contact trajectory tracking device of the embodiments of this disclosure, please refer to the details disclosed in the contact trajectory tracking method provided in the above embodiments of this disclosure, which will not be repeated here.

[0153] This application also provides an electronic device, including: a processor; and a memory for storing processor-executable instructions, wherein the processor is configured to execute the instructions to implement the touch trajectory tracking method described above.

[0154] To implement the above embodiments, this application also proposes a non-transitory computer-readable storage medium.

[0155] When the instructions in the storage medium are executed by the processor of the electronic device, the electronic device is able to perform the touch trajectory tracking method of the touch trajectory as described above.

[0156] To implement the above embodiments, this application also provides a computer program product.

[0157] When the computer program product is executed by the processor of the electronic device, it enables the electronic device to perform the method described above.

[0158] Figure 6 This is a schematic diagram illustrating the structure of an electronic device according to an exemplary embodiment. For example... Figure 6As shown, the electronic device 60 includes a touch trajectory tracking device 50. This electronic device can be a mobile electronic device or a non-mobile electronic device. For example, mobile electronic devices can be mobile phones, tablets, laptops, PDAs, in-vehicle electronic devices, wearable devices, ultra-mobile personal computers (UMPCs), netbooks, or personal digital assistants (PDAs), etc., while non-mobile electronic devices can be network-attached storage (NAS), personal computers (PCs), televisions (TVs), ATMs, or self-service machines, etc. This application embodiment does not specifically limit the scope of the device.

[0159] Figure 7 This is a schematic diagram of the structure of another electronic device according to an exemplary embodiment. Figure 7 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0160] like Figure 7 As shown, the electronic device 700 includes a processor 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a memory 706 into a random access memory (RAM) 703. The RAM 703 also stores various programs and data required for the operation of the electronic device 700. The processor 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0161] The following components are connected to I / O interface 705: memory 706 including hard disk; and communication section 707 including network interface card such as LAN (Local Area Network) card, modem, etc., communication section 707 performs communication processing via a network such as the Internet; drive 708 is also connected to I / O interface 705 as needed.

[0162] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via the communication section 707. When the computer program is executed by the processor 701, it performs the functions defined in the methods of this application.

[0163] In an exemplary embodiment, a storage medium including instructions is also provided, such as a memory including instructions, which can be executed by a processor 701 of an electronic device 700 to perform the above-described method. Optionally, the storage medium may be a non-transitory computer-readable storage medium, such as a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device.

[0164] In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can transmit, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wireline, optical fiber, RF, etc., or any suitable combination thereof.

[0165] Figure 8 This is a structural block diagram of a touch chip according to an exemplary embodiment. Figure 8 The touch chip shown is merely an example and should not be construed as limiting the functionality or scope of the embodiments described in this application. Figure 8 As shown, the touch chip 800 includes a processor 801 and a memory 802. The memory 802 is used to store program code, and the processor 801 is connected to the memory 802 to read the program code from the memory 802 to implement the touch trajectory tracking method in the above embodiment.

[0166] Alternatively, the number of processors 801 can be one or more.

[0167] Optionally, the touch chip may also include an interface 803, and there may be multiple interfaces 803. This interface 803 can connect to an application and can receive data from external devices such as sensors.

[0168] Other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.

[0169] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A method for tracking contact trajectory, characterized in that, include: Obtain the measurement value of the current contact point output by the Kalman filter, determine the speed measurement value of the current contact point based on the measurement value of the current contact point, and update the roll-off factor of the gain adjustment based on the speed measurement value; Based on the roll-off factor, the position error and velocity error are updated respectively; The first measurement error matrix of the position is updated according to the roll-off factor to obtain the second measurement error matrix; Based on the current velocity measurement of the contact point, the first covariance matrix of the position is updated to obtain the second covariance matrix; Based on the first observation state matrix, the second covariance matrix, and the second measurement error matrix, obtain the first Kalman gain related to the location; Based on the roll-off factor, the third measurement error matrix of the speed is updated to obtain the fourth measurement error matrix; Based on the second observation state matrix of velocity, the third covariance matrix of velocity, and the fourth measurement error matrix, obtain the second Kalman gain related to velocity; The position is updated based on the first Kalman gain to obtain the estimated position of the current contact point, and the velocity is updated based on the second Kalman gain to obtain the estimated velocity of the current contact point; Based on the estimated position and estimated speed of the current contact point, obtain the predicted position value of the next contact point; Among them, the first measurement error matrix, the second measurement error matrix, the first covariance matrix, the second covariance matrix, the first observation state matrix, the third measurement error matrix, the fourth measurement error matrix, the second observation state matrix, and the third covariance matrix are all one-dimensional variables, that is, they have only one element.

2. The method according to claim 1, characterized in that, The step of updating the position based on the first Kalman gain includes: Based on the previous contact point, determine the predicted position value of the current contact point output by the Kalman filter; Based on the first observation state matrix and the first Kalman gain of the current contact point's position, the measured position value and the predicted position value of the current contact point are updated to obtain the estimated position of the current contact point.

3. The method according to claim 2, characterized in that, The process of updating the measured position value and the predicted position value of the current contact point based on the first observation state matrix and the first Kalman gain of the current contact point to obtain the estimated position of the current contact point includes: The predicted position value of the current touch point is multiplied by the first observation state matrix to obtain the first intermediate value; The difference between the measured position value of the current contact point and the first intermediate value is calculated to obtain the second intermediate value; The first Kalman gain and the second intermediate value are multiplied to obtain the third intermediate value; The estimated position of the current contact point is obtained by summing the predicted position value of the current contact point and the third intermediate value.

4. The method according to claim 1, characterized in that, The step of updating the velocity based on the second Kalman gain includes: Determine the estimated speed of the previous contact point based on the estimated position of the current contact point; Based on the second observation state matrix and the second Kalman gain of the current contact point's velocity, the velocity measurement of the current contact point and the estimated velocity of the previous contact point are updated to obtain the estimated velocity of the current contact point.

5. The method according to claim 4, characterized in that, The second observation state matrix and the second Kalman gain based on the current contact point's speed update the current contact point's speed measurement and the previous contact point's estimated speed to obtain the current contact point's estimated speed, including: The estimated velocity of the previous contact point and the second observation state matrix are multiplied to obtain the fourth intermediate value; The difference between the current contact speed measurement value and the fourth intermediate value is calculated to obtain the fifth intermediate value; The second Kalman gain and the fifth intermediate value are multiplied to obtain the sixth intermediate value; The estimated speed of the current contact point is obtained by summing the estimated speed of the previous contact point and the sixth intermediate value.

6. The method according to claim 1, characterized in that, The step of obtaining the predicted position value of the next contact point based on the estimated position and estimated velocity of the current contact point includes: The touch displacement is obtained by integrating the estimated velocity of the current touch point; The position prediction value of the next touch point is obtained by summing the touch displacement with the estimated position of the current touch point, as output by the Kalman filter.

7. A device for tracking contact trajectories, characterized in that, include: The first acquisition module is used to acquire the measurement value of the current contact point output by the Kalman filter, determine the speed measurement value of the current contact point, and update the roll-off factor of the gain adjustment based on the speed measurement value and the measurement value of the current contact point. The second acquisition module is used to update the position error and velocity error respectively according to the roll-off factor; and to update the first position measurement error matrix according to the roll-off factor to obtain the second measurement error matrix. Based on the current velocity measurement of the contact point, the first covariance matrix of the position is updated to obtain the second covariance matrix; based on the first observation state matrix of the position, the second covariance matrix, and the second measurement error matrix, the first Kalman gain related to the position is obtained; The third measurement error matrix of velocity is updated based on the roll-off factor to obtain the fourth measurement error matrix; the second Kalman gain related to velocity is obtained based on the second observation state matrix of velocity, the third covariance matrix of velocity, and the fourth measurement error matrix. The third acquisition module is used to update the position according to the first Kalman gain to obtain the estimated position of the current contact point, and to update the speed according to the second Kalman gain to obtain the estimated speed of the current contact point; The fourth acquisition module is used to acquire the predicted position value of the next contact point based on the estimated position and the estimated speed of the current contact point. Among them, the first measurement error matrix, the second measurement error matrix, the first covariance matrix, the second covariance matrix, the first observation state matrix, the third measurement error matrix, the fourth measurement error matrix, the second observation state matrix, and the third covariance matrix are all one-dimensional variables, that is, they have only one element.

8. The apparatus according to claim 7, characterized in that, The third acquisition module is also used for: Based on the previous contact point, determine the predicted position value of the current contact point output by the Kalman filter; Based on the first observation state matrix and the first Kalman gain of the current contact point's position, the measured position value and the predicted position value of the current contact point are updated to obtain the estimated position of the current contact point.

9. The apparatus according to claim 8, characterized in that, The third acquisition module is also used for: The predicted position value of the current touch point is multiplied by the first observation state matrix to obtain the first intermediate value; The difference between the measured position value of the current contact point and the first intermediate value is calculated to obtain the second intermediate value; The first Kalman gain and the second intermediate value are multiplied to obtain the third intermediate value; The estimated position of the current contact point is obtained by summing the predicted position value of the current contact point and the third intermediate value.

10. The apparatus according to claim 7, characterized in that, The third acquisition module is also used for: Determine the estimated speed of the previous contact point based on the estimated position of the current contact point; Based on the second observation state matrix and the second Kalman gain of the current contact point's velocity, the velocity measurement of the current contact point and the estimated velocity of the previous contact point are updated to obtain the estimated velocity of the current contact point.

11. The apparatus according to claim 10, characterized in that, The third acquisition module is also used for: The estimated velocity of the previous contact point and the second observation state matrix are multiplied to obtain the fourth intermediate value; The difference between the current contact speed measurement value and the fourth intermediate value is calculated to obtain the fifth intermediate value; The second Kalman gain and the fifth intermediate value are multiplied to obtain the sixth intermediate value; The estimated speed of the current contact point is obtained by summing the estimated speed of the previous contact point and the sixth intermediate value.

12. The apparatus according to claim 7, characterized in that, The fourth acquisition module is also used for: The touch displacement is obtained by integrating the estimated velocity of the current touch point; The position prediction value of the next touch point is obtained by summing the touch displacement with the estimated position of the current touch point, as output by the Kalman filter.

13. An electronic device, characterized in that, include: The contact trajectory tracking device as described in any one of claims 7-12.

14. A touch chip, characterized in that, include: Memory, used to store program code; A processor, connected to the memory, is configured to read the program code from the memory to execute the touch trajectory tracking method as described in any one of claims 1-6.

15. A non-transitory computer-readable storage medium, characterized in that, When the instructions in the storage medium are executed by the processor of the electronic device, the electronic device is able to perform the method as described in any one of claims 1-6.

16. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method described in any one of claims 1-6.

Citation Information

Patent Citations

  • A method and device for estimating motion state of obstacle

    CN111666891A

  • Kalman filtering adaptive filtering algorithm based on error control

    CN112671373A