extended dead reckoning accuracy

CN116056966BActive Publication Date: 2026-09-25QUALCOMM INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180057003.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-08-09
Filing Date
2021-08-10
Publication Date
2026-09-25
Estimated Expiration
2041-08-10

Smart Images

  • Figure CN116056966B_ABST
    Figure CN116056966B_ABST
Patent Text Reader

Abstract

Methods, systems, computer-readable media, and apparatuses for vehicle navigation are provided. Some configurations include computing a first pose of a vehicle with respect to a reference frame at a first epoch; computing a pose of an inertial navigation system (INS) at a second epoch after the first epoch based on measurement data from the INS of the vehicle; computing a second pose of the vehicle at the second epoch based on the computed pose of the INS and the computed first pose of the vehicle; applying a constraint to the computed second pose of the vehicle to produce an updated second pose of the vehicle; and computing an updated pose of the INS based on the updated second pose of the vehicle. Applications related to road vehicle (e.g., car) usage are described.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to various aspects of navigation, including vehicle navigation. Background Technology

[0002] Inertial navigation systems (INS) can be used to track the location, velocity, and / or orientation of an object relative to a starting point. INS can be used in conjunction with Global Navigation Satellite System (GNSS) receivers and can be used for dead reckoning when GNSS signals are unavailable. Summary of the Invention

[0003] According to this disclosure, an example method for vehicle navigation may include determining a first attitude of the vehicle about a reference frame in a first epoch. The method may further include determining the attitude of the INS in a second epoch after the first epoch, based on measurement data from the vehicle's inertial navigation system (INS). The method may further include determining a second attitude of the vehicle in the second epoch based on the determined attitude of the INS. The method may further include applying constraints to the determined second attitude of the vehicle to produce an updated second attitude of the vehicle, wherein the applied constraints limit changes in one or more aspects of the second attitude of the vehicle determined from the first epoch to the second epoch. The method may further include determining an updated attitude of the INS based on the updated second attitude of the vehicle.

[0004] According to this disclosure, an example device for vehicle navigation may include an inertial navigation system (INS), a memory, and one or more processors communicatively coupled to the INS and the memory, wherein the one or more processors are configured to determine a first attitude of the vehicle about a reference frame in a first epoch. The one or more processors may also be configured to determine the attitude of the INS in a second epoch, following the first epoch, based on measurement data from the vehicle's inertial navigation system (INS). The one or more processors may also be configured to determine a second attitude of the vehicle in the second epoch based on the determined attitude of the INS. The one or more processors may also be configured to apply constraints to the determined second attitude of the vehicle to produce an updated second attitude of the vehicle, wherein the applied constraints limit changes in one or more aspects of the second attitude of the vehicle determined from the first epoch to the second epoch. The one or more processors may also be configured to determine an updated attitude of the INS based on the updated second attitude of the vehicle.

[0005] According to this disclosure, an example apparatus for vehicle navigation may include components for determining a first attitude of the vehicle about a reference frame in a first epoch. The apparatus may also include components for determining the attitude of the vehicle's INS in a second epoch after the first epoch, based on measurement data from an inertial navigation system (INS). The apparatus may further include components for determining a second attitude of the vehicle in the second epoch based on the determined attitude of the INS. The apparatus may further include components for applying constraints to the determined second attitude of the vehicle to produce an updated second attitude of the vehicle, wherein the applied constraints limit changes in one or more aspects of the second attitude of the vehicle determined from the first epoch to the second epoch. The apparatus may further include components for determining an updated attitude of the INS based on the updated second attitude of the vehicle.

[0006] According to this disclosure, an exemplary non-transitory computer-readable medium storing instructions for vehicle navigation includes code for determining a first attitude of the vehicle with respect to a reference frame in a first epoch. The instructions may also include code for determining the attitude of the vehicle's inertial navigation system (INS) in a second epoch after the first epoch, based on measurement data from the INS. The instructions may further include code for determining a second attitude of the vehicle in the second epoch based on the determined attitude of the INS. The instructions may also include code for applying constraints to the determined second attitude of the vehicle to produce an updated second attitude of the vehicle, wherein the applied constraints limit changes in one or more aspects of the second attitude of the vehicle determined from the first epoch to the second epoch. The instructions may further include code for determining an updated attitude of the INS based on the updated second attitude of the vehicle.

[0007] This invention is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used in isolation to define the scope of the claimed subject matter. The subject matter should be understood through reference to appropriate portions of the entire specification, any or all of the accompanying drawings, and each claim. In the following specification, claims, and drawings, the foregoing, as well as other features and examples, will be described in more detail below. Attached Figure Description

[0008] Various aspects of this disclosure are illustrated by way of example. In the accompanying drawings, similar reference numerals indicate similar elements.

[0009] Figure 1 An example illustrating the relationship between the INS body frame, the vehicle body frame, and the reference (navigation) frame;

[0010] Figure 2A A flowchart illustrating a method 200 for vehicle navigation based on an overall configuration is shown;

[0011] Figure 2B This shows the correspondence between the X, Y, and Z axes of the coordinate system and the rotations about each of these axes;

[0012] Figure 3A A block diagram of a vehicle navigation device 310 according to an overall configuration is shown;

[0013] Figure 3B This illustrates implementations including inertial navigation systems. Figure 3A A block diagram of the device implementation;

[0014] Figures 4A-4C The diagram shows buses rotating at different degrees around different axes;

[0015] Figure 5 It includes Figure 3A The device realizes a three-dimensional view of the vehicle;

[0016] Figure 6 The figure illustrates an example computer system in which one or more embodiments may be implemented.

[0017] According to certain example implementations, similar reference symbols in various figures indicate similar elements. Furthermore, multiple instances of an element can be indicated by a letter or hyphen following the first number of the element followed by a second number. For example, multiple instances of element 110 can be represented as 110-1, 110-2, 110-3, etc., or 110a, 110b, 110c, etc. When such an element is referred to using only the first number, it should be understood as any instance of that element (e.g., element 110 in the previous example would refer to elements 110-1, 110-2, and 110-3, or elements 110a, 110b, and 110c). Detailed Implementation

[0018] Several illustrative embodiments will now be described with reference to the accompanying drawings, which form part of the embodiments. While specific embodiments that may implement one or more aspects of this disclosure are described below, other embodiments may be used and various modifications may be made without departing from the scope of this disclosure or the appended claims.

