Apparatus for a driver assistance system
11292464 · 2022-04-05
Assignee
Inventors
Cpc classification
G06T7/246
PHYSICS
G06V20/58
PHYSICS
G06V20/588
PHYSICS
B60W2554/00
PERFORMING OPERATIONS; TRANSPORTING
G08G1/167
PHYSICS
B60W50/0097
PERFORMING OPERATIONS; TRANSPORTING
International classification
G06T7/246
PHYSICS
Abstract
A driver assistance apparatus being configured to determine an object position sequence for each of a plurality of objects and generate an object track to approximate each respective object position sequence. The apparatus also sorts the object tracks in to at least one object group according to the value of at least one parameter of each of the object tracks. For each object group, a swarm function is generated to approximate the object position sequences of the object tracks that are members of the respective object group. A swarm lane is generated according to each the swarm function, the swarm lane portion representing a portion of a lane. A corresponding method is also provided.
Claims
1. An apparatus for a motor vehicle driver assistance system, comprising the apparatus being operable to determine the position of a portion of at least one lane of a road on which a vehicle is travelling, the apparatus being configured to: determine an object position sequence for each of a plurality of objects based on data from a sensor on the vehicle; generate an object track to approximate each of the respective object position sequences; sort the object tracks in to at least one object group according to a value of at least one parameter of each of the object tracks; for each of the object groups, generate a swarm function to approximate the object position sequences of the object tracks that are members of the respective object group and; generate a swarm lane portion according to the swarm function, the swarm lane portion representing a portion of a lane, wherein the object track has an object track function in the form of a double polynomial form including a first polynomial function and a second polynomial function, the first and second polynomial functions being equal at a polynomial point of equality.
2. An apparatus according to claim 1 further comprising, wherein the apparatus is further configured to transform each of the object position sequences into a rest-frame of the vehicle.
3. An apparatus according to claim 1 further comprising, the apparatus further configured to discard the objects that are static relative to the road on which the vehicle is travelling.
4. An apparatus according to claim 1 further comprising, wherein the swarm function defines a center line of a corresponding of the swarm lane portion.
5. An apparatus according to claim 4 further comprising, the apparatus configured to generate a left lane line with a left lateral offset from the center line and a right lane line with a right lateral offset from the center line.
6. An apparatus according to claim 5 further comprising, wherein the right lateral offset is equal to the left lateral offset, which is equal to half of a lane width.
7. An apparatus according to claim 1 further comprising, wherein the swarm lane portion extends forwards from the vehicle to a maximum swarm lane distance.
8. An apparatus according to claim 1 further comprising, wherein the apparatus is configured to receive an input lane portion derived using a detection of road markings by one or more sensors mounted to the vehicle, wherein the input lane portion extends forwards from the vehicle to a maximum input lane distance, and wherein the swarm lane portion extends beyond the maximum input lane distance.
9. An apparatus according to claim 1 further comprising, wherein the first derivative of the object track function evaluated at the polynomial point of equality is equal to the first derivative of the second polynomial function evaluated at the polynomial point of equality.
10. An apparatus according to claim 1 further comprising, wherein the second derivative of the object track function evaluated at the polynomial point of equality is equal to the second derivative of the second polynomial function evaluated at the polynomial point of equality.
11. An apparatus according to claim 1 further comprising, wherein the swarm function has a double clothoid form including a first clothoid function and a second clothoid function, the first and second clothoid functions being equal at a clothoid point of equality.
12. An apparatus according to claim 11 further comprising, wherein during the generation of the swarm function, an intermediate polynomial function is generated function to approximate the object position sequences of the object tracks that are members of the respective object swarm, and the swarm function is determined in terms of the intermediate polynomial function.
13. An apparatus according to claim 1 further comprising, wherein the object tracks are sorted according to a value of a constant term in each of the object tracks.
14. An apparatus according to claim 1 wherein the sensor on the vehicle includes a RADAR sensor or a LIDAR sensor.
15. An apparatus according to claim 1 wherein the sensor on the vehicle includes a pair of optical sensors configured as a stereo vision system.
16. An apparatus according to claim 1 wherein the apparatus is further configured to combine the swarm lane portion generated using the object position sequences with lane portions derived using data from a camera sensor.
17. A method for a motor vehicle driver assistance system, the method for determining the position of a portion of at least one lane of a road on which the vehicle is travelling, the method comprising the steps of: determining an object position sequence for each of a plurality of objects based on data from a sensor on the vehicle; generating an object track to approximate a respective object position sequence; sorting the object tracks in to at least one object group according to a value of at least one parameter of each of the object tracks; for each object group, generating a swarm function to approximate the object position sequences of the object tracks that are members of the respective object group; and generating a swarm lane portion according to the swarm function, the swarm lane portion representing a portion of a lane, wherein the object track has an object track function in the form of a double polynomial form including a first polynomial function and a second polynomial function, the first and second polynomial functions being equal at a polynomial point of equality.
18. The method of claim 17, further comprising combining the swarm lane portion generated using the object position sequences with lane portions derived using data from a camera sensor.
19. An apparatus for a motor vehicle driver assistance system, comprising the apparatus being operable to determine the position of a portion of at least one lane of a road on which a vehicle is travelling, the apparatus being configured to: determine an object position sequence for each of a plurality of objects; generate an object track to approximate each of the respective object position sequences, wherein the object track has an object track function in the form of a double polynomial form including a first polynomial function and a second polynomial function, the first and second polynomial functions being equal at a polynomial point of equality; sort the object tracks in to at least one object group according to a value of at least one parameter of each of the object tracks; for each of the object groups, generate a swarm function to approximate the object position sequences of the object tracks that are members of the respective object group and; generate a swarm lane portion according to the swarm function, the swarm lane portion representing a portion of a lane.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) So that the invention may be more readily understood, and so that further features thereof may be appreciated, embodiments of the invention will now be described by way of example with reference to the accompanying drawings in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
DETAILED DESCRIPTION
(20) Turning now to consider
(21) Collectively, and under the control of the control unit 8, the various sensors 3-6 can be used to provide a variety of different types of driver assistance functionalities such as, for example: blind spot monitoring; adaptive cruise control; collision prevention assist; lane departure protection; and rear collision mitigation.
(22)
(23) An ego vehicle 21 is shown travelling along the central lane 16. The direction of travel of the ego vehicle 21 is shown by an arrow 21A. Three other vehicles, 22, 23, and 24 are also shown travelling along the road 15. The direction of travel 22A, 23A, 24A for each of the other vehicles 22, 23, 24 is also shown in
(24) Evidently, all of the vehicles shown in
(25)
(26) Between the detected portions 25 of the lane markings 19, the driver assistance system designates the lane 26.
(27)
(28)
(29)
(30)
(31) A first object 31 (a vehicle) is driving in the left lane 17 generally in the same direction as the ego vehicle 31. A second object 32 (a vehicle) is driving in the left lane 17 generally in the same direction as the ego vehicle 30.
(32) The ego vehicle 30 is fitted with at least one sensor. One of the sensors may, for example, be a vehicle RADAR or a LIDAR. The driver assistance system uses the data from the sensor to measure and determine the positions of objects within the field of view of the sensor (s) that are located in the vicinity of the ego vehicle 30. In the scenario shown in
(33) If the first object 31 travels within the left lane 17, then it will be appreciated that the first object position sequence generally follows the course of the left lane 17. Equally, if the second object 32 travels within the right lane 18, then it will be appreciated that the second object position sequence 34 generally follows the course of the right lane 18. The first and second objects 31, 32 are each moving relative to the road 15. On the basis that it is likely that the first and second objects are each travelling down the center of a respective lane most of the time, then movement of the first and second objects generally maps their respective lane path.
(34)
(35) First object 35—object position sequence shown by open pentagons;
(36) Second object 36—object position sequence shown by open squares;
(37) Third object 37—object position sequence shown by filled circles;
(38) Fourth object 38—object position sequence shown by open diamonds;
(39) Fifth object 39—object position sequence shown by open circles, and;
(40) Sixth object 40—object position sequence shown by four-pointed stars.
(41) Each measured position may be transformed into a rest-frame of the ego vehicle 31. Accordingly, compensation for motion of the ego vehicle may be achieved. For the avoidance of doubt the rest-frame of the vehicle means a coordinate system in which the ego vehicle is at rest, or not moving. The ego vehicle may be at the origin of the rest-frame coordinate system. The transformation into the rest frame is performed for each sequence of measured object positions for each time step (i.e. each time the functions are evaluated) to compensate for motion of the ego vehicle.
(42) Objects that are not moving relative to the road, i.e. static objects such as trees, road signs or other road furniture, may be discarded. A discarded object is not used in any further processing and cannot therefore be grouped into a group of objects. A discarded object cannot therefore contribute to a swarm function.
(43)
(44) For each object position sequence like that shown in
(45) The mathematical form for the path of a lane on a road is typically well-modelled by a double-clothoid function. A double-clothoid function is a mathematical function of the form:
(46)
wherein a is the heading angle (the angle of the first clothoid function at x=0), C.sub.0.sup.m is the curvature at x=0; C.sub.1.sup.m is the constant curvature variation of the first clothoid function; DC.sub.1.sup.m is the constant curvature variation of the second clothoid function, and; x.sub.t is the value of x at the transition between the first and second clothoid functions that together form the double clothoid function.
(47) However, fitting a clothoid function is computationally intensive. The inventors have found that it is computationally simpler to fit a double-polynomial function to each object track. An example third order double polynomial function is as follows:
(48)
(49) Where y1 constitutes a first segment of the double polynomial and y2 constitutes the second segment of the double polynomial. a.sub.0, a.sub.1, a.sub.2, and a.sub.3 are the coefficients of the first polynomial; b.sub.0, b.sub.1, b.sub.2, and b.sub.3 are the coefficients of the second polynomial. The coefficients of the first and second polynomials are the fitted parameters when determining an object track. An example of such a fitted double polynomial function is shown in
(50) The fitting of polynomial functions to a sequence of data is a well-known process, which will not be described in detail. Nevertheless, an example method is least-squares fitting. However, a number of constraints are used during the object track fitting specifically.
(51) First, value of xt is determined, xt being the value of x at which the double polynomial function changes between the first and second segments of the double polynomial 44, 46 (see
(52)
(53) The first step S1, on the first iteration, is to create a grid point matrix based on all of the points in a single objection position sequence 41 corresponding to one object track. In the first step on the first iteration, there is no selection of points from the object position sequence—all of the points are used.
(54) The second step S2 is fitting a single polynomial based on the grid point matrix. An example of such a single polynomial is shown in
(55) The third step S3 is calculating the difference 49 between each object position in the object position sequence and the single polynomial 48, as shown in
(56) The fourth step S4 involves determining the maximum value of the differences 49 between each object position in the object position sequence and the single polynomial 48. If the maximum value of the differences is greater than or equal to a predetermined threshold, then a reduced set of history points is produced (this is the FALSE decision path shown in
(57) Returning briefly to the fourth step S4, which involves testing whether the maximum value of the differences is greater than or equal to a predetermined threshold. When the condition tested in the fourth step S4 is FALSE, a reduced set of object positions is produced. Specifically, the object position that is identified as being farthest from the single polynomial is removed from the object position sequence, thereby forming the reduced set of object positions. The first to fourth steps S1 to S4 are then repeated on the reduced set of object positions. This processing is repeated until step S4 tests TRUE, whereupon xt is determined.
(58) For each object position sequence, a double polynomial is fitted to points making up the sequence. This fitted double polynomial function corresponds to the object track. During the fitting process, additional constraints, which utilise the transition between the first and second polynomials in the double polynomial at the point xT (xT is equal to xt: both are the transition value of x), may be used. Example constraints are as follows:
(59)
(60) As will be appreciated these three constraints correspond to the equality of the two polynomials (y.sub.1, y.sub.2), the first derivative of the two polynomials with respect to x, and the second derivative of the two polynomials with respect to x, each evaluated at the transition value, xT.
(61)
(62)
(63) The six object tracks generally correspond to two groups 56, 57 of object tracks. The object tracks can therefore be sorted and grouped together into two object groups, which are referred to hereinafter as ‘swarms’.
(64) With the above double polynomial description of the object tracks, it will be noted that a.sub.0 is a constant term in the double polynomial function. In
(65)
(66) Each of the object swarms corresponds to a plurality of object tracks and each object track corresponds to an object position sequence. The next stage is to fit a double polynomial function (referred to hereinafter as a ‘swarm function’) to the object positions corresponding to all of the objects in a particular object swarm. In other words, one double polynomial function is determined for each object swarm. The double polynomial has the form:
(67)
(68) The process for fitting the swarm function is the same as that described above for an individual object but using different data.
LW=min(LANE_WIDTH_MAX_VALUE,(a.sub.0,L−a.sub.0,R))
(69) Where LW is the lane width; min(n, m) is function that returns the smaller of m and n; a.sub.0, L is the a.sub.0 value of the left lane swarm function 58 and a.sub.0, R is the a.sub.0 value of the right lane swarm function 59. Accordingly, the lane width, LW, is equal to the distance between the swarm functions of two lanes, unless (a.sub.0,L−a.sub.0,R) is found to be greater than LANE_WIDTH_MAX_VALUE (in the example function above), in which case the lane width is set to LANE_WIDTH_MAX_VALUE. In this way, if two swarm functions do not in fact correspond to two adjacent traffic lanes, then the min function above prevents an unrealistically large lane width, LW, being derived (which may otherwise correspond to two adjacent lanes separated by more than a realistic lane width. LANE_WIDTH_MAX_VALUE make take any reasonable value. LANE_WIDTH_MAX_VALUE may be approximately equal to a standard real-world lane width. Example values for LANE_WIDTH_MAX_VALUE include 3.5 metres or 3.75 metres.
(70) Each swarm lane function corresponds to the center line of a lane. It will be appreciated that there is usually no real-world lane marking down the center of a traffic lane. However, the boundaries of the lane can also be derived using the swarm function and the lane width.
(71)
(72) The left lane boundary is offset 58A from the first swarm function 58 by half the lane width. The central lane boundary is offset 58B from the first swarm function 58 by half the lane width. The central lane boundary is offset 59B from the second swarm function 59 by half the lane width. The right lane boundary 63 is offset 59A from the second swarm function 59 by half the lane width. The functional forms of the left lane boundary, right lane boundary and central boundary are therefore equal to their corresponding swarm function plus/minus half the lane width.
(73) A particular lane can therefore be defined by the functions of its corresponding lane boundaries. For example, in the scenario of
(74) The double polynomial form for each of the lane boundaries may be thought of as an intermediate polynomial form. A subsequent stage of conversion to a double clothoid form is possible, as follows.
(75) As above, the double polynomial form, for each of the swarm functions (and accordingly defining the lane portions, defined in terms of the lane boundaries), is as follows:
(76)
(77) The double clothoid has the form:
(78)
(79) The coefficients of the double clothoid are related to the coefficients of the double polynomial as follows: y.sub.0=a.sub.0 α=a tan(a.sub.1) C.sub.0.sup.m=a.sub.2 C.sub.1.sup.m=.sup.6.Math.a.sub.3 DC.sub.1.sup.m=6 b.sub.3
(80) By using these relations, each swarm lane portion can be generated and described in a double clothoid form, the exact values of the coefficients of the double clothoid being mapped from the double polynomial that was ultimately derived from grouped object tracks using the above relations.
(81)
(82) In
(83) The lane markings derived from the camera mounted to the ego vehicle 70 are designated by the dashed road markings 73, 74, 75. The lane markings derived from the camera begin to deviate from the swarm lane portions approximately 50 metres from the ego vehicle. Above 50 metres from the ego vehicle, the lanes derived from the camera do not follow the object tracks, and thus do not follow the real-world lanes on the road. Accordingly, utilising those lanes derived from the camera in a driving aid would not reflect the reality of the driving situation.
(84) A swarm lane portion may be used as the only method of determining the position of a lane. For example, when the road markings are not detectable by a sensor on the vehicle because they are obscured from view (for example, by snow on the road, or by traffic), it is still possible to determine swarm lane portions. The swarm lane portions can be derived regardless of whether lane markings are detectable by sensors on the ego vehicle.
(85) A swarm lane portion may be used as an extension to a lane derived using data from a camera. The parameters of the lane derived using camera data may be fused with parameters of the lane derived using the swarm lane portion generation described above. This data fusion can allow for the generation of a lane that extends further from the ego vehicle than lanes derived using a sensor on the vehicle to determine lane position. The swarm lane portions more accurately reflect the true position of the lanes on the road on which vehicles travel for a longer distance from the ego vehicle, even when lane markings are not visible.
(86) An input into the system may be lane portions derived using data from a camera sensor. The apparatus may combine the lane portions using data from the camera sensor with the swarm lane portions. Together a more accurate lane can be generated.
(87) In general, by measuring positions sequence for a plurality of objects, the apparatus for a driver assistance system according to present invention derives the position of the traffic lanes. The position of the traffic lanes is thus generated without any requirement to observe or detect any road markings using a sensor. If road markings are detected using a sensor, then the lane information derived therefrom may be combined with the swarm lane information.
(88) The swarm lanes can be used by a number of driver assistance functionalities for which the position of traffic lanes is useful.
(89) The apparatus of the present invention may be configured to make the swarm lanes available for use by at least one driver assistance function. The at least one driver assistance function may configured to use the swarm lanes information as an input into its decision making processing. The driver assistance function may be configured to notify the user of a danger based on vehicles located in the swarm lane portions, for example. As another example, a AAC system may be configured to control the speed of a vehicle on the basis of vehicles located in the swarm lanes.
(90) Because the present invention is able to determine the location of traffic lanes out to large distances, the functionality of driver assistance systems is improved because the situational awareness of the system is improved. For example, because traffic lane positions are determined to a greater distance from the ego vehicle.
(91) The features disclosed in the foregoing description, or in the following claims, or in the accompanying drawings, expressed in their specific forms or in terms of a means for performing the disclosed function, or a method or process for obtaining the disclosed results, as appropriate, may, separately, or in any combination of such features, be utilised for realising the invention in diverse forms thereof.
(92) While the invention has been described in conjunction with the exemplary embodiments described above, many equivalent modifications and variations will be apparent to those skilled in the art when given this disclosure. Accordingly, the exemplary embodiments of the invention set forth above are considered to be illustrative and not limiting. Various changes to the described embodiments may be made without departing from the spirit and scope of the invention.
(93) While the above description constitutes the preferred embodiment of the present invention, it will be appreciated that the invention is susceptible to modification, variation and change without departing from the proper scope and fair meaning of the accompanying claims.