[go: up one dir, main page]

WO2020048623A1 - Estimation of a pose of a robot - Google Patents

Estimation of a pose of a robot Download PDF

Info

Publication number
WO2020048623A1
WO2020048623A1 PCT/EP2018/074232 EP2018074232W WO2020048623A1 WO 2020048623 A1 WO2020048623 A1 WO 2020048623A1 EP 2018074232 W EP2018074232 W EP 2018074232W WO 2020048623 A1 WO2020048623 A1 WO 2020048623A1
Authority
WO
WIPO (PCT)
Prior art keywords
pose
current
distribution
robot
estimate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/EP2018/074232
Other languages
French (fr)
Inventor
Panji Setiawan
Miguel CRISTOBAL
Claudiu CAMPEANU
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/EP2018/074232 priority Critical patent/WO2020048623A1/en
Priority to CN201880096793.8A priority patent/CN112639502B/en
Publication of WO2020048623A1 publication Critical patent/WO2020048623A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0247Determining attitude
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/53Determining attitude
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Definitions

  • the present disclosure relates to estimating the pose of a robot, in particular of a vehicle, in a robust and efficient way.
  • the disclosed systems and methods may be used for real-time localization of a vehicle.
  • Mobile robot localization is becoming increasingly important in robotics as robot systems operate in increasingly unstructured environments.
  • applications of mobile robot systems include as diverse applications as mobile platforms for planetary exploration, underwater vehicles for deep-sea exploration, robotic vehicles in the air or in confined spaces, such as mines, cars that travel autonomously in urban environments, and androids operating in highly dynamic environments involving interaction with human beings.
  • Mobile robots in these and other applications have to be operated in environments that are inherently unpredictable, where they often have to navigate in an environment composed of static and dynamic objects.
  • even the location of the static objects is often unknown or known only with uncertainty. It is therefore crucial to localize the robot with high precision, generally using sensor data from sensors of the robot and/or external sensors.
  • the problem of localization involves estimating a robot’s coordinates and often its orientation, together forming the so-called pose, in an external reference frame or global coordinate system from the sensor data, often using a map of the environment.
  • a frequently used probabilistic approach to the localization problem involves recursive Bayesian estimation, also known as a Bayes filter.
  • Bayes filter the probability density function of a robot is continuously updated based on the most recently acquired sensor data or observation.
  • the recursive algorithm consists of two parts: prediction and update.
  • the true state X of the robot is assumed to be an unobserved Markov process, and the measurements Z are the observed states of a hidden Markov model.
  • the prediction step uses a system model p(X t ⁇ X t - ) .also called motion model, to predict the probability distribution function p(X t ⁇ Z 1:t i ) , the so-called current prior, at time t given the previous observations Z 1:t-1 from the previous probability distribution function p at time t - 1 , the so-called previous posterior, wherein the predicted probability distribution function is spread due to noise.
  • the update step updates the prediction in light of the new observation data to calculate the current probability distribution function p(Z t
  • the current posterior is proportional to the product of the measurement likelihood p(Z t ⁇ X t ) and the current prior pQi ⁇ Z ⁇ ) normalized by the evidence piZ ⁇ Z ⁇ ) .
  • a measurement model expressing the conditional probability of observation Z t given the true state X t at time t enters the calculation.
  • an optimal estimate )C t for the true state X t at time t i.e. an estimate for the pose of the robot, can be determined, for instance by determining the maximum of the current probability distribution function or applying a minimum mean-square error (MMSE) approach.
  • the pose estimate may then be used to operate the robot in its environment.
  • MMSE minimum mean-square error
  • the Bayes filter turns into a Kalman filter.
  • a local linearization using a first-order Taylor series expansion may be used to provide an extended Kalman filter (EKF).
  • the motion model i.e. the system model, rO ⁇ Ii ⁇ ,Z ⁇ ) for the state transition probability given the previous state X t-t and the control data u t is implemented either using a velocity motion model wherein the control data u t is given by velocities or using an odometry motion model wherein the control data u t is replaced by sensor measurements.
  • the motion model is extended by a map m of the environment of the robot to create a map-based motion model piX t lu ⁇ X f ⁇ m) that may be approximately factorized as in Equation (1 ):
  • piXt ut ⁇ t ⁇ m) ri pCZ t li ⁇ Z t - pCZ t lm) (1 ) where h is a normalizing factor.
  • the second term p(X t ⁇ m) expresses the“consistency” of pose or state X t with the map m.
  • the measurement model that describes the formation processes by which sensor measurements are generated in the physical world is also extended by the map m of the environment to define a conditional probability distribution function p(Z t ⁇ X t , m where X t is the robot pose and Z t is the measurement at time t.
  • both, the velocity motion model and the odometry motion model are subject to noise that leads to a growing uncertainty as the robot moves.
  • robot odometry is generally subject to drift and slippage such that there is no fixed coordinate transformation between the coordinates used by the robot’s internal odometry and the physical world coordinates. Determining the pose of a robot relative to a given map of the environment generally increases the certainty of the pose estimate but significantly adds to the computational complexity of the underlying algorithm. As a result, commonly known algorithms for the mobile robot localization problem generally cannot be executed in real time and often suffer from loss of precision as the robot moves.
  • ADAS Advanced Driver-Assistance Systems
  • the percentage of absolute mean errors below 1 m is 80% and the averaged absolute mean error is 1.43 m in the longitudinal direction or the driving direction and 0.58 m in the lateral direction.
  • the Internet of Vehicles (loV) Planning and Control Division requires a maximum error of 1 m in the longitudinal direction and of 0.5 m in the lateral direction.
  • the present disclosure offers a way to significantly improve the performance of the above- mentioned low-cost systems and thereby solves the above described technical problems.
  • the disclosed methods and systems in particular provide several improvements in the framework of Bayesian filtering and increase the robustness of the localization process.
  • the disclosed methods and systems not only allow to perform localization in several (e.g., six) degrees of freedom (DoF), but can also be configured for running at a rate of 10 Hz or more and are therefore suitable for real-time implementations. They can be used for determining the pose of an autonomous or non-autonomous vehicle or other kind of robot. Their potential field of application is thus not limited to autonomous driving.
  • Each of the devices referred to herein as an ..apparatus" may be a system of cooperating devices.
  • the apparatus may comprise processing circuitry configured to perform the various data or signal processing operations associated with the respective apparatus. Those operations are described in detail below.
  • the processing circuitry may be a combination of software and hardware.
  • the processing circuitry may comprise one or more processors and a non-volatile memory in which program code executable by the one or more processors is stored. The program code causes the processing circuitry to perform the respective operations when executed by the one or more processors.
  • an apparatus for estimating a pose of a robot is provided, wherein the apparatus is configured to determine a current pose estimate of the robot based on a first pose estimate or a second pose estimate or a combination of the first pose estimate and the second pose estimate, wherein the first pose estimate is based on a current pose distribution of the robot; and 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 apparatus is configured to determine a current pose estimate as a weighted sum of multiple pose estimates, each of the multiple pose estimates having a respective weight in the weighted sum, wherein the multiple pose estimates include a first pose estimate, which is based on a current pose distribution, and one or more further pose estimates, and wherein the weights of the multiple pose estimates are based on the current pose distribution.
  • the second pose estimate may be based on one or more of the following: prediction from one or more previous pose estimates, or a global pose estimate derived from at least one of sensor data from a position sensor and sensor data from an orientation sensor.
  • the prediction may include dead reckoning.
  • the contribution of the first pose estimate and the contribution of the second pose estimate may be determined based on a confidence measure of the current pose distribution, in particular with regard to the first pose estimate.
  • the apparatus may be further configured to adapt the threshold based on the confidence measure of the current pose distribution.
  • the threshold may be adapted repeatedly, e.g., periodically or continuously.
  • the threshold may be increased in response to the confidence measure of the current pose distribution being significantly higher than the threshold, or the threshold may be decreased in response to the confidence measure of the current pose distribution being significantly lower than the threshold.
  • the confidence measure may be considered to be significantly higher than the threshold when the confidence measure exceeds the threshold plus a non-negative first offset.
  • the first offset may be zero.
  • the confidence measure may be considered to be significantly lower than the threshold when the confidence measure is lower than the threshold minus a non-negative second offset.
  • the second offset may be zero.
  • a transition from increasing the threshold to decreasing the threshold and vice versa may be delayed by a respective delay time.
  • the contribution of the first pose estimate and the contribution of the second pose estimate may alternatively be determined based on confidence measures of the respective pose estimates.
  • an apparatus for estimating a pose of a robot is provided, wherein the apparatus is configured to determine a plurality of current hypothetical poses of the robot, in particular using prediction; for each of the plurality of current hypothetical poses, to determine a weight; and to determine a current pose estimate of the robot based on the plurality of current hypothetical poses and their weights, wherein for each of the plurality of current hypothetical poses, determining the weight comprises calculating a similarity score which is a measure of similarity between a set of reference features and a set of observed features.
  • the set of observed features may comprise features detected in an environment of the robot.
  • the features may be detected by one or more sensors of the robot.
  • the sensors may include remote sensing means, e.g., a video camera, a radar sensor, a sonar sensor, or a combination of these.
  • the apparatus may comprise processing circuitry to perform the pose estimation. Thus a reliable pose estimate can be obtained.
  • Each reference feature and each observed feature may comprise one or more feature descriptors.
  • Each reference feature and each observed feature may comprise one or more feature classes, and, for each feature class, a probability value, and calculating the similarity score may be based on the one or more feature classes of the reference features and their probability values and the one or more feature classes of the observed features and their probability values.
  • each feature class may be associated with a class of real-world elements.
  • the class of real-world elements may be, for example, Schltree”, spatialsky”, spatialperson”, etc.
  • each reference feature may further comprise a space-fixed (SF) positional coordinate and each detected feature may further comprise a body-fixed (BF) positional coordinate, the BF positional coordinate being defined relative to the robot, wherein calculating the similarity score comprises mapping between the SF positional coordinate and the BF positional coordinate on the basis of a current hypothetical pose.
  • a coordinate may be multi-dimensional. For example, it may be a point in a two-dimensional space (e.g., corresponding to the earth’s surface) or a three-dimensional space (e.g., the three-dimensional space on the earth’s surface).
  • the weights of the current hypothetical poses may be determined based on a distribution of the similarity scores when the distribution fulfills a reliability condition.
  • the distribution may be a frequency distribution or a normalized frequency distribution of the similarity scores.
  • the weights of the current hypothetical poses may be determined independently of the distribution of the similarity scores when the distribution does not fulfill the reliability condition.
  • the apparatus may further comprise at least one of a position sensor and an orientation sensor, wherein the weights of the current hypothetical poses are further adapted 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.
  • the position sensor or the orientation sensor or both may be based, for example, on vision, sound, radar, satellite signals, inertia, or a combination thereof.
  • an apparatus for estimating a pose of a robot is configured to: generate a first pose distribution of the robot based on one or more first navigational measurements, generate a second pose distribution of the robot based on the first pose distribution and on a current instance of a refined pose distribution, generate a next instance of the refined pose distribution based on the second pose distribution and on one or more second navigational measurements, and determine a pose estimate of the robot based on the next instance of the refined pose distribution.
  • a new distribution peak can be added to the existing pose distribution.
  • the existing pose distribution i.e.
  • the current instance of the refined pose distribution is erroneous (e.g., due to errors in sensor readings or absence of sensor readings, for example after a period of lack of camera or satellite data)
  • the presence of the new, added peak in the next instance of the refined distribution can enable the apparatus to“recover”, i.e. to find an accurate, new pose estimate.
  • a reliable pose estimate can be obtained.
  • the current instance and the next instance of the refined pose distribution are each represented by a set of hypothetical poses and associated weights, wherein the set representing the current instance and the set representing the next instance comprise the same number of hypothetical poses.
  • the current instance of the refined pose distribution contributes more to the second pose distribution than the first pose distribution.
  • the second pose distribution may be a weighted sum of the first pose distribution and the current instance of the refined pose distribution, wherein the current instance of the refined pose distribution has a greater weight than the first pose distribution.
  • the current instance of the refined pose distribution and the first pose distribution may have relative weights of 1 minus X (e.g., 0.95) and X (e.g., 0.05), respectively, wherein X is less than 0.5.
  • the current instance of the refined pose distribution may be represented by a set of, e.g., 95 samples (i.e.
  • the apparatus is configured to generate the first pose distribution independently of the refined pose distribution.
  • the apparatus is configured to generate the one or more first navigational measurements by one or more of the following: satellite-based pose estimation, inertia-based pose estimation, vision-based pose estimation, or user input.
  • the first navigational measurements may comprise a global pose estimate.
  • the global pose estimate may be derived, for example, from at least one of sensor data from a position sensor and sensor data from an orientation sensor.
  • the apparatus is configured to generate the one or more second navigational measurements by one or more of the following: satellite-based pose estimation, inertia-based pose estimation, vision-based pose estimation, or odometric pose estimation.
  • a robot in particular a vehicle, especially an autonomous vehicle, is provided that comprises the apparatus according to any one of the above aspects.
  • a method for estimating a pose of a robot comprises determining a current pose estimate of the robot based on a first pose estimate or a second pose estimate or a combination of the first pose estimate and the second pose estimate, wherein the first pose estimate is based on a current pose distribution of the robot, and wherein a contribution of the first 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 pose estimate may be determined by one or more of the following: prediction from one or more previous pose estimates, or deriving a global pose estimate from at least one of sensor data from a position sensor and sensor data from an orientation sensor.
  • the contribution of the first pose estimate and the contribution of the second pose estimate may be determined based on a confidence measure of the current pose distribution, in particular with regard to the first pose estimate.
  • the method may further comprise adapting the threshold based on the confidence measure of the current pose distribution.
  • the threshold may be adapted repeatedly, e.g., periodically or continuously.
  • the threshold may be increased in response to the confidence measure of the current pose distribution being significantly higher than the threshold, or the threshold may be decreased in response to the confidence measure of the current pose distribution being significantly lower than the threshold.
  • the confidence measure may be considered to be significantly higher than the threshold when the confidence measure exceeds the threshold plus a non-negative first offset.
  • the first offset may be zero.
  • the confidence measure may be considered to be significantly lower than the threshold when the confidence measure is lower than the threshold minus a non-negative second offset.
  • the second offset may be zero.
  • a transition from increasing the threshold to decreasing the threshold and vice versa may be delayed by a respective delay time.
  • the contribution of the first pose estimate and the contribution of the second pose estimate may alternatively be determined based on confidence measures of the respective pose estimates.
  • a method for estimating a pose of a robot comprises determining a plurality of current hypothetical poses of the robot, in particular using prediction; for each of the plurality of current hypothetical poses, determining a weight; and determining a current pose estimate of the robot based on the plurality of current hypothetical poses and their weights, wherein for each of the plurality of current hypothetical poses, determining the weight comprises calculating a similarity score which is a measure of similarity between a set of reference features and a set of observed features.
  • the set of observed features may comprise features detected in an environment of the robot.
  • the features may be detected by one or more sensors of the robot.
  • the sensors may include remote sensing means, e.g., a video camera, a radar sensor, a sonar sensor, or a combination of these.
  • Each reference feature and each observed feature may comprise one or more feature descriptors.
  • Each reference feature and each observed feature may comprise one or more feature classes, and, for each feature class, a probability value, and calculating the similarity score may be based on the one or more feature classes of the reference features and their probability values and the one or more feature classes of the observed features and their probability values.
  • each feature class may be associated with a class of real-world elements.
  • the class of real-world elements may be, for example, althoughtree”, spatialsky”, spatialperson”, etc.
  • each reference feature may further comprise a space-fixed (SF) positional coordinate and each detected feature may further comprise a body-fixed (BF) positional coordinate, the BF positional coordinate being defined relative to the robot, wherein calculating the similarity score comprises mapping between the SF positional coordinate and the BF positional coordinate on the basis of a current hypothetical pose.
  • a coordinate may be multi-dimensional. For example, it may be a point in a two-dimensional space (e.g., corresponding to the earth’s surface) or a three-dimensional space (e.g., the three-dimensional space on the earth’s surface).
  • the weights of the current hypothetical poses may be determined based on a distribution of the similarity scores when the distribution fulfills a reliability condition.
  • the distribution may be a frequency distribution or a normalized frequency distribution of the similarity scores.
  • the weights of the current hypothetical poses may be determined independently of the distribution of the similarity scores when the distribution does not fulfill the reliability condition.
  • the method may comprise further adapting the weights of the current hypothetical poses are further adapted 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.
  • the position sensor or the orientation sensor or both may be based, for example, on vision, sound, radar, satellite signals, inertia, or a combination thereof.
  • a method of estimating a pose of a robot comprises: generating a first pose distribution of the robot based on one or more first navigational measurements, generating a second pose distribution of the robot based on the first pose distribution and on 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 navigational measurements, and determining a pose estimate of the robot based on the next instance of the refined pose distribution.
  • a computer-readable medium for storing instructions that when executed on a processor cause the processor to perform a method according to any one of the above described aspects.
  • Figure 1 shows a basic particle filtering process used to introduce the present disclosure.
  • Figure 2 shows the relevant steps of the basic particle filtering process of Figure 1.
  • Figure 3 shows a modified particle filtering process according to the present invention as the basic framework of the present disclosure.
  • Figure 4 shows the main steps of the modified particle filtering process according to
  • Figure 3 including pose estimation according to a first embodiment of the present invention.
  • FIG. 5 shows the main steps of the modified particle filtering process according to
  • Figure 3 including pose estimation according to a second embodiment of the present invention.
  • Figure 6 depicts the temporal behavior of a threshold for the confidence measure of the current pose distribution for a test case based on real data.
  • Figure 7 shows details of a first phase of the weight update of the correction block of
  • Figure 8 shows details of a second phase of the correction block according to a first embodiment of the weight update processing.
  • Figure 9 shows details of the second phase of the correction block according to a second embodiment of the weight update processing.
  • Figure 10 shows details of the second phase of the correction block according to a third embodiment of the weight update processing.
  • Figure 1 1 shows a vehicle with a localization system according to the present disclosure.
  • the present disclosure relates to the general technical field of mobile robot localization, in particular to the real-time localization of vehicles, especially autonomous vehicles. It offers a way to significantly improve the performance of low-cost systems by improving the mapping step, stabilizing the pose estimates and making the underlying algorithm ready for real-time application.
  • the present disclosure provides several improvements in the framework of Bayesian filtering as described above with respect to the mobile robot localization problem.
  • the basic particle filtering process used for the implementation of a Bayes filter is shown in Figure 1 to introduce the present disclosure.
  • the depicted particle filtering process is based on the well-known Monte Carlo localization, also known as particle filter localization, that localizes a mobile robot using a particle filter.
  • the process uses a particle filter to represent the distribution of likely states, with each particle representing a possible state, i.e. , a hypothesis of where the robot is, also called a hypothetical pose of the robot.
  • the particle filtering approach can represent any arbitrary distribution and can keep track of several hypothetical poses at the same time. The particles are resampled based on recursive Bayesian estimation.
  • the odometry measurement O t is obtained from one or more odometry sensors of the robot to estimate a change in the position and/or the orientation of the robot over time.
  • the one or more odometry sensors may be provided to measure the change in at least one positional coordinate and/or the change in at least one angular coordinate, such as pitch, roll, and yaw of the robot.
  • Typical examples for odometry sensors are motion sensors such as wheel encoders, rotational encoders, linear encoders, speedometers, accelerometers, gyroscopes, and inertial measurement units (IMU).
  • IMUs may be used to simultaneously determine up to 6 DOFs, i.e., the full three-dimensional position and the full three-dimensional orientation of the pose of the robot.
  • a vision-based sensor including a remote sensing means, e.g., a video camera, a radar sensor, a sonar sensor, or a combination of these, may be used to calculate odometry using a technique called visual odometry.
  • odometry sensors may be provided to determine changes in the pose of the robot with the same dimensionality as the pose.
  • Odometry sensors may include internal sensors provided with the robot that do not require measurements of the environment.
  • the odometry measurement O t may alternatively or additionally include the determination of at least one positional coordinate of the robot using one or more satellite-based sensors of the robot, i.e, external sensors.
  • satellite-based sensors determine the global position of the robot, i.e., the position of the robot relative to a global coordinate system, using global navigation satellite systems (GNSS), such as GPS, GLONASS, BeiDou, and Galileo.
  • GNSS global navigation satellite systems
  • a current weight wTM proportional to said probability is assigned to each predicted particle wherein a normalization constant a is applied to normalize the weights.
  • the measurement model is exclusively based on a mapping between a set of observed features Y t and a set of reference features Y t MAP determined from a map of the environment. Details of this map matching process will be described below with reference to Figures 7 to 10.
  • the observed features Y t are extracted from the sensor data of at least one vision-based sensor of the robot as also described in more detail below.
  • Typical examples for vision-based sensors also referred to as remote sensing means in the following, are mono and stereo cameras, radar sensors, light detection and ranging (LiDAR) sensors, e.g., using pulsed lasers, ultrasonic sensors, infrared sensors, or any other sensors adapted to provide imaging measurements of the environment of the robot.
  • LiDAR light detection and ranging
  • the sensor data output by such vision-based sensors may be analyzed to extract the above mentioned features Y t .
  • the map may in particular contain information about landmarks, lane markings, buildings, curbs, and the road geometry. If multiple vision-based sensors are used, different maps based on different frequency ranges, such as optical and radio, may be used.
  • a new set of samples jt era ti on or frame t + 1 is generated by resampling particles
  • the terms “current hypothetical poses” and“current weights” refer to the particles and corresponding weights before and after the importance resampling, as applicable, as the resampling step largely maintains the probability distribution function.
  • a current pose of the robot for the current iteration of frame t may be estimated by applying a (global or local) maximum a posteriori estimation method.
  • a minimum mean-square error criterion may be used.
  • a simple average (mean) and a mean within a window around the maximum a posteriori estimate (robust mean) may be used to determine the current pose estimate X t .
  • Figure 2 shows the relevant steps of the basic particle filtering process of Figure 1.
  • the blocks 210, 220, and 230 share the same concepts as in Figure 1 and are denoted as 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 the vision-based sensor data.
  • the inputs 1 to 4 of each iteration are highlighted by dashed frames in Figure 2.
  • Outputs 1 1 , 12, 13, and 15 of the blocks 210, 220, 230, and 250 are also shown in the figure.
  • the output 13 represents a refined pose distribution.
  • the refined pose distribution is used to compute a current pose of the robot.
  • the values of a pose distribution at different points in time may be referred to as instances of the pose distribution.
  • the current instance (i.e. the most recent available instance) of the refined pose distribution may also be referred to herein as the current pose distribution.
  • a current pose estimate X t is determined in the pose estimation step 250.
  • Mobile robots localization often has to be performed in dynamic environments where other objects and/or subjects than the robot may change their location or configuration over time. Examples of more persistent changes that may affect the pose estimation are people, changing daylight, movable furniture, other vehicles, in particular parked vehicles, doors, and the like. These dynamic objects are generally not represented by reference features in the, generally static, reference map and may therefore cause mapping errors when performing the above described update step. In addition, features of different objects, such as the edge of a table or a chair, may not be discriminable using standard feature vectors. The presence of dynamic objects in real-world environments and the general issue of observation discriminability cause mismatches during the map matching process. Therefore, the above described process may lead to incorrect pose estimates.
  • the particle filtering process as described above with respect to Figures 1 and 2 may be unstable in some situations due to its correction mechanism.
  • a satellite-based sensor signal may not be available everywhere.
  • tall buildings, tunnels, and trees may shield a GPS sensor of a vehicle from at least some of the GPS satellites. In at least some urban areas, sufficient GPS signals are therefore generally not available. As a result, odometry-based prediction is prone to drift errors. It is therefore desirable to also enable the use of the above described particle filtering process in those areas where satellite-based sensor signals are not available.
  • the prediction step 310 that determines a set of predicted samples based on the odometry measurement O t of at least one corresponding odometry sensor of the robot at time t and the last set of samples is the same as the prediction step 1 10 in Figure 1 such that a repeated description is omitted for the sake of clarity.
  • observation data Z t from at least one satellite-based sensor and/or at least one inertia-based sensor may be taken into account to include corresponding probability scores.
  • the current weights may be determined according to Equation (2) as follows:
  • a a p(Y t ⁇ X?, Y t MAP ) p(Z t ⁇ xn (2)
  • a denotes a normalization factor
  • Y t denotes a set of observed features
  • Y t MAP denotes a set of reference features.
  • X t (xP° sltwn ' Xro t a t wn ⁇ wjj , t denoting the transpose, xP° sltwn denoting one, two, or three positional coordinates such as x, y, and z coordinates in a global coordinate system, and x[ otatwn denoting one, two, or three rotational coordinates, such as pitch, roll, and yaw with respect to the orientation of a global coordinate system.
  • z 0Sltwn denotes a measurement of a corresponding number of positional coordinates in the global coordinate system
  • z ° tatwn denotes a measurement of a corresponding number of rotational coordinates in the global coordinate system.
  • the measurement Z t refers to a measurement of the global pose using at least one satellite- based sensor and/or at least one inertia-based sensor.
  • the position ⁇ p os iti on ma y k e measure d using a position sensor such as a GPS sensor and/or an accelerometer.
  • the orientation z ° tatwn may be measured using a rotation sensor such as a gyroscope.
  • the complete global pose Z t may be measured up to 6 DOFs.
  • multiple measurements from different sensors may be included in the determination of the updated weights.
  • the measured sensor data may be submitted to a filtering process before being used in the determination.
  • the resampling step 130 of Figure 1 is further modified as shown in the resampling step 330 of Figure 3 by generating only a fraction of the total number M of particles, such as 95%, from the current belief bel(X t ) while some of the particles, such as 5%, are resampled using the global pose measurement Z t and/or a global pose measurement G t that is not based on satellite-based sensor data.
  • the global pose measurement G t may for instance, be based on image processing using vision-based sensor data and/or based on inertia-based sensor data.
  • the global pose measurement G t may in particular be independent of the global pose measurement Z t , i.e., based on sensor data not included in the global pose measurement Z t .
  • the global pose and the correspondingly resampled particles can also be determined if the satellite-based sensor of the robot cannot receive GPS signals.
  • Figure 4 shows the main steps of the modified particle filtering process according to Figure 3 including pose estimation according to a first embodiment of the present invention.
  • the modified particle filtering process according to Figure 4 comprises a loop iterating over time or frame number t.
  • the inputs 1 to 5 of this iteration are shown in Figure 4 in dashed boxes.
  • a previous pose estimate X t-t at time t - 1 is provided as input 6 to the pose prediction step 460.
  • the modified process according to the first embodiment of the present disclosure produces the outputs 1 1 to 14, 15a, 15b, 18, and 19 as shown in Figure 4.
  • the correction step 420 takes into account a global pose measurement
  • resampling step 430 different from the resampling step 230 of the basic particle filtering process, resampling step 430 only generates a reduced number M - N of particles from the current belief. The remaining N particles are determined independently of the current pose distribution using a recovery particle generation step 480 as shown in Figure 4.
  • the global pose measurement G t may be acquired using image processing based on vision-based sensor data and/or using inertia-based sensor data.
  • the global pose measurement G t may be based exclusively on vision-based sensor data.
  • Adding N particles which are sampled from other reliable global poses Z t and/or G t with the corresponding importance weights ⁇ wTM ⁇ " M-w+1 determined based on the reliability, in particular a covariance, of those poses, ensures that pose estimates which are not based on the particle filtering process will be considered.
  • the presence of such pose estimates can improve the accuracy of the overall localization process and help in cases such as relocalization, missing or bad GPS signals.
  • a confidence measure of the current pose distribution expressing the confidence that the pose of the robot can be unambiguously determined from the pose distribution, is calculated in step 440.
  • the function may be the maximum a posteriori estimate.
  • Another possibility for the function / is to identify several clusters representing local maxima of the posterior probability, wherein the pose estimate is selected to be the weighted average of the most probable local maximum cluster.
  • M c is the number of weights w t c,m from the current pose distribution that belong to the local maximum cluster.
  • the localization process may output a first pose estimate 15a that is based on the current pose distribution, a second pose estimate that may in particular, be determined independent of the current pose distribution, or a combination of the first and the second pose estimates.
  • the current pose estimate derived from the current pose distribution is stored in a storage space such as a memory unit in step 455.
  • the present localization process according to the first embodiment may additionally determine an independent second pose estimate 15b by prediction in step 460.
  • the prediction may be made based on one or more previous pose estimates and/or using other global pose estimates.
  • the second pose estimate 15b may be extrapolated from two or more previous pose estimates.
  • the function g denotes a deterministic motion model that predicts the pose X t of the robot at time t from the pose X t-t of the robot at time t - 1 by applying the changes in the pose derived from the odometry measurement O t .
  • the second pose estimate 15b may also be stored in the storage 455.
  • either the first pose estimate 15a or the second pose estimate 15b is output as the current pose estimate X t .
  • the present disclosure is, however, not limited to this alternative output but may output a combination of the first pose estimate 15a and the second pose estimate 15b wherein the contribution of the first pose estimate and the second pose estimate to the combination may be determined based on the confidence measure of the current pose distribution.
  • the combined pose estimate X t may be determined according to Equation (4):
  • x represents the first pose estimate 15a and X t 2 represents the second pose estimate 15b.
  • the method of dead reckoning has been used for the prediction step of a particle filter as for instance described in E.J. Krakiwsky, C.B. Harris and R.V.C. Wong,“A Kalman filter for integrating dead reckoning, map matching and GPS positioning”, Position Location and Navigation Symposium, 1988, Record. Navigation into the 21 st Century, IEEE PLANS’88, IEEE, Orlando, FL, 1988, pp. 39-46.
  • dead reckoning in the prediction step only, however, does not solve the above-mentioned instability problem of the first pose estimate.
  • the localization process according to the first embodiment therefore combines the independent second pose estimate 15b with the first pose estimate 15a or replaces the first pose estimate 15a with the second pose estimate 15b based on the confidence measure of the current pose distribution.
  • the first pose estimate 15a is used as the current pose estimate X t if the confidence measure w t of the current pose distribution exceeds a threshold that may be time dependent. Otherwise, the second pose estimate 15b may be used as the current pose estimate X t .
  • a combination of the second pose estimate 15b derived from dead reckoning with a further pose estimate, that may be independently derived may be used if the confidence measure is smaller than or equal to the threshold.
  • both the confidence measure and the threshold are positive scalars.
  • the above described condition may be implemented for general scalars or even vectors by calculating the absolute value or applying a norm before evaluating the condition.
  • the threshold may then be repeatedly adapted, e.g., periodically or continuously, according to a function f gw , in particular based on the confidence measure of the current pose distribution.
  • the threshold may be increased or decreased based on whether the confidence measure of the current pose distribution exceeds the threshold or not.
  • the threshold may for instance be changing according to Equation (5): wherein ff w (t up ) is a monotonically increasing function of the time t up and fgS wn ⁇ t down ) is a monotonically decreasing function of the time t down .
  • a possible structure for both functions may be of the form of an exponential function as in Equation (6):
  • 0 ⁇ ffset denotes a fixed offset
  • a ew denotes a size of the change
  • c signifies a decay factor.
  • the threshold may also be only adapted if the confidence measure is higher than the threshold by a non-negative first offset value or lower than the threshold by a non-negative second offset value and else being kept constant else.
  • a transition from increasing the threshold to decreasing the threshold and vice versa may be delayed by a respective delay time.
  • Such an added delay applied to the adaptive threshold function serves the purpose of avoiding spurious instantaneous changes between the pose estimates that may cause jumps with respect to the pose of the robot. The delay will force an estimate to continuously be used within a time period At before switching to a different pose estimate.
  • Equation (7) An example for applying delay times to the adaptation of the threshold is given in Equation (7):
  • t up is reset to 0 when the pose estimation based on dead reckoning is active and t d °wn j s reset to 0 when the pose estimation based on particle filtering is active.
  • t up is increased when w t > is satisfied, otherwise t down is increased.
  • Figure 6 shows the temporal behavior of the threshold for the confidence measure of the current pose distribution for a test case based on real data.
  • Two exemplary phases for determining the pose estimate based on particle filtering and based on dead reckoning are indicated in the figure by dashed vertical lines.
  • the threshold Q is increased according to the function fgw (t up ) .
  • the threshold Q is decreased during the dead reckoning phase according to the function fgS wn ⁇ t down ). Determining from a confidence measure of the current pose distribution to interchangeably apply a first pose estimate based on particle filtering and a second pose estimate based on dead reckoning or another estimation process independent of the particle filtering combines the strength of both estimates.
  • Dead reckoning is known to be a stable pose estimate within a short period of time, but to be prone to the“drifting” phenomenon if applied over a longer period of time.
  • Particle filtering on the other hand, is free from such a“drifting” phenomenon but suffers from jumps or instability, i.e. a significant change of the pose estimate, due to unreliable measurements or observation updates in the correction step.
  • Combining two pose estimates from different approaches as in the present embodiment increases the overall stability of the localization process.
  • Figure 5 shows the main steps of the modified particle filtering process according to Figure 3 including pose estimation according to a second embodiment of the present invention.
  • the method steps annotated with the same reference signs as in Figure 4 are identical to those described above with respect to the first embodiment and are therefore not described again.
  • the second embodiment according to Figure 5 determines both, the first pose estimate 15a based on particle filtering in pose estimation step 450 and the second pose estimate 15b based on prediction, in particular dead reckoning, in prediction step 460.
  • the first and second pose estimates are herein determined as described above with respect to Figure 4.
  • the current pose estimate 16 is calculated as a combination of the first pose estimate 15a and the second pose estimate 15b and output in step 470.
  • the respective contributions of the first pose estimate and the second pose estimate to this combination are determined based on confidence measures of the respective pose estimates in step 470.
  • the current pose estimate X t may be determined according to Equation (8):
  • the respective contributions may be determined according to Equation (9) as follows:
  • can be considered as confidence measures of the respective pose estimates.
  • the covariance of a pose estimate can for instance, be estimated by first taking the Jacobian of the reprojection error cost function e around its convergence point as shown in Equation (10):
  • Figure 7 shows details of a first phase of the weight update process of the correction block 420 of Figures 4 and 5 according to the present disclosure.
  • State-of-the-art methods calculate a likelihood function based on the distance score between a set of observed feature points and a set of reference feature points in a map according to the nearest neighbor principle when performing map matching.
  • the update processes according to Figures 7 to 10 of the present disclosure significantly extend and modify this concept by exploiting additional knowledge on the observed and reference features.
  • the first phase of the update process as shown in Figure 7 uses three nested loops where initially the indices m, p, and q in the respective loop are set to 1.
  • the intermediate loop iterates over the set of observed features wherein P denotes the total
  • the inner loop finally iterates over the set of reference features YM A P _ wherein Q denotes the total number of reference features taken from the
  • the set of reference features is extracted from sensor data of at least one sensor of the robot by performing feature detection and description on at least one frame, also called keyframe, of the sensor data.
  • the sensors may be based on remote sensing and are referred to in the present disclosure as vision-based sensors.
  • the vision-based sensor may involve 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 sensors adapted to provide imaging measurements, also called ranging, of the environment of the robot.
  • 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 to extract features that may then be compared with reference features that are generally extracted offline from one or several reference maps of the environment of the robot.
  • SIFT Scale-Invariant Feature Transform
  • SURF Speed Up Robust Feature
  • BRIEF Binary Robust Independent Elementary Features
  • ORB Oriented FAST and Rotated BRIEF
  • An advanced ORB technique that also involves Simultaneous Localization and Mapping (SLAM) is for instance described in the article“ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras” by R. Mur-Artal and J.D. Tardos in IEEE Transactions on Robotics, vol. 33, no. 5, pp. 1255-1262, Oct. 2017.
  • the above-mentioned extraction methods typically process the sensor data to extract features at salient keypoint locations in the form of individual or clustered feature points.
  • feature descriptors that describe the properties of the corresponding feature points are determined.
  • Each of the above-mentioned observed features may therefore comprise one or several feature points and their corresponding feature descriptors.
  • the update process exploits semantic information related to the features in terms of feature classes. Consequently, each feature may additionally comprise one or more feature classes as described below in more detail.
  • the semantic information may in particular be used to distinguish between particular types or object classes of real-world elements such as cars, traffic signs, roads, buildings, or the like.
  • typical features may simply identify lines, corners, edges, distinct patterns or objects of distinct appearance.
  • a feature descriptor is provided as a feature vector that may have a high dimensionality.
  • the observed features and the reference features are typically structured to include the same information, i.e. feature points and corresponding feature descriptors, and potentially feature classes, to allow for a matching between the observed and the reference features that yields a correspondence associated with a likelihood (Y t ⁇ XTM, Y t MAP ), that is referred to here and in the following as map matching.
  • the set of reference features Y t MAP is generally extracted from a set of reference images acquired using the same imaging method as the one used by the at least one vision-based sensor and related to the environment of the robot.
  • the extracted reference features may then be stored as a so-called feature-based map in a database or a storage medium.
  • maps may be feature-based or location-based. While the location-based maps are volumetric, in that they include feature descriptors for any location inside the area of the map, feature-based maps only specify features at specific locations, in particular locations of key objects contained in the map.
  • the update process according to the present embodiment is described within the context of feature-based maps but may easily be modified to be applied to the location-based maps. While feature-based models extract relatively little information, by virtue of the fact that feature extractors project high dimensional sensor measurements into lower dimensional space, this advantage is offset by superior computational properties of feature-based representations.
  • mobile robots are generally located in dynamic environments that change over time, both with respect to the location of other objects or subjects and with respect to environmental conditions such as changing daylight.
  • one potential problem of the matching process between the observed features and the reference features lies in the fact that dynamic objects present in reference images used for the detection of the reference features may not be present in the topical environment of the robot and vice versa.
  • Feature extraction and matching based on such dynamic objects thus introduces errors in the update process.
  • State-of-the-art methods therefore suggested applying dedicated filters to the sensor data of the at least one vision-based sensor of the robot before performing the feature extraction and matching. Such filtering, however, further contributes to the already heavy computational load of the underlying processing.
  • the feature/map matching process therefore devises an alternative approach wherein the reference features, more specifically the reference images are filtered offline to remove dynamic objects such as pedestrians and other vehicles.
  • the dynamic objects may be identified for instance, based on semantic information such as the above-mentioned feature classes.
  • the map of the reference features has been created before performing the localization process and is available from a storage medium or a database for the below described matching process.
  • Situations may, however, exist where the mobile robot enters a terrain or area of which no such map exists.
  • the described method may be modified to perform simultaneous localization and mapping (SLAM) as it is generally known in the art.
  • SLAM simultaneous localization and mapping
  • the robot acquires a map of its environment while simultaneously localizing itself relative to this map.
  • a SLAM algorithm must reason about the relation of this object to previously detected objects. Information that helps localize the robot is propagated through the map, and as a result improves the localization of other features in the map.
  • the update process according to the present embodiment may be applied to the SLAM problem.
  • the set of reference features includes those features already extracted from the current map of the environment of the robot. Consequently, the reference features may include dynamic objects that may be removed from the set based on semantic information as described above. Alternatively, the dynamic objects may be kept as reference features under the assumption that they remain in the environment of the robot during the SLAM process.
  • the algorithm may further selectively remove some of the dynamic objects, such as pedestrians and moving vehicles that are highly dynamic based on the corresponding semantic information or a feature class while keeping other less dynamic objects such as parked vehicles.
  • each reference feature comprises at least one global, i.e.
  • This transformation may of course also involve rotations to map between rotational coordinates of the local and global coordinate systems.
  • the transformation may be performed in the inverse direction to map the reference features into the local coordinate system of the robot. After performing the coordinate transform, a likelihood distance score and a similarity score are calculated in step 422 according to the present disclosure.
  • the distance score may for instance be computed for each particle m, each observed feature p, and each reference feature q using a nearest neighbor based likelihood scoring method as known in the art.
  • the similarity score STM ,p ’ 9 may for instance be computed using the Hamming distance for an ORB feature descriptor. The similarity score may then be used to penalize the distance score in step 423 according to Equation (12) as follows if the features are not similar:
  • D MIN is a minimum distance score for the case that the similarity score exceeds a threshold 6 S for the similarity score that may for instance, be chosen within the range of the Hamming distance.
  • each feature comprises one or more feature classes and, for each feature class, a probability value that conveys the semantic information
  • calculating the similarity scores takes into account the feature classes of the reference features and the observed features and their respective probabilities.
  • each feature class may be associated with a class of real-world elements and each probability value expresses the probability of the feature belonging to the respective feature class.
  • the similarity score S t m,p ’ 9 may be determined as the probability of the reference feature q and the observed feature p having the same association, i.e. semantic label.
  • the threshold 6 S for this case may simply express a particular probability value.
  • Calculation of the similarity scores may be performed separately on feature descriptors and feature classes or on a combination of feature descriptors and feature classes.
  • the feature classes may, in particular, be integrated into the feature descriptors.
  • the penalty for the distance score in step 423 according to Equation (12) may be applied to feature descriptors and feature classes in a like way. If the semantic information is included in the calculation of the similarity score based on the feature classes, dynamic objects do not have to be removed separately from the sensor data of the at least one vision-based sensor if the map of reference features was pre-processed to remove dynamic objects.
  • the similarity scores are then further processed by calculating a similarity score distribution in step 426, for instance by fitting the set of similarity scores to a given distribution model, such as a one-sided distribution, so that a? with mean p and standard deviation a? of the distribution.
  • the distribution may be a frequency distribution or a normalized frequency distribution of the scores. Based on the parameters m£ and s of the distribution of the similarity scores, a reliability condition for the distribution may be defined as in Equation (15): t ⁇ 9R (15)
  • 0 R is a threshold that may be determined as the tail threshold of the similarity distribution.
  • the updated weights 12a are output by the process. According to the embodiment shown in Figure 8, the current weights 12a are therefore determined according to Equation (16):
  • the current importance weights may be obtained by further applying a weighting based on a global rotation estimate which may come from at least one rotation sensor, such as an inertia-based sensor.
  • Steps 426 to 428 and 429a are identical to those in Figure 8 so that their description is not repeated.
  • the weight is further adjusted based on a global rotation estimate z otatwn from the global pose measurement Z t in step 529c to produce updated importance weights 12a according to Equation (17):
  • the assigned weight may then further be adjusted in step 529d based on a global rotation estimate z otatwn from the global pose measurement Z t to produce updated importance weights 12b according to Equation (17).
  • the update process according to the second embodiment in Figure 9 has two advantages. First, in the case that the reliability condition is not satisfied, the importance weights will be determined by the global position estimate that can provide a certain degree of reliability. Secondly, further weighting based on a global rotation estimate regardless of whether the reliability condition is satisfied or not further increases the reliability of the updated weights. According to the second embodiment, two additional separate global estimates for position and rotation, for instance derived from a GPS sensor and an IMU sensor, are used to increase the reliability of the updated weights and, consequently, the current pose estimate.
  • a global pose measurement G t that comes from position and/or rotation sensors other than the satellite-based sensors, and possibly the inertia-based sensors, e.g., from vision- based sensors, is used to further increase the reliability of the updated importance weights.
  • the weight wTM p(Z t , G t ⁇ XJP-) may be assigned in step 629b based on the global pose estimates Z t and G t to produce the updated importance weights 12b.
  • the weights determined in step 429a are further adjusted based on the global pose estimates Z t and G t to produce the updated importance weights 12a according to Equation (19):
  • either the global position estimate or the global rotation estimate or both may be used in steps 629b and 629c of the third embodiment for the global pose estimates Z t and G t .
  • the current weights may be further adapted based on a global pose estimate derived from at least one of sensor data of a position sensor and sensor data of a rotation sensor, e.g., from at least one of sensor data of a satellite-based sensor, sensor data of an inertia-based sensor, and sensor data of the at least one vision-based sensor.
  • knowledge of a feature descriptor and optionally a feature class for the observed and reference features is included to increase the probability of finding the correct nearest neighbor within a given search area and to adjust the particle weights calculation.
  • Feature points which do not satisfy a threshold criterion for the similarity score calculated for these feature descriptors and feature classes are penalized.
  • the predicted particles are weighted based on the distribution of the similarity scores if the corresponding distribution fulfills a reliability condition and the distance scores for the predicted particles are discarded and replaced with one or more global pose estimates if the distribution does not fulfill the reliability condition.
  • Usage of feature descriptors and optionally feature classes for the observed and reference features further increases filter accuracy against dynamic objects, such as passing vehicles, pedestrians, and the like, and increases feature discriminability. Consequently, the resulting current pose estimate becomes more reliable.
  • Figure 1 1 finally shows a vehicle implementing the present disclosure according to any of the above described embodiments.
  • the vehicle 700 is equipped with wheel encoders 792 on the front wheels as odometry sensors that measure the rotation of the front wheels from which a change in the position of the vehicle can be determined.
  • the vehicle 700 further includes an inertial measurement unit (IMU) 790 as an inertia-based sensor configured to determine changes in 6 DOFs, i.e. in the positional coordinates as well as the orientation of the vehicle.
  • the IMU 790 thus constitutes a combination of a position sensor and a rotation sensor.
  • the vehicle is equipped with a GPS sensor 796 as a satellite-based sensor or position sensor for measuring a global pose z ⁇ 0Sltwn based on a GPS signal.
  • the vehicle 700 is equipped with a stereoscopic camera 794 as a vision-based sensor that records stereoscopic images of the environment of the vehicle. The images recorded by the camera 794 are then processed as described above to extract observed features in the environment of the vehicle.
  • the vehicle is equipped with processing circuitry 780 configured to execute any one of the above described methods.
  • the sensor signals from the odometry sensors 792, the IMU 790, the GPS sensor 796 and the camera 794 are transmitted to the processing circuitry 780 via cable or wirelessly.
  • the processing circuitry 780 then processes the sensor data as described above to perform localization of the vehicle 700 in the global coordinate system as indicated in Figure 1 1 with dashed lines.
  • Figure 1 1 shows the x- and y-axes 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 called space-fixed coordinates while the local coordinates, represented by the x’- and y’- axes as well as the z-axis, are also called body-fixed coordinates.
  • the heading of the vehicle 700 is indicated by the x’-axis in the figure. In a convenient way, this heading can be used to define the x’-axis of the local coordinate system wherein the rotation angles with respect to roll, pitch, and yaw are shown in the vehicle fixed local coordinate system.
  • the processing circuitry 780 is configured to transform between positional and rotational coordinates in the body-fixed local coordinate system and positional and rotational coordinates in the space-fixed global coordinate system.
  • a global pose and a global pose estimate therefore always refer to space-fixed global coordinates in the present disclosure.
  • Figure 1 1 further schematically indicates the velocity of the vehicle 700 as a vector whose direction may differ from the heading of the vehicle due to sideslip of the vehicle. Such a sideslip may be one source of errors in the localization process as it is generally not accounted for by the wheel encoders 792.
  • the processes and methods described in the present disclosure may be implemented in a system comprising a processing circuitry configured to perform the described processes and methods.
  • the system may comprise a combination of software and hardware.
  • the prediction, correction, and resampling steps of the particle filtering process according to Figures 4 and 5 may be implemented as software modules or as separate units of processing circuitry.
  • any of the blocks in the Figures 2, 4, 5, and 7 to 10 can be implemented as hardware units or software modules.
  • the described processing may be performed by a chip, such as a general purpose processor, a CPU, a GPU, a digital signal processor (DSP), or a field programmable gate array (FPGA), or the like.
  • DSP digital signal processor
  • FPGA field programmable gate array
  • the present disclosure 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-mentioned hardware components.
  • ASIC application-specific integrated circuit
  • the storage 455 in Figures 4 and 5 may be implemented using any of the storage units known in the art, such as a memory unit, in particular RAM, ROM, EEPROM, or the like, a storage medium, in particular a DVD, CD, USB (flash) drive, hard disk, or the like, a server storage available via a network, etc.
  • a memory unit in particular RAM, ROM, EEPROM, or the like
  • a storage medium in particular a DVD, CD, USB (flash) drive, hard disk, or the like
  • server storage available via a network, etc.
  • the processing circuitry 718 may be configured to determine a confidence measure of the current pose distribution in step 440 of Figure 4 or to determine confidence measures of independently determined pose estimates in step 470 of Figure 5.
  • the processing circuitry may be configured to perform pose estimation in step 450 based on the particle filtering and to perform an independent pose estimation based on prediction in step 460.
  • the above-described localization processes and sub-processes may also be implemented by a program including instructions stored on a computer-readable medium.
  • the instructions when executed on a processor, cause the processor to perform the above described processes and methods.
  • the computer-readable medium can be any medium on which the instructions are stored such as a DVD, CD, USB (flash) drive, hard disk, server storage available via a network, or the like.
  • the present disclosure offers ways of improving the performance of low-cost systems for mobile robot localization.
  • the processes according to the present disclosure have been extensively tested in real time using car prototypes having GPS, IMU and stereo camera sensors. Preliminary results show that the percentage of absolute mean errors below 1 m is approximately 90% and the averaged absolute mean error is 0.75 m or below in the longitudinal direction and less than 0.4 m in the lateral direction. These errors lie within the required specification of the loV Planning and Control Division and are therefore suitable for commercial deployment.
  • the methods and systems of the present disclosure significantly improve the localization accuracy performance while maintaining the low-cost feature. They may be implemented in low-cost systems having a stereoscopic camera, a GPS sensor and an IMU sensor.
  • the described methods and systems provide high accuracy in all 6 DOFs of the vehicle pose including the altitude and the rotation (roll, pitch, and yaw). Due to their low requirements on processing power, the disclosed processes are suitable for real-time implementation. First tests have demonstrated that pose estimation can be performed at around 10 Hz.
  • the described methods and systems solve many of the problems of low-cost vehicle localization systems by solving the problem of dynamic objects and observation discriminability by means of an extended feature descriptor in the particle filtering process, by solving the problem of pose estimate instability by interchangeably using particle filtering and dead reckoning, and by solving the problem of intermittency of GPS signals by adding a global pose estimate based on non-GPS sensors.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

The present disclosure 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, that is based on a current pose distribution or a second pose estimate or a combination of the first pose estimate and the second pose estimate, and 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. Consequently, the strength of each pose estimate is combined in 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, the set of observed features being detected in an environment of the robot from sensor data of one or more sensors of the robot. Using similarity scores solves the problem of dynamic objects in the environment of the robot and increases feature discriminability.

Description

ESTIMATION OF A POSE OF A ROBOT
The present disclosure relates to estimating the pose of a robot, in particular of a vehicle, in a robust and efficient way. The disclosed systems and methods may be used for real-time localization of a vehicle.
BACKGROUND
Mobile robot localization is becoming increasingly important in robotics as robot systems operate in increasingly unstructured environments. Nowadays applications of mobile robot systems include as diverse applications as mobile platforms for planetary exploration, underwater vehicles for deep-sea exploration, robotic vehicles in the air or in confined spaces, such as mines, cars that travel autonomously in urban environments, and androids operating in highly dynamic environments involving interaction with human beings.
Mobile robots in these and other applications have to be operated in environments that are inherently unpredictable, where they often have to navigate in an environment composed of static and dynamic objects. In addition, even the location of the static objects is often unknown or known only with uncertainty. It is therefore crucial to localize the robot with high precision, generally using sensor data from sensors of the robot and/or external sensors. The problem of localization involves estimating a robot’s coordinates and often its orientation, together forming the so-called pose, in an external reference frame or global coordinate system from the sensor data, often using a map of the environment.
To account for the inherent uncertainties of this localization process, which include unavoidable measurement errors and sensor noise, generally a probabilistic approach, wherein the estimate of the robot’s momentary pose, also called belief, is represented by a probability density function over the space of all locations, and potentially orientations, the so- called state space.
A frequently used probabilistic approach to the localization problem involves recursive Bayesian estimation, also known as a Bayes filter. Using a Bayes filter, the probability density function of a robot is continuously updated based on the most recently acquired sensor data or observation. The recursive algorithm consists of two parts: prediction and update. The true state X of the robot is assumed to be an unobserved Markov process, and the measurements Z are the observed states of a hidden Markov model. The prediction step uses a system model p(Xt\Xt- ) .also called motion model, to predict the probability distribution function p(Xt \ Z1:t i) , the so-called current prior, at time t given the previous observations Z1:t-1 from the previous probability distribution function p
Figure imgf000004_0001
at time t - 1 , the so-called previous posterior, wherein the predicted probability distribution function is spread due to noise. The update step updates the prediction in light of the new observation data to calculate the current probability distribution function p(Zt|Z1:t) given the observations Z1:t up to the current time, the so-called current posterior.
The current posterior is proportional to the product of the measurement likelihood p(Zt\Xt) and the current prior pQi^Z^^) normalized by the evidence piZ^Z^^) . Through the likelihood p(Zt \Xt) , a measurement model expressing the conditional probability of observation Zt given the true state Xt at time t enters the calculation. From the current posterior p(Zt|Z1:t) , an optimal estimate )Ct for the true state Xt at time t , i.e. an estimate for the pose of the robot, can be determined, for instance by determining the maximum of the current probability distribution function or applying a minimum mean-square error (MMSE) approach. The pose estimate may then be used to operate the robot in its environment.
If the system and measurement models are linear and the posterior is Gaussian, the Bayes filter turns into a Kalman filter. For a nonlinear system with additive noise, a local linearization using a first-order Taylor series expansion may be used to provide an extended Kalman filter (EKF).
An extended Kalman filter localization algorithm is for instance described in Chapter 7 of the book“Probabilistic Robotics” by S. Thrun, W. Burgard, and D. Fox, The MIT Press, 2018. The motion model, i.e. the system model, rO^Ii^,Z^) for the state transition probability given the previous state Xt-t and the control data ut is implemented either using a velocity motion model wherein the control data ut is given by velocities or using an odometry motion model wherein the control data ut is replaced by sensor measurements. Furthermore, the motion model is extended by a map m of the environment of the robot to create a map-based motion model piXtlu^ Xf ^ m) that may be approximately factorized as in Equation (1 ):
piXt ut^t^ m) = ri pCZtli^Zt- pCZtlm) (1 ) where h is a normalizing factor. The second term p(Xt\m) expresses the“consistency” of pose or state Xt with the map m.
The measurement model that describes the formation processes by which sensor measurements are generated in the physical world is also extended by the map m of the environment to define a conditional probability distribution function p(Zt\Xt, m where Xt is the robot pose and Zt is the measurement at time t.
Both, the velocity motion model and the odometry motion model are subject to noise that leads to a growing uncertainty as the robot moves. In addition, robot odometry is generally subject to drift and slippage such that there is no fixed coordinate transformation between the coordinates used by the robot’s internal odometry and the physical world coordinates. Determining the pose of a robot relative to a given map of the environment generally increases the certainty of the pose estimate but significantly adds to the computational complexity of the underlying algorithm. As a result, commonly known algorithms for the mobile robot localization problem generally cannot be executed in real time and often suffer from loss of precision as the robot moves.
This is particularly problematic in the context of autonomous vehicles where a high precision or accuracy of the vehicle positioning or localization is crucial for safety reasons. In addition, the economical aspect plays a big role to ensure a feasible commercial deployment in vehicles that is usually implemented as part of the Advanced Driver-Assistance Systems (ADAS) solution.
The recent review paper“A Survey of the State-of-the-Art Localization Techniques and Their Potentials for Autonomous Vehicle Applications” by S. Kuutti, S. Fallah, K. Katsaros, M. Dianati, F. Mccullough, and A. Mouzakitis in IEEE Internet of Things Journal, vol. 5, no. 2, pp. 829-846, April 2018 reviews the state-of-the-art vehicle localization systems to support autonomous driving. Low-cost systems mostly use sensors such as GPS (Global Positioning System), IMU (Inertial Measurement Unit), and (mono or stereo) cameras. The problem with these low-cost systems is that their accuracy is rather low. By way of example, the percentage of absolute mean errors below 1 m is 80% and the averaged absolute mean error is 1.43 m in the longitudinal direction or the driving direction and 0.58 m in the lateral direction. The Internet of Vehicles (loV) Planning and Control Division, however, requires a maximum error of 1 m in the longitudinal direction and of 0.5 m in the lateral direction. Although low-cost systems are appealing as the involved sensors are in most cases already embedded in today’s vehicles, the lack of accuracy prevents widespread implementation in autonomous vehicles.
Furthermore, current state-of-the-art systems only estimate the pose of the vehicle with respect to two-dimensional planar coordinates and potentially the bearing of the vehicle, i.e. at maximum three degrees of freedom. In a potentially unknown three-dimensional terrain, estimation of the full 6 degrees of freedom (DoF) pose, i.e. a three-dimensional position and a three-dimensional orientation, for instance including roll, pitch, and yaw, is desirable. Finally, sensor data from GPS sensors is frequently unavailable due to blockage of the GPS signal by buildings or trees and odometry measurements using an IMU sensor suffer from an inherent drift. Consequently, a robust vehicle localization method and system are needed to fulfill the requirements with respect to safety of autonomous vehicles.
SUMMARY OF INVENTION
The present disclosure offers a way to significantly improve the performance of the above- mentioned low-cost systems and thereby solves the above described technical problems. The disclosed methods and systems in particular provide several improvements in the framework of Bayesian filtering and increase the robustness of the localization process.
The disclosed methods and systems not only allow to perform localization in several (e.g., six) degrees of freedom (DoF), but can also be configured for running at a rate of 10 Hz or more and are therefore suitable for real-time implementations. They can be used for determining the pose of an autonomous or non-autonomous vehicle or other kind of robot. Their potential field of application is thus not limited to autonomous driving. Each of the devices referred to herein as an ..apparatus" may be a system of cooperating devices. The apparatus may comprise processing circuitry configured to perform the various data or signal processing operations associated with the respective apparatus. Those operations are described in detail below. The processing circuitry may be a combination of software and hardware. For example, the processing circuitry may comprise one or more processors and a non-volatile memory in which program code executable by the one or more processors is stored. The program code causes the processing circuitry to perform the respective operations when executed by the one or more processors.
According to one aspect of the present disclosure, an apparatus for estimating a pose of a robot is provided, wherein the apparatus is configured to determine a current pose estimate of the robot based on a first pose estimate or a second pose estimate or a combination of the first pose estimate and the second pose estimate, wherein the first pose estimate is based on a current pose distribution of the robot; and 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. Thus a more accurate and more reliable pose estimate can be obtained. In an embodiment, the apparatus is configured to determine a current pose estimate as a weighted sum of multiple pose estimates, each of the multiple pose estimates having a respective weight in the weighted sum, wherein the multiple pose estimates include a first pose estimate, which is based on a current pose distribution, and one or more further pose estimates, and wherein the weights of the multiple pose estimates are based on the current pose distribution.
The second pose estimate may be based on one or more of the following: prediction from one or more previous pose estimates, or a global pose estimate derived from at least one of sensor data from a position sensor and sensor data from an orientation sensor. The prediction may include dead reckoning.
The contribution of the first pose estimate and the contribution of the second pose estimate may be determined based on a confidence measure of the current pose distribution, in particular with regard to the first pose estimate.
Upon determination that the confidence measure of the current pose distribution exceeds a threshold, only the first pose estimate contributes to the current pose estimate.
According to a further aspect, the apparatus may be further configured to adapt the threshold based on the confidence measure of the current pose distribution. The threshold may be adapted repeatedly, e.g., periodically or continuously.
According to a further aspect, the threshold may be increased in response to the confidence measure of the current pose distribution being significantly higher than the threshold, or the threshold may be decreased in response to the confidence measure of the current pose distribution being significantly lower than the threshold. The confidence measure may be considered to be significantly higher than the threshold when the confidence measure exceeds the threshold plus a non-negative first offset. The first offset may be zero. Similarly, the confidence measure may be considered to be significantly lower than the threshold when the confidence measure is lower than the threshold minus a non-negative second offset. The second offset may be zero.
A transition from increasing the threshold to decreasing the threshold and vice versa may be delayed by a respective delay time.
The contribution of the first pose estimate and the contribution of the second pose estimate may alternatively be determined based on confidence measures of the respective pose estimates.
According to another aspect of the present disclosure, an apparatus for estimating a pose of a robot is provided, wherein the apparatus is configured to determine a plurality of current hypothetical poses of the robot, in particular using prediction; for each of the plurality of current hypothetical poses, to determine a weight; and to determine a current pose estimate of the robot based on the plurality of current hypothetical poses and their weights, wherein for each of the plurality of current hypothetical poses, determining the weight comprises calculating a similarity score which is a measure of similarity between a set of reference features and a set of observed features. The set of observed features may comprise features detected in an environment of the robot. The features may be detected by one or more sensors of the robot. The sensors may include remote sensing means, e.g., a video camera, a radar sensor, a sonar sensor, or a combination of these. The apparatus may comprise processing circuitry to perform the pose estimation. Thus a reliable pose estimate can be obtained.
Each reference feature and each observed feature may comprise one or more feature descriptors.
Each reference feature and each observed feature may comprise one or more feature classes, and, for each feature class, a probability value, and calculating the similarity score may be based on the one or more feature classes of the reference features and their probability values and the one or more feature classes of the observed features and their probability values.
According to a further aspect, each feature class may be associated with a class of real-world elements. The class of real-world elements may be, for example, „tree“, „sky“, „person“, „ vehicle", or„building“.
According to a further aspect, each reference feature may further comprise a space-fixed (SF) positional coordinate and each detected feature may further comprise a body-fixed (BF) positional coordinate, the BF positional coordinate being defined relative to the robot, wherein calculating the similarity score comprises mapping between the SF positional coordinate and the BF positional coordinate on the basis of a current hypothetical pose. A coordinate may be multi-dimensional. For example, it may be a point in a two-dimensional space (e.g., corresponding to the earth’s surface) or a three-dimensional space (e.g., the three-dimensional space on the earth’s surface).
The weights of the current hypothetical poses may be determined based on a distribution of the similarity scores when the distribution fulfills a reliability condition. The distribution may be a frequency distribution or a normalized frequency distribution of the similarity scores.
According to a further aspect, the weights of the current hypothetical poses may be determined independently of the distribution of the similarity scores when the distribution does not fulfill the reliability condition.
According to a further aspect, the apparatus may further comprise at least one of a position sensor and an orientation sensor, wherein the weights of the current hypothetical poses are further adapted 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. The position sensor or the orientation sensor or both may be based, for example, on vision, sound, radar, satellite signals, inertia, or a combination thereof.
According to another aspect of the disclosure, an apparatus for estimating a pose of a robot is configured to: generate a first pose distribution of the robot based on one or more first navigational measurements, generate a second pose distribution of the robot based on the first pose distribution and on a current instance of a refined pose distribution, generate a next instance of the refined pose distribution based on the second pose distribution and on one or more second navigational measurements, and determine a pose estimate of the robot based on the next instance of the refined pose distribution. Thus a new distribution peak can be added to the existing pose distribution. In a situation in which the existing pose distribution (i.e. the current instance of the refined pose distribution) is erroneous (e.g., due to errors in sensor readings or absence of sensor readings, for example after a period of lack of camera or satellite data), the presence of the new, added peak in the next instance of the refined distribution can enable the apparatus to“recover”, i.e. to find an accurate, new pose estimate. Thus a reliable pose estimate can be obtained.
According to a further aspect, the current instance and the next instance of the refined pose distribution are each represented by a set of hypothetical poses and associated weights, wherein the set representing the current instance and the set representing the next instance comprise the same number of hypothetical poses.
According to a further aspect, in generating the second pose distribution, the current instance of the refined pose distribution contributes more to the second pose distribution than the first pose distribution. For example, the second pose distribution may be a weighted sum of the first pose distribution and the current instance of the refined pose distribution, wherein the current instance of the refined pose distribution has a greater weight than the first pose distribution. For example, the current instance of the refined pose distribution and the first pose distribution may have relative weights of 1 minus X (e.g., 0.95) and X (e.g., 0.05), respectively, wherein X is less than 0.5. For example, the current instance of the refined pose distribution may be represented by a set of, e.g., 95 samples (i.e. 95 hypothetical poses) while the first pose distribution is represented by a set of, e.g., 5 samples, with all the samples (a total of 100 samples in this example) having the same sample weight (e.g., 0.01 ). In this example, the second pose distribution can then be taken as the set consisting of all the samples from the two sets. According to a further aspect, the apparatus is configured to generate the first pose distribution independently of the refined pose distribution.
According to a further aspect, the apparatus is configured to generate the one or more first navigational measurements by one or more of the following: satellite-based pose estimation, inertia-based pose estimation, vision-based pose estimation, or user input. The first navigational measurements may comprise a global pose estimate. The global pose estimate may be derived, for example, from at least one of sensor data from a position sensor and sensor data from an orientation sensor.
According to a further aspect, the apparatus is configured to generate the one or more second navigational measurements by one or more of the following: satellite-based pose estimation, inertia-based pose estimation, vision-based pose estimation, or odometric pose estimation.
According to one aspect of the present disclosure, a robot, in particular a vehicle, especially an autonomous vehicle, is provided that comprises the apparatus according to any one of the above aspects.
According to another aspect of the present disclosure, a method for estimating a pose of a robot is provided, wherein the method comprises determining a current pose estimate of the robot based on a first pose estimate or a second pose estimate or a combination of the first pose estimate and the second pose estimate, wherein the first pose estimate is based on a current pose distribution of the robot, and wherein a contribution of the first 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 pose estimate may be determined by one or more of the following: prediction from one or more previous pose estimates, or deriving a global pose estimate from at least one of sensor data from a position sensor and sensor data from an orientation sensor.
The contribution of the first pose estimate and the contribution of the second pose estimate may be determined based on a confidence measure of the current pose distribution, in particular with regard to the first pose estimate.
Upon determination that the confidence measure of the current pose distribution exceeds a threshold, only the first pose estimate contributes to the current pose estimate. According to a further aspect, the method may further comprise adapting the threshold based on the confidence measure of the current pose distribution. The threshold may be adapted repeatedly, e.g., periodically or continuously.
According to a further aspect, the threshold may be increased in response to the confidence measure of the current pose distribution being significantly higher than the threshold, or the threshold may be decreased in response to the confidence measure of the current pose distribution being significantly lower than the threshold. The confidence measure may be considered to be significantly higher than the threshold when the confidence measure exceeds the threshold plus a non-negative first offset. The first offset may be zero. Similarly, the confidence measure may be considered to be significantly lower than the threshold when the confidence measure is lower than the threshold minus a non-negative second offset. The second offset may be zero.
A transition from increasing the threshold to decreasing the threshold and vice versa may be delayed by a respective delay time.
The contribution of the first pose estimate and the contribution of the second pose estimate may alternatively be determined based on confidence measures of the respective pose estimates.
According to one aspect of the present disclosure, a method for estimating a pose of a robot is provided, wherein the method comprises determining a plurality of current hypothetical poses of the robot, in particular using prediction; for each of the plurality of current hypothetical poses, determining a weight; and determining a current pose estimate of the robot based on the plurality of current hypothetical poses and their weights, wherein for each of the plurality of current hypothetical poses, determining the weight comprises calculating a similarity score which is a measure of similarity between a set of reference features and a set of observed features. The set of observed features may comprise features detected in an environment of the robot. The features may be detected by one or more sensors of the robot. The sensors may include remote sensing means, e.g., a video camera, a radar sensor, a sonar sensor, or a combination of these.
Each reference feature and each observed feature may comprise one or more feature descriptors.
Each reference feature and each observed feature may comprise one or more feature classes, and, for each feature class, a probability value, and calculating the similarity score may be based on the one or more feature classes of the reference features and their probability values and the one or more feature classes of the observed features and their probability values. According to a further aspect, each feature class may be associated with a class of real-world elements. The class of real-world elements may be, for example, „tree“, „sky“, „person“, „ vehicle", or„building“.
According to a further aspect, each reference feature may further comprise a space-fixed (SF) positional coordinate and each detected feature may further comprise a body-fixed (BF) positional coordinate, the BF positional coordinate being defined relative to the robot, wherein calculating the similarity score comprises mapping between the SF positional coordinate and the BF positional coordinate on the basis of a current hypothetical pose. A coordinate may be multi-dimensional. For example, it may be a point in a two-dimensional space (e.g., corresponding to the earth’s surface) or a three-dimensional space (e.g., the three-dimensional space on the earth’s surface).
The weights of the current hypothetical poses may be determined based on a distribution of the similarity scores when the distribution fulfills a reliability condition. The distribution may be a frequency distribution or a normalized frequency distribution of the similarity scores.
According to a further aspect, the weights of the current hypothetical poses may be determined independently of the distribution of the similarity scores when the distribution does not fulfill the reliability condition.
According to afurther aspect, the method may comprise further adapting the weights of the current hypothetical poses are further adapted 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. The position sensor or the orientation sensor or both may be based, for example, on vision, sound, radar, satellite signals, inertia, or a combination thereof.
According to one aspect, a method of estimating a pose of a robot comprises: generating a first pose distribution of the robot based on one or more first navigational measurements, generating a second pose distribution of the robot based on the first pose distribution and on 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 navigational measurements, and determining a pose estimate of the robot based on the next instance of the refined pose distribution.
According to one aspect of the present disclosure, a computer-readable medium is provided for storing instructions that when executed on a processor cause the processor to perform a method according to any one of the above described aspects. BRIEF DESCRIPTION OF THE DRAWINGS
In the following, exemplary embodiments are described in more detail with reference to the attached figures and drawings, in which:
Figure 1 shows a basic particle filtering process used to introduce the present disclosure. Figure 2 shows the relevant steps of the basic particle filtering process of Figure 1. Figure 3 shows a modified particle filtering process according to the present invention as the basic framework of the present disclosure.
Figure 4 shows the main steps of the modified particle filtering process according to
Figure 3 including pose estimation according to a first embodiment of the present invention.
Figure 5 shows the main steps of the modified particle filtering process according to
Figure 3 including pose estimation according to a second embodiment of the present invention.
Figure 6 depicts the temporal behavior of a threshold for the confidence measure of the current pose distribution for a test case based on real data.
Figure 7 shows details of a first phase of the weight update of the correction block of
Figures 4 and 5.
Figure 8 shows details of a second phase of the correction block according to a first embodiment of the weight update processing.
Figure 9 shows details of the second phase of the correction block according to a second embodiment of the weight update processing.
Figure 10 shows details of the second phase of the correction block according to a third embodiment of the weight update processing.
Figure 1 1 shows a vehicle with a localization system according to the present disclosure.
DETAILED DESCRIPTION
The present disclosure relates to the general technical field of mobile robot localization, in particular to the real-time localization of vehicles, especially autonomous vehicles. It offers a way to significantly improve the performance of low-cost systems by improving the mapping step, stabilizing the pose estimates and making the underlying algorithm ready for real-time application.
More specifically, the present disclosure provides several improvements in the framework of Bayesian filtering as described above with respect to the mobile robot localization problem.
The basic particle filtering process used for the implementation of a Bayes filter is shown in Figure 1 to introduce the present disclosure. The depicted particle filtering process is based on the well-known Monte Carlo localization, also known as particle filter localization, that localizes a mobile robot using a particle filter. The process uses a particle filter to represent the distribution of likely states, with each particle representing a possible state, i.e. , a hypothesis of where the robot is, also called a hypothetical pose of the robot.
The posterior probability distribution function (also called probability density function) or posterior belief bel(Xt ) = p(Xt|Z1:t) is represented by a set of randomly chosen weighted samples (particles) {Zt m,wt”¾=1 with M hypothetical poses {Zt”¾=1 and corresponding weights {w™}"=1 . For a very large number M of samples, the characterization becomes an equivalent representation of the true probability distribution function. The particle filtering approach can represent any arbitrary distribution and can keep track of several hypothetical poses at the same time. The particles are resampled based on recursive Bayesian estimation.
In the prediction step 1 10, the current prior bel(Xt )
Figure imgf000014_0001
is determined by applying a simulated motion to each of the particles {Z™1}"=1 at time -1 . According to the present disclosure, an odometry motion model rO^IO^Z^) based on an odometry measurement Ot of at least one corresponding sensor of the robot at time t is used to obtain a set of predicted samples {Zt m}"=1 based on the last set of samples
Figure imgf000014_0002
.
The odometry measurement Ot is obtained from one or more odometry sensors of the robot to estimate a change in the position and/or the orientation of the robot over time. The one or more odometry sensors may be provided to measure the change in at least one positional coordinate and/or the change in at least one angular coordinate, such as pitch, roll, and yaw of the robot. Typical examples for odometry sensors are motion sensors such as wheel encoders, rotational encoders, linear encoders, speedometers, accelerometers, gyroscopes, and inertial measurement units (IMU). IMUs may be used to simultaneously determine up to 6 DOFs, i.e., the full three-dimensional position and the full three-dimensional orientation of the pose of the robot. In addition, a vision-based sensor, including a remote sensing means, e.g., a video camera, a radar sensor, a sonar sensor, or a combination of these, may be used to calculate odometry using a technique called visual odometry. Generally, odometry sensors may be provided to determine changes in the pose of the robot with the same dimensionality as the pose. Odometry sensors may include internal sensors provided with the robot that do not require measurements of the environment.
In addition to the motion sensors, the odometry measurement Ot may alternatively or additionally include the determination of at least one positional coordinate of the robot using one or more satellite-based sensors of the robot, i.e, external sensors. Such satellite-based sensors determine the global position of the robot, i.e., the position of the robot relative to a global coordinate system, using global navigation satellite systems (GNSS), such as GPS, GLONASS, BeiDou, and Galileo.
In the update step 120, the current weights {w™}"=1 , also called current importance weights, are updated from the previous weights {w^1}^=1 of the previous posterior based on the measurement model p(Yt \Xt, Yt MAP) . For each current hypothetical pose of the robot, i.e. , each predicted particle X™ , the probability p(Yt|Z™, yt AMP) that, had the robot been at the state of the particle, the robot would perceive what its sensors have actually sensed, is calculated. Then, a current weight w™ proportional to said probability is assigned to each predicted particle wherein a normalization constant a is applied to normalize the weights.
In the basic process according to Figure 1 , the measurement model is exclusively based on a mapping between a set of observed features Yt and a set of reference features Yt MAP determined from a map of the environment. Details of this map matching process will be described below with reference to Figures 7 to 10. The observed features Yt are extracted from the sensor data of at least one vision-based sensor of the robot as also described in more detail below. Typical examples for vision-based sensors, also referred to as remote sensing means in the following, are mono and stereo cameras, radar sensors, light detection and ranging (LiDAR) sensors, e.g., using pulsed lasers, ultrasonic sensors, infrared sensors, or any other sensors adapted to provide imaging measurements of the environment of the robot. The sensor data output by such vision-based sensors may be analyzed to extract the above mentioned features Yt . The map may in particular contain information about landmarks, lane markings, buildings, curbs, and the road geometry. If multiple vision-based sensors are used, different maps based on different frequency ranges, such as optical and radio, may be used.
The current hypothetical poses {Z™}"=1 and the corresponding current weights {w™}"=1 may further be subjected to resampling in step 130 to avoid degeneracy of the probability distribution function. In the importance resampling step 130 of Figure 1 , a new set of samples jteration or frame t + 1 is generated by resampling particles
Figure imgf000015_0001
based on the current belief bel(Xt) , i.e., the current pose distribution or current posterior p(Xt|Z1:t). As known in the art, particles with high importance weights are multiplied during resampling and particles with low importance weights are eliminated to generate the new set of samples. As a result, the number M of particles is kept constant during the localization process and the weights of the particles are kept finite. Here and in the following, the terms “current hypothetical poses” and“current weights” refer to the particles and corresponding weights before and after the importance resampling, as applicable, as the resampling step largely maintains the probability distribution function.
Based on the current hypothetical poses and the respective current weights, a current pose of the robot for the current iteration of frame t may be estimated by applying a (global or local) maximum a posteriori estimation method. Alternatively, a minimum mean-square error criterion may be used. Furthermore, a simple average (mean) and a mean within a window around the maximum a posteriori estimate (robust mean) may be used to determine the current pose estimate Xt.
Figure 2 shows the relevant steps of the basic particle filtering process of Figure 1. The blocks 210, 220, and 230 share the same concepts as in Figure 1 and are denoted as 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 the vision-based sensor data. The inputs 1 to 4 of each iteration are highlighted by dashed frames in Figure 2. Outputs 1 1 , 12, 13, and 15 of the blocks 210, 220, 230, and 250 are also shown in the figure. The output 13 represents a refined pose distribution. The refined pose distribution is used to compute a current pose of the robot. In this disclosure, the values of a pose distribution at different points in time may be referred to as instances of the pose distribution. The current instance (i.e. the most recent available instance) of the refined pose distribution may also be referred to herein as the current pose distribution.
Starting from the particle filtering representation of the previous posterior probability distribution function, i.e., the previous particles
Figure imgf000016_0001
and the corresponding previous weights {w^1}(^=1 , a motion model using the odometry measurement Ot is applied in the prediction step 210 to determine predicted samples ft m}m=i Using the predicted samples {xP}m=i and the previous weights
Figure imgf000016_0002
as input, the correction step 220 performs map matching between observed features Yt and map or reference features Yt MAP to determine updated weights {wt m}"=1 . The predicted samples and corresponding updated weights are then resampled in resampling step 230 to produce resampled particles
Figure imgf000016_0003
corresponding balanced weights {w™}"=1 = 1/M . Based on these resampled current hypothetical poses and corresponding current weights, a current pose estimate Xt is determined in the pose estimation step 250. Mobile robots localization often has to be performed in dynamic environments where other objects and/or subjects than the robot may change their location or configuration over time. Examples of more persistent changes that may affect the pose estimation are people, changing daylight, movable furniture, other vehicles, in particular parked vehicles, doors, and the like. These dynamic objects are generally not represented by reference features in the, generally static, reference map and may therefore cause mapping errors when performing the above described update step. In addition, features of different objects, such as the edge of a table or a chair, may not be discriminable using standard feature vectors. The presence of dynamic objects in real-world environments and the general issue of observation discriminability cause mismatches during the map matching process. Therefore, the above described process may lead to incorrect pose estimates.
Furthermore, the particle filtering process as described above with respect to Figures 1 and 2 may be unstable in some situations due to its correction mechanism. Finally, a satellite-based sensor signal may not be available everywhere. By way of example, tall buildings, tunnels, and trees may shield a GPS sensor of a vehicle from at least some of the GPS satellites. In at least some urban areas, sufficient GPS signals are therefore generally not available. As a result, odometry-based prediction is prone to drift errors. It is therefore desirable to also enable the use of the above described particle filtering process in those areas where satellite-based sensor signals are not available.
To solve the above described technical problems, the present disclosure modifies the particle filtering process as shown in Figure 3. The prediction step 310 that determines a set of predicted samples based on the odometry measurement Ot of at least one corresponding odometry sensor of the robot at time t and the last set of samples
Figure imgf000017_0001
is the same as the prediction step 1 10 in Figure 1 such that a repeated description is omitted for the sake of clarity.
The update step 320, however, is extended as compared to the update step 120 by taking additional measurements Zt at time t into account when determining the updated weights K¾=i- In particular, observation data Zt from at least one satellite-based sensor and/or at least one inertia-based sensor may be taken into account to include corresponding probability scores. As shown in Figure 3, the current weights may be determined according to Equation (2) as follows:
{wn^= = a - p(Yt, Zt\xr yt MAP)
= a p(Yt\X?, Yt MAP ) p(Zt\xn (2) wherein a denotes a normalization factor, Yt denotes a set of observed features, and Yt MAP denotes a set of reference features. Furthermore, the pose of the robot is written as vector
Xt = (xP°sltwn ' Xrotatwn^ wjj , t denoting the transpose, xP°sltwn denoting one, two, or three positional coordinates such as x, y, and z coordinates in a global coordinate system, and x[otatwn denoting one, two, or three rotational coordinates, such as pitch, roll, and yaw with respect to the orientation of a global coordinate system. Likewise, z 0Sltwn denotes a measurement of a corresponding number of positional coordinates in the global coordinate system, and z °tatwn denotes a measurement of a corresponding number of rotational coordinates in the global coordinate system. Consequently, the measurement vector can be written as zt = (zt vosition,zt rotation)T .
The measurement Zt refers to a measurement of the global pose using at least one satellite- based sensor and/or at least one inertia-based sensor. By way of example, the position ^position may ke measured using a position sensor such as a GPS sensor and/or an accelerometer. Similarly, the orientation z °tatwn may be measured using a rotation sensor such as a gyroscope. Using an inertial measurement unit, the complete global pose Zt may be measured up to 6 DOFs. In addition, multiple measurements from different sensors may be included in the determination of the updated weights. The measured sensor data may be submitted to a filtering process before being used in the determination.
The resampling step 130 of Figure 1 is further modified as shown in the resampling step 330 of Figure 3 by generating only a fraction of the total number M of particles, such as 95%, from the current belief bel(Xt) while some of the particles, such as 5%, are resampled using the global pose measurement Zt and/or a global pose measurement Gt that is not based on satellite-based sensor data. The global pose measurement Gt may for instance, be based on image processing using vision-based sensor data and/or based on inertia-based sensor data. The global pose measurement Gt may in particular be independent of the global pose measurement Zt , i.e., based on sensor data not included in the global pose measurement Zt. As the global pose Gt is not derived from satellite-based sensor data, the global pose and the correspondingly resampled particles can also be determined if the satellite-based sensor of the robot cannot receive GPS signals.
Figure 4 shows the main steps of the modified particle filtering process according to Figure 3 including pose estimation according to a first embodiment of the present invention. As in the basic particle filtering process according to Figure 2, the modified particle filtering process according to Figure 4 comprises a loop iterating over time or frame number t. The inputs 1 to 5 of this iteration are shown in Figure 4 in dashed boxes. In addition, a previous pose estimate Xt-t at time t - 1 is provided as input 6 to the pose prediction step 460. The modified process according to the first embodiment of the present disclosure produces the outputs 1 1 to 14, 15a, 15b, 18, and 19 as shown in Figure 4.
Starting from the particle filtering representation of the previous posterior probability distribution function, i.e. , the previous particles
Figure imgf000019_0001
and the corresponding previous weights {w^1}^=1 , a motion model using the odometry measurement Ot is applied in the prediction step 410 as in the prediction step 210 to determine predicted samples { ™}"=1 . Using the predicted samples { t m}"=1 and the previous weights {wt1}"=1 as input, the correction step 420 performs map matching between observed features Yt and map or reference features Yt MAP to determine updated weights {w™}"=1 . In addition to the map matching, the correction step 420, however, takes into account a global pose measurement
Zt = (zp0Sltwn , Zt°tatwn) as described above with respect to Figure 3, using at least one satellite-based sensor and/or at least one inertia-based sensor and/or a global pose measurement Gt = ^QP°sltwn i Qrotatwn^ that is performed without the use of satellite-based sensors.
The predicted samples and corresponding updated weights are then resampled in resampling step 230 to produce resampled particles j t m'resamP e } and corresponding balanced weights = 1/M. However, different from the resampling step 230 of the basic particle filtering process, resampling step 430 only generates a reduced number M - N of particles from the current belief. The remaining N particles are determined independently of the current pose distribution using a recovery particle generation step 480 as shown in Figure 4. These recovered particles {X™}m=M-N+1 and their respective weights {wt m}"=M-w+1 are created from a global pose measurement Zt =
Figure imgf000019_0002
and/or a global pose measurement Gt = ( QP°sltwn > Q-rotatwn^ ^gj. js performed without the use of satellite-based sensors. As described above, the global pose measurement Gt may be acquired using image processing based on vision-based sensor data and/or using inertia-based sensor data. According to one particular embodiment, the global pose measurement Gt may be based exclusively on vision-based sensor data.
The set of resampled particles {x™'resamPled
Figure imgf000019_0003
js supplemented in augmentation step 485 with the particles {C™} .=M-N+1 recovered in step 480 from the global pose measurement(s) to generate the current hypothetical poses {X™}m=i and their respective current weights {w“}"= i that will be provided as input 1 to the next iteration of the loop. The set of predicted samples { ™}"=1 may be reduced to M - N samples by first ordering the predicted samples according to their weights {w™}"=1 and then discarding samples with the smallest weights.
Adding N particles which are sampled from other reliable global poses Zt and/or Gt with the corresponding importance weights {w™}"=M-w+1 determined based on the reliability, in particular a covariance, of those poses, ensures that pose estimates which are not based on the particle filtering process will be considered. The presence of such pose estimates can improve the accuracy of the overall localization process and help in cases such as relocalization, missing or bad GPS signals.
From the current pose distribution
Figure imgf000020_0001
before resampling 430 or the current pose distribution x™-resamvled ^
Figure imgf000020_0002
after resampling 430, a confidence measure of the current pose distribution, expressing the confidence that the pose of the robot can be unambiguously determined from the pose distribution, is calculated in step 440. The confidence measure may be expressed as the posterior probability of the current pose estimate Xt = f(bel(Xt )) derived as a function / of the current belief, i.e. the posterior probability ( Xt ) . As described above, the function may be the maximum a posteriori estimate. Another possibility for the function / is to identify several clusters representing local maxima of the posterior probability, wherein the pose estimate is selected to be the weighted average of the most probable local maximum cluster.
When using such a clustering method, the confidence measure or posterior probability wt of the current pose estimate may be calculated as the accumulated weights wt c = {wt c,m}“c =1 of the most probable local maximum cluster according to Equation (3):
Figure imgf000020_0003
wherein Mc is the number of weights wt c,m from the current pose distribution that belong to the local maximum cluster.
Based on the confidence measure of the current pose distribution, the localization process according to the first embodiment shown in Figure 4 may output a first pose estimate 15a that is based on the current pose distribution, a second pose estimate that may in particular, be determined independent of the current pose distribution, or a combination of the first and the second pose estimates. The first pose estimate Xt = f{bel(Xt )) is determined in the pose estimation step 450 from the current pose distribution {x™'resamPled ^
Figure imgf000021_0001
as described above wherein the order of the calculation of the confidence measure 440 and the pose estimation 450 may be inverted. In addition to outputting the current pose estimate 15a, the current pose estimate derived from the current pose distribution is stored in a storage space such as a memory unit in step 455.
The present localization process according to the first embodiment may additionally determine an independent second pose estimate 15b by prediction in step 460. The prediction may be made based on one or more previous pose estimates and/or using other global pose estimates. By way of example, the second pose estimate 15b may be extrapolated from two or more previous pose estimates. In a particular embodiment, dead reckoning may be performed to determine the second pose estimate Xt = g(ot,Xt_ i) based on the odometry measurement Ot and the stored previous pose estimate Xt-t . Here, the function g denotes a deterministic motion model that predicts the pose Xt of the robot at time t from the pose Xt-t of the robot at time t - 1 by applying the changes in the pose derived from the odometry measurement Ot . The second pose estimate 15b may also be stored in the storage 455.
According to the specific embodiment shown in Figure 4, either the first pose estimate 15a or the second pose estimate 15b is output as the current pose estimate Xt . The present disclosure is, however, not limited to this alternative output but may output a combination of the first pose estimate 15a and the second pose estimate 15b wherein the contribution of the first pose estimate and the second pose estimate to the combination may be determined based on the confidence measure of the current pose distribution. By way of example, the combined pose estimate Xt may be determined according to Equation (4):
Xt = wtX + (1 - Wf)X } (4)
wherein x represents the first pose estimate 15a and X t 2 represents the second pose estimate 15b.
In the state-of-the-art, the method of dead reckoning has been used for the prediction step of a particle filter as for instance described in E.J. Krakiwsky, C.B. Harris and R.V.C. Wong,“A Kalman filter for integrating dead reckoning, map matching and GPS positioning”, Position Location and Navigation Symposium, 1988, Record. Navigation into the 21st Century, IEEE PLANS’88, IEEE, Orlando, FL, 1988, pp. 39-46. Using dead reckoning in the prediction step only, however, does not solve the above-mentioned instability problem of the first pose estimate. The localization process according to the first embodiment therefore combines the independent second pose estimate 15b with the first pose estimate 15a or replaces the first pose estimate 15a with the second pose estimate 15b based on the confidence measure of the current pose distribution. According to the specific embodiment depicted in Figure 4, the first pose estimate 15a is used as the current pose estimate Xt if the confidence measure wt of the current pose distribution exceeds a threshold
Figure imgf000022_0001
that may be time dependent. Otherwise, the second pose estimate 15b may be used as the current pose estimate Xt . Also, a combination of the second pose estimate 15b derived from dead reckoning with a further pose estimate, that may be independently derived, may be used if the confidence measure is smaller than or equal to the threshold. Here and in the following, it is assumed that both the confidence measure and the threshold are positive scalars. The above described condition may be implemented for general scalars or even vectors by calculating the absolute value or applying a norm before evaluating the condition.
As mentioned above, the threshold
Figure imgf000022_0002
may be time dependent and initialized with a predetermined value at time t = 0 . The threshold may then be repeatedly adapted, e.g., periodically or continuously, according to a function fgw , in particular based on the confidence measure of the current pose distribution. By way of example, the threshold may be increased or decreased based on whether the confidence measure of the current pose distribution exceeds the threshold or not. The threshold may for instance be changing according to Equation (5):
Figure imgf000022_0003
wherein ffw (tup) is a monotonically increasing function of the time tup and fgSwn{tdown ) is a monotonically decreasing function of the time tdown . A possible structure for both functions may be of the form of an exponential function as in Equation (6):
Figure imgf000022_0004
wherein 0^ffset denotes a fixed offset, Aew denotes a size of the change, and c signifies a decay factor. The threshold may also be only adapted if the confidence measure is higher than the threshold by a non-negative first offset value or lower than the threshold by a non-negative second offset value and else being kept constant else. A transition from increasing the threshold to decreasing the threshold and vice versa may be delayed by a respective delay time. Such an added delay applied to the adaptive threshold function serves the purpose of avoiding spurious instantaneous changes between the pose estimates that may cause jumps with respect to the pose of the robot. The delay will force an estimate to continuously be used within a time period At before switching to a different pose estimate.
An example for applying delay times to the adaptation of the threshold is given in Equation (7):
Figure imgf000023_0003
wherein tup is reset to 0 when the pose estimation based on dead reckoning is active and td°wn js reset to 0 when the pose estimation based on particle filtering is active. tup is increased when wt >
Figure imgf000023_0001
is satisfied, otherwise tdown is increased.
Figure 6 shows the temporal behavior of the threshold
Figure imgf000023_0002
for the confidence measure of the current pose distribution for a test case based on real data. Two exemplary phases for determining the pose estimate based on particle filtering and based on dead reckoning are indicated in the figure by dashed vertical lines. During the particle filtering phase, the threshold Q is increased according to the function fgw (tup) . Equivalently, the threshold Q is decreased during the dead reckoning phase according to the function fgSwn{tdown ). Determining from a confidence measure of the current pose distribution to interchangeably apply a first pose estimate based on particle filtering and a second pose estimate based on dead reckoning or another estimation process independent of the particle filtering combines the strength of both estimates. Dead reckoning is known to be a stable pose estimate within a short period of time, but to be prone to the“drifting” phenomenon if applied over a longer period of time. Particle filtering on the other hand, is free from such a“drifting” phenomenon but suffers from jumps or instability, i.e. a significant change of the pose estimate, due to unreliable measurements or observation updates in the correction step. Combining two pose estimates from different approaches as in the present embodiment increases the overall stability of the localization process.
Figure 5 shows the main steps of the modified particle filtering process according to Figure 3 including pose estimation according to a second embodiment of the present invention. The method steps annotated with the same reference signs as in Figure 4 are identical to those described above with respect to the first embodiment and are therefore not described again. Different from the first embodiment as shown in Figure 4, the second embodiment according to Figure 5, however, always determines both, the first pose estimate 15a based on particle filtering in pose estimation step 450 and the second pose estimate 15b based on prediction, in particular dead reckoning, in prediction step 460. The first and second pose estimates are herein determined as described above with respect to Figure 4.
According to the second embodiment, the current pose estimate 16 is calculated as a combination of the first pose estimate 15a and the second pose estimate 15b and output in step 470. The respective contributions of the first pose estimate and the second pose estimate to this combination are determined based on confidence measures of the respective pose estimates in step 470. By way of example, the current pose estimate Xt may be determined according to Equation (8):
Xt = w + w ? (8)
wherein denotes the first pose estimate 15a and X denotes the second pose estimate 15b and the respective contributions are determined from covariance estimates aj2 and s| with respect to the corresponding pose estimates. According to a particular example, the respective contributions may be determined according to Equation (9) as follows:
Figure imgf000024_0001
The covariance estimates o and s| can be considered as confidence measures of the respective pose estimates.
The covariance of a pose estimate can for instance, be estimated by first taking the Jacobian of the reprojection error cost function e around its convergence point as shown in Equation (10):
Figure imgf000025_0001
Secondly, a monotonically increasing function h is applied to the inverse of the Jacobian and the residual r , i.e. , the error value at its convergence point (x, y, z, roll, pitch, yaw), to determine the covariance of the pose estimate X\ as shown in Equation (1 1 ):
Figure imgf000025_0002
As mentioned above, particle filtering suffers from the effect of dynamic objects in the environment of the robot and the general issue of observation discriminability. The localization process according to the present disclosure addresses these problems by modifying the update step 220 in Figure 2 of the basic particle filtering process as shown in Figures 7 to 10.
Figure 7 shows details of a first phase of the weight update process of the correction block 420 of Figures 4 and 5 according to the present disclosure. State-of-the-art methods calculate a likelihood function based on the distance score between a set of observed feature points and a set of reference feature points in a map according to the nearest neighbor principle when performing map matching. The update processes according to Figures 7 to 10 of the present disclosure significantly extend and modify this concept by exploiting additional knowledge on the observed and reference features.
The first phase of the update process as shown in Figure 7 uses three nested loops where initially the indices m, p, and q in the respective loop are set to 1. The outer loop iterates over the set of predicted particles [xp}m= provided from the prediction step 410 as input 1 1 to the transformation step 421 wherein M denotes the total number of particles. The intermediate loop iterates over the set of observed features wherein P denotes the total
Figure imgf000025_0003
number of observed features. The inner loop finally iterates over the set of reference features YMAP _ wherein Q denotes the total number of reference features taken from the
Figure imgf000026_0001
map.
The set of reference features is extracted from sensor data of at least one sensor of the robot by performing feature detection and description on at least one frame, also called keyframe, of the sensor data. The sensors may be based on remote sensing and are referred to in the present disclosure as vision-based sensors. As described above, the vision-based sensor may involve 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 sensors adapted to provide imaging measurements, also called ranging, of the environment of the robot. 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 to extract features that may then be compared with reference features that are generally extracted offline from one or several reference maps of the environment of the robot.
As feature detection and matching are two important problems in machine vision and robotics, a large number of methods for feature extraction are known in the art. Some of the more widespread methods are the Scale-Invariant Feature Transform (SIFT), the Speed Up Robust Feature (SURF) technique, the Binary Robust Independent Elementary Features (BRIEF) method, and the Oriented FAST and Rotated BRIEF (ORB) method. An advanced ORB technique that also involves Simultaneous Localization and Mapping (SLAM) is for instance described in the article“ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras” by R. Mur-Artal and J.D. Tardos in IEEE Transactions on Robotics, vol. 33, no. 5, pp. 1255-1262, Oct. 2017.
The above-mentioned extraction methods typically process the sensor data to extract features at salient keypoint locations in the form of individual or clustered feature points. As part of the process, feature descriptors that describe the properties of the corresponding feature points are determined. Each of the above-mentioned observed features may therefore comprise one or several feature points and their corresponding feature descriptors. In addition, the update process according to a specific embodiment of the present disclosure exploits semantic information related to the features in terms of feature classes. Consequently, each feature may additionally comprise one or more feature classes as described below in more detail. The semantic information may in particular be used to distinguish between particular types or object classes of real-world elements such as cars, traffic signs, roads, buildings, or the like. In contrast, typical features may simply identify lines, corners, edges, distinct patterns or objects of distinct appearance. Generally, a feature descriptor is provided as a feature vector that may have a high dimensionality. Both, the observed features and the reference features are typically structured to include the same information, i.e. feature points and corresponding feature descriptors, and potentially feature classes, to allow for a matching between the observed and the reference features that yields a correspondence associated with a likelihood (Yt\X™, Yt MAP), that is referred to here and in the following as map matching.
The set of reference features Yt MAP is generally extracted from a set of reference images acquired using the same imaging method as the one used by the at least one vision-based sensor and related to the environment of the robot. The extracted reference features may then be stored as a so-called feature-based map in a database or a storage medium.
Generally, maps may be feature-based or location-based. While the location-based maps are volumetric, in that they include feature descriptors for any location inside the area of the map, feature-based maps only specify features at specific locations, in particular locations of key objects contained in the map. The update process according to the present embodiment is described within the context of feature-based maps but may easily be modified to be applied to the location-based maps. While feature-based models extract relatively little information, by virtue of the fact that feature extractors project high dimensional sensor measurements into lower dimensional space, this advantage is offset by superior computational properties of feature-based representations.
As mentioned above, mobile robots are generally located in dynamic environments that change over time, both with respect to the location of other objects or subjects and with respect to environmental conditions such as changing daylight. Considering dynamic objects, one potential problem of the matching process between the observed features and the reference features lies in the fact that dynamic objects present in reference images used for the detection of the reference features may not be present in the topical environment of the robot and vice versa. Feature extraction and matching based on such dynamic objects thus introduces errors in the update process. State-of-the-art methods therefore suggested applying dedicated filters to the sensor data of the at least one vision-based sensor of the robot before performing the feature extraction and matching. Such filtering, however, further contributes to the already heavy computational load of the underlying processing.
The feature/map matching process according to the present disclosure therefore devises an alternative approach wherein the reference features, more specifically the reference images are filtered offline to remove dynamic objects such as pedestrians and other vehicles. The dynamic objects may be identified for instance, based on semantic information such as the above-mentioned feature classes. Ideally, the map of the reference features has been created before performing the localization process and is available from a storage medium or a database for the below described matching process. Situations may, however, exist where the mobile robot enters a terrain or area of which no such map exists. In these cases, the described method may be modified to perform simultaneous localization and mapping (SLAM) as it is generally known in the art. In SLAM, the robot acquires a map of its environment while simultaneously localizing itself relative to this map. When an object is detected in the environment of the robot, a SLAM algorithm must reason about the relation of this object to previously detected objects. Information that helps localize the robot is propagated through the map, and as a result improves the localization of other features in the map.
The update process according to the present embodiment may be applied to the SLAM problem. In this case, the set of reference features includes those features already extracted from the current map of the environment of the robot. Consequently, the reference features may include dynamic objects that may be removed from the set based on semantic information as described above. Alternatively, the dynamic objects may be kept as reference features under the assumption that they remain in the environment of the robot during the SLAM process. The algorithm may further selectively remove some of the dynamic objects, such as pedestrians and moving vehicles that are highly dynamic based on the corresponding semantic information or a feature class while keeping other less dynamic objects such as parked vehicles.
To perform matching between the set of observed features and the set of reference features, the process according to the present disclosure first transforms the observed features Yt that are necessarily observed with respect to the local coordinate system of the robot into the global coordinate system of the reference features Yt MAP in step 421 in Figure 7. This transformation is performed for each current hypothetical pose X™ to produce corresponding transformed observed features ft m,p . In other words, each reference feature comprises at least one global, i.e. space-fixed positional coordinate, and each observed feature comprises at least one body- fixed positional coordinate, defined relative to the robot wherein a mapping between the space- fixed positional coordinates and the body-fixed positional coordinates is performed in the transformation step 421 on the basis of the current hypothetical poses {X™}m= i This transformation may of course also involve rotations to map between rotational coordinates of the local and global coordinate systems. Furthermore, the transformation may be performed in the inverse direction to map the reference features into the local coordinate system of the robot. After performing the coordinate transform, a likelihood distance score and a similarity score are calculated in step 422 according to the present disclosure. The distance score
Figure imgf000029_0001
may for instance be computed for each particle m, each observed feature p, and each reference feature q using a nearest neighbor based likelihood scoring method as known in the art. The similarity score S™,p9 may for instance be computed using the Hamming distance for an ORB feature descriptor. The similarity score may then be used to penalize the distance score in step 423 according to Equation (12) as follows if the features are not similar:
Figure imgf000029_0002
wherein DMIN is a minimum distance score for the case that the similarity score exceeds a threshold 6S for the similarity score that may for instance, be chosen within the range of the Hamming distance.
According to an alternative embodiment, each feature comprises one or more feature classes and, for each feature class, a probability value that conveys the semantic information, and calculating the similarity scores 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 class of real-world elements and each probability value expresses the probability of the feature belonging to the respective feature class. In this case, the similarity score St m,p9 may be determined as the probability of the reference feature q and the observed feature p having the same association, i.e. semantic label. The threshold 6S for this case may simply express a particular probability value.
Calculation of the similarity scores may be performed separately on feature descriptors and feature classes or on a combination of feature descriptors and feature classes. The feature classes may, in particular, be integrated into the feature descriptors. As the distance score is only meaningful for those pairs of features ( p, q ) that share a certain degree of similarity, the penalty for the distance score in step 423 according to Equation (12) may be applied to feature descriptors and feature classes in a like way. If the semantic information is included in the calculation of the similarity score based on the feature classes, dynamic objects do not have to be removed separately from the sensor data of the at least one vision-based sensor if the map of reference features was pre-processed to remove dynamic objects. By way of example, observed features related to pedestrians will not find a match in the map with a sufficient similarity to yield a meaningful pair. The similarity based approach according to the present embodiment is therefore highly efficient and suitable for real-time implementations. In step 424, the scores
Figure imgf000030_0001
related to the nearest reference features q according to Equation (13): d = arg min D ’p’
y q t (13)
are determined and stored for each particle m and each observed feature p . The resulting distance and similarity scores {D™'p, S™'p} -l are then accumulated for each particle m in step 425 according to Equation (14):
Figure imgf000030_0002
As a result of the first phase of the update process shown in Figure 7, the set of distance and similarity scores {Dt m, 5t m}"=1 for the current hypothetical poses { t m}"=1 is output. This set of distance and similarity scores may be processed in different ways to update the previous weights {w™1}"=1 .
Updating of the previous weights according to a first embodiment of the weight updating process is shown in Figure 8. First, the set of distance and similarity scores is separated into a set of distance scores {D™}"=1 and a set of similarity scores {5™}"=1 . The similarity scores are then further processed by calculating a similarity score distribution in step 426, for instance by fitting the set of similarity scores to a given distribution model, such as a one-sided distribution, so that
Figure imgf000030_0003
a? with mean p and standard deviation a? of the distribution.
The distribution may be a frequency distribution or a normalized frequency distribution of the scores. Based on the parameters m£ and s of the distribution of the similarity scores, a reliability condition for the distribution may be defined as in Equation (15): t < 9R (15)
wherein 0R is a threshold that may be determined as the tail threshold of the similarity distribution.
For the current set of particles {X™)m=i > it is determined in step 427 whether the distribution of the similarity scores fulfills the reliability condition. If the distribution does not fulfill the reliability condition, the calculated distance scores are discarded and the updated importance weights {w™}"=1 are determined independent of the distribution of the similarity scores. In this case, the previous weights { w™1}m=1 maY be used or a uniform distribution may be assigned in step 429b to produce the updated weights 12b. By using the previous weights or a uniform distribution, a distance score associated with an unreliable similarity score is discarded. This improves the stability of the underlying update process. In case the distribution of the similarity scores fulfills the reliability condition, the current weights {w“}"= i are determined based on the distribution /(m^ , s ) of the similarity scores. According to the embodiment shown in Figure 8, the weight wt m =
Figure imgf000031_0001
is first assigned to each particle in step 428 and then weighted with the similarity score /(m^, at s) in step 429a to produce the updated, not yet normalized weight w™ . Consequently, the weighting function for the particle can be taken as the probability value of the one-sided distribution of the similarity scores. If the reliability condition is fulfilled, the updated weights 12a are output by the process. According to the embodiment shown in Figure 8, the current weights 12a are therefore determined according to Equation (16):
{W?} =1 = a - V{Yt \X?, Yt MAP) (16) wherein a is a normalization factor.
According to a second embodiment of the update process as shown in Figure 9, the current importance weights may be obtained by further applying a weighting based on a global rotation estimate which may come from at least one rotation sensor, such as an inertia-based sensor. Steps 426 to 428 and 429a are identical to those in Figure 8 so that their description is not repeated. In addition to applying the similarity score weighting in step 429a when the distribution of the similarity scores fulfills the reliability condition in step 427, the weight is further adjusted based on a global rotation estimate z otatwn from the global pose measurement Zt in step 529c to produce updated importance weights 12a according to Equation (17):
Figure imgf000031_0002
Furthermore, when the above described reliability condition is not satisfied, a reset is performed according to this embodiment by assigning the weight w™ = p
Figure imgf000031_0003
) in step 529b based on a global position estimate z^0Sltwn from the global pose measurement Zt that may come from at least one position sensor, such as a satellite-based sensor, in particular a GPS sensor. The assigned weight may then further be adjusted in step 529d based on a global rotation estimate z otatwn from the global pose measurement Zt to produce updated importance weights 12b according to Equation (17).
As compared to the first embodiment shown in Figure 8, the update process according to the second embodiment in Figure 9 has two advantages. First, in the case that the reliability condition is not satisfied, the importance weights will be determined by the global position estimate that can provide a certain degree of reliability. Secondly, further weighting based on a global rotation estimate regardless of whether the reliability condition is satisfied or not further increases the reliability of the updated weights. According to the second embodiment, two additional separate global estimates for position and rotation, for instance derived from a GPS sensor and an IMU sensor, are used to increase the reliability of the updated weights and, consequently, the current pose estimate. According to the second embodiment, the updated importance weights are determined according to Equation (18) when the reliability condition is fulfilled: "¾= i = « p(Xt \X?, Yt MAP) p(Zt\Xn (18)
Finally, according to a third embodiment of the update process as shown in Figure 10, in addition to the global pose measurement Zt from satellite-based sensors and/or inertia-based sensors, a global pose measurement Gt that comes from position and/or rotation sensors other than the satellite-based sensors, and possibly the inertia-based sensors, e.g., from vision- based sensors, is used to further increase the reliability of the updated importance weights.
As the steps 426 to 428 and 429a in Figure 10 are identical to those in Figure 8, their description is not repeated here. When the reliability condition is not fulfilled, the weight w™ = p(Zt, Gt \XJP-) may be assigned in step 629b based on the global pose estimates Zt and Gt to produce the updated importance weights 12b. In case the distribution of the similarity scores fulfills the reliability condition, the weights determined in step 429a are further adjusted based on the global pose estimates Zt and Gt to produce the updated importance weights 12a according to Equation (19):
w? = w?l - p(Zt, Gt \xn (19)
In this case, the updated importance weights are consequently determined according to Equation (20) as follows:
K¾=i = « P(W, YtMAP) P(Zt, Gt\Xn (20)
Depending on the accuracy of the pose estimates, either the global position estimate or the global rotation estimate or both may be used in steps 629b and 629c of the third embodiment for the global pose estimates Zt and Gt.
In summary, the current weights may be further adapted based on a global pose estimate derived from at least one of sensor data of a position sensor and sensor data of a rotation sensor, e.g., from at least one of sensor data of a satellite-based sensor, sensor data of an inertia-based sensor, and sensor data of the at least one vision-based sensor.
In the above described embodiments of the update process, knowledge of a feature descriptor and optionally a feature class for the observed and reference features is included to increase the probability of finding the correct nearest neighbor within a given search area and to adjust the particle weights calculation. Feature points which do not satisfy a threshold criterion for the similarity score calculated for these feature descriptors and feature classes are penalized. In addition, the predicted particles are weighted based on the distribution of the similarity scores if the corresponding distribution fulfills a reliability condition and the distance scores for the predicted particles are discarded and replaced with one or more global pose estimates if the distribution does not fulfill the reliability condition.
Usage of feature descriptors and optionally feature classes for the observed and reference features further increases filter accuracy against dynamic objects, such as passing vehicles, pedestrians, and the like, and increases feature discriminability. Consequently, the resulting current pose estimate becomes more reliable.
Figure 1 1 finally shows a vehicle implementing the present disclosure according to any of the above described embodiments. Without limitation, the vehicle 700 is equipped with wheel encoders 792 on the front wheels as odometry sensors that measure the rotation of the front wheels from which a change in the position of the vehicle can be determined. The vehicle 700 further includes an inertial measurement unit (IMU) 790 as an inertia-based sensor configured to determine changes in 6 DOFs, i.e. in the positional coordinates as well as the orientation of the vehicle. The IMU 790 thus constitutes a combination of a position sensor and a rotation sensor. Furthermore, the vehicle is equipped with a GPS sensor 796 as a satellite-based sensor or position sensor for measuring a global pose z^0Sltwn based on a GPS signal. Finally, the vehicle 700 is equipped with a stereoscopic camera 794 as a vision-based sensor that records stereoscopic images of the environment of the vehicle. The images recorded by the camera 794 are then processed as described above to extract observed features in the environment of the vehicle.
To perform the localization process described above with respect to the embodiments of the present disclosure, the vehicle is equipped with processing circuitry 780 configured to execute any one of the above described methods. The sensor signals from the odometry sensors 792, the IMU 790, the GPS sensor 796 and the camera 794 are transmitted to the processing circuitry 780 via cable or wirelessly. The processing circuitry 780 then processes the sensor data as described above to perform localization of the vehicle 700 in the global coordinate system as indicated in Figure 1 1 with dashed lines.
Figure 1 1 shows the x- and y-axes 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 called space-fixed coordinates while the local coordinates, represented by the x’- and y’- axes as well as the z-axis, are also called body-fixed coordinates. The heading of the vehicle 700 is indicated by the x’-axis in the figure. In a convenient way, this heading can be used to define the x’-axis of the local coordinate system wherein the rotation angles with respect to roll, pitch, and yaw are shown in the vehicle fixed local coordinate system. As described above, the processing circuitry 780 is configured to transform between positional and rotational coordinates in the body-fixed local coordinate system and positional and rotational coordinates in the space-fixed global coordinate system. A global pose and a global pose estimate therefore always refer to space-fixed global coordinates in the present disclosure. Figure 1 1 further schematically indicates the velocity of the vehicle 700 as a vector whose direction may differ from the heading of the vehicle due to sideslip of the vehicle. Such a sideslip may be one source of errors in the localization process as it is generally not accounted for by the wheel encoders 792.
The processes and methods described in the present disclosure, in particular with respect to Figures 1 to 10 may be implemented in a system comprising a processing circuitry configured to perform the described processes and methods. The system may comprise a combination of software and hardware. By way of example, the prediction, correction, and resampling steps of the particle filtering process according to Figures 4 and 5 may be implemented as software modules or as separate units of processing circuitry. In fact, any of the blocks in the Figures 2, 4, 5, and 7 to 10 can be implemented as hardware units or software modules. The described processing may be performed by a chip, such as a general purpose processor, a CPU, a GPU, a digital signal processor (DSP), or a field programmable gate array (FPGA), or the like. However, the present disclosure 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-mentioned hardware components.
The storage 455 in Figures 4 and 5 may be implemented using any of the storage units known in the art, such as a memory unit, in particular RAM, ROM, EEPROM, or the like, a storage medium, in particular a DVD, CD, USB (flash) drive, hard disk, or the like, a server storage available via a network, etc.
The processing circuitry 780 may in particular, be configured to determine a plurality of current hypothetical poses {XF}m=i of the robot, in particular the vehicle 700, using odometry measurements Ot in the prediction step 410, to determine the respective updated weights in the correction step 420, in particular based on similarity scores as shown in Figures 7 to 10, to resample the particles in the resampling step 430 and potentially recover particles in step 480 and supplement them in the augmentation step 485. Furthermore, the processing circuitry 718 may be configured to determine a confidence measure of the current pose distribution in step 440 of Figure 4 or to determine confidence measures of independently determined pose estimates in step 470 of Figure 5. In addition, the processing circuitry may be configured to perform pose estimation in step 450 based on the particle filtering and to perform an independent pose estimation based on prediction in step 460.
The above-described localization processes and sub-processes may also be implemented by a program including instructions stored on a computer-readable medium. The instructions, when executed on a processor, cause the processor to perform the above described processes and methods. The computer-readable medium can be any medium on which the instructions are stored such as a DVD, CD, USB (flash) drive, hard disk, server storage available via a network, or the like.
Summarizing, the present disclosure offers ways of improving the performance of low-cost systems for mobile robot localization. The processes according to the present disclosure have been extensively tested in real time using car prototypes having GPS, IMU and stereo camera sensors. Preliminary results show that the percentage of absolute mean errors below 1 m is approximately 90% and the averaged absolute mean error is 0.75 m or below in the longitudinal direction and less than 0.4 m in the lateral direction. These errors lie within the required specification of the loV Planning and Control Division and are therefore suitable for commercial deployment.
The methods and systems of the present disclosure significantly improve the localization accuracy performance while maintaining the low-cost feature. They may be implemented in low-cost systems having a stereoscopic camera, a GPS sensor and an IMU sensor. The described methods and systems provide high accuracy in all 6 DOFs of the vehicle pose including the altitude and the rotation (roll, pitch, and yaw). Due to their low requirements on processing power, the disclosed processes are suitable for real-time implementation. First tests have demonstrated that pose estimation can be performed at around 10 Hz.
The described methods and systems solve many of the problems of low-cost vehicle localization systems by solving the problem of dynamic objects and observation discriminability by means of an extended feature descriptor in the particle filtering process, by solving the problem of pose estimate instability by interchangeably using particle filtering and dead reckoning, and by solving the problem of intermittency of GPS signals by adding a global pose estimate based on non-GPS sensors.

Claims

1. An apparatus for estimating a pose of a robot (700), configured to: determine (450, 460, 470) a current pose estimate of the robot based on a first pose estimate (15a) or a second pose estimate (15b) or a combination (16) of the first pose estimate and the second pose estimate, wherein the first pose estimate is based on a current pose distribution (13) of the robot; and 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.
2. The apparatus of claim 1 , wherein the second pose estimate (15b) is based on one or more of the following: prediction (460) from one or more previous pose estimates (6), or a global pose estimate derived from at least one of sensor data from a position sensor (796) and sensor data from an 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 (440) of the current pose distribution.
4. The apparatus of claim 3, wherein, upon determination that the confidence measure (440) of the current pose distribution exceeds a threshold, only the first pose estimate (15a) contributes to the current pose estimate.
5. The apparatus of claim 4, further configured to adapt 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 higher than the threshold, or wherein the threshold is decreased in response to the confidence measure (440) of the current pose distribution being significantly lower than the threshold.
7. The apparatus of claim 6, wherein a transition from increasing the threshold to decreasing the threshold and vice versa is delayed by a respective delay time.
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 measures (470) of the respective pose estimates.
9. An apparatus for estimating a pose of a robot (700), configured to: determine (410) a plurality of current hypothetical poses (1 1 ) of the robot; for each of the plurality of current hypothetical poses, determine (420) a weight
(12); and determine (450) a current pose estimate (15a) of the robot based on the plurality of current hypothetical poses and their weights; wherein for each of the plurality of current hypothetical poses, determining (420) the weight (12) comprises calculating (422 - 425) a similarity score which is a measure of similarity between a set of reference features (4) and a set of observed features (3). 10. The apparatus of claim 9, wherein each reference feature and each observed feature comprises one or more feature descriptors.
1 1. The apparatus of claim 9 or 10, wherein each reference feature and each observed feature comprises one or more feature classes and, for each feature class, a probability value, and wherein calculating (422 - 425) the similarity score is based on the one or more feature classes of the reference features and their probability values and the one or more feature classes of the observed features and their probability values.
12. The apparatus of claim 1 1 , wherein each feature class is associated with a class of real-world elements. 13. The apparatus of any one of claims 10 to 12, wherein each reference feature further comprises a space-fixed, SF, positional coordinate and each observed feature further comprises a body-fixed, BF, positional coordinate, the BF positional coordinate being defined relative to the robot; and wherein calculating (422 - 425) the similarity score comprises mapping (421 ) between the SF positional coordinate and the BF positional coordinate on the basis of a current hypothetical pose (1 1 ).
14. The apparatus of any one of claims 9 to 13, wherein the weights of the current hypothetical poses are determined (429a) based on a distribution of the similarity scores when the distribution fulfills a reliability condition (427).
15. The apparatus of claim 14, wherein the weights of the current hypothetical poses are determined (429b, 529b, 629b) independently of the distribution of the similarity scores when the distribution does not fulfill 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 hypothetical poses are further adapted (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 for estimating a pose of a robot (700), configured to: generate a first pose distribution (18) of the robot based on one or more first navigational measurements (5), generate a second pose distribution (1 ) of the robot based on the first pose distribution (18) and on a current instance of a refined pose distribution (13), generate a next instance of the refined pose distribution (13) based on the second pose distribution (1 ) and on one or more second navigational measurements (2, 3), and determine a pose estimate of 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 hypothetical poses and associated weights, wherein the set representing the current instance and the set representing the next instance comprise the same number of hypothetical poses.
19. The apparatus of claim 17 or 18, wherein in generating the second pose distribution (1 ), the current instance of the refined pose distribution (13) contributes more to the second pose distribution (1 ) than the first pose distribution (18).
20. The apparatus of any one of claims 17 to 19, configured to generate the first pose distribution (18) independently of the refined 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 the following: satellite-based pose estimation, inertia-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 the following: satellite-based pose estimation, inertia-based pose estimation, vision-based pose estimation, or odometric pose estimation.
23. A robot (700), in particular a vehicle, comprising the apparatus of any one of claims 1 to 22. 24. A method for estimating a pose of a robot (700), the method comprising: determining (450, 460, 470) a current pose estimate of the robot based on a first pose estimate (15a) or a second pose estimate (15b) or a combination (16) of the first pose estimate and the second pose estimate; wherein the first pose estimate is based on a current pose distribution (13) of the robot; and 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.
25. A method for estimating a pose of a robot (700), the method comprising: determining (410) a plurality of current hypothetical poses (1 1 ) of the robot; for each of the plurality of current hypothetical poses, determining (420) a weight (12); and determining (450) a current pose estimate (15a) of the robot based on the plurality of current hypothetical poses and their weights; wherein for each of the plurality of current hypothetical poses, determining (420) the weight (12) comprises calculating (422 - 425) a similarity score which is a measure of similarity between a set of reference features (4) and a set of observed features (3).
26. A method of estimating a 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 on 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 navigational measurements (2, 3), and determining a pose estimate of 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.
PCT/EP2018/074232 2018-09-07 2018-09-07 Estimation of a pose of a robot Ceased WO2020048623A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/EP2018/074232 WO2020048623A1 (en) 2018-09-07 2018-09-07 Estimation of a pose of a robot
CN201880096793.8A CN112639502B (en) 2018-09-07 2018-09-07 Robot pose estimation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2018/074232 WO2020048623A1 (en) 2018-09-07 2018-09-07 Estimation of a pose of a robot

Publications (1)

Publication Number Publication Date
WO2020048623A1 true WO2020048623A1 (en) 2020-03-12

Family

ID=63556324

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/074232 Ceased WO2020048623A1 (en) 2018-09-07 2018-09-07 Estimation of a pose of a robot

Country Status (2)

Country Link
CN (1) CN112639502B (en)
WO (1) WO2020048623A1 (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2682242C1 (en) * 2018-03-19 2019-03-18 Федеральное государственное бюджетное образовательное учреждение высшего образования "Липецкий государственный технический университет" Two-phase ac drive controlling method using the three-phase bridge inverter
CN111708047A (en) * 2020-06-16 2020-09-25 浙江大华技术股份有限公司 Robot positioning evaluation method, robot and computer storage medium
CN111765883A (en) * 2020-06-18 2020-10-13 浙江大华技术股份有限公司 Monte Carlo positioning method and equipment for robot and storage medium
CN112180382A (en) * 2020-09-28 2021-01-05 知行汽车科技(苏州)有限公司 Self-adaptive 3D-LSLAM positioning method, device and system based on constant-speed model
CN113075686A (en) * 2021-03-19 2021-07-06 长沙理工大学 Cable trench intelligent inspection robot mapping method based on multi-sensor fusion
CN113155121A (en) * 2021-03-22 2021-07-23 珠海深圳清华大学研究院创新中心 Vehicle positioning method and device and electronic equipment
CN113465620A (en) * 2021-06-02 2021-10-01 上海追势科技有限公司 Parking lot particle filter positioning method based on semantic information
WO2022025786A1 (en) * 2020-07-31 2022-02-03 Harman International Industries, Incorporated Vision-based location and turn marker prediction
US11331801B2 (en) * 2018-11-28 2022-05-17 Mitsubishi Electric Research Laboratories, Inc. System and method for probabilistic multi-robot positioning
CN114693783A (en) * 2020-12-31 2022-07-01 上海湃星信息科技有限公司 Satellite autonomous pose determination method, system and storage medium
CN114719864A (en) * 2022-04-24 2022-07-08 上海思岚科技有限公司 Robot self-positioning method, equipment and computer readable medium
US11474204B2 (en) * 2019-01-29 2022-10-18 Ubtech Robotics Corp Ltd Localization method and robot using the same
CN116069018A (en) * 2022-11-30 2023-05-05 北京顺造科技有限公司 A mowing method and mowing system for improving the success rate of mowing a lawnmower out of trouble
CN116202551A (en) * 2021-11-30 2023-06-02 珠海一微半导体股份有限公司 Visual robot road sign positioning effective detection method
CN116222588A (en) * 2023-05-08 2023-06-06 睿羿科技(山东)有限公司 Positioning method for integrating GPS and vehicle-mounted odometer
WO2023131048A1 (en) * 2022-01-06 2023-07-13 上海安亭地平线智能交通技术有限公司 Position and attitude information determining method and apparatus, electronic device, and storage medium
CN117406259A (en) * 2023-12-14 2024-01-16 江西北斗云智慧科技有限公司 Beidou-based intelligent construction site vehicle positioning method and system
CN118274849A (en) * 2024-06-04 2024-07-02 江苏智搬机器人科技有限公司 A method and system for positioning an intelligent handling robot based on multi-feature fusion
CN119937545A (en) * 2024-12-26 2025-05-06 中联重科股份有限公司 Mobile robot and motion positioning control method, device, system and medium thereof
DE102023213076A1 (en) 2023-12-20 2025-06-26 Robert Bosch Gesellschaft mit beschränkter Haftung Method for locating a vehicle in an environment

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112985417B (en) * 2021-04-19 2021-07-27 长沙万为机器人有限公司 Pose correction method for particle filter positioning of mobile robot and mobile robot
CN115507836B (en) * 2021-06-23 2024-02-02 同方威视技术股份有限公司 Methods for determining the position of a robot and the robot
CN113295174B (en) * 2021-07-27 2021-10-08 腾讯科技(深圳)有限公司 Lane-level positioning method, related device, equipment and storage medium
CN113674324B (en) * 2021-08-27 2024-10-18 常州唯实智能物联创新中心有限公司 Class level 6D pose tracking method, system and device based on meta learning
CN115601432B (en) * 2022-11-08 2023-05-30 肇庆学院 Robot position optimal estimation method and system based on FPGA
CN116252581B (en) * 2023-03-15 2024-01-16 吉林大学 Vehicle body vertical and pitch motion information estimation system and method under straight-line driving conditions

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028340A1 (en) * 2001-06-26 2003-02-06 Etienne Brunstein Hybrid inertial navigation method and device
US20090024251A1 (en) * 2007-07-18 2009-01-22 Samsung Electronics Co., Ltd. Method and apparatus for estimating pose of mobile robot using particle filter
US20120029698A1 (en) * 2006-11-16 2012-02-02 Samsung Electronics Co., Ltd Method, apparatus, and medium for estimating pose of mobile robot using particle filter
US20120150437A1 (en) * 2010-12-13 2012-06-14 Gm Global Technology Operations Llc. Systems and Methods for Precise Sub-Lane Vehicle Positioning
WO2017016799A1 (en) * 2015-07-29 2017-02-02 Volkswagen Aktiengesellschaft Determining arrangement information for a vehicle
CN107991683A (en) * 2017-11-08 2018-05-04 华中科技大学 A kind of robot autonomous localization method based on laser radar
US20180253107A1 (en) * 2015-11-02 2018-09-06 Starship Technologies Oü Mobile robot system and method for autonomous localization using straight lines extracted from visual images

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9160383B2 (en) * 2013-11-12 2015-10-13 Huawei Technologies Co., Ltd. Method for estimating covariance matrices and use thereof
CN107167148A (en) * 2017-05-24 2017-09-15 安科机器人有限公司 Synchronous positioning and map construction method and device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028340A1 (en) * 2001-06-26 2003-02-06 Etienne Brunstein Hybrid inertial navigation method and device
US20120029698A1 (en) * 2006-11-16 2012-02-02 Samsung Electronics Co., Ltd Method, apparatus, and medium for estimating pose of mobile robot using particle filter
US20090024251A1 (en) * 2007-07-18 2009-01-22 Samsung Electronics Co., Ltd. Method and apparatus for estimating pose of mobile robot using particle filter
US20120150437A1 (en) * 2010-12-13 2012-06-14 Gm Global Technology Operations Llc. Systems and Methods for Precise Sub-Lane Vehicle Positioning
WO2017016799A1 (en) * 2015-07-29 2017-02-02 Volkswagen Aktiengesellschaft Determining arrangement information for a vehicle
US20180253107A1 (en) * 2015-11-02 2018-09-06 Starship Technologies Oü Mobile robot system and method for autonomous localization using straight lines extracted from visual images
CN107991683A (en) * 2017-11-08 2018-05-04 华中科技大学 A kind of robot autonomous localization method based on laser radar

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
E.J. KRAKIWSKY; C.B. HARRIS; R.V.C. WONG: "A Kalman filter for integrating dead reckoning, map matching and GPS positioning", POSITION LOCATION AND NAVIGATION SYMPOSIUM, 1988
R. MUR-ARTAL; J.D. TARDOS: "ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras", IEEE TRANSACTIONS ON ROBOTICS, vol. 33, no. 5, October 2017 (2017-10-01), pages 1255 - 1262
RECORD: "IEEE PLANS '88", 1988, IEEE, article "Navigation into the 21st Century", pages: 39 - 46
S. KUUTTI; S. FALLAH; K. KATSAROS; M. DIANATI; F. MCCULLOUGH; A. MOUZAKITIS: "A Survey of the State-of-the-Art Localization Techniques and Their Potentials for Autonomous Vehicle Applications", IEEE INTERNET OF THINGS JOURNAL, vol. 5, no. 2, April 2018 (2018-04-01), pages 829 - 846, XP011680881, DOI: doi:10.1109/JIOT.2018.2812300

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2682242C1 (en) * 2018-03-19 2019-03-18 Федеральное государственное бюджетное образовательное учреждение высшего образования "Липецкий государственный технический университет" Two-phase ac drive controlling method using the three-phase bridge inverter
US11331801B2 (en) * 2018-11-28 2022-05-17 Mitsubishi Electric Research Laboratories, Inc. System and method for probabilistic multi-robot positioning
US11474204B2 (en) * 2019-01-29 2022-10-18 Ubtech Robotics Corp Ltd Localization method and robot using the same
CN111708047B (en) * 2020-06-16 2023-02-28 浙江华睿科技股份有限公司 Robot positioning evaluation method, robot and computer storage medium
CN111708047A (en) * 2020-06-16 2020-09-25 浙江大华技术股份有限公司 Robot positioning evaluation method, robot and computer storage medium
CN111765883A (en) * 2020-06-18 2020-10-13 浙江大华技术股份有限公司 Monte Carlo positioning method and equipment for robot and storage medium
CN111765883B (en) * 2020-06-18 2023-12-15 浙江华睿科技股份有限公司 Robot Monte Carlo positioning method, equipment and storage medium
CN115917255A (en) * 2020-07-31 2023-04-04 哈曼国际工业有限公司 Vision-Based Prediction of Position and Turn Markings
WO2022025786A1 (en) * 2020-07-31 2022-02-03 Harman International Industries, Incorporated Vision-based location and turn marker prediction
CN115917255B (en) * 2020-07-31 2025-11-21 哈曼国际工业有限公司 Vision-based position and turn marker prediction
CN112180382A (en) * 2020-09-28 2021-01-05 知行汽车科技(苏州)有限公司 Self-adaptive 3D-LSLAM positioning method, device and system based on constant-speed model
CN112180382B (en) * 2020-09-28 2024-03-08 知行汽车科技(苏州)股份有限公司 Constant-speed model-based self-adaptive 3D-LSLAM positioning method, device and system
CN114693783A (en) * 2020-12-31 2022-07-01 上海湃星信息科技有限公司 Satellite autonomous pose determination method, system and storage medium
CN113075686B (en) * 2021-03-19 2024-01-12 长沙理工大学 Cable trench intelligent inspection robot graph building method based on multi-sensor fusion
CN113075686A (en) * 2021-03-19 2021-07-06 长沙理工大学 Cable trench intelligent inspection robot mapping method based on multi-sensor fusion
CN113155121B (en) * 2021-03-22 2024-04-02 珠海深圳清华大学研究院创新中心 Vehicle positioning method and device and electronic equipment
CN113155121A (en) * 2021-03-22 2021-07-23 珠海深圳清华大学研究院创新中心 Vehicle positioning method and device and electronic equipment
CN113465620A (en) * 2021-06-02 2021-10-01 上海追势科技有限公司 Parking lot particle filter positioning method based on semantic information
CN116202551A (en) * 2021-11-30 2023-06-02 珠海一微半导体股份有限公司 Visual robot road sign positioning effective detection method
WO2023131048A1 (en) * 2022-01-06 2023-07-13 上海安亭地平线智能交通技术有限公司 Position and attitude information determining method and apparatus, electronic device, and storage medium
CN114719864A (en) * 2022-04-24 2022-07-08 上海思岚科技有限公司 Robot self-positioning method, equipment and computer readable medium
CN116069018A (en) * 2022-11-30 2023-05-05 北京顺造科技有限公司 A mowing method and mowing system for improving the success rate of mowing a lawnmower out of trouble
CN116222588B (en) * 2023-05-08 2023-08-04 睿羿科技(山东)有限公司 A positioning method based on fusion of GPS and vehicle odometer
CN116222588A (en) * 2023-05-08 2023-06-06 睿羿科技(山东)有限公司 Positioning method for integrating GPS and vehicle-mounted odometer
CN117406259A (en) * 2023-12-14 2024-01-16 江西北斗云智慧科技有限公司 Beidou-based intelligent construction site vehicle positioning method and system
CN117406259B (en) * 2023-12-14 2024-03-22 江西北斗云智慧科技有限公司 Beidou-based intelligent construction site vehicle positioning method and system
DE102023213076A1 (en) 2023-12-20 2025-06-26 Robert Bosch Gesellschaft mit beschränkter Haftung Method for locating a vehicle in an environment
CN118274849A (en) * 2024-06-04 2024-07-02 江苏智搬机器人科技有限公司 A method and system for positioning an intelligent handling robot based on multi-feature fusion
CN119937545A (en) * 2024-12-26 2025-05-06 中联重科股份有限公司 Mobile robot and motion positioning control method, device, system and medium thereof

Also Published As

Publication number Publication date
CN112639502A (en) 2021-04-09
CN112639502B (en) 2024-07-30

Similar Documents

Publication Publication Date Title
WO2020048623A1 (en) Estimation of a pose of a robot
US12529563B2 (en) Vision-aided inertial navigation
US10677932B2 (en) Systems, methods, and devices for geo-localization
Langelaan State estimation for autonomous flight in cluttered environments
US8401783B2 (en) Method of building map of mobile platform in dynamic environment
US20170176191A1 (en) Method and system for using offline map information aided enhanced portable navigation
EP3707466A1 (en) Method of computer vision based localisation and navigation and system for performing the same
US11561553B1 (en) System and method of providing a multi-modal localization for an object
CN114111774B (en) Vehicle positioning method, system, device and computer readable storage medium
CN112740274A (en) System and method for VSLAM scale estimation on robotic devices using optical flow sensors
CN115135963A (en) Method for generating 3D reference point in scene map
CN114061611A (en) Target object positioning method, apparatus, storage medium and computer program product
Miller et al. Particle filtering for map-aided localization in sparse GPS environments
Mostafa et al. A smart hybrid vision aided inertial navigation system approach for UAVs in a GNSS denied environment
JP4984659B2 (en) Own vehicle position estimation device
Munguía et al. A visual-aided inertial navigation and mapping system
Hong et al. Visual inertial odometry using coupled nonlinear optimization
Ho et al. Smartphone level indoor/outdoor ubiquitous pedestrian positioning 3DMA GNSS/VINS integration using FGO
Bryson et al. Inertial sensor-based simultaneous localization and mapping for UAVs
CN112923934A (en) Laser SLAM technology suitable for combining inertial navigation in unstructured scene
Zhang et al. IC-GLI: a real-time, INS-centric GNSS-LiDAR-IMU localization system for intelligent vehicles
Wang et al. Indoor UAV height estimation with multiple model-detecting particle filters
Caspers Robotic navigation and mapping in gps-denied environments with 3d lidar and inertial navigation utilizing a sensor fusion algorithm
Xu et al. A localization system for autonomous driving: Global and local location matching based on mono-SLAM
Malinchock et al. Q-Loc: Visual Cue-Based Ground Vehicle Localization Using Long Short-Term Memory

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18768849

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18768849

Country of ref document: EP

Kind code of ref document: A1