[0019] As described herein, satellite receivers (such as Global Navigation Satellite System (GNSS) receivers) can be integrated into mobile devices that include electronic devices or systems. Such mobile devices can include, for example, consumer, industrial, and / or commercial electronic devices, vehicles, assets, vessels, etc. As described herein, the location estimate of a satellite receiver or a mobile device in which a satellite receiver is integrated can be referred to as the location of the satellite receiver or wireless device, location estimate, location fixation, fixation, positioning, location estimation, or location fixation. Moreover, the location estimate can be geodetic, thus providing location coordinates (e.g., latitude and longitude) for the mobile device, which may or may not include an elevation component (e.g., height above sea level, ground level, building level, or foundation level, or depth below). In some embodiments, the location of the satellite receiver and / or the mobile device including the satellite receiver can also be expressed as the area or volume (defined geodetically or in urban form) in which the satellite receiver is expected to be located with a certain probability or confidence level (e.g., 67%, 95%, etc.), unless otherwise indicated; the use of the term location can include any of these variations. When calculating the location of a satellite receiver, such operations can solve for the local X, Y, and possibly Z coordinates, and then, if necessary, transform the coordinates from one coordinate system to another.

[0020] An inertial navigation system (INS) is a relative positioning system used to track the position, velocity, and orientation of an object relative to a starting point, velocity, and / or orientation. Specifically, an INS indicates motion relative to the body frame (also known as the "body coordinate system"), typically by providing the angular velocity and acceleration of the axis of motion referenced to the body frame. This indication of relative motion can be used for vehicle navigation via dead reckoning (DR) (e.g., position estimation, driver assistance, and / or automation). Figure 1 As shown, the orientation of the vehicle frame 110 (the body frame of the vehicle in which the INS is located) relative to the INS frame 120 (the body frame of the INS) can be expressed as a rotation matrix from the INS frame 120 to the vehicle frame 110. (Also known as the Directional Cosine Matrix or DCM), as illustrated by arrow 125. This orientation is constant when the INS is immovably fixed to the vehicle or otherwise held in a fixed position relative to the vehicle. The origin of the vehicle frame 110 can be determined to coincide with the vehicle's center of gravity.

[0021] Changes in INS positioning, velocity, and / or orientation are based on measurements provided by the INS's inertial measurement unit (IMU). The IMU is typically implemented as including a gyroscope that measures the rate of rotation about at least one axis (typically, the rate of rotation about each of the three orthogonal axes of the IMU's body frame). Such a gyroscope can be, for example, a microelectromechanical system (MEMS) gyroscope. By way of example and not limitation, a MEMS gyroscope can be a vibrating mass gyroscope, a vibrating structure gyroscope, a tuning fork gyroscope, a vibrating ring gyroscope, a piezoelectric plate gyroscope, or any combination thereof.

