Robot pose estimation

文档序号:789281 发布日期:2021-04-09 浏览:8次 中文

阅读说明:本技术 机器人位姿估计 (Robot pose estimation ) 是由 班基·塞蒂亚万 米格尔·克里斯托瓦尔 克劳迪乌·坎皮努 于 2018-09-07 设计创作,主要内容包括:本发明涉及一种用于估计机器人位姿的装置和方法,其中,基于第一位姿估计或第二位姿估计或所述第一位姿估计和所述第二位姿估计的组合确定所述机器人位姿的当前位姿估计,其中,所述第一位姿估计是基于当前位姿分布;其中,基于所述当前位姿分布确定所述第一位姿估计对所述当前位姿估计的贡献和所述第二位姿估计对所述当前位姿估计的贡献。因此,将每个位姿估计的强度合并到所述当前位姿估计中。此外,描述了改进的粒子滤波方法和系统,其中,基于一组参考特征与一组观察特征之间的相似度评分更新所述粒子的权重,其中,在所述机器人的环境中根据所述机器人的一个或多个传感器的传感器数据检测该组观察特征。利用相似度评分解决了机器人环境中有关动态对象的问题,提高了特征可辨别性。(The present invention relates to an apparatus and method for estimating a pose of a robot, wherein a current pose estimate of the pose of the robot is determined based on a first pose estimate or a second pose estimate or a combination of the first and second pose estimates, wherein the first pose estimate is based on a current pose distribution; wherein the contribution of the first pose estimate to the current pose estimate and the contribution of the second pose estimate to the current pose estimate are determined based on the current pose distribution. Thus, the strength of each pose estimate is incorporated into the current pose estimate. Furthermore, improved particle filtering methods and systems are described, wherein the weights of the particles are updated based on similarity scores between a set of reference features and a set of observed features detected from sensor data of one or more sensors of the robot in the environment of the robot. The similarity score is utilized to solve the problem of dynamic objects in the robot environment, and the feature discriminability is improved.)

1. An apparatus (700) for estimating pose of a robot, characterized by:

determining (450, 460, 470) a current pose estimate for the robot based on a first (15a) or a second (15b) position estimate or a combination (16) of the first and second position estimates;

wherein the first pose estimate is based on a current pose distribution (13) of the robot;

wherein the contribution of the first pose estimate to the current pose estimate and the contribution of the second pose estimate to the current pose estimate are determined based on the current pose distribution.

2. The apparatus of claim 1, wherein the second position estimate (15b) is based on one or more of:

a prediction (460) from one or more previous pose estimates (6), or

A global pose estimate derived from at least one of sensor data of the position sensor (796) and sensor data of the orientation sensor (790).

3. The apparatus of claim 1 or 2, wherein the contribution of the first pose estimate (15a) and the contribution of the second pose estimate (15b) are determined based on a confidence measure value (440) of the current pose distribution.

4. The apparatus of claim 3, wherein only the first pose estimate (15a) contributes to the current pose estimate upon determining that the confidence metric (440) for the current pose distribution exceeds a threshold.

5. The apparatus of claim 4, further configured to adjust the threshold based on the confidence measure (440) of the current pose distribution.

6. The apparatus of claim 5, wherein the threshold is increased in response to the confidence measure (440) of the current pose distribution being significantly above the threshold; or decreasing the threshold in response to the confidence measure (440) of the current pose distribution being significantly below the threshold.

7. The apparatus of claim 6, wherein a transition from increasing the threshold to decreasing the threshold and a transition from decreasing the threshold to increasing the threshold are delayed by respective delay times.

8. The apparatus of claim 1 or 2, wherein the contribution of the first pose estimate (15a) and the contribution of the second pose estimate (15b) are determined based on confidence metric values (470) of the respective pose estimates.

9. An apparatus (700) for estimating pose of a robot, characterized by:

determining (410) a plurality of current assumed poses (11) of the robot;

determining (420) a weight (12) for each of the plurality of current hypothesis poses;

determining (450) a current pose estimate (15a) of the robot based on the plurality of current assumed poses and their weights;

wherein determining (420) the weight (12) for each of the plurality of current hypothesis poses comprises: a similarity score is calculated (422) 425, the similarity score being a similarity measure between a set of reference features (4) and a set of observation features (3).

10. The apparatus of claim 9, wherein each reference feature and each observation feature comprises one or more feature descriptors.

11. Device according to claim 9 or 10, characterized in that

Each reference feature and each observation feature comprises one or more feature classes, and each feature class comprises a probability value; wherein the similarity score is calculated (422) based on the one or more feature classes of the reference feature and their probability values and the one or more feature classes of the observed feature and their probability values (425).

12. The apparatus of claim 11, wherein each feature class is associated with a category of real-world elements.

13. The device according to any one of claims 10 to 12, characterized in that

Each reference feature further comprises Spatially Fixed (SF) position coordinates, each viewing feature further comprises object fixed (BF) position coordinates, wherein the BF position coordinates are defined relative to the robot;

wherein calculating (422) the similarity score comprises: mapping (421) between the SF location coordinates and the BF location coordinates based on a current assumed pose (11).

14. The apparatus of any of claims 9 to 13, wherein the weight of the current hypothesis pose is determined (429a) based on a distribution of the similarity scores when the distribution satisfies a reliability condition (427).

15. The apparatus of claim 14, wherein the weight of the current hypothesis pose is not determined (429b, 529b, 629b) based on the distribution of the similarity scores when the distribution does not satisfy the reliability condition (427).

16. The apparatus of claim 14 or 15, further comprising at least one of a position sensor (796) and an orientation sensor (790),

wherein the weights of the current hypothesis pose are further adjusted (529c, 529d, 629c) based on a global pose estimate derived from at least one of sensor data of the position sensor (796) and sensor data of the orientation sensor (790).

17. An apparatus (700) for estimating pose of a robot, characterized by:

generating a first pose distribution (18) of the robot based on one or more first navigational measurements (5);

generating a second pose distribution (1) of the robot based on the first pose distribution (18) and a current instance of a refined pose distribution (13);

generating a next instance of the refined pose distribution (13) based on the second pose distribution (1) and one or more second navigation measurements (2, 3);

determining a pose estimate for the robot based on the next instance of the refined pose distribution (13).

18. The apparatus of claim 17, wherein the current instance and the next instance of the refined pose distribution (13) are each represented by a set of hypothesis poses and associated weights; wherein the set of hypothesis poses and associated weights representing the current instance and the set of hypothesis poses and associated weights representing the next instance comprise the same number of hypothesis poses.

19. The apparatus according to claim 17 or 18, characterized in that in generating the second pose distribution (1), the contribution of the current instance of the refined pose distribution (13) to the second pose distribution (1) is larger than the first pose distribution (18).

20. The apparatus according to any one of claims 17 to 19, characterized by means for generating the first pose distribution (18) not based on the refinement pose distribution.

21. The apparatus of any one of claims 17 to 20, configured to generate the one or more first navigational measurements by one or more of: satellite-based pose estimation, inertial-based pose estimation, vision-based pose estimation, or user input.

22. The apparatus of any one of claims 17 to 21, configured to generate the one or more second navigational measurements by one or more of: satellite-based pose estimation, inertia-based pose estimation, vision-based pose estimation, or odometer pose estimation.

23. A robot (700), in particular a vehicle, characterized by comprising a device according to any one of claims 1 to 22.

24. A method for estimating pose of a robot (700), the method comprising:

determining (450, 460, 470) a current pose estimate for the robot based on a first (15a) or a second (15b) position estimate or a combination (16) of the first and second position estimates;

wherein the first pose estimate is based on a current pose distribution (13) of the robot;

wherein the contribution of the first pose estimate to the current pose estimate and the contribution of the second pose estimate to the current pose estimate are determined based on the current pose distribution.

25. A method for estimating pose of a robot (700), the method comprising:

determining (410) a plurality of current assumed poses (11) of the robot;

determining (420) a weight (12) for each of the plurality of current hypothesis poses;

determining (450) a current pose estimate (15a) of the robot based on the plurality of current assumed poses and their weights;

wherein determining (420) the weight (12) for each of the plurality of current hypothesis poses comprises: a similarity score is calculated (422) 425, the similarity score being a similarity measure between a set of reference features (4) and a set of observation features (3).

26. A method of estimating pose of a robot (700), comprising:

generating a first pose distribution (18) of the robot based on one or more first navigational measurements (5);

generating a second pose distribution (1) of the robot based on the first pose distribution (18) and a current instance of a refined pose distribution (13);

generating a next instance of the refined pose distribution (13) based on the second pose distribution (1) and one or more second navigation measurements (2, 3);

determining a pose estimate for the robot based on the next instance of the refined pose distribution (13).

27. A computer readable medium storing instructions that, when executed on a processor, cause the processor to perform the method of any one of claims 24 to 26.

