Navigation device and method for modeling measured value quantization error as state

By replacing the quantification error value in the navigation update operation and updating the status of the navigation system and the coordinated differential matrix, the problem of poor quantitative measurement error modeling in the navigation system has achieved more accurate positioning information updates.

CN119335570APending Publication Date: 2025-01-21DEERE & CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411467938.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2021-04-20
Filing Date
2021-04-22
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

When existing navigation systems process quantized measurements, it is difficult to effectively model and reduce quantization errors, resulting in inaccuracy of positioning information and the increase in cumulative errors.

Method used

Model and reduce quantized measurements by replacing interval start quantized error values ​​in the estimated state with interval end quantized error values ​​in the navigation update operation and updating the estimated state and covariance matrix using a scheduled Kalman filter update operation quantization error.

Benefits of technology

This method can more accurately estimate the quantitative error of quantitative measurement value, avoid or reduce the growth of cumulative errors, and improve the accuracy and reliability of positioning information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119335570A_ABST
    Figure CN119335570A_ABST
Patent Text Reader

Abstract

The navigation device determines an estimated position of the object. Navigation information including a series of quantified measurements is received. Each quantized measurement has a respective quantization error that is negatively correlated with a quantization error of a previous quantized measurement. The device iteratively performs a navigation update operation that includes determining a state and a covariance matrix of an object of a current iteration based on a state and a covariance matrix in a previous iteration. The state includes an end quantization error and a start quantization error. The covariance matrix includes an end covariance value and a start covariance value corresponding to the end quantization error and the start quantization error, respectively. Determining the state and covariance matrix for the current iteration includes replacing a starting quantization error with an ending quantization error determined in a previous iteration, and updating the state and covariance matrix by a Kalman filtering update operation.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the Chinese invention patent application with application number 202180031465.1 (date of entry into the Chinese national phase: October 27, 2022; invention name: Navigation device and method for modeling measurement value quantization error as state).

[0002] Related Applications

[0003] This application is a continuation application of U.S. patent application No. 17 / 235,856 filed on April 20, 2021, which claims priority to U.S. provisional patent application No. 63 / 019213 filed on May 1, 2020, and each of these two applications is hereby incorporated by reference into this application in its entirety. Technical Field

[0004] The disclosed embodiments generally relate to a navigation system that determines a position of a navigation system or a movable or active object associated with the navigation system, and optionally one or more of a velocity, attitude, and / or acceleration of the navigation system or a movable or active object associated with the navigation system, and updates positioning information in the navigation system using measurements or navigation information having quantization errors. More specifically, the disclosed embodiments relate to modeling quantization errors for updating positioning information in a navigation system. Background Art

[0005] Receivers in global navigation satellite systems (GNSS), such as the Global Positioning System (GPS), use distance measurements based on line-of-sight signals from satellites. The signal strength received by a GPS receiver is very weak, on the order of 10 -16 Watts, and is therefore susceptible to interference from a variety of environmental factors, including natural obstructions (e.g., trees, canyons), man-made physical obstructions (e.g., buildings, bridges), and electromagnetic interference (e.g., signal jammers, electronic devices emitting broadband or narrowband noise). These reliability factors, along with accuracy limitations, are a major concern in markets such as the burgeoning commercial autonomous vehicle industry that have limited the adoption of GPS or the need to supplement GPS. It is important to note that all references to "GPS" systems and navigation methods in this document are understood to include all GNSS-based systems and navigation systems.

[0006] One method of improving the position information of a movable object is to utilize one or more measurement value receivers that obtain a series of quantized measurements from one or more measurement sensors (e.g., encoders for measuring the phase of quantized GNSS signals, odometers, GNSS signal receivers) to estimate and update the position information of the movable object. In some cases, the quantized measurements are used to determine and update the estimated position of the movable object independently of the GPS signal (e.g., in a short period of time or a short time, or in parallel with GPS-based updates), and the position of the movable object can be accurately estimated even when the GPS signal is blocked. Summary of the invention

[0007] In order to solve the reliability and accuracy problems, the navigation information from the measurement receiver can be used to update the positioning information of the movable object using Kalman filtering. When the GPS signal is weak or unreliable, it is very useful to update the position of the movable object using the measurement from the measurement receiver, and the position update can also be provided between the updates based on the GPS signal. It should be noted that the term "position update" in this document is understood to include all relevant state vector updates, so, where applicable, it includes the update of the speed and / or acceleration of the movable or movable object associated with the navigation device or the navigation device, and optionally the update of other state values, such as attitude or sensor error. In this document, the movable or movable object associated with the navigation device is understood to be a movable or movable object embedded in the navigation device, a movable or movable object attached to it, or a movable or movable object communicating with the navigation device (e.g., using wireless communication).

[0008] The position update of the movable object based on the information received from the measurement value receiver can be calculated independently and / or in parallel with the position update of the movable object based on the GPS signal. In some cases, the information usually received at the measurement value receiver is a quantized measurement value with quantization error. The quantization error can be modeled as a part of the estimated state (e.g., the estimated state of the movable object), sometimes referred to as the Kalman state or Kalman filter state in this article, so as to improve the accuracy in the estimation of the positioning information of the movable object, and optionally provide an improved figure of merit, such as an estimation of the accuracy or reliability of the estimated positioning information. By modeling the quantization error of the quantized measurement value in the estimated state rather than in the noise measurement value matrix, the cumulative error associated with the series of quantized measurement values ​​can be accurately modeled and estimated.

[0009] In contrast, when the estimated position of a movable object is updated according to a conventional Kalman filter update operation, a matrix of noisy measurements is used to model the quantization error. This conventional approach results in a cumulative error that increases as the number of measurements or the number of update iterations increases (e.g., the estimated error of the updated position information increases as the number of update iterations increases). This apparent increase in cumulative error does not accurately reflect the total amount of error in the measurements received from the measurement acquisition mechanism. However, the total error in the quantized measurements of multiple measurements does not grow with time, number, or measurement, but is limited by a fixed amount associated with the quantization error of any one measurement. Therefore, compared to conventional Kalman filter methods, the methods, systems, and devices disclosed herein allow for a more accurate estimation of the quantization error of the quantized measurements, thereby avoiding or mitigating the inaccurate result that the cumulative error associated with a series of received quantized measurements increases with the number of measurements or the number of position update calculations.

[0010] Some embodiments provide a system (eg, a navigation device), a computer-readable storage medium storing instructions, or a method for determining an estimated position of an object based on navigation information from one or more measurement receivers.

[0011] (A1) In a method for determining an estimated position of an object, a navigation device receives navigation information corresponding to a position or position change of an object from one or more measurement value receivers. As time passes, a first measurement value receiver in the one or more measurement value receivers receives navigation information including a series of quantized measurements (e.g., measurements different from pseudorange estimates generated by a GPS or GNSS system or subsystem). Each quantized measurement value has a corresponding quantization error. In some embodiments, the quantization error of each quantized measurement value in the series of quantized measurements is negatively correlated with the quantization error of the previous quantized measurement value, or stated differently, the quantization error of each quantized measurement value is negatively correlated with the quantization error of the previous quantized measurement value in the series of quantized measurements. The method generates an estimated position of the object based on the quantized measurements. The method includes iteratively performing a navigation update operation at a series of times separated by time intervals. The navigation update operation includes determining an estimated state of the object at a current time in the series of times (e.g., a current iteration, a kth iteration) and an estimated state covariance matrix of the object based on the estimated state and estimated state covariance matrix of the object at a previous time in the series of times (e.g., a previous iteration, a k-1th iteration). The estimated state of the object includes a first part and a second part, the first part includes at least an estimated position value and an estimated speed value, and the second part includes an interval end quantization error value and an interval start quantization error value. The estimated state covariance matrix of the object includes a first part and a second part, the first part includes a covariance value of the first part of the estimated state, and the second part includes an end covariance value and a start covariance value corresponding to the interval end quantization error value and the interval start quantization error value in the second part of the estimated state, respectively. The navigation update operation also includes determining the estimated state of the object and the estimated state covariance matrix of the object at the current time (e.g., the current iteration, the kth iteration). The method includes replacing the interval start quantization error value in the estimated state with the interval end quantization error value determined in the previous iteration of the navigation update operation in each iteration. The method also includes updating the estimated state and the estimated state covariance matrix according to a predetermined Kalman filter update operation to generate the estimated state of the object and the estimated state covariance matrix of the object at the current time (e.g., the current iteration, the kth iteration).

[0012] (A1A) In some embodiments, a predetermined Kalman filter update operation is used to update the estimated state and the estimated state covariance matrix based on corresponding quantized measurement values ​​in the series of quantized measurement values ​​(e.g., quantized measurement values ​​received since the last iteration of performing the navigation update operation).

[0013] (A2) In some embodiments of the method of A1 or A1A, determining the estimated state of the object and the estimated state covariance matrix of the object at the current time (e.g., the current iteration, the kth iteration) includes replacing the element of the estimated state covariance matrix corresponding to the interval end quantization error value with a first predetermined value. In some embodiments, the first predetermined value is determined based on the maximum quantization error (e.g., a predetermined maximum quantization error) of any corresponding quantization measurement value in the series of quantization measurement values ​​(e.g., the amount of change in the quantization measurement value if only the least significant bit (LSB) value of the quantization measurement value changes).

[0014] (A3) In some embodiments of the method of A2, determining the estimated state of the object and the estimated state covariance matrix of the object at a current time (e.g., a current iteration, a kth iteration) includes replacing the elements of the estimated state covariance matrix corresponding to the interval start quantization error values ​​with the covariance values ​​determined in a previous iteration of the navigation update operation.

[0015] (A4) In some embodiments of the method of any one of items A2–A3, determining the estimated state of the object and the estimated state covariance matrix of the object at a current time (e.g., current iteration, kth iteration) includes: replacing the interval end quantization error value in the estimated state with a second predetermined value (e.g., zero).

