Positioning method and device using navigation satellite system
Through particle filter technology, the pseudorange and phase information of GNSS signals are used to calculate the weight of particles and estimate the positioning information of target objects. This solves the problem of large errors in GNSS positioning in certain environments and achieves efficient and robust positioning. method.
Patent Information
- Application Number
- CN202310906784.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-21
- Publication Date
- 2025-01-21
AI Technical Summary
The existing GNSS positioning technology has problems such as signal occlusion and multipath effect in some environments, resulting in large positioning errors and may even cause positioning failures. The whole-circuit ambiguity solution process is complicated and takes a long time.
Using the particle filter method, by receiving signals from the navigation satellite system, we obtain pseudorange and phase information, calculate the distance and phase consistency of the particles relative to this information, and then calculate the weight of the particles, estimate the positioning information of the target object, and avoid The solution process of the whole cycle ambiguity.
It saves computing time and resources, improves positioning accuracy and robustness, and can provide higher positioning accuracy in multi-path and occlusion environments.
Smart Images

Figure CN119335573A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a positioning technology, and in particular to a positioning method, device and computer-readable storage medium using a navigation satellite system and based on a particle filter. Background Art
[0002] At present, the use of the Global Navigation Satellite System (GNSS) is a common outdoor positioning technology. Due to problems such as signal blocking and multipath effects, the positioning error of GNSS in some environments is large, and may even cause positioning failure. In order to improve positioning accuracy and robustness, multiple positioning modules are usually set on the same target object, and then the positioning information of multiple positioning modules is fused to obtain the positioning information of the target object, and the strengths of different positioning modules are complemented. Common positioning sensors include GNSS, Inertial Measurement Unit (IMU), cameras, etc. Regarding the coupling of GNSS and other sensors, relatively advanced technologies include the coupling of GNSS and IMU and the coupling of GNSS, IMU and cameras.
[0003] However, in terms of accuracy, the tight coupling of GNSS and other sensors such as IMU and cameras can only achieve an accuracy of meters at most, which cannot be used in many scenarios (for example, unmanned driving). Someone still needs to come up with a solution to improve the accuracy.
[0004] On the other hand, from the perspective of algorithm complexity, when it comes to GNSS carrier phase observation, it is usually necessary to resolve the whole cycle ambiguity (Ambiguity of Whole Cycles) to improve positioning accuracy. However, the whole cycle ambiguity resolution is a complex mathematical problem that requires a lot of computing time and resources. Especially when it comes to scenes such as occlusion, the whole cycle ambiguity of the carrier phase observation will produce a cycle slip. At this time, the whole cycle ambiguity needs to be re-resolved and fixed, which requires the computing time and resources of the whole cycle ambiguity resolution again. Summary of the invention
[0005] In view of this, the present disclosure proposes a positioning method, device and computer-readable storage medium using a navigation satellite system, which utilizes the natural characteristics of a particle filter and a particle evaluation method different from the traditional carrier phase, and can avoid the process of resolving the whole cycle ambiguity. Accordingly, computing time and resources can be saved.
[0006] The first aspect of the present disclosure proposes a positioning method using a navigation satellite system, including receiving a signal from the navigation satellite system by a receiver on a target object; acquiring pseudorange information and phase information based on the signal; calculating distance consistency information of multiple particles relative to the pseudorange information; calculating phase consistency information of the multiple particles relative to the phase information based on the wavelength of the signal; and calculating weights of the multiple particles based on the distance consistency information and the phase consistency information to estimate the positioning information of the target object through a particle filter.
[0007] The second aspect of the present disclosure provides a positioning device using a navigation satellite system, including one or more processors and a memory storing a program. The program includes instructions, and when the instructions are executed by the processor, the positioning device executes the above positioning method.
[0008] A third aspect of the present disclosure provides a computer-readable storage medium storing a program, wherein the program includes instructions, and when the instructions are executed by one or more processors of a computing device, the computing device executes the above-mentioned positioning method. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary implementation of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention, and for those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.
[0010] Figure 1 is a block diagram showing a positioning device according to an embodiment of the present disclosure.
[0011] Figure 2 is a flow chart showing a positioning method according to an embodiment of the present disclosure.
[0012] Figure 3 is a schematic diagram illustrating phase information calculation according to an embodiment of the present disclosure.
[0013] Figure 4 is a flowchart showing the fusion of other perception information to calculate the weights of multiple particles according to an embodiment of the present disclosure.
[0014] Figure 5 Detailed description is a flowchart showing the calculation of pose consistency information of particles relative to the perception information of a camera according to an embodiment of the present disclosure.
[0015] Figure 6It is a flowchart showing the calculation of the pose consistency information of particles relative to the perception information of the laser radar according to one embodiment of the present disclosure.
[0016] Figure 7 is a schematic diagram illustrating a vehicle in which the various techniques disclosed herein may be implemented.
[0017] Figure 8 is a schematic diagram showing a computing device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0018] In order to make the purpose, technical scheme and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0019] In this disclosure, the term "plurality" means two or more, unless otherwise specified. In this disclosure, the term "and / or" describes the association relationship of associated objects, covering any one of the listed objects and all possible combinations. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.
[0020] In the present disclosure, unless otherwise specified, the terms "first", "second", etc. are used to distinguish similar objects without intending to limit their positional relationship, temporal relationship, or importance relationship. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present invention described herein can be implemented in ways other than those illustrated or described herein.
[0021] In addition, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus that includes a series of steps or elements is not necessarily limited to those steps or elements explicitly listed, but may include other steps or elements not explicitly listed or inherent to such process, method, system, product, or apparatus.
[0022] Figure 1 is a block diagram showing a positioning device according to an embodiment of the present disclosure.
[0023] Please refer to Figure 1 The positioning device 10 includes one or more processors 110 and a memory 120. The memory 120 is used to store a program including a plurality of instructions. When the processor 110 executes these instructions, the positioning device 10 executes the positioning method to be introduced in the present disclosure. The components of the processor 110 and the memory 120 will be described in detail later.
[0024] The positioning method described in the present disclosure uses the navigation satellite system 50 to locate the target object to obtain the positioning information of the target object. Therefore, when the positioning device 10 is running, the processor 110 is coupled to the receiver 40 disposed on the target object and used to receive the signal from the navigation satellite system 50.
[0025] In some embodiments, the positioning information includes location information.
[0026] In some embodiments, the positioning information includes position information and posture information.
[0027] In some embodiments, the target object is, for example, a vehicle. However, the present disclosure does not limit the type of the target object, and those skilled in the art may select the object to be located according to their needs.
[0028] In some embodiments, the navigation satellite system 50 is, for example, a global navigation satellite system (GNSS). However, the present disclosure does not limit the type of the navigation satellite system 50. In some embodiments, the navigation satellite system 50 may also be a regional navigation satellite system or a combination of a GNSS and a regional navigation satellite system.
[0029] In some embodiments, in order to improve the accuracy and robustness of positioning, in addition to using the navigation satellite system 50, the processor 110 will also fuse other sensors when executing the positioning method. For example, the processor 110 will fuse the camera 20 and the laser radar 30 when executing the positioning method. Therefore, the processor 110 is also coupled to the camera 20 and the laser radar 30 set on the target object. It must be noted that the present disclosure does not limit the type and number of other sensors. In some embodiments, the processor 110 will also fuse an inertial measurement unit (IMU) when executing the positioning method.
[0030] Figure 2 is a flow chart showing a positioning method according to an embodiment of the present disclosure.
[0031] and Figure 2 The description of the embodiment will be accompanied by Figure 1 The positioning device 10 is described. Figure 1 The contents already described in the embodiments will not be described again.
[0032] Please refer to Figure 2In step S210, the receiver 40 on the target object receives a signal from the navigation satellite system 50; in step S220, based on the signal from the navigation satellite system 50, pseudo range information and phase information are obtained.
[0033] In some embodiments, the satellite navigation system 50 is, for example, a GNSS, and a signal from the GNSS includes at least two types of information: a timestamp and a carrier phase.
[0034] Specifically, the pseudorange information, for example, represents the satellite-to-ground distance between the receiver 40 and the GNSS (satellite navigation system 50) that can be observed using the GNSS. Since the timestamp in the GNSS signal includes information about the time when the GNSS signal is sent, the receiver 40 or the processor 110 can calculate the pseudorange information by comparing the time when the receiver 40 receives the signal with the time when the timestamp indicates. In some embodiments, the signal from the GNSS also includes information such as navigation data and multipath effects, which can be used to correct the above calculations to obtain more accurate pseudorange information.
[0035] On the other hand, the phase information, for example, indicates the phase difference between the initial phase of the radio wave when the GNSS sends the signal and the above-mentioned received phase. The carrier phase is the received phase of less than one cycle measured by the phase detector of the receiver 40 when receiving the radio wave of the GNSS signal. Therefore, assuming that the initial phase is known, the carrier phase can be used to indicate the phase difference between the initial phase and the above-mentioned received phase, that is, to indicate the phase information. In some embodiments, the information of the initial phase is, for example, included in the GNSS signal, but the present disclosure is not limited thereto.
[0036] In some embodiments, the pseudorange information and phase information are obtained by differential positioning based on GNSS signals. For example, the pseudorange information p and phase information obtained by double difference observation based on GNSS signals are It can be expressed by the following formula (1) and formula (2) respectively:
[0037] p=r Formula (1)
[0038]
[0039] Here, r is, for example, the satellite-to-earth distance calculated based on the timestamp; λ is, for example, the wavelength of the GNSS signal; and N is, for example, the integer cycle ambiguity.
[0040] It must be noted that, in order to simplify the description, the phase in the present disclosure is represented by the wavelength of the signal as the basic unit, rather than radians. In addition, in some embodiments, the pseudorange information and the phase information may also be obtained by single-difference observation, which is not limited in the present disclosure.
[0041] Figure 3 is a schematic diagram illustrating phase information calculation according to an embodiment of the present disclosure.
[0042] Please refer to Figure 3 , the satellite-to-ground distance r is, for example, the distance from the transmitting point A of the GNSS signal to the receiving point B where the receiver 40 is located, calculated based on the timestamp. If the initial phase of the GNSS is The receiving phase is The phase information (That is and The difference) can be obtained from the satellite-to-earth distance r, wavelength λ and integer period ambiguity N (as shown in formula (2)).
[0043] In order to avoid solving the whole cycle ambiguity N, the positioning method proposed in the present disclosure is performed through a particle filter, so it is necessary to calculate the consistency information between multiple position particles relative to the observation results.
[0044] Simply put, a round of particle filter algorithm includes steps such as resampling, state transition, likelihood estimation, and weight update. The consistency information is used to estimate the likelihood of the particle compared to the true state, so as to further calculate the weight of the particle. In some cases, the more consistent the particle is with the observation, the higher the likelihood and the higher the weight. Particles with extremely low weights will be eliminated in the next round of resampling, and the final positioning result is obtained by taking the weighted average of the multiple particles left.
[0045] The algorithmic technical details of these particle filters are not the focus of this disclosure, so they will not be described in detail.
[0046] In some embodiments, to calculate the consistency information between the plurality of particles and the observation results, the processor 230 first calculates the plurality of satellite-to-ground distances between the plurality of particles and the navigation satellite system 50. For example, the satellite coordinate information of the GNSS is included in the GNSS signal, and the plurality of satellite-to-ground distances r between the plurality of particles and the GNSS i It can be calculated by the following formula (3):
[0047] r i =||x sat -x i ,y sat -y i ,zsat -z i ||2 Formula (3)
[0048] Among them, [x i ,y i ,z i ] is, for example, the particle position; [x sat ,y sat ,z sat ] For example, it is a satellite position. Unless otherwise specified, the present disclosure describes the position by a world coordinate system, such as the Earth-Centered Earth-Fixed (ECEF) coordinate system.
[0049] Please go back Figure 2 In step S230, the processor 110 calculates the distance consistency information of the plurality of particles relative to the pseudo-range information.
[0050] Specifically, the distance consistency information of multiple particles relative to the pseudorange information is used to evaluate the consistency of the satellite-to-earth distance between each particle and the navigation satellite system 50 and the observed pseudorange information.
[0051] In some embodiments, in order to facilitate the description of likelihood, the distance consistency information can be expressed in the form of a loss function. For example, the distance consistency information of multiple particles relative to the pseudo-range information p can be expressed by the function f of the following formula (4): p To describe:
[0052] f p =pr i Formula (4)
[0053] In step S240 , the processor 110 calculates phase consistency information of the plurality of particles relative to the phase information based on the wavelength of the signal from the navigation satellite system 50 .
[0054] Specifically, the phase consistency information of multiple particles relative to the phase information is used to evaluate the consistency of the phase difference between the initial phase and the received phase and the phase information when each particle receives the same signal from the navigation satellite system 50 .
[0055] In some embodiments, in order to facilitate the description of likelihood, the phase consistency information can be expressed in the form of a loss function. For example, multiple particles relative to phase information The phase consistency information can be expressed as the function of the following formula (5): To describe:
[0056]
[0057] It can be seen from formula (5) that due to the natural characteristics of the particle filter, such as calculating consistency information and likelihood, the complex integer ambiguity resolution process is cleverly avoided.
[0058] In step S250 , the processor 110 calculates weights of a plurality of particles based on the distance consistency information and the phase consistency information to estimate the location information of the target object through a particle filter.
[0059] Specifically, the distance consistency information can be used to estimate the likelihood of particle observations based on pseudorange information, while the phase consistency information can be used to estimate the likelihood of particle observations based on phase information.
[0060] In some embodiments, the likelihood of an observation based on pseudorange information can be expressed, for example, by the function p in the following formula (6): PSR To describe:
[0061]
[0062] Wherein, t represents time, for example; z t For example, x represents the observation result; t For example, f represents a single particle; p For example, the distance consistency information (pseudorange loss function) of formula (4); For example, the position part of the particle is taken; σ PSR For example, it is the standard deviation of the loss of pseudorange observations (eg, a hyperparameter obtained by statistics or other means).
[0063] In some embodiments, the likelihood of an observation based on phase information can be expressed, for example, by the function p in the following formula (7): CPD To describe:
[0064]
[0065] Wherein, t represents time, for example; z t For example, x represents the observation result; t For example, to represent a single particle; For example, the phase consistency information (phase loss function) of formula (5); For example, the position part of the particle is taken; σ CPD For example, it is the standard deviation of the loss of the phase observation (e.g., a hyperparameter obtained by statistics or other means).
[0066] After obtaining the likelihood of the particle based on various observations, the likelihood can be applied based on the observation results to evaluate the probability that the particle is close to the true value, which is equivalent to obtaining the weight of the particle. Subsequently, resampling is performed until convergence, and the positioning result of the target object, that is, the positioning information, can be obtained by weighted averaging the remaining multiple particles.
[0067] It is worth mentioning that since the calculation of the full-cycle ambiguity N is avoided, there may be errors in the positioning information when only a single satellite is used. However, when multiple satellites are observed at the same time, the positioning information obtained through the particle filter is quite accurate.
[0068] In some embodiments, in order to improve the accuracy and robustness of the positioning method, other sensory information (e.g., observation results) from other sensors are further integrated in step S250. Specifically, in the particle filter technology, in order to integrate other sensory information from other sensors, the observation likelihood of multiple particles relative to the sensor's sensory information can be calculated for each sensor, and then all observation likelihoods are integrated to calculate the weights of the multiple particles. In addition, similar to the method described in the above paragraph, the observation likelihood can be calculated by calculating the consistency information of the sensor's sensory information of multiple particles (e.g., using a loss function).
[0069] Figure 4 FIG. 1 is a flow chart showing the fusion of other perception information to calculate the weights of multiple particles according to an embodiment of the present disclosure. Figure 4 In the embodiment, the other sensors fused include a camera 20 and a laser radar 30 installed on the target object. However, the present disclosure is not limited thereto, and the other sensors fused may also include any sensor related to posture observation (eg, an inertial measurement unit).
[0070] Please refer to Figure 4 In some embodiments, step S250 also includes steps S410, S420, and S430.
[0071] In step S410 , first-order pose consistency information of the plurality of particles relative to the perception information of the camera 20 is calculated.
[0072] Figure 5 Detailed description is a flowchart showing the calculation of pose consistency information corresponding to perception information of a camera according to an embodiment of the present disclosure.
[0073] Please refer to Figure 5 In some embodiments, step S410 also includes steps S510 to S530.
[0074] In step S510 , a reference target is detected in an image from the camera 20 to obtain a detection result.
[0075] In some embodiments, the reference target is, for example, a lane line, wherein the real coordinates of the lane line can be obtained from existing information (e.g., a lane map). The processor 110 can, for example, detect the lane line from the image as a detection result. The detected lane line, for example, includes a plurality of detection points in the image.
[0076] However, the present disclosure is not limited thereto, and any other object whose coordinates can be known from existing information can be used as a reference target.
[0077] In step S520, based on the plurality of particles, the reference target and the detection result are converted to the same coordinate system. Specifically, since the particles carry position and posture information, the reference target and the detection result can be converted to the same coordinate system using the information of the particles.
[0078] In some embodiments, the processor 110 projects the real coordinates of the multiple points of the lane line from the world coordinate system onto the image to obtain multiple projected points on the image.
[0079] In step S530, the first pose consistency information is calculated based on the reference target and the detection result in the same coordinate system. Specifically, by comparing the reference target and the detection result in the same coordinate system, the first pose consistency information of the particle's perception information relative to the camera 20 can be obtained, which means that the likelihood of the particle's observation relative to the camera 20 can be obtained.
[0080] In some embodiments, the first pose consistency information may be represented by a loss function based on a distance transform image.
[0081] For example, the observation likelihood of the plurality of particles relative to the sensory information of the camera 20 can be expressed by the function p in the following formula (8): cam To describe:
[0082]
[0083] Wherein, t represents time, for example; z t For example, x represents the observation result; t For example, f represents a single particle; dt For example, it is the first pose consistency information (for example, the loss function based on the distance transformation image, that is, using the value of the two-dimensional pixel coordinates on the distance transformation image. If the particle's pose is more correct, the value obtained from the distance transformation image is closer to 0); K is, for example, the camera's intrinsic parameter matrix, that is, the matrix converted from the camera coordinate system to the image plane coordinate system; Pi is, for example, the sample points on the lane line in the lane map (for example, in the ENU coordinate system); N is, for example, the total number of sample points; σ camFor example, it is the standard deviation of the observations of the camera 20 (e.g., a hyperparameter obtained by statistics or other means); For example, the position and attitude of the particle in the world coordinate system, the matrix converted from the IMU coordinate system to the ENU coordinate system; For example, the camera 20 external parameters are the matrix that transforms from the IMU coordinate system to the camera coordinate system. Therefore, It is the process of projecting the sample points on the lane line in the ENU coordinate system to the image plane to obtain the two-dimensional pixel coordinates.
[0084] In some embodiments, the detection results in the image may be converted into a coordinate system where the reference target is located, or the detection results in the image and the reference target in the map may be converted into another identical coordinate system to calculate the first consistency information, but the present disclosure is not limited thereto.
[0085] In step S420, second pose consistency information of multiple particles relative to the perception information of the laser radar 30 is calculated.
[0086] Figure 6 It is a flowchart showing the calculation of the pose consistency information of particles relative to the perception information of the laser radar according to one embodiment of the present disclosure.
[0087] Please refer to Figure 6 In some embodiments, step S420 also includes steps S610 to S630.
[0088] In step S610, a plurality of features matched by a plurality of points in the point cloud from the laser radar 30 in a prior map are determined; in step S620, the plurality of points and the matched plurality of features are converted to the same coordinate system based on the plurality of particles.
[0089] Specifically, the prior map may contain many features in advance, such as line features, surface features, or distribution features of different feature types. For each point in the point cloud, try to find a feature in the prior map that matches it. For example, a point in the point cloud may correspond to the edge of a lane line, then steps 610 and S620 will try to find the line feature that matches this point in the prior map and represents the edge of this lane line, and convert the point and the matching feature to the same coordinate system.
[0090] Since particles carry position and posture information, in some embodiments, the processor 110 will first convert all points in the point cloud into the world coordinate system based on multiple particles to obtain multiple conversion points. Subsequently, for each conversion point in the world coordinate system, the closest feature in the prior map is searched within a preset neighborhood radius as a matching feature. For example, a specified point in the point cloud is converted to the world coordinate system to become a specified conversion point, and the processor 110 will search for the feature in the prior map closest to the specified conversion point within a preset neighborhood radius, and use this feature as the feature matched by the specified conversion point. In this way, each conversion point and matching feature can be determined and located in the same coordinate system (e.g., the world coordinate system).
[0091] In step S630, the second pose consistency information is calculated based on the multiple points and the multiple features in the same coordinate system.
[0092] Specifically, by comparing the conversion points and the matched features, it is possible to determine whether the points in the point cloud are consistent with the features in the prior map, which is equivalent to obtaining the second posture consistency information of the particle relative to the perception information of the laser radar 30, which means that the likelihood of the observation of the particle relative to the laser radar 30 can be obtained.
[0093] For example, the observation likelihood of multiple particles corresponding to the sensing information of the laser radar 30 can be expressed by the function p in the following formula (9): lidar To describe:
[0094]
[0095] Among them, P i is a point in the point cloud in the laser radar 30 coordinate system; is the external parameter of the laser radar 30, and is the matrix converted from the laser radar 30 coordinate system to the IMU coordinate system. Therefore, is a matrix operation for converting points in the laser radar 30 coordinate system to the world coordinate system. In addition, f LF For example, it is the second pose consistency information (e.g., feature-based loss function); σ cam For example, it is the standard deviation of the lidar 30 observations (eg, a hyperparameter obtained by statistics or other means).
[0096] It must be noted that for particles matching different feature types, the loss function f LF In other words, the calculation of the second pose consistency information is based on the type of feature that the point matches.
[0097] For example, the loss function f for points matched to line features is LF,Line It can be described by the following formula (10):
[0098]
[0099] Among them, ω Line For example, is the weight of the line feature (eg, a hyperparameter); P w For example, it is a point in the world coordinate system; For example, it is the unit vector of the line feature; a For example, it is a point in a line feature; [] × For example, represents an antisymmetric matrix. In simple terms, using formula (10) to calculate the second pose consistency information is equivalent to calculating the distance between the point and the matched line feature.
[0100] For example, the loss function f for points matched to face features is LF,Plane It can be described by the following formula (11):
[0101]
[0102] Among them, ω Plane For example, it is the weight of the face feature (eg, a hyperparameter); P w For example, it is a point in the world coordinate system; For example, it is the normal vector of the surface feature; a For example, it is a point in a face feature. In simple terms, using formula (11) to calculate the second pose consistency information is equivalent to calculating the distance between the point and the matched face feature.
[0103] For example, the loss function f for points matching the distribution features is LF,Dist It can be described by the following formula (12):
[0104] f LF,Dist =ω Dist (P w -P a ) T Σ -1 (P w -P a ) Formula (12)
[0105] Among them, ω Dist For example, P is a weight of a distribution feature (e.g., a hyperparameter); w For example, Σ is a point in the world coordinate system; Σ is a covariance matrix of distribution features; P a For example, it is the average point of the distribution feature.
[0106] Therefore, for each point in the point cloud, by calculating the second consistency information (for example, calculating the loss function) based on the feature type of the matched feature, it is possible to obtain (for example, through formula (9)) the observation likelihood of multiple particles corresponding to the perception information of the lidar 30.
[0107] Please go back Figure 4 In step S430, based on the distance consistency information f p , phase consistency information The first pose consistency information f dt And the second pose consistency information f LF , calculate the weights of particles at multiple positions.
[0108] Specifically, based on the distance consistency information f p The likelihood of observation of multiple particles relative to the pseudorange information p can be obtained (e.g., formula (6)); based on the phase consistency information Multiple particles can be compared with phase information The likelihood of the observation (e.g., formula (7)); based on the first pose consistency information f dt The likelihood of the observation of multiple particles relative to the camera 20 can be obtained (for example, formula (8)); based on the second pose consistency information f LF The likelihood of the observation of multiple particles relative to the perception information of the laser radar 30 can be obtained (for example, formula (9) to formula (12)). Next, the weights of multiple particles can be obtained based on the likelihood described above by simply passing through the process of the particle filter. Therefore, the positioning information of the target object can be estimated by the particle filter.
[0109] The method of obtaining particle weights, resampling, and subsequent weighted averaging based on known likelihood should be learned by those skilled in the art from technical literature related to particle filters, so it will not be described in detail here.
[0110] Advantageously, the accuracy and robustness of the positioning method are ensured by fusing other sensing information from other sensors (e.g., camera 20 and lidar 30). For example, even if there is only one available satellite, or even when satellite observation is unavailable due to occlusion, accurate positioning information can be obtained by fusing other sensors.
[0111] The particles mentioned in the above embodiments refer to the pose particles used by conventional particle filters, that is, they can include at least one of position information and pose information. In some embodiments, in order to further improve the accuracy and robustness of the positioning method, in addition to the pose particles, reliability particles can also be introduced into the particle filter.
[0112] For example, after the introduction of reliability particles, formula (6) and formula (7) can be replaced by the following formula (13) and formula (14), respectively:
[0113]
[0114]
[0115] For example, after the introduction of reliability particles, formula (8) and formula (9) can be replaced by the following formula (15) and formula (16), respectively:
[0116]
[0117]
[0118] For details about the method of introducing reliability particles into the particle filter and particle weight calculation, for example, reference may be made to the invention patent with authorization announcement number CN 113008245B, which will not be elaborated in this disclosure.
[0119] Advantageously, by introducing reliability particles, the corresponding reliability can be estimated for each satellite in the navigation satellite system 50, and the observation weight of satellites with low reliability is reduced when calculating the weight. In this way, even when the number of observable satellites decreases (for example, less than 4), accurate positioning can still be completed.
[0120] The above description introduces the positioning method using the satellite navigation system 50 through various embodiments. The positioning method described above can not only save the computing time and resources required for solving the integer ambiguity, but also ensure the accuracy and robustness of positioning.
[0121] Figure 7 is a schematic diagram illustrating a vehicle in which the various techniques disclosed herein may be implemented.
[0122] In some embodiments, the positioning method introduced in the present disclosure may be implemented on a computing device on the vehicle 701 , and the target object may be the vehicle 701 itself.
[0123] In detail, vehicle 701 can be a car, truck, motorcycle, bus, boat, airplane, helicopter, lawn mower, excavator, snowmobile, aircraft, recreational vehicle, amusement park vehicle, farm equipment, construction equipment, tram, golf cart, train, trolley bus, or other vehicle. Vehicle 701 can be operated in full or in part in an autonomous driving mode. Vehicle 701 can control itself in the autonomous driving mode, for example, vehicle 701 can determine the current state of the vehicle and the current state of the environment in which the vehicle is located, determine the predicted behavior of at least one other vehicle in the environment, determine the trust level corresponding to the possibility of the at least one other vehicle performing the predicted behavior, and control vehicle 701 itself based on the determined information. When in the autonomous driving mode, vehicle 701 can operate without human interaction.
[0124] Taking the autonomous driving vehicle as an example, the intelligent system is the autonomous driving system. Under normal circumstances, Figure 7 As shown, the autonomous driving vehicle 701 is generally equipped with an intelligent system server 702 (i.e., a vehicle server (Vehicle Server) on the autonomous driving vehicle), and various sensors 703 are also provided on the autonomous driving vehicle, such as image acquisition equipment (such as a camera 7031), a lidar 7032, and a navigation satellite system (e.g., GNSS) signal receiver (such as a combined navigation device 7033), etc. A switch 704 is generally provided between the sensor 703 and the intelligent system server 702, so that the sensor 703 and the intelligent system server 702 are connected through the switch 704 to form a data transmission path of the network bus.
[0125] Figure 8 is a schematic diagram showing a computing device according to an embodiment of the present disclosure.
[0126] In some embodiments, the positioning device 10 may be implemented in the form of a computing device 800 .
[0127] In some embodiments, the intelligent system server 702 may be implemented in the form of a computing device 800 .
[0128] Figure 8A diagram of a machine in the form of an example of a computing device 800 is shown, in which an instruction set when executed and / or processing logic when started can cause the machine to perform any one or more of the methods described and / or required herein. In an alternative embodiment, the machine operates as a standalone device, or can be connected (e.g., networked) to other machines. In a networked deployment, the machine can operate as a server or client machine in a server-client network environment, or as a peer machine in a peer (or distributed) network environment. The machine can be a personal computer (PC), a laptop computer, a tablet computing system, a personal digital assistant (PDA), a cellular phone, a smart phone, a network application, a set-top box (STB), a network router, a switch or a bridge, or any machine capable of executing an instruction set (in succession or otherwise) specifying the action to be taken by the machine or starting processing logic. Further, although only a single machine is illustrated, the term "machine" can also be understood to include any set of machines that individually or jointly execute an instruction set (or multiple instruction sets) to perform any one or more of the methods described and / or required herein.
[0129] The example computing device 800 may include a data processor 802 (e.g., a system-on-chip (SoC), a general processing core, a graphics core, and optional other processing logic) and a memory 804 (e.g., memory) that may communicate with each other via a bus 806 or other data transmission system. The computing device 800 may also include various input / output (I / O) devices and / or interfaces 810, such as a touch screen display, an audio jack, a voice interface, and an optional network interface 812. In an example embodiment, the network interface 812 may include one or more radio transceivers configured to communicate with any one or more standard wireless and / or cellular protocols or access technologies (e.g., second generation (2G), 2.5 generation, third generation (3G), fourth generation (4G) and next generation radio access of cellular systems, global system for mobile communications (GSM), general packet radio service (GPRS), enhanced data GSM environment (EDGE), wideband code division multiple access (WCDMA), LTE, CDMA2000, WLAN, wireless router (WR) mesh, etc.). The network interface 812 may also be configured to communicate with various other wired and / or wireless communication protocols including TCP / IP, UDP, SIP, SMS, RTP, WAP, CDMA, TDMA, UMTS, UWB, WiFi, WiMax, In essence, the network interface 812 may include or support virtually any wired and / or wireless communication and data processing mechanism by which information / data may be transmitted between the computing device 800 and another computing or communication system via the network 814.
[0130] The memory 804 may represent a machine-readable medium (or computer-readable storage medium) on which one or more instruction sets, software, firmware, or other processing logic (e.g., logic 808) are stored that implement any one or more of the methods or functions described and / or required herein. During execution by the computing device 800, the logic 808 or a portion thereof may also reside completely or at least partially within the processor 802. In this way, the memory 804 and the processor 802 may also constitute a machine-readable medium (or computer-readable storage medium). The logic 808 or a portion thereof may also be configured as a processing logic or logic, at least a portion of which is partially implemented in hardware. The logic 808 or a portion thereof may also be transmitted or received over a network 814 via a network interface 812. Although the machine-readable medium (or computer-readable storage medium) of the example embodiment may be a single medium, the term "machine-readable medium" (or computer-readable storage medium) should be understood to include a single non-transitory medium or multiple non-transitory media (e.g., a centralized or distributed database and / or associated cache and computing system) storing one or more instruction sets. The term "machine-readable medium" (or computer-readable storage medium) may also be understood to include any non-transitory medium that can store, encode, or carry an instruction set for execution by a machine and cause the machine to perform any one or more of the methods of the various embodiments, or that can store, encode, or carry a data structure utilized by or associated with such an instruction set. The term "machine-readable medium" (or computer-readable storage medium) may therefore be understood to include, but is not limited to, solid-state memories, optical media, and magnetic media.
[0131] The disclosed and other embodiments, modules, and functional operations described in this document may be implemented in digital electronic circuit systems, or in computer software, firmware or hardware (including the structures disclosed in this document and their structural equivalents), or in a combination of one or more of them. The disclosed and other embodiments may be implemented as one or more computer program products, that is, one or more modules of computer program instructions encoded on a computer-readable medium to be executed by a data processing device or to control the operation of the data processing device. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a material composition that affects a machine-readable propagation signal, or a combination of one or more of them. The term "data processing device" covers all devices, equipment, and machines for processing data, including, for example, a programmable processor, a computer or multiple processors or computers. In addition to hardware, the device may also include code that creates an execution environment for the computer program in question, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagation signal is an artificially generated signal, such as an electrical signal, an optical signal, or an electromagnetic signal generated by a machine, which is generated to encode information to be transmitted to a suitable receiver device.
[0132] A computer program (also referred to as a program, software, software application, script, or code) can be written in any form of programming language (including compiled or interpreted languages), and the computer program can be deployed in any form, including being deployed as an independent program or as a module, component, subroutine, or another unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), or in a single file dedicated to the program under discussion, or in multiple collaborative files (e.g., files storing one or more modules, subroutines, or partial codes). A computer program may be deployed to be executed on one computer or on multiple computers located at one site or distributed in multiple sites and interconnected by a communication network.
[0133] The processes and logic flows described in this document may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by a dedicated logic circuit system (e.g., FPGA (field programmable gate array) or ASIC (application-specific integrated circuit)), and the apparatus may also be implemented as a dedicated logic circuit (e.g., FPGA (field programmable gate array) or ASIC (application-specific integrated circuit)).
[0134] Processors suitable for executing computer programs include, for example, both general-purpose microprocessors and special-purpose microprocessors and any one or more processors of any kind of digital computer. Typically, the processor will receive instructions and data from a read-only memory or a random access memory or both. The necessary elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices (such as magnetic disks, magneto-optical disks, or optical disks) for storing data, or the computer will also be operatively connected to receive data from the one or more mass storage devices or to transfer data to the one or more mass storage devices or to perform both. However, the computer does not need to have such a device. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by a dedicated logic circuit system or may be incorporated into the dedicated logic circuit system.
[0135] Some embodiments described herein are described in the general context of a method or process, which in one embodiment can be implemented by a computer program product included in a computer-readable medium, which may include computer executable instructions (such as program code), which can be executed by a computer in a networked environment, for example. Computer-readable media may include removable and non-removable storage devices, including but not limited to read-only memory (ROM), random access memory (RAM), compact disk (CD), digital versatile disk (DVD), etc. Therefore, computer-readable media may include non-transitory storage media. Generally, program modules may include routines, programs, objects, components, data structures, etc., which perform specific tasks or implement specific abstract data types. Computer or processor executable instructions, associated data structures, and program modules represent examples of program codes for executing the steps of the methods disclosed herein. Such specific sequences of executable instructions or associated data structures represent examples of corresponding actions for implementing the functions described in these steps or processes.
[0136] Some embodiments of the disclosed embodiments can be implemented as devices or modules using hardware circuits, software or a combination thereof. For example, a hardware circuit implementation may include discrete analog and / or digital components, which may be integrated as parts of a printed circuit board, for example. Alternatively or additionally, the disclosed components or modules may be implemented as application specific integrated circuits (ASICs) and / or field programmable gate arrays (FPGAs) devices. Additionally or alternatively, some implementations may include a digital signal processor (DSP), which is a dedicated microprocessor with an architecture optimized for the operational needs of digital signal processing associated with the disclosed functionality of the present application. Similarly, various components or subassemblies within each module may be implemented with software, hardware or firmware. Any connection method and medium known in the art may be used to provide a connection between a module and / or a component within a module, including but not limited to communication via the Internet, a wired network, or a wireless network using an appropriate protocol.
[0137] Although this paper includes many details, these details should not be interpreted as limitations to the scope of the claimed invention, but are interpreted as descriptions of features peculiar to specific embodiments. Some features described in the context of different embodiments herein may also be combined in a single embodiment. On the contrary, the various features described in the context of a single embodiment may also be separated or implemented in multiple embodiments with any suitable sub-combination. In addition, although features may be described as acting with some combinations and even initially claimed above, one or more features from the claimed combination may be removed from the combination in some cases, and the claimed combination may be directed to a variation of a sub-combination or a sub-combination. Similarly, although operations are depicted in a particular order in the drawings, this should not be understood as requiring to perform such operations in the particular order shown or in a sequential order, or to perform all described operations to achieve desired results.
[0138] Only a few implementations and examples are described, and other implementations, enhancements, and variations may be made based on what is described and illustrated in this disclosure.
Claims
1. A positioning method using a navigation satellite system, characterized in that: The method comprises: receiving, by a receiver on the target object, a signal from the navigation satellite system; Based on the signal, acquiring pseudorange information and phase information; Calculating distance consistency information of a plurality of particles relative to the pseudorange information; Calculating phase consistency information of the plurality of particles relative to the phase information based on the wavelength of the signal; and Based on the distance consistency information and the phase consistency information, weights of the plurality of particles are calculated to estimate the positioning information of the target object through a particle filter.
2. The positioning method according to claim 1, characterized in that: Also includes: Based on the coordinate information of the navigation satellite system, a plurality of satellite-to-earth distances between the plurality of particles and the navigation satellite system are calculated.
3. The positioning method according to claim 2, characterized in that: Calculating the distance consistency information of the plurality of particles relative to the pseudorange information comprises: Based on the multiple satellite-to-ground distances, distance consistency information of the multiple particles relative to the pseudorange information is calculated.
4. The positioning method according to claim 2, characterized in that: Calculating the phase consistency information of the plurality of particles relative to the phase information based on the wavelength of the signal comprises: Based on the wavelength, respectively calculating a plurality of phase differences generated by the signal passing through the plurality of satellite-to-ground distances; and Based on the plurality of phase differences, the phase consistency information of the plurality of particles relative to the phase information is calculated.
5. The positioning method according to claim 1, characterized in that: Calculating the weights of the plurality of particles based on the distance consistency information and the phase consistency information to estimate the positioning information of the target object through the particle filter includes: The perception information from the camera and the lidar installed on the target object is fused to calculate the weights of the plurality of particles.
6. The positioning method according to claim 5, characterized in that: Fusion of the perception information from the camera and the lidar to calculate the weights of the plurality of position particles includes: Calculating first-order pose consistency information of the plurality of particles relative to the perception information of the camera; Calculating second pose consistency information of the plurality of particles relative to the perception information of the laser radar; and The weights of the plurality of particles are calculated based on the distance consistency information, the phase consistency information, the first pose consistency information, and the second pose consistency information.
7. The positioning method according to claim 6, characterized in that: Calculating the first pose consistency information of the plurality of particles relative to the perception information of the camera, comprising: detecting a reference target in an image from the camera to obtain a detection result; Based on the plurality of particles, transforming the reference target and the detection result to the same coordinate system; and The first pose consistency information is calculated based on the reference target and the detection result in the same coordinate system.
8. The positioning method according to claim 7, characterized in that: Based on the plurality of particles, converting the reference target and the detection result to the same coordinate system comprises: Based on the plurality of particles, projecting the reference target onto the image to obtain a projection result, Wherein, based on the reference target and the detection result in the same coordinate system, calculating the first pose consistency information includes: Based on the detection result and the projection result, the first posture consistency information is calculated.
9. The positioning method according to claim 6, characterized in that: Calculating the second pose consistency information of the plurality of particles relative to the perception information of the laser radar includes: Determine a plurality of features that a plurality of points in the laser radar point cloud match in a priori map; Based on the plurality of particles, transforming the plurality of points and the matched plurality of features to the same coordinate system; and The second pose consistency information is calculated based on the multiple points and the multiple features in the same coordinate system.
10. The positioning method according to claim 9, characterized in that: Based on the plurality of particles, converting the plurality of points and the matched plurality of features to the same coordinate system comprises: Based on the multiple particles, the multiple points in the point cloud are converted into a world coordinate system to obtain multiple conversion points, and based on the multiple points and the multiple features in the same coordinate system, the second pose consistency information is calculated, including: Based on the multiple conversion points and the multiple features, the second pose consistency information is calculated.
11. The positioning method according to claim 10, characterized in that: Calculating the second pose consistency information based on the plurality of points and the plurality of features in the same coordinate system includes: The second pose consistency information is calculated based on a feature type of the feature matched by each of the plurality of points, wherein the feature type comprises one of a line feature, a surface feature, and a distribution feature.
12. The positioning method according to claim 10, characterized in that: Determining the plurality of features matched by the plurality of points in the point cloud of the laser radar in the priori map comprises: For each of the plurality of conversion points, searching for a closest feature in the prior map within a preset neighborhood radius; and The closest feature is used as the feature matched with the conversion point.
13. The positioning method according to claim 1, characterized in that: Based on the signal, acquiring the pseudorange information and the phase information includes: Based on the signal, a differential positioning method is used to obtain the pseudorange information and the phase information.
14. The positioning method according to claim 13, characterized in that: The differential positioning method includes a double-difference observation positioning method.
15. A positioning device using a navigation satellite system, comprising: one or more processors, and A memory storing a program, wherein the program includes instructions, and when the instructions are executed by the processor, the positioning device performs the positioning method according to any one of claims 1 to 14. 16 . A computer-readable storage medium storing a program, the program comprising instructions, which, when executed by one or more processors of a computing device, cause the computing device to perform the positioning method according to claim 1 .
Citation Information
Patent Citations
A method and apparatus for location information fusion, and a computer server
CN113008245B