Background

Mobile robot positioning becomes increasingly important in robotics as robotic systems operate in increasingly unstructured environments. Currently, applications of mobile robotic systems include mobile platforms with different applications as: planetary exploration, submersibles for deep sea exploration, robotic vehicles in the air or enclosed spaces (e.g., mines), automobiles that travel autonomously in urban environments, and android robots that work in highly dynamic environments involving interaction with humans.

Mobile robots in these and other applications need to operate in inherently unpredictable environments where the mobile robot typically has to navigate through an environment made up of static and dynamic objects. Furthermore, the location of even static objects is often unknown, or the known location has uncertainty. It is therefore of vital importance to position the robot very accurately, typically using sensor data of robot sensors and/or external sensors. The localization problem involves estimating the coordinates of the robot and its general direction from the sensor data, usually using an environment map, in an external frame of reference or global coordinate system, together forming a so-called pose.

To account for the uncertainty inherent to this localization process, including unavoidable measurement errors and sensor noise, a probabilistic approach is generally employed in which an estimate of the instantaneous pose of the robot (also called confidence) is represented by a probability density function in space of all positions and potential orientations, the so-called state space.

A commonly used probabilistic approach to the positioning problem involves recursive bayesian estimation, also known as bayesian filters. Using a bayesian filter, the probability density function of the robot is continuously updated based on the newly obtained sensor data or observations. The recursive algorithm consists of two parts: and (4) predicting and updating. It is assumed that the true state X of the robot is an unobserved markov process and the measured value Z is an observed state of a hidden markov model.

The prediction step uses the system model p (X)t|Xt–1) (also called motion model) at a previous probability distribution function p (X) according to time t-1t–1|Z1:t–1) (so-called a previous posteriori) given a previous observation Z1:t–1Under the condition(s), a probability distribution function p (X) at time t is predictedt|Z1:t–1) (so-called current priors) where the predicted probability distribution function is diffuse due to noise. The updating step updates the prediction based on the new observation data to give the observation value Z at the current time1:tUnder the condition (2), the current probability distribution function p (X) is calculatedt|Z1:t) (so-called current a posteriori).

Current posterior and measure likelihood function p (Z)t|Xt) And evidence p (Z)t|Z1:t–1) Normalized current prior p (X)t|Z1:t-1) Is proportional to the product of (c). By the likelihood function p (Z)t|Xt) The measurement model enters a calculation phase, in which it represents the true state X at a given time ttObservation value Z under the conditions oftThe conditional probability of (2). According to the current posterior p (X)t|Z1:t) The true state X at time t may be determined by determining the maximum of the current probability distribution function or applying a minimum mean-square error (MMSE) method, etctIs estimated optimallyNamely the estimation of the pose of the robot. The pose estimate may then be used to operate the robot in its environment.

If both the system model and the measurement model are linear and the posteriori is gaussian, the bayesian filter becomes a kalman filter. For nonlinear systems with additive noise, local linearization using a first order Taylor series expansion may be employed to provide an Extended Kalman Filter (EKF).

For example, s.thru, w.burgard, and d.fox describe the extended kalman filter positioning algorithm in chapter 7 of probabistic Robotics, published by massachusetts publishers, 2018. Using a velocity motion model (in which the control data utGiven by speed) or using odometer motion models (in which the control data utBy sensor measurements) to achieve a given previous state Xt–1And control data utThe motion model of the state transition probability of (2), i.e. the system model, p (X)t|ut,Xt–1). Further, the motion model is extended by an environment map m of the robot to create a map-based motion model p (X) that can be approximately decomposed as in equation (1)t|ut,Xt–1,m):

p(Xt|ut,Xt–1,m)=η p(Xt|ut,Xt–1)p(Xt|m) (1)

Wherein η is a normalization factor. The second term p (X)t| m) represents a pose or state Xt"consistency" with the map m.

The measurement model describing the formation process by which the sensor measurements are generated in the physical world to define the conditional probability distribution function p (Z) is also extended by an environment map mt|XtM) in which XtIs robot pose, ZtIs the measured value at time t.

Both the velocity motion model and the odometer motion model are affected by noise, which causes an increase in uncertainty as the robot moves. Furthermore, the robot odometer is typically subject to drift and slippage so that there is no fixed coordinate transformation between the coordinates used by the robot's internal odometer and the physical world coordinates. Determining the pose of a robot relative to a given environmental map generally increases the certainty of pose estimation, but also greatly increases the computational complexity of the underlying algorithm. Therefore, commonly known algorithms for solving the problem of positioning of mobile robots are often not executable in real time and often suffer from loss of accuracy due to robot movement.

This is particularly problematic for autonomous vehicles, where high accuracy or precision in vehicle positioning is of paramount importance for safety reasons. In addition, economic factors also play an important role in ensuring a viable commercial deployment of vehicles, which is typically implemented as part of Advanced Driver-Assistance Systems (ADAS) solutions.

A recent review article, "A Survey of the State-of-the-Art Localization Techniques and the theory of Power technologies for Autonomus Vehicle Applications", published by S.Kuutti, S.Fallah, K.Katsaros, M.Dianati, F.Mccullough and A.Mouzakiis at 2018, 4 months, at IEEE Internet of Things Journal, Vol.5, No. 2, p.829-846, reviews the latest Vehicle positioning systems that support autopilot. In low-cost systems, sensors such as a Global Positioning System (GPS), an Inertial Measurement Unit (IMU), and a (monocular or stereo) camera are often used. The problem with these low cost systems is that their accuracy is rather low. For example, the percentage of absolute mean error below 1m is 80%, the mean absolute mean error is 1.43m in the longitudinal or driving direction and 0.58m in the lateral direction. The Internet of Vehicles (IoV) planning and control department requires the maximum error in the longitudinal direction to be 1m and the maximum error in the transverse direction to be 0.5 m. Although low cost systems are attractive because in most cases the sensors involved are already embedded in today's vehicles, the lack of accuracy prevents widespread implementation in autonomous vehicles.

Furthermore, the latest systems today only estimate the pose of the vehicle with respect to two-dimensional plane coordinates and possible vehicle orientations, i.e. three maximum degrees of freedom. In potentially unknown three-dimensional terrain, it is desirable to estimate all 6 degrees of freedom (DoF) poses, i.e., three-dimensional position and three-dimensional orientation, including roll, pitch, and yaw, among others.

Finally, sensor data from GPS sensors is often not available because buildings or trees block the GPS signal, and odometer measurements obtained using IMU sensors have inherent drift problems. Accordingly, there is a need for a reliable vehicle locating method and system to meet the safety requirements of autonomous vehicles.

Disclosure of Invention

The present invention solves the above-mentioned technical problem by providing a method for significantly improving the performance of the above-mentioned low-cost system. The disclosed method and system make some improvements to the Bayesian filtering framework in particular, enhancing the robustness of the positioning process.

The disclosed method and system not only allows positioning in a few (e.g., six) degrees of freedom (DoF), but can also be used to operate at 10Hz or higher, and thus are suitable for real-time implementation. These methods and systems may be used to determine the pose of an automated or non-automated vehicle or other type of robot. Their potential application area is therefore not limited to autonomous driving. Devices referred to herein as "apparatuses" may all be systems of cooperating devices. The apparatus may include processing circuitry to perform various data or signal processing operations associated with the respective apparatus. These operations are described in detail below. The processing circuitry may be a combination of software and hardware. For example, the processing circuitry may include one or more processors and non-volatile memory having program code stored therein that is executable by the one or more processors. The program code causes the processing circuitry to perform respective operations when executed by the one or more processors.

According to an aspect of the invention, there is provided an apparatus for estimating a pose of a robot, wherein the apparatus is configured to determine a current pose estimate of the robot based on a first or a second pose estimate or a combination of the first and second pose estimates, wherein the first pose estimate is based on a current pose distribution of the robot; wherein a contribution of the first pose estimate to the current pose estimate and a contribution of the second pose estimate to the current pose estimate are determined based on the current pose distribution. Therefore, more accurate and reliable pose estimation can be obtained. In one embodiment, the apparatus is configured to determine the current pose estimate as a weighted sum of a plurality of pose estimates, wherein each pose estimate of the plurality of pose estimates has a respective weight in the weighted sum; wherein the plurality of pose estimates comprises a first pose estimate and one or more other pose estimates based on a current pose distribution; wherein the weights of the plurality of pose estimates are based on the current pose distribution.

The second position estimate may be based on one or more of: the prediction is made from one or more previous pose estimates, or a global pose estimate derived from at least one of sensor data of the position sensor and sensor data of the orientation sensor. The prediction may include dead reckoning.

The contribution of the first and second bit pose estimates may be determined based on the current pose distribution, in particular a confidence measure value with respect to the first bit pose estimate.

Upon determining that the confidence measure for the current pose distribution exceeds a threshold, only the first pose estimate contributes to the current pose estimate.