[0016] (A5) In some embodiments of the method of any one of A2-A4, updating the estimated state and the estimated state covariance matrix according to a predetermined Kalman filter update operation includes using a Kalman gain function, which includes a noise measurement value matrix, and the noise measurement value matrix is ​​equal to zero.

[0017] (A6) In some embodiments of the method of any of A2-A5, updating the estimated state and the estimated state covariance matrix according to a predetermined Kalman filter update operation includes using a Kalman gain function, which includes a sensitivity matrix. The sensitivity matrix includes an interval end quantization error sensitivity value corresponding to the interval end quantization error value and an interval start quantization error sensitivity value corresponding to the interval start quantization error value. The interval end quantization error sensitivity value and the interval start quantization error sensitivity value are equal in magnitude but opposite in sign.

[0018] (A7) In some embodiments of the method of any of A1-A6, the method further includes generating one or more quality factors, for example, a quality factor corresponding to the estimated state determined at the current time. Each quality factor is based on one or more diagonal elements of the estimated state covariance matrix (e.g., one or more diagonal elements of the estimated state covariance matrix determined at the current time, or a linear combination of one or more diagonal elements of the estimated state covariance matrix and one or more non-diagonal elements).

[0019] (A8) In some embodiments of the method of any one of A1-A7, the estimated state covariance matrix also includes covariance values ​​of any one of the sensor offset error, the object's posture, and the sensor error, or covariance values ​​of one or more of the sensor offset error, the object's posture, and the sensor error.

[0020] (A9) In some embodiments of the method of any of A1-A8, the method includes reporting at least a portion of the estimated state of the object (e.g., position and velocity, or position, attitude, and velocity) to a reporting device (e.g., a user interface or user interface subsystem of a vehicle including the object; or a computer system external to the navigation device) or other external system outside the navigation device. Optionally, the quality factor is reported to the reporting device or external system together with the portion of the estimated state.

[0021] (A10) In some embodiments of the method of any of A1-A9, the object is a movable object.

[0022] (A11) In some embodiments of the method of any one of A1-A10, a time interval separating the series of times has a predetermined value.

[0023] (A12) In some embodiments of the method of any of A1-A11, the object includes at least one of the one or more measurement value receivers.

[0024] (A14) On the other hand, in some embodiments, a navigation device for an object includes: one or more processors; one or more measurement value receivers, the one or more measurement value receivers being used to receive navigation information corresponding to the position or position change of the object; and a memory, the memory storing one or more programs, the one or more programs including instructions for iteratively performing a navigation update operation at a series of times separated by time intervals. As time passes, a first measurement value receiver in the one or more measurement value receivers receives navigation information including a series of quantized measurement values. Each quantized measurement value has a corresponding quantization error. In some embodiments, the quantization error of each quantized measurement value in the series of quantized measurement values ​​is negatively correlated with the quantization error of the previous quantized measurement value, or stated differently, the quantization error of each quantized measurement value is negatively correlated with the quantization error of the previous quantized measurement value in the series of quantized measurement values. The navigation update operation includes determining an estimated state of the object at a current time in the series of times (e.g., a current iteration, a kth iteration) and an estimated state covariance matrix based on the estimated state of the object at a previous time in the series of times (e.g., a previous iteration, a k-1th iteration) and an estimated state covariance matrix. The estimated state of the object includes a first part and a second part, the first part includes at least an estimated position value and an estimated speed value, and the second part includes an interval end quantization error value and an interval start quantization error value. The estimated state covariance matrix of the object includes a first part and a second part, the first part includes a covariance value of the first part of the estimated state, and the second part includes an end covariance value and a start covariance value corresponding to the interval end quantization error value and the interval start quantization error value in the second part of the estimated state, respectively. The navigation update operation includes determining the estimated state of the object and the estimated state covariance matrix of the object at the current time (e.g., the current iteration, the kth iteration). The navigation update operation also includes replacing the interval start quantization error value in the estimated state with the interval end quantization error value determined in the previous iteration of the navigation update operation in each iteration. The navigation update operation also includes updating the estimated state and the estimated state covariance matrix according to a predetermined Kalman filter update operation to generate the estimated state of the object and the estimated state covariance matrix of the object at the current time (e.g., the current iteration, the kth iteration).

[0025] In some embodiments of the navigation device of A14, the one or more programs include instructions for performing the method of any one of A1 to A13.

[0026] (A15) On the other hand, in some embodiments, a computer-readable storage medium stores one or more programs, the one or more programs including instructions that, when executed by one or more processors of a system (e.g., a navigation device or a navigation system) for navigating a movable object based on signals from multiple satellites, perform a method comprising: receiving navigation information corresponding to a position or position change of an object, which includes receiving navigation information including a series of quantized measurements over time. Each quantized measurement has a corresponding quantization error. In some embodiments, the quantization error of each quantized measurement in the series of quantized measurements is negatively correlated with the quantization error of a previous quantized measurement, or stated differently, the quantization error of each quantized measurement is negatively correlated with the quantization error of a previous quantized measurement in the series of quantized measurements. The method also includes iteratively performing navigation update operations at a series of times separated by time intervals. The navigation update operation includes determining the estimated state of the object and the estimated state covariance matrix of the object at the current time (e.g., the current iteration, the kth iteration) in the series of times based on the estimated state and the estimated state covariance matrix of the object at the previous time (e.g., the previous iteration, the k-1th iteration) in the series of times. The estimated state of the object includes a first part and a second part, the first part includes at least an estimated position value and an estimated velocity value, and the second part includes an interval end quantization error value and an interval start quantization error value. The estimated state covariance matrix of the object includes a first part and a second part, the first part includes the covariance value of the first part of the estimated state, and the second part includes an end covariance value and a start covariance value corresponding to the interval end quantization error value and the interval start quantization error value in the second part of the estimated state, respectively. The navigation update operation also includes replacing the interval start quantization error value in the estimated state with the interval end quantization error value determined in the previous iteration of the navigation update operation. The navigation update operation also includes updating the estimated state and the estimated state covariance matrix according to a predetermined Kalman filter update operation to generate the estimated state of the object and the estimated state covariance matrix of the object at a current time (eg, current iteration, kth iteration).

[0027] In some embodiments of the one or more computer-readable storage media of A15, the one or more programs include instructions that, when executed by one or more processors of the system, cause the system to perform the method of any one of A1 to A13. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Figure 1 is a block diagram illustrating a navigation system according to some embodiments;

[0029] Figure 2 is a diagram showing the Figure 1 A block diagram of a navigation device associated with a movable object;

[0030] Figure 3 is a diagram showing a method according to some embodiments Figure 1 A block diagram of a movable object;

[0031] Figure 4 is a flow chart illustrating a process for updating the position of a movable object using a Kalman filter according to some embodiments;

[0032] Figure 5A is an example of a data structure for an estimated state of a movable object according to some embodiments;

[0033] Figure 5B is an example of a Kalman gain function according to some embodiments;

[0034] Figure 5C is according to some embodiments corresponding to Figure 5B Example of the covariance matrix of the Kalman gain function;

[0035] Figure 5D is an example of a starting estimated state of a movable object according to some embodiments;

[0036] Figure 5E is according to some embodiments corresponding to Figure 5D Example of an updated covariance matrix for the starting state of ;

[0037] FIG. 6A to FIG. 6D is a flow chart of a method of estimating a position of a movable object according to some embodiments. DETAILED DESCRIPTION

[0038] Figure 1 1 is a block diagram illustrating a navigation system 100 according to some embodiments. The navigation system 100 is capable of determining the position of a movable object 110 (e.g., a rover such as a motor vehicle (e.g., a car, truck, or tractor), or an object towed or otherwise moved by a vehicle or other object (e.g., a trailer)) at any point in time, or more accurately estimating the position of the movable object 110. The movable object 110 is sometimes referred to as an active object, such as in embodiments where the movable object 100 has wheels but no propulsion system. The navigation system 100 includes one or more measurement receivers 112 that receive measurements from one or more measurement sensors 118 (e.g., odometers or encoders, see Figure 2) and optionally includes other measurement equipment, such as one or more satellite signal receivers (e.g., GPS signal receivers, satellite antennas) configured to receive satellite navigation signals (e.g., GPS signals) from a plurality of additional satellites (e.g., satellites 114-1 to 114-S, where S is an integer, considering that the movable object S usually has a value of at least 4, collectively referred to herein as satellites 114). The navigation system 100 optionally includes the movable object 110.

[0039] The satellite navigation signals received in the navigation system are typically global navigation satellite system (GNSS) signals, such as global positioning system (GPS) signals at a 1575.42 MHz L1 signal frequency, and optionally, GPS signals at a 1227.6 MHz L2 signal frequency, or other navigation signals at other frequencies. The movable object 110 or a navigation device associated with the movable object 110 (e.g., a navigation device attached to the movable object 110, embedded in the movable object 110, or otherwise associated with the movable object 110) can be equipped with one or more of the measurement value receivers 112, and optionally with other measurement devices, such as one or more satellite signal receivers. In some embodiments, the movable object 110 or its associated navigation device is also equipped with one or more communication interfaces (e.g., one or more communication ports for wired communication with other devices) and / or a wireless communication interface (e.g., including a radio transmitter and receiver) for wirelessly communicating with an external system (e.g., for transmitting position information, such as the current position of the movable object 110, or relative position information about the movable object 110 relative to a previous position or the relative position of the movable object 110).

[0040] The estimated position of the movable object 110 is determined at least in part based on the quantized measurements received at one or more measurement receivers 112. In some embodiments, the estimated position of the movable object 110 can also be determined based on satellite signals received from one or more satellites 114. In some embodiments, the estimated position of the movable object 110 is an absolute position. In some embodiments, the estimated position of the movable object 110 is represented by a differential position value, such as a relative position vector. In the following discussion, and throughout this document, the term "estimated position" refers to the absolute position of the movable object 110, or the relative position of the movable object 110 relative to a previous position or a predetermined base position (e.g., an initial position or a starting position).

