Method, device and computer program product for providing a trajectory of an object to a vehicle

By introducing a second coordinate system into the vehicle coordinate system and approximateing the object trajectory direction using a polynomial function, the problem in the prior art is solved that it is difficult to efficiently provide object trajectory directions in various traffic scenarios, and efficient trajectory modeling and reconstruction in finite storage and computing capacity is realized.

CN113330449BActive Publication Date: 2025-03-28BAYERISCHE MOTOREN WERKE AG
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201980089478.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-02-04
Filing Date
2019-10-18
Publication Date
2025-03-28
Estimated Expiration
2039-10-18

AI Technical Summary

Technical Problem

The prior art is difficult to efficiently provide autonomous or semi-autonomous driving vehicles with limited storage and computing capacity to object trajectory directions in various traffic scenarios.

Method used

By introducing a second coordinate system into the vehicle coordinate system and approximateing the object trajectory direction using a polynomial function, the analytical characteristics of the trajectory direction, such as tangent angle and curvature.

Benefits of technology

It realizes that the control device with limited storage and computing capacity can efficiently provide object trajectory directions for various traffic scenarios, broadening the system limits of auxiliary and safety functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113330449B_ABST
    Figure CN113330449B_ABST
Patent Text Reader

Abstract

The invention relates to a method for providing a trajectory of an object for a vehicle. In the method, a predetermined first number of detected positions (Pi) of an object (20) are provided, the positions (Pi) being provided with reference to a vehicle coordinate system (K) of a vehicle (10). A second coordinate system (K′) is determined based on a predetermined second number of provided positions. The provided positions are transformed into the second coordinate system (K′) and a function is determined that approximates the trajectory of the provided positions in the second coordinate system (K′). At least one analytical characteristic of the function at the corresponding sampling points is determined for a predetermined third number of sampling points of the function. The coordinates of the corresponding sampling points and the at least one analytical characteristic are transformed into the vehicle coordinate system (K). The invention also relates to a device and a computer program product for providing a trajectory of an object for a vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a method for providing a trajectory of an object for a vehicle, in particular for an autonomous or semi-autonomous vehicle. The invention also relates to a device for providing a trajectory of an object for a vehicle. The invention also relates to a computer program and a computer program product for providing a trajectory of an object for a vehicle. Background Art

[0002] Due to limited storage and computing capacity, in autonomous or semi-autonomous vehicles, the road courses and driving trajectories of the own vehicle (host vehicle) and other vehicles are sometimes modeled partially or partially by mathematical functions. The course of the road trajectory and driving trajectory is mainly described in a rigid vehicle coordinate system, for example in a vehicle coordinate system according to DIN ISO-8855. In this way, the road course and trajectory course of other vehicles that run approximately parallel or almost parallel to the trajectory of the own vehicle (host vehicle trajectory) can be described very efficiently in terms of storage and computing effort. Summary of the invention

[0003] The object of the present invention is to provide a method, a device, a computer program and a computer program product which allow the trajectory of objects to be efficiently provided for a wide variety of traffic scenarios.

[0004] This object is achieved by a method according to the invention for providing a trajectory course of an object for a vehicle, a device according to the invention for providing a trajectory course of an object for a vehicle and a computer program product according to the invention.

[0005] According to a first aspect, the invention is characterized by a method for providing a trajectory course of an object for a vehicle. The invention is also characterized by a device, wherein the device is designed to carry out the method for providing a trajectory course of an object for a vehicle.

[0006] In the method, a predetermined first number of detected positions of an object is provided, wherein the positions are provided with reference to a vehicle coordinate system of the vehicle. A second coordinate system is determined as a function of a predetermined second number of provided positions. The provided positions are transformed into the second coordinate system and a function is determined, which approximates or approximates the course of the provided positions in the second coordinate system. For a predetermined third number of sampling points of the function, at least one analytical property of the function is determined at the respective sampling points. The coordinates of the respective sampling points and the at least one analytical property are transformed into the vehicle coordinate system.

[0007] The first, second and / or third quantities may be the same or different.

[0008] The object is preferably a moving object. The object can be in particular another vehicle or another vehicle. The object is in a predetermined surrounding environment of the vehicle at the time of detecting the position.

