A data processing method, device, apparatus, and storage medium

CN116929340BActive Publication Date: 2026-10-23CHINA MOBILE M2M +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210373211.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-11
Publication Date
2026-10-23
Estimated Expiration
2042-04-11

AI Technical Summary

Technical Problem

为了提高定位精度,目前,设置一个阈值进行加速度取模,得到加速度模型,并利用加速度模型判断行人处于静止状态还是运动状态,当行人状态与加速度模型的阈值不匹配时,无法精确判定静止状态和运动状态,进而导致在对行人进行定位时,定位精度变差

Benefits of technology

[0017]本申请实施例提供一种数据处理方法、装置、设备及存储介质,该方法包括:获取惯性器件的运动数据;并将至少一个预设运动状态阈值与所述运动数据进行比较,得到至少一组运动状态判定结果;至少一个运动状态阈值根据运动状态为静止的历史运动数据得到;至少一个预设运动状态阈值中的每一个预设运动状态阈值对应一组运动状态判定结果;根据运动数据,从至少一组运动状态判定结果中确定一组目标运动状态判定结果;并从一组目标运动状态判定结果中确定出运动状态判定结果为静止的结果区间;从运动数据中确定结果区间对应的目标运动数据,并根据目标运动数据确定出误差修正值;基于误差修正值对运动数据进行调整,得到调整后的运动数据;调整后的运动数据对应的定位精度大于运动数据对应的定位精度。采用上述实现方案,在对行人进行定位的过程中,根据行人在静止状态下的历史运动数据确定出至少一个运动状态阈值,根据获取到的至少一个运动状态阈值与实时状态下采集的行人的运动数据的比较得到一组目标运动状态判定结果,并利用该目标运动状态判定结果从行人的运动数据中确定静止状态的运动数据,基于静止状态的运动数据确定的误差修正项,能够提高行人的运动数据的准确性,从而基于更加准确的行人的运动数据能够提高行人定位精度,减小定位误差。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116929340B_ABST
    Figure CN116929340B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a data processing method, device and equipment, and a storage medium. The data processing method comprises the following steps: acquiring motion data of an inertial device; comparing at least one preset motion state threshold with the motion data to obtain at least one group of motion state determination results; determining a group of target motion state determination results from the at least one group of motion state determination results according to the motion data; determining a result interval in which the motion state determination result is static from the group of target motion state determination results; determining target motion data corresponding to the result interval from the motion data, and determining an error correction value according to the target motion data; adjusting the motion data based on the error correction value to obtain adjusted motion data; and the positioning accuracy corresponding to the adjusted motion data is greater than the positioning accuracy corresponding to the motion data, so that the positioning accuracy of the pedestrian can be improved, and the positioning error can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of positioning, and more particularly to a data processing method, apparatus, device, and storage medium. Background Technology

[0002] Current pedestrian positioning methods involve attaching an inertial device to the pedestrian's wrist. As the pedestrian walks, the inertial device collects motion data, which is then used to locate the pedestrian. To improve positioning accuracy, a threshold is set for acceleration modeling. This acceleration model is then used to determine whether the pedestrian is stationary or moving. However, when the pedestrian's state does not match the threshold of the acceleration model, it becomes impossible to accurately determine whether they are stationary or moving, leading to decreased positioning accuracy. Summary of the Invention

[0003] In view of this, embodiments of this application aim to provide a data processing method, device, terminal, and storage medium that can reduce positioning errors and improve positioning accuracy.

[0004] To achieve the above objectives, the technical solution of this application is implemented as follows:

[0005] In a first aspect, embodiments of this application provide a data processing method, the method comprising:

[0006] Acquire motion data of inertial devices; and compare at least one preset motion state threshold with the motion data to obtain at least one set of motion state determination results; at least one motion state threshold is obtained based on historical motion data in which the motion state is stationary; each preset motion state threshold in the at least one preset motion state threshold corresponds to a set of motion state determination results;

[0007] Based on the motion data, determine a set of target motion state determination results from at least one set of motion state determination results; and determine the result range where the motion state determination result is stationary from the set of target motion state determination results.

[0008] Determine the target motion data corresponding to the result interval from the motion data, and determine the error correction value based on the target motion data;

[0009] The motion data is adjusted based on the error correction value to obtain the adjusted motion data; the positioning accuracy corresponding to the adjusted motion data is greater than the positioning accuracy corresponding to the original motion data.

[0010] Secondly, embodiments of this application provide a data processing apparatus, the apparatus comprising:

[0011] Acquisition unit, used to acquire motion data of inertial devices;

[0012] The comparison unit is used to compare at least one preset motion state threshold with motion data to obtain at least one set of motion state determination results; at least one motion state threshold is obtained based on historical motion data in which the motion state is static; each preset motion state threshold in the at least one preset motion state threshold corresponds to a set of motion state determination results.

[0013] The determining unit is used to determine a set of target motion state determination results from at least one set of motion state determination results based on motion data; determine the result interval where the motion state determination result is stationary from the set of target motion state determination results; determine the target motion data corresponding to the result interval from the motion data; and determine the error correction value based on the target motion data.

[0014] The adjustment unit is used to adjust the motion data based on the error correction value to obtain the adjusted motion data; the positioning accuracy corresponding to the adjusted motion data is greater than the positioning accuracy corresponding to the motion data.

[0015] Thirdly, embodiments of this application provide a terminal device, which includes a processor, a memory, and a communication bus; the processor executes the running program stored in the memory to implement the above-mentioned data processing method.

[0016] Fourthly, embodiments of this application provide a storage medium storing a computer program thereon, which, when executed by a processor, implements the above-described data processing method.