[0022] The IMU may also include an accelerometer that measures the rate of acceleration along at least one axis (typically, the rate of acceleration along each of the three orthogonal axes of the IMU's body frame). Such an accelerometer may be, for example, a MEMS accelerometer. By way of example and not limitation, a MEMS accelerometer may be composed of capacitive, variable capacitive, inductive, piezoelectric, or piezoresistive components or any combination thereof.

[0023] IMU measurements are affected by white noise and biases, which can change over time and temperature. The biases are estimated (e.g., using a Kalman filter) and removed (e.g., subtracted) from the IMU measurements to obtain corrected measurements of angular rate and acceleration. These corrected measurements can be used, for example, to mechanize positioning, velocity, and device attitude by updating or “propagating” the positioning state, velocity state, and attitude state at each measurement / estimation cycle (called an epoch). Epochs can be repeated periodically at the rate of the underlying measurements on which the positioning estimation is based and / or at the rate at which the Kalman filter or other estimation engine is operating. According to some embodiments, this can occur periodically per second. Depending on the desired functionality and / or other factors, epochs in other embodiments may have longer or shorter periods.

[0024] Due to factors such as integration, quantization error, bias estimation error, and / or noise modeling, bias-corrected IMU measurements can still be contaminated by errors. To some extent, measurement errors can be limited by imposing nonholonomic constraints: for example, a moving vehicle must be within road boundaries; it must be moving forward, not backward; its positioning cannot suddenly shift to one side or slide up or down. However, in general, measurements from Global Navigation Satellite System (GNSS) receivers can be used to correct sensor biases sufficiently to support continued DR navigation.

[0025] GNSS is an absolute positioning system used to indicate the location of a GNSS receiver in space. Examples of GNSS systems include the US Global Positioning System (GPS), Russia's Global Navigation Satellite System (GLONASS), the European Union's Galileo system, and China's BeiDou system. Figure 1 As shown, the navigation frame 130 used to indicate the positioning of the GNSS receiver is a world reference frame, which can be, for example, the Earth-centered Earth Fixed-Earth (ECEF) coordinate system, the Northeast-Up (ENU) coordinate system, or the North-East-Down (NED) coordinate system.

[0026] GNSS measurements can be used to correct INS-based attitude and PVT (position, velocity, and time) estimates via sensor fusion. For example, GNSS measurements can be used to correct INS-based attitude, position, and velocity states. However, when GNSS signals degrade (e.g., due to multipath) or are otherwise unavailable (e.g., due to satellite unobservability, such as when a vehicle is in a tunnel), uncorrected INS errors accumulate and cause attitude drift over time. Such attitude errors can lead to poor DR performance (e.g., position, velocity, and / or heading errors). As a result of attitude drift, for example, gravity components (such as those measured by the IMU's accelerometers) may begin to leak into other axes, contaminating velocity and / or position estimates.

[0027] Each embodiment addresses these and other issues by imposing constraints on the calculated vehicle attitude's roll, pitch, and / or yaw angles based on known road conditions and / or other information to help mitigate attitude drift. Improved DR performance can be expected during periods of GNSS degradation and / or unavailability.

[0028] Several illustrative configurations will now be described with reference to the accompanying drawings, which form part of the configurations. While specific configurations for implementing one or more aspects of this disclosure are described below, other configurations may be used and various modifications may be made without departing from the scope of this disclosure or the spirit of the appended claims.

[0029] Although the specific examples discussed herein relate primarily to passenger vehicles, it should be understood that the disclosed principles, methods, and apparatus more generally relate to motorized road vehicles, including freight vehicles (e.g., trucks, tractor-trailers), motorcycles, and public transport vehicles (e.g., buses), and are also applicable to other ground vehicles (including, for example, agricultural vehicles), and the use of these principles in such contexts is specifically conceived and disclosed herein.

[0030] Figure 2AA flowchart illustrating a method 200 for vehicle navigation according to an overall configuration including operations 210, 220, 230, 240, and 250 is shown. Components for performing one or more operations of method 200 may include, for example, software and / or hardware components of a computer system that can be integrated into a vehicle or other mobile device. Example hardware and / or software components of such a computer system are shown in... Figure 6 It is shown in the figure and described below.

[0031] At operation 210, method 200 includes determining a first pose of the vehicle in the first epoch with respect to a reference frame. The first reference frame may include, for example, an ECEF, ENU, or NED coordinate system, such as... Figure 1 As shown. Similarly, the rate or period of an epoch can be varied depending on the desired functionality. In one example, the second epoch is one second (1 second) after the first epoch (e.g., in GNSS time), but in other implementations, the period between the first and second epochs can be longer (e.g., 2s, 2.5s, 3s, 4s, or 5s, etc.) or shorter (e.g., 100ms, 50ms, 20ms, or 10ms, etc.). The time length between consecutive epochs can be determined, for example, by operating a Kalman filter at a frequency used for IMU bias estimation. In some cases, the time length between consecutive epochs can be as short as 5ms (e.g., for a Kalman filter frequency of 200 Hz) and / or can vary over time.

[0032] Operation 210 can be implemented to determine the vehicle's first pose based on the INS pose of the vehicle with respect to the reference frame at the first epoch. For example, operation 210 can be performed to determine the vehicle's pose with respect to the navigation frame at the first epoch (t–1) according to the following matrix multiplication expression. (Depend on Figure 1 The first pose (as shown by arrow 135):

[0033]

[0034] in The orientation of the vehicle's body frame relative to the INS frame, as described above (e.g., by...). Figure 1 Arrow 125 indicates ( This represents the attitude of the first epoch INS regarding the reference (navigation) frame, such as... Figure 1 As shown by arrow 140 in the image.

[0035] At operation 220, the pose of the second epoch INS (e.g., pose relative to a reference frame) after the first epoch can be determined based on measurement data from the vehicle's INS. Operation 220 can be implemented to calculate the pose of the second epoch INS based on the pose of the first epoch INS. For example, operation 220 can be implemented to determine the pose of the second epoch (t) INS by propagating the pose of the first epoch (t–1) INS according to the following matrix multiplication expression:

[0036]

[0037] in Indicates the relative change in INS attitude from the first epoch to the second epoch, as shown in the measurement data, and yes The transpose of .

[0038] Measurement data from the INS can be based on data from at least one gyroscope of the INS. For example, the measurement data can indicate the rate of rotation around at least one axis of the gyroscope of the INS. In one example, It is by using vector ω gyro The rotation matrix obtained by converting to DCM form, where ω gyro Represents the angular velocity vector, whose components indicate the rate of rotation around each of the three axes of the INS body frame from the first epoch to the second epoch.

[0039] As an alternative to the DCM form, operation 220 can be implemented to determine the pose of the second epoch INS in quaternion form. For example, operation 220 can be implemented to determine the pose of the second epoch (t)INS by propagating the pose of the first epoch (t–1)INS according to the following quaternion multiplication expression:

[0040]

[0041] in It is the state transition matrix, which can be determined based on the vector ω. gyro =[ω x ω y ω z ] T and sampling period T s (That is, the time between the first and second cycles) is obtained as follows:

[0042]

[0043] Propagating INS poses in quaternion form rather than DCM form can have advantages, for example, in reducing computational complexity, although it may still be necessary to convert the propagated INS poses to DCM form to calculate the vehicle pose. In another example, operation 220 can be implemented to calculate the pose of the second epoch INS in Rodrigues vector form. Converting pose representations between these various forms (e.g., DCM, quaternion, Euler angles, Rodrigues vector format) is well known in the art.

[0044] Based on the determined pose of the INS, operation 230 includes determining the second pose of the vehicle in the second epoch. For example, operation 230 can be implemented to calculate the pose of the INS relative to the reference frame in the second epoch (t) according to the following matrix multiplication expression:

[0045]

[0046] in (This represents the stance of the second epoch INS regarding the reference (navigation) frame) is The transpose of .

[0047] At operation 240, the functionality includes applying constraints to the determined second attitude of the vehicle to produce an updated second attitude of the vehicle, wherein applying the constraints restricts changes in one or more aspects of the attitude of the vehicle determined from the first epoch to the second epoch. For example, operation 240 may be implemented to apply constraints on the rotation of the determined vehicle attitude about a corresponding axis of the vehicle's body frame from the first epoch to the second epoch.

[0048] Figure 2B This illustrates the correspondence between the X, Y, and Z axes of the coordinate system and motions defined as rotations about each of these axes. For example... Figure 2B As shown, roll 260 is defined as rotation about the X-axis, pitch 270 is defined as rotation about the Y-axis, and yaw 280 is defined as rotation about the Z-axis. Figure 4A The side view illustrates the bus under different rotations (410-1, 410-2, and 410-3) around the Y-axis (i.e., different pitch angles). Figure 4B The top view illustrates the passenger car under different rotations of 420°-1, 420°-2, and 420°-3 around the Z-axis (i.e., different yaw angles), and... Figure 4C The rear view illustrates the passenger car under different rotations of 430°-1, 430°-2, and 430°-3 (i.e., different yaw angles) around the X-axis, where the X, Y, and Z axes of the fuselage frame are as follows: Figure 1 As shown.

[0049] Operation 240 can be implemented to impose constraints by modifying one or more of the roll angle, pitch angle, and yaw angle of the vehicle attitude determined in the second epoch. For example, operation 240 can be implemented to constrain the change of one or more of the roll angle, pitch angle, and yaw angle of the vehicle attitude determined from the first epoch to the second epoch. Due to the nature of the road design, it can be assumed that a vehicle not in a turn will not experience a change in roll angle. For cases where the vehicle is not in a turn from the first epoch to the second epoch (e.g., the change in roll angle of the vehicle attitude determined from the first epoch to the second epoch is less than a threshold), it may be desirable to constrain the determined vehicle attitude by constraining the change in roll angle from the first epoch to the second epoch. Thus, implementation of operation 240 may include the following sequence of operations:

[0050] 1) Convert the determined vehicle attitude of the first epoch into roll angle, pitch angle and yaw angle (also known as "Euler angles"), and convert the determined vehicle attitude of the second epoch into roll angle, pitch angle and yaw angle;

[0051] 2) If the yaw angle condition for the vehicle attitude is met (e.g., if the absolute change in the yaw angle between the first and second epochs is less than (or does not exceed) a threshold), then constrain the roll angle of the vehicle attitude in the second epoch (e.g., by setting the roll angle of the vehicle attitude in the second epoch to be equal to the roll angle of the vehicle attitude in the first epoch); and

[0052] 3) If the roll angle of the vehicle attitude in the second epoch is constrained, the vehicle attitude in the second epoch (i.e., where the roll angle has been constrained) will be converted back to, for example, DCM form.

[0053] Alternatively or concurrently, operation 240 may be implemented to impose constraints on the determined second attitude of the vehicle based on other information. For example, it may be assumed that the change in the vehicle pitch angle will be equal to the change in the road surface tilt angle. In one such case, operation 240 is implemented to use map data indicating the road surface tilt angle to constrain the change in the vehicle pitch angle from the first epoch to the second epoch (e.g., equal to the indicated tilt angle).