[0041] In some embodiments, a navigation device (eg, navigation device 200, Figure 2) is configured to determine or generate an estimated position of the movable object 110 based on quantized measurements received at a predetermined time or at a series of times separated by an interval (e.g., at 0.1 second intervals). In some embodiments, the interval separating the series of times has a predetermined value. In some embodiments, the navigation device can also determine the estimated position of the movable object 110 based on other forms of measurements (e.g., received satellite signals).

[0042] For example, the navigation device uses two different position update processes or modules (e.g., modules 224 and 226, both of which update the same position estimate (or estimated state) of the movable object 110. Figure 2 ) generates an updated position estimate (or more generally, estimated state) for the movable object 110, (e.g., using the measurement update module 226 of the navigation device 200, Figure 2 ) can generate an updated position estimate (or more generally, an estimated state) for the movable object 110 based on quantized measurements (e.g., measurements of the amount of rotation of the wheels of the movable object) at a first set of intervals (e.g., 0.1 second intervals) occurring at a first frequency (e.g., 10 Hz), and (e.g., using GPS or other update module 224 of the navigation device 200, Figure 2 ) generates an updated position estimate (or more generally, estimated state) for movable object 110 based on received satellite signals at a second set of intervals (e.g., 1.0 second intervals) occurring at a second frequency (e.g., 1 Hz) that is different from the first frequency.

[0043] In some embodiments, the estimated position of the movable object 110 is determined by combining the estimated position of the movable object 110 at a previous time (e.g., a start time or initial time, or a time before the current time) with the change in position of the movable object 110 between the current time and the previous time. In some embodiments, the navigation device is configured to generate an updated estimated position for the movable object 110 at a frequency greater than or equal to 10 Hz (e.g., when the update frequency is 10 Hz, an updated estimated position is generated every 100 milliseconds; when the update frequency is 25 Hz, an updated estimated position is generated every 40 milliseconds; when the update frequency is 50 Hz, an updated estimated position is generated every 20 milliseconds).

[0044] In some embodiments, the navigation device reports the estimated position of the movable object 110 to a home system (sometimes referred to as an external system) external to the navigation device. For example, the home system can be a server or client system (e.g., a desktop, laptop, mobile phone, tablet computer, personal digital assistant (PDA)), etc. In some embodiments, the home system is located in the movable object 110 (e.g., a user interface subsystem that presents maps and other information to the user of the movable object) or attached to the movable object 110. The home system is optionally linked to a network (e.g., the Internet) and / or a local area network within the movable object 110. Optionally, the home system is configured to control the movement of the movable object 110 (e.g., by controlling the steering and / or propulsion system of the movable object 110) so as to maintain a predetermined distance or relative position between the movable object 110 and a predetermined location or another object (e.g., a second movable object or a stationary object). In some embodiments, the navigation device of the movable object 110 does not include a home system, and in some other embodiments, the navigation device of the movable object 110 only communicates with the home system intermittently. In some embodiments, the navigation system 100 is configured to report an updated estimated position of the movable object 110 at a frequency less than or equal to the frequency at which the updated estimated position is generated. For example, the updated estimated position may be generated at a frequency of 10 Hz, but the navigation system 100 may report the updated estimated position at a frequency of 0.5 Hz.

[0045] Figure 2 is a block diagram of a navigation device 200 according to some embodiments, the navigation device 200 is Figure 1The navigation device 200 is a part of the navigation system 100. The navigation device 200 generally includes one or more processors (CPU) 202 for executing programs or instructions; one or more measurement value receivers 204 for receiving measurement values ​​from one or more measurement sensors 118 (e.g., encoders, odometers, GNSS signal receivers for measuring quantized GNSS signal phases, etc.), although one or more of the measurement value receivers 204 can be external to the navigation device 200 (e.g., connected to the navigation device via a wired or wireless connection 211), optionally including a satellite signal receiver 208 for receiving satellite navigation signals (e.g., if external to the navigation device, the satellite signal receiver 208 is connected to the navigation device 200 via a wired connection 215); one or more communication interfaces 207; memory 210; and one or more communication buses 205 for interconnecting these components. The navigation device 200 optionally includes a user interface 209, which includes a display device and one or more input devices (e.g., one or more of a keyboard, a mouse, a touch screen, keys, etc.). In some embodiments, the user interface 209 is a system or subsystem external to the navigation device 200 that is connected to the navigation system via a wired or wireless connection 219. The one or more communication buses 205 may include circuitry (sometimes referred to as a chipset) that interconnects and controls communications between system components.

[0046] The navigation device 200 uses a communication interface 207 (e.g., a transmitter or transceiver, such as a radio transmitter or transceiver, or a wired communication transmitter or transceiver) to receive communications, such as communications from a home system as described above or another system in communication with the navigation device 200 (inside or outside the movable object 110, the navigation device 200, or the navigation system 100). The communication interface 207, if included in the navigation device 200, is also used by the navigation device 200 to send signals from the navigation device 200 to the home system and / or report information corresponding to the location of the movable object 110. In some embodiments, the communication interface 207 is a single transceiver, while in other embodiments, the communication interface 207 includes separate transceivers or separate communication interfaces. In some embodiments, the communication interface 207 is a wireless communication interface for connecting the navigation device 200 to the home system via the Internet. In some embodiments, the navigation device 200 includes one or more additional receivers or communication interfaces for receiving or exchanging information with other systems (e.g., for receiving wide area differential global positioning system information).

[0047] In some embodiments, the one or more communication interfaces 207 of the navigation device 200 include a reporting device 206 (e.g., a transmitter or transceiver, such as a radio transmitter or transceiver, or a wired communication transmitter or transceiver), which the navigation device 200 uses to send information (e.g., information corresponding to the location of the movable object 110) from the navigation device 200 to one or more external systems 144. Examples of external systems that receive information from the reporting device 206 and are embedded in or attached to the movable object 110 are a user interface subsystem (e.g., a user interface subsystem of the movable object 110 for displaying a map, such as presenting a map showing the location of the movable object 110, and optionally providing other mapping and navigation functions to a user of the movable object 110), and a steering and / or propulsion system 144 of the movable object. In some embodiments, the external system to which the reporting device 206 sends information is located outside the movable object 110. In some embodiments, the reporting device 206 is a single transceiver, while in other embodiments, the reporting device 206 includes two or more separate transceivers or separate communication interfaces. In some embodiments, the reporting device 206 is or includes a wireless communication interface for connecting the navigation device 200 to one or more external systems 144 via the Internet or other wide area network. In some embodiments, the reporting device 206 (whether internal or external to the navigation device 200) is or includes a "user-level navigation system" that displays a map, shows the location of the movable object 110 on the map, and provides other mapping and navigation functions to the user of the movable object 110.

[0048] In some embodiments, examples thereof are as follows Figure 3 As shown, the reporting device 206 is separate from the one or more communication interfaces 207 and is optionally located external to the navigation device 200. In some such embodiments, the reporting device 206 receives information from the navigation device 200 via a respective one of the one or more communication interfaces 207.

[0049] The memory 210 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid-state memory devices; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices or other non-volatile solid-state storage devices. The memory 210 optionally includes one or more storage devices remote from the (one or more) CPUs 202. The memory 210 or alternatively the (one or more) non-volatile memory devices within the memory 210 includes a computer-readable storage medium. In some embodiments, the memory 210 or the computer-readable storage medium of the memory 210 stores the following programs, modules and data structures or a subset thereof:

[0050] • Operating system 212, which includes programs that handle various basic system services and perform hardware-related tasks.

[0051] One or more communication modules 214 that operate with the one or more communication interfaces 207 (e.g., one or more transceivers and / or communication ports) to handle communications between the navigation device 200 and other systems. In some embodiments, the communication module 214 includes a driver that, when executed by the one or more processors 202, enables various hardware modules in the one or more communication interfaces 207 to receive messages and / or send messages to external systems external to the navigation device 200.

[0052] Data received from the one or more measurement receivers 216 (e.g., one or more sets of recently received data, optionally implemented as a local database) that includes data associated with the position or relative position of the movable object 110 (e.g., an encoder or odometer that counts wheel revolutions) (e.g., data or information corresponding to one or more measurement sensors 118 (e.g., odometers or encoders)). In some embodiments, one of the measurement receivers 216 receives information from a wheel encoder that generates N "clicks" (e.g., 100 clicks) per revolution of the wheel of the movable object's propulsion system, where each "click" corresponds to a change in the least significant bit (LSB) of the measurement value transmitted by the encoder to the measurement receiver 216. In some embodiments, the data received by the one or more measurement receivers 216 is used by the Kalman module(s) 222, as described in more detail below, to help determine the position of the movable object 110.

[0053] A navigation application 218, which in some embodiments includes instructions that enable the navigation device 200 to perform navigation functions, such as guiding the movable object 110 along a path (e.g., on a road or in a field), or maintaining a fixed attitude and distance of the movable object 110 relative to another movable object.

[0054] A steering or propulsion control module 220 for steering or controlling the propulsion of the movable object 110 .

[0055] One or more Kalman modules 222 (sometimes referred to as navigation modules) which, when executed by CPU 202, use satellite navigation data received by satellite receiver 208 from satellites (e.g., GPS or GNSS satellites) 114 and / or data received from measurement receiver(s) 112 to determine the position of movable object 110 or the relative position of movable object 110.

[0056] In some embodiments, Kalman module(s) 222 include one or more GPS and / or other update module(s) 224 and a measurement update module 226, as described below.

[0057] In some embodiments, one or more GPS and / or (one or more) other update modules 224 process the received satellite navigation signals to determine satellite navigation data and an estimated position of the movable object 110 at a series of times (sometimes referred to as epoch boundary moments, and optionally at moments between epoch boundary moments). This processing involves measuring or determining measurements of the received satellite navigation signals. For example, for each satellite from which a navigation signal is received, the measurements may include a pseudorange between the movable object and the satellite, and a phase measurement at one or more predetermined frequencies (e.g., L1 frequency or L1 and L2 frequencies). The one or more GPS and / or (one or more) other update modules 224 use the satellite navigation signals and provide an estimated position of the mobile target 110 updated using a Kalman filter. The term Kalman filter herein refers to any of a variety of Kalman filters, including not only conventional Kalman filters, but also extended Kalman filters, centerless Kalman filters, and other estimation techniques (e.g., linear quadratic estimation techniques) that use a series of measurements observed over time, which may include statistical noise and other inaccuracies, and a recursive update process for estimating the current state of the system or object.