[0017] This application provides a data processing method, apparatus, device, and storage medium. The method includes: acquiring motion data from an inertial device; comparing at least one preset motion state threshold with the motion data to obtain at least one set of motion state determination results; the at least one motion state threshold is obtained based on historical motion data where the motion state is stationary; each of the at least one preset motion state threshold corresponds to a set of motion state determination results; determining a set of target motion state determination results from the at least one set of motion state determination results based on the motion data; determining a result interval where the motion state determination result is stationary from the set of target motion state determination results; determining target motion data corresponding to the result interval from the motion data, and determining an error correction value based on the target motion data; adjusting the motion data based on the error correction value to obtain adjusted motion data; the positioning accuracy corresponding to the adjusted motion data is greater than the positioning accuracy corresponding to the motion data. By adopting the above implementation scheme, in the process of locating pedestrians, at least one motion state threshold is determined based on the historical motion data of the pedestrian in a static state. A set of target motion state determination results is obtained by comparing the obtained at least one motion state threshold with the motion data of the pedestrian collected in real time. The motion data in a static state is then determined from the motion data of the pedestrian using the target motion state determination results. The error correction term determined based on the motion data in a static state can improve the accuracy of the pedestrian motion data. Thus, based on more accurate pedestrian motion data, the pedestrian positioning accuracy can be improved and the positioning error can be reduced. Attached Figure Description

[0018] Figure 1 A flow chart of a data processing method provided in this application embodiment Figure 1 ;

[0019] Figure 2 This is a schematic diagram illustrating an exemplary motion state determination result provided in an embodiment of this application;

[0020] Figure 3 An exemplary flowchart for calculating at least one preset motion state threshold is provided for embodiments of this application;

[0021] Figure 4 A flow chart of a data processing method provided in this application embodiment Figure 2 ;

[0022] Figure 5 This is a schematic diagram of the structure of a data processing device 1 provided in an embodiment of this application;

[0023] Figure 6 This is a schematic diagram of the structure of a terminal device 2 provided in an embodiment of this application. Detailed Implementation

[0024] To gain a more detailed understanding of the features and technical content of the embodiments of this application, the technical solution of this application will be further described in detail below with reference to the accompanying drawings and specific embodiments. The accompanying drawings are for reference only and are not intended to limit the embodiments of this application.

[0025] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to be limiting of this application.

[0026] In the following description, references to "some embodiments" refer to a subset of all possible embodiments. It is understood that "some embodiments" may be the same or different subsets of all possible embodiments and may be combined with each other without conflict. It should also be noted that the terms "first / second / third" used in the embodiments of this application are merely for distinguishing similar objects and do not represent a specific ordering of objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein.

[0027] This application provides a data processing method, such as... Figure 1 As shown, the method may include:

[0028] S101. Acquire motion data of the inertial device; and compare at least one preset motion state threshold with the motion data to obtain at least one set of motion state determination results; at least one motion state threshold is obtained based on historical motion data in which the motion state is stationary; each preset motion state threshold in the at least one preset motion state threshold corresponds to a set of motion state determination results.

[0029] In this embodiment, the inertial device can be attached to the pedestrian's ankle, thigh, calf, wrist, arm, or other body parts. Alternatively, the inertial device can be placed inside the pedestrian's clothing. The specific choice can be made according to the actual situation, and this embodiment does not impose any specific limitations.

[0030] In the embodiments of this application, an inertial device is a device that responds to physical motion, such as linear displacement or angular rotation, and converts this response into an electrical signal, which is then amplified or processed by electronic circuits. Accelerometers and gyroscopes are the two most common types of inertial devices.

[0031] In this embodiment, during the pedestrian's movement, the inertial device is activated and collects the pedestrian's acceleration and angular velocity data in real time, and then caches the collected acceleration and angular velocity data in the inertial device. The inertial device can calculate its own motion data based on the collected acceleration and angular velocity data of the pedestrian.

[0032] In this embodiment of the application, when the inertial device collects the acceleration and angular velocity data of pedestrians, the sampling period can be set to 50 seconds and the sampling frequency to 200 Hz. Alternatively, the sampling frequency can be selected according to the actual situation, without making specific limitations here.

[0033] The motion data of the inertial device can be calculated based on the acceleration and angular velocity data of the pedestrian collected by the aforementioned inertial device.

[0034] In practical applications, the motion data of the aforementioned inertial devices can be calculated using the following formulas (1)-(5). Specifically,

[0035]

[0036] The acceleration value |acc| of the inertial device is calculated using formula (1). i ,in, This represents the X-axis acceleration value, in g. This represents the acceleration value along the Y-axis, in g. The acceleration value along the Z-axis is expressed in g. The acceleration values ​​along the X, Y, and Z axes are relative to the inertial space and are based on the inertial coordinate system.

[0037]

[0038] The angular velocity value |gyro| of the inertial device is calculated using formula (2). i ,in, This represents the angular velocity value along the X-axis, in degrees. This represents the angular velocity value along the Y-axis, in degrees. The Z-axis angular velocity value is expressed in degrees. The angular velocity values ​​of the X, Y, and Z axes are based on the inertial coordinate system and are relative to inertial space.

[0039]

[0040]

[0041] Based on the preset accelerometer and angular velocity error values ​​of the inertial device, the standard deviations of the accelerometer error value (cova) and angular velocity error value (covw) of the inertial device are calculated using formulas (3) and (4), respectively, where β acc β represents the accelerometer error value. gyro This represents the error value of the angular velocity meter.

[0042] It should be noted that inertial devices include accelerometers and angular velocity meters. The accelerometer error value and angular velocity meter error value of the inertial device can be obtained through the accelerometer and angular velocity meters, respectively.

[0043] Based on the acceleration, angular velocity, and standard deviations of the accelerometer and angular velocity measurements of the inertial device under motion conditions calculated above, the motion data |mems| of the inertial device are calculated using formula (5). i The specific calculation method is as follows:

[0044] |mems| i =|acc| i / cova+|gyro| i / covw (5)

[0045] It should be noted that the motion data of pedestrians collected by the inertial device includes at least one set of acceleration data and angular velocity data. Therefore, the motion data of the inertial device calculated according to formula (5) includes at least one set of motion data, and at least one set of motion data can be cached in the inertial device cache queue.

[0046] For example, st_mems_norm is a cache queue for at least one motion data of an inertial device, and its cache form can be st_mems_norm = [|mems|1, |mems|2, ..., |mems| n ].

[0047] After acquiring at least one motion data point, the acquired motion data point must be compared with at least one preset motion state threshold to obtain at least one set of motion state determination results.

[0048] It should be noted that before comparison, it is necessary to select historical motion data in which the motion state is stationary from the historical motion data of the inertial device. The motion state can include both stationary and moving states.