[0054] Based on the updated second pose of the vehicle, operation 250 includes determining the updated pose of the INS. For example, operation 250 can be implemented to determine the updated pose of the INS relative to the reference frame in the second epoch(t) according to the following matrix multiplication expression:

[0055]

[0056] in yes The apostrophe indicates the transpose operation.

[0057] Method 200 can be iterated at each consecutive epoch during the dead reckoning period. Although this paper discusses GNSS-INS fusion for IMU sensor bias correction as background for dead reckoning, other sensor measurements can also be used for IMU sensor bias correction. As a supplement to or alternative to GNSS measurements, sensor fusion can be performed, for example, using measurements from one or more SONAR sensors, radar sensors, lidar sensors, and / or cameras (e.g., visible light and / or infrared). In one example, measurements from one or more cameras are used in conjunction with INS measurements to determine vehicle localization and orientation via visual inertial ranging. When measurements from such other sensors degrade or become unavailable (e.g., no visual features to track on a snowy road), dead reckoning can be activated according to the attitude constraint principles described herein. For example, an instance of Method 200 can be executed in response to such activation of dead reckoning.

[0058] Depending on the desired functionality, method 200 may include one or more additional functions. For example, according to some embodiments, method 200 may also include providing an updated attitude of the INS. According to some embodiments, providing an updated attitude of the INS involves providing data indicating the updated attitude to a software application, operating system, user interface, vehicle system, or remote device, or a combination thereof.

[0059] Figure 3AA block diagram of a device 310 for vehicle navigation is shown according to an overall configuration including a processor 320 coupled to an inertial navigation system (INS) 330. The INS 330 may include a gyroscope for measuring the rate of rotation about at least one axis. Such a gyroscope may be, for example, a microelectromechanical system (MEMS) gyroscope. By way of example, and not limitation, a MEMS gyroscope may be a vibrating mass gyroscope, a vibrating structure gyroscope, a tuning fork gyroscope, a vibrating ring gyroscope, a piezoelectric plate gyroscope, or any combination thereof. The INS 330 may also include an accelerometer for measuring the rate of acceleration along at least one axis. Such an accelerometer may be, for example, a MEMS accelerometer. By way of example, and not limitation, a MEMS accelerometer may be composed of capacitive, variable capacitive, inductive, piezoelectric, or piezoresistive components, or any combination thereof. As described herein, the gyroscope and / or accelerometer of 330 may be part of an IMU of 330. Processor 320 (e.g., one or more processors) is configured to execute computer-executable instructions to calculate a first pose of the vehicle in a first epoch with respect to a reference frame; to calculate the pose of INS 330 in a second epoch after the first epoch, based on measurement data from INS 330; to calculate a second pose of the vehicle in a second epoch, based on the calculated pose of INS 330 and the calculated first pose of the vehicle; to apply constraints to the calculated second pose of the vehicle to generate an updated second pose of the vehicle; and to calculate an updated pose of INS 330 based on the updated calculated pose of the vehicle. INS 330 may be implemented on one or more substrates, and processor 320 may be implemented at least partially on the same substrate as at least a portion of INS 330 and / or on another substrate. For example, the calculation (or “propagation”) of the pose of INS 330 may be performed by a portion of processor 320 implemented on the same substrate as at least a portion of INS 330.

[0060] Figure 3BA block diagram of an implementation 340 of device 310 is shown, which includes an implementation 350 of INS 330, wherein INS 350 includes an IMU 360 (e.g., an example of an IMU as described herein). The inertial measurement unit 360 may be implemented to include a gyroscope that measures the rate of rotation about at least one axis (typically, the rate of rotation about each of three orthogonal axes of the IMU's body frame). Such a gyroscope may be, for example, a microelectromechanical system (MEMS) gyroscope. By way of example and not limitation, a MEMS gyroscope may be a vibrating mass gyroscope, a vibrating structure gyroscope, a tuning fork gyroscope, a vibrating ring gyroscope, a piezoelectric plate gyroscope, or any combination thereof. The inertial measurement unit 360 may also include an accelerometer that measures the rate of acceleration along at least one axis (typically, the rate of acceleration about each of three orthogonal axes of the IMU's body frame). Such an accelerometer may be, for example, a MEMS accelerometer. As an example and not a limitation, a MEMS accelerometer may consist of capacitive, variable capacitive, inductive, piezoelectric, or piezoresistive components or any combination thereof.

[0061] Device 310 (e.g., device 340) can be installed in a vehicle that includes one or more other sensors that can support vehicle automation. Figure 5This is a perspective view of a vehicle 500, including an example of an INS 330 (not shown), which may be an example of 350 as described herein. The vehicle 500 may include one or more cameras, such as a camera 506 mounted on a rearview mirror, a camera mounted on the front fender (not shown), a camera mounted on the side mirrors (not shown), and a rear camera (not shown, but typically located in the trunk, hatch, or rear bumper). The vehicle 500 may also have a lidar unit 504 for detecting objects and measuring the distance to those objects; the lidar unit 504 is often mounted on the roof, however, if multiple lidar units 504 are present, they may be oriented to surround the front, rear, and sides of the vehicle. Vehicle 500 may have various other location-related systems, such as GNSS receivers (typically located in a shark fin unit at the rear of the roof, as shown), various wireless communication interfaces (such as WAN, WLAN, V2X; typically, but not necessarily, located in the shark fin on the roof), radar 508 (typically located in the front bumper), and sonar 510 (if present, typically located on the sides of the vehicle). Various wheel sensors 512 (e.g., wheel tapping sensors) and drive system sensors, such as tire pressure sensors, accelerometers, gyroscopes, and wheel rotation detection and / or counters, may also be present. In one embodiment, distance measurements and relative positions determined by various sensors (such as lidar, radar, cameras, GNSS, and sonar) can be combined with vehicle size and shape information and information about sensor locations to determine distances and relative positions between different vehicle surfaces, such that the distance or vector increment from a sensor to another vehicle or between two different sensors (such as two GNSS receivers) is increased to account for the sensor's position on each vehicle. Therefore, it is expected that the precise GNSS distance and vector between two GNSS receivers can be modified based on, for example, the relative positions of various vehicle surfaces with respect to the GNSS receiver. It should be understood that this list is not intended to be restrictive, and Figure 5 Exemplary locations of various sensors are provided in embodiments of a vehicle including an example of device 310 (e.g., an example of device 340).