According to another aspect, the apparatus may be further configured to adjust the threshold based on the confidence measure of the current pose distribution. The threshold may be adjusted repeatedly (e.g., periodically or continuously).

According to another aspect, in response to the confidence measure value for the current pose distribution being significantly above the threshold, increasing the threshold; or decreasing the threshold in response to the confidence measure of the current pose distribution being significantly below the threshold. When the confidence measure exceeds the threshold plus a non-negative first offset, the confidence measure may be considered to be significantly higher than the threshold. The first offset may be zero. Similarly, the confidence measure value may be considered to be significantly lower than the threshold value when the confidence measure value is lower than the threshold value minus a non-negative second offset. The second offset may be zero.

The transition from increasing the threshold to decreasing the threshold and the transition from decreasing the threshold to increasing the threshold may be delayed by a corresponding delay time.

Alternatively, the contribution of the first pose estimate and the contribution of the second pose estimate may be determined based on confidence metric values of the respective pose estimates.

According to another aspect of the present invention, there is provided an apparatus for estimating a pose of a robot, wherein the apparatus is configured to: determining a plurality of current assumed poses of the robot, using inter alia predictions; determining a weight for each of the plurality of current hypothesis poses; determining a current pose estimate for the robot based on the plurality of current hypothesis poses and their weights; wherein determining the weight for each of the plurality of current hypothesis poses comprises computing a similarity score, wherein the similarity score is a similarity metric between a set of reference features and a set of observed features. The set of observed features may include features detected in the environment of the robot. The characteristic may be detected by one or more sensors of the robot. The sensor may comprise a remote sensing device, such as a camera, radar sensor, sonar sensor, or a combination thereof. The apparatus may include processing circuitry to perform the pose estimation. Therefore, reliable pose estimation can be obtained.

Each reference feature and each observation feature may include one or more feature descriptors.

Each reference feature and each observation feature may comprise one or more feature classes, and each feature class comprises a probability value; the similarity score may be calculated based on the one or more feature classes of the reference feature and their probability values and the one or more feature classes of the observed feature and their probability values.

According to another aspect, each feature class may be associated with a category of real-world elements. The category of the real world element may be "tree", "sky", "person", "vehicle" or "building", etc.

According to another aspect, each reference feature may further comprise space-fixed (SF) position coordinates, and each detection feature may further comprise body-fixed (BF) position coordinates, wherein the BF position coordinates are defined relative to the robot; wherein calculating the similarity score comprises: mapping between the SF location coordinates and the BF location coordinates based on a current assumed pose. The coordinates may be multi-dimensional. For example, the coordinate may be a point in two-dimensional space (e.g., corresponding to the surface of the earth), or in three-dimensional space (e.g., three-dimensional space on the surface of the earth).

When the distribution satisfies a reliability condition, the weight of the current hypothesis pose may be determined based on the distribution of the similarity scores. The distribution may be a frequency distribution or a normalized frequency distribution of the similarity scores.

According to another aspect, the weight of the current hypothesis pose may not be determined based on the distribution of the similarity scores when the distribution does not satisfy a reliability condition.

According to another aspect, the apparatus may further include at least one of a position sensor and an orientation sensor, wherein the weight of the current hypothesis pose is further adjusted based on a global pose estimate derived from at least one of sensor data of the position sensor and sensor data of the orientation sensor. For example, the position sensor or the orientation sensor or both may be based on vision, sound, radar, satellite signals, inertia, or a combination thereof.

According to another aspect of the invention, the means for estimating the pose of the robot is for: generating a first pose distribution for the robot based on one or more first navigational measurements; generating a second pose distribution for the robot based on the first pose distribution and a current instance of a refined pose distribution; generating a next instance of the refined pose distribution based on the second pose distribution and one or more second navigation measurements; determining a pose estimate for the robot based on the next instance of the refined pose distribution. Thus, new distribution peaks can be added to the existing pose distribution. In the event that an existing pose distribution (i.e., the current instance of the refined pose distribution) is erroneous (e.g., due to sensor reading errors or lack of sensor reading, such as after a period of lack of camera or satellite data), the presence of a newly added peak in the next instance of the refined distribution may enable the apparatus to "reclaim," i.e., find an accurate new pose estimate. Therefore, reliable pose estimation can be obtained.

According to another aspect, the current instance and the next instance of the refined pose distribution are each represented by a set of hypothesis poses and associated weights; wherein the set of hypothesis poses and associated weights representing the current instance and the set of hypothesis poses and associated weights representing the next instance comprise the same number of the hypothesis poses.

According to another aspect, in generating the second pose distribution, the current instance of the refinement pose distribution contributes more to the second pose distribution than the first pose distribution. For example, the second pose distribution can be a weighted sum of the current instances of the first and refined pose distributions, wherein the current instances of the refined pose distribution have a greater weight than the first pose distribution. For example, the relative weights of the current instance of the refinement pose distribution and the first pose distribution may be 1 minus X (e.g., 0.95) and X (e.g., 0.05), respectively, where X is less than 0.5. For example, the current instance of the refined pose distribution may be represented by a set of samples (e.g., 95 samples) (i.e., 95 hypothetical poses), the first pose distribution being represented by a set of samples (e.g., 5 samples), where all samples (in this example, 100 samples in total) have the same sample weight (e.g., 0.01). In this example, the second gesture distribution may then be treated as a group consisting of all samples from the two groups.

According to another aspect, the device is to generate the first pose distribution without based on the refined pose distribution.

According to another aspect, the apparatus is configured to generate the one or more first navigational measurements by one or more of: satellite-based pose estimation, inertial-based pose estimation, vision-based pose estimation, or user input. The first navigation measurement may comprise a global pose estimate. For example, the global pose estimate may be derived from at least one of sensor data of a position sensor and sensor data of an orientation sensor.

According to another aspect, the apparatus is configured to generate the one or more second navigational measurements by one or more of: satellite-based pose estimation, inertia-based pose estimation, vision-based pose estimation, or odometer pose estimation.

According to an aspect of the invention, a robot, in particular a vehicle, in particular an autonomous vehicle, is provided, comprising a device according to any of the above aspects.

According to another aspect of the present invention, there is provided a method for estimating a pose of a robot, wherein the method comprises: determining a current pose estimate for the robot based on a first pose estimate or a second pose estimate or a combination of the first and second pose estimates, wherein the first pose estimate is based on a current pose distribution of the robot; wherein a contribution of the first pose estimate to the current pose estimate and a contribution of the second pose estimate to the current pose estimate are determined based on the current pose distribution. The method may further comprise determining the current pose distribution, in particular using particle filtering.

The second position estimate may be determined by one or more of: the prediction is made from one or more previous pose estimates, or a global pose estimate is derived from at least one of sensor data of the position sensor and sensor data of the orientation sensor.

The contribution of the first and second bit pose estimates may be determined based on the current pose distribution, in particular a confidence measure value with respect to the first bit pose estimate.

Upon determining that the confidence measure for the current pose distribution exceeds a threshold, only the first pose estimate contributes to the current pose estimate.

According to another aspect, the apparatus may further include: adjusting the threshold based on the confidence measure of the current pose distribution. The threshold may be adjusted repeatedly (e.g., periodically or continuously).

According to another aspect, in response to the confidence measure value for the current pose distribution being significantly above the threshold, increasing the threshold; or decreasing the threshold in response to the confidence measure of the current pose distribution being significantly below the threshold. When the confidence measure exceeds the threshold plus a non-negative first offset, the confidence measure may be considered to be significantly higher than the threshold. The first offset may be zero. Similarly, the confidence measure value may be considered to be significantly lower than the threshold value when the confidence measure value is lower than the threshold value minus a non-negative second offset. The second offset may be zero.

The transition from increasing the threshold to decreasing the threshold and the transition from decreasing the threshold to increasing the threshold may be delayed by respective delay times.

Alternatively, the contribution of the first pose estimate and the contribution of the second pose estimate may be determined based on confidence metric values of the respective pose estimates.

According to an aspect of the present invention, there is provided an apparatus for estimating a pose of a robot, wherein the method comprises: determining a plurality of current assumed poses of the robot, using inter alia predictions; determining a weight for each of the plurality of current hypothesis poses; determining a current pose estimate for the robot based on the plurality of current hypothesis poses and their weights; wherein determining the weight for each of the plurality of current hypothesis poses comprises computing a similarity score, wherein the similarity score is a similarity metric between a set of reference features and a set of observed features. The set of observed features may include features detected in the environment of the robot. The characteristic may be detected by one or more sensors of the robot. The sensor may comprise a remote sensing device, such as a camera, radar sensor, sonar sensor, or a combination thereof.

Each reference feature and each observation feature may include one or more feature descriptors.