[0049] In the embodiments of this application, the historical motion data of the inertial device when the motion state is stationary can be calculated by the acceleration data and angular velocity data of the pedestrian in the stationary state obtained by the inertial device, and the accelerometer error value and angular velocity error value of the inertial device.

[0050] In this embodiment of the application, when the inertial device collects historical acceleration data and historical angular velocity data of a pedestrian in a stationary state, the sampling period can be set to 50 seconds and the sampling frequency to 200 Hz. Alternatively, the sampling frequency can be selected according to the actual situation, without making specific limitations here.

[0051] In the embodiments of this application, the historical acceleration data and historical angular velocity data acquired by the inertial device include at least one set of data. The historical motion data of the pedestrian in a stationary motion state calculated based on the historical acceleration data, historical angular velocity data, and the accelerometer error value and angular velocity error value of the inertial device includes at least one set of historical motion data.

[0052] The average value of at least one historical motion data obtained from the above calculation is used to obtain an initial preset motion state threshold. It should be noted that the method of obtaining the initial preset motion state threshold is not limited to the above average value calculation method. Any method of obtaining the initial preset motion state threshold based on at least one historical motion data is within the protection scope of the embodiments of this application. The specific method can be selected according to the specific situation, and no specific limitation is made here.

[0053] In this embodiment of the application, based on the initial preset motion state threshold obtained by the above calculation, a motion state threshold is determined every preset value range. At least one motion state threshold is formed by the determined motion state threshold and the initial preset motion state threshold. Here, the preset value range is not specifically limited, but can be limited according to the actual situation.

[0054] For example, assume the initial preset motion state threshold is σ. c , with σ c Centered on σ, with 1 as the interval, take 5 numbers forward and 5 numbers backward respectively, to obtain the result including σ. c 11 motion state threshold queues σ array As shown below:

[0055] σ array =[σ c -5,σ c -4,σ c -3,σ c -2,σ c -1,σ c ,σ c +1,σ c +2,σ c +3,σ c +4,σ c +5]

[0056] In this embodiment of the application, after obtaining at least one motion state threshold, it is necessary to compare the obtained at least one motion state threshold with at least one motion data in the inertial device buffer queue calculated above. If the motion data in the inertial device buffer queue is greater than the motion state threshold, the motion state label is set to motion label 0; if the motion data in the inertial device buffer queue is less than or equal to the preset motion state threshold, the motion state label is set to stationary label 1. Specifically, it can be done as follows:

[0057] like but Where 1≤i <n; (6)

[0058] like but Where 1≤i <n。 (7)

[0059] in, The frame label indicates the static state of the pedestrian; The label represents the frame label for pedestrian motion state, where n is the number of buffered motion data in the inertial device, k represents the number of motion state thresholds, and σ array For motion state threshold queue, The threshold for motion states, |mems| i This represents the i-th motion data in the inertial device queue.

[0060] It should be noted that in the embodiments of this application, the pedestrian stationary state frame label can be represented by any number or letter other than 1, and the pedestrian moving state frame label can be represented by any number or letter other than 0. Specifically, the selection can be made according to the actual situation, and no specific limitation is made in this application.

[0061] After the above comparison, the comparison results are sorted according to the order of motion state labels obtained by comparing motion state thresholds with motion data, resulting in a set of motion state determination results corresponding to each motion state threshold.

[0062] In the embodiments of this application, a motion state threshold corresponds to a set of motion state determination results. If there is at least one motion state threshold, then the motion state determination results also include at least one set.

[0063] For example, suppose that the obtained motion state threshold queue σ array The motion state thresholds in are respectively Based on the 11 obtained motion state thresholds and the motion data in the inertial device buffer queue calculated above |mems| i Comparison, specifically, sequentially from σ arrayEach value is extracted as the current pedestrian state determination threshold. By comparing all motion data from the inertial device in sequence, 11 sets of motion state determination results are obtained, which can be calculated using the following formula:

[0064] like but Where 1≤i <n; (8)

[0065] like but Where 1≤i <n。 (9)

[0066] in, The frame label indicates the static state of the pedestrian. The label represents the frame label for pedestrian motion state, where n is the number of motion data in the inertial device, k represents the number of motion state thresholds, and σ array For motion state threshold queue, The threshold for motion states, |mems| i This represents the i-th motion data in the inertial device queue.

[0067] Suppose we take the first motion state threshold from the motion state threshold queue. Each of the motion data in the inertial device's buffer queue |mems| i Compare sequentially, if the motion data |mems| i If the value is less than or equal to the threshold of the motion state, it is set to static motion label 1. If the motion data |mems| i If the value exceeds the motion state threshold, then the motion state label is set to 0. sequentially with each motion data |mems| i The comparison results are sorted according to the order of the corresponding motion data to obtain a set of motion state judgment results corresponding to the motion state threshold; then, the second motion state threshold is selected sequentially. Each of the motion data in the inertial device's buffer queue |mems| i By comparing them sequentially, following the comparison method described above, we can obtain... The corresponding set of motion state determination results; take out the remaining motion state thresholds in sequence and compare them according to the above comparison method to obtain the motion state determination results corresponding to the remaining motion state thresholds.

[0068] In this embodiment, there are 11 motion state thresholds, which can yield 11 sets of motion state determination results st_array_status, as follows:

[0069]

[0070] wherein, represents a motion state label, where 1≤i<11 and 1≤k<n. It should be noted that each set of motion state determination results may consist of static state frame label 1 and / or motion state frame label 0, and the representation manners of the static state frame label and the motion state frame label are not specifically limited herein.

[0071] It should be noted that the first motion state threshold corresponds to the first row of data in the motion state determination result st_array_status; the second motion state threshold corresponds to the second row of data in the motion state determination result st_array_status; and so on, the 11th motion state threshold corresponds to the 11th row of data in the motion state determination result st_array_status.

[0072] In the embodiment of the present application, the schematic diagram of the obtained pedestrian motion state determination result is as shown in Figure 2 , real-time sampling is performed under the conditions that the sampling period is 50 seconds and the sampling frequency is 200HZ. It can be seen from Figure 2 that the comparison result obtained by comparing the above motion state threshold with the motion data of the inertial device presents the static state frame label 1 for a period of time, indicating that the pedestrian is in a static state, and presents the motion state frame label 0 for a period of time, indicating that the pedestrian is in a motion state.