[0062] Figure 6 The illustration depicts an example computer system 600 that can be used and / or integrated with one or more electronic components (e.g., INS 330 (or 350), processor 320) of devices 310 and / or 340. In some embodiments, the computer system 600 is deployed in a vehicle (e.g., vehicle 500). It should be noted that... Figure 6 This merely means providing a general description of the various components, from which any or all of them can be used appropriately. Therefore, Figure 6The overview map shows how the individual system components are implemented in a relatively separate or relatively more integrated manner.

[0063] like Figure 6 As illustrated, computer system 600 may include hardware elements that can be communicatively coupled via bus 605 (or other wired and / or wireless communication infrastructure, as appropriate). The hardware elements may include one or more processors 610, which may include, but are not limited to, one or more general-purpose processors, one or more special-purpose processors (such as digital signal processors (DSPs), graphics accelerator processors, application-specific integrated circuits (ASICs), etc.). Processor 610 may perform vehicle navigation processing, including, for example, estimating positioning, speed, and / or attitude. Processor 320 may be implemented wholly or partially within processor 610.

[0064] Computer system 600 may include one or more input devices 615, which may include, but are not limited to, touch screens, keyboards, touchpads, cameras, microphones and / or other user input devices, map data (e.g., map data 619), etc.; and one or more output devices 627, which may include, but are not limited to, display devices, speakers, etc.