Each reference feature and each observation feature may comprise one or more feature classes, and each feature class comprises a probability value; the similarity score may be calculated based on the one or more feature classes of the reference feature and their probability values and the one or more feature classes of the observed feature and their probability values.

According to another aspect, each feature class may be associated with a category of real-world elements. The category of the real world element may be "tree", "sky", "person", "vehicle" or "building", etc.

According to another aspect, each reference feature may further comprise Spatially Fixed (SF) position coordinates, and each detection feature may further comprise object fixed (BF) position coordinates, wherein the BF position coordinates are defined relative to the robot; wherein calculating the similarity score comprises: mapping between the SF location coordinates and the BF location coordinates based on a current assumed pose. The coordinates may be multi-dimensional. For example, the coordinate may be a point in two-dimensional space (e.g., corresponding to the surface of the earth), or in three-dimensional space (e.g., three-dimensional space on the surface of the earth).

When the distribution satisfies a reliability condition, the weight of the current hypothesis pose may be determined based on the distribution of the similarity scores. The distribution may be a frequency distribution or a normalized frequency distribution of the similarity scores.

According to another aspect, the weight of the current hypothesis pose may not be determined based on the distribution of the similarity scores when the distribution does not satisfy a reliability condition.

According to another aspect, the method may further include: further adjusting the weight of the current hypothesis pose based on a global pose estimate derived from at least one of sensor data of a position sensor and sensor data of an orientation sensor. For example, the position sensor or the orientation sensor or both may be based on vision, sound, radar, satellite signals, inertia, or a combination thereof.

According to one aspect, a method of estimating a pose of a robot includes: generating a first pose distribution for the robot based on one or more first navigational measurements; generating a second pose distribution for the robot based on the first pose distribution and a current instance of a refined pose distribution; generating a next instance of the refined pose distribution based on the second pose distribution and one or more second navigation measurements; determining a pose estimate for the robot based on the next instance of the refined pose distribution.

According to an aspect of the invention, there is provided a computer readable medium for storing instructions which, when executed on a processor, cause the processor to perform a method according to any one of the above aspects.

Drawings

Exemplary embodiments are described in detail below with reference to the attached drawings and figures, wherein:

FIG. 1 illustrates a basic particle filtering process for describing the present invention;

FIG. 2 illustrates relevant steps of the basic particle filtering process of FIG. 1;

fig. 3 shows an improved particle filtering process according to the invention as a basic framework for the invention;

FIG. 4 shows the main steps of a modified particle filtering process according to FIG. 3, including pose estimation according to a first embodiment of the invention;

FIG. 5 shows the main steps of an improved particle filtering process according to FIG. 3, including pose estimation according to a second embodiment of the invention;

FIG. 6 depicts temporal behavior of thresholds for confidence measures of current pose distributions for real data based test cases;

FIG. 7 shows a first stage of detail of the weight update of the correction blocks of FIGS. 4 and 5;

FIG. 8 shows second stage details of a correction block according to the first embodiment of the weight update process;

FIG. 9 shows second stage details of a correction block according to a second embodiment of the weight update process;

FIG. 10 shows second stage details of a correction block according to a third embodiment of the weight update process;

FIG. 11 shows a vehicle having a positioning system according to the present invention.

Detailed Description

The invention relates to the general technical field of mobile robot positioning, in particular to vehicle positioning, in particular to real-time positioning of an automatic driving vehicle. The invention provides a method for significantly improving the performance of a low-cost system by improving the mapping step length, stabilizing pose estimation and making the underlying algorithm ready for real-time application.

More specifically, the present invention provides several improvements to the bayesian filtering framework described above with respect to the mobile robot positioning problem.

The basic particle filtering process for implementing a bayesian filter is shown in fig. 1 to describe the present invention. The described particle filter procedure is based on the well-known monte carlo localization (also called particle filter localization), using particle filter to localize the mobile robot. The process uses particle filters to represent a distribution of possible states, where each particle represents one possible state, an assumption of where the robot is, also referred to as the assumed pose of the robot.

Posterior probability distribution function (also called probability density function) or posterior belief bel (X)t)=p(Xt|Z1:t) By randomly chosen sets of weighted samples (particles)Representation, with M hypothetical posesAnd their corresponding weightsFor M samples, the characterization becomes an equivalent representation of the true probability distribution function. The particle filtering method can represent an arbitrary distribution and can track multiple hypothesis poses simultaneously. The particles are resampled based on recursive bayesian estimation.

In a prediction step 110, the particle is predicted by applying a simulated motion to the particle at time t-1To determine the current priorAccording to the invention, an odometer measurement O based on at least one corresponding sensor of the robot at time t is usedtOdometer motion model p (X)t|Ot,Xt–1) Based on the last set of samplesObtaining a set of prediction samples

Obtaining odometry measurements O from one or more odometry sensors of the robottTo estimate the change in position and/or orientation of the robot over time. One or more odometer sensors may be provided to measure changes in at least one position coordinate and/or changes in at least one angular coordinate, such as pitch, roll and yaw of the robot. Typical examples of odometer sensors are motion sensors such as wheel encoders, rotary encoders, linear encoders, speedometers, accelerometers, gyroscopes, and Inertial Measurement Units (IMU). The IMU can be used to determine simultaneously up to 6 DOF, i.e. all three-dimensional positions and all three-dimensional directions of the robot pose. In addition, visual-based may be usedSensors for sensing odometry, including remote sensing devices such as cameras, radar sensors, sonar sensors, or combinations thereof, are used to calculate odometry using a technique known as visual odometry. Typically, odometer sensors may be provided to determine changes in robot pose that are the same dimension as the pose. The odometer sensor may include an internal sensor provided with the robot that does not require environmental measurements.

Odometer measurement O in addition to the motion sensortThe method can also comprise the following steps: at least one position coordinate of the robot is determined using one or more satellite-based sensors (i.e., external sensors) of the robot. Such satellite-based sensors utilize Global Navigation Satellite Systems (GNSS), such as GPS, GLONASS, beidou and galileo, to determine the global position of the robot, i.e. the position of the robot relative to a global coordinate system.

In an update step 120, based on the measurement modelPrevious weight according to previous posteriorUpdating current weightsAlso referred to as current importance weight. For each current assumed pose of the robot, i.e. each predicted particleCalculating the probability that the robot will perceive the content actually sensed by its sensor when the robot is in a particle stateThen, the current weight proportional to the probabilityIs assigned to each predicted particle, whichApplying a normalization constant alpha to normalize the weights.

In the basic procedure according to fig. 1, the measurement model is based entirely on a set of observation features YtWith a set of reference features determined from an environment mapTo be mapped between. Details of the map matching process will be described below in conjunction with fig. 7 to 10. Extracting the observation feature Y from sensor data of at least one vision-based sensor of the robottThis is described in more detail below. Typical examples of vision based sensors (also referred to as remote sensing in the following) are monocular and stereo cameras, radar sensors, light detection and ranging (LiDAR) sensors (e.g. using pulsed laser light), ultrasonic sensors, infrared sensors, or any other sensor suitable for providing imaging measurements of a robot environment. Sensor data output by such vision-based sensors may be analyzed to extract the above-described feature Yt. In particular, the map may include information about landmarks, lane markers, buildings, curbs, and road shapes. If multiple vision-based sensors are used, different maps based on different frequency ranges (e.g., optical and radio) may be used.

In step 130, the current assumed pose may also be evaluatedAnd its corresponding current weightResampling is performed to avoid degeneracy of the probability distribution function. In the importance resampling step 130 of FIG. 1, the importance is based on the current belief bel (X)t) (i.e. current pose distribution) or current posterior p (X)t|Z1:t) Resampling the particles, generating a new set of samples for the next iteration or frame t +1As is known in the art, during resampling, particles with high importance weights are added, and particles with low importance weights are eliminated, thereby generating a new set of samples. Thus, the number of particles M remains constant and the particle weight remains limited during the localization process. Here and hereinafter, the terms "current hypothesis pose" and "current weight" refer to the particles and their corresponding weights before and after importance resampling, as the resampling step largely maintains the probability distribution function, as applicable.

Based on the current assumed pose and the corresponding current weights, the current pose of the robot at the current iteration of frame t can be estimated by applying a (global or local) maximum a posteriori estimation method. Alternatively, a minimum mean square error criterion may be used. Further, the current pose estimate may be determined using a simple mean (mean) and a mean within a window around the maximum a posteriori estimate (robust mean)

Fig. 2 shows the relevant steps of the basic particle filtering process of fig. 1. Blocks 210, 220 and 230 are the same concept as in fig. 1, denoted prediction, correction and resampling. The sequence of prediction 210, correction 220, and resampling 230 is iterated for each time step or each frame t of vision-based sensor data. The inputs 1 to 4 for each iteration are highlighted by the dashed boxes in fig. 2. The outputs 11, 12, 13 and 15 of blocks 210, 220, 230 and 250 are also shown. Output 13 represents the refined pose distribution. The refined pose distribution is used for calculating the current pose of the robot. In the present invention, the pose distribution values at different time points may be referred to as examples of pose distributions. The current instance (i.e., the most recently available instance) of the refined pose distribution may also be referred to herein as the current pose distribution.

