GB2562769A - Apparatus and method for determining a cost map - Google Patents

Apparatus and method for determining a cost map Download PDF

Info

Publication number
GB2562769A
GB2562769A GB1708359.3A GB201708359A GB2562769A GB 2562769 A GB2562769 A GB 2562769A GB 201708359 A GB201708359 A GB 201708359A GB 2562769 A GB2562769 A GB 2562769A
Authority
GB
United Kingdom
Prior art keywords
cost map
speed
cost
movement
discretisation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB1708359.3A
Other versions
GB2562769B (en
GB201708359D0 (en
Inventor
Rimmer Amy
Cund Mark
O'donoghue Jim
White David
Teed Colin
Serghi Vasilis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jaguar Land Rover Ltd
Original Assignee
Jaguar Land Rover Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jaguar Land Rover Ltd filed Critical Jaguar Land Rover Ltd
Priority to GB1708359.3A priority Critical patent/GB2562769B/en
Publication of GB201708359D0 publication Critical patent/GB201708359D0/en
Publication of GB2562769A publication Critical patent/GB2562769A/en
Application granted granted Critical
Publication of GB2562769B publication Critical patent/GB2562769B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Traffic Control Systems (AREA)

Abstract

A computer-implemented method of generating a cost map for an autonomous vehicle, comprising determining 410 a discretization for the cost map (figure 1, 10) based on a predetermined period of time for at least a first axis of the cost map and generating the cost map based on the discretization. Preferably, the predetermined period time of time is used in conjunction with a movement speed (figure 5, 510) to generate a discretization distance for each of a plurality of cells (figure 1, 20, 30) of the cost map. The discretization distance may be the distance travelled at the movement speed within the predetermined period of time. This movement speed may relate to the autonomous vehicle or another entity (e.g. another vehicle).

Description

(71) Applicant(s):
Jaguar Land Rover Limited (Incorporated in the United Kingdom) Abbey Road, Whitley, Coventry, Warwickshire, CV3 4LF, United Kingdom (72) Inventor(s):
Amy Rimmer
Mark Cund
Jim O'Donoghue
David White
Colin Teed
Vasilis Serghi (74) Agent and/or Address for Service:
Jaguar Land Rover
Patents Department W/1/073, Abbey Road, Whitley, COVENTRY, CV3 4LF, United Kingdom (51) INT CL:
G01C 21/34 (2006.01) (56) Documents Cited:
US 20160116916 A1
US 20060095171 A1
US 20090088916 A1 (58) Field of Search:
INT CL G01C, G05D
Other: WPI, EPODOC, Patent Fulltext (54) Title of the Invention: Apparatus and method for determining a cost map Abstract Title: Apparatus and method for determining a cost map (57) A computer-implemented method of generating a cost map for an autonomous vehicle, comprising determining 410 a discretization for the cost map (figure 1,10) based on a predetermined period of time for at least a first axis of the cost map and generating the cost map based on the discretization. Preferably, the predetermined period time of time is used in conjunction with a movement speed (figure 5, 510) to generate a discretization distance for each of a plurality of cells (figure 1,20, 30) of the cost map. The discretization distance may be the distance travelled at the movement speed within the predetermined period of time. This movement speed may relate to the autonomous vehicle or another entity (e.g. another vehicle).
400
410
420
430
Fig. 4
1/8
i i i
!-........ ........|........f........ ........f........
ΐ ί ΐ ΐ
ί-........ ........1........ι........ ........t........ i 20
30
ί-........ ........1........t........ ........t........
Fig. 1
2/8
Fig. 2
Fig. 3
3/8
410
420
430
Fig· 4
4/8
500
Fig. 5
510
520
530
540
Ό bl)
100 710
I I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I o CM
Fig. 7
7/8
850
820
840
830
(b)
Fig· 8
8/8
APPARATUS AND METHOD FOR DETERMINING A COST MAP
TECHNICAL FIELD
The present disclosure relates to a method and apparatus and particularly, but not exclusively, to a method and apparatus for determining a cost map. Aspects of the invention relate to a method of generating a cost map for a vehicle, to a cost map control module, to a system, to computer software for generating a cost map and to a vehicle.
BACKGROUND
In order for a robot, such as a vehicle operative in an autonomous mode, or other device, to successfully navigate through or perceive an environment it is provided with sensors to detect features of the environment including static features, such as stationary objects in a vicinity of the robot, and also dynamic features such as other robots, vehicles or humans in the vicinity which are moving. In order to aid the robot in planning a route to a destination through the environment a cost map may be used. The cost map is a data structure which is used to store information about the environment. The cost map is a map of the environment representing a cost of traversing regions of the environment corresponding to cells in the cost map. The cost value stored in the cost map associated with a region of the environment may range from a value representing that the region is free or empty, such that it is available to be traversed by the robot, to a value representing that the region is unavailable or impassable by the robot. The values stored in the cost map may be determined from sensor data provided by one or more sensors associated with the robot.
The cost map is discretised into cells each corresponding to a respective region of the environment. Each cell has a corresponding discretisation distance indicative of a distance in the environment to which the cell corresponds. For example the discretisation distance may be 0.25m. Where each cell of the cost is square, there is only one discretisation distance shared by both axes of the cost map. A cost map having rectangular cells may have a different discretisation distance in each axis. Problems may arise with such cost maps such as the cost map requiring a region of memory to be allocated for storage of the cost map. Furthermore, processing of the cost map may be burdensome.
It is an object of embodiments of the invention to at least mitigate one or more of the problems of the prior art.
SUMMARY OF THE INVENTION
Aspects and embodiments of the invention provide a computer-implemented method of generating a cost map, a cost map control module, a system, a vehicle and computer software for generating a cost map as claimed in the appended claims.
According to an aspect of the invention, there is provided a computer-implemented method of generating a cost map for a vehicle operative in an autonomous mode, comprising determining a temporal discretisation for at least one axis of the cost map. Advantageously the cost map discretisation of the at least one axis is determined appropriately for a period of time for each cell of the cost map.
According to an aspect of the invention, there is provided a computer-implemented method of generating a cost map for a vehicle operative in an autonomous mode, comprising determining a discretisation for the cost map based on a predetermined period of time.
According to an aspect of the invention, there is provided a computer-implemented method of generating a cost map for a vehicle operative in an autonomous mode, comprising determining a discretisation for the cost map based on a predetermined period of time for at least a first axis of the cost map, and generating the cost map based on the discretisation. Advantageously the discretisation of the cost map in at least the first axis reflects the predetermined period of time. Advantageously, the cost map may be discretised in at least the first axis according to an environment of the vehicle.
The method may comprise determining a movement speed and determining a discretisation distance for at least the first axis of the cost map, in dependence on the movement speed and the predetermined period of time. The cost map may be generated based on the discretisation distance. Advantageously, the discretisation of the cost map may reflect the movement speed.
The method may comprise determining a movement velocity and determining a discretisation distance for at least the first axis of the cost map, in dependence on the movement velocity and the predetermined period of time. The cost map may be generated based on the discretisation distance. Advantageously, the discretisation of the cost map may reflect the movement velocity.
At least the first axis of the cost map may comprise a plurality of cells and the discretisation distance may be determined for each of the plurality of cells. Advantageously, the individual cells may be discretised according to the discretisation distance.
The movement speed may be a speed of movement of another entity. Advantageously, the discretisation of the cost map may reflect the movement speed of the other entity. The another entity may be an entity other than for which the cost map is generated.
The movement velocity may be a velocity of movement of another entity. Advantageously, the discretisation of the cost map may reflect the movement velocity of the another entity.
Optionally, the determining the movement speed comprises receiving data indicative of movement of the another entity and determining the movement speed based thereon. Advantageously, the discretisation of the cost map may reflect the movement speed of the another entity. Advantageously the receiving of the data may provide information about the movement speed which may avoid a need to measure the movement speed.
The determining the movement velocity may comprise receiving data indicative of movement of the another entity and determining movement velocity based thereon. Advantageously, the discretisation of the cost map may reflect the movement velocity of the another entity.
The movement speed may be a relative movement speed. The relative movement speed may be with respect to the vehicle for which the cost map is generated. Advantageously, the discretisation of the cost map may reflect the movement speed of the vehicle operative in the autonomous mode relative to another entity.
The movement velocity may be a relative movement velocity. The relative movement velocity may be with respect to the vehicle for which the cost map is generated. Advantageously, the discretisation of the cost map may reflect the movement velocity of the vehicle operative in the autonomous mode relative to another entity.
The another entity may be another vehicle. Advantageously, the discretisation of the cost map may reflect the movement speed of the vehicle relative to the another vehicle. Advantageously, the discretisation of the cost map may reflect the movement speed or velocity of the vehicle relative to another vehicle. Alternatively, the another entity may be a human or animal.
The determining the movement speed may comprise determining speed information associated with a path in map data. Advantageously, the discretisation of the cost map may reflect one or more attributes of the path, such as road. Advantageously, the use of map data may provide a convenient resource for movement speed information.
The determining the movement velocity may comprise determining velocity information associated with a path in map data. Advantageously, the discretisation of the cost map may reflect one or more attributes of the path, such as road. Advantageously, the use of map data may provide a convenient resource for movement velocity information.
The speed information may be indicative of one of speed limit information associated with the path or historic speed information associated with the path. Advantageously, the discretisation of the cost map may be determined in dependence on the speed limit or usual travelling speed of vehicles associated with the path.
The velocity information may be indicative of one of speed limit information associated with the path or historic velocity information associated with the path. Advantageously, the discretisation of the cost map may reflect speed limit information associated with the path or historic velocity information associated with the path.
The determining the movement speed may comprise receiving data indicative of the movement speed of the vehicle operative in the autonomous mode. Advantageously, the discretisation of the cost map may be determined in dependence on the speed limit or usual travelling speed of vehicles associated with the path.
The determining the movement velocity may comprise receiving data indicative of the movement velocity of the vehicle operative in the autonomous mode. Advantageously, the discretisation of the cost map may reflect the movement velocity of the vehicle for which the cost map is being generated.
The determining of the movement speed may comprise determining a first movement speed indicative of a speed of movement of another entity, receiving data indicative of a movement speed of the vehicle operative in the autonomous mode and determining the movement speed as a largest of the first movement speed and the movement speed of the vehicle operative in the autonomous mode. Advantageously, the discretisation of the cost map may be reflective of the faster moving of the another entity and the vehicle.
The determining of the movement velocity may comprise determining a first movement velocity indicative of a velocity of movement of another entity, receiving data indicative of a movement velocity of the vehicle operative in the autonomous mode and determining the movement velocity as a largest of the first movement velocity and the movement velocity of the vehicle operative in the autonomous mode. Advantageously, the discretisation of the cost map may be reflective of the faster moving of the another entity and the vehicle.
The method may comprise determining a distance range of the cost map based on the predetermined period of time and a number of cells for the at least one axis of the cost map. Advantageously, the number of cells in the at least one axis of the cost map may be reflective of the predetermined period of time. Advantageously the distance range may be the distance which may be covered in the predetermined period of time.
The generating of the cost map may comprise generating the cost map comprising a plurality of cells, wherein the first axis of each cell represents the predetermined period of time. Optionally the first axis of each cell represents a distance travelled in the predetermined period of time. The generated cost map may be stored in a memory. Advantageously, the discretisation of each cell may reflect the predetermined period of time. Advantageously, the generated cost map may be stored in the memory for use.
The cost data may be stored in at least some cells of the cost map. The cost data may be indicative of a difficulty in traversing areas corresponding to the at least some cells. Advantageously, the cells that are more difficult to traverse may be identified. Advantageously a route may be determined based on the difficulty by use of the cost map.
According to another aspect of the invention, there is provided a cost map control module comprising processing means arranged to determine a discretisation for a cost map based on a predetermined period of time for at least a first axis of the cost map and generate the cost map based on the discretisation.
The processing means may be arranged to store the cost map in a memory accessible to the processing means.
The cost map module may comprise an input to receive speed data indicative of at least one speed of movement. The speed data may be indicative of a speed of movement of one or more other entities.
The processing means may be arranged to determine the discretisation distance based on the speed of movement and the predetermined period of time, and to generate the cost map based on the discretisation distance.
The speed data may be indicative of speed of movement of each of a plurality of other entities, and the processing means may be arranged to determine a maximum speed of movement from the speed data.
The processing means may be arranged to determine the discretisation distance as a distance travelled in the predetermined period of time based on the speed data. The processing means may also be arranged to generate the cost map comprising a plurality of cells, wherein the first axis of each cell represents the predetermined period of time. Optionally, the first axis of each cell represents a distance travelled in the predetermined period of time.
The cost map control module may comprise an output to output a signal indicative of the generated cost map to a processing means, wherein the processing means is arranged to populate the cost map with cost data indicative of a difficulty in traversing areas corresponding to the at least some cells.
According to a further aspect of the invention, there is provided a system, comprising a memory means, a cost map control module and sensing means for providing sensor data indicative of one or more entities. The cost map control module is arranged to store the generated cost map in the memory means and to receive the sensor data and to store cost data associated with the cost map indicative of a cost of traversing the one or more entities.
The one or more entities may comprise one or more of other vehicles, objects, or humans in the vicinity of the system.
According to a still further aspect of the invention, there is provided a vehicle arranged to perform a method, comprising an apparatus or comprising a system according to an aspect of the invention.
According to yet another aspect of the invention, there is provided computer software which, when executed by a computer, is arranged to perform a method according to an aspect of the invention. This computer software may be stored on a computer readable medium. The computer software may be tangibly stored on the computer readable medium. The computer readable medium may be non-transitory.
Any control unit or controller described herein may suitably comprise a computational device having one or more electronic processors. The system may comprise a single control unit or electronic controller or alternatively different functions of the controller may be embodied in, or hosted in, different control units or controllers. As used herein the term “controller” or “control unit” will be understood to include both a single control unit or controller and a plurality of control units or controllers collectively operating to provide any stated control functionality. To configure a controller or control unit, a suitable set of instructions may be provided which, when executed, cause said control unit or computational device to implement the control techniques specified herein. The set of instructions may suitably be embedded in said one or more electronic processors. Alternatively, the set of instructions may be provided as software saved on one or more memory associated with said controller to be executed on said computational device. The control unit or controller may be implemented in software run on one or more processors. One or more other control unit or controller may be implemented in software run on one or more processors, optionally the same one or more processors as the first controller. Other suitable arrangements may also be used.
Within the scope of this application it is expressly intended that the various aspects, embodiments, examples and alternatives set out in the preceding paragraphs, in the claims and/or in the following description and drawings, and in particular the individual features thereof, may be taken independently or in any combination. That is, all embodiments and/or features of any embodiment can be combined in any way and/or combination, unless such features are incompatible. The applicant reserves the right to change any originally filed claim or file any new claim accordingly, including the right to amend any originally filed claim to depend from and/or incorporate any feature of any other claim although not originally claimed in that manner.
BRIEF DESCRIPTION OF THE DRAWINGS
One or more embodiments of the invention will now be described by way of example only, with reference to the accompanying drawings, in which:
Figure 1 shows an illustration of a cost map according to an embodiment of the invention;
Figure 2 shows a schematic diagram of a vehicle and a cost map control unit according to an embodiment of the invention;
Figure 3 shows an illustration of cost map population according to an embodiment of the invention;
Figure 4 shows a method according to an embodiment of the invention;
Figure 5 shows a method according to another embodiment of the invention;
Figure 6 shows a block diagram according to an embodiment of the invention;
Figure 7 illustrates an example situation and a cost map according to an embodiment of the invention;
Figure 8 illustrates another example situation and a cost map according to an embodiment of the invention; and
Figure 9 illustrates a vehicle according to an embodiment of the invention.
DETAILED DESCRIPTION
Embodiments of the present invention utilise temporal discretisation for a cost map. In particular, a discretisation of the cost map is based on a predetermined period of time for cells in at least one axis of the cost map. As will be explained, in some embodiments at least one axis of a cost map is discretised into cells wherein each cell represents a region whose distance takes the predetermined period of time to traverse.
Figure 1 illustrates a cost map 10 according to an embodiment of the invention. The cost map 10 is a data structure for storing cost information associated with an environment, particularly an environment proximal to a robot such as an autonomous vehicle. The cost map 10 comprises a plurality of discrete cells 20, 30 (only two of which are numbered) each corresponding to a respective region of the environment. The illustrated cost map 10 is square, although it will be realised that the cost map 10 may be otherwise-shaped such as rectangular or circular, although other shapes may be envisaged. A square cost map 10 comprises m2 cells, where m is a number of cells in each axis. A rectangular cost map comprises m x n cells, where each of m and n correspond to the number of cells in a respective axis of the cost map 10. The cells 20, 30 of the cost map 10 are contiguous to each cover or represent a portion of the environment proximal to the robot. It will be understood that the cost map 10 may be used by a variety of robots such as, although not exclusively, autonomous vehicles. The cost map 10 may be used to store cost information associated with one or both of static and dynamic objects. In some embodiments separate cost maps are used for each of static and dynamic objects, although embodiments of the invention are not limited in this respect.
Whilst Figure 1 illustrates a two dimensional (2D) cost map (x, y axes), in some embodiments the cost map may be three dimensional (3D) where cells are also stored in a third dimension (z) representing regions above a reference plane, such as ground level.
The cost information represents a cost of traversing regions of the environment corresponding to the cells 20, 30 in the cost map 10. A cost value associated with a cell 20, 30 of the cost map 10 associated with a respective region of the environment may range from a value representing that the region is free or empty, such that it is available to be traversed by the robot, to a value representing that the region is unavailable or impassable by the robot. In some embodiments, the cost map may store binary values indicative in a first state of the region being free and indicative in a second state of the region being unavailable. The first state may be a binary value of 0 or 1, with the second state being the opposed value, such as 1 or 0, respectively. Such a cost map storing only first and second states or values may be known as an occupancy grid or occupancy map. In some embodiments, intermediate values may also be stored in the cost map. For example, an 8bit cost may use a first value, such as 1, to indicate that a region is free for traversal and a second value, such as 255, to represent that the region is occupied thus representing a define collision. Other values may be used to represent intermediate risks such as 128 representing a possible collision. A predetermined value, such as 0, may also represent that the cost of the region is unknown for example because sensors cannot determine whether an object is located in the region.
The cost information associated with cells 20, 30 in the cost map 10 may be determined from sensor data provided by one or more sensing means associated with the robot. The sensing means may be one or more sensing devices associated with, such as mounted upon, the robot. An example sensing device is a lidar device, although other types of sensing device may be used.
Cells 20, 30 in the cost map 10 may be associated with time information indicating a latest time at which the cost information associated with the cell 20, 30 was determined. The time information allows a reliability of the cost information to reduce or fade over time based on an age of the cost information. For example, where sensing means becomes unable to investigate the region corresponding to a particular cell 20, such as due to movement of the robot, the cost information associated with the cell 20 may not be updated and thus its associated reliability decreases.
Figure 2 illustrates a vehicle 100 according to an embodiment of the invention. The vehicle 100 may be an autonomous vehicle 100. The vehicle 100 may be a wheeled vehicle suitable for carrying one or more passengers.
The vehicle 100 comprises sensing means 110 for determining one or more attributes of an environment proximal to the vehicle 100. Embodiments of the invention are illustrated with respect to an environment generally forward of the vehicle 100, although it will be realised that this is not restrictive and the environment may be anywhere around the vehicle 100 i.e. covering 360 degrees around the vehicle 100. The sensing means 110 operatively outputs sensor data indicative of the environment. In particular, the sensing means 110 is arranged to determine whether an object is present proximal to the vehicle 100. The sensing means 110 may output radiation, such as light, and receive reflected radiation from an object to determine the presence of the object. The vehicle 100 may comprise a plurality of sensing means 110 where respective sensor data is output by each of the plurality of sensing means 110. For example, each of the plurality of sensing means 110 may be arranged in a particular direction with respect to the vehicle 100 to achieve a wider field of coverage. Furthermore, in some embodiments, sensing means 110 comprising multiple technologies may be arranged in the same direction to achieve improved object detection.
In some embodiments the sensing means 110 comprises one or more of: a radar-based ranging system, a laser-based ranging system, a plurality of ultrasonic sensors, a structured light camera, or a monocular camera with structure from motion.
In an embodiment, the sensing means 110 are configured to generate a point cloud representation of the environment in the vicinity of the vehicle, representing distances to objects at angular coordinates from the sensing means 110. For example, the angular coordinate is an angle at which the sensing means 110 is directed when determining a point distance measurement of an object at that respective angle. By combining numerous angular distance measurements the point cloud is formed, as will be appreciated.
The vehicle 100 comprises a cost map control module 200 which is arranged to receive the sensor data from the sensing means 110. The cost map control module 200 and sensing means 110 are communicably coupled by a communication bus of the vehicle 100. The communication bus may operate according to a predetermined protocol. The bus may be a CANBus or a bus operating according to an IP-based protocol, such as Ethernet, although other protocols may be envisaged. However, in some embodiments the communication bus of the vehicle 100 is an IP-based communication bus wherein components and systems of the vehicle 110 represent nodes on a local area network (LAN) of the vehicle 100 to allow data communication there-between. The communication bus of the vehicle 100 may be Ethernet-based although it will be realised that the bus may be based on other LAN protocols or transport mechanisms.
The cost map control module 200 is arranged to operatively generate the cost map 10, as will be explained. The cost map control module 200 comprises a processing means 210 and memory means 220. The processing means 210 may be provided in the form of one or more processing devices for operatively executing computer-executable instructions, wherein the instructions may be stored in a computer-readable medium, such as the memory means 220. The computer-executable instructions may implement an embodiment of the method 400, 500 illustrated in one or both of Figures 4 and 5. The memory means 220 may be implemented by one or more memory devices for operatively storing data. The generated cost map 10 is stored in the memory means 220 by the processing means 210.
Figure 3(a) illustrates the vehicle 100 equipped with the sensing means 110 in relation to an object 300 in the environment of the vehicle 100. Rays 111, representing emitted radiation, from sensing means 110 indicate emitted radiation at various angles by which the object 300 is detected by the sensing means 110. The object 300 is determined to represent an obstacle or barrier to the vehicle. Figure 3(b) illustrates the cost map 10 in relation to the vehicle 100 to illustrate the region of the environment for which the cost map 10 is representative corresponding to that in Figure 3(a). As indicated by reference 310, a plurality of cells of the cost map have stored therein or are associated with data indicative of a high cost, in some embodiments, representative of the object 300. The cells 310 in the cost map are indicative of the location of the object 300 relative to the vehicle 100. As part of the process of populating the cost map, sensor data indicative of the object 300 may undergo polar to Cartesian coordinate conversion to convert the polar coordinate representative of the angle at which sensing means 110 is directed when detecting the object 300 to the Cartesian coordinates of the cost map 10. Thus it can be appreciated that the cost map 10 in use stores data indicative of costs associated with the environment proximal to the vehicle 100. The cost map 10 may be used to determine a route from the current location of the vehicle to or towards a destination location avoiding objects in the vicinity of the vehicle. 100.
Figure 4 illustrates a method 400 according to an embodiment of the invention. The method 400 is a computer-implemented method of generating a cost map 10, which may be used for an autonomous vehicle as described above. The method 400 may be performed by a processing means such as the processing means 210 of the cost map control module 200 illustrated in Figure 2.
The method 400 comprises a step 410 of determining a discretisation for the cost map 10. It will be understood that by discretisation it is meant that a division of the cost map 10 into discrete cells. In embodiments of the invention the discretisation of the cost map 10 is a temporal discretisation. That is, the discretisation is based on a predetermined period of time per cell in at least one axis of the cost map 10. The predetermined period of time may be, for example, less than 1 second per cell or less than 0.1 second per cell. In one example embodiment the discretisation is 0.01 seconds per cell, although it will be realised that other temporal values may be chosen. The discretisation may be selected based on, for example, one or both of a maximum expected speed of the vehicle and a maximum expected speed of other entities, such as other vehicles, in the environment of the vehicle. Thus in step 410 a time period corresponding to each cell 20, 30 of the cost map 10 is determined. The discretisation may be determined for one or both axes of the cost map 10. It will be appreciated that different discretisation may be used for each axis (x, y) and, in some embodiments (z), of the cost map 10. Therefore, in embodiments of the invention, each cell 20, 30 of the cost map 10 represents a period of time rather than a distance.
Step 420 comprises generating the cost map 10 based on the discretisation determined in step 410. Step 420 may comprise determining a number of cells 20, 30 of the cost map in each of the axes of the cost map 10. Thus a total time represented by the cost map in each axis is the number of cells multiplied by the discretisation determined in step 410 for that axis.
In step 430 the generated cost map 10 is stored in a data store. The cost map 10 may be stored in the memory means 220 of the cost map control module 200.
Figure 5 illustrates another method 500 according to an embodiment of the invention. The method 500 is a further computer-implemented method of generating a cost map 10, which may be used for an autonomous vehicle as described above. The method 500 may be performed by a processing means such as the processing means 210 of the cost map control module 200 illustrated in Figure 2.
The method 500 will be illustrated with reference to Figures 6 and 7. Figure 6 is a block diagram illustrating operations performed within the method 500 according to an embodiment of the invention. Figure 7(a) is a diagram illustrating vehicles 100, 710, 720 on a two-lane road such as a highway or motorway. Figure 7(b) is a cost map according to an embodiment of the invention. The method 500 is described as being performed by the vehicle 100.
The method 500 comprises a step 510 of determining a movement speed. In some embodiments of the invention the movement speed is determined as one or both the speed of the vehicle 100 performing the method 500 and the speed of other entities within the vicinity of the vehicle 100, such as other vehicles 610, 620.
In block 610 a speed of the vehicle 100 performing the method 500 is determined. The cost map control module 200 may receive data from the vehicle’s communication bus indicative of a current speed of the vehicle. In the example of Figure 7, the vehicle has a speed of 31 m/s, it being realised that this is an example speed.
In block 620 a relative speed of the other vehicles 710, 720 is determined i.e. the speed of those vehicles 710, 720 relative to the speed of the vehicle 100 i.e. a differential speed. For example, in Figure 7 a first vehicle 710 may have a speed of 24 m/s which is a relative speed of -7 m/s the sign being indicative of direction (24-31 =-7m/s). A second vehicle 720 may have a speed of 35 m/s which is a relative speed of 4 m/s (35-31 =4m/s).
In block 630 a maximum speed of a plurality of entities proximal to the vehicle is determined, such as the maximum speed (including signs) of the first and second vehicles 710, 720 which is 4 m/s for the second vehicle 720 in the illustrated example.
In block 640 a maximum absolute speed is determined. The maximum absolute speed is a maximum from the speed determined in block 610 and the maximum of the relative speeds determined in block 630. In the example of Figure 7 the maximum absolute speed is that of the vehicle 100 performing the method 500, thus being 31 m/s.
In some embodiments a block 650 is provided which saturates the maximum speed from block 640 at a predetermined limit value. The predetermined limit value may be, for example, based on a maximum expected speed of vehicles.
Returning to Figure 5, the method 500 comprises a step of determining a discretisation distance for at least one axis of the cost map 10. As will be explained, the discretisation distance is a distance represented by each cell 20, 30 of the cost map 10 in the at least one axis, wherein the distance is based on a predetermined period of time per cell 20, 30 of the cost map 10. The discretisation distance is based in some embodiments of the invention on the movement speed determined in step 510 and the predetermined period of time. In Figure 6 the predetermined period of time is provided in block 660 as dt i.e. a change (Δ) in time per cell 20, 30 of the cost map 10. As described above, in an example £//=0.01 s although it will be realised that other values or time periods may be used. The discretisation distance is determined in block 670 as:
d — Vt where Jis the discretisation distance, Vis velocity i.e. the maximum speed from block 650 or 640 and t is the period of time. Thus, for the example of Figure 7, the discretisation distance is determined as:
0.31 = 31x0.01
Thus J=0.31 m per cell. It will be appreciated that the discretisation distance may only represent the distance per cell in at least one axis. The at least one axis of the cost map may be parallel to a longitudinal axis of the vehicle, which may be aligned with the direction of travel of the vehicle 100. In some situations the axis may correspond to a longitudinal axis of the road on which the vehicle is travelling.
Step 530 comprises generating the cost map 10 based on the discretisation distance determined in step 520 and block 670. Step 420 may comprise determining a number of cells 20, 30 of the cost map in each of the axes of the cost map 10. In some embodiments, as represented by block 680 in Figure 6, the number of cells in one or both axis of the cost map 10 may be predetermined. For example, where a square cost map 10 is used such as illustrated in Figure 1, the cost map may have dimension of m2 as discussed above, or where a rectangular cost map is determined the dimensions may be m x n, where one of m or n corresponds to the axis in which the cells represent the discretisation distance d. In an example, the cost map 10 has dimensions of 1000 x 1000 cells i.e. m=1000, although it will be realised that other numbers of cells may be used. Therefore, in the example, in the at least one axis the cost map has 1000 cells each representing a distance of 0.31m. A distance range of the cost map in the at least one axis is therefore 310m (1000 x 0.31m) as in block 690 of Figure 6.
The cost map is therefore generated based on the discretisation distance. Figure 7(b) illustrates an example cost map 750 generated for the example of Figure 7(a). A distance represented by each cell in the axis 760 indicated corresponds to the discretisation distance determined in step 520 of the method 500. In the example cost map 750, a distance represented by each cell in the other, perpendicular, axis may be a predetermined distance, which may be less than the discretisation distance. Furthermore, the number of cells of the cost map 750 in the perpendicular axis may be less. Thus the cost map 750 may be rectangular in shape having a greater distance range parallel to the direction of travel of vehicle 100.
Figure 8 illustrates a further example situation where a first road 810 meets a second road at a T-junction. For the example situation shown in Figure 8, the vehicle 100 according to an embodiment of the invention is waiting, i.e. stopped, to join the second road 820 from the first road 810 at the T-junction, such as to turn left or right. The cost map control module 200 of the vehicle 100 is arranged to determine a discretisation of a cost map in a first axis corresponding to a direction of travel of the vehicle (100) i.e. parallel to a longitudinal axis of the vehicle 100, which it is appreciated is stopped, as indicated by arrow 850 and a discretisation of the cost map in a second axis perpendicular to the vehicle 100, which in the example situation is parallel with the second road 820, as indicated by arrow 840.
In the first axis, since the vehicle 100 is stopped and thus has a speed of travel in that axis of 0 m/s, the cost map control module 200 uses a minimum cost map distance in the axis of the cost map corresponding to arrow 850. The minimum cost map distance may be, for example, 10 cm although other distances may be used. The cost map distance is then discretised by a desired number of cells in that axis.
For the second axis, the cost map control module 200 is arranged to determine a speed of travel in that axis i.e. along the second road 820. The speed of travel may be in either direction along the second road 820, as in step 520 of the method 500 illustrated in Figure 5.
The determining of the movement speed corresponding to axis 840 may comprise, in some embodiments, determining speed information associated with a path in map data corresponding to the second road 820. It will be appreciated that navigation systems i.e. for finding a route between first and second geographic locations often with the aid of satellite navigation signals such as Global Positioning System (GPS) signals, use map data which is representative of navigable paths in a network such as roads. The cost map control module 200 may access the map data, which may be stored locally aboard vehicle 100 or remotely such as in a storage location accessible via a wireless network, to determine speed information associated with the road 820. The speed information may be indicative of one of speed limit information associated with the second road 820 or historic speed information associated with the second road 820. The speed limit information may indicate that a speed limit for the road is, for example, 100kmh_1, whilst the historic speed information may indicate that an average speed of travel on the second road 820 is 85kmh_1. The cost map control module 200 may use one of the speed limit information and the historic information associated with the map data as the movement speed in step 520. In other embodiments, the cost map control module 200 may determine a movement speed of a vehicle on the second road, such as vehicle 830 for use in step 520. The movement speed may be determined by the sensing means 110 determining the location of the vehicle 830 at first and second points in time, to determine the movement distance there-between from which the speed of the vehicle 830 may be determined. The speed of the vehicle 830 may be determined as 30 m/s (corresponding to 108 kmh-1), which may be a relative speed of the vehicle 830 to the vehicle 100. Thus, based on a time discretisation of 0.01s, each cell in the second axis of the cost map corresponding to arrow 840 represents 0.3m. If the cost map has 1000 cells in the second axis, a range of the cost map may be 300m. The cost map may be positioned relative to the vehicle 100 such that the vehicle is generally central in the second axis, as illustrated in Figure 8(b) which shows the cost map 900 generated in step 530 in respect to a location of the vehicle 100. It can be appreciated that the cost map 900 represents a region of the environment having a larger lateral extent with respect to the vehicle 100, than an extent forward of the vehicle. Thus the cost map 900 is dynamically oriented based on movement, either measured or anticipated, proximal to the vehicle 100.
Figure 9 illustrates a vehicle 950 which one or both of implements a method 400, 500 according to an embodiment of the invention and/or comprises a cost map control module 200, as described above.
It will be appreciated that embodiments of the present invention can be realised in the form of hardware, software or a combination of hardware and software. Any such software may be stored in the form of volatile or non-volatile storage such as, for example, a storage device like a ROM, whether erasable or rewritable or not, or in the form of memory such as, for example, RAM, memory chips, device or integrated circuits or on an optically or magnetically readable medium such as, for example, a CD, DVD, magnetic disk or magnetic tape. It will be appreciated that the storage devices and storage media are embodiments of machine-readable storage that are suitable for storing a program or programs that, when executed, implement embodiments of the present invention. Accordingly, embodiments provide a program comprising code for implementing a system or method as claimed in any preceding claim and a machine readable storage storing such a program. Still further, embodiments of the present invention may be conveyed electronically via any medium such as a communication signal carried over a wired or wireless connection and embodiments suitably encompass the same.
All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.
Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.
The invention is not restricted to the details of any foregoing embodiments. The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed. The claims should not be construed to cover merely the foregoing embodiments, but also any embodiments which fall within the scope of the claims.

Claims (29)

1. A computer-implemented method of generating a cost map for a vehicle operative in an autonomous mode, the method comprising:
determining a discretisation for the cost map based on a predetermined period of time for at least a first axis of the cost; and generating the cost map based on the discretisation.
2. The method of claim 1, the method comprising:
determining a movement speed; and determining a discretisation distance for at least the first axis of the cost map in dependence on the movement speed and the predetermined period of time;
wherein the cost map is generated based on the discretisation distance.
3. The method of claim 2, wherein at least the first axis of the cost map comprises a plurality of cells and the discretisation distance is determined for each of the plurality of cells.
4. The method of claim 2 or 3, wherein the movement speed is a speed of movement of another entity.
5. The method of claim 4, wherein the determining the movement speed comprises receiving data indicative of movement of the another entity and determining the movement speed based thereon.
6. The method of claim 4 or 5, wherein the movement speed is a relative movement speed.
7. The method of claim 4, 5 or 6, wherein the another entity is another vehicle.
8. The method of claim 2 or any claim dependent thereon, wherein the determining the movement speed comprises determining speed information associated with a path in map data.
9. The method of claim 8, wherein the speed information is indicative of one of speed limit information associated with the path or historic speed information associated with the path.
10. The method of claim 2 or any claim dependent thereon, wherein the determining the movement speed comprises receiving data indicative of a movement speed of the vehicle operative in the autonomous mode.
11. The method of claim 2 or any claim dependent thereon, wherein the determining the movement speed comprises:
determining a first movement speed indicative of a speed of movement of another entity;
receiving data indicative of a movement speed of the vehicle operative in the autonomous mode; and determining the movement speed as a largest of the first movement speed and the movement speed of the vehicle operative in the autonomous mode.
12. The method of claim 2 or any claim dependent thereon, comprising determining a distance range of the cost map based on the predetermined period of time and a number of cells for the at least one axis of the cost map.
13. The method of any preceding claim, wherein the generating of the cost map comprises generating the cost map comprising a plurality of cells, wherein the first axis of each cell represents the predetermined period of time; optionally the first axis of each cell represents a distance travelled in the predetermined period of time.
14. The method of any preceding claim, comprising storing the generated cost map in a memory.
15. The method of any preceding claim, comprising storing cost data in at least some cells of the cost map, the cost data indicative of a difficulty in traversing areas corresponding to the at least some cells.
16. A cost map control module, comprising:
processing means arranged to:
determine a discretisation for a cost map in dependence on a predetermined period of time for at least a first axis of the cost map; and generate the cost map based on the discretisation.
17. The cost map control module of claim 16, wherein the processing means is arranged to store the cost map in a memory accessible to the processing means.
18. The cost map control module of claim 16 or 17, comprising an input to receive speed data indicative of at least one speed of movement.
19. The cost map control module of claim 18, wherein the speed data is indicative of a speed of movement of one or more other entities.
20. The cost map control module of claim 18 or 19, wherein the processing means is arranged to determine the discretisation distance based on the speed of movement and the predetermined period of time, and to generate the cost map based on the discretisation distance.
21. The cost map control module of claim 18, wherein speed data is indicative of a speed of movement of each of a plurality of other entities, and the processing means is arranged to determine a maximum speed of movement from the speed data.
22. The cost map control module of any of claims 18 to 21, wherein the processing means is arranged to determine the discretisation distance as a distance travelled in the predetermined period of time based on the speed data.
23. The cost map control module of any of claims 18 to 22, wherein the processing means is arranged to generate the cost map comprising a plurality of cells, wherein the first axis of each cell represents the predetermined period of time; optionally the first axis of each cell represents a distance travelled in the predetermined period of time.
24. The cost map control module of any of claims 18 to 23, comprising an output to output a signal indicative of the generated cost map to a processing means, wherein the processing means is arranged to populate the cost map with cost data indicative of a difficulty in traversing areas corresponding to the at least some cells.
25. A system, comprising:
a memory means;
a cost map control module according to any of claims 16 to 24, wherein the cost map control module is arranged to store the generated cost map in the memory means; and sensing means for providing sensor data indicative of one or more entities;
wherein the cost map control module is arranged to receive the sensor data and to store cost data associated with the cost map indicative of a cost of traversing the one or more entities.
26. The system of claim 25, wherein the one or more entities comprise one or more of other vehicles, objects or humans in a vicinity of the system.
27. A vehicle arranged to perform a method according to any of claims 1 to 15, comprising a cost map control module according to any of claims 16 to 24 or a system according to claim 25.
28. Computer software which, when executed by a computer, is arranged to perform a method according to any of claims 1 to 15.
29. The computer software of claim 27 stored on a computer-readable medium.
Application No: GB1708359.3
GB1708359.3A 2017-05-25 2017-05-25 Apparatus and method for determining a cost map Active GB2562769B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1708359.3A GB2562769B (en) 2017-05-25 2017-05-25 Apparatus and method for determining a cost map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1708359.3A GB2562769B (en) 2017-05-25 2017-05-25 Apparatus and method for determining a cost map

Publications (3)

Publication Number Publication Date
GB201708359D0 GB201708359D0 (en) 2017-07-12
GB2562769A true GB2562769A (en) 2018-11-28
GB2562769B GB2562769B (en) 2021-09-29

Family

ID=59270954

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1708359.3A Active GB2562769B (en) 2017-05-25 2017-05-25 Apparatus and method for determining a cost map

Country Status (1)

Country Link
GB (1) GB2562769B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060095171A1 (en) * 2004-11-02 2006-05-04 Whittaker William L Methods, devices and systems for high-speed autonomous vehicle and high-speed autonomous vehicle
US20090088916A1 (en) * 2007-09-28 2009-04-02 Honeywell International Inc. Method and system for automatic path planning and obstacle/collision avoidance of autonomous vehicles
US20160116916A1 (en) * 2013-06-03 2016-04-28 Robert Bosch Gmbh Occupancy grid map for a vehicle

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2950294B1 (en) * 2014-05-30 2019-05-08 Honda Research Institute Europe GmbH Method and vehicle with an advanced driver assistance system for risk-based traffic scene analysis

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060095171A1 (en) * 2004-11-02 2006-05-04 Whittaker William L Methods, devices and systems for high-speed autonomous vehicle and high-speed autonomous vehicle
US20090088916A1 (en) * 2007-09-28 2009-04-02 Honeywell International Inc. Method and system for automatic path planning and obstacle/collision avoidance of autonomous vehicles
US20160116916A1 (en) * 2013-06-03 2016-04-28 Robert Bosch Gmbh Occupancy grid map for a vehicle

Also Published As

Publication number Publication date
GB2562769B (en) 2021-09-29
GB201708359D0 (en) 2017-07-12

Similar Documents

Publication Publication Date Title
KR102226350B1 (en) Autonomous visual navigation
CN111290385B (en) Robot path planning method, robot, electronic equipment and storage medium
US9495602B2 (en) Image and map-based detection of vehicles at intersections
US11808581B2 (en) Lane-level map matching
US9823661B2 (en) Occupancy grid map for a vehicle
KR102286005B1 (en) Cruise control system and cruise control method thereof
CN110816548A (en) Sensor fusion
US10369993B2 (en) Method and device for monitoring a setpoint trajectory to be traveled by a vehicle for being collision free
JP7245084B2 (en) Autonomous driving system
US20100063730A1 (en) Apparatus and method for determining the position of a vehicle with respect to a terrain
KR101711964B1 (en) Free space map construction method, free space map construction system, foreground/background extraction method using the free space map, and foreground/background extraction system using the free space map
US8078399B2 (en) Method and device for three-dimensional path planning to avoid obstacles using multiple planes
US9694851B2 (en) Apparatus and method of generating travel route of vehicle
US20180144199A1 (en) Vehicle vision
US10777084B1 (en) Vehicle location identification
CN112539749A (en) Robot navigation method, robot, terminal device and storage medium
JP2019513996A (en) Method of determining the attitude of at least a partially autonomous driving vehicle in the vicinity by a ground sign
JPWO2020184013A1 (en) Vehicle control device
JP7032062B2 (en) Point cloud data processing device, mobile robot, mobile robot system, and point cloud data processing method
WO2021074660A1 (en) Object recognition method and object recognition device
US10186154B2 (en) Device and method for detecting surrounding vehicles
GB2562769A (en) Apparatus and method for determining a cost map
US20230347928A1 (en) Information management system, information management apparatus, and information management method
Miller et al. To drive is human
US11158066B2 (en) Bearing only SLAM with cameras as landmarks