[0058] The measurement update module 226 processes the data received from the measurement receiver(s) 112 to provide an estimated position for the movable object 110 at a series of times separated by time intervals. The processing involves receiving measurements 216 (e.g., quantized measurements) from one or more measurement sensors 118, and the measurement update module 226 uses the received measurements 216 to provide an estimated position of the movable object 110, which is updated using a Kalman filter. In some embodiments, the measurement update module 226 includes an error update module 228 (or a set of instructions) and a covariance matrix update module 230 (or a set of instructions). The measurement update module 226 models information about the movable object 110, such as position, velocity, acceleration, and attitude (e.g., yaw, roll, pitch), and quantization errors associated with the received measurements (e.g., an interval start quantization error value and an interval end quantization error value corresponding to quantization error values ​​at the beginning and end of the interval, respectively) as elements of the estimated state of the movable object. In some embodiments, the estimated state may also include an element corresponding to a sensor offset error or a sensor error, which represents a persistent (or slowly varying) error in the received measurements or navigation signals.

[0059] As mentioned above Figure 1 As described, in some embodiments, the navigation system 200 updates the estimated state 232 of the movable object 110 in two different but overlapping time series (including: at a first time series, based on quantized measurements from one or more measurement sensors 118, and at a second time series, based on GPS, GNSS or other satellite signals received using the satellite receiver 208). For example, in some embodiments, the estimated state is updated based on the received quantized measurements at the first time series (e.g., performed by the measurement update module 226),

[0060] t start +ΔT1×i, for i=0 to i last

[0061] In the second time series, the estimated state 232 is updated based on the satellite signal (such as GPS or GNSS signal) (for example, using GPS or other updating module 224 of the navigation device 200, Figure 2 ),

[0062] t start +ΔF+ΔT2×j, for j=0 to j last

[0063] where t startrepresents a start time, such as when the navigation device 200 first starts generating and updating the estimated state, or alternatively represents any point in time during which the navigation device is actively updating the estimated state; ΔT1 and ΔT2 are different non-zero time intervals, such as 0.1 seconds and 1 second, respectively, at which the estimated state is updated by two update operations (e.g., one based on received quantized measurements and the other based on received satellite signals); ΔF is a non-zero offset time, such as 0.01 or 0.05 seconds, to ensure that the two sets of updates are performed in different but overlapping time sequences; and i last and j last Corresponds to the last or most recent update or iteration of both sets of update operations.

[0064] In some embodiments, the error update module 228 updates (e.g., replaces) the interval start quantized error value in the start state (e.g., the start estimation state) of the current interval (e.g., the time interval corresponding to the kth iteration of the navigation update operation) with the interval end quantized error value of the latest previous interval (e.g., the previous iteration, the (k-1)th iteration), because the end of one interval corresponds to (e.g., is the same as) the start of the next (e.g., subsequent or continuous) interval. Based on Figure 5D The detailed information about updating the estimated state of the movable object is described. The covariance matrix update module 230 updates (e.g., replaces) the elements of the covariance matrix for the next interval (e.g., the time interval corresponding to the (k+1)th iteration of the navigation update operation). Figure 5E Detailed information about how the covariance matrix is ​​updated is described. The measurement update module 226 calculates the updated estimated state 232 and the estimated covariance matrix 234 based on the most recently received measurement 216 (e.g., the most recently received measurement for the current interval or update iteration). In some embodiments, information corresponding to the estimated state 232 is reported to an external system via the communication interface 207. For example, in some embodiments, information corresponding to the estimated state 232 is transmitted to the steering and / or propulsion system 144 via the reporting device 206.

[0065] Each of the operating system 212 and the modules and applications determined above corresponds to a set of instructions for performing the above functions. The set of instructions can be executed by the one or more processors 202 of the navigation device 200. The modules, applications or programs (i.e., multiple sets of instructions) determined above do not need to be implemented as separate software programs, programs or modules, so in various embodiments, each subset of these modules can be combined or otherwise rearranged. In some embodiments, the memory 210 stores a subset of the modules and data structures determined above. In addition, the memory 210 optionally stores additional modules and data structures not described above.

[0066] Figure 2 The purpose is more to provide a functional description of various features that may be present in the navigation device 200 rather than a schematic diagram of the structure of the embodiments described herein. In practice, as recognized by those of ordinary skill in the art, the items shown separately may be combined and some items may be split. For example, Figure 2 Some items shown separately in the figure may be combined into a single module or component, and a single item may be implemented using two or more modules or components. For example, the GPS and / or (one or more) other update module 224 and the measurement update module 226 may be implemented by different computers or different processors, each processor having its own memory for storing programs for execution by the processor, which are part of the navigation device 200. The actual number of modules and components and the distribution of features among them vary depending on the implementation. In another set of examples, in some embodiments, Figure 2 One or more of the components or subsystems shown in FIG. 1 are located outside the navigation device 200. For example, in some embodiments, one or more of the measurement value receivers 112 ( Figure 2 204) is located outside the navigation device 100 and is connected to the navigation device 200 via a wired or wireless connection 211; in some embodiments, the reporting device 206 is located outside the navigation device 200 and is connected to the navigation device 200 via a wired or wireless connection 217; and in some embodiments, the satellite receiver 208 is outside the navigation device 200 and is connected to the navigation device 200 via a wired connection 215.

[0067] Figure 3 In some embodiments Figure 1 In some embodiments, the one or more measurement receivers 112 and the navigation device 200 are both part of the movable object 110 (e.g., equipped by the movable object 110, embedded in the movable object 110, or attached to the movable object 110). For example, the measurement receiver(s) 112 (e.g., a receiver for an encoder or an odometer) and the navigation device 200 are mounted on a probe vehicle (sometimes referred to herein as a movable object and are located on a plurality of movable objects 110). Figure 1The movable object 110 may also include any one of the reporting device 206 and the steering and / or propulsion system 144. For example, the reporting device 206 may be a communication device that is part of the movable object 110 and facilitates communication between the navigation device 200 and the steering and / or propulsion system 144. In some embodiments, the reporting device 206 and / or the steering and / or propulsion system 144 may be located outside the movable object 110 and communicate with the navigation device 200. In addition, in some embodiments, such as Figure 2 As shown, the measurement value receiver 112 ( Figure 2 204) is part of the navigation device 200, and in some embodiments, the reporting device 206 is part of the navigation device 200. However, in some other embodiments, the measurement value receiver 112 ( Figure 2 One or more of 204 ) are external to the navigation device 200 , and in some embodiments, the reporting device 206 is external to the navigation device 200 .

[0068] The measurement receiver(s) 112 receives measurements (e.g., quantized measurements) from one or more measurement sensors 118 (e.g., encoders, odometers, or GNSS signal receivers for measuring quantized GNSS signal phases) and sends the received information (e.g., received measurements) to the navigation device 200. The navigation device 200 uses the received information to determine an estimated state (e.g., estimated position, velocity, acceleration, attitude, etc.) of the movable object 110 in a Kalman filter update operation, as described in more detail below. Optionally, calculated information from the estimated state (e.g., position, estimated velocity, etc.) is transmitted to the steering and / or propulsion system 144 (optionally via the reporting device 206). The steering and / or propulsion system 144 (if provided) provides instructions to navigate and / or control the movement of the movable object 110. Alternatively, the information calculated based on the estimated state (e.g., position, estimated velocity, etc.) is provided to or sent to the reporting device 206, which can be internal or external to the navigation device 200.

[0069] Figure 41 is a flow chart illustrating a process 400 for updating an estimated state of a movable object 110 using a Kalman filter update operation. When recording measurements (e.g., quantized measurements), the navigation device 200 updates the estimated state (e.g., position, velocity, attitude) of the movable object 110 using (one or more) measurements 216 (e.g., data, information, quantized measurements) received from one or more measurement receivers 112. In some embodiments, the estimated state of the movable object 110 is updated in response to receiving the measurements 216, or the estimated state of the movable object 110 is updated for each received measurement 216. The portion of the process 400 corresponding to the iterative update of the estimated state of the movable object 110 is shown in FIG. Figure 4 In the dashed box 402 in FIG.

[0070] At the beginning of process 400, (operation 410) navigation information (e.g., position, velocity, acceleration, attitude) for movable object 110 is represented by an initial state. For example, the initial state can show an initial (e.g., starting) position of movable object 110 (e.g., x, y, z represents the most recently determined position of the movable object, or the last determined position of the movable object) and any of an initial velocity, an initial acceleration, and / or an initial attitude (e.g., pitch, heading, roll). In some embodiments, process 400 optionally includes calculating a current state (e.g., a state at a kth iteration) of the movable object using one or more dynamic models (e.g., a physical model, kinematic equations, etc.) (operation 420). In a first iteration, navigation information from the initial state (from operation 410) is used for calculations in operation 420. In iterations subsequent to the first iteration, the starting state from a previous (e.g., most recent) iteration is used for calculations in operation 420. In some embodiments, as Figure 4 As shown, calculating the state using the (one or more) kinetic model (e.g., operation 420) is performed before receiving the measurement value 216 (operation 440). Alternatively, calculating the state using the (one or more) kinetic model (operation 420) can be performed simultaneously with receiving the measurement value 216 (operation 440) or after receiving the measurement value 216 (operation 440).

[0071] Updating the estimated state of the movable object 110 typically begins after receiving (operation 440) a measurement 216 at the one or more measurement receivers 112. Prior to being received, the measurement may optionally be recorded (operation 430), such as by a sensor 118 or other device external to the navigation device 200. After receiving (operation 440) the measurement, optionally calculating (operation 420) the state using (one or more) dynamic models, the process 400 includes updating the state of the movable object 110 based on the received measurement 216 using a Kalman filter update (operation 450) operation.