Starting from a particle-filtered representation of the prior-posterior probability distribution function, i.e. the prior particleAnd corresponding previous weightsApplication of the odometer measurement value O in the prediction step 210tTo determine the prediction samplesUsing predicted samplesAnd previous weightAs an input, the correction step 220 is to observe the feature YtWith map or reference featuresTo determine update weightsThe predicted samples and corresponding update weights are then resampled in a resampling step 230 to produce resampled particlesAnd corresponding balance weightBased on these resampled current hypothesis poses and the corresponding current weights, a current pose estimate is determined in a pose estimation step 250

Mobile robot positioning typically must be done in dynamic environments where other objects and/or subjects than the robot may change their position or configuration over time. Examples of more persistent changes that may affect the pose estimation are people, daylight changes, movable furniture, other vehicles (especially parked vehicles), doors, etc. These dynamic objects are typically not represented by reference features in a generally static reference map, and thus may result in mapping errors when performing the above-described updating steps. Furthermore, features of different objects, such as the edge of a table or chair, may not be distinguishable using the standard feature vector. The general problem of dynamic objects and observational discriminability in real world environments leads to mismatches in the map matching process. Therefore, the above procedure may cause the pose estimation to be incorrect.

Furthermore, the particle filtering process described above in connection with fig. 1 and 2 may be unstable in some cases due to its correction mechanism. Finally, satellite-based sensor signals may not be available anywhere. For example, tall buildings, tunnels, and trees may shield the vehicle's GPS sensors from connection to at least some GPS satellites. Thus, sufficient GPS signals are generally not available, at least in some urban areas. Therefore, the prediction based on the odometer is liable to generate a drift error. It is therefore desirable to be able to use the particle filtering process described above also in areas where satellite-based sensor signals are not available.

In order to solve the above technical problem, the present invention modifies the particle filtering process, as shown in fig. 3. The predicting step 310 predicts an odometry measurement O of at least one corresponding odometry sensor of the robot based on the time ttAnd the previous set of samplesTo determine a set of prediction samples, which is the same as the prediction step 110 in fig. 1, and therefore, the repeated description is omitted for clarity.

However, by determining the update weights in comparison to the update step 120Taking into account the additional measured value Z at time ttThe update step 320 is extended. In particular, the view of at least one satellite-based sensor and/or at least one inertial-based sensor may be taken into accountSurvey data ZtTo include a corresponding probability score. As shown in fig. 3, the current weight may be determined according to equation (2) as follows:

wherein α represents a normalization factor, YtA set of observation features is represented that,a set of reference features is represented. In addition, the robot pose is written as a vectorWherein T represents transpose;one, two or three position coordinates in a global coordinate system, such as x, y and z coordinates;representing one, two or three rotational coordinates such as pitch, roll and yaw with respect to the orientation of the global coordinate system. Also, in the same manner as above,a measurement value representing a corresponding number of position coordinates in a global coordinate system;representing measurements of a corresponding number of rotated coordinates in a global coordinate system. Thus, the measurement vector can be written as

Measured value ZtRefers to global pose measurements obtained using at least one satellite-based sensor and/or at least one inertial-based sensor. For example, can be madeMeasuring position with position sensors, e.g. GPS sensors and/or accelerometersSimilarly, a rotation sensor (e.g., gyroscope) may be used to measure orientationUsing an inertial measurement unit, the complete global pose Z can be measuredtUp to 6 DOF. Furthermore, multiple measurements of different sensors may be included in determining the update weights. The measured sensor data may be submitted to a filtering process before being used for the determination.

The resampling step 130 of fig. 1 is further modified as shown in the resampling step 330 of fig. 3: only by the current belief bel (X)t) Generating a fraction (e.g., 95%) of the total number of M particles, using global pose measurements Z that are not based on satellite-based sensor datatAnd/or global pose measurement GtSome particles (e.g. 5%) are resampled. For example, global pose measurement GtMay be based on image processing using vision-based sensor data and/or inertia-based sensor data. In particular, global pose measurement GtCan be compared with a global pose measurement value ZtIndependent, i.e. based on measurements Z not included in the global positiontThe sensor data of (1). Due to global pose GtNot derived from satellite-based sensor data, so if the satellite-based sensor of the robot cannot receive GPS signals, the global pose and corresponding resampled particles can still be determined.

Fig. 4 shows the main steps of the modified particle filtering process according to fig. 3, including pose estimation according to the first embodiment of the invention. As shown in the basic particle filtering process according to fig. 2, the modified particle filtering process according to fig. 4 comprises a loop iteration over time or over a number of frames t. The inputs 1 to 5 of this iteration are shown in fig. 4 as dashed boxes. Further, a previous pose estimate at time t-1 is providedAs input 6 to the pose prediction step 460. The modified process according to the first embodiment of the invention produces outputs 11 to 14, 15a, 15b, 18 and 19 as shown in figure 4.

Starting from a particle-filtered representation of the prior-posterior probability distribution function, i.e. the prior particleAnd corresponding previous weightsUsing odometer measurement value O in prediction step 410 as applied in prediction step 210tTo determine the prediction samplesUsing predicted samplesAnd previous weightAs an input, the correction step 420 is to observe the feature YtWith map or reference featuresTo determine update weightsHowever, in addition to map matching, the correction step 420 also takes into account the global pose measurements described above in connection with FIG. 3Using at least one satellite-based sensor and/or at least one inertial-based sensor; and/or global pose measurements without satellite-based sensors

The predicted samples and corresponding update weights are then resampled in a resampling step 230 to produce resampled particlesAnd corresponding balance weightHowever, unlike the resampling step 230 of the basic particle filtering process, the resampling step 430 generates only a reduced number (M-N) of particles from the current beliefs. As shown in fig. 4, the remaining N particles are not determined based on the current pose distribution using the recycled particle generation step 480. From global pose measurementsAnd/or global pose measurements without satellite-based sensorsProducing these recovered particlesAnd their respective weightsAs described above, the global pose measurement G may be acquired using image processing based on vision-based sensor data and/or using inertia-based sensor datat. According to a particular embodiment, the global pose measurement GtMay be based entirely on vision-based sensor data.

In an enhancement step 485, particles recovered from one or more global pose measurements in step 480 are usedSupplement the set of weightsSampling particlesTo generate a current hypothesis poseAnd their respective current weightsThis current hypothesis pose and its respective current weight will be provided as input 1 to the next iteration of the loop. By first basing the weights of the prediction samplesThe set of prediction samples may be sorted and then discarded with the least weightDown to M-N samples.

Adding N particles having respective importance weightsOther reliable global pose Z oftAnd/or GtSampled, wherein the respective importance weights are determined based on the reliability, in particular covariance, of these poses, thereby ensuring that pose estimates not based on the particle filtering process are taken into account. The existence of such pose estimation can improve the accuracy of the entire positioning process and help to handle repositioning, loss or badness of GPS signals, and the like.

From the current pose distribution before resampling 430Or current pose distribution after resampling 430At step 440And calculating a confidence measure of the current pose distribution, wherein the confidence of the robot pose can be definitely determined according to the pose distribution. The confidence measure may be expressed as a current pose estimate derived as a function f of the current beliefA posteriori probability of (X)t). As described above, the function may be a maximum a posteriori estimate. Another possibility for the function f is to identify several clusters representing local maxima of the posterior probability, where the pose estimate is selected as a weighted average of the most likely local maxima clusters.

When using this clustering method, the confidence measure or posterior probability of the current pose estimation can be determined according to equation (3)Cumulative weight as most likely local maximum clusterAnd (3) calculating:

wherein M iscIs the weight of the current pose distribution belonging to the local maximum clusterThe number of the cells.

Based on the confidence measure of the current pose distribution, the localization process according to the first embodiment shown in fig. 4 may output a first pose estimate 15a based on the current pose distribution; a second pose estimate that may specifically not be determined based on the current pose distribution; or a combination of the first and second position estimate.

According to the current pose distribution as described aboveDetermining a first pose estimate in a pose estimation step 450Wherein the order of computation of the confidence metric 440 and pose estimate 450 may be reversed. In step 455, in addition to outputting the current pose estimate 15a, the current pose estimate derived from the current pose distribution is stored in a memory unit or the like storage space.

The current positioning process according to the first embodiment may also determine an independent second position estimate 15b by prediction in step 460. Predictions may be made based on one or more previous pose estimates and/or using other global pose estimates. For example, the second pose estimate 15b may be extrapolated from two or more previous pose estimates. In one particular embodiment, dead reckoning may be performed to base odometer measurement value OtAnd stored previous pose estimatesDetermining a second position estimate Here, the function g represents a deterministic motion model that measures O by applying a slave odometertDerived pose change according to pose of robot at time t-1Predicting pose of robot at time tThe second position estimate 15b may also be stored in the memory 455.