[0009] The function to be determined, which approximates the course of the provided position in the second coordinate system, is preferably an explicit function, for example according to the relationship y=f(x).

[0010] The vehicle coordinate system is a three-dimensional Cartesian coordinate system relative to which the vehicle is stationary. It is, for example, a coordinate system described in detail in the DIN standard ISO 8855. Such a coordinate system is also referred to as a vehicle-centered coordinate system or vehicle coordinate system. The method can also be used in three dimensions. However, the following assumes a two-dimensional application, i.e., for example, starting from z=0 in the coordinate system described in detail in the DIN standard ISO 8855.

[0011] The detected positions are characterized by position data values. The detected positions describe the trajectory or path of the object, which can be used for the trajectory. The trajectory describes the state change (such as position, direction, velocity vector and acceleration vector, etc.) over time, according to which the object, in particular the vehicle, can be controlled when using driving maneuvers. The trajectory curve (Bahnkcurve) or trajectory is usually a one-dimensional submanifold in a multidimensional space. The trajectory can extend along the driving surface to be traveled by the vehicle, such as a road. The trajectory describes where the vehicle is at this time or where it will be in the future.

[0012] In addition, a second coordinate system is determined, so that the vehicle uses at least two coordinate systems. The second coordinate system is preferably determined in such a way that the trajectory of the detected position data with reference to the second coordinate system can be described by a single explicit function of the variable.

[0013] Preferably, the coordinates transformed into the vehicle coordinate system and the at least one analytical characteristic are provided at a predetermined interface. The coordinates transformed into the vehicle coordinate system and the at least one analytical characteristic are stored, for example, in a predetermined storage area and subsequently used for different control functions of the vehicle. A possible application example is the control of deceleration during lateral driving.

[0014] The above method advantageously enables the system limits of current assistance and safety functions to be expanded and the trajectory course to be modeled and reconstructed using similar resource-saving estimation methods in common traffic scenarios in which the trajectory course cannot be represented in the vehicle-related coordinate system by mathematical explicit functions. Scenarios in which the trajectory course cannot be represented in the vehicle coordinate system by explicit functions of variables include, for example:

[0015] - Objects that are transverse to the vehicle's direction of travel;

[0016] - objects moving through the roundabout; and

[0017] - Objects turning at intersections or generally changing direction on tight bends.

[0018] The above-described method can also be used to determine or estimate analytical variables or analytical properties of traveled or traversed trajectories, such as cutting angles and / or curvatures, wherein the trajectory course cannot be represented in the vehicle coordinate system by explicit functions of variables.

[0019] The resource requirements only increase slightly by extending the modeling and estimation methods known to date. Integration into control devices with very limited storage and computing capacity is possible.

[0020] In an optional embodiment according to the first aspect, the detected positions are stored in a ring buffer. The ring buffer has a memory array with a fixed capacity. Unlike conventional memory arrays, when the buffer is full and additional elements are stored in the ring buffer, the oldest content is overwritten. This has the advantage that the first number of detected positions that are evaluated can be called up simply and efficiently by iteration.

[0021] In a further optional embodiment according to the first aspect, positions detected directly in succession have a minimum distance, which ensures that the storage requirements are kept low while ensuring sufficiently accurate representation of strong changes in the trajectory course.

[0022] In a further optional embodiment according to the first aspect, the minimum distance between directly successively detected positions is dependent on the current speed of the vehicle and / or the current yaw angle of the object and / or the curvature of a previously determined trajectory determined for the current position of the object, the trajectory including the current position of the object. The corresponding distances between the detected positions can therefore be different. It can advantageously be ensured that the course of the trajectory curve can be approximated or approximated sufficiently accurately by a third-order polynomial.

[0023] In a further optional embodiment according to the first aspect, the second coordinate system is determined according to a factor λ, which represents the quotient of the actual distance between two positions detected last in time of the total third number of detected positions and the minimum distance. The factor λ is preferably equal to the quotient. This makes it possible to determine the second coordinate system with little computational effort and ensures a continuous movement of the additional coordinate system.