[0072] In some embodiments, operations 420-460 are performed at a predetermined frequency regardless of whether any new measurements are recorded and received. The predetermined frequency is typically in the range of 1000 times per second to 1 time per second (including 1000 times per second and 1 time per second), with 10 times per second (at intervals of 0.1 seconds) being a typical example. Optionally, in some embodiments, if no new measurements are received within the current time period (e.g., because the movable object has not moved within the time interval, or the amount of motion detected by the sensor or encoder is less than a predetermined minimum quantization distance (e.g., a single bit change in the numerical value corresponding to the quantized measurement value)), then the recording operation 430, the receiving operation 440, and the estimated state determination operation 450 are skipped. However, in some other embodiments, if the state determined using the dynamic model (operation 420) results in any change in the state of the movable object, the estimated state determination operation 450 is performed even if no new measurements are received within the current time interval.

[0073] In some embodiments, in the Kalman filter update operation (operation 450), the estimated state is updated according to the following equation (1).

[0074]

[0075] In equation (1), x k is the estimated state of movable object 110 (as described below with respect to Figure 5A described estimated state 510), is the updated estimated state of the movable object generated by the Kalman filter update operation, is based on the current estimated state of the movable object 110 An estimate of the measured value, K, calculated using the kinetic model (e.g., calculated in operation 420) k is the Kalman gain, sometimes referred to as the Kalman gain function, such as Kalman gain function 530, and the following is about Figure 5B Describe), kis the measurement value (e.g., quantized measurement value) received in operation 440, and the subscript k refers to the current time or computation iteration (e.g., in equation (1), the kth iteration generally refers to the current iteration). The Kalman gain can generally be viewed as a function that determines how much weight to give to the estimated measurement value, based on the current estimated state in the computation. (as calculated using the kinetic model in operation 420) and the received measurement z k (as recorded in operation 430 and received in operation 440) to determine the estimated state of movable object 110. Figure 5A –5C provides more details about the update operation 450, including information about the estimated status (about Figure 5A described) and the Kalman gain equation (about Figure 5B and 5C Description) details.

[0076] The estimated state of the navigation device or movable object at the current time generated by the current iteration (e.g., kth iteration) of the estimated state update process is output in operation 460 and used in operation 470 to update the starting state of the next iteration (e.g., (k+1)th iteration) of operations 420-450. Operation 470 occurs after the Kalman filter update process (e.g., operation 450) of the current iteration and before the Kalman filter update process (e.g., operation 450) of the next iteration. In other words, operation 470 is performed between operations 450 of consecutive iterations. Although operation 470 is performed in Figure 4 4 is shown as being performed after the output operation 460 of the kth iteration and before the operation 420 of the (k+1)th iteration, but in other embodiments, the operation 470 may be performed after the operation 420 and before the operation 450. Figure 5D and 5E More details regarding operation 470 are described.

[0077] In some embodiments, the estimated state of movable object 110 generated (eg, calculated, updated) in operation 450 is reported to reporting device 206 and / or steering and / or propulsion system 144 .

[0078] As described above, process 400 may be repeated any number of times (eg, iterations) to update the estimated state of movable object 110 over time. In some embodiments, the number of iterations or the length of time that process 400 is repeated is predetermined.

[0079] Figure 5A is an example of an estimated state 510 of a movable object 110 according to some embodiments (e.g., corresponding to Figure 2The estimated state 232 in FIG. 1 and the x in equation (1) for the movable object 110 are k ). The estimated state 510 is determined (e.g., generated, estimated, calculated) based on the received measurement values ​​(e.g., received measurement values ​​216) as quantized measurement values. The estimated state 510 is a 1xL (also designated as 1x L) matrix containing L elements. Each element is represented as a i , where i=1 to L, i is (or represents) the row of the 1x L matrix containing the element. For example, the first element of the estimated state 510 is a1, the second element is a2, and so on. The estimated state 510 includes a first part 512 and a second part 514. The first part 512 of the estimated state 510 includes L-2 of the elements. The elements in the first part 512 of the estimated state 510 correspond to the position-related attributes of the movable object 110. For example, in some embodiments, each of the first element a1, the second element a2, and the third element a3 corresponds to the position of the movable object 110 along the x, y, and z directions, respectively. Each of the fourth element a4, the fifth element a5, and the sixth element a6 corresponds to the speed of the movable object 110 along the x, y, and z directions, respectively. The first part 512 of the estimated state 510 may also include other elements corresponding to various other position-related attributes of the movable object 110, such as attitude (pitch, heading, roll) (sometimes referred to as movement direction or motion direction) and acceleration. In some embodiments, first portion 512 of estimated state 510 may also include one or more elements corresponding to sensor bias errors or sensor errors, which represent persistent (or slowly varying) errors in received measurements or navigation signals.

[0080] The second part 514 of the estimated state 510 includes two elements a (L-1) and a L The elements of the second portion 514 of the estimation state 510 correspond to the interval end quantization error values ​​ε end (e.g., the quantized error value at the end of the interval) and the quantized error value λ at the beginning of the interval start (e.g., the quantization error value at the beginning of the interval). It will be appreciated that, as described above, the elements of the estimation state 510 may be arranged in any order, without necessarily following Figure 5A The order shown in .

[0081] Figure 5B is the Kalman gain function 530 (e.g., K in Eq. (1) k ), sometimes called the Kalman gain, which is used in the Kalman filter update operation (e.g., Figure 4 Operation 450 in the example) is used to update the estimated state 510 (such as Figure 5AThe Kalman gain function 530 includes the covariance matrix 520 (denoted by P and based on Figure 5C Described), sensitivity matrix 540 (in Figure 5B denoted by H in ) and the noise measurement matrix 550 (in Figure 5B The sensitivity matrix 540 is a matrix of received measurements (eg, the measurements 216, the quantized measurements, the z in equation (1)). k ) affects the current state (e.g., in Eq. (1) ). The noise measurement matrix 550 is a measurement technique used to obtain (eg, record, capture) measurement values ​​(eg, measurement value 216, quantized measurement values, z in equation (1)). k ) is a model of known or expected noise.

[0082] The sensitivity matrix 540 (H), sometimes also referred to as the design matrix, is a 1xL matrix that contains the same number of elements as the corresponding estimated states 510 and similarly contains a first portion 542 corresponding to the first portion 512 of the estimated states 510 and a second portion 544 corresponding to the second portion 514 of the estimated states 540. The elements of the sensitivity matrix 540 are denoted by c i , where i is (or indicates) the row of the matrix 540 for each element. In the first part of the sensitivity matrix 540, elements c1 to c (L-2) (including c1 and c (L-2) ) corresponds to the received measurement value (e.g., measurement value 216, quantized measurement value, z in equation (1) k ) for the current state (e.g., in equation (1) )’s impact.

[0083] In addition, the second portion 544 of the sensitivity matrix 540 includes elements, such as c (L1) , which represents the interval end quantization error sensitivity value and corresponds to the interval end quantization error value ε in the estimation state 510 end , and includes another element, such as c L , which represents the interval start quantization error sensitivity value and corresponds to the interval start quantization error value ε of the estimated state start , and these two elements (sometimes referred to as quantization error sensitivity value elements) are located in the sensitivity matrix 540 at positions corresponding to the positions of the corresponding quantization error values ​​in the estimated state 510. Figure 5A-5B In the example shown, the interval end quantization error value ε in the estimation state 510 is end and the corresponding interval end quantization error sensitivity value is the (L-1)th element in these two matrices, and the interval start quantization error value ε in the estimation state 510 isstart The quantization error sensitivity value corresponding to the start of the interval is the Lth element in these two matrices.

[0084] In some embodiments, such as an embodiment in which continuously received measurement values ​​(e.g., except for the first received measurement value) are quantized measurement values, in a series of received quantized measurement values, each measurement value has a negative correlation with at least one previous measurement value in the series of received quantized measurement values ​​(e.g., the previous measurement value, the most recent previous measurement value), and the interval end quantization error sensitivity value and the interval start quantization error sensitivity value are equal in magnitude but opposite in sign (e.g., equal to 1 and -1, respectively), which indicates (e.g., reflects, indicates) that the measurement value of each interval is formed by subtracting the quantization value at the end of the interval from the quantization value at the beginning of the interval.

[0085] Noise measurement matrix 550 is a measurement technique used to obtain the measurements used in the Kalman filter update (e.g., measurement 216, quantized measurement, z in equation (1) k ) of the measurement noise. Thus, the noise measurement value matrix 550 will be different for different measurement types or different measurement mechanisms. For example, the noise measurement value matrix of the measurements corresponding to the GPS signal will be different from the noise measurement value matrix of the measurements corresponding to the encoder readings of the wheel encoders. In another example, the noise measurement value matrices corresponding to the GPS signal, the odometer readings, and the radar signal will be different from each other.

[0086] In some embodiments, for example, when based on quantitative measurements and using Figure 5A When the estimated state 510 is described as modeling the state (e.g., position, velocity, attitude, etc.) of the movable object 110, the measurement errors of the quantized measurements (including any non-quantization errors associated with the measurements) are modeled by the quantization errors and their corresponding covariance matrix elements in the estimated state 510. In this case, the remaining measurement noise (in the measurement technique used to obtain the quantized measurements) is zero, so the noisy measurement value matrix 550 is zero.