According to the specific embodiment shown in FIG. 4, either the first position estimate 15a or the second position estimate 15b is output as the current position estimateFront pose estimationHowever, the invention is not limited to this alternative output, but may output a combination of the first and second pose estimates 15a, 15b, the contribution of which may be determined based on a confidence measure of the current pose distribution. For example, a combined pose estimate may be determined according to equation (4)

Wherein the content of the first and second substances,representing a first estimate of the position location 15a,representing a second position estimate 15 b.

In the latest technologies, dead reckoning has been used for the prediction step of particle filters, such as E.J. Krakiwsky, C.B. Harris and R.V.C.Wong, A Kalman filter for integrating device recognition, map recognition and GPS localization, Position Location and Navigation Symposium, 1988, recordstCentury, IEEE PLANS' 88, IEEE, Orlando, FL, 1988, pages 39-46. However, the use of dead reckoning only in the prediction step does not solve the instability problem of the first position estimate described above.

Thus, the localization process according to the first embodiment combines the separate second position posture estimate 15b with the first position posture estimate 15a or replaces the first position posture estimate 15a with the second position posture estimate 15b based on the confidence measure of the current position posture distribution. According to the specific embodiment depicted in FIG. 4, if the confidence measure of the current pose distributionExceeding a possibly time-dependent thresholdThen the first pose estimate 15a is used as the current pose estimateOtherwise, the second pose estimate 15b may be used as the current pose estimateFurther, if the confidence measure is less than or equal to the threshold, a combination of the second pose estimate 15b derived from dead reckoning and other pose estimates that may be derived independently may be used. Here and in the following, it is assumed that the confidence measure and the threshold are both positive scalars. For general scalar or even vectors, this can be achieved by calculating the absolute value or applying a norm prior to evaluating the condition.

As described above, the threshold valueMay be time dependent and initialized with a predetermined value at time t-0. Then, can be based on the functionThe threshold is adjusted repeatedly (e.g., periodically or continuously), particularly based on the confidence measure of the current pose distribution. For example, the threshold may be increased or decreased depending on whether the confidence measure of the current pose distribution exceeds the threshold. For example, the threshold may vary according to equation (5):

wherein the content of the first and second substances,is a time tIs raisedIs a monotonically increasing function of (a) the number of,is a time tReduceIs a monotonically decreasing function of (a). The possible structure of the two functions may be in the form of an exponential function in equation (6):

whereinA fixed offset is indicated and is,indicating the magnitude of the change and c the attenuation factor. The threshold value may also be adjusted only if the confidence measure is higher than the threshold value by a non-negative first offset value or lower than the threshold value by a non-negative second offset value, otherwise the threshold value remains constant.

The transition from increasing the threshold to decreasing the threshold and the transition from decreasing the threshold to increasing the threshold may be delayed by respective delay times. This added delay applied to the adjustment threshold function is to avoid false transient changes between pose estimates, which may result in robot pose-related jumps. The delay will force one estimate to be used continuously for a time period at before switching to another pose estimate.

An example of applying the delay time to the threshold adjustment is given in equation (7):

wherein t is assigned when dead reckoning-based pose estimation is activeIs raisedReset to 0; when pose estimation based on particle filtering is activated, t is addedReduceReset to 0. When it is satisfied withWhen t isIs raisedIncrease, otherwise tReduceAnd (4) increasing.

FIG. 6 illustrates threshold values for confidence measure values for current pose distributions for real data based test casesThe temporal behavior of (c). Two exemplary phases of determining a pose estimate based on particle filtering and based on dead reckoning are indicated by vertical dashed lines. In the particle filtering stage, according to the functionRaising the thresholdEquivalently, in the dead reckoning phase, according to a functionReducing the threshold

Determining, from confidence measures of the current pose distribution, a first pose estimate based on particle filtering and a second pose estimate based on dead reckoning or another estimation process not based on particle filtering to be applied interchangeably combines the strengths of the two estimates. It is known that dead reckoning is a stable pose estimation for a short period of time, but if applied for a longer period of time, the "drift" phenomenon is likely to occur. Particle filtering, on the other hand, does not suffer from such drift phenomena, but suffers from jumps or instabilities, i.e. significant changes in the pose estimate, due to unreliable measurements or observation updates in the correction step. As in the present embodiment, combining two pose estimates from different methods increases the overall stability of the positioning process.

Fig. 5 shows the main steps of the improved particle filtering process according to fig. 3, including pose estimation according to a second embodiment of the invention. The method steps denoted by the same reference symbols in fig. 4 are the same as those described above with respect to the first embodiment, and thus are not described again. However, unlike the first embodiment shown in fig. 4, the second embodiment according to fig. 5 always determines the first position estimate 15a based on particle filtering in a position estimate step 450 and the second position estimate 15b based on prediction, in particular dead reckoning, in a prediction step 460. The first and second position estimate are determined here as described above in connection with fig. 4.

According to the second embodiment, in step 470, the current pose estimate 16 is calculated as a combination of the first and second pose estimates 15a, 15b and output. In step 470, respective contributions of the first and second pose estimates to the combination are determined based on the confidence metric values of the respective pose estimates. For example, the current pose estimate may be determined according to equation (8)

Wherein the content of the first and second substances,representing a first estimate of the position location 15a,representing the second pose estimate 15b and based on the covariance estimate relative to the corresponding pose estimateSum valueThe respective contributions are determined. Root of herbaceous plantAccording to one particular example, the respective contributions may be determined according to equation (9) as follows:

and

covariance estimationAndcan be considered as a confidence measure for the corresponding pose estimate.

For example, the covariance of the pose estimate may be estimated as follows: first, a jacobian matrix of the reprojection error cost function e around its convergence point is taken for estimation, as shown in equation (10):

second, a monotonically increasing function h is applied to the inverse of the jacobian matrix and the residual r (i.e., the error value at its convergence point (x, y, z, roll, pitch, yaw)) to determine a pose estimateAs shown in equation (11):

as described above, particle filtering is affected by dynamic objects in the robot environment, and there is a problem of visibility of observation. The positioning process according to the present invention solves these problems by modifying the update step 220 in fig. 2 of the basic particle filter process, as shown in fig. 7 to 10.

Fig. 7 shows a first stage of weight update details of the correction block 420 of fig. 4 and 5 according to the present invention. In map matching, the recent technology calculates a likelihood function based on distance scores between a group of observation feature points and a group of reference feature points in a map according to a nearest neighbor principle. The updating process of fig. 7-10 according to the present invention significantly extends and modifies this concept by employing additional knowledge about the observed and reference features.

The first stage of the update process shown in fig. 7 uses three nested loops, where the indices m, p and q in the respective loops are initially set to 1. Outer loop to a set of predicted particlesAn iteration is performed, the set of predicted particles is provided as input 11 from the prediction step 410 to the conversion step 421, where M represents the total number of particles. Intermediate loop to a set of observed featuresAn iteration is performed where P represents the total number of observed features. Finally, the inner loop is aligned to a set of reference featuresAn iteration is performed where Q represents the total number of reference features taken from the map.

The set of reference features is extracted from the sensor data of at least one sensor of the robot by feature detection and description of at least one frame of sensor data, also called key frame. The sensor may be based on remote sensing, referred to herein as a vision-based sensor. As mentioned above, the vision-based sensor may relate to a camera, in particular a stereo camera, a radar sensor, a light detection and ranging (LiDAR) sensor (e.g. using a pulsed laser), an ultrasonic sensor, an infrared sensor, or any other sensor suitable for providing imaging measurements (also referred to as ranging) of the robot environment. The resulting sensor data may be organized into frames according to a time index. Some or all of these frames may be analyzed to detect and extract features, which may then be compared to reference features typically extracted offline from one or more reference maps of the robotic environment.

Since feature detection and matching are two important issues in machine vision and robotics, a large number of feature extraction methods are known in the art. Some of the more common methods are Scale-Invariant Feature Transform (SIFT), Speeded Up Robust Feature (SURF) techniques, Binary Robust Independent Elementary Feature (BRIEF) methods, and FAST and rotating BRIEF (ORB) Oriented methods. For example, R.Mur-Artal and J.D.Tard. Lour describes advanced ORB technologies that also involve synchronized positioning and Mapping (SLAM) in IEEE Transactions on Robotics, Vol.33, No. 5, pp.1255-1262, published in 2017, 10.O B-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Caas.