[0073] In the embodiment of the present application, the number of the inertial device motion data |mems| i is equal to the queue length in the motion state determination result, and the elements are in one-to-one correspondence. For example, |mems|1 corresponds to |mems|2 corresponds to |mems| corresponds to Each motion state threshold corresponds to one set of motion state determination results.

[0074] It should be noted that the number of motion state thresholds and the number of acquired motion data of the inertial devices in the present application are not specifically limited.

[0075] S102: According to the motion data, determine one set of target motion state determination results from at least one set of motion state determination results; and determine a result interval where the motion state determination result is static from the set of target motion state determination results.

[0076] In this embodiment of the application, after obtaining at least one set of motion state determination results, it is necessary to select at least one set of continuous stationary state frame tags from each set of motion state determination results. The motion state may include stationary state and motion state.

[0077] It should be noted that each set of motion state determination results consists of static state frame label 1 and / or motion state frame label 0, and a set of static state frame labels consists of consecutive... A set of static state frame tags can be composed of at least two consecutive composition.

[0078] Based on the at least one set of stationary state frame tags obtained above, at least one set of motion data corresponding to at least one set of stationary state frame tags is obtained from the inertial device buffer queue. The average value and median value of the at least one set of motion data are calculated respectively. The absolute value of the difference obtained by subtracting the average value from the median value is used. The sum of the absolute values ​​of the differences corresponding to each set of motion data is used as the error value corresponding to the motion state determination result of that set.

[0079] It should be noted that in the embodiments of this application, a set of motion state determination results corresponds to an error value, and the obtained at least one motion state determination result corresponds to at least one error value.

[0080] In this embodiment of the application, according to the calculation method of the error value corresponding to the motion state determination result, at least one set of error values ​​corresponding to the motion state determination result can be calculated in sequence, the smallest error value is selected from the at least one error value corresponding to the at least one motion state determination result, and the motion state determination result corresponding to the smallest error value is determined as the target motion state determination result.

[0081] For example, assuming the first set of motion state determination results is: st_array = [1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1], then three sets of stationary state frame labels can be obtained from this set of motion state determination results, namely:

[0082] The first group of static state frame labels: st_array_1 = [1,1,1,1], is composed of the first to fourth elements in st_array;

[0083] The second set of static state frame tags: st_array_2 = [1,1,1,1,1], is composed of the 7th to 11th elements in st_array;

[0084] The third group of static state frame labels: st_array_3 = [1,1,1,1,1,1], consists of the 15th to the 20th elements in st_array.

[0085] Furthermore, based on the three sets of motion state frame labels obtained above, three sets of motion data corresponding to the three sets of stationary state frame labels can be obtained from the motion data of the inertial device.

[0086] Assume the motion data in the inertial device buffer queue st_mems_norm is as follows:

[0087] st_mems_norm=[m1,m2,m3,m4,m5,m6,m7,m8,m9,m 10 ,m 11 ,m 12 ,m 13 ,m 14 ,m 15 ,m 16 ,m 17 ,m 18 ,m 19 ,m 20 ]

[0088] Based on the data in the three sets of stationary frame labels st_array_1, st_array_2, and st_array_3 obtained above, three sets of motion data in the inertial device buffer queue can be obtained, namely:

[0089] The first set of motion data: st_mems_norm_1 = [m1,m2,m3,m4], is composed of the first to fourth elements in st_mems_norm;

[0090] Second set of motion data: st_mems_norm_2 = [m7, m8, m9, m 10 ,m 11 ] is composed of the 7th to 11th elements in st_mems_norm;

[0091] Third set of motion data: st_mems_norm_3 = [m 15 ,m 16 ,m 17 ,m 18 ,m 19 ,m 20 ] is composed of the 15th to the 20th elements in st_mems_norm.

[0092] It should be noted that the stationary frame labels in the motion state determination results correspond one-to-one with the motion data in the inertial device buffer queue. The first to fourth elements in the motion state determination results correspond to m1 to m4 in the inertial device buffer queue, and the seventh to eleventh elements correspond to m7 to m4 in the inertial device buffer queue. 11 The 15th to 20th elements in the motion state determination result correspond to m in the inertial device buffer queue. 15 ~m 20 .

[0093] Furthermore, based on the three sets of inertial device motion data in the first set of motion data determined above, the error value corresponding to the first set of motion state determination results can be determined. Specifically, the average value of the three sets of motion data corresponding to the three sets of stationary state frame labels is first calculated using formulas (10)-(12):

[0094] st_mems_norm_1_avg=(m1+m2+m3+m4) / 4 (10)

[0095] st_mems_norm_2_avg=(m7+m8+m9+m 10 +m 11 ) / 5 (11)

[0096] st_mems_norm_3_avg=(m 15 +m 16 +m 17 +m 18 +m 19 +m 20 ) / 6 (12)

[0097] Where m1~m4 are the motion data corresponding to the first group of static frames, m7~m 11 For the motion data corresponding to the second set of static frames, m 15 ~m 20 For the motion data corresponding to the third set of stationary frames, st_mems_norm_1_avg represents the average value of the motion data corresponding to the first set of stationary frames, st_mems_norm_2_avg represents the average value of the motion data corresponding to the second set of stationary frames, and st_mems_norm_3_avg represents the average value of the motion data corresponding to the third set of stationary frames.

[0098] After calculating the average value of the three sets of motion data corresponding to the three sets of stationary frame labels, the median value of the three sets of motion data corresponding to the three sets of stationary frame labels is then calculated using formulas (13) and (15):

[0099] st_mems_norm_1_mid_avg=(m2+m3) / 2 (13)

[0100] st_mems_norm_2_mid_avg=m9 (14)

[0101] st_mems_norm_3_mid_avg=(m 17 +m 18 ) / 2 (15)

[0102] Where st_mems_norm_1_mid_avg represents the intermediate value of the motion data corresponding to the first set of stationary frame labels, st_mems_norm_2_mid_avg represents the intermediate value of the motion data corresponding to the second set of stationary frame labels, and st_mems_norm_3_mid_avg = (m 17 +m 18 ) / 2 represents the intermediate value of the motion data corresponding to the third set of static state frame labels.