[0087] The covariance matrix 520 (eg, Figure 5B An example of a covariance matrix P in is Figure 5C As shown. The covariance matrix 520 is a matrix containing L 2 An LxL matrix with L elements (e.g., the number of elements in the covariance matrix is ​​equal to L 2 ). Each element is represented by b m,n, where m is (or indicates) a row of elements, and n is (or indicates) a column of elements. The diagonal elements of the covariance matrix 520 represent square values. The covariance matrix 520 includes a first portion 522 and a second portion 524. The first portion 521 of the covariance matrix 522 includes (L-2) 2 Elements in first portion 522 of covariance matrix 520 correspond to elements in first portion 512 of estimated state 510 (e.g., elements representing position-related properties of movable object 110). Elements in second portion 524 of covariance matrix 520 correspond to elements in second portion 514 of estimated state 510 (e.g., elements representing quantization errors at the beginning and end of an interval). Figure 5C In the example shown, the second portion 524 of the covariance matrix 520 includes Figure 5C The last two rows (also referred to herein as the last row and the second-to-last row) and the last two columns (also referred to herein as the last column and the second-to-last column) of the covariance matrix 520 in the example shown in , and more generally include two rows and two columns corresponding to the elements in the second part of the estimated state 510.

[0088] In some embodiments, a quality factor for a property of the movable object (e.g., a location-related property) may be calculated based on one or more diagonal elements in the covariance matrix 520 and provided (e.g., reported) to a reporting device (e.g., a device or system external to the navigation device 200) along with at least a portion of the estimated state of the movable object 110. Alternatively, the quality factor for the property of the movable object may be calculated based on one or more diagonal elements of the covariance matrix 520 and one or more non-diagonal elements of the covariance matrix 152. Providing the quality factor to the reporting device enables the reporting device to determine a level of accuracy that should conform to the estimated state or a portion of the estimated state that should conform to the quality factor (e.g., location). For example, if the quality factors indicate that the reported location is likely to be accurate and has a first margin of error (or range) (e.g., ±1 meter), the location may be represented by the reporting device to a user or other system in a manner commensurate with the first margin of error (or range), and, if the quality factors indicate that the reported location is likely to be accurate and has a second margin of error (or range) that is different from the first margin of error (e.g., ±10 meters), the location may be represented by the reporting device to a user or other system in a manner commensurate with the second margin of error (or range), the manner commensurate with the second margin of error (or range) being different than the manner commensurate with the first margin of error (or range) when the location is represented in a manner commensurate with the first margin of error (or range) (e.g., by representing the current location differently (e.g., using a larger circle or object in a displayed map, or using fewer non-zero numbers).

[0089] As described above, the diagonal elements of the covariance matrix 520 represent square values. In some embodiments, the quality factor corresponding to the position of the movable object 110 corresponds to the square root of the sum of the diagonal elements corresponding to the position elements of the estimated state. For example, element b 1,1 may correspond to the variance of the calculated position of the movable object 110 along the x direction (e.g., corresponding to the variance in a1 or ), element b 2,2 may correspond to the variance of the calculated position of the movable object 110 along the y direction (e.g., corresponding to the variance in a2 or ), element b 3,3 may correspond to the variance of the calculated position of the movable object 110 along the z direction (e.g., corresponding to the variance in a3 or ), and so on. Therefore, the quality factor (FOM) corresponding to the position (x, y, z) of the movable object 110 can be determined as follows: Thus, the quality factor for estimating a three-dimensional position is analogous to the "standard deviation" of the three-dimensional position, where the "standard deviation" quantifies the degree to which the estimated position lacks reliability.

[0090] The two diagonal elements (eg, the last two elements) of the covariance matrix 520 correspond to the interval end quantization error value Δε end The variance and interval of the quantization error value Δε start For example, when the quantization error of the interval is a random error assumed to have a normal distribution, the interval end quantization error value Δε end The variance of 2 ) / 12, where LSB is the distance (or other unit of measurement) corresponding to the least significant bit in the measurement (e.g., the smallest possible non-zero difference (e.g., distance) between any two measurements). The elements of covariance matrix 520 are determined based on the elements of estimated state 510. Therefore, if the elements of estimated state are different from estimated state 510 (have different elements, or the elements are presented in a different order), then the corresponding covariance matrix will be different from Figure 5C The covariance matrix 520 shown is therefore different.

[0091] After the estimated state 510 is generated (e.g., calculated, output) at the current time (e.g., the kth iteration of the Kalman filter update operation), and before the next Kalman filter update operation (e.g., operation 450 of the (k+1)th iteration) begins, the starting state 560 and the updated Kalman gain are determined for the next iteration (e.g., the (k+1)th iteration). The starting state 560 of the next iteration (e.g., the (k+1)th iteration) is determined (e.g., updated) based on the estimated state 510 determined during the current iteration. The Kalman gain of the next iteration (e.g., the (k+1)th iteration) is updated by updating the covariance matrix in the Kalman gain function.

[0092] Figure 5D 1 shows how to determine (e.g., update) a starting state 560 (e.g., a starting state of the (k+1)th iteration) based on an estimated state 510 (e.g., an estimated state generated using a Kalman filter update operation in the kth iteration). The process of determining the starting state 560 corresponds to Figure 4 Operation 470 of . Elements in the estimated state 510 are denoted by a superscript k to indicate that the elements of the estimated state 510 correspond to the kth iteration (e.g., are calculated as part of the kth iteration, are generated in the kth iteration). Similarly, elements in the starting state 560, denoted d i (i is or indicates a row of elements), which is denoted by superscript k+1 to indicate that the elements in the starting state 560 correspond to (e.g., are used for) the (k+1)th iteration. Similar to the estimated state 510, the starting state 560 includes a first portion 562 and a second portion 564. The first portion 562 of the starting state 560 includes L-2 elements, and the elements in the first portion 562 of the starting state 560 correspond to the position-related attributes of the movable object 110 in the (k+1)th iteration. The second portion 564 of the starting state 560 includes two elements, and The elements of the second portion 562 of the start state 560 correspond to the interval end quantization error values ​​of the (k+1)th interval (eg, the (k+1)th iteration). and the interval starts to quantize the error value

[0093] Since the end of the kth interval corresponds to (occurs simultaneously with) the start of the (k+1)th interval, the interval start quantization error value of the (k+1)th interval is the same as the interval end quantization error value of the kth interval. is updated to the interval end quantization error value of the kth interval has the same value (e.g., is replaced by the interval end quantization error value of the kth interval), (e.g., Or alternatively, ).

[0094] In some embodiments, the quantization error value is started at the interval of the (k+1)th interval. is updated to (e.g., replaced with) a predetermined value. In some embodiments, the predetermined value is zero. Once any updates (e.g., replacements) have been made to the elements of the starting state 560 based on the estimated state 510 determined during the previous iteration (e.g., the kth iteration) of the update process, the starting state 560 can be used for the Kalman filter update operation of the next (e.g., subsequent) iteration (e.g., the starting state 560 is used as an input to equation (1) in the (k+1)th iteration and will result in a new estimated state being determined based on the starting state 560 and the newly received measurement value).

[0095] Figure 5E 5 shows an updated covariance matrix 570 of the Kalman gain (e.g., Kalman gain function 530) used in the next iteration (e.g., the (k+1)th iteration) of the Kalman filter update process. The updated covariance matrix 570 is, for example, the covariance matrix 570 obtained during operation 470 ( Figure 4 ) is determined based on the covariance matrix 520 generated during the Kalman filter update process of the current iteration (e.g., the kth iteration). The elements in the updated covariance matrix 570 are represented by e m,n , where m is or indicates a row of elements, and n is or indicates a column of elements in the updated covariance matrix 570. Similar to the covariance matrix 520, the updated covariance matrix 570 includes a first portion 572 and a second portion 574. The first portion 572 of the updated covariance matrix 570 includes (L-2) 2 elements, and the elements in the first part 572 of the updated covariance matrix 570 correspond to the elements in the first part 562 of the starting state 560. The second part 574 of the updated covariance matrix 570 includes the last two rows (also referred to herein as the last row and the second to last row) and the last two columns (referred to herein as the last column and the second to last column) of the updated covariance matrix 570, and the elements in the second part 574 of the updated covariance matrix 570 correspond to the elements in the second part 564 of the starting state 560.

[0096] The elements of the updated covariance matrix 570 are determined by a similar transformation, as shown in equation (2) below.

[0097] P k+1 =AP k A T (2)

[0098] In equation (2), the covariance matrix 520 is represented as P k, denoted by the subscript k to indicate that the covariance matrix 520 corresponds to (eg, is a portion of) the Kalman gain function 530 used in the Kalman filter update operation of the kth iteration. The updated covariance matrix 570 is denoted as P k+1 , denoted by the subscript k+1 to indicate that the updated covariance matrix 570 corresponds to the Kalman gain function 530 used in the Kalman filter update operation of the (k+1)th iteration (e.g., is a part of the Kalman gain function 530). The transformation matrix A has the same dimensions (and therefore the same number of elements) as the covariance matrix 520 and the updated covariance matrix 570. For example, when the estimated state has 4 elements (e.g., position, velocity, interval end quantization error value, and interval start quantization error value), the corresponding covariance matrix (e.g., the covariance matrix used in the Kalman gain equation), and therefore the transformation matrix A is a 4x4 matrix. In such an example, the transformation matrix A looks like: In some embodiments, the transformation of the covariance matrix from the kth iteration to the (k+1)th iteration includes additional terms defining the transformation of the state vector over time. This transformation matrix only takes into account updates associated with changes in received measurements.

[0099] In the similarity transformation shown in equation (2) (e.g., in Figure 4 The similarity transformation updates the covariance matrix of the Kalman gain function 530, and thus updates the Kalman increment function 530, for use in the next iteration (e.g., during the kth iteration, the Kalman gain function 530 including the covariance matrix 520 is used in equation (1), and during the (k+1)th iteration, the updated Kalman gain function 530 including the updated covariance matrix 570 is used in equation (1).

[0100] After applying the similarity transformation shown in equation (2), the updated covariance matrix 570 (eg, the updated covariance matrix P k+1 ) has the following characteristics:

[0101] The second to last row e of the updated covariance matrix 570 (L-1),n The elements in and the penultimate column e of the updated covariance matrix 570 m,(L-1) The elements in are equal to zero.

[0102] As mentioned above, except for the element e L,(L-1) Except for zero, the last column e of the updated covariance matrix 570 L,n The elements in are equal to the elements in the second to last column of covariance matrix 520.

[0103] As mentioned above, except for the element e (L-1),L Except for zero, the last row e of the updated covariance matrix 570 m,L The elements in are equal to the elements in the second to last row of covariance matrix 520.

[0104] As a result of the similarity transformation, the element e of the updated covariance matrix 570 is L,L With the covariance matrix 520 b (L-1),(L-1) have the same value.

[0105] In addition, the element e of the updated covariance matrix 570 is (L-1),(L-1) is updated to be equal to (eg, replaced by) a predetermined value. In some embodiments, the predetermined value corresponds to an error (eg, LSB) associated with a technique for obtaining a quantized measurement value. 2 / 12 for quantization errors that are expected to follow a normal distribution).

[0106] Figures 6A-6D Methods for determining an object 110 (eg, a movable object 110, Figure 1 ) is a flowchart of a method 600 for estimating a position. In some embodiments, the method 600 is stored in the memory 210 ( Figure 2 ) are implemented by the navigation device 200 under the control of the instructions in the navigation device 200, which are executed by one or more processors (202, Figure 2 )implement. Fig. 6A Each operation shown in FIG. 6D corresponds to a computer-readable instruction stored in a computer-readable storage medium of a memory 210 in an information processing device or system (e.g., a navigation device 200). The computer-readable instructions are in the form of source code, assembly language code, object code, or other instruction formats that are interpreted and / or executed by the one or more processors 202 of the navigation device 200.

[0107] As time goes by, the navigation device 200 ( Figure 2 ) receives (610) navigation information, the navigation information including a series of quantized measurements. The navigation information corresponds to a position or a change in position of an object 110 (e.g., a movable object 110). In some embodiments, each quantized measurement has a corresponding quantization error, and the quantization error of each quantized measurement is negatively correlated with the quantization error of one or more previous quantized measurements in the series of quantized measurements (see Figure 5B544 of the sensitivity matrix 540 in FIG. 545 ). For example, the quantized measurement value may be a “click” received from a wheel encoder that generates N “clicks” (e.g., 100 clicks) per revolution of the wheel of the movable object propulsion system, and each “click” corresponds to a change in the least significant bit (LSB) of the measurement value transmitted by the encoder to the measurement value receiver 216.

[0108] At a series of times separated by time intervals, the navigation device 200 (e.g., the measurement value update module 226 ( Figure 2 )) iteratively performs (620) a navigation update operation, including: determining (630) an estimated state 510 ( ) of the object 110 at a current time (e.g., the kth time, corresponding to the kth iteration of the navigation update operation) in the series of times based on an estimated state of the object at a previous time in the series of times (e.g., the (k-1)th time, corresponding to the (k-1)th iteration of the navigation update operation) and an estimated state covariance matrix. Figure 5A ) and the estimated state covariance matrix 520 of the object 110 ( Figure 5C As described above, the estimated state 510 of the object 110 includes the first portion 512 ( Figure 5A ) and the second part 514 ( Figure 5A ), the first part 512 includes at least an estimated position value (e.g., x, y, z) and an estimated velocity value (e.g., v x 、v y 、v z ), the second portion 514 includes the interval end quantization error value (e.g., ε end , Figure 5A ) and the interval start quantization error (e.g., ε start , Figure 5A ). The estimated state covariance matrix 520 of the object 110 includes a first part 522 ( Figure 5C ) and the second part 524 ( Figure 5C ), the first part 522 includes the covariance value of the first part of the estimated state, and the second part 524 includes the end covariance value and the start covariance value corresponding to the interval end quantization error value and the interval start quantization error value in the second part of the estimated state, respectively (for example, ε end and ε start , Figure 5C ). Figure 5C Detailed information about the elements of the covariance matrix 520 is provided.

[0109] As part of the navigation update operation (620), the navigation device 200 (e.g., the error update module 228 ( Figure 2)) replaces (640) the interval start quantization error value in the estimated state with the interval end quantization error value determined in a previous iteration (e.g., the previous iteration) of the navigation update operation. Figure 5D An example is described in which the interval of the (k+1)th iteration begins to quantize the error value (e.g., the value in the estimation state 560). ) is determined by the interval end quantization error value determined in the kth iteration (e.g., the estimation state 510 ) instead.

[0110] As part of the navigation update operation (620), the navigation device 200 (the measurement update module 226 ( Figure 2 )) also updates the operation according to a predetermined Kalman filter (e.g., using the Kalman gain function 530, Figure 5B ) updates (650) the estimated state 510 and the estimated state covariance matrix 520 to generate an updated estimated state 560 of the object 110 and an updated estimated state covariance matrix 570 of the object 110 at the current time (e.g., the (k+1)th iteration). The above example is about Figure 5D and 5E Describing. Figure 5D shows the updated estimated state 560 of the object 110 in the (k+1)th iteration, Figure 5E An updated estimated covariance matrix 570 of the object 110 in the (k+1)th iteration is shown. Based on the estimated state 510 of the kth iteration, the estimated state 560 of the (k+1)th iteration is determined. The elements of the updated covariance matrix 570 of the (k+1)th iteration are determined by the similarity transformation shown in equation (2) and the estimated covariance matrix 520 of the kth iteration.

[0111] In some embodiments, as described above with respect to Figure 4 As described, updating (650) the estimated state and the estimated state covariance matrix includes updating (652) the estimated state and the estimated state covariance matrix using a predetermined Kalman filter update operation based on the latest quantized measurement value in the series of quantized measurement values.

[0112] In some embodiments, the covariance matrix update module 230 of the navigation device 200 replaces (660) the element of the estimated state covariance matrix corresponding to the interval end quantization error value with a first predetermined value. Figure 5E An example is described: e of the covariance matrix 570 of the (k+1)th iteration (L-1),(L-1) In some embodiments, the predetermined value corresponds to an error (e.g., LSB) associated with the technique for obtaining the quantized measurement value. 2 / 12 for quantization errors that are expected to follow a normal distribution).