[0024] In a further optional embodiment according to the first aspect, the course of the provided position in the second coordinate system is approximated or approximated by a polynomial of at least third order. This allows sufficiently precise and efficient determination of analytical variables at different points of the trajectory curve.

[0025] In a further optional embodiment according to the first aspect, the corresponding polynomial coefficients of the polynomial are determined by means of a Kalman filter. This allows a sufficiently precise and efficient estimation of the polynomial coefficients.

[0026] In another optional design according to the first aspect, the points of the function corresponding to the first detected position and the last detected position form the starting point and the end point of a segment of the trajectory curve of the function, which segment represents the course of the provided position in the second coordinate system. The segment is divided into a predetermined fourth number of sampling points, which are characterized by their arc lengths. For the corresponding sampling points, the tangent angle and / or the curvature and / or the curvature change are determined as the at least one analytical characteristic of the function. These analytical characteristics can be advantageously used to characterize the trajectory course of the object in the vehicle coordinate system, which trajectory course describes the actual trajectory course of the object with sufficient accuracy.

[0027] In a further preferred embodiment according to the first aspect, a data set is provided for each of the predetermined fifth number of sampling points, the data set comprising the coordinates of the sampling points with reference to the vehicle coordinate system and the at least one analytical property transformed into the vehicle coordinate system.

[0028] The first, second, third, fourth and / or fifth quantities may be the same or different, respectively.

[0029] According to another aspect, the present invention is also characterized by a computer program, wherein the computer program is designed to execute the method of the first aspect.

[0030] According to another aspect, the invention is also characterized by a computer program product comprising an executable program code, wherein the program code implements the method of the first aspect when executed by a data processing device.

[0031] The optional embodiments of the first aspect also apply to the other aspects.

[0032] The computer program product comprises in particular a medium which can be read by a data processing device and on which the program code is stored.

[0033] The computer program can be executed on a central data processing device or on a decentralized data processing device.

[0034] It is noted that some possible features and advantages of the present invention are described herein with reference to different embodiments. Those skilled in the art recognize that the features of the method and the device can be combined, adapted or exchanged in a suitable manner to achieve other embodiments of the present invention.

[0035] Exemplary embodiments of the invention are explained below with reference to the accompanying schematic drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] In the figure:

[0037] Figure 1a An exemplary trajectory of a vehicle is shown;

[0038] Figure 1b An exemplary trajectory of his car is shown;

[0039] Figure 1c Another exemplary trajectory of his vehicle is shown;

[0040] Figure 2 An exemplary flow chart of a program for providing a vehicle with a trajectory course of an object is shown;

[0041] Figure 3a An exemplary series of detected positions of the other vehicle with reference to the second coordinate system is shown;

[0042] Figure 3b Another exemplary trajectory curve of another vehicle with reference to another second coordinate system is shown; and

[0043] Figure 3c It is shown that for the inverse transformation the trajectory curve resulting from the further trajectory course is divided into segments.

[0044] Elements that are structurally or functionally identical are provided with the same reference numerals in all figures. DETAILED DESCRIPTION

[0045] Figure 1a An exemplary trajectory of a first vehicle 10 , referred to hereinafter as the host vehicle, is shown.

[0046] The course of the trajectory can be described as a function y=f(x) with reference to the vehicle coordinate system K of the host vehicle. The diagram is represented, for example, by a polynomial of at least third order.

[0047] Figure 1b An exemplary course of an object 20 , for example a trajectory of another vehicle located in the vicinity of the own vehicle, is shown.

[0048] Figure 1cAnother exemplary course of the trajectory of an object 20 , for example another vehicle located near the host vehicle, is shown. The trajectory has a large curvature, so that the course of the trajectory cannot be represented by an explicit function with reference to the vehicle coordinate system K of the host vehicle 10 .

[0049] Figure 2 An exemplary procedure for providing vehicle 10 with the trajectory of object 20 is shown.

[0050] The program may be processed by a device which is embodied, for example, in a control unit of vehicle 10 .

[0051] The device may also be referred to as a device for providing vehicle 10 with the trajectory of object 20 .