[0103] It should be noted that when calculating the median value, if the queue length is odd, the middle value of the queue is taken as the median value; if the queue length is even, the average of the two middle values ​​of the queue is taken as the median value.

[0104] It should be noted that, in the embodiments of this application, the average value and median value of the motion data corresponding to the three sets of stationary state frame labels can be calculated in different orders, and no specific limitation is made in this application.

[0105] After calculating the average and median values ​​of the three sets of motion data corresponding to the three sets of static frame tags, the median value of the first set of motion data is subtracted from the average value of the first set of motion data, and the absolute value of the difference is taken. This process is repeated to calculate the absolute values ​​of the differences between the other two sets of motion data. The three absolute values ​​of the differences are then summed, and the calculated values ​​are used as the error values ​​corresponding to a set of motion state determination results. Specifically, these values ​​can be calculated using formulas (16) to (19).

[0106] st_mems_norm_1_diff=|st_mems_norm_1_mid_avg-st_mems_norm_1_avg| (16)

[0107] st_mems_norm_2_diff=|st_mems_norm_2_mid_avg-st_mems_norm_2_avg| (17)

[0108] st_mems_norm_3_diff=|st_mems_norm_3_mid_avg-st_mems_norm_3_avg| (18)

[0109] β mems =st_mems_norm_1_diff+st_mems_norm_2_diff+st_mems_norm_3_diff(19)

[0110] Where st_mems_norm_1_diff represents the absolute value of the difference between the average and median values ​​of the motion data corresponding to the first set of still frames, st_mems_norm_2_diff represents the absolute value of the difference between the average and median values ​​of the motion data corresponding to the second set of still frames, st_mems_norm_3_diff represents the absolute value of the difference between the average and median values ​​of the motion data corresponding to the third set of still frames, and β mems This represents the error value corresponding to the first set of motion state determination results.

[0111] The above calculation method can be used to calculate at least one error value corresponding to at least one set of motion state determination results. The calculation method for the error values ​​corresponding to other motion state determination results is the same as the above calculation method, and will not be repeated here.

[0112] It should be noted that, in the embodiments of this application, the calculation of at least one error value corresponding to at least one set of motion state determination results is not limited to the calculation method in the embodiments of this application, and can be calculated according to specific circumstances. No specific limitation is made in the embodiments of this application.

[0113] Furthermore, after calculating the 11 error values ​​corresponding to the 11 sets of motion state determination results, the smallest error value is determined, and the motion state determination result corresponding to the smallest error value is determined as the target motion state determination result.

[0114] It should be noted that, in the embodiments of this application, an error value corresponds to a set of motion state determination results. Based on the smallest error value obtained above, a corresponding set of motion state determination results can be determined, and the determined set of motion state determination results is determined as the target motion state determination result.

[0115] For example, suppose that the 11 error values ​​corresponding to the 11 sets of motion state determination results are calculated as follows: This can be represented as the following error value queue β array In form, specifically,

[0116] If β array The one with the smallest mean error is β array With σ array One-to-one correspondence, then β array The third element in corresponds to σ array The third element in σ array The third element in the equation is determined as the target motion state threshold, while σ array There is a one-to-one correspondence between st_array and σ. array If the third element in the result corresponds to the third set of motion state determination results in st_array, then the third set of motion state determination results is determined as the target motion state determination result.

[0117] Where, σ array β is the threshold for determining the motion state. array The value represents the error value, and st_array represents the motion state determination result.

[0118] In this embodiment of the application, after obtaining the target motion state determination result, consecutive static state frame tags are selected from the target motion state determination result to form a static result interval and a motion result interval corresponding to consecutive motion state frame tags.

[0119] It should be noted that the static result interval can be composed of at least two consecutive static state frame labels 1, and the motion result interval can be composed of at least two consecutive motion state frame labels 0. The representation methods of static state frame labels and motion state frame labels can be selected according to the actual situation, and no specific restrictions are made here.

[0120] S103. Determine the target motion data corresponding to the result interval from the motion data, and determine the error correction value based on the target motion data.

[0121] In this embodiment of the application, the data in each set of motion state determination results and the motion data in the inertial device buffer queue are in one-to-one correspondence. According to the stationary state frame label in the stationary result interval obtained in step S102 above, the motion data in the inertial device buffer queue corresponding to the stationary state frame label in the stationary result interval can be obtained. The motion data of the inertial device is calculated from the corresponding angular velocity data and acceleration data. According to the angular velocity data and acceleration data obtained by the inertial device corresponding to the stationary result interval, the velocity data corresponding to the stationary result interval can be determined, and the velocity data corresponding to the stationary result interval is used as an error correction term.

[0122] S104. Adjust the motion data based on the error correction value to obtain adjusted motion data; the positioning accuracy corresponding to the adjusted motion data is greater than the positioning accuracy corresponding to the motion data.

[0123] In this embodiment of the application, after calculating the velocity error correction term corresponding to the static result interval, the obtained error correction term is used to correct the real-time velocity data corresponding to the pedestrian in motion state, which can improve the accuracy of the real-time velocity data of the pedestrian in motion state, thereby improving the positioning accuracy of the pedestrian in motion.

[0124] It should be noted that, in this embodiment of the application, after processing a set of data in the inertial device buffer queue, the data in the inertial device buffer queue is deleted.

[0125] It is understood that in the data processing method provided in the embodiments of this application, during the process of locating a pedestrian, at least one motion state threshold is determined based on the historical motion data of the pedestrian in a static state. A set of target motion state determination results is obtained by comparing the obtained at least one motion state threshold with the motion data of the pedestrian collected in real time. The motion data in a static state is determined from the motion data of the pedestrian using the target motion state determination results. The error correction term determined based on the motion data in a static state is used to correct the motion data of the pedestrian, which can improve the accuracy of the motion data of the pedestrian. Therefore, based on more accurate motion data of the pedestrian, the pedestrian positioning accuracy can be improved and the positioning error can be reduced.

[0126] Based on the above embodiments, in another embodiment of this application, before comparing at least one preset motion state threshold with the motion data to obtain at least one set of motion state determination results, i.e., before step S101, as follows: Figure 3 As shown, a data processing method may include the following steps:

[0127] S201. Obtain historical motion data when the motion state is stationary.

[0128] In this embodiment, when the pedestrian is stationary, the inertial device is activated and collects historical acceleration and angular velocity data of the pedestrian at that moment. The collected historical acceleration and angular velocity data are then cached in the inertial device. The inertial device can calculate its historical motion data based on the collected historical acceleration and angular velocity data. In this embodiment, when collecting historical acceleration and angular velocity data, the inertial device can be set to a sampling period of 50 seconds and a sampling frequency of 200 Hz, or other parameters can be selected according to actual conditions; no specific limitations are made here.

[0129] It should be noted that, in this embodiment of the application, the inertial device can be attached to the pedestrian's ankle, thigh, calf, wrist, arm or other body parts, or the inertial device can be placed in the pedestrian's clothing. The specific choice can be made according to the actual situation, and this embodiment of the application does not make specific limitations.

[0130] S202. Determine the initial motion state threshold based on historical motion data and the preset velocity error value corresponding to the inertial device.

[0131] Based on the historical acceleration data and historical angular velocity data of pedestrians collected by the above inertial devices, as well as the accelerometer error value and angular velocity error value of the inertial devices, in practical applications, the historical motion data of the above inertial devices can be calculated using the above formulas (1)-(5). Specifically, the historical acceleration data is substituted into the above formula (1) to calculate the historical acceleration value, the historical angular velocity data is substituted into the above formula (2) to calculate the historical angular velocity value, the accelerometer error value of the inertial devices is substituted into the above formula (3) to obtain the accelerometer error standard deviation, and the angular velocity error value of the inertial devices is substituted into the above formula (4) to obtain the angular velocity error standard deviation.

[0132] It should be noted that inertial devices include accelerometers and angular velocity meters. The accelerometer error value and angular velocity meter error value of the inertial device can be obtained through the accelerometer and angular velocity meters, respectively.

[0133] Based on the historical acceleration values, historical angular velocity values, and standard deviations of accelerometer and angular velocity meter errors calculated above for the inertial device in its stationary state, the historical motion data |mems| of the inertial device can be calculated using the above formula (5). i .

[0134] It should be noted that the historical motion data of pedestrians collected by the inertial device includes at least one set of acceleration data and angular velocity data. Therefore, the historical motion data of the inertial device calculated according to the above formula (5) includes at least one historical motion data, and at least one historical motion data can be cached in the inertial device cache queue.

[0135] After obtaining at least one historical motion data, the average value of the obtained historical motion data is calculated, and the average value is determined as the initial motion state threshold. Specifically, it can be calculated using formulas (20) to (21):

[0136]

[0137] σ c =σ s (twenty one)

[0138] Where, σ s For calculating the motion state threshold, σ c is the initial motion state threshold, and n is the number of motion data corresponding to the pedestrian's stationary motion state.

[0139] It should be noted that, in the embodiments of this application, the method for calculating the initial motion state threshold is not limited to the calculation method in the embodiments of this application, and can be selected according to the actual situation, without specific limitation here.

[0140] S203. Based on the initial motion state threshold, determine a motion state threshold every preset value range; and combine the determined motion state threshold and the initial motion state threshold to form the at least one preset motion state threshold.

[0141] In this embodiment of the application, based on the initial state threshold calculated above, a motion state threshold is determined every preset value range. At least one motion state threshold is formed by the determined motion state threshold and the initial motion state threshold. Here, the preset value range is not specifically limited, but can be limited according to the actual situation.

[0142] For example, assume the initial state threshold is σ c , with σ c Centered on σ, with intervals of 1, we can take 10 numbers from this range to obtain σ. c 11 motion state threshold queues σ array As shown below:

[0143] σ array =[σ c -5,σ c -4,σ c -3,σ c -2,σ c -1,σ c ,σ c +1,σ c +2,σ c +3,σ c +4,σ c +5]

[0144] Based on the above embodiments, a data processing method is provided in this application, such as... Figure 4 As shown, the specific steps include:

[0145] Step 1: Obtain historical acceleration and angular velocity data of the inertial device in a stationary state;

[0146] Step 2: Based on the historical acceleration and angular velocity data of the inertial device in a stationary state, calculate the historical motion data when the motion state is stationary;

[0147] Step 3: Based on historical motion data and the preset velocity error value corresponding to the inertial device, determine the initial motion state threshold, and based on the initial motion state, determine at least one preset motion state threshold every preset value range.

[0148] Step 4: Start the inertial device to collect data and acquire the motion data of the inertial device in real time. Cache the acquired motion data of the inertial device in the inertial device and compare at least one preset motion state threshold with the motion data in the inertial device to obtain at least one set of motion state determination results.

[0149] Step 5: Based on the motion data, determine a set of target motion state determination results from at least one set of motion state determination results; and determine the result range where the motion state determination result is stationary from the set of target motion state determination results.

[0150] Step 6: Determine the target motion data corresponding to the result interval from the motion data, and determine the error correction value based on the target motion data;

[0151] Step 7: Adjust the motion data based on the error correction value to obtain the adjusted motion data;

[0152] Step 8: Clear the processed motion data from the inertial device buffer queue.

[0153] Based on the above embodiments, another embodiment of this application provides a data processing apparatus 1, such as... Figure 5 As shown, the data processing device 1 includes:

[0154] Acquisition Unit 10: Used to acquire motion data of inertial devices.

[0155] Comparison unit 11: used to compare at least one preset motion state threshold with motion data to obtain at least one set of motion state determination results; at least one motion state threshold is obtained based on historical motion data where the motion state is stationary; each preset motion state threshold in the at least one preset motion state threshold corresponds to a set of motion state determination results.

[0156] Determining unit 12: is used to determine a set of target motion state determination results from at least one set of motion state determination results based on motion data; and to determine the result interval where the motion state determination result is stationary from the set of target motion state determination results; to determine the target motion data corresponding to the result interval from the motion data, and to determine the error correction value based on the target motion data.

[0157] The adjustment unit 13 is used to adjust the motion data based on the error correction value to obtain the adjusted motion data; the positioning accuracy corresponding to the adjusted motion data is greater than the positioning accuracy corresponding to the motion data.

[0158] Optionally, the acquisition unit 10 is further configured to acquire the historical motion data when the motion state is stationary.