[0065] Computer system 600 may also include wireless communication interface 630, which may include, but is not limited to, network card, infrared communication device, wireless communication interface 633 and / or chipset (such as... Devices, IEEE 802.11 devices, or cellular communication facilities, etc., enable computer system 600 to communicate with external computer systems or electronic devices. This communication can be performed via one or more wireless communication antennas (not shown) that transmit and / or receive wireless signals.

[0066] Input device 615 may also include one or more sensors. Such sensors may include, but are not limited to, one or more of the following: INS 616 (e.g., INS 330 and / or INS 350 (including, for example, accelerometers, gyroscopes and / or IMUs (e.g., IMU 360))), radar 608 (e.g., radar 508), camera 606 (e.g., camera 506), magnetometer, lidar 604 (e.g., lidar unit 504), altimeter, microphone, ultrasonic sensor, light sensor, wheel sensor 612 (e.g., wheel sensor 512), etc., some of which may be used to supplement and / or facilitate the navigation-related processing described herein.

[0067] Computer system 600 may also include GNSS receiver 602 (e.g., as a GNSS receiver 602). Figure 5A receiver 502 (which is included as a part) is operable to receive signals from one or more GNSS satellites using an antenna. The signals can be used to supplement and / or incorporate the techniques described herein (e.g., correcting INS states, such as positioning, velocity, and / or attitude states). In some embodiments, the GNSS signals can be used to determine the geographic location of the computer system 600, for example, for use in vehicle navigation.

[0068] The computer system 600 may also include and / or communicate with a memory 635 (e.g., short-term working memory) and one or more storage devices 625 (e.g., long-term data memory). The memory 635 and / or one or more storage devices 625 may include, but are not limited to, local and / or network-accessible memory, disk drives, drive arrays, optical storage devices, solid-state storage devices such as random access memory (“RAM”) and / or read-only memory (“ROM”), which may be programmable, flash-updatable, etc. Such storage devices can be configured to implement any suitable data storage, including but not limited to various file systems, database structures, etc. In some embodiments, the memory 635 may store a codebook including parameters for transmitting waveforms.

[0069] Memory 635 may include a non-transitory computer-readable medium storing instructions executable by one or more processors (e.g., processor 610) of computer system 600. Such instructions may be stored as program code, such as operating system 640, device drivers, executable libraries, or other application programs 645. Instructions stored in memory 635 may be configured to cause the processor to perform the radar-related processing described herein. This is merely an example regarding the above discussion. Figure 2A Method 200 describes one or more procedures that can be implemented as code and / or instructions executable by processor 610. In one aspect, such code and / or instructions can then be used to configure and / or adapt a general-purpose computer (or other computing device) to perform one or more operations according to the techniques described herein.

[0070] For those skilled in the art, substantial modifications can be made to suit specific needs. For example, custom hardware can be used, and / or specific elements can be implemented in hardware, software (including portable software such as applets), or both. Furthermore, connectivity to other computing devices (such as network input / output devices) can be employed.

[0071] Unless the context explicitly limits it, the term "signal" is used herein to indicate any general meaning, including the state of a storage location (or set of storage locations) represented on a wire, bus, or other transmission medium. Unless the context explicitly limits it, the term "generate" is used herein to indicate any general meaning, such as calculation or otherwise generating. Unless the context explicitly limits it, the term "calculate" is used herein to indicate any general meaning, such as calculating, evaluating, estimating, and / or selecting from multiple values. Unless the context explicitly limits it, the term "obtain" is used herein to indicate any general meaning, such as calculating, deriving, receiving (e.g., from an external device), and / or retrieving (e.g., an array of storage elements). Unless the context explicitly limits it, the term "select" is used herein to indicate any general meaning, such as identifying, indicating, applying, and / or using at least one of two or more sets, but not all of them. Unless the context explicitly limits it, the term "determine" is used herein to indicate any general meaning, such as deciding, determining, summarizing, calculating, selecting, and / or evaluating. Where the term "comprising" is used in this specification and claims, it does not exclude other elements or operations. The term "based on" (e.g., "A is based on B") is used to indicate any of its general meanings, including (i) "derived from" (e.g., "B is a precursor of A"), (ii) "based on at least" (e.g., "A is based on at least B"), and (iii) "equal to" (e.g., "A equals B"). Similarly, the term "in response to" is used to indicate any of its general meanings, including "in response to at least". Unless otherwise stated, the terms "at least one of A, B, and C", "one or more of A, C, and B", "at least one of A, B, and C", and "one or more of A, B, and C" indicate "A and / or B and / or C". Unless otherwise stated, the terms "each of A, B, and C" and "each of A, B, and C" mean "A and B and C".

[0072] Unless otherwise stated, any disclosure of the operation of an apparatus having specific characteristics is also expressly intended to disclose a method having similar characteristics (and vice versa), and any disclosure of the operation of an apparatus according to a specific configuration is also expressly intended to disclose a method according to a similar configuration (and vice versa). The term “configuration” may be used with reference to a method, apparatus, and / or system indicated by its specific context. Unless otherwise indicated by the specific context, the terms “method,” “process,” “procedure,” and “technology” may be used generally and interchangeably. A “task” having multiple subtasks is also a method. The terms “apparatus” and “equipment” may also be used generally and interchangeably unless otherwise indicated by the specific context. The terms “element” and “module” are generally used to refer to a portion of a larger configuration. Unless expressly limited by the context, the term “system” is used herein to refer to anything in its general sense, including “a set of elements interacting for a common purpose.”

[0073] Unless initially introduced by a definite article, ordinal numbers used to modify claim elements (e.g., "first," "second," "third," etc.) do not themselves indicate the priority or order of a claim element relative to another, but merely distinguish the claim element from another claim element with the same name (but using an ordinal number). Unless explicitly limited by its context, this document uses each of the terms "a plurality" and "a set" to indicate an integer greater than one.

[0074] The various elements of the apparatus or system disclosed herein can be implemented as any combination of hardware and software and / or firmware, a combination deemed suitable for the intended application. For example, such elements can be fabricated as electronic and / or optical devices, for instance, residing on the same chip or within two or more chips in a chipset. An example of such a device is a fixed or programmable array of logic elements (such as transistors or logic gates), and any of these elements can be implemented as one or more such arrays. Any two or more, or even all, of these elements can be implemented in the same array or multiple arrays. One or more such arrays can be implemented within one or more chips (e.g., within a chipset comprising two or more chips).

[0075] The processor or other components for processing disclosed herein can be manufactured as one or more electronic and / or optical devices, for example, residing on the same chip or in a chipset of two or more chips. An example of such a device is a fixed or programmable array of logic elements (such as transistors or logic gates), and any of these elements can be implemented as one or more such arrays. Such arrays or arrays can be implemented within one or more chips (e.g., within a chipset comprising two or more chips). Examples of such arrays include fixed or programmable arrays of logic elements (such as microprocessors, embedded processors, intellectual property (IP) cores, DSPs (digital signal processors), FPGAs (field-programmable gate arrays), ASSPs (application-specific standard products), and ASICs (application-specific integrated circuits). The processor or other components for processing disclosed herein can also be implemented as one or more computers (e.g., including machines programmed to execute one or more arrays of one or more sets or sequences of instructions) or other processors. The processor described herein can be used to perform operations or other instruction sets (such as operations related to another operation of a device or system in which the processor is embedded) that are not directly related to the implementation of method 200 (or another method disclosed with reference to the operation of the device or system described herein). It can also execute a portion of the methods disclosed herein under the control of one or more other processors.

[0076] Each operation of the methods disclosed herein can be directly implemented in hardware, a software module executed by a processor, or a combination of both. In a typical application of an implementation of the methods disclosed herein, an array of logic elements (e.g., logic gates) is configured to perform one, more than one, or even all of the various operations of the method. One or more (possibly all) of these operations can also be implemented as code (e.g., one or more instruction sets) implemented in a computer program product (e.g., one or more data storage media (such as disks, flash memory or other non-volatile memory cards, semiconductor memory chips, etc.)) that can be read and / or executed by a machine (e.g., a computer) including an array of logic elements (e.g., processors, microprocessors, microcontrollers, or other finite-state machines). The operations of an implementation of the methods disclosed herein can also be performed by more than one such array or machine.

[0077] In one or more exemplary embodiments, the operations described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, these operations may be stored on or transmitted via a computer-readable medium as one or more instructions or code. The term “computer-readable medium” includes computer-readable storage media and communication (e.g., transmission) media. By way of example and not limitation, a computer-readable storage medium may include arrays of storage elements, such as semiconductor memories (which may include, but are not limited to, dynamic or static RAM, ROM, electrically erasable programmable read-only memory (EEPROM), and / or flash RAM), or ferroelectric, magnetoresistive, oval, polymer, or phase-change memories; optical disc read-only memories (CD-ROM) or other optical disc storage; and / or magnetic disk storage or other magnetic storage devices. Such storage media may store information in the form of computer-accessible instructions or data structures. Communication media may include any medium that can be used to carry desired program code in the form of instructions or data structures and is accessible by a computer, including any medium that facilitates the transfer of a computer program from one place to another. Furthermore, any connection is appropriately referred to as a computer-readable medium. For example, if software is sent from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and / or microwave, then the definition of media includes coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and / or microwave. As used herein, disks and optical discs include compact optical discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs. TM(The Blu-ray Disc Organization in Universal City, California), where disks typically reproduce data magnetically, while optical discs use lasers to reproduce data optically. Combinations of the above should also be included within the scope of computer-readable media.

[0078] In one example, the non-transitory computer-readable storage medium includes code that, when executed by at least one processor, causes at least one controller to perform the vehicle navigation method described herein.

[0079] The foregoing description is provided to enable those skilled in the art to make or use the disclosed implementations. Various modifications to these implementations will be apparent to those skilled in the art, and the principles defined herein can be applied to other implementations without departing from the scope of this disclosure. Therefore, this disclosure is not intended to be limited to the implementations shown herein, but should be given the broadest scope consistent with the principles and novel features defined in the following claims.

[0080] Based on this description, embodiments may include different combinations of features. Examples of implementations are described in the following numbered clauses:

[0081] Clause 1. A method for vehicle navigation, the method comprising: determining a first attitude of a vehicle about a reference frame at a first epoch; determining the attitude of an inertial navigation system (INS) at a second epoch after the first epoch based on measurement data from the vehicle's INS; determining a second attitude of the vehicle at the second epoch based on the determined attitude of the INS; applying constraints to the determined second attitude of the vehicle to produce an updated second attitude of the vehicle, wherein the applied constraints limit changes in one or more aspects of the determined second attitude of the vehicle from the first epoch to the second epoch; and determining an updated attitude of the INS based on the updated second attitude of the vehicle.

[0082] Clause 2. The method according to Clause 1, wherein determining the first attitude of the vehicle is based at least in part on: the attitude of the vehicle with respect to the reference frame INS in the first epoch, or the orientation of the body frame of the vehicle relative to the body frame INS, or a combination thereof.

[0083] Clause 3. The method according to any one of Clauses 1-2, wherein the measurement data indicates the rate of rotation of at least one axis of the gyroscope of the INS.

[0084] Clause 4. The method according to any one of Clauses 1-3, wherein the pose of INS in the second epoch is the pose with respect to the reference frame.

[0085] Clause 5. The method according to any one of Clauses 1-4, wherein the pose of the INS in the second epoch is based on the pose of the INS in the first epoch.

[0086] Clause 6. The method according to any one of Clauses 1-5, wherein applying constraints includes conditions for detecting the yaw angle of the vehicle attitude.

[0087] Clause 7. The method according to any one of Clauses 1-6, wherein applying the constraint includes modifying the roll angle of the determined second attitude of the vehicle.

[0088] Clause 8. The method according to any one of Clauses 1-7, wherein the method is performed during a dead reckoning period for the vehicle.

[0089] Clause 9. The method pursuant to any one of Clauses 1-8 further includes providing an updated INS posture.

[0090] Clause 10. The method according to Clause 9, wherein providing the INS update posture includes providing data indicating the update posture to a software application, operating system, user interface, vehicle system, or remote device, or a combination thereof.

[0091] Clause 11. An apparatus for vehicle navigation, the apparatus comprising: an inertial navigation system (INS); a memory; and one or more processors communicatively coupled to the INS and the memory, wherein the one or more processors are configured to: determine a first attitude of a vehicle with respect to a reference frame at a first epoch; determine the attitude of the INS at a second epoch following the first epoch based on measurement data from the vehicle's inertial navigation system (INS); determine a second attitude of the vehicle at the second epoch based on the determined attitude of the INS; apply constraints to the determined second attitude of the vehicle to produce an updated second attitude of the vehicle, wherein the applied constraints limit changes in one or more aspects of the determined second attitude of the vehicle from the first epoch to the second epoch; and determine an updated attitude of the INS based on the updated second attitude of the vehicle.

[0092] Clause 12. The device according to Clause 11, wherein the one or more processors are configured to determine a first attitude of the vehicle based at least in part on: the attitude of the first epoch INS with respect to a reference frame, or the orientation of the body frame of the vehicle relative to the body frame INS, or a combination thereof.

[0093] Clause 13. The device according to any one of Clauses 11-12, wherein the INS is configured to include in the measurement data the rotational rate of at least one axis of the gyroscope surrounding the INS.

[0094] Clause 14. The device according to any one of Clauses 11-13, wherein, in order to determine the attitude of the second epoch INS, the one or more processors are configured to determine the attitude with respect to the reference frame.

[0095] Clause 15. The device according to any one of Clauses 11-14, wherein the one or more processors are configured to determine the attitude of the second epoch INS based on the attitude of the first epoch INS.

[0096] Clause 16. The device according to any one of Clauses 11-15, wherein, in order to impose a constraint, the one or more processors are configured to detect yaw angle conditions of the vehicle attitude.

[0097] Clause 17. The device according to any one of Clauses 11-16, wherein, in order to apply a constraint, the one or more processors are configured to modify the roll angle of the determined second attitude of the vehicle.

[0098] Clause 18. The device according to any one of Clauses 11-17, wherein the one or more processors are configured to determine the updated attitude of the INS during a dead reckoning period for the vehicle.

[0099] Clause 19. The device according to any one of Clauses 11-18, wherein the one or more processors are further configured to provide an updated posture for the INS.

[0100] Clause 20. The device according to Clause 19, wherein, in order to provide an updated attitude of the INS, the one or more processors are configured to provide data indicating the updated attitude to a software application, operating system, user interface, vehicle system, or remote device, or a combination thereof.

[0101] Clause 21. An apparatus for vehicle navigation, the apparatus comprising: means for determining a first attitude of a vehicle with respect to a reference frame at a first epoch; means for determining the attitude of the vehicle at a second epoch after the first epoch based on measurement data from an inertial navigation system (INS); means for determining a second attitude of the vehicle at the second epoch based on the determined attitude of the INS; means for applying constraints to the determined second attitude of the vehicle to produce an updated second attitude of the vehicle, wherein the applied constraints limit changes in one or more aspects of the determined second attitude of the vehicle from the first epoch to the second epoch; and means for determining an updated attitude of the INS based on the updated second attitude of the vehicle.

[0102] Clause 22. The apparatus according to Clause 21, wherein the components for determining the first attitude of the vehicle include components for determining the second attitude of the vehicle based at least in part on the attitude of the vehicle with respect to the reference frame INS in a first epoch, or the orientation of the body frame relative to the body frame INS of the vehicle, or a combination thereof.

[0103] Clause 23. The apparatus according to any one of Clauses 21-22, wherein the components for determining the attitude at the second epoch INS include components for determining the attitude with respect to the reference frame.

[0104] Clause 24. The apparatus according to any one of Clauses 21-23, wherein the component for determining the attitude of the second epoch INS includes a component for determining the attitude of the second epoch INS based on the attitude of the first epoch INS.

[0105] Clause 25. The apparatus according to any one of Clauses 21-24, wherein the component for applying the constraint includes a component for detecting the condition of the yaw angle of the vehicle attitude.

[0106] Clause 26. The apparatus according to any one of Clauses 21-25, wherein the component for applying the constraint includes a component for modifying the roll angle of the determined second attitude of the vehicle.

[0107] Clause 27. The apparatus according to any one of Clauses 21-26 further includes components for providing updated posture of the INS.

[0108] The apparatus of Clause 28. Clause 27, wherein the components for providing updated attitude of the INS include components for providing data indicating the updated attitude to a software application, operating system, user interface, vehicle system, or remote device, or a combination thereof.

[0109] Clause 29. A non-transitory computer-readable medium storing instructions for vehicle navigation, the instructions comprising: code for: determining a first attitude of a vehicle with respect to a reference frame at a first epoch; determining the attitude of the vehicle at a second epoch after the first epoch based on measurement data from an inertial navigation system (INS); determining a second attitude of the vehicle at the second epoch based on the determined attitude of the INS; applying constraints to the determined second attitude of the vehicle to produce an updated second attitude of the vehicle, wherein the applied constraints limit changes in one or more aspects of the determined second attitude of the vehicle from the first epoch to the second epoch; and determining an updated attitude of the INS based on the updated second attitude of the vehicle.

[0110] Clause 30. The non-transient computer-readable medium as described in Clause 29, wherein the code for determining a first attitude of the vehicle includes code for determining a second attitude of the vehicle based at least in part on the attitude of the INS with respect to a reference frame in a first epoch, or the orientation of the INS’s body frame relative to the vehicle’s body frame, or a combination thereof.

Claims

1. A method for vehicle navigation, the method comprising: Determine the first attitude of the vehicle with respect to the reference frame in the first epoch; Based on measurement data from the vehicle's inertial navigation system (INS), the attitude of the INS is determined in a second epoch following the first epoch. Based on the determined attitude of the INS in the second epoch, the second attitude of the vehicle in the second epoch is determined; The absolute change in the vehicle's yaw angle between the first epoch and the second epoch is determined to be less than a predetermined threshold. A constraint is applied to the determined second attitude of the vehicle to generate an updated second attitude of the vehicle, wherein applying the constraint includes setting the roll angle of the determined second attitude of the vehicle to be equal to the roll angle of the determined first attitude of the vehicle. as well as The updated attitude of the INS is determined based on the updated second attitude of the vehicle.

2. The method of claim 1, wherein determining the first attitude of the vehicle is based at least in part on: In the first epoch, the pose of the INS with respect to the reference frame, or In the first epoch, the orientation of the INS's body frame relative to the vehicle's body frame, or Its combination.

3. The method according to claim 1, wherein, The measurement data indicates the rate of rotation of at least one axis of the gyroscope of the INS.

4. The method according to claim 1, wherein, The pose of the INS in the second epoch is the pose with respect to the reference frame.

5. The method according to claim 1, wherein, The pose of the INS in the second epoch is based on the pose of the INS in the first epoch.

6. The method according to claim 1, wherein, The method is performed during the dead reckoning period of the vehicle.

7. The method according to claim 1, further comprising providing an updated attitude of the INS.

8. The method according to claim 7, wherein, Providing the update posture of the INS includes providing data indicating the update posture of the INS to a software application, operating system, user interface, vehicle system, or remote device, or a combination thereof.

9. A device for vehicle navigation, the device comprising: Inertial navigation system (INS); Memory; as well as One or more processors communicatively coupled to the INS and the memory, wherein the one or more processors are configured to: Determine the first attitude of the vehicle with respect to the reference frame in the first epoch; Based on the measurement data from the INS, the attitude of the INS in the second epoch after the first epoch is determined; Based on the determined attitude of the INS in the second epoch, the second attitude of the vehicle in the second epoch is determined; The absolute change in the vehicle's yaw angle between the first epoch and the second epoch is determined to be less than a predetermined threshold. Constraints are applied to the determined second attitude of the vehicle to generate an updated second attitude of the vehicle, wherein applying the constraints includes setting the roll angle of the determined second attitude of the vehicle to be equal to the roll angle of the determined first attitude of the vehicle; and The updated pose of the INS is determined based on the updated second pose of the vehicle.

10. The device according to claim 9, wherein, The one or more processors are configured to determine the first attitude of the vehicle based at least in part on the following: In the pose of the INS with respect to the reference frame in the first epoch, or In the first epoch, the orientation of the INS's body frame relative to the vehicle's body frame, or Its combination.

11. The device according to claim 9, wherein, The INS is configured to include the rotational rate of at least one axis of the gyroscope surrounding the INS in the measurement data.

12. The device according to claim 9, wherein, In order to determine the pose of the INS in the second epoch, the one or more processors are configured to determine the pose with respect to the reference frame.

13. The device according to claim 9, wherein, The one or more processors are configured to determine the attitude of the INS in the second epoch based on the attitude of the INS in the first epoch.

14. The device according to claim 9, wherein, The one or more processors are configured to determine the updated attitude of the INS during the dead reckoning period of the vehicle.

15. The device according to claim 9, wherein, The one or more processors are also configured to provide the attitude for updating the INS.

16. The device according to claim 15, wherein, In order to provide an updated attitude of the INS, the one or more processors are configured to provide data indicating an updated attitude of the INS to a software application, operating system, user interface, vehicle system, or remote device, or a combination thereof.

17. An apparatus for vehicle navigation, the apparatus comprising: Components used to determine the first attitude of the vehicle with respect to the reference frame in the first epoch; A component for determining the attitude of the inertial navigation system (INS) in a second epoch after the first epoch, based on measurement data from the vehicle's INS. Components for determining a second attitude of the vehicle in the second epoch based on the determined attitude of the INS in the second epoch; A component for determining that the absolute change in the yaw angle of the vehicle between the first epoch and the second epoch is less than a predetermined threshold; Components for applying constraints to a determined second attitude of a vehicle to generate an updated second attitude of the vehicle, wherein the components for applying the constraints include components for setting the roll angle of the determined second attitude of the vehicle to be equal to the roll angle of the determined first attitude of the vehicle. as well as A component for determining the updated attitude of the INS based on the updated second attitude of the vehicle.

18. The apparatus according to claim 17, wherein, The components for determining the first attitude of the vehicle include components for determining the first attitude of the vehicle based at least in part on the following: In the pose of the INS with respect to the reference frame in the first epoch, or In the first epoch, the orientation of the INS's body frame relative to the vehicle's body frame, or Its combination.

19. The apparatus according to claim 17, wherein, The components for determining the attitude of the INS in the second epoch include components for determining the attitude with respect to the reference frame.

20. The apparatus according to claim 17, wherein, The components for determining the attitude of the INS in the second epoch include components for determining the attitude of the INS in the second epoch based on the attitude of the INS in the first epoch.

21. The apparatus of claim 17, further comprising a component for providing an updated attitude of the INS.

22. The apparatus according to claim 21, wherein, The components for providing the updated attitude of the INS include components for providing data indicating the updated attitude of the INS to a software application, operating system, user interface, vehicle system, or remote device, or a combination thereof.

23. A non-transitory computer-readable medium storing instructions for vehicle navigation, the instructions comprising code for the following operations: Determine the first attitude of the vehicle with respect to the reference frame in the first epoch; Based on measurement data from the vehicle's inertial navigation system (INS), the attitude of the INS is determined in a second epoch following the first epoch. Based on the determined attitude of the INS in the second epoch, the second attitude of the vehicle in the second epoch is determined; The absolute change in the vehicle's yaw angle between the first epoch and the second epoch is determined to be less than a predetermined threshold. A constraint is applied to the determined second attitude of the vehicle to generate an updated second attitude of the vehicle, wherein applying the constraint includes setting the roll angle of the determined second attitude of the vehicle to be equal to the roll angle of the determined first attitude of the vehicle. as well as The updated pose of the INS is determined based on the updated second pose of the vehicle.

24. The non-transitory computer-readable medium according to claim 23, wherein, The code used to determine the first attitude of the vehicle includes a method for determining the first attitude of the vehicle based at least in part on the following: In the pose of the INS with respect to the reference frame in the first epoch, or In the first epoch, the orientation of the INS's body frame relative to the vehicle's body frame, or Its combination.

25. The non-transitory computer-readable medium according to claim 23, wherein, The measurement data indicates the rate of rotation of at least one axis of the gyroscope of the INS.

26. The non-transitory computer-readable medium according to claim 23, wherein, The pose of the INS in the second epoch is the pose with respect to the reference frame.

27. The non-transitory computer-readable medium according to claim 23, wherein, The pose of the INS in the second epoch is based on the pose of the INS in the first epoch.

28. The non-transitory computer-readable medium according to claim 23, wherein, The instructions include code for determining the updated attitude of the INS during the dead reckoning period of the vehicle.

29. The non-transitory computer-readable medium according to claim 23, wherein, The instructions also include code for providing an updated attitude for the INS.

30. The non-transitory computer-readable medium according to claim 29, wherein, The code used to provide the updated attitude of the INS includes code for providing data indicating the updated attitude of the INS to a software application, operating system, user interface, vehicle system, or remote device, or a combination thereof.

Citation Information

Patent Citations

  • Method for motion mode decision, navigation system using the method, and providing method thereof

    KR101160630B1

  • Navigation system utilizing yaw rate constraint during inertial dead reckoning

    US20180292212A1