[0113] In some embodiments, in addition to replacing (640) the interval start quantization error value in the estimated state with the interval end quantization error value determined in the previous iteration of the navigation update operation, the navigation device 200 (e.g., the covariance matrix update module 230 of the navigation device 200) replaces (670) the element of the estimated state covariance matrix corresponding to the interval start quantization error value with the covariance value determined in the previous iteration of the navigation update operation. Figure 5E An example is described: e of the covariance matrix 570 of the (k+1)th iteration L,L The element is updated to be the same as the b of the covariance matrix 520 of the kth iteration. (L-1),(L-1) have the same value.

[0114] In some embodiments, the navigation device 200 (e.g., the error update module 228 of the navigation device 200) replaces (680) the interval end quantization error value in the estimated state with a second predetermined value. In some embodiments, the second predetermined value is zero. For example, the interval end quantization error value in the estimated state 560 (e.g., Figure 5D ) is replaced with a predetermined value. In some cases, the interval end quantization error value in the estimation state 560 is replaced with a zero value (e.g., replaced with zero), indicating that the interval end quantization error value in the estimation state 560 will be calculated based on the Kalman filter update operation of the (k+1)th iteration.

[0115] In some embodiments, the navigation device 200 (eg, the measurement update module 226 of the navigation device 200) uses (654) a Kalman gain function (eg, the Kalman gain function 530, Figure 5B ), the Kalman gain function includes a noise measurement value matrix 550 ( Figure 5B ), and the noise measurement value matrix 550 corresponding to the first measurement value receiver is zero. Figure 5B An example is provided.

[0116] In some embodiments, the navigation device 200 (eg, the measurement update module 226 of the navigation device 200) uses (656) a Kalman gain function (eg, the Kalman gain function 530, Figure 5B ), the Kalman gain function includes a sensitivity matrix 540 ( Figure 5B). The sensitivity matrix 540 includes an interval end quantization error sensitivity value corresponding to the interval end quantization error value and an interval start quantization error sensitivity value corresponding to the interval start quantization error value. The interval end quantization error sensitivity value and the interval start quantization error sensitivity value are equal in magnitude but opposite in sign. For example, Figure 5B As shown, portion 544 of the sensitivity matrix 540 shows that the interval end quantization error sensitivity value is equal to 1 and the interval start quantization error sensitivity value is equal to -1.

[0117] In some embodiments, the navigation device 200 (e.g., the measurement update module 226 of the navigation device 200) generates (690) one or more quality factors, and each quality factor is based on one or more diagonal elements in the estimated state covariance matrix. For example, as described above with respect to Figure 5C As described, a quality factor for a property (e.g., a location-related property) of the movable object 110 may be calculated based on one or more diagonal elements of the covariance matrix 520. In some embodiments, the quality factor is similar to a "standard deviation" that quantifies the degree to which the estimated position lacks reliability. In some embodiments, as discussed above, the quality factor is reported to a reporting device internal or external to the navigation device 200 along with at least a portion of the estimated state.

[0118] In some embodiments, the navigation device 200 (eg, the measurement value update module 226 of the navigation device 200) sends a measurement value update message to the reporting device 206 ( Figure 2 ) reports (692) at least a portion of the estimated state of the object. For example, once the measurement update module 226 determines or generates the estimated state 232 or 510 (respectively Figure 2 and 5A ), at least a portion of the estimated state 510, such as elements of the estimated state corresponding to position-related attributes of the object 110 (e.g., one or more elements corresponding to position, velocity, attitude, and / or acceleration), is reported to the reporting device 206. In one specific example, after performing an iteration of the navigation update process, the measurement update module 226 reports the position of the object 110 (e.g., using x, y, and z, or latitude, longitude, and altitude) to the reporting device 206. In a second example, the measurement update module 226 reports the velocity of the object 110 (in units of x, y, and z, or in units of latitude, longitude, and altitude) to the reporting device 206 at predetermined time intervals (e.g., every 10 iterations of the navigation update process, or at intervals of half a second, 1 second, 2 seconds, 5 seconds, or 60 seconds).

