Method and system for determining the position of a vehicle
By constructing a factor graph and optimizing it using nonlinear model function, the problems of insufficient GNSS accuracy and efficient utilization of computing resources in autonomous driving vehicle positioning are solved, and high-precision and low-cost vehicle positioning are achieved, and positioning accuracy and calculation time are adapted. Improve the reliability of automated driving functions.
Patent Information
- Application Number
- CN201980061621.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-07-20
- Filing Date
- 2019-07-18
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2039-07-18
AI Technical Summary
In the prior art, in the positioning of autonomous driving vehicles, the GNSS system is insufficient in accuracy and the calculation cost of alternative systems is high, resulting in too long calculation time during real-time control in the vehicle and the inability to efficiently use vehicle resources.
By detecting the temporary position data of the vehicle and the surrounding environment data, determining the landmark measurement data, building a factor diagram and optimizing the nonlinear model function, high-precision positioning is achieved, and the positioning accuracy and calculation time are adapted to the map. Positioning methods to reduce map creation costs and storage space requirements.
It realizes high-precision vehicle positioning under the efficient use of vehicle resources, reduces computing time and storage space requirements, improves positioning accuracy and reliability of automated driving functions, and allows easier sensor replacement and landmark data maintenance.
Smart Images

Figure CN113330279B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method and a system for determining the position of a vehicle. Background Art
[0002] Many automated driving functions in modern vehicles require an accurate estimate of the current vehicle attitude. In the past, various approaches have been developed for this positioning problem, including, for example, positioning with the aid of global navigation satellite systems (GNSS), such as the global positioning system GPS. However, the accuracy of such systems is usually not sufficient for use in automated driving functions. However, alternative systems usually require too high a computational effort and thus—with the computing power usually available in vehicles—require too long a computational time for real-time control.
[0003] DE 102013208521 A1 describes a method for collectively learning a high-precision digital road model. In this case, a road section is driven over several times and trajectories and sensory data are detected. The trajectories are linked and an information graph is formed and optimized, wherein the optimal trajectory points are determined. Based on these optimal trajectory points, a high-precision road model is created based on the sensory data.
[0004] DE 102016205193 A1 describes a method for marginalizing a gesture graph, wherein a graph that becomes larger over time is reduced. An optimization is performed to obtain estimated positions. Subsequently, the nodes of the graph are marked and deleted. For this purpose, fixed nodes, for example positions that are not changed by the optimization, are determined.
[0005] In the method for determining the pose of a vehicle described in DE 10 2015 214 338 A1, a local lane arrangement relative to the vehicle is detected. Depending on the geometric similarity of the detected lane arrangement to a predefined map material, the pose can be updated.
[0006] DE 10 2014 209 340 A1 proposes a device and a method for sensor fusion, wherein a factor graph is generated as a function of received sensor data and a fused sensor signal is generated by means of an interferometer.
[0007] In the method proposed in DE 10 2015 218 041 A1 for providing data for a geometric map, odometry data and, if necessary, other information such as landmarks are used. A maximum travel distance is determined based on the detection accuracy of the odometry data.
[0008] Finally, in the method described in US 2017 / 0004379 A1, key points are detected from the images of a vehicle camera and the corresponding poses are determined. The movement of the vehicle is determined from these poses. Summary of the invention
[0009] The object of the present invention is to provide a method and a system of the type mentioned in the introduction which allow for a localization with high accuracy and with efficient use of the resources available in the vehicle.
[0010] According to the invention, this object is achieved by a method for determining the position of a vehicle and a system for determining the position of a vehicle. Advantageous embodiments and developments emerge from the following description.
[0011] In the method according to the invention, temporary position data of the vehicle and surrounding data are detected. Based on the surrounding data, landmark measurement data of landmarks detected in the surroundings of the vehicle are determined. Map data are detected, wherein the map data include a priori landmark data. A factor graph is determined, wherein the factor graph includes: a vehicle position node representing temporary vehicle position data; and a landmark position node representing landmark position data. An optimization of the factor graph is performed, wherein optimized vehicle position data is determined. A position is determined based on the optimized vehicle position data. The position can then be output.
[0012] According to the invention, the determination of the position or attitude of the vehicle is considered as an optimization problem. The use of the factor graph according to the invention advantageously enables a particularly intuitive and clear description of the problem on which the optimization is based, in particular a representation of the problem as a system of equations. The optimization problem thus represented is solved by optimizing the factor graph, wherein the solution can be presented and solved particularly efficiently.
[0013] In the method, a factor graph is determined and used to present an optimization problem using the method of least squares with a nonlinear model function. Alternatively or in addition, such an optimization problem can be presented directly. The factor graph is used to present the problem in a particularly clear and simple form, which allows simple and reliable maintenance and, if necessary, error finding. In addition, this enables particularly good adaptation to fast and efficient processing by a computer.
[0014] In the method, the relationship between positioning accuracy and required computing time can also be adapted and, if necessary, can be adapted to the specific situation or the configuration of the vehicle. This can be achieved in particular by taking into account a suitable number of past measurements and / or by being able to adjust the length of the trajectory used for positioning. The use of a "sliding window" and the consideration of multiple positions along the trajectory are discussed in more detail below.
[0015] The method also involves a positioning relative to a map, so that the specification of global coordinates in the map data used is less critical than, for example, in the case of the known RTK-GPS method (real-time kinematic). The creation of the map is therefore less complex and more cost-effective. This positioning relative to a map can be used in particular for automated driving functions, wherein other information from other parts of the map can also be loaded if necessary. However, as long as the map is correctly referenced globally, the global positioning can be performed directly based on the positioning relative to the map according to the invention, that is, correct data about the position or attitude in the global coordinate system are generated.
[0016] Compared to other methods according to the prior art, which use raw data detected by sensors, in particular without detecting semantic landmarks in the vehicle's surroundings, map data with a smaller file size are required, so that advantages are achieved in terms of the use of storage space and, if necessary, bandwidth when reloading data. The calculation time can also be shortened. Maps with semantic objects and landmarks can also be checked and maintained particularly easily, because the corresponding landmarks can be easily found and checked.
[0017] When using landmarks, an abstraction layer between the sensor raw data and the localization step is used, and different sensors can be used to detect the landmarks. In this way, sensors can be replaced and changed more easily, for example when switching between different product generations. In addition, maps with landmarks can be created particularly easily by third-party providers, who do not have to know exactly which sensor raw data are present in the vehicle. In contrast, the known methods usually presuppose that the properties and characteristics to be observed, for example with a specific camera or a specific type of radar sensor, are predetermined.
[0018] In this method, the relevant input data are depicted in a factor graph, which is optimized and the optimized vehicle position can then be read out. The optimization method according to the invention also results in that the a priori landmark data present as input variables are also optimized. This means that these variables can also be adapted based on the detected data so that reality is depicted as correctly and accurately as possible.
[0019] The use of optimization methods has several advantages over the known particle filter method or EKF (extended Kalman filter): optimization methods are generally more accurate than simple filter methods that must tolerate greater noise in the system in order to provide non-divergent results. Optimization methods as used here are deterministic, which is not the case with Monte-Carlo methods such as particle filters. However, non-deterministic methods are in principle evaluated as critical in terms of functional safety issues, and therefore, it seems unlikely that these non-deterministic methods can form the basis of highly automated driving functions. In addition, since non-deterministic methods depend on random variables, the results provided by these non-deterministic methods are poorly reproducible. This makes it difficult to maintain these uncertain methods and perhaps makes it difficult to find errors. In addition, the results of non-deterministic methods are not always the same, that is, the quality of a specific location may fluctuate with the same input variables. In the case of optimization methods, the limits of the extent to which the method will work can be stated in advance based on the input variables of the optimization method.
[0020] In the method according to the invention, the position can be specified in a known manner in any coordinate system. In particular, a global coordinate system or a relative coordinate system, for example relative to the vehicle or another reference point, can be provided. For example, a coordinate system can be predefined within a certain area, for example in a parking lot, in a parking garage or on a private property.
[0021] According to the invention, the term "position" is to be defined broadly and in particular also includes postures. These postures, in addition to the position within a coordinate system, also specify an orientation, in particular a two-dimensional or three-dimensional orientation relative to a coordinate system. In the case of applications in the field of automotive technology, postures are particularly important, since the direction of movement of the vehicle is usually also predetermined by these postures.
[0022] The position data thus include information about the position and, if applicable, also about the attitude of the vehicle and / or about the state of motion of the vehicle. This information may relate to the current or an earlier point in time, in particular also to a series of consecutive points in time. The position data are detected or provided in a manner known per se.
[0023] In one embodiment of the method according to the invention, the detected temporary position data include a global position estimate and a local position estimate. This makes it possible to advantageously take different aspects of positioning into account.
[0024] Here, the terms “local” and “global” describe, among other things, coordinate systems: local poses and landmark factors are described in the vehicle coordinate system, whereas global poses or coordinate factors are described in the global (world) coordinate system.
[0025] The global position estimate can be determined, for example, with the aid of a global navigation satellite system such as GPS. The results of the corresponding GPS measurements can include information about the position and / or attitude of the vehicle. Alternatively or additionally, other methods known per se can be used. When optimizing the factor graph, this temporary information about the vehicle position is taken into account so that the vehicle attitude to be determined should be close to the GPS measurement, wherein this provision is however usually only approximately met due to other factors in the factor graph. This is to say that it involves a priori values that are known at the beginning of the method and serve as the basis for the optimization. The global position estimate can be used in particular for initialization.
[0026] The local position estimate can be determined, for example, on the basis of odometry, for example by means of tire odometry, visual odometry or other methods known per se, such as LIDAR scan matching or inertial navigation. In particular, displacements are detected with respect to a coordinate system relative to the vehicle and quantified, whereby the own motion can be measured.
[0027] Surroundings data are also acquired in a manner known per se, in particular such that information about landmarks and other features in the surroundings of the vehicle, in particular about the relative positions of the landmarks with respect to the vehicle, can be determined from the data.
[0028] In another embodiment of the method, the surrounding data are detected by means of a camera, a laser sensor and / or a radar sensor. Alternatively or additionally, an ultrasonic sensor or an infrared camera can be used if necessary. Other detector modules or sensors of the vehicle known per se can also be used, or data can be received from external sources or detection devices. Thus, sensors that are already widely available and can be obtained at low cost in many modern vehicles can be advantageously used.
[0029] Position and surroundings data can be detected for a large number of time points and / or positions during the movement of the vehicle in particular. In this case, the movement of the vehicle can be tracked along a trajectory, that is to say along a specific path over time.
[0030] The method according to the invention is map-based, that is to say, it is premised on the presence of map data including a priori landmark data. In similar known positioning methods, these data are ignored, which may lead to disadvantages in the accuracy of the positioning result. The map data can be detected in different ways. For example, these map data can be provided by a storage unit of the vehicle, which storage unit can be included by a navigation system, for example. Alternatively or additionally, these map data can be called and received from an external device, such as via a computer network such as the Internet or from a local service such as a server that provides map data for a parking lot or a business site. It can also be provided that the transmission is carried out via the network of the vehicle. Here, the map data can be detected in particular when passing through a specific geographical area, for example, in such a way that these map data are provided when the vehicle enters a specific section of the road, a parking lot or a business site. Here, the detection is carried out in particular based on an initial global position estimate, such as an initial global position estimate by means of GPS. The detection of the map data can also be carried out at the instruction of the user, such as when the updated map data is manually called.
[0031] The a priori landmark data included in the map data are particularly regarded as global landmark factors. These a priori landmark data include information about landmarks in a geographical area, in particular the positions, orientations and / or other features of these landmarks that can be used to identify and locate these landmarks.
[0032] In a broad sense, features in the geographical surroundings to which at least one position can be assigned are considered "landmarks" for the purposes of the present invention. In particular, such features that can be detected, identified and analyzed as patterns by means of pattern recognition methods are understood to be landmarks. Landmarks can be, for example, lane markings and stripes, columns, posts and pillars, signposts, corners, edges and surfaces of buildings, vegetation elements, artificial landmarks such as barcodes or other features.
[0033] In the method according to the invention, landmark measurement data are determined based on surrounding data. In this case, landmarks are detected and further information is determined for the detected landmarks, such as their position, orientation, form of implementation, specific features such as color, length, radius or the like. The parameters used in this case depend in particular on the type of landmark: for example, lane markings can be assigned start and end positions, which give length and direction, and if necessary thickness, color, shape and / or pattern. In a similar manner, surrounding data of other landmarks and other types of landmarks can be analyzed.
[0034] In particular, based on semantic landmarks, these semantic landmarks are identified and classified as objects based on the surrounding data. In this case, a landmark does not only represent a pattern that can be identified in the surrounding data, but also a landmark type that can be assigned specific characteristics. That is, in this case, the original data is not directly analyzed, for example, based on pattern recognition in the data detected by a laser scanner, but the landmark is recognized as an object that belongs to a specific category of landmarks and has specific, clearly defined characteristics that can be measured in different ways. The advantage of this approach is that the information about such semantic landmarks stored in the map can be checked particularly easily, especially also manually, regarding the correctness of this information. It is also possible to use map data with prior landmark data from any source, so that a particularly high flexibility is achieved. Since the semantic description is independent of the specific vehicle sensor device, such a map can be used flexibly on a variety of vehicles, and the prior landmark data can be analyzed independently of the sensor device used.
[0035] The factor graph determined in the method consists of a collection of nodes and edges, which here represent factors. In this case, the nodes include the estimated variables to be determined, in particular the vehicle posture at a specific time point and the landmarks with their corresponding posture. The vehicle posture is parameterized as a point in a coordinate system and as an orientation within the coordinate system (two-dimensional: x, y, theta; three-dimensional: x, y, z, roll angle, pitch angle, yaw angle). In this case, in particular, a global coordinate system is specified. The parameterization of landmark nodes differs according to the landmark type, wherein the landmarks are divided into different geometric categories. Landmarks whose positions can be represented by points, such as columns, are parameterized as points in a coordinate system (two-dimensional: x, y; three-dimensional: x, y, z). For other landmark types, at least one position is also specified as a parameter, if necessary together with other parameters.
[0036] Edges or factors connect nodes. Factors can be connected to any number of nodes. In particular, factors are connected to only one node (unary factors) or they connect two nodes to one another in pairs (binary factors). Unary factors mathematically describe a priori, that is to say previously known, information about the associated estimated variables. In this method, two unary factors are particularly important: the so-called global pose factor and the global landmark factor.
[0037] The global attitude factor is connected to the node representing the vehicle attitude and describes the (mathematical) prior about what position or attitude the node corresponds to, i.e., it is an estimate of the vehicle attitude at the node. This unary factor is formed, for example, from GPS measurements and is assigned to the vehicle attitude. In the resulting optimization problem, it is thus predetermined that the estimate should be close to the GPS measurement as a boundary condition.
[0038] In a similar way, global landmark factors describe the priors about landmark nodes, which represent the parameters to be estimated for landmarks. In this method, these global landmark factors are directly formed from the prior landmark data included in the map data. Subsequently, these global landmark factors are assigned to landmark nodes and associated with them. Based on this, in the resulting optimization problem, the following boundary condition is derived: the estimate should be close to the prior landmark data.
[0039] In an extension of the method, when determining the factor graph, an association of landmark measurement data is performed, wherein the associated landmark measurement data are determined as a function of a specific point in time. In particular, in the method, multiple repeated observations of the same landmark are identified. This advantageously allows: the scope of the optimization problem to be solved computationally to be reduced and to be solved more efficiently by associating repeated observations of the same landmark. Immediately after solving the optimization problem, the obtained result can also be compared with a priori information in order to check the correctness and consistency of the a priori information.
[0040] The landmark measurement data can be associated with the map data, in particular the a priori landmark data. This can be achieved for each time step for which the method is carried out. As a result, the detected landmarks can be assigned to the landmarks included in the map data and, if necessary, erroneous assignments can be corrected, also for previous time steps. A post-check of the assignment or a post-correction of an erroneous assignment can be achieved in particular in that the assignment can be repeated as a separate method step for each time point of the detected landmark data.
[0041] In the method, a history of the assignment between local landmark factors determined on the basis of landmark measurement data and map landmarks determined on the basis of a priori landmark data can also be formed. In this case, for example, the number of times a local landmark is assigned to a map landmark is counted. If the number of consistent assignments reaches or exceeds a threshold value, the hypothesis is considered valid. This allows erroneous assignments to be avoided. Multiple hypotheses about the association can be compared with one another, for example for multiple points in time when the method is implemented, and erroneous or defective associations can be prevented or corrected. Here, a post hoc correction of the association can also be performed. In this way, landmarks detected locally by the vehicle and determined on the basis of a priori landmark data can be associated particularly reliably.
[0042] Based on this history, a possible map landmark can also be assigned to a local landmark at the time of the detection of the landmark measurement data, which was determined based on the landmark measurement data and to which no map landmark could be assigned based on the a priori landmark data. Based on this history, an incorrect assignment or association with a too low probability can also be identified later.
[0043] In this method, it is generally not possible to assume that the detection of surroundings data and position data is always synchronous with one another and takes place precisely at the point in time at which the position is to be estimated. Therefore, different methods can be used so that measurements for a specific point in time can be used: in particular, when very short times are involved or the movement of the vehicle is known to be so slow that no relevant displacement of the position results for the time offset, this time offset can be ignored. Alternatively, position data, in particular odometry data, can be used in order to extrapolate the displacement of the position during this time offset from the course of motion or to interpolate between two points in time.
[0044] In one embodiment, the factor graph is determined for consecutive time points at uniform intervals. In particular, the factor graph is completely redefined for each of these time points. As a result, the movement of the vehicle can be advantageously tracked along the trajectory. Here, the uniform interval can relate to a fixed time interval. In addition, the factor graph can be generated with uniform spatial spacing or a minimum spatial spacing can be specified as a condition for generating a new factor graph. Before determining the new factor graph, it can also be checked whether data from one or more input sources exist. In particular, at the time point of the redefinition of the factor graph, a new estimate for the position, that is, a new position node, is generated.
[0045] In another embodiment, an allocation of the map measurement data and the a priori landmark data is performed, and the vehicle position data and the landmark position data of the factor graph are determined based on the allocation. In particular, the allocation is performed locally. As a result, detections of landmarks and information about the landmarks contained in the map data that belong to the same entity are identified.
[0046] The assignment can be made based on information stored about the landmarks or on the detected parameters. In particular, the spatial proximity of the detected landmarks to the predefined estimated position is used for the assignment, i.e. the detected landmarks are assigned based on the landmark measurement data to a landmark within the map data that corresponds as accurately as possible to the corresponding position estimate.
[0047] In an extended solution, when optimizing the factor graph, landmark position data optimized for the landmark position nodes of the factor graph are determined. As a result, the positions of the landmarks are also advantageously optimized when optimizing the factor graph. The method can be used to improve a priori landmark data predetermined by map data based on measurements.
[0048] In particular, it can be provided that quality data are generated and outputted based on the a priori landmark data and the optimized landmark position data. This advantageously allows the quality of the detection of landmarks or the quality of the map data to be checked. For example, the quality data can include information about whether the actually detected landmarks deviate from the information provided by the map data and to what extent. In particular, it can be provided that the map data are updated based on the quality data.
[0049] In one embodiment, the method is repeated iteratively for a plurality of time points and a trajectory of the position is output, wherein a later factor graph assigned to a later time point is determined in each case as a function of an earlier factor graph assigned to an earlier time point. In this case, the marginalization of the factor graph is performed such that the later factor graph does not exceed a predetermined maximum size. In particular, the method is performed at regular time intervals. This makes it possible to advantageously track the trajectory of the vehicle.
[0050] The maximum size of the factor graph can be defined in a manner known per se, in particular as the number of nodes and edges and / or according to a complexity measure which quantifies the computational effort required to solve the optimization problem.
[0051] Provision is made here to use a "sliding window" which defines a fixed time window starting from the current time point. For example, all data of the factor graph within a certain time interval before the current time point can always be considered. In this case, in particular when the time interval is long and the older data are therefore outdated, these older data can be completely ignored. It is also possible to carry out a weighting according to the age of the data, wherein in particular the older data are not weighted so strongly. It is also possible to combine data from earlier time points, for example to form a single estimated value for a parameter within the previous time period, while the newer data are considered as individual measurements.
[0052] In particular, in this method a completely new optimization of the factor graph is performed for each time step. In contrast, older estimates are typically not improved in conventional methods because errors in the estimates at earlier time points continue to occur. That is, in this method, the estimates are advantageously re-optimized for each time point, regardless of the results of past estimates.
[0053] In the method according to the present invention, the factor graph includes landmark position nodes and prior landmark data, which can be represented in particular by global landmark factors. In the method according to the prior art, the landmark position nodes are often removed by marginalization. In this case, the marginalization of the landmark position nodes may lead to errors (marginalization errors) due to approximation. This type of error is avoided in the method according to the present invention. That is, in the method according to the present invention, improved information about the landmark positions is advantageously obtained. This information can be used to check whether the structure of the factor graph is reasonable and internally consistent over time. If necessary, the map quality can also be evaluated.
[0054] The system for determining the position of a vehicle according to the present invention comprises: a detection unit for detecting temporary position data of the vehicle and surrounding environment data; a processing unit for determining landmark measurement data of landmarks detected in the surrounding environment of the vehicle based on the surrounding environment data; and an interface for receiving map data, wherein the map data includes a priori landmark data. The system also comprises a calculation unit, which is configured to determine a factor graph, wherein the factor graph comprises: a vehicle position node representing temporary vehicle position data; and a landmark position node representing landmark position data. The calculation unit is also configured to: perform optimization of the factor graph, wherein optimized vehicle position data is determined; and determine and output a position based on the optimized vehicle position data.
[0055] The system according to the invention is designed in particular to implement the method according to the invention described above. Therefore, the system has the same advantages as the method according to the invention.
[0056] The interface for receiving map data can be designed in different, known ways. For example, an interface to a computer network, such as the Internet, or a local service, such as a local server, can be used to provide map data for a specific surrounding. Alternatively or additionally, the vehicle can include a storage unit or a storage unit of an external device can be used, in which in particular the data of the navigation device can be accessed.
[0057] In one embodiment of the system according to the invention, the detection unit comprises a camera, an ultrasonic sensor, a laser sensor and / or a radar sensor. Alternatively or additionally, other sensors and sensor types can be used. Thus, sensors which are widely available and available in many vehicles are advantageously used, wherein the system is not limited to these sensors. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] Now, the present invention will be explained based on embodiments with reference to the accompanying drawings.
[0059] Figure 1 A vehicle having an embodiment of a system according to the invention is shown;
[0060] Figure 2A An embodiment of a factor graph according to the present invention is shown;
[0061] Figure 2B An exemplary embodiment of a situation on a road with an associated map segment is shown; and
[0062] Figure 3 An embodiment of the method according to the invention is shown. DETAILED DESCRIPTION
[0063] refer to Figure 1 An embodiment of a system according to the present invention will be described below.
[0064] The vehicle 1 comprises a detection unit 2, which is coupled to a control unit 8. The detection unit 2 comprises a plurality of detection and sensor modules, not shown in greater detail, which comprise modules for positioning by means of a GPS (Global Positioning System) and by means of an odometer, in particular by detecting the wheel speed and steering angle of the vehicle 1. The detection unit also comprises a laser scanner and a camera for detecting the surroundings of the vehicle 1. The control unit 8 comprises a processing unit 3, a computing unit 4 and a navigation system 5. Instead of or in addition to the navigation system 5, an interface to a storage system of the vehicle 1 or to an external storage system can be provided. The vehicle 1 also comprises a drive and steering device 7, which is designed in a manner known per se and allows longitudinal and / or lateral control of the vehicle 1. The vehicle 1 also comprises an interface 6, which is coupled to the control unit 8 and can establish a detachable, wireless data-technical connection to an external server 10 in a manner known per se.
[0065] refer to Figure 2A and 2B Here, the embodiment of the factor graph according to the present invention is described. Figure 1 The exemplary embodiments described are taken as a starting point.
[0066] The factor graph includes nodes and edges, where the edges are referred to as factors in this embodiment. In this case, unary and binary factors connected to one node or to two nodes are set. Figure 2A The nodes are presented as circles and the factors are presented as rectangles with line connections to the nodes.
[0067] Nodes p0 to p6 represent (vehicle) pose nodes, ie the pose (position and orientation) of vehicle 1 at a specific point in time. In this exemplary embodiment, the method is essentially used to describe and optimize estimates for these pose nodes, in particular using a global coordinate system.
[0068] Nodes l0 and l1 represent landmark nodes, that is, the poses of different landmarks.
[0069] The local attitude factors o0 to o5 represent odometry factors. That is, these local attitude factors are related to the data measured by the detection unit 3 of the odometry device, which detects and records data about the movement, in particular the speed and the steering angle, during the movement from one attitude to another. In this example, for example o0 represents the change of the attitude of the vehicle 1 between the attitude nodes p0 and p1.
[0070] The global attitude factors a0 and a1 represent a priori information about the attitude of the vehicle, respectively, wherein the embodiment provides for global positioning by means of a GPS module of the detection unit 3 .
[0071] The local landmark factors g0 to g3 represent the observation of landmarks from the vehicle's posture to the landmarks. That is, during a certain posture of the vehicle 1, the vehicle detects the vehicle's surroundings with at least landmarks by means of the detection unit 3. The measurements are added to the local landmark factors g0 to g3 and allow the relative positions of the landmarks with respect to the vehicle 1 to be determined. In the example shown, the landmarks belonging to the landmark position node l0 are detected starting from the vehicle positions p1 and p3, and the landmarks belonging to l1 are detected starting from the vehicle positions p3 and p5.
[0072] The global landmark factors m0 and m1 represent a priori landmark data. In this embodiment, these a priori landmark data are comprised by the map data, in particular relating to the absolute position, orientation and other parameters of the different landmarks.
[0073] exist Figure 2B In the case shown in FIG. 2 , a vehicle 24 is located on a road 21 on which lane markings 22 are provided and guide posts 23 are arranged at the edge of the road. The vehicle 24 detects its surroundings by means of a detection unit 3 which essentially acts like a Figure 1The detection unit is designed as shown in FIG. 2 for the exemplary embodiment of the system according to the invention. The dashed lines indicate that some of the guide columns 23 are detected by the vehicle 24 , wherein in particular the position of these guide columns is detected relative to the position of the vehicle 24 .
[0074] Also shown is a fragment of a map 30, which has map markings of a road 31, lane markings 32 and guide posts 33. In the case of localization according to the method of the invention, the data of the map 30 together with the detection of the vehicle 24 influence a factor graph which is essentially like Figure 2A : The posture of the vehicle 24 at a specific time point is represented by the posture nodes p0 to p6, the global posture factors a0 and a1 represent the GPS measurement at the specific time point, and the local posture factors o0 to o5 correspond to the movement of the vehicle 24 between two time points. The position of the landmark 23 is represented by the landmark nodes l0 and l1, the global landmark factors m0 and m1 represent the prior landmark data included in the map 30, and the global landmark factors g0 to g3 represent the observation of the landmark 23.
[0075] refer to Figure 3 An embodiment of the method according to the present invention is described. Figure 1 The illustrated embodiment of the system according to the invention and the Figure 2A and 2B The starting point is the exemplary embodiment of the factor graph shown in FIG. 1 and the situation on a road with an associated map segment.
[0076] In a first step S10, the vehicle's temporary position data and surroundings data as well as map data are detected. The map data can be provided, for example, by a navigation system 5 or a storage system. These input data can be provided in different ways, in particular by means of the detection unit 2 and via an interface 6 of the vehicle 1.
[0077] In subsequent steps S21 , S22 , S23 , S24 , the input data are buffered, ie a memory is provided which collects the input data and makes them available at least until they are processed.
[0078] The input data include temporary position data which are detected in this exemplary embodiment by means of odometry and as a global attitude estimate, in particular by means of GPS. The global attitude estimate is buffered in step S21 and the odometry data is buffered in step S22.
[0079] Based on the surrounding data detected by the detection unit 2, the processing unit 3 first determines the detected landmarks in a manner known per se. In particular, semantic landmarks are determined, that is, they are assigned to a specific type and the parameters of the individual landmarks are determined. The determined parameters include at least the position and, if necessary, other characteristics of the detected landmarks, such as the length or other extension, radius, geometry or start and end point. The landmark detection is buffered in step S23.
[0080] The map data detected at the start include in particular a map with a priori landmark data, that is to say information about landmarks in the area covered by the map. In this case, the map data can be completely loaded at the start, partially reloaded or provided by the background or other vehicles, in particular by means of vehicle-to-vehicle / v2v communication. In step S24, the map data, in particular the landmark map, are buffered.
[0081] There may be a plurality of sources for different initially detected input data, but in this exemplary embodiment at least one source is provided for each type. In particular, a plurality of modules for detecting position data are conceivable and most of the features of position fusion are thereby integrated into the method. If it is mentioned later that there is a source for each input data type, it is assumed that in the case of a plurality of sources the corresponding method steps are carried out separately for each source.
[0082] Buffering of input data S21, S22, S23, S24 also takes place simultaneously during a cycle, in particular in order to be able to provide data for attitude determination at a later point in time. At a specific point in time, first the graph creation is triggered and then the graph optimization is triggered. Finally, the final attitude estimate is extracted from the graph by optimization.
[0083] In order to be able to determine the factor graph, first the time points at which the vehicle's posture should be estimated are determined. In this embodiment, this is done at fixed time intervals, but it is also possible, for example, to do so by means of a minimum spatial distance that the vehicle has traveled between two estimates. Another possibility is to link these time points with the presence of data from one or more input sources. Then, at these time points, posture nodes, in particular vehicle position nodes, are inserted into the graph and new posture estimates can be made.
[0084] Next, in step S41, global attitude factors a0 and a1 are calculated by means of the global attitude estimation present in the buffer. These global attitude factors must match the attitude nodes created before in time. Since the global attitude estimation is usually not detected at the time point for which the factor graph should be determined, the global attitude estimation must be moved in time by means of a suitable strategy. In this embodiment, the nearest neighbor strategy is used for this purpose, and the time point closest in time is selected in the case of the nearest neighbor strategy. This works well when the time difference between the attitude nodes p0 to p6 is small, such as only a few milliseconds. An alternative strategy is to interpolate between two global attitude estimates in the buffer to obtain a new estimate, which matches the attitude nodes p0 to p6 in time. Another strategy is to determine the movement of the global attitude estimation by means of an odometer. This works well when the odometer produces a small error for a short section. After determining the global attitude factors a0 and a1, these global attitude factors are inserted into the figure and connected with the corresponding attitude nodes p0 to p6.
[0085] In step S42, the odometry data in the buffer is processed. Here, there is also the following problem: the time point of the input data, that is, the odometer measurement detected by the detection unit 2, usually does not match the time point p0 to p6 of the posture node. Interpolation and nearest neighbor methods can also be considered here. In this embodiment, the odometer measurements are preferably linked to each other so as to obtain the road section traveled between any time points in the vehicle coordinate system, which is ultimately similar to interpolation. Alternatively or additionally, extrapolation of the data can be specified for short time intervals. Based on the odometry data processed in this way, the corresponding local posture factors o0 to o5 are inserted into the factor graph. In particular, the local posture factors o0 to o5 are respectively associated with two vehicle postures p0 to p6. Preferably, either the posture node p0 to p6 that is closest to the measurement in time is associated, or always two posture nodes p0 to p6 that are consecutive in time are associated.
[0086] The landmark detections buffered in step S23 are also processed in a similar manner. Here, the landmarks are first grouped together in a local association step S31. This step S31 does two things: On the one hand, these detections are projected in time onto the timestamps of the closest posture nodes p0 to p6. For this purpose, for example, the data in the range buffer can be used. Alternatively or additionally, the optimized posture nodes p0 to p6 can be used in the previous method cycle to determine the movement and perform interpolation or extrapolation. If there is still no data in the factor graph at the time point of executing the method, the vehicle's motion model can be used to extrapolate the movement at the desired time point.
[0087] Furthermore, in step S31 an assumption is made as to which of the detected landmarks stored in the buffer belong to the same physical object in the surroundings of the vehicle 1. For example, the same landmark may be detected multiple times by the same detector or by different sensors. This can be achieved, for example, by a nearest neighbor strategy, in which a threshold for distances that are too large causes the assumption to be denied. Another possibility is to analyze special descriptors of landmarks, in particular of landmarks of different landmark types. Typically, a distance function is designed and a check is made as to which of the other possible landmarks are at a distance less than a threshold. If, in this embodiment, a unique solution is found here, this solution is accepted as an assumption. If there are multiple possible candidates, the assumption formation appears unreliable and is therefore not accepted.
[0088] That is, the local association in step S31 provides a set of local landmark factors g0 to g3, which are now directly used in step S43 to determine the factor graph.
[0089] In addition, these local landmark factors are further processed for map assignment in step S32. In this case, the local landmark factors g0 to g3 are compared with the map included in the map data, and a hypothesis is generated as to which of these local landmark factors g0 to g3 corresponds to which map landmark, that is, a landmark included in the a priori landmark data. In other words, in this step S32 it is ascertained which subset of the map landmarks corresponds to which subset of the local landmark factors g0 to g3. The execution of this step S32 may be made more difficult by missing map landmarks and / or by erroneous identification of the presence detector, in which case no association can be found anyway.
[0090] A similar approach is taken as above for the case where a hypothesis is formed in order to assign multiple detections to the same detected landmark. The result of this step S32 is a collection of assignments between local landmark factors g0 to g3 and map landmarks. These assignments are now further processed in the following step S33 for time comparison.
[0091] In a time comparison step S33, a history of the assignment between local landmark factors g0 to g3 and map landmarks is formed. In this embodiment, the number of times the hypothesis that a specific local landmark factor g0 to g3 should be assigned to a specific map landmark is counted for this purpose. The hypothesis is then considered valid only after a minimum number of coincidences, so that false detections can be avoided. In the time comparison step S33, the hypothesis for data association over a longer period of time is verified, wherein short-term bad associations can also be prevented and corrected. This results in a more stable assignment between the landmarks detected locally by the vehicle and the landmarks present in the map.
[0092] It may also happen that the local landmark factors g0 to g3 cannot be assigned to a map landmark in the current step. In this case, the history can be used to determine which assignment was possible or was possible at the time of the detection, still based on historical knowledge. Here, erroneous assignments that are inconsistent with the history can also be found.
[0093] In step S44, global landmark factors m0, m1 are formed according to the allocation between local landmark factors g0 to g3 and map landmarks. These global landmark factors are then embedded into the factor graph. These global landmark factors describe in particular at which locations a specific landmark is expected.
[0094] At the time of step S50, a factor graph is created with the information of the previous time step and with the additional information of the current time step. As a result, the factor graph usually grows during normal operation. In order to avoid excessive growth, a sliding window, that is, a time window, is set in this embodiment, which moves with each time step. If information falls out of the time window and falls into the functional graph due to this movement, the functional graph must be pruned accordingly, for which different methods can be used:
[0095] In this embodiment, the oldest nodes and factors outside the time window are removed for this purpose. Alternatively, only the nodes and factors of the factor graph with the least information content can be removed. In the case of both strategies, it is necessary to consider how this "removal" should be best implemented. The first possibility is to simply delete the nodes and factors. This has low complexity and can be sufficient in the case of large factor graphs. Another possibility that is preferred in this embodiment is to marginalize the information. For this purpose, the system matrix of the optimization problem on which the factor graph is based is marginalized using the Schur complement. The method itself is known, for example from the academic literature "Information-theoretic compression of pose graphs for laser-based SLAM", H. Kretzschmar and C. Stachniss, International Journal of Robotics, 2012, No. 31, pp. 1219-1230.
[0096] In the next step S60, the factor graph is optimized, wherein an algorithm known per se can be used for graph optimization. This optimization provides determination of node values, which represent all factors as well as possible. That is, all posture nodes p0 to p6 and landmark nodes l0, l1 are determined to make the conditions of factors m0, m1, g0 to g3, o0 to o5, a0, a1 as well as possible be followed. Now, especially the posture nodes p0 to p6 are interesting, and these posture nodes represent the latest vehicle posture at the head of the graph. In step S70, the latest vehicle posture determined is usually output. For other applications, it may be interesting to output an older posture node in this step S70, alternatively or additionally, such as to perform calculations for the past. For other applications, the track that has been driven, that is to say the path that the vehicle has passed through, may be important, and this track can also be output. For other applications again, the determined landmark positions l0, l1 may be important, and these landmark positions can also be output in this step S70.
[0097] In the above-described embodiment, the initial attitude is determined by means of GPS measurements or based on similar data. Although a factor graph can be established in advance, the optimization of this factor graph does not bring meaningful results for most applications, especially when the assignment to map landmarks cannot be achieved. In this case, it can be provided alternatively that the final vehicle attitude when the engine is turned off is stored and used for initialization. As a further alternative, a specified position can be used, which is set, for example, from the factory or from the parking lot of the company's vehicles, or the position can be pre-given in a configurable manner, such as a position in a private garage. In this case, the method is independent of GPS measurements and the initial attitude can be determined particularly simply.
[0098] Other landmarks can also be integrated into the method if they can be represented geometrically accordingly and their error functions can be specified. This can be achieved using methods known per se for common landmarks, such as columns, lane markings, manhole covers, house surfaces, house edges, tunnel entrances, traffic signs, traffic lights, roundabouts, sewers, curbs and similar landmarks.
[0099] The global landmark factors m0, m1 determined in the method are used in particular as a priori landmark data, that is to say as information about the landmarks of the map, in particular about the positions of these landmarks, which is given to the method from the outside. Alternatively or additionally, the landmark nodes l0, l1 of the factor graph can also be marginalized in order to achieve a smaller state vector, which means that the memory usage is reduced and the execution time is shortened when setting up and optimizing the factor graph. However, if necessary, the loss of accuracy must be weighed against speed. In addition, in this way, when optimizing the factor graph, the estimated landmark positions are not obtained based on the landmark nodes l0, l1, while in a preferred embodiment of the method, an evaluation of the a priori landmark data can also be performed.
[0100] Reference numerals list
[0101] 1 Vehicle
[0102] 2 Detection unit
[0103] 3 Processing Unit
[0104] 4 Computational Unit
[0105] 5 Navigation system
[0106] 6 Interface
[0107] 7 Drive and steering devices
[0108] 8 Control unit
[0109] 10 External Servers
[0110] 21 Road (Reality)
[0111] 22 Lane markings (realistic)
[0112] 23 Guide column (realistic)
[0113] 24 Vehicles
[0114] 30 Map
[0115] 31 Road (map)
[0116] 32 Lane markings (map)
[0117] 33 Guide post (map)
[0118] m0, m1 global landmark factors
[0119] l0, l1 landmark location nodes; landmark nodes
[0120] g0, g1, g2, g3 local landmark factors
[0121] p0, p1, p2, p3, p4, p5, p6 vehicle position nodes; attitude nodes
[0122] o0, o1, o2, o3, o4, o5 local attitude factors
[0123] a0, a1 global attitude factors
[0124] S10 detection and preprocessing
[0125] S21 Buffer for global pose
[0126] S22 Buffer for trip data
[0127] S23 Landmark (Detection)
[0128] S24 Landmarks (Map)
[0129] S31 Local Association
[0130] S32 Map Allocation
[0131] S33 Time comparison
[0132] S41 Determine the global attitude factor
[0133] S42 Determine local attitude factor
[0134] S43 Determine local landmark factor
[0135] S44 Determine the global landmark factor
[0136] S50 graph creation
[0137] S60 graphics optimization
[0138] S70 Output position.
Claims
1. A method for determining the position of a vehicle (1), wherein Detecting temporary position data and surrounding environment data of the vehicle (1); Determining landmark measurement data of landmarks detected in the surroundings of the vehicle (1) based on the surroundings data; detecting map data, wherein the map data includes a priori landmark data; Determine a factor graph, wherein the factor graph includes vehicle position nodes (p0, p1, p2, p3, p4, p5, p6) representing temporary vehicle position data and landmark position nodes (l0, l1) representing landmark position data; performing an optimization of the factor graph, wherein optimized vehicle position data is determined; and determining the position of the vehicle (1) based on the optimized vehicle position data, wherein, at each time step of the method, the landmark measurement data are associated with the a priori landmark data, wherein, when optimizing the factor graph, landmark position data optimized for landmark position nodes of the factor graph are determined, wherein an allocation is formed between local landmark factors determined based on the landmark measurement data and map landmarks determined based on the prior landmark data, wherein the local landmark factors represent observations of the landmarks from the vehicle posture to the landmarks, wherein the local landmark factors are compared with a map included in the map data, and a hypothesis is generated as to which of the local landmark factors is consistent with which landmark included in the prior landmark data, and Therein, the assignment is further processed in a time comparison step, in which a history of the assignment between local landmark factors and map landmarks is formed, wherein the number of times the hypothesis is generated that a specific local landmark factor should be assigned to a specific map landmark is counted and then the hypothesis is considered valid only after a minimum number of agreements.
2. The method according to claim 1, It is characterized in that The detected temporary position data includes a global position estimate and a local position estimate.
3. The method according to claim 1 or 2, It is characterized in that When determining the factor graph, an association of the landmark measurement data is performed, wherein The associated landmark measurement data is determined based on a specific point in time.
4. The method according to claim 1 or 2, It is characterized in that The factor graph is determined for consecutive time points at uniform intervals.
5. The method according to claim 1 or 2, It is characterized in that performing the assignment of map measurement data and a priori landmark data, and The vehicle position data and the landmark position data of the factor graph are determined according to the distribution of the map measurement data and the prior landmark data.
6. The method according to claim 1 or 2, It is characterized in that Quality data is generated and outputted according to the priori landmark data and the optimized landmark position data.
7. The method according to claim 1 or 2, It is characterized in that The method is iteratively repeated for multiple time points and outputs a trajectory of positions; wherein Later factor graphs assigned to later time points are respectively determined based on earlier factor graphs assigned to earlier time points; wherein Marginalization of the factor graph is performed such that the subsequent factor graph does not exceed a predefined maximum size.
8. A system for determining the position of a vehicle (1), the system comprising: A detection unit (2) for detecting temporary position data of the vehicle (1) and detecting surrounding environment data; A processing unit (3) for determining landmark measurement data of landmarks detected in the surroundings of the vehicle based on the surroundings data; An interface (6) for receiving map data, wherein the map data includes a priori landmark data; and A computing unit (4), wherein the computing unit is configured to: determining a factor graph, wherein the factor graph includes vehicle position nodes (p0, p1, p2, p3, p4, p5, p6) representing temporary vehicle position data and landmark position nodes (l0, l1) representing landmark position data, performing an optimization of the factor graph, wherein optimized vehicle position data is determined, and determining and outputting the position based on the optimized vehicle position data, At each time step of implementing the method according to any one of claims 1 to 7, the landmark measurement data are associated with the a priori landmark data, The calculation unit (4) is further configured as follows: When optimizing the factor graph, determining the landmark position data optimized for the landmark position nodes of the factor graph, wherein an assignment is formed between local landmark factors determined based on the landmark measurement data and map landmarks determined based on the a priori landmark data, wherein the local landmark factors represent an observation of the landmark from the vehicle posture to the landmark, wherein the local landmark factors are compared with a map included in the map data and a hypothesis is generated as to which of the local landmark factors is consistent with which landmark included in the a priori landmark data, and Therein, the assignment is further processed in a time comparison step, in which a history of the assignment between local landmark factors and map landmarks is formed, wherein the number of times the hypothesis is generated that a specific local landmark factor should be assigned to a specific map landmark is counted and then the hypothesis is considered valid only after a minimum number of agreements.
9. The system according to claim 8, It is characterized in that The detection unit (2) comprises a camera, an ultrasonic sensor, a laser sensor and / or a radar sensor.