[0052] For this purpose, the device has in particular a computing unit, a program and data memory and, for example, one or more communication interfaces. The program and data memory and / or the computing unit and / or the communication interface can be configured in one structural unit and / or distributed over a plurality of structural units.

[0053] For this purpose, a program is stored in the program and data memory of the device, in particular for providing the vehicle with a trajectory course of an object.

[0054] The program begins in step S1 , in which variables can be initialized if necessary.

[0055] In step S3 , a predetermined first number of detected positions Pi of objects 20 of vehicle 10 are provided, wherein the positions are provided with reference to a vehicle coordinate system K of vehicle 10 .

[0056] The position of the object 20 is detected, for example, by a sensor, for example a lidar sensor. The sensor can be part of the device or can be designed as a separate unit. At the time of detecting the position, the object 20 is in a predetermined surrounding environment of the vehicle 10. The predetermined surrounding environment can be determined and thus predetermined, for example, by the range of action of the lidar sensor. The lidar is designed, for example, to transmit or forward the detected position Pi to the program.

[0057] The detected position data Pi are stored in a ring buffer, for example.

[0058] Figure 3a A series of detected positions Pi of an object 20 , for example a vehicle, is shown. The currently detected position Pi is at the front of the series of positions of the object 20 that are detected successively in time.

[0059] The first number of detected positions Pi is, for example, in the range of 20 to 30 positions. 25 positions are, for example, respectively stored in a ring buffer and evaluated. The limitation of the first number of detected positions Pi is essentially determined by the available storage and / or computing capacity.

[0060] Whenever there is a predetermined minimum distance between the current position of object 20 and the time of the last measurement at which it was entered into the ring buffer, this current position is stored as a further position in the ring buffer.

[0061] The minimum distance between directly successively detected positions Pi depends, for example, on the current speed of vehicle 10 and / or the current yaw angle of object 20 and / or the curvature of a previously determined trajectory, which includes the current position of object 20 , determined for the current position of object 20 .

[0062] The spacings between the detected positions Pi are therefore often different.

[0063] In step S5( Figure 2 ), a second coordinate system K′ is determined according to a predetermined second number of provided positions. The second coordinate system K′ has, for example, a first axis x′ and a second axis y′ that are perpendicular to each other. Figure 3a The determination of the second coordinate system K′ is explained in more detail.

[0064] For example, the second coordinate system K' is determined from four detected positions Pi, which are also referred to below as waypoints. Advantageously, the second coordinate system K' is determined from four or more waypoints.

[0065] The origin of the second coordinate system K' is preferably selected in a central section of the trajectory. For example, when the first number of waypoints is 25, the origin of the second coordinate system K' is set to the vicinity of the 11th waypoint.

[0066] For example, the first axis x′ is selected such that the first axis includes the vector It indicates from point A to point B. The origin of the second coordinate system K′ is described, for example, by the following vector equation:

[0067]

[0068] Among them, it is applicable to vector The ones are:

[0069]

[0070]

