Track determination method and device, electronic equipment, chip and medium
By sliding the IMU data, the problem of motion trajectory not being output in real time and the track is not smooth is solved, real-time output and high smoothness of motion trajectory are achieved, and navigation accuracy is improved.
Patent Information
- Application Number
- CN202311382536.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-23
- Publication Date
- 2025-04-25
AI Technical Summary
In the prior art, the motion trajectory cannot be output in real time, and the trajectory output is not smooth, resulting in a decrease in accuracy.
By sliding the window processing of the sensor data and positioning data collected in real time by the inertial measurement unit (IMU), real-time output of the motion trajectory is realized and the smoothness of the trajectory is improved.
Real-time output of motion trajectory is realized, the smoothness of motion trajectory is improved, and navigation accuracy is enhanced.
Smart Images

Figure CN119879909A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of inertial navigation, and in particular to a trajectory determination method, device, electronic device, chip and medium. Background Art
[0002] Inertial Navigation System (INS) is a navigation system that uses inertial elements such as gyroscopes and accelerometers to measure motion. INS has the advantages of strong independence, high accuracy, and good reliability, and is widely used in aviation, aerospace, ocean, and ground fields.
[0003] In the field of sports and health, INS is widely used in navigation and health status recognition of watches, bracelets, mobile phones, etc. Currently, due to the cost and size of the Inertial Measurement Unit (IMU) in consumer products such as wearables and mobile phones, the measurement accuracy of IMU is relatively low, and the INS accuracy derived from IMU accumulates more and more errors over time. Summary of the invention
[0004] The present disclosure provides a trajectory determination method, device, electronic device, chip and medium to solve the problem that the motion trajectory cannot be output in real time and the trajectory output is not smooth in the related art. By processing the sensor data and positioning data collected by IMU in real time through sliding window, the real-time output of the motion trajectory is realized, and the smoothness of the motion trajectory is improved.
[0005] A first aspect of the present disclosure provides a trajectory determination method, the method comprising:
[0006] Determine a first time window, the first time window has a first length, the first time window includes a start time point, an end time point and at least one intermediate time point, and there is a first interval between adjacent time points in the first time window;
[0007] Determine the heading of the target object at the end time point based on the heading of the target object at the start time point, where the heading includes at least one of a position and a heading angle;
[0008] Slide the first time window with the first step length to determine the trajectory of the target object.
[0009] In one embodiment of the present disclosure, determining the heading of the target object at the end time point based on the heading of the target object at the start time point includes:
[0010] Acquire a first posture angle of the target object at a starting time point from the positioning system;
[0011] Based on the first attitude angle, an angle transformation process is performed by the sensor to determine the heading angle of the target object at the end time point.
[0012] In one embodiment of the present disclosure, determining the heading of the target object at the end time point based on the heading of the target object at the start time point includes:
[0013] Acquire the first position of the target object at the starting time point and the moving distance between adjacent time points from the positioning system;
[0014] Based on the first position, the moving distance and the first posture angle, a second position of the target object at the end time point is determined.
[0015] In one embodiment of the present disclosure, sliding the first time window with a first step length to determine the trajectory of the target object includes:
[0016] Determining the heading of the target object at a first intermediate time point among the at least one intermediate time point based on the heading of the target object at the starting time point;
[0017] Slide the first time window to a first intermediate time point with a first step length, and use the first intermediate time point as the starting time point of the first time window after sliding;
[0018] Based on the first length, determining an end time point of the first time window after sliding;
[0019] Based on the heading of the target object at the first intermediate time point, the heading of the target object at the end time point of the first time window after sliding is determined.
[0020] In one embodiment of the present disclosure, the method further includes:
[0021] Acquire a measured heading of the target object at the end time point from the positioning system, where the measured heading includes a third position and / or a second attitude angle of the target object at the end time point;
[0022] Determine the measurement error between the heading of the target object at the end time point and the measured heading;
[0023] The heading of the target object at the end time point is corrected based on the measurement error.
[0024] In one embodiment of the present disclosure, correcting the heading of the target object at the end time point based on the measurement error includes:
[0025] Based on the measurement error, determining an estimation error through a first filtering algorithm;
[0026] The estimated error is used to compensate the heading of the target object at the end time point to determine the corrected heading of the target object at the end time point.
[0027] A second aspect of the present disclosure provides a trajectory determination device, the device comprising:
[0028] A time window determination module, configured to determine a first time window, wherein the first time window has a first length, the first time window includes a start time point, an end time point, and at least one intermediate time point, and adjacent time points in the first time window have a first interval between them;
[0029] A heading determination module, used to determine the heading of the target object at the end time point based on the heading of the target object at the start time point, where the heading includes at least one of a position and a heading angle;
[0030] The trajectory determination module is used to slide the first time window with a first step length to determine the trajectory of the target object.
[0031] The third aspect embodiment of the present disclosure proposes an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any one of the methods in the first aspect embodiment of the present disclosure.
[0032] The fourth aspect embodiment of the present disclosure proposes a non-transitory computer-readable storage medium storing computer instructions, characterized in that the computer instructions are used to enable a computer to execute the method in the first aspect embodiment of the present disclosure.
[0033] The fifth aspect embodiment of the present disclosure proposes a chip, comprising at least one processor and a communication interface; the communication interface is used to receive signals input into the chip or signals output from the chip, the processor communicates with the communication interface and implements any one of the methods in the first aspect embodiment of the present disclosure through logic circuits or execution code instructions.
[0034] In summary, according to the trajectory determination method proposed in the present disclosure, a first time window is determined, the first time window has a first length, the first time window includes a starting time point, an ending time point and at least one intermediate time point, and there is a first interval between adjacent time points in the first time window. The established time window provides a processing method for smoothing the motion trajectory; based on the heading of the target object at the starting time point, the heading of the target object at the ending time point is determined, and the heading includes at least one of the position and the heading angle, and data smoothing within a time window is completed; the first time window is slid with the first step length to determine the trajectory of the target object, and the real-time smoothing of the motion trajectory of the target object is completed. The real-time output of the motion trajectory is achieved, and the smoothness of the motion trajectory is improved.
[0035] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.
[0037] Figure 1 A flowchart of a data fusion processing method for collecting sensor and positioning data throughout the motion process for related technologies;
[0038] Figure 2 A flowchart of a method for real-time acquisition of sensor data and positioning data during motion and real-time output of motion trajectory for related technologies;
[0039] Figure 3 is a flow chart of a trajectory determination method according to an embodiment of the present disclosure;
[0040] Figure 4 A flowchart of determining a heading of a target object at an end time point based on the heading of the target object at a start time point according to an embodiment of the present disclosure;
[0041] Figure 5 A flowchart of determining a heading of a target object at an end time point based on the heading of the target object at a start time point according to an embodiment of the present disclosure;
[0042] Figure 6 A schematic diagram of a calculation process of a pedestrian dead reckoning PDR according to an embodiment of the present disclosure;
[0043] Figure 7 A flowchart of sliding a first time window with a first step length to determine a trajectory of a target object according to an embodiment of the present disclosure;
[0044] Figure 8 is a flow chart of a trajectory determination method according to an embodiment of the present disclosure;
[0045] Fig. 9 It is a flowchart of a method for correcting the heading of a target object at an end time point based on a measurement error according to an embodiment of the present disclosure;
[0046] Fig.10 It is a schematic diagram of using a sliding window to process sensor data and satellite positioning data in an embodiment of the present disclosure;
[0047] Fig.11 A flow chart of correcting a heading angle by using sensor data and satellite positioning data according to an embodiment of the present disclosure;
[0048] Fig.12 A schematic diagram showing comparison of results of a trajectory determination method according to an embodiment of the present disclosure and related technologies in determining trajectories;
[0049] Fig.13 is a structural schematic diagram of a trajectory determination device according to an embodiment of the present disclosure;
[0050] Fig.14 is a block diagram of an electronic device for implementing the trajectory determination method disclosed herein according to an exemplary embodiment;
[0051] Fig.15 It is a schematic diagram of the structure of the chip of the embodiment of the present disclosure. DETAILED DESCRIPTION
[0052] Embodiments of the present disclosure are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout identify the same or similar originals or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present disclosure, and should not be construed as limiting the present disclosure.
[0053] An inertial navigation system is a navigation system that uses inertial elements such as gyroscopes and accelerometers to measure motion status. It has the advantages of strong independence, high precision, and high reliability, and is widely used in aviation, aerospace, ocean, ground and other fields. In the aviation field, inertial navigation systems are widely used in the navigation and attitude control of aircraft, missiles, satellites, etc.; in the ocean field, inertial navigation systems are widely used in the navigation and attitude control of ships, submarines, etc.; in the ground field, inertial navigation systems are widely used in the navigation and attitude control of vehicles, robots, etc. In the field of sports and health, inertial navigation systems are widely used in the navigation and health status identification of watches, bracelets, mobile phones, etc. In this field, the commonly used positioning method is heading calculation, especially the pedestrian heading calculation algorithm.
[0054] The Global Navigation Satellite System (GNSS) is a satellite system covering the entire world for autonomous geographic spatial positioning and is used for navigation and positioning measurement. It includes the Global Positioning System (GPS), BeiDou Navigation Satellite System (BDS), Galileo Global Navigation Satellite System (Galileo), and Global Navigation Satellite System GLONASS (GLONASS).
[0055] In the field of inertial navigation, dead reckoning is the process of using a known starting position, combined with an estimated speed and direction over time, to estimate a future location without any external reference. Extending this concept to human motion, especially walking or running, is pedestrian dead reckoning.
[0056] Pedestrian Dead Reckoning (PDR) uses inertial sensing to estimate speed and direction. Sensors such as accelerometers, gyroscopes, and magnetometers detect motion data, such as walking. The basic model includes the number of steps, step length, and direction. If the step length and number of steps are known, the distance can be inferred. Add the direction and you get a complete dead reckoning output result.
[0057] By fusing multiple sensor outputs, the PDR algorithm calculates basic building blocks. This includes step detection, step length, walking direction, and device orientation (e.g., is the phone in hand or in pocket) which together determine the overall trajectory. Combined with other outputs about step counting and activity classification (walking, running, or stationary), it gives an idea of how far the user has traveled.
[0058] Figure 1 The flowchart of the data fusion processing method after collecting the sensor and positioning data of the whole movement process for the related technology. Figure 1 As shown in the figure, after receiving the motion initiation command, the device equipped with IMU sensor (sensor) and GNSS collects sensor data, including accelerometer, magnetometer and gyroscope. At the same time, GNSS related position information is collected. During the whole process of motion, sensor data and position information are continuously collected until the motion stop command is received. After data collection is completed, the recorded sensor data and position data of the motion are imported into the playback platform, and the algorithm calculation is started. Continuous positioning results are output through a large matrix, thereby obtaining a continuous and smooth motion trajectory.
[0059] Figure 2 The flowchart of the method for real-time acquisition of sensor data and positioning data during motion and real-time output of motion trajectory is provided for the related technology. Figure 2 As shown in the figure, after receiving the motion start command, the device updates the GNSS position at a period of one second, and updates the accelerometer, magnetometer, gyroscope and other sensor data at 50Hz. Based on the positioning information provided by GNSS and the position, attitude and heading information collected by IMU, the PDR algorithm is triggered to run to estimate the position and heading of the device. Specifically, the GNSS is used as the reference point (the longitude and latitude, speed and heading are all the starting point), and the derived position within one second is output, so as to determine the motion trajectory of the device in real time.
[0060] pass Figure 1 and Figure 2 The technical solution obtains the motion trajectory, but Figure 1 Unable to output motion trajectory in real time. Figure 2 There is an inaccuracy problem in calculating the initial heading angle every second using GNSS positioning data.
[0061] The present invention aims to solve the problem that the existing technology cannot output the motion trajectory in real time and the output trajectory is not smooth. By processing the sensor data and positioning data collected by the IMU in real time through sliding window processing, the real-time output of the motion trajectory is achieved, and the smoothness of the motion trajectory is improved.
[0062] The method proposed in this disclosure is applied to the task of motion trajectory recording, and its application has a wide range of scenarios. The quality of motion trajectories generated by users for running, cycling, walking, etc. is significantly improved. This technical solution can be used in electronic devices such as smart phones, smart watches, smart bracelets, smart glasses, etc. The application scenarios are not limited in the embodiments of this disclosure.
[0063] The trajectory determination method provided by the present application is described in detail below with reference to the accompanying drawings.
[0064] Figure 3 FIG. 1 is a flow chart of a trajectory determination method according to an embodiment of the present disclosure. Figure 3 In the illustrated embodiment, the trajectory determination method comprises:
[0065] Step 301, determine a first time window, the first time window has a first length, the first time window includes a start time point, an end time point and at least one intermediate time point, and there is a first interval between adjacent time points in the first time window.
[0066] In this embodiment, the first time window is a sliding window, and the sliding window has a first length, and the dimension of the first length is time. In other words, the first time window has a fixed time length, and the first time window includes a starting time point, an ending time point, and at least one intermediate time point, wherein there is a first interval between adjacent time points in the first time window. The first interval is a fixed time length, that is, there is an interval of a fixed time length between each two time points of the starting time point, one or more intermediate time points, and the ending time point of the first time window.
[0067] Step 302: Determine the heading of the target object at the end time point based on the heading of the target object at the start time point, where the heading includes at least one of a position and a heading angle.
[0068] In this embodiment, the target object may be a mobile device, such as a smart phone, smart watch, smart bracelet, tablet computer, etc. equipped with a satellite positioning module and an IMU sensor, or may refer to a user, a vehicle, or an object integrated with the mobile device. Through the sliding window established in step 301, the heading of the target object at the start time point of the sliding window is determined, and the heading of the target object at the end time point of the sliding window is determined, wherein the heading includes position coordinate information and / or heading angle information.
[0069] Step 303: Slide the first time window with the first step length to determine the trajectory of the target object.
[0070] In this embodiment, the first step length is the sliding step length of the first time window, and its dimension is time. At a time point, the first time window slides a first step length, that is, the heading of the target object is processed with the first step length to determine the trajectory formed by the target object in motion.
[0071] In summary, according to the trajectory determination method proposed in the present disclosure, a first time window is determined, the first time window has a first length, the first time window includes a starting time point, an ending time point and at least one intermediate time point, and there is a first interval between adjacent time points in the first time window. The established time window provides a processing method for smoothing the motion trajectory; based on the heading of the target object at the starting time point, the heading of the target object at the ending time point is determined, and the heading includes at least one of the position and the heading angle, and data smoothing within a time window is completed; the first time window is slid with the first step length to determine the trajectory of the target object, and the real-time smoothing of the motion trajectory of the target object is completed. The real-time output of the motion trajectory is achieved, and the smoothness of the motion trajectory is improved.
[0072] Figure 4 The present invention is a flowchart of an embodiment of the present invention for determining the heading of a target object at an end time point based on the heading of the target object at a start time point. Figure 4 Yes Figure 3 Step 302 is further described based on Figure 4 The embodiment shown comprises the following steps:
[0073] Step 401: Acquire a first posture angle of a target object at a starting time point from a positioning system.
[0074] In this embodiment, the positioning system is a system for determining the current position, attitude angle, speed and other information of the target object, including the global positioning system GPS, the Beidou satellite navigation system BDS, the Galileo satellite navigation system Galileo, and the global navigation satellite system GLONASS. Through the satellite positioning module in the target object, the first attitude angle of the target object at the starting time point of the sliding window can be obtained. The first attitude angle is an important parameter describing the angle relationship between the device and the navigation coordinate system, and is used to describe the current spatial attitude of the target object, which is measured by the satellite positioning system.
[0075] Step 402: Based on the first attitude angle, an angle transformation process is performed by a sensor to determine the heading angle of the target object at the end time point.
[0076] In this embodiment, the first attitude angle obtained by the positioning system is combined with the sensor data measured by the IMU, and after angle transformation processing, the heading angle of the target object at the end time point of the sliding window can be determined. Among them, the angle transformation processing is to update the attitude matrix in real time based on the initial attitude matrix through methods such as quaternion method or Euler angle method, so as to obtain the attitude angle of the target object in real time.
[0077] In this embodiment, based on the heading data provided by the satellite positioning system of the target object at the start time point of the sliding window, the sensor data collected by the IMU within the length of the sliding window is processed into the heading angle at the end time point of the sliding window through angle conversion, which provides a data basis for correcting the heading angle and smoothing the trajectory. Among them, the estimated position obtained by processing within the sliding window can be achieved through the following embodiments.
[0078] Figure 5 The present invention is a flowchart of an embodiment of the present invention for determining the heading of a target object at an end time point based on the heading of the target object at a start time point. Figure 5 Yes Figure 4 and Figure 3 Step 302 is further described based on Figure 5 The embodiment shown comprises the following steps:
[0079] Step 501: Acquire the first position of the target object at the starting time point and the moving distance between adjacent time points from the positioning system.
[0080] In this embodiment, the first position is the position information of the target object at the starting time point of the sliding window obtained by the positioning system. The positioning system obtains the position information of the target object at the starting time point of the sliding window and each intermediate time point in the sliding window, and obtains the moving distance between adjacent time points based on the position information of consecutive adjacent time points.
[0081] Step 502: Determine a second position of the target object at the end time point based on the first position, the moving distance, and the first posture angle.
[0082] In this embodiment, the second position of the target object at the end time point of the sliding window is determined by the first position of the target object in motion determined by the positioning system, the moving distance at continuous time points, and the first attitude angle measured at each time point. The second position is the position information of the target object calculated by pedestrian heading dead reckoning PDR based on the first position, the moving distance, and the first attitude angle.
[0083] In this embodiment, the second position of the end time point of the sliding window is calculated based on the first position of the target object at the start time point of the sliding window during the movement, and the moving distance and posture angle recorded inside the sliding window, thereby providing the calculated position data for smooth motion.
[0084] Figure 6 Schematic diagram of the calculation process of pedestrian heading dead reckoning PDR according to an embodiment of the present disclosure. Figure 6 In the illustrated embodiment, the first positioning estimation data in the northeast celestial coordinate system is projected in the northeast celestial coordinate system with the initial positioning being S0 (E0, N0), and the attitude sensor in the inertial measurement unit IMU sensor measures that the angle between the target object and the direction of the geomagnetic North Pole is θ1 at this time; the displacement between the next frame positioning S1 and S0 measured by the gait sensor in the inertial measurement unit IMU sensor is d1; in the frame where S1 is located, the angle with the direction of the geomagnetic North Pole is θ2.
[0085] Assuming that the location of positioning S1 is (E1, N1), it can be known that:
[0086]
[0087] Therefore, E1=E0+d1sin(θ1), N1=N0+d1cos(θ1).
[0088] The S1 positioning position (E1, N1) can be obtained.
[0089] Since the inertial measurement unit (IMU) sensor works in real time, each frame collects the angle with the direction of the geomagnetic north pole. The angle collected by the nth frame with the direction of the geomagnetic north pole is θ n , the distance d between two adjacent frames n can be calculated by the number of steps recorded by the gait sensor in two frames, so the location of k at any time (E k , N k ) is located at:
[0090]
[0091]
[0092] Figure 7 This is a flowchart of an embodiment of the present disclosure for sliding a first time window with a first step length to determine a trajectory of a target object. Figure 7 Yes Figures 3 to 5 Specific instructions are given based on Figure 7 The embodiment shown comprises the following steps:
[0093] Step 701 : determining the heading of the target object at a first intermediate time point among at least one intermediate time point based on the heading of the target object at the starting time point.
[0094] In this embodiment, the first intermediate time point is the first time point of one or more intermediate time points between the start time point and the end time point of the sliding window. The heading of the target object at the start time point of the sliding window is obtained by the positioning system. Figure 6 The PDR dead reckoning algorithm shown in the embodiment calculates the heading at the first intermediate time point.
[0095] Step 702: Slide the first time window to a first intermediate time point with a first step length, and use the first intermediate time point as the starting time point of the first time window after sliding.
[0096] In this embodiment, the first time window slides a first step from the starting time point of the sliding window to reach the first intermediate time point. At this time, the starting time point of the first time window is the first intermediate time point.
[0097] Step 703: Determine the end time point of the first time window after sliding based on the first length.
[0098] In this embodiment, the end time point of the first time window after sliding the first step length is determined according to the first length of the first time window and the start time point of the first time window.
[0099] Step 704 : determining the heading of the target object at the end time point of the first time window after sliding based on the heading of the target object at the first intermediate time point.
[0100] In this embodiment, the measured heading of the target object at the first intermediate time point obtained by GNSS measurement, the position and attitude angle of each intermediate time point collected by the sensor of the IMU in the first time window, and the positioning distance between two adjacent intermediate time points are estimated by step detection. By measuring the heading, the attitude angle of each frame collected by the sensor in the first time window, and the positioning distance between consecutive adjacent frames, Figure 6 The PDR estimation method shown obtains the heading of the target object at the end time point of the first time window after sliding.
[0101] In this embodiment, after sliding the first time window for the first step length, the heading at the end time point of the first time window after sliding is determined, which provides data preparation for the extrapolated heading required for smooth calculation of the motion trajectory.
[0102] Figure 8 The present invention is a flow chart of a trajectory determination method according to an embodiment of the present invention. Figure 8 Yes Figures 3 to 5 Specific instructions are given based on Figure 8 The embodiment shown comprises the following steps:
[0103] Step 801: Acquire a measured heading of the target object at an end time point from a positioning system, where the measured heading includes a third position and / or a second attitude angle of the target object at the end time point.
[0104] In this embodiment, the measured heading is the real-time heading information of the target object obtained by the positioning system, the third position is the measured position of the target object measured by GNSS at the end time point of the sliding window, and the second attitude angle is the measured attitude angle of the target object measured by GNSS at the end time point of the sliding window. The positioning system measures and obtains the measured heading of the target object at the end time point of the sliding window, and the measured heading includes the third position and / or the second attitude angle of the target object at the end time point of the sliding window.
[0105] Step 802: Determine the measurement error between the heading of the target object at the end time point and the measured heading.
[0106] In this embodiment, the measurement error between the estimated heading of the target object at the end time of the sliding window and the heading measured by GNSS can be calculated. Figure 6 The position measurement error is determined by subtracting the estimated position determined by the method from the measured position. The angle in the heading is determined by comparing Figure 6 The angle measurement error is determined by subtracting the estimated angle determined by a similar estimation method from the measured angle, that is, the initial heading angle is obtained by the positioning system at the starting time point of the sliding window, the attitude angle of each intermediate time point in the sliding window is collected by the attitude sensor of the IMU, and the overall attitude angle change in each axis direction in the navigation coordinate system in the entire sliding window is calculated, and the overall attitude angle change is processed into the heading angle in the plane coordinate system in the northeast direction of the navigation coordinate system through the quaternion angle change, and the heading angle is subtracted from the measured heading angle of the target object obtained by GNSS measurement at the end time point of the sliding window to determine the angle measurement error.
[0107] Step 803: Correct the heading of the target object at the end time point based on the measurement error.
[0108] In this embodiment, the heading of the target object is corrected by calculating and measuring the heading and filtering the measurement error. The heading of the target object at the end time point of the sliding window can be corrected by the measurement error. The specific method for correcting the heading of the target object is implemented by the method described in the following embodiment.
[0109] Fig. 9 The present invention is a flowchart of a method for correcting the heading of a target object at an end time point based on a measurement error according to an embodiment of the present invention. Fig. 9 Yes Figure 8 The specific description of step 803 is based on Fig. 9 The embodiment shown comprises the following steps:
[0110] Step 901, based on the measurement error, determine the estimation error through a first filtering algorithm.
[0111] In this embodiment, the first filtering algorithm is a prediction algorithm that can be used to estimate the position and angle, and is preferably a Kalman filtering algorithm. The measurement error is used as the output of the Kalman filtering algorithm to calculate the estimation error.
[0112] Step 902 : Compensate the heading of the target object at the end time point using the estimated error to determine the corrected heading of the target object at the end time point.
[0113] In this embodiment, the heading error in the estimation error determined by Kalman filtering is used to compensate the heading data of the target object at the end time point of the sliding window, so that the corrected heading of the target object at the end time point of the sliding window can be determined.
[0114] In this embodiment, the heading estimation error is determined by the Kalman filtering algorithm, and then combined with the heading inference data at the end time point of the sliding window, the two are added to obtain the corrected heading of the target object at the end time point of the sliding window, which solves the problem of uneven motion trajectory caused by inaccurate heading and provides a real-time smooth trajectory for the movement of the target object.
[0115] Fig.10 FIG. 1 is a schematic diagram of an embodiment of the present disclosure using a sliding window to process sensor data and satellite positioning data. Fig.10In the illustrated embodiment, the length of the sliding window is set to 3 seconds. At the first second time point, the sliding window formed from the 0s time point to the 3s time point, the oldest sensor data at the 0s time point is removed from the sliding window start time (OldestSensor Data out), and the latest sensor is sent in from the sliding window end time (Latest Sensor Data in). The sensor data is continuously sent in and removed in the sliding window. At the kth second, the adjacent intervals of each time point A, B, C, and D are 1 second. The 3-second sliding window is used to continuously update the sensor data. The 3s sliding window is used here to ensure the accuracy of step recognition. With A as the starting point, the step detection from A to D within three seconds and the relative transformation of the attitude angle of each frame (one frame is one frame for each sensor to collect data) are performed. At the same time, the attitude angle information, GNSS positioning information and derived position information of point B are recorded, and the current 1-second position information (C to D) is intercepted and reported to the user. When the sliding window data of the next second is updated, at the k+1th second, the data information recorded at point B is the data information of point E. At this time, the starting point information of point E is the point B information retained by the previous sliding window calculation. The sliding window is continued for 3 seconds with the information of point E, and the position, heading and speed information of the current second (G to H) are recorded. Through the continuous iteration of the sliding window, the derived position information of the current time point is continuously calculated, and the continuity of the initial attitude angle of each second is guaranteed.
[0116] Fig.11 This is a flow chart of correcting the heading angle through sensor data and satellite positioning data in an embodiment of the present disclosure. In this embodiment, after the motion trajectory starts to be recorded, the sensor data is injected, the IMU data is collected, the IMU data is updated using a sliding window, the heading angle is calculated by PDR based on the IMU data, and the heading angle is corrected using Kalman Filter (KF) using GNSS positioning data and PDR-derived data. This ensures real-time smooth output of the motion trajectory.
[0117] Fig.12 The following is a schematic diagram showing the comparison of the results of a trajectory determination method and related technologies in determining trajectories according to an embodiment of the present disclosure. Fig.12 In the embodiment shown, in the left and right figures, the light-colored track is the reference motion track provided by the global navigation satellite system GNSS. The dark-colored track in the left figure is the track of the pedestrian heading dead reckoning PDR without adding the sliding window to dynamically update the attitude angle output, and the dark-colored track in the right figure is the track of the pedestrian heading dead reckoning PDR with adding the sliding window to dynamically update the attitude angle output. From the dark-colored tracks in the left and right figures, it can be clearly concluded that the track of the solution using the sliding window to dynamically update the attitude angle is smoother, which is significantly better than the solution without adding the sliding window to dynamically update the attitude angle, realizing the real-time output of the motion track and improving the smoothness of the motion track.
[0118] Determine a first time window, the first time window has a first length, the first time window includes a starting time point, an ending time point and at least one intermediate time point, and there is a first interval between adjacent time points in the first time window. The established time window provides a processing method for smoothing the motion trajectory; based on the heading of the target object at the starting time point, determine the heading of the target object at the ending time point, the heading includes at least one of the position and the heading angle, and completes the data smoothing within a time window; slide the first time window with the first step length to determine the trajectory of the target object, and complete the real-time smoothing of the motion trajectory of the target object. The real-time output of the motion trajectory is achieved, and the smoothness of the motion trajectory is improved. Corresponding to the methods provided in the above-mentioned embodiments, the present disclosure also provides a trajectory determination device. Since the device provided in the embodiments of the present disclosure corresponds to the methods provided in the above-mentioned embodiments, the implementation method of the method is also applicable to the device provided in this embodiment, and will not be described in detail in this embodiment.
[0119] Fig.13 FIG. 1 is a schematic diagram of the structure of a trajectory determination device 1300 according to an embodiment of the present disclosure. Fig.13 As shown, the trajectory determination device includes:
[0120] A time window determination module 1310 is configured to determine a first time window, wherein the first time window has a first length, the first time window includes a start time point, an end time point, and at least one intermediate time point, and there is a first interval between adjacent time points in the first time window;
[0121] A heading determination module 1320, configured to determine a heading of the target object at an end time point based on the heading of the target object at a start time point, wherein the heading includes at least one of a position and a heading angle;
[0122] The trajectory determination module 1330 is configured to slide the first time window with a first step length to determine the trajectory of the target object.
[0123] In some embodiments, the heading determination module 1320 is used to:
[0124] Acquire a first posture angle of the target object at a starting time point from the positioning system;
[0125] Based on the first attitude angle, an angle transformation process is performed by the sensor to determine the heading angle of the target object at the end time point.
[0126] In some embodiments, the heading determination module 1320 is further configured to:
[0127] Acquire the first position of the target object at the starting time point and the moving distance between adjacent time points from the positioning system;
[0128] Based on the first position, the moving distance and the first posture angle, a second position of the target object at the end time point is determined.
[0129] In some embodiments, the trajectory determination module 1330 is used to:
[0130] Determining the heading of the target object at a first intermediate time point among the at least one intermediate time point based on the heading of the target object at the starting time point;
[0131] Slide the first time window to a first intermediate time point with a first step length, and use the first intermediate time point as the starting time point of the first time window after sliding;
[0132] Based on the first length, determining an end time point of the first time window after sliding;
[0133] Based on the heading of the target object at the first intermediate time point, the heading of the target object at the end time point of the first time window after sliding is determined.
[0134] In some embodiments, the heading determination module 1320 is further configured to:
[0135] Acquire a measured heading of the target object at the end time point from the positioning system, where the measured heading includes a third position and / or a second attitude angle of the target object at the end time point;
[0136] Determine the measurement error between the heading of the target object at the end time point and the measured heading;
[0137] The heading of the target object at the end time point is corrected based on the measurement error.
[0138] In some embodiments, the heading determination module 1320 corrects the heading of the target object at the end time point based on the measurement error in the following manner:
[0139] Based on the measurement error, determining an estimation error through a first filtering algorithm;
[0140] The estimated error is used to compensate the heading of the target object at the end time point to determine the corrected heading of the target object at the end time point.
[0141] In summary, through the trajectory determination device, the first time window is determined, the first time window has a first length, the first time window includes a starting time point, an ending time point and at least one intermediate time point, and there is a first interval between adjacent time points in the first time window. The established time window provides a processing method for smoothing the motion trajectory; based on the heading of the target object at the starting time point, the heading of the target object at the ending time point is determined, and the heading includes at least one of the position and the heading angle, and the data smoothing within a time window is completed; the first time window is slid with the first step length to determine the trajectory of the target object, and the real-time smoothing of the motion trajectory of the target object is completed. This device solves the problem that the motion trajectory cannot be output in real time and the trajectory output is not smooth in the related technology, realizes the real-time output of the motion trajectory, and improves the smoothness of the motion trajectory.
[0142] In the embodiments provided in the present application, the methods and devices provided in the embodiments of the present application are introduced. In order to implement the functions in the methods provided in the embodiments of the present application, the electronic device may include a hardware structure and a software module, and implement the functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. A function of the functions may be executed in the form of a hardware structure, a software module, or a hardware structure plus a software module.
[0143] Fig.14 is a block diagram of an electronic device 1400 for implementing the above trajectory determination method according to an exemplary embodiment.
[0144] For example, the electronic device 1400 may be a mobile phone, a computer, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.
[0145] Reference Fig.14 , the electronic device 1400 may include one or more of the following components: a processing component 1402 , a memory 1404 , a power component 1406 , a multimedia component 1408 , an audio component 1410 , an input / output (I / O) interface 1412 , a sensor component 1414 , and a communication component 1416 .
[0146] The processing component 1402 generally controls the overall operation of the electronic device 1400, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 1402 may include one or more processors 1420 to execute instructions to complete all or part of the steps of the above-mentioned method. In addition, the processing component 1402 may include one or more modules to facilitate the interaction between the processing component 1402 and other components. For example, the processing component 1402 may include a multimedia module to facilitate the interaction between the multimedia component 1408 and the processing component 1402.
[0147] The memory 1404 is configured to store various types of data to support operations on the electronic device 600. Examples of such data include instructions for any application or method operating on the electronic device 1400, contact data, phone book data, messages, pictures, videos, etc. The memory 1404 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0148] The power supply component 1406 provides power to the various components of the electronic device 1400. The power supply component 1406 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 1400.
[0149] The multimedia component 1408 includes a screen that provides an output interface between the electronic device 1400 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 1408 includes a front camera and / or a rear camera. When the electronic device 1400 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
[0150] The audio component 1410 is configured to output and / or input audio signals. For example, the audio component 1410 includes a microphone (MIC), and when the electronic device 1400 is in an operation mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 1404 or sent via the communication component 1416. In some embodiments, the audio component 1410 also includes a speaker for outputting audio signals.
[0151] I / O interface 1412 provides an interface between processing component 1402 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: home button, volume button, start button, and lock button.
[0152] The sensor assembly 1414 includes one or more sensors for providing various aspects of status assessment for the electronic device 1400. For example, the sensor assembly 1414 can detect the open / closed state of the electronic device 1400, the relative positioning of components, such as the display and keypad of the electronic device 1400, and the sensor assembly 1414 can also detect the position change of the electronic device 1400 or a component of the electronic device 1400, the presence or absence of user contact with the electronic device 1400, the orientation or acceleration / deceleration of the electronic device 1400, and the temperature change of the electronic device 1400. The sensor assembly 1414 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 1414 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 1414 may also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
[0153] The communication component 1416 is configured to facilitate wired or wireless communication between the electronic device 1400 and other devices. The electronic device 1400 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, 4G LTE, 5G NR (NewRadio) or a combination thereof. In an exemplary embodiment, the communication component 1416 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 1416 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0154] In an exemplary embodiment, the electronic device A00 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components to perform the above method.
[0155] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 1404 including instructions, and the instructions can be executed by a processor 1420 of an electronic device 1400 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0156] The embodiments of the present disclosure further provide a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable a computer to execute the trajectory determination method described in the above embodiments of the present disclosure.
[0157] An embodiment of the present disclosure further provides a computer program product, including a computer program, which executes the trajectory determination method described in the above embodiment of the present disclosure when a processor is used to execute the computer program.
[0158] Fig.15 is a schematic structural diagram of a chip 1500 for implementing the above trajectory determination method according to an exemplary embodiment.
[0159] Reference Fig.15 The chip 1500 includes at least one communication interface 1501 and a processor 1502; the communication interface 1501 is used to receive a signal input to the chip 1500 or a signal output from the chip 1500, and the processor 1502 communicates with the communication interface 1501 and implements the trajectory determination method described in the above embodiment through a logic circuit or executing code instructions.
[0160] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0161] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "illustrative embodiments", "examples", "specific examples" or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiments or examples are included in at least one embodiment or example of the present disclosure. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.
[0162] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present disclosure includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present disclosure belong.
[0163] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processing module, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purposes of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (control method), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or otherwise processing in a suitable manner if necessary, and then stored in a computer memory.
[0164] It should be understood that the various parts of the embodiments of the present disclosure can be implemented by hardware, software, firmware or a combination thereof. In the above embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0165] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.
[0166] In addition, each functional unit in each embodiment of the present disclosure may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium. The above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0167] Although the embodiments of the present disclosure have been shown and described above, it is to be understood that the above embodiments are exemplary and are not to be construed as limitations of the present disclosure. A person skilled in the art may make changes, modifications, substitutions and variations to the above embodiments within the scope of the present disclosure.
Claims
1. A trajectory determination method, characterized in that: The method comprises: Determine a first time window, the first time window having a first length, the first time window comprising a start time point, an end time point and at least one intermediate time point, and a first interval between adjacent time points in the first time window; Determine the heading of the target object at the end time point based on the heading of the target object at the start time point, where the heading includes at least one of a position and a heading angle; The first time window is slid with a first step length to determine the trajectory of the target object.
2. The method according to claim 1, characterized in that The determining the heading of the target object at the end time point based on the heading of the target object at the start time point includes: Acquire a first posture angle of the target object at the starting time point from a positioning system; Based on the first attitude angle, an angle transformation process is performed by a sensor to determine the heading angle of the target object at the end time point.
3. The method according to claim 2, characterized in that The determining the heading of the target object at the end time point based on the heading of the target object at the start time point includes: Acquire from the positioning system the first position of the target object at the starting time point and the moving distance between adjacent time points; Based on the first position, the moving distance and the first posture angle, a second position of the target object at the end time point is determined.
4. The method according to any one of claims 1 to 3, characterized in that The step of sliding the first time window with a first step length to determine the trajectory of the target object includes: Determining the heading of the target object at a first intermediate time point among at least one intermediate time point based on the heading of the target object at the starting time point; Slide the first time window to the first intermediate time point with the first step length, and use the first intermediate time point as the starting time point of the first time window after sliding; Based on the first length, determining an end time point of the first time window after sliding; Based on the heading of the target object at the first intermediate time point, the heading of the target object at the end time point of the first time window after sliding is determined.
5. The method according to any one of claims 1 to 3, characterized in that The method further comprises: Acquire a measured heading of the target object at the end time point from a positioning system, wherein the measured heading includes a third position and / or a second attitude angle of the target object at the end time point; Determining a measurement error between the heading of the target object at the end time point and the measured heading; The heading of the target object at the end time point is corrected based on the measurement error.
6. The method according to claim 5, characterized in that The correcting the heading of the target object at the end time point based on the measurement error comprises: Based on the measurement error, determining an estimation error through a first filtering algorithm; The estimated error is used to compensate for the heading of the target object at the end time point to determine a corrected heading of the target object at the end time point.
7. A trajectory determination device, characterized in that: The device comprises: A time window determination module, configured to determine a first time window, wherein the first time window has a first length, the first time window includes a start time point, an end time point, and at least one intermediate time point, and there is a first interval between adjacent time points in the first time window; A heading determination module, used to determine the heading of the target object at the end time point based on the heading of the target object at the start time point, wherein the heading includes at least one of a position and a heading angle; The trajectory determination module is used to slide the first time window with a first step length to determine the trajectory of the target object.
8. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 6.
9. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-6.
10. A chip, characterized in that: It includes at least one processor and a communication interface; the communication interface is used to receive a signal input to the chip or a signal output from the chip, and the processor communicates with the communication interface and implements the method according to any one of claims 1-6 through a logic circuit or executing code instructions.