The above extraction methods typically process the sensor data to extract features in the form of single or clustered feature points at the salient keypoint locations. As part of this process, feature descriptors that describe attributes of the respective feature points are determined. Thus, each of the above-described observation features may include one or more feature points and their corresponding feature descriptors. In addition, the update process according to a specific embodiment of the present invention utilizes semantic information related to features according to feature classes. Thus, each feature may additionally include one or more feature classes as described in more detail below. In particular, the semantic information may be used to distinguish particular types or object classes of real-world elements such as cars, traffic signs, roads, buildings, etc. In contrast, a typical feature may only identify lines, corners, edges, different patterns, or objects that differ in appearance. Typically, feature descriptors are provided as feature vectors that may have a high dimensionality. The structure of both the observed feature and the reference feature typically comprises the same information, i.e. feature points and corresponding feature descriptors, and possibly feature classes, fromWhile allowing matching between observed features and reference features, generating and likelihood functionsThe correspondence of the associations, which is referred to herein and hereinafter as map matching.

The set of reference featuresTypically extracted from a set of reference images, relating to the robot environment; wherein the set of reference images is acquired using the same imaging method as used by the at least one vision-based sensor. The extracted reference features may then be stored in a database or storage medium as a so-called feature-based map.

Generally, maps are feature-based and location-based. Location-based maps are bulky because they include feature descriptors for any location within the map region, whereas feature-based maps only specify features for a particular location, particularly the specific locations of key objects contained in the map. The update process according to the present embodiment is described in the context of a feature-based map, but is easily modified to apply to a location-based map. Although the information extracted by the feature-based model is relatively small, this advantage is offset by the advanced computational properties of the feature-based representation, since the feature extractor projects the high-dimensional sensor measurements into a low-dimensional space.

As described above, mobile robots are generally located in dynamic environments where the position relative to other objects or subjects and the environmental conditions, such as changes in sunlight, change over time. One potential problem with the matching process between the observation feature and the reference feature in view of the dynamic object is that the dynamic object present in the reference image used to detect the reference feature may not be present in the local environment of the robot, and vice versa. Therefore, feature extraction and matching based on such dynamic objects can introduce errors in the update process. Therefore, the latest approach suggests applying a dedicated filter to the sensor data of at least one vision-based sensor of the robot before feature extraction and matching. However, such filtering further burdens the computational load that the underlying processing has been very heavy.

Therefore, the feature/map matching process according to the present invention contemplates an alternative approach in which the reference features, and more particularly, the reference images, are filtered off-line to remove dynamic objects such as pedestrians and other vehicles. For example, dynamic objects may be identified based on semantic information such as the feature classes described above.

Ideally, the reference signature is already created before the positioning process is performed, which is available from a storage medium or database for the matching process described below. However, there may be situations where the mobile robot enters a terrain or area without such a map. In these cases, the described method may be modified to perform simultaneous localization and mapping (SLAM), which is generally known in the art. In SLAM, the robot acquires its environment map and also locates a position with respect to the map. When an object is detected in the robot environment, the SLAM algorithm must determine the relationship of the object to the previously detected object. Information that helps locate the robot is propagated through the map, thereby improving the location of other features in the map.

The update procedure according to the present embodiment can be applied to the SLAM problem. In this case, the set of reference features includes those features that have been extracted from the current map of the robot environment. Thus, the reference feature may comprise a dynamic object that may be removed from the group based on the semantic information described above. Alternatively, the dynamic object may remain as a reference feature, assuming that the dynamic object remains in the robot environment during the SLAM process. The algorithm may also selectively remove some highly dynamic objects, such as pedestrians and moving vehicles, based on corresponding semantic information or feature classes, while retaining other less dynamic objects, such as parked vehicles.

In order to match between the set of observed features and the set of reference features, the process according to the invention first will have to look relative to the local coordinate system of the robot in step 421 in fig. 7Observed observation characteristic YtConversion to reference characteristicsThe global coordinate system of (2). For each current hypothesis posePerforming such conversion to produce corresponding converted observation featuresIn other words, each reference feature comprises at least one global, i.e. spatially fixed position coordinate and each observation feature comprises at least one fixed position coordinate relative to the robot-defined object, wherein in the transforming step 421, based on the current assumed poseMapping between the spatial fixed position coordinates and the object fixed position coordinates is performed. Of course, such a transformation may also involve a rotation to map between the local coordinate system and the rotated coordinates of the global coordinate system. Furthermore, the transformation can be done in the reverse direction to map the reference features into the local coordinate system of the robot.

After coordinate transformation, likelihood distance scores and similarity scores are calculated in step 422 according to the present invention. For example, a distance score for each particle m, each observation feature p, and each reference feature q may be calculated using nearest neighbor based likelihood scoring methods known in the artFor example, the similarity score may be calculated using the hamming distance of ORB feature descriptorsThen, in step 423, if the features are not similar, a penalty distance score may be used using the similarity score according to equation (12) as follows:

wherein DMINIs that the similarity score exceeds the threshold θ of the similarity scoreSThe minimum distance score in the case of (2), for example, the similarity score may be selected within the range of the hamming distance.

According to an alternative embodiment, each feature comprises one or more feature classes, each feature class comprising probability values for delivering semantic information. The computed similarity score takes into account the feature classes of the reference features and the observed features and their respective probabilities. In particular, each feature class may be associated with a category of real world elements, each probability value representing a probability that a feature belongs to the respective feature class. In this case, the similarity scoreThe probability that the reference feature q and the observation feature p have the same association (i.e., semantic label) can be determined. Threshold θ for this caseSOnly a certain probability value may be represented.

The similarity score may be calculated separately for the feature descriptors and feature classes or for a combination of the feature descriptors and feature classes. In particular, the feature classes may be integrated into the feature descriptors. Since the distance score is only meaningful for those feature pairs (p, q) that share a certain degree of similarity, the penalty of distance score can be applied in a similar manner to the feature descriptors and feature classes in step 423 according to equation (12). If the semantic information is included in calculating the similarity score based on the feature classes, the dynamic object need not be separately removed from the sensor data of the at least one vision based sensor if the reference feature map is preprocessed to remove the dynamic object. For example, an observation feature related to a pedestrian may not find a match in the map with sufficient similarity to produce a meaningful pairing. Thus, the similarity-based approach according to the present embodiment is efficient and suitable for real-time implementation.

In step 424, for each particle m and each observation feature p, the closest reference feature is determined and stored according to equation (13)Correlated scoringAnd

then, in step 425, the resulting distance and similarity scores for each particle m are accumulated according to equation (14)

And

as a result of the first phase of the update process shown in FIG. 7, the current assumed pose is outputSet of distance and similarity scoresThe set of distance and similarity scores may be processed in different ways to update the previous weights

Updating the previous weights according to a first embodiment of the weight update procedure is shown in fig. 8. First, the set of distance and similarity scores is divided into a set of distance scoresAnd a set of similarity scoresThe similarity scores are then further processed in step 426 by calculating a distribution of similarity scores, for example by fitting a set of similarity scores to a given distribution model (e.g., a one-sided distribution), to obtain a distribution of the distributionsHaving a mean valueAnd standard deviation ofThe distribution may be a frequency distribution or a normalized frequency distribution of the scores. Similarity score distribution based parametersAndthe reliability condition of the distribution can be defined as equation (15):

wherein, thetaRIs a threshold that can be determined as the tail threshold of the similarity distribution.

For the current set of particlesIt is determined in step 427 whether the distribution of the similarity scores meets a reliability condition. Discarding the calculated distance score if the distribution does not satisfy the reliability condition, and determining an updated importance weight not based on the distribution of similarity scoresIn this case, the previous weight may be used in step 429bOr distributed evenly to generate update weights 12 b. The distance scores associated with the unreliable similarity scores are discarded by using previous weights or a uniform distribution. This improves the stability of the underlying update process.

If the distribution of similarity scores satisfies the reliability condition, the distribution of similarity scores is based onDetermining a current weightAccording to the embodiment shown in FIG. 8, the weights are first weighted in step 428Assigned to each particle, and then scored using similarity in step 429aWeighting to generate updated, not yet normalized weightsThus, the weighting function of the particles may be a probability value of a single-sided distribution of the similarity score. Outputting the result through the process if the reliability condition is satisfiedThe update weights 12 a. Thus, according to the embodiment shown in fig. 8, the current weight 12a is determined according to equation (16):

wherein α is a normalization factor.

According to a second embodiment of the update process shown in fig. 9, the current importance weight may be obtained by further applying a weighting based on a global rotation estimate, which may be from at least one rotation sensor, such as an inertia based sensor. Steps 426 to 428 and 429a are the same as those in fig. 8, and thus the description will not be repeated. When the distribution of the similarity scores satisfies the reliability condition in step 427, a similarity score weighting is applied in step 429a, and in addition thereto, in step 529c, based on measurements from the global pose ZtGlobal rotation estimation ofThe weights are further adjusted to generate an updated importance weight 12a according to equation (17):