[0071] wherein λ is a factor representing the temporal difference between the two last detected positions (at Figure 3a The factor λ is preferably equal to the quotient of the actual distance between the two temporally last detected positions Pi of the total third number of detected positions Pi and the minimum distance.

[0072] The factor λ indicates how "close" the circular buffer is to being refilled. When λ=1, the minimum distance is met and the new waypoint is stored in the circular buffer. When λ=0, the distance between waypoint n and waypoint n+1 is equal to zero, i.e., a waypoint has just been stored. The factor λ is used to select the second coordinate system K′ in order to ensure that a single entry into the circular buffer (which shifts the index of the buffered measurements) does not lead to a large jump in the selection of the coordinate system.

[0073] Vector and Indicates the origin of the vehicle coordinate system K at the corresponding k-th waypoint

[0074] k1=min(WP-1,14) Equation (4)

[0075] k2=k1-1, Equation (5)

[0076] k3=max(k1-5,1) Equation (6)

[0077] k4=max(k1-6,0) Equation (7)

[0078] Among them, WP specifies a first number of waypoints.

[0079] This means that when 25 waypoints are selected, the fourteenth waypoint, the thirteenth waypoint, the ninth waypoint, and the eighth waypoint are used.

[0080] The second coordinate system K′ is characterized by its origin (x0, y0) and its rotation angle β with respect to the vehicle coordinate system K, which is formed by the x axis of the vehicle coordinate system K and the first axis x′ of the second coordinate system K′.

[0081] The advantage of using the above algorithm to determine the second coordinate system K' is that the selected second coordinate system K' has a high probability of extending almost tangentially to the central section of the trajectory curve to be modeled. This allows even very dynamic maneuvers, such as steering of another vehicle, to be approximated with sufficient accuracy using a third-order polynomial.

[0082] The second coordinate system K′ can also be determined in other ways.

[0083] In step S7( Figure 2 ), the provided positions are transformed into the second coordinate system K′, so that the coordinates of these positions refer to the second coordinate system K′. In addition, a function is determined, which approximates the trajectory of the provided positions in the second coordinate system K′. Figure 3b The corresponding trajectory courses for other traffic scenarios are shown.

[0084] The function comprises, for example, a third-order polynomial. The order of the polynomial can also be selected differently, in particular to a higher order, depending on the accuracy requirements. For example, a linear regression is performed to determine the polynomial coefficients. The polynomial coefficients are estimated, for example, by means of an approximation using least squares, which describes the shape of the path segment in K′ that represents the trajectory of the object 20.

[0085] If a least squares algorithm requiring an initial state is used, then the polynomial generated by the previous cycle (using approximation) is transformed into the coordinate system K'.

[0086] The first waypoint and the last waypoint are used to determine the coordinates of the end point E or the starting point A of the section of the trajectory curve of the function that models the trajectory course, with reference to the first axis x′ of the second coordinate system K′.

[0087] Therefore, for each object 20 detected in a specific time interval, a second coordinate system K′ can be determined to represent the corresponding polynomial and the polynomial coefficients of the estimated polynomial, such as a0, a1, a2, a3, ..., as well as the coordinates xs′, xe′ of the first axis x′ of the corresponding second coordinate system K′ that defines the end of the segment to be observed.

[0088] In step S9 ( Figure 2 ), determining at least one analytical characteristic of the function at the corresponding sampling points for a predetermined third number of sampling points AP of the function.

[0089] exist Figure 3c The calculation and transformation of analytical curve characteristics at predetermined measurement locations are explained in.

[0090] Once the curve is described analytically (here as a graph of a continuous function), the analytical properties of the curve at specific points can be derived, such as the cut angle Φ, the curvature κ or the change in curvature κs.

[0091] Since for the derivatives of the cutting angles Φ, κ, κs (with respect to the arc length), the following simple relations apply:

[0092] Φ=Φ′-β Equation (7)

[0093] κ=κ′ Equation (8)

[0094] κs=κs′ Equation (9)

[0095] Where Φ′, κ′, κs′ are derivatives in the second coordinate system K′, it is possible to calculate the values ​​in the second coordinate system K′ and then transform them back into the vehicle coordinate system K again.

[0096] In the second coordinate system K′, these parameters are determined at the selected points (x0′, y0′) by the derivatives of the polynomial function y=f(x) according to the following equations:

[0097] Φ′(x0)=arctan[f x (x0′)] Equation (10)

[0098] κ′(x0)=f xx (x0′) / (1+f x 2 (x0′)) 3 / 2 Equation (12)

[0099] κ s ′(x0)=f xxx (x0′) / (1+f x 2 (x0′)) 2 -3f x (x0′)κ′ 2 (x0′) Equation (13)

[0100] Among them, f x is the first derivative of the equation f(x) with respect to x, f xx is the second derivative and f xxx is the third derivative.

[0101] In step S11 (see Figure 2 ), the coordinates of the corresponding sampling points and the at least one analytical characteristic are transformed into the vehicle coordinate system K and stored, for example, in a predetermined storage area.

[0102] Since the polynomial is expressed in a separate coordinate system, ie in the second coordinate system K′, the curve characteristic cannot be directly inferred at the corresponding corresponding point ( x0 , y0 ) in the vehicle coordinate system K.

[0103] Thus, for example, a curve interface is provided which restores the curve characteristics at the sampling points AP, each characterized by its arc length s. The end of the estimated segment is set to s=0 in this case.

[0104] Since the arc length is invariant under Euclidean transformation, the corresponding sampling point can be directly determined in the second coordinate system K′, that is, the given value is directly used in the second coordinate system K′ to infer the corresponding sampling point (x0′, y0′) on the curve.

[0105] The interface then provides the corresponding coordinates of the sampling point AP and the corresponding curve characteristics for the corresponding sampling point AP, ie for the corresponding arc length, for example using an array with 5 elements (x0, y0, Φ, κ, κs).

[0106] The program can be terminated in step S13. Preferably, the program is executed for the next set of detected positions Pi. For example, the position of the object is measured again in a new cycle. As soon as the minimum distance to the previously stored measurement is reached, that is to say λ=1, this position is added to the ring buffer. This new data set is then evaluated when the program is run again.

[0107] List of reference numerals:

[0108] 10 Vehicles

[0109] 20 Objects

[0110] A Starting point

[0111] AP sampling point

[0112] E End Point

[0113] K Vehicle coordinate system

[0114] K′ Second coordinate system

[0115] The position detected by Pi

[0116] S1...S13 program steps

Claims

1. A method for providing a vehicle (10) with a trajectory course of an object (20), wherein: - providing a predetermined first number of detected positions (Pi) of the object (20), wherein The position (Pi) is provided with reference to a vehicle coordinate system (K) of the vehicle (10), - determining a second coordinate system (K´) from a predetermined second number of provided positions, - transforming the provided position into a second coordinate system (K´) and determining a function which approximates the trajectory of the provided position in the second coordinate system (K´), - determining, for a predetermined third number of sampling points of the function, at least one analytical characteristic of the function at the respective sampling points, and - transforming the coordinates of the corresponding sampling points and the at least one analytical characteristic into the vehicle coordinate system (K), In the method, the course of the provided position in the second coordinate system (K´) is approximated by a polynomial of at least three degrees.

2. The method of claim 1, wherein the positions are stored in a circular buffer. 3 . The method according to claim 1 , wherein directly successive detected positions (Pi) have a minimum spacing.

4. A method according to claim 3, in which the minimum distance between directly successively detected positions (Pi) is dependent on the current speed of the vehicle (10) and / or the current yaw angle of the object (20) and / or the curvature of a previously determined trajectory determined for the current position of the object (20), the trajectory including the current position of the object (20). 5 . The method according to claim 3 , wherein the second coordinate system (K´) is determined based on a factor λ, which represents the quotient of the actual distance between two temporally last detected positions of the total third number of detected positions (Pi) and the minimum distance.

6. The method according to claim 1 or 2, in which the corresponding polynomial coefficients of the polynomial are determined by means of a Kalman filter.

7. The method according to claim 1 or 2, wherein: - the points of the function corresponding to the first detected position (Pi) and the last detected position (Pi) form the initial point (A) and the end point (E) of a segment of the trajectory curve of the function representing the course of the provided position in the second coordinate system (K´), - dividing the segment into a predetermined number of sampling points, the sampling points being characterized by the arc lengths of the sampling points, and - determining the cut angle and / or the curvature and / or the change in curvature for the respective sampling point as the at least one analytical characteristic of the function.

8. The method according to claim 7, wherein a data set is provided for each of the predetermined third number of sampling points, the data set comprising the coordinates of the sampling point with reference to the vehicle coordinate system (K) and the at least one analytical property transformed into the vehicle coordinate system (K).

9. A device for providing a vehicle (10) with a trajectory of an object (20), wherein: The device is designed to carry out the method according to any one of claims 1 to 8 .

10. A computer program product comprising an executable program code, wherein: The program code carries out the method according to any one of claims 1 to 8 when executed by a data processing device.

Citation Information

Patent Citations

  • Lane recognizing method for use with driver assistance system of vehicle i.e. motor vehicle, involves reconstructing characteristics of lane markings and / or lanes from position of supporting points in coordinate system

    DE102006040334A1

  • Method and device for detecting a possible collision, and vehicle

    EP3364211A1