[0119] In some embodiments, performing (620) a navigation update operation includes generating (e.g., estimating, determining, calculating) a current state (e.g., the state shown in equation (1)) based on an estimated state determined in a previous iteration (e.g., a previous iteration, a most recent iteration) and one or more dynamic models (e.g., physics equations) of movable object 110. )(See Figure 4 The navigation update operation also includes receiving a quantized measurement value at a measurement value receiver in the one or more measurement value receivers 216 (see operation 420 in FIG. 1 ). Figure 4 440 in the operation 440), and based on the current state (e.g., as shown in equation (1) ), quantized measurements, and Kalman gain function 530 (see above regarding Figure 4 The navigation update operation also includes updating the estimated state 510 of the movable object 110 (see Figure 4 Operation 460 in (a) is output to a reporting device, for example, inside or outside the navigation device 200.

[0120] As described above, the navigation device 200 uses the quantized measurements to perform (620) a navigation update operation (e.g., a Kalman filter update) to update the estimated position of the object 110. In some embodiments, additional information about the position of the object 110, such as GPS signals or radar information, can also be used to determine the estimated position of the object 110. Thus, two or more measurement methods (e.g., using an encoder that provides quantized information and using GPS signals) can be used to determine the estimated position of the object 110. In these embodiments, the above description of the use of the encoder and the Kalman filter can be used to determine the estimated position of the object 110. Fig. 6A –6D to determine an estimated position of object 110 using quantized measurements as described, wherein quantization errors associated with the quantized measurements are modeled in an estimated state (e.g., a Kalman state), and an estimated position of object 110 determined using other measurements (e.g., non-quantized measurements, such as GPS signals or radar information) is determined according to a conventional Kalman update operation. In some embodiments, navigation update operations performed using quantized measurements can be performed independently of conventional Kalman update operations. In some embodiments, navigation update operations performed using quantized measurements can be performed in parallel with conventional Kalman update operations so that the estimated position determined using the quantized measurements can continue to provide updates to the estimated position of object 110, for example, between estimated position updates using GPS signals or when the GPS signal is weak.

[0121] For ease of explanation, the above description has been described with reference to specific embodiments. However, the above illustrative discussion is not intended to be exhaustive or to limit the invention to the precise forms disclosed. In view of the above teachings, many modifications and variations are possible. The embodiments are chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to best utilize the invention and various embodiments with various modifications suitable for the intended specific use.

Claims

1. A navigation device for determining an estimated position of an object, comprising: one or more measurement receivers for receiving navigation information corresponding to a position or a change in position of the object, wherein a first measurement receiver of the one or more measurement receivers receives navigation information including a series of quantized measurements over time, each quantized measurement having a corresponding quantization error; one or more processors; A memory storing one or more programs, the one or more programs comprising instructions for iteratively performing a navigation update operation at a series of times separated by time intervals, the navigation update operation comprising: Based on the estimated state of the object at the previous time in the series of times and the estimated state covariance matrix, the estimated state of the object at the current time in the series of times and the estimated state covariance matrix of the object are determined, wherein, The estimated state of the object comprises a first part and a second part, the first part of the estimated state comprising at least an estimated position value and an estimated velocity value, the second part of the estimated state comprising an interval end quantization error value and an interval start quantization error value; The estimated state covariance matrix of the object includes a first part and a second part, the first part of the estimated state covariance matrix includes covariance values ​​of the first part of the estimated state, and the second part of the estimated state covariance matrix includes end covariance values ​​and start covariance values ​​corresponding to the interval end quantization error value and the interval start quantization error value in the second part of the estimated state, respectively; and Determining the estimated state of the object at the current time and an estimated state covariance matrix of the object includes: replacing the interval start quantization error value in the estimated state with the interval end quantization error value determined in a previous iteration of the navigation update operation; and The estimated state and the estimated state covariance matrix are updated according to a predetermined Kalman filter update operation to generate the estimated state of the object and the estimated state covariance matrix of the object at the current time.

2. The navigation device according to claim 1, wherein: The quantization error of each quantization measurement value is negatively correlated with the quantization error of one or more previous quantization measurement values ​​in the series of quantization measurement values.

3. The navigation device according to claim 1, wherein: Updating the estimated state and the estimated state covariance matrix includes: updating the estimated state and the estimated state covariance matrix using the predetermined Kalman filter update operation according to the latest quantized measurement value in the series of quantized measurement values.

4. The navigation device according to any one of claims 1 to 3, wherein: Determining the estimated state of the object at a current time and the estimated state covariance matrix of the object includes replacing an element of the estimated state covariance matrix corresponding to the interval end quantization error value with a first predetermined value.

5. The navigation device according to any one of claims 1 to 3, wherein: Determining the estimated state of the object at a current time and the estimated state covariance matrix of the object includes replacing elements of the estimated state covariance matrix corresponding to the interval start quantization error value with covariance values ​​determined in a previous iteration of the navigation update operation.

6. The navigation device according to any one of claims 1 to 3, wherein: Determining an estimated state of the object at a current time and a covariance matrix of the estimated state of the object includes replacing the end-of-interval quantization error value in the estimated state with a second predetermined value.

7. The navigation device according to any one of claims 1 to 3, wherein: Updating the estimated state and the estimated state covariance matrix according to the predetermined Kalman filter update operation includes using a Kalman gain function, the Kalman gain function including a noise measurement matrix corresponding to the first measurement receiver; and The noise measurement value matrix corresponding to the first measurement value receiver is zero.

8. The navigation device according to any one of claims 1 to 3, wherein: Updating the estimated state and the estimated state covariance matrix according to the predetermined Kalman filter update operation includes using a Kalman gain function, the Kalman gain function including a sensitivity matrix; The sensitivity matrix includes an interval end quantization error sensitivity value and an interval start quantization error sensitivity value, the interval end quantization error sensitivity value corresponds to the interval end quantization error value, and the interval start quantization error sensitivity value corresponds to the interval start quantization error value; and The interval end quantization error sensitivity value and the interval start quantization error sensitivity value are equal in magnitude but opposite in sign.

9. The navigation device according to any one of claims 1 to 3, wherein: The one or more programs include instructions for generating one or more figures of merit, each figure of merit being based on one or more diagonal elements of the estimated state covariance matrix.

10. The navigation device according to any one of claims 1 to 3, wherein: The estimated state covariance matrix also includes covariance values ​​for any of the following items: sensor offset error, pose of the object, and sensor error.

11. The navigation device according to any one of claims 1 to 3, wherein: The one or more programs include instructions for reporting at least a portion of the estimated status of the object to a reporting device.

12. The navigation device according to any one of claims 1 to 3, wherein: The object is a movable object.

13. The navigation device according to any one of claims 1 to 3, wherein: The time interval separating the series of times has a predetermined value.

14. The navigation device according to any one of claims 1 to 3, wherein: The object comprises at least one of the one or more measured value receivers.

15. A method for determining an estimated position of an object, the method comprising: At a navigation device used to determine an object's estimated position: receiving navigation information corresponding to a position or a change in position of the object, comprising receiving navigation information including a series of quantized measurements over time, each quantized measurement having a corresponding quantized error; At a series of times separated by time intervals, a navigation update operation is iteratively performed, the navigation update operation comprising: Determine the estimated state of the object at the current time in the series of times and the estimated state covariance matrix of the object based on the estimated state of the object at the previous time in the series of times and the estimated state covariance matrix, wherein the estimated state of the object includes a first part and a second part, the first part of the estimated state includes at least an estimated position value and an estimated velocity value, and the second part of the estimated state includes an interval end quantization error value and an interval start quantization error value; The estimated state covariance matrix of the object includes a first part and a second part, the first part of the estimated state covariance matrix includes covariance values ​​of the first part of the estimated state, and the second part of the estimated state covariance matrix includes end covariance values ​​and start covariance values ​​corresponding to the interval end quantization error value and the interval start quantization error value in the second part of the estimated state, respectively; and Determining the estimated state of the object at the current time and the estimated state covariance matrix of the object includes: replacing the interval start quantization error value in the estimated state with the interval end quantization error value determined in a previous iteration of the navigation update operation; and The estimated state and the estimated state covariance matrix are updated according to a predetermined Kalman filter update operation to generate the estimated state of the object and the estimated state covariance matrix of the object at a current time.

16. The method of claim 15, further comprising the operation described in any one of claims 2-14.

17. A computer-readable storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by one or more processors of a navigation device for determining an estimated position of an object, cause the navigation device to perform operations comprising: receiving navigation information corresponding to a position or a change in position of the object, comprising receiving navigation information including a series of quantized measurements over time, each quantized measurement having a corresponding quantized error; At a series of times separated by time intervals, a navigation update operation is iteratively performed, the navigation update operation comprising: Determine the estimated state of the object at the current time in the series of times and the estimated state covariance matrix of the object based on the estimated state of the object at the previous time in the series of times and the estimated state covariance matrix, wherein the estimated state of the object includes a first part and a second part, the first part of the estimated state includes at least an estimated position value and an estimated velocity value, and the second part of the estimated state includes an interval end quantization error value and an interval start quantization error value; The estimated state covariance matrix of the object includes a first part and a second part, the first part of the estimated state covariance matrix includes covariance values ​​of the first part of the estimated state, and the second part of the estimated state covariance matrix includes end covariance values ​​and start covariance values ​​corresponding to the interval end quantization error value and the interval start quantization error value in the second part of the estimated state, respectively; and Determining the estimated state of the object at a current time and the estimated state covariance matrix of the object includes: replacing the interval start quantization error value in the estimated state with the interval end quantization error value determined in a previous iteration of the navigation update operation; and The estimated state and the estimated state covariance matrix are updated according to a predetermined Kalman filter update operation to generate the estimated state of the object and the estimated state covariance matrix of the object at the current time.

18. The computer-readable storage medium of claim 17, wherein: The one or more programs include instructions that, when executed by the one or more processors of the navigation device, cause the navigation device to perform the operations recited in any one of claims 2-14.