further, when the above reliability condition is not satisfied, in step 529b, by based on the measurement value Z from the global posetGlobal position estimation ofAssigning weightsTo reset according to this embodiment, the global pose measurement may be from at least one position sensor, such as a satellite based sensor, in particular a GPS sensor. Then, in step 529d, may be based on information from the globalPose measurement ZtGlobal rotation estimation ofThe assigned weights are further adjusted to produce updated importance weights 12b according to equation (17).

The update procedure according to the second embodiment in fig. 9 has two advantages compared to the first embodiment shown in fig. 8. First, in case the reliability condition is not fulfilled, the weights are determined by a global position estimate that can provide a certain degree of reliability. Secondly, further weighting based on global rotation estimation further improves the reliability of the update weights, whether or not the reliability condition is met. According to the second embodiment, two further separate global position and rotation estimates (e.g. derived from GPS sensors and IMU sensors) are used to increase the reliability of the update weights, thereby increasing the reliability of the current pose estimate. According to the second embodiment, when the reliability condition is satisfied, the updated importance weight is determined according to equation (18):

finally, according to a third embodiment of the updating procedure shown in fig. 10, in addition to the global pose measurements Z from satellite-based sensors and/or inertial-based sensorstIn addition, global pose measurements G from position and/or rotation sensors other than satellite-based sensors, and possibly inertial-based sensors, e.g., from vision-based sensors, may be usedtTo further improve the reliability of the updated importance weights.

Since steps 426 to 428 and 429a in fig. 10 are the same as those in fig. 8, the description will not be repeated here. When the reliability condition is not satisfied, Z can be estimated based on the global pose in step 629btAnd GtAssigning weightsThereby generating updated importance weights 12 b. Estimating Z based on global pose under the condition that the distribution of the similarity scores satisfies the reliability conditiontAnd GtThe weights determined in step 429a are further adjusted to produce updated importance weights 12a according to equation (19):

in this case, the updated importance weight is thus determined according to the following equation (20):

depending on the accuracy of the pose estimation, either the global position estimation or the global rotation estimation or both can be used for the global pose estimation Z in steps 629b and 629c of the third embodimenttAnd Gt

In summary, the current weight may be further adjusted based on a global pose estimate derived from at least one of sensor data of the position sensor and sensor data of the rotation sensor, e.g. at least one of sensor data of the satellite based sensor, sensor data of the inertial based sensor and sensor data of the at least one vision based sensor.

In the above embodiments of the update process, knowledge of the feature descriptors and optional feature classes for the observed and reference features is included to increase the probability of finding the correct nearest neighbor within a given search region and to adjust the particle weight calculation. Feature points that do not meet a threshold criterion for a similarity score calculated for these feature descriptors and feature classes are penalized. In addition, if the corresponding distribution meets a reliability condition, weighting the predicted particle based on the distribution of the similarity score; if the distribution does not satisfy the reliability condition, distance scores for the predicted particles are discarded and replaced with one or more global pose estimates.

The use of feature descriptors and optional feature classes for the observed and reference features further increases filter accuracy for passing dynamic objects such as vehicles, pedestrians, and increases feature discernability. Therefore, the resulting current pose estimate becomes more reliable.

Fig. 11 finally shows a vehicle implementing the invention according to any of the embodiments described above. Without limitation, the vehicle 700 is equipped with a wheel encoder 792 on the front wheels as an odometer sensor measuring the rotation of the front wheels, whereby changes in the position of the vehicle can be determined. The vehicle 700 also includes an Inertial Measurement Unit (IMU)790, which is an inertia-based sensor for determining 6 DOF changes, i.e., changes in the position coordinates and orientation of the vehicle. Thus, the IMU 790 is comprised of a position sensor and a rotation sensor. Further, the vehicle is equipped with a GPS sensor 796 as a satellite-based sensor or a position sensor for measuring the global pose based on a GPS signalFinally, the vehicle 700 is equipped with a stereo camera 794 as a vision-based sensor that records stereo images of the vehicle environment. The images recorded by the camera 794 are then processed as described above to extract the observed features in the vehicle environment.

To perform the positioning process described above in connection with embodiments of the present invention, the vehicle is equipped with a processing circuit 780 for performing any of the methods described above. Sensor signals are transmitted from the odometer sensor 792, the IMU 790, the GPS sensor 796, and the camera 794 to the processing circuit 780 via cable or wirelessly. Processing circuit 780 then processes the sensor data as described above to locate vehicle 700 in the global coordinate system indicated in fig. 11 using the dashed lines.

Fig. 11 shows the x-axis and the y-axis of the global coordinate system, wherein the z-axis coincides with the z-axis of the local coordinate system of the vehicle 700. The global coordinates are also referred to as spatially fixed coordinates, while the local coordinates represented by the x ', y' and z axes are also referred to as object fixed coordinates. The heading of the vehicle 700 is indicated by the x' axis in the figure. Conveniently, the heading may be used to define an x' axis of the local coordinate system, wherein rotational angles relating to roll, pitch and yaw are shown in the vehicle fixed local coordinate system. As described above, the processing circuit 780 is configured to convert between the position coordinates and the rotation coordinates in the object-fixed local coordinate system and the position coordinates and the rotation coordinates in the spatially-fixed global coordinate system. Thus, in the present invention, the global pose and global pose estimates are always referenced to spatially fixed global coordinates. FIG. 11 further schematically indicates the speed of the vehicle 700 as a vector whose direction may differ from the heading of the vehicle due to the side-slip of the vehicle. This sideslip may be one of the sources of error in the positioning process, as the wheel encoder 792 typically does not take into account the sideslip.

The processes and methods described in this disclosure, and in particular the flows and methods described in connection with fig. 1 through 10, may be implemented in a system including processing circuitry for performing the described processes and methods. The system may include a combination of software and hardware. For example, the prediction, correction and resampling steps of the particle filtering process according to fig. 4 and 5 may be implemented as software modules or as separate units of a processing circuit. In practice, any of the blocks in fig. 2, 4, 5 and 7-10 may be implemented as hardware units or software modules. The described processing may be performed by a general purpose processor, a CPU, a GPU, a Digital Signal Processor (DSP), a Field Programmable Gate Array (FPGA), or other chips. However, the invention is not limited to implementation on programmable hardware. It may be implemented on an application-specific integrated circuit (ASIC), or by a combination of the above hardware components.

The memory 455 in fig. 4 and 5 may be implemented using any memory unit known in the art, such as a memory unit, in particular a RAM, a ROM, an EEPROM, etc.; storage media, in particular DVD, CD, USB (flash memory) drive, hard disk, etc.; server storage available via a network, etc.

In particular, it is possible to use, for example,processing circuitry 780 may be used to: odometer measurement value O is used in the prediction step 410tDetermining a plurality of current assumed poses of a robot, in particular a vehicle 700In a correction step 420, a corresponding update weight is determined, in particular based on the similarity score as shown in fig. 7 to 10; resampling the particles in a resampling step 430; the particles may be recovered in step 480; the particles are replenished in an enhancement step 485. Further, the processing circuitry 718 may be operable to determine a confidence measure for the current pose distribution in step 440 of fig. 4, or for determining a confidence measure for the pose estimate independently determined in step 470 of fig. 5. Further, the processing circuit may be configured to perform pose estimation based on particle filtering in step 450 and independent pose estimation based on prediction in step 460.

The above-described positioning process and sub-processes may also be implemented by a program comprising instructions, wherein the instructions are stored on a computer readable medium. The instructions, when executed on the processor, cause the processor to perform the processes and methods described above. The computer readable medium may be any medium that stores instructions, such as a DVD, CD, USB (flash) drive, hard disk, server memory available via a network, etc.

In summary, the present invention provides a method of improving the performance of a low cost system for mobile robot positioning. The process according to the present invention has been extensively tested in real time using a prototype of the car with GPS, IMU and stereo camera sensors. Preliminary results show that the percentage of absolute average errors below 1m is about 90%, the mean absolute error in the machine direction is 0.75m or less, and the mean absolute error in the cross direction is less than 0.4 m. These errors are within the requirements specifications of the IoV planning and control department and are therefore suitable for commercial deployment.

The method and system of the present invention significantly improves positioning accuracy performance while maintaining low cost characteristics. They can be implemented in low cost systems with stereo cameras, GPS sensors and IMU sensors. The described methods and systems provide high accuracy for all 6 DOF vehicle poses including altitude and rotation (roll, pitch and yaw). The disclosed process is suitable for real-time implementation due to its low processing power requirements. First tests have shown that pose estimation can be performed at about 10 Hz.

The described method and system solve many of the problems of low cost vehicle positioning systems by: solving the problem of dynamic object and observation discriminability by using the extended feature descriptors in the particle filtering process; solving the problem of pose estimation instability by interchangeably using particle filtering and dead reckoning; the problem of the time interval of GPS signals is solved by adding global pose estimation based on a non-GPS sensor.

36页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用电子测距设备进行地理定位的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!