[0159] Optionally, the determining unit 12 is further configured to determine an initial motion state threshold based on historical motion data and a preset speed error value corresponding to the inertial device; determine a motion state threshold every preset value range based on the initial motion state threshold; and combine the determined motion state threshold and the initial motion state threshold to form at least one preset motion state threshold.

[0160] Optionally, the acquisition unit 10 is further configured to acquire a preset acceleration error value corresponding to the acceleration device of the inertial device and a preset angular velocity error value corresponding to the angular velocity device of the inertial device.

[0161] Optionally, the determining unit 12 is further configured to determine the initial motion state threshold based on the historical acceleration data and the preset acceleration error value, as well as the historical angular velocity data and the preset angular velocity error value.

[0162] Optionally, the comparison unit 11 is further configured to compare the first preset motion state threshold among the at least one preset motion state thresholds with the at least one motion data in sequence to obtain at least one comparison result; the first preset motion state threshold is any one of the at least one preset motion state thresholds.

[0163] Optionally, the data processing device 1 may further include: a setting unit,

[0164] The setting unit is used to set at least one motion state label based on the at least one comparison result.

[0165] Optionally, the data processing device 1 may further include: a sorting unit,

[0166] The sorting unit is used to sort the at least one motion state label according to the arrangement order of the at least one motion data, so as to obtain a set of motion state judgment results corresponding to each preset motion state threshold.

[0167] The setting unit is further configured to set the motion state label as a stationary label if the first motion data in the at least one comparison result is less than or equal to the first preset motion state threshold; and to set the motion state label as a motion label if the second motion data in the at least one comparison result is greater than the first preset motion state threshold.

[0168] Optionally, the data processing device 1 may further include: a selection unit,

[0169] The selection unit is used to select at least one consecutive set of stationary state frame tags from each set of motion state determination results.

[0170] Optionally, the acquisition unit 10 is further configured to acquire at least one set of motion data corresponding to the at least one set of stationary frame tags from the motion data.

[0171] Optionally, the determining unit 12 is further configured to determine an error value corresponding to each set of motion state determination results based on the at least one set of motion data, and determine the first error value with the smallest value from at least one error value corresponding to the at least one set of motion state determination results; and determine the first set of motion state determination results corresponding to the first error value as the set of target motion state determination results.

[0172] This application provides a data processing device that acquires motion data from an inertial device; compares at least one preset motion state threshold with the motion data to obtain at least one set of motion state determination results; the at least one motion state threshold is obtained based on historical motion data where the motion state is stationary; each of the at least one preset motion state threshold corresponds to a set of motion state determination results; based on the motion data, a set of target motion state determination results is determined from the at least one set of motion state determination results; and a result interval where the motion state determination result is stationary is determined from the set of target motion state determination results; target motion data corresponding to the result interval is determined from the motion data, and an error correction value is determined based on the target motion data; the motion data is adjusted based on the error correction value to obtain adjusted motion data; the positioning accuracy corresponding to the adjusted motion data is greater than the positioning accuracy corresponding to the motion data. Therefore, the data processing device proposed in this application, during the process of locating a pedestrian, determines at least one motion state threshold based on the historical motion data of the pedestrian in a static state, obtains a set of target motion state determination results by comparing the obtained at least one motion state threshold with the motion data of the pedestrian collected in real time, and uses the target motion state determination results to determine the motion data in a static state from the motion data of the pedestrian. The error correction term determined based on the motion data in a static state can improve the accuracy of the pedestrian motion data, thereby improving the pedestrian positioning accuracy and reducing the positioning error based on more accurate pedestrian motion data.

[0173] Figure 6 This is a schematic diagram of the composition structure of a terminal device 2 provided in an embodiment of this application. In practical applications, based on the same disclosed concept of the above embodiments, such as... Figure 6 As shown, the terminal device 2 in this embodiment includes a processor 20, a memory 21, and a communication bus 22.

[0174] In specific embodiments, the aforementioned acquisition unit 10, comparison unit 11, determination unit 12, adjustment unit 13, setting unit, sorting unit, and selection unit can be implemented by the processor 20 located on the terminal device 2. The processor 20 can be at least one of the following: Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), CPU, controller, microcontroller, and microprocessor. It is understood that for different devices, the electronic device used to implement the above processor functions can also be other types; this embodiment does not impose specific limitations.

[0175] In this embodiment, the communication bus 22 is used to establish a connection between the processor 20 and the memory 21; when the processor 20 executes the running program stored in the memory 21, it implements the following data processing method:

[0176] The motion data of the inertial device is acquired; and at least one preset motion state threshold is compared with the motion data to obtain at least one set of motion state determination results; the at least one motion state threshold is obtained based on historical motion data where the motion state is stationary; each of the at least one preset motion state threshold corresponds to a set of motion state determination results; based on the motion data, a set of target motion state determination results is determined from the at least one set of motion state determination results; and a result interval where the motion state determination result is stationary is determined from the set of target motion state determination results; the target motion data corresponding to the result interval is determined from the motion data, and an error correction value is determined based on the target motion data; the motion data is adjusted based on the error correction value to obtain adjusted motion data; the positioning accuracy corresponding to the adjusted motion data is greater than the positioning accuracy corresponding to the motion data.

[0177] Furthermore, the processor 20 is also used to acquire historical motion data in which the motion state is stationary; determine an initial motion state threshold based on the historical motion data and the preset speed error value corresponding to the inertial device; determine a motion state threshold every preset value range based on the initial motion state threshold; and combine the determined motion state threshold and the initial motion state threshold to form at least one preset motion state threshold.

[0178] Furthermore, the processor 20 is also configured to acquire the preset acceleration error value corresponding to the acceleration device of the inertial device and the preset angular velocity error value corresponding to the angular velocity device of the inertial device; and determine the initial motion state threshold based on the historical acceleration data and the preset acceleration error value, as well as the historical angular velocity data and the preset angular velocity error value.

[0179] Furthermore, the processor 20 is also configured to compare the first preset motion state threshold among the at least one preset motion state thresholds with the at least one motion data in sequence to obtain at least one comparison result; the first preset motion state threshold is any one of the at least one preset motion state thresholds; set at least one motion state label according to the at least one comparison result; sort the at least one motion state label according to the arrangement order of the at least one motion data to obtain a set of motion state determination results corresponding to each preset motion state threshold.

[0180] Furthermore, the processor 20 is also configured to set the motion state label as a stationary label if the first motion data in the at least one comparison result is less than or equal to the first preset motion state threshold; and to set the motion state label as a motion label if the second motion data in the at least one comparison result is greater than the first preset motion state threshold.

[0181] Furthermore, the processor 20 is also configured to select at least one set of consecutive stationary frame tags from each set of motion state determination results; obtain at least one set of motion data corresponding to the at least one set of stationary frame tags from the motion data; determine an error value corresponding to each set of motion state determination results based on the at least one set of motion data; determine a first error value with the smallest value from at least one error value corresponding to the at least one set of motion state determination results; and determine the first set of motion state determination results corresponding to the first error value as the set of target motion state determination results.

[0182] Based on the above embodiments, this application provides a storage medium storing a computer program thereon. The computer-readable storage medium stores one or more programs, which can be executed by one or more processors and applied in a terminal device. The computer program implements the data processing method described above.

[0183] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0184] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the related technology, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause an image display device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this disclosure.

[0185] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A data processing method, characterized in that, The method includes: Acquire motion data of the inertial device; and compare at least one preset motion state threshold with the motion data to obtain at least one set of motion state determination results; the at least one preset motion state threshold is obtained based on historical motion data in which the motion state is stationary; each preset motion state threshold in the at least one preset motion state threshold corresponds to a set of motion state determination results; Based on the motion data, a set of target motion state determination results is determined from the at least one set of motion state determination results; and a result range in which the motion state determination result is stationary is determined from the set of target motion state determination results. The target motion data corresponding to the result interval is determined from the motion data, and the error correction value is determined based on the target motion data; The motion data is adjusted based on the error correction value to obtain adjusted motion data; the positioning accuracy corresponding to the adjusted motion data is greater than the positioning accuracy corresponding to the motion data.

2. The method according to claim 1, characterized in that, Before comparing at least one preset motion state threshold with the motion data to obtain at least one set of motion state determination results, the method further includes: Acquire the historical motion data when the motion state is stationary; The initial motion state threshold is determined based on the historical motion data and the preset velocity error value corresponding to the inertial device. Based on the initial motion state threshold, a motion state threshold is determined every preset value range; and the determined motion state threshold and the initial motion state threshold are combined to form the at least one preset motion state threshold.

3. The method according to claim 2, characterized in that, The historical motion data includes historical acceleration data and historical angular velocity data; determining the initial motion state threshold based on the historical motion data and the preset velocity error value corresponding to the inertial device includes: The preset acceleration error value corresponding to the acceleration device of the inertial device and the preset angular velocity error value corresponding to the angular velocity device of the inertial device are obtained respectively. The initial motion state threshold is determined based on the historical acceleration data and the preset acceleration error value, as well as the historical angular velocity data and the preset angular velocity error value.

4. The method according to claim 1, characterized in that, The motion data includes at least one motion data point; the step of comparing at least one preset motion state threshold with the motion data to obtain at least one set of motion state determination results includes: The first preset motion state threshold among the at least one preset motion state thresholds is compared sequentially with the at least one motion data to obtain at least one comparison result; the first preset motion state threshold is any one of the at least one preset motion state thresholds. Based on the at least one comparison result, at least one motion status label is set; According to the arrangement order of the at least one motion data, the at least one motion state label is sorted to obtain a set of motion state judgment results corresponding to each preset motion state threshold.

5. The method according to claim 4, characterized in that, The step of setting at least one motion state label based on the at least one comparison result includes: If the first motion data in the at least one comparison result is less than or equal to the first preset motion state threshold, then the motion state label is set to a stationary label; If the at least one comparison result is that the second motion data in the at least one motion data is greater than the first preset motion state threshold, then the motion state label is set as a motion label.

6. The method according to claim 1, characterized in that, The step of determining a set of target motion state determination results from the at least one set of motion state determination results based on the motion data includes: Select at least one set of consecutive static state frame labels from each set of motion state determination results; From the motion data, at least one set of motion data corresponding to the at least one set of static state frame labels is obtained respectively; Based on the at least one set of motion data, determine an error value corresponding to each set of motion state determination results; From at least one error value corresponding to the at least one set of motion state determination results, determine the first error value with the smallest value; and determine the first set of motion state determination results corresponding to the first error value as the set of target motion state determination results.

7. A data processing apparatus, characterized in that, The device includes: Acquisition unit, used to acquire motion data of inertial devices; A comparison unit is used to compare at least one preset motion state threshold with the motion data to obtain at least one set of motion state determination results; the at least one preset motion state threshold is obtained based on historical motion data in which the motion state is static; each preset motion state threshold in the at least one preset motion state threshold corresponds to a set of motion state determination results. The determining unit is configured to, based on the motion data, determine a set of target motion state determination results from the at least one set of motion state determination results; determine a result interval from the set of target motion state determination results where the motion state determination result is stationary; determine the target motion data corresponding to the result interval from the motion data; and determine an error correction value based on the target motion data. An adjustment unit is used to adjust the motion data based on the error correction value to obtain adjusted motion data; the positioning accuracy corresponding to the adjusted motion data is greater than the positioning accuracy corresponding to the motion data.

8. The apparatus according to claim 7, characterized in that, The acquisition unit is further configured to acquire the historical motion data when the motion state is stationary; The determining unit is further configured to determine an initial motion state threshold based on the historical motion data and the preset speed error value corresponding to the inertial device; determine a motion state threshold every preset value range based on the initial motion state threshold; and combine the determined motion state threshold and the initial motion state threshold to form the at least one preset motion state threshold.

9. A terminal device, characterized in that, The terminal device includes: a processor, a memory, and a communication bus; when the processor executes the running program stored in the memory, it implements the functionality described in claim 1. The method described in any one of the 6 methods.

10. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements as described in claim 1. The method described in any one of the 6 methods.

Citation Information

Patent Citations

  • Zero-speed correction method based on sole pressure detection in pedestrian navigation

    CN106482733A

  • MEMS device zero offset correction method and device and storage medium

    CN111721288A