Systems and methods for generating a representation of an environment

By generating ray transition marks in the reference tool, real-time generation of driving space representations is solved, which solves the problem of high memory demand for grid model in autonomous vehicles and realizes safe guidance of autonomous vehicles under low memory.

CN112146665BActive Publication Date: 2025-07-22ROBERT BOSCH GMBH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010596198.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-06-28
Filing Date
2020-06-28
Publication Date
2025-07-22
Estimated Expiration
2040-06-28

AI Technical Summary

Technical Problem

In the prior art, autonomous vehicles rely on the grid model to occupy a large space, resulting in high memory demand and it is difficult to quickly and reliably transmit environmental information in hardware systems with limited memory.

Method used

By generating rays in the reference tool, identifying the first type transition from the unoccupied area to the occupied area and the second type transition from the occupied area to the unoccupied area, a representation of the driving space is generated in real time, and vehicle guidance is provided based on this.

Benefits of technology

It realizes the rapid generation of driving space models under low memory requirements, supports safe guidance of autonomous vehicles, reduces memory footprint and improves information transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112146665B_ABST
    Figure CN112146665B_ABST
Patent Text Reader

Abstract

Systems and methods for generating a representation of an environment are provided. One method includes obtaining an occupancy grid. The method includes generating references on the occupancy grid, such as rays. The rays originate from a vehicle position and extend in a direction corresponding to a vehicle driving direction. The method includes identifying markers along the rays. The markers include transition markers indicating a first type of transition or a second type of transition. The first type of transition is from an unoccupied area to an occupied area. The second type of transition is from an occupied area to an unoccupied area. The method includes generating a representation of a drivable space in real time based on calculations involving portions associated with the first type of transition and the second type of transition. The method includes providing guidance to the vehicle based on the representation of the drivable space.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to generating representations of an environment. Background Art

[0002] Generally, autonomous vehicles, semi-autonomous vehicles, and highly autonomous vehicles rely on sensors to construct models of the environment. Generally, these models are used for planning, prediction, and executing trajectory planning for these vehicles. For example, one type of model includes an occupancy grid with cells. In the occupancy grid, each cell includes an attribute indicating an occupancy probability for the cell and / or an unoccupied probability for the cell. However, in order to represent the environment at a sufficient resolution, these occupancy grids are typically associated with a relatively large memory footprint. In the case of having such a large requirement for memory space, occupancy grids are not suitable for implementation in some hardware systems with limited memory. Additionally, due to their relatively large memory footprint, there are many instances where a vehicle cannot ensure rapid and reliable transfer of the occupancy grid between various subsystems of the vehicle and / or to other external systems (e.g., other vehicles on the road surface). Summary of the Invention

[0003] The following is an overview of certain embodiments described in detail below. The described aspects are presented merely to provide a brief overview of these certain embodiments to the reader, and the description of these aspects is not intended to limit the scope of the present disclosure. In fact, the present disclosure may cover various aspects that may not be explicitly set forth below.

[0004] In an example embodiment, a method is implemented via a control system having at least one processing device. The method includes obtaining an occupancy grid for a region based on sensor data and map data, where the occupancy grid at least indicates an occupied area and an unoccupied area for the region. The method includes generating a reference tool on the occupancy grid, where the reference tool includes a ray originating from a vehicle position and extending in a direction corresponding to a vehicle driving direction. The method includes identifying markers along the ray. The markers at least include (i) a first transition marker that exhibits a first type of transition from an unoccupied area to an occupied area along the ray direction, and (ii) a second transition marker that exhibits a second type of transition from an occupied area to an unoccupied area along the ray direction. The method includes, after determining that the first transition marker exhibits the first type of transition, identifying a first portion associated with the first transition marker as a drivable area. The method includes, after determining that the second transition marker exhibits the second type of transition, identifying a second portion associated with the second transition marker as a non-drivable area. The method includes generating a representation of a drivable space in real time based on calculations involving the drivable area and the non-drivable area. The method includes providing guidance to the vehicle based on positioning data of the vehicle with respect to the representation of the drivable space.

[0005] In an example embodiment, a system includes a sensor system and a control system. The sensor system includes a plurality of sensors. The control system is communicatively coupled to the sensor system. The control system includes at least one electronic processor. The control system is configured to obtain an occupancy grid for a region based on sensor data and map data, wherein the occupancy grid at least indicates occupied and unoccupied areas for the region. The control system is configured to generate a reference tool on the occupancy grid, wherein the reference tool includes a ray originating from a vehicle position and extending in a direction corresponding to a vehicle driving direction. The control system is configured to identify markers along the ray. The markers at least include (i) a first transition marker that exhibits a first type of transition from an unoccupied area to an occupied area along the ray direction, and (ii) a second transition marker that exhibits a second type of transition from an occupied area to an unoccupied area along the ray direction. The control system is configured to identify a first portion associated with the first transition marker as a drivable area after determining that the first transition marker exhibits the first type of transition. The control system is configured to identify a second portion associated with the second transition marker as a non-drivable area after determining that the second transition marker exhibits the second type of transition. The control system is configured to generate a representation of a drivable space in real time based on calculations involving the drivable area and the non-drivable area. The control system is configured to provide guidance to the vehicle based on positioning data of the vehicle with respect to the representation of the drivable space.

[0006] In an example embodiment, at least one non-transitory computer-readable medium includes computer-readable instructions executable by a computer processor to implement a method. The method includes obtaining an occupancy grid for a region based on sensor data and map data, wherein the occupancy grid at least indicates occupied and unoccupied areas for the region. The method includes generating a reference tool on the occupancy grid, wherein the reference tool includes a ray originating from a vehicle position and extending in a direction corresponding to a vehicle driving direction. The method includes identifying markers along the ray. The markers at least include (i) a first transition marker that exhibits a first type of transition from an unoccupied area to an occupied area along the ray direction, and (ii) a second transition marker that exhibits a second type of transition from an occupied area to an unoccupied area along the ray direction. The method includes identifying a first portion associated with the first transition marker as a drivable area after determining that the first transition marker exhibits the first type of transition. The method includes identifying a second portion associated with the second transition marker as a non-drivable area after determining that the second transition marker exhibits the second type of transition. The method includes generating a representation of a drivable space in real time based on calculations involving the drivable area and the non-drivable area. The method includes providing guidance to the vehicle based on positioning data of the vehicle with respect to the representation of the drivable space.

[0007] These and other features, aspects, and advantages of the present invention are discussed in the following detailed description with reference to the accompanying drawings, in which like numerals represent like or corresponding parts throughout the drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Figure 1 is a conceptual diagram of a non - limiting example of a vehicle including a system for representing an environment according to an exemplary embodiment of the present disclosure.

[0009] Figure 2 is according to an exemplary embodiment of the present disclosure Figure 1 block diagram of the system.

[0010] Figure 3A and 3B is a flowchart of a method for representing an environment according to an exemplary embodiment of the present disclosure.

[0011] Figure 4 is a conceptual diagram of a non - limiting example of a visualization of a process for representing an environment according to an exemplary embodiment of the present disclosure.

[0012] Figure 5A , 5B and 5C are diagrams showing various parts used in generating a representation of a drivable space according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION

[0013] The embodiments described herein, which have been shown and described by way of example, and many of their attendant advantages, will be understood from the foregoing description, and it will be apparent that various changes may be made in the form, construction, and arrangement of the components without departing from the disclosed subject matter or sacrificing one or more of its advantages. In fact, the descriptive form of these embodiments is merely explanatory. These embodiments admit of various modifications and alternative forms, and the following claims are intended to cover and include such changes and are not limited to the particular forms disclosed, but rather are to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure.

[0014] Figure 1 is a conceptual diagram of vehicle 10, which includes a system 100 for generating at least one representation of a drivable space for a region in real - time. In addition, system 100 is configured to provide guidance to vehicle 10 based on the representation of the drivable space. In addition, system 100 is configured to control vehicle 10 based on this guidance. For example, in Figure 1In this case, system 100 is advantageously applied to vehicle 10, which is configured for autonomous driving, semi-autonomous driving, non-autonomous driving, or any combination thereof. However, control system 140 and / or system 100 are not limited to vehicle applications, but are also applicable to a variety of other applications. For example, control system 140 is beneficial for various applications and / or other systems that rely on real-time determination of a space suitable and safe for mobility. In this regard, for example, control system 140 is applicable to any mobile machine (e.g., a mobile robot), any suitable application system (e.g., a navigation system), or any combination thereof.

[0015] In an example embodiment, vehicle 10 and / or system 100 includes one or more sensors 20. Each of sensors 20 provides corresponding sensor data for system 100 via a wired technology, a wireless technology, or any suitable communication technology. In this regard, Figure 1 only a conceptual diagram showing various sensors 20 is illustrated, and sensors 20 are placed at various positions of vehicle 10 such that these sensors 20 can sense one or more aspects of the environment with respect to vehicle 10 in real time. In an example embodiment, various sensors 20 are configured to provide output data to corresponding electronics for processing. For example, various sensors 20 include light detection and ranging (LIDAR) sensors, cameras, odometers, radar sensors, satellite-based sensors (e.g., Global Positioning System (GPS), Galileo, Global Navigation Satellite System (GLONASS), or any satellite-based navigation technology), inertial measurement units (IMUs), ultrasonic sensors, infrared sensors, any suitable sensors, or any combination thereof. Additionally, system 100 includes other components as discussed with respect to Figure 2 what is discussed.

[0016] Figure 2 is a block diagram of system 100 according to an example embodiment, which is configured to provide at least a representation of at least one area of the environment in at least real time. For example, in Figure 2 this case, system 100 includes at least map system 110, sensor system 120, vehicle actuation system 130, and control system 140. Additionally or alternatively, system 100 is configured to include one or more other components not specifically mentioned herein, provided that system 100 can provide the functions described herein.

[0017] In an example embodiment, the map system 110 includes various map data stored in a memory system. In an example embodiment, the memory system includes at least one non-transitory computer-readable medium. For example, the memory system includes semiconductor memory, random access memory (RAM), read-only memory (ROM), electronic storage devices, optical storage devices, magnetic storage devices, memory circuits, any suitable memory technology, or any suitable combination thereof. In an example embodiment, the map data includes at least a high-definition map. In an example embodiment, the map data includes various levels of features, such as roads, lanes, road markers, buildings, signs, bridges, traffic lights, landmarks, other relevant features in the environment, and / or any combination thereof. In Figure 2 this example, the map system 110 is communicatively coupled to the control system 140 such that the various map data is accessed by and / or provided to the control system 140.

[0018] In an example embodiment, the sensor system 120 includes various sensors 20 configured to provide sensor data of the environment. More specifically, as Figure 1-2 shown in this example, the sensor system 120 includes various sensors 20 associated with the vehicle 10. For example, the sensor system 120 includes at least a camera system, a satellite-based sensor system (e.g., GPS, any global navigation satellite system, etc.), a LIDAR system, a radar system, an infrared system, an odometer, an IMU, any suitable sensor, or any combination thereof. In response to detections from the sensors 20, the sensor system 120 is configured to transfer the sensor data to the control system 140. Additionally or alternatively, the sensor system 120 includes sensor fusion technology configured to generate sensor fusion data based on the sensor data and then provide the sensor fusion data to the control system 140.

[0019] In an example embodiment, the vehicle actuation system 130 includes components related to vehicle control. More specifically, for example, the vehicle actuation system 130 is configured to provide actuation related to steering, braking, and driving the vehicle 10. In this regard, the vehicle actuation system 130 includes mechanical components, electrical components, electronic components, electromechanical components, any suitable components (e.g., software components), or any combination thereof. In an example embodiment, the vehicle actuation system 130 is configured to engage one or more of these components in response to communications received from the control system 140 to control the vehicle 10. For example, the vehicle actuation system 130 is configured to actuate and / or control the vehicle 10 based on a route determined via the control system 140 according to a representation of the drivable space.

[0020] In an example embodiment, the control system 140 is configured to obtain map data from the map system 110 and sensor data from the sensor system 120. Additionally, the control system 140 is configured to generate a representation of the drivable space in real time based at least on the sensor data and the map data. The control system 140 is also operable to provide a plurality of other functions as described herein and as shown, for example, at least in Figure 3A-3B In this regard, the control system 140 includes one or more processing devices, one or more memory devices, and one or more input / output (I / O) interfaces. For example, the control system 140 includes an electronic processor, a computer processor, a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), various processing circuits, any suitable processing hardware, or any combination thereof. Additionally or alternatively, in an example embodiment, the control system 140 includes software (e.g., computer-readable instructions, computer code, software routines, software modules, libraries, etc.) to implement one or more of the functions described herein.

[0021] Referring Figure 2 , by way of example, the control system 140 includes at least a perception system 150, an environment representation module 160, a route planning system 170, and a vehicle motion control system 180, whereby at least one processor, memory, I / O interface, and software modules (as previously discussed) are incorporated into one or more of the components of this configuration. In an example embodiment, the perception system 150, the environment representation module 160, the route planning system 170, and the vehicle motion control system 180 are configured to cooperate with each other to provide guidance and / or control signals to the vehicle actuation system 130 such that the vehicle 10 is controlled based on the drivable space. Alternatively, the control system 140 is not limited to Figure 2 the components and configuration shown therein, but may include other modules, systems, and configurations operable to provide the functions described herein.

[0022] In an example embodiment, the perception system 150 is configured to obtain map data from the map system 110 and sensor data from the sensor system 120. In this regard, the perception system 150 is configured to provide perception of the environment. More specifically, in Figure 2 , for example, the perception system 150 includes an environment representation module 160, which is configured to generate a representation of the drivable space based on the positioning data (e.g., position data, orientation data, etc.) of the vehicle 10. In an example embodiment, the environment representation module 160 includes software, hardware, or a combination thereof. In Figure 2In this case, the environmental representation module 160 is provided as part of the perception system 150, but can be provided in other configurations with respect to the system 100, provided that the system 100 is operable to provide the functions described herein. In an example embodiment, the route planning system 170 is configured to provide guidance to the vehicle 10. In this regard, for example, the route planning system 170 is configured to generate a route for driving the vehicle 10 that takes into account a representation of the drivable space. The route planning system 170 is configured to ensure that the vehicle 10 is provided with a route that is at least within the boundaries of the drivable space and / or avoids non-drivable space. In an example embodiment, the vehicle motion control system 180 is configured to provide a control signal to the vehicle actuation system 130, and the vehicle actuation system 130 responds to the control signal and is configured to provide corresponding actuation to control the vehicle 10.

[0023] In an example embodiment, the system 100 includes communication technologies and / or network technologies that enable various communications between the various components in Figure 1-2 . For example, in an example embodiment, the vehicle 10 and / or the system 100 includes Controller Area Network (CAN) technology, wired communication technology, wireless communication technology, any suitable networking technology, or any combination thereof to enable the components to communicate with each other. Additionally, in an example embodiment, the vehicle 10 and / or the system 100 includes communication technologies that enable the vehicle 10 and / or the system 100 to communicate with at least one other communication system (e.g., vehicle-to-infrastructure communication, vehicle-to-vehicle communication, etc.). For example, the system 100 is configured to transmit a representation of the drivable space to another entity communicatively connected to the system 100 (e.g., another compatible vehicle, another application system, etc.). In an example embodiment, the system 100 and its components are local to the vehicle 10. Alternatively, in another example embodiment, the system 100 includes one or more components that are remote from the vehicle 10 while also being communicatively connected to one or more components local to the vehicle 10. Additionally or alternatively, the system 100 is configured to include one or more other components not specifically mentioned herein, provided that the system 100 is configured to provide the functions described herein.

[0024] Figure 3A-3B 、 Figure 4 and Figure 5A-5C relate to a method 200 for representing an environment via a drivable space model according to an example embodiment. More specifically, Figure 3A-3B illustrates a flowchart of the method 200, which can be performed by any suitable hardware technology, software technology, or any combination of hardware and software technologies. For example, in an example embodiment, the method 200 is implemented by the system 100, particularly the control system 140, as shown in Figure 2 . Additionally, Figure 4Illustrated is a visualization 300 of a non - limiting example of a two - dimensional (2D) top - down view representation of a drivable space model, while Figure 5A-5C illustrates various parts used in generating a representation of a drivable space model.

[0025] At step 202, in an example embodiment, the control system 140 is configured to generate or obtain an occupancy grid 302 based on map data and sensor data. In an example embodiment, the occupancy grid 302 includes an indication of at least one occupied area and / or at least one unoccupied area based on map data and sensor data obtained in a region. For example, in Figure 4 it, the occupancy grid 302 provides a 2D top - down view of the region along with an indication of at least one occupied area and at least one unoccupied area. Additionally, in an example embodiment, the control system 140 is configured to implement, for example, the Bresenham line algorithm to obtain one or more lines that help to delineate and / or mark the boundaries of these different areas. For example, Figure 4 illustrates a non - limiting example of the visualization 300 that includes a layer of the occupancy grid 302 generated via the perception system 150.

[0026] In an example embodiment, as Figure 4 shown, the occupancy grid 302 includes cells 302A. Each cell 302A or a grouping of cells 302A includes occupancy data related to the probability of "occupied" (e.g., a space not suitable for vehicle mobility) and / or the probability of "vacant" (e.g., an unoccupied space or a space suitable for vehicle mobility). The occupancy grid 302 includes at least an occupied area, an unoccupied area, or a combination thereof. Generally, the occupied area includes one or more cells 302A that are indicated as occupied based on a comparison of the occupancy / vacancy probability of one or more of those cells 302A relative to a threshold level. Additionally, the unoccupied area includes one or more cells 302A that are indicated as unoccupied based on a comparison of the vacancy / occupancy probability of one or more of those cells 302A relative to a threshold level. In an example embodiment, after obtaining the occupancy grid 302 or any similar sensor - based representation providing occupancy and / or "vacancy" information for a geographical region, the control system 140 is configured to perform step 204.

[0027] At step 204, in an example embodiment, the control system 140 is configured to process the occupancy grid 302 to enhance its clarity, thereby ensuring greater accuracy in the results obtained based on the occupancy grid 302. In this regard, for example, the control system 140 is configured to filter the occupancy grid 302 to remove noise and / or smooth the occupancy grid 302, which includes image data. For example, asFigure 4 As shown, the occupancy grid 302 has been filtered such that with respect to the occupied regions 306 (e.g., occupied region 306A, occupied region 306B, and occupied region 306C), there is minimal noise (e.g., substantially little to no noise) with respect to the unoccupied region 304. As a non-limiting example, in Figure 4 , each unoccupied region 304 is represented by a non-shaded region (e.g., the absence of one or more pixel colors), while each of the occupied regions 306 is represented by a shaded region (e.g., the presence of one or more pixel colors). This difference in pixel data (e.g., pixel color) between at least one unoccupied region 304 and at least one occupied region 306 is advantageous in that it enables the control system 140 to easily and clearly determine transitions between different regions, such as (i) transitions between the unoccupied region 304 and the occupied region 306, and (ii) transitions between the occupied region 306 and the unoccupied region 304. In an example embodiment, after filtering the occupancy grid 302, the control system 140 is configured to perform step 206.

[0028] At step 206, in an example embodiment, the control system 140 is configured to generate a reference tool with respect to the occupancy grid 302. For example, the control system 140 is configured to generate a reference tool that includes at least one ray 400 starting at the source location 402. In this case, the source location 402 corresponds to the positioning data (e.g., location data and orientation data) of the vehicle 10 as determined by one or more sensors 20 based on map data and at least one positioning technique. Additionally, in Figure 4 , the ray 400 extends outward from the vehicle 10 and in a direction corresponding to the driving direction of the vehicle 10. In an example embodiment, after generating the reference tool (such as the ray 400), the control system 140 is configured to perform step 208.

[0029] At step 208, in an example embodiment, the control system 140 is configured to determine a set of shapes for the region, where the set includes maximum and / or odd numbers of shapes. For example, in Figure 4 , the control system 140 is configured to generate shapes that are concentric or substantially concentric with respect to the source location 402. In this regard, for example, the region (labeled "R") includes a set of concentric shapes (labeled S1 to S m , where "m" refers to an odd integer greater than one), as expressed by the following expression:

[0030] [Equation 1]

[0031] In an example embodiment, the control system 140 is configured to generate these shapes (i.e., shapes S1 to S) for a region (i.e., "R") based on information obtained from the occupancy grid 302, such as boundary data of the occupied area. m More specifically, the control system 140 is configured to identify the vertices of the occupied area 306 in any suitable coordinate system and generate concentric shapes (e.g., polygons or various closed shapes including vertices) based on the vertices of the occupied area 306. As a non-limiting example, a given shape (labeled as S i ) is represented by a list of "n" vertices, where "n" represents an integer, and represents the vertices in polar coordinates, as indicated by the following expression:

[0032] [Equation 2]

[0033] For example, in an example embodiment, the control system 140 is configured to generate a shape based on a set of one or more vertices selected from one or more of the occupied areas 306. For example, the control system 140 is configured to generate a first shape having a first set of vertices of one or more of the occupied areas 306. For example, as Figure 5A shown, the first set 308 includes vertex 308A, vertex 308B, vertex 308C, and vertex 308D, which are set to be closest to the source location 402 and are used as vertices defining the first shape 500. In addition, each subsequent shape (e.g., the second shape 502 and the third shape 504) from the source location 402 includes a subsequent set of vertices (e.g., the second set 310 and the third set 312), which are farther away from the source location 402 in distance compared to the previous set of vertices (e.g., the first set 308) of the previous shape (e.g., the first shape 500). For example, the second set 310 includes vertex 310A, vertex 310B, vertex 310C, and vertex 310D. In addition, as another example, the third set 312 includes the target boundary 312A, vertex 312B, and vertex 312C. More specifically, the control system 140 is configured to generate a plurality of shapes that are concentric or substantially concentric from the source location 402 based on the selected vertices of the occupied area 306, the selected vertices are grouped into sets of vertices, and then the sets of vertices are used to define these shapes. In an example embodiment, the shape is also defined by a target boundary for the region (e.g., a circle or a circumferential portion thereof as Figure 4 shown). In addition, in an example embodiment, the control system 140 selectively generates an odd number of shapes for the maximum number to provide a representation of the drivable space that starts and ends with a drivable area. In addition, this feature is beneficial for enabling the vehicle 10 to find a way around the occupied area (e.g., an obstacle in a geographical area).

[0034] Reference Figure 4 As a non - limiting example, the control system 140 determines that the maximum number and / or odd number of concentric shapes for the region is three shapes (i.e., shapes S1, S2, and S3) based at least on the configuration provided by the occupied / unoccupied regions. Figure 4 Illustrated is a visualization 300 of the drivable space with respect to three concentric shapes (i.e., shapes S1, S2, and S3), where the first shape 500 is shown in Figure 5A and the second shape 502 is shown in Figure 5B and the third shape 504 is shown in Figure 5C In an example embodiment, after identifying and generating each concentric shape for the region, the control system 140 is configured to perform step 210.

[0035] At step 210, in an example embodiment, the control system 140 is configured to construct a drivable space including at least one portion based on the positioning data of the vehicle 10. For example, in Figure 5A , the control system 140 is configured to generate a drivable space including at least a first portion 500A defined by the first shape 500 that includes the vehicle 10. The first shape 500 has a boundary that includes a vertex 308A that intersects the ray 400. As Figure 5A shown, the first shape 500 is concentric about the source location 402 and is defined by a boundary line including a first set of vertices 308 (i.e., vertex 308A, vertex 308B, vertex 308C, and vertex 308D) and a target boundary. For example, in Figure 5A , the first portion 500A refers to the space immediately in front of the vehicle 10 and in the driving direction of the vehicle 10. Additionally, as Figure 5A shown, the first marker is the vertex 308A of the occupied region 306A and the corresponding vertex 308A of the first shape 500. In this case, the first marker (vertex 308A) includes a point on the boundary line of the occupied region 306A, thus becoming a transition marker on the ray 400. Before including the first portion 500A in the drivable space, the control system 140 is configured to evaluate the first marker (vertex 308A) on the ray 400 to verify that this is a location that includes a transition from the unoccupied region 304 to the occupied region 306 with respect to the direction of the ray 400. In an example embodiment, after including or adding the first portion 500A of the first shape 500 as part of the drivable space, the control system 140 is configured to perform step 212.

[0036] At step 212, in the exemplary embodiment, the control system 140 is configured to identify the next marker along the ray 400 for evaluation. Generally, the control system 140 is configured to identify markers that at least include transition markers and target markers along the ray 400. For example, the control system 140 is configured to identify a transition marker on the ray 400 based on at least a portion of the boundary of the occupancy area 306 that intersects the ray 400 (e.g., vertices and / or other boundary points). In addition, the control system 140 is configured to identify a target marker on the ray 400 based on the specification of the target boundary for the area. In this case, the target boundary indicates the boundary of the area for which the drivable space is to be determined. More specifically, referring to Figure 4 As an example, after adding the first portion 500A and / or after evaluating the first marker (vertex 308A), at step 214, the control system 140 identifies the second marker (vertex 310A) as the next marker on the ray 400 to be evaluated. As another example, if the second marker (vertex 310A) has been previously evaluated, then at step 214, the control system 140 identifies the third marker (target boundary 312A) as the next marker on the ray to be evaluated. In the exemplary embodiment, after performing step 212, the control system 140 is configured to perform step 214.

[0037] At step 214, in the exemplary embodiment, the control system 140 is configured to determine whether the current marker identified at step 212 is a transition marker that transitions from the unoccupied area 304 to the occupied area 306 as considered along the direction of the ray 400. In addition, at step 214, the control system 140 is configured to determine whether the marker is the target marker for the area. After determining that the marker does not transition between the unoccupied area 304 and the occupied area 306 along the direction of the ray 400, and after determining that the current marker is not the target marker, the control system 140 is configured to perform step 216. As a non-limiting example, referring to Figure 5A , the first marker (vertex 308A) is a transition marker that transitions from the unoccupied area 304 to the unoccupied area 304A along the direction of the ray 400. That is, the first marker (vertex 308A) is set between the unoccupied area depicted from the source position 402 to the first marker (vertex 308A) and the occupied area depicted from the first marker (vertex 308A) to the second marker (vertex 310A). After determining that the current marker being evaluated is set between the unoccupied area 304 on the source position 402 side and the occupied area 306 on the opposite side of the source position 402 (and / or after determining that the marker is the target marker for the area), the control system 140 is configured to perform step 218.

[0038] At step 216, in the example embodiment, the control system 140 is configured to provide an indication that the current portion is not a drivable area (i.e., a non-drivable area). For example, in Figure 5B , after evaluating the second marker (vertex 310A) that serves as a transition marker, the control system 140 is configured to determine, based on the direction of the ray 400, that the second marker (vertex 310A) transitions from the occupied area 306A to the unoccupied area 304. In this regard, for example, the control system 140 is configured to subtract, remove, discount, or exclude the current portion (e.g., the second portion 502A) from the drivable space. As Figure 5B shown, the second portion 502A corresponds to the second shape 502, which includes the second marker (vertex 310A) on the ray 400. Additionally, as Figure 5B shown, the second shape 502 includes a second set of vertices 310, which includes vertex 310A, vertex 310B, vertex 310C, and vertex 310D. In the example embodiment, after accounting for the current portion with respect to the drivable space, the control system 140 is configured to perform step 220.

[0039] At step 218, in the example embodiment, the control system 140 is configured to provide an indication that the current portion defined by the corresponding shape is a drivable area. In this regard, for example, the control system 140 is configured to include or add the current portion with respect to the drivable space. As a non-limiting example, in Figure 5C , for example, after determining that the third marker (target boundary 312A) is a target marker corresponding to the target boundary of the area, the control system 140 is configured to further include at least the third portion 504A (or the "target portion") corresponding to the third marker (target boundary 312A) as part of the drivable space model, such that the drivable space includes both the first portion 500A (step 210) and the third portion 504A as drivable areas, and does not include the second portion 502A (step 216) as a drivable area within the drivable space. In the example embodiment, after accounting for the current portion with respect to the drivable space, the control system 140 is configured to perform step 220.

[0040] At step 220, in the example embodiment, the control system 140 is configured to determine whether there is another marker along the ray 400 and within the region. In the example embodiment, when there is another marker on the ray 400, the control system 140 is configured to perform step 212. For example, after defining the drivable space based on the second portion 502A corresponding to the second marker (vertex 310A), the control system 140 determines that there is another marker (e.g., target boundary 312A) on the ray 400. Alternatively, after checking each marker (e.g., vertex 308A, vertex 310A, and target boundary 312A) on the ray 400 for a predetermined region, the control system 140 is configured to perform step 222.

[0041] At step 222, in the example embodiment, the control system 140 is configured to provide a representation of the drivable space model for the region in real time. Additionally, in the example embodiment, the control system 140 is configured to calculate the total area (A DS ) of the drivable space, where "m" represents the number of zones, and "A Si " represents the area of a specific shape S i .

[0042] [Equation 3]

[0043] For example, the control system 140 is configured to provide the drivable space model to be used as a basis for generating guidance (e.g., a route or driving path) and / or control signals. For example, in Figure 2 , the environmental representation module 160 is configured to provide the drivable space model to the route planning system 170 and / or the vehicle motion control system 180 in real time. Advantageously, the control system 140 is configured to generate the drivable space model, which consumes significantly less memory than the occupancy grid 302 while also identifying the drivable area in real time to enable safe guidance and control of the vehicle 10. In this regard, for example, the control system 140 is configured to generate the drivable space model with a representation of the drivable space, which achieves 1 - 10% less memory usage compared to an occupancy grid-based scheme for a comparable angular resolution. Thus, the adoption of the drivable space model is more efficient than the adoption of the occupancy grid itself and is less hardware / software intensive.

[0044] As described above, system 100 includes a number of advantageous features and benefits. For example, system 100 is configured to generate a representation of a drivable space for a geographic area in real time. Additionally, system 100 is configured to capture complex scenarios with occluded regions by using occupancy grid 302 as a basis in generating its representation of the drivable space. Further, system 100 is configured to take into account occupancy regions that include detections of static objects, dynamic objects, or both static and dynamic objects. Alternatively, system 100 may be configured to generate a representation based on another property (such as a particular terrain surface, etc.) rather than representing the drivable space.

[0045] In addition, system 100 is also configured to provide a compact interface for providing a representation of the drivable space (or space for freedom of mobility) based on one or more predefined features such as occupied / unoccupied regions, any similar type of property, or any combination thereof. In this regard, system 100 provides a useful environmental representation that generally consumes, for example, one or two orders of magnitude less interface memory compared to most occupancy grids with comparable angular resolution. System 100 is advantageous in that it is able to provide and implement a drivable space model having a lower memory footprint than the memory footprint of the occupancy grid itself. In this regard, system 100 is configured to provide at least a representation of the drivable space for the environmental model, thereby contributing to a driver assistance system, an autonomous driving system, or any suitable driving system in an efficient manner.

[0046] System 100 is also configured to transmit and provide the drivable space model having the representation of the drivable space to another entity in real time and in a reliable manner via vehicle communication technologies such as dedicated short-range communication (DSRC), vehicle-to-vehicle (V2V) communication, vehicle-to-infrastructure (V2I) communication, and / or any suitable communication means. In this regard, for example, system 100 is configured to provide the representation of the drivable space to other entities (such as other vehicles, other traffic participants, external infrastructure, etc.) in a relatively fast manner and with relatively low memory requirements.

[0047] That is to say, the above description is intended to be illustrative rather than restrictive and is provided in the context of a particular application and its requirements. Those skilled in the art will appreciate from the foregoing description that the present invention can be implemented in various forms and that the various embodiments can be implemented individually or in combination. Thus, while embodiments of the present invention have been described in conjunction with its specific examples, the general principles defined herein can be applied to other embodiments and applications without departing from the spirit and scope of the described embodiments, and the true scope of the embodiments and / or methods of the present invention is not limited to the embodiments shown and described, as various modifications will become apparent to those skilled in the art upon study of the drawings, the specification, and the following claims. For example, the components and functionality can be separated or combined in a manner different from that of the various described embodiments, and different terms can be used to describe them. These and other variations, modifications, additions, and improvements can fall within the scope of the present disclosure as defined in the appended claims.

Claims

1. A method, comprising: Obtaining an occupancy grid for a region based on sensor data and map data via a control system having at least one processing device, wherein the occupancy grid at least indicates occupied areas and unoccupied areas for the region; Generating a reference tool on the occupancy grid via the control system, wherein the reference tool extends from a source position located on the occupancy grid and extends along the occupancy grid in a first direction, the source position corresponding to positioning data of a vehicle and the first direction corresponding to a driving direction of the vehicle; Identifying markers on the occupancy grid using the reference tool via the control system, the markers being boundary data of occupied areas intersecting the reference tool at different positions on the occupancy grid, the markers including first transition markers exhibiting a first type of transition from an unoccupied area to an occupied area along the first direction, and second transition markers exhibiting a second type of transition from an occupied area to an unoccupied area along the first direction, such that the first transition markers are located between the source position and the second transition markers on the reference tool along the first direction; Identifying, via the control system, a first portion associated with the first transition markers as a drivable area after determining that the first transition markers exhibit the first type of transition; Identifying, via the control system, a second portion associated with the second transition markers as a non-drivable area after determining that the second transition markers exhibit the second type of transition; Generating, via the control system, a representation of a drivable space in real time based on calculations involving the drivable area and the non-drivable area; And Providing guidance to the vehicle via the control system based on positioning data of the vehicle with respect to the representation of the drivable space.

2. The method according to claim 1, further comprising: Generating a control signal to control the vehicle based on a route within the boundaries of the drivable space.

3. The method according to claim 1, wherein the calculations include: Incorporating the first portion into the drivable space; And Removing the second portion from the drivable space.

4. The method according to claim 1, wherein: The markers further include target markers, the target markers indicating target boundaries for the region; And After incorporating a target portion corresponding to the target markers as another drivable area into the drivable space, generating a representation of the drivable space.

5. The method according to claim 1, further comprising: Identifying vertices of the occupied areas via the control system; Identifying the first portion based on a first shape via the control system, the first shape including a first set of vertices among the vertices of the occupied areas; And Identifying the second portion based on a second shape via the control system, the second shape being concentric with the first shape and including a second set of vertices among the vertices of the occupied areas.

6. The method according to claim 5, wherein: The first transition markers are vertices from the first set of vertices; and The second transition markers are vertices from the second set of vertices.

7. The method according to claim 1, further comprising: Obtaining sensor data from a plurality of sensors on the vehicle, the plurality of sensors at least including a light detection and ranging sensor, a satellite-based sensor, and a camera system.

8. A system, comprising: A sensor system including a plurality of sensors; and a control system communicatively coupled to the sensor system, the control system including at least one electronic processor and being configured to obtain an occupancy grid for a region based on sensor data and map data, wherein the occupancy grid at least indicates occupied and unoccupied areas for the region; generate a reference tool on the occupancy grid, wherein the reference tool extends from a source position located on the occupancy grid and extends along the occupancy grid in a first direction, the source position corresponding to positioning data of a vehicle and the first direction corresponding to a driving direction of the vehicle; identify markers on the occupancy grid using the reference tool, the markers being boundary data of occupied areas intersecting the reference tool at different positions on the occupancy grid, the markers including first transition markers exhibiting a first type of transition from an unoccupied area to an occupied area along the first direction, and second transition markers exhibiting a second type of transition from an occupied area to an unoccupied area along the first direction, such that the first transition markers are located between the source position and the second transition markers on the reference tool along the first direction; after determining that a first transition marker exhibits the first type of transition, identify a first portion associated with the first transition marker as a drivable area; after determining that a second transition marker exhibits the second type of transition, identify a second portion associated with the second transition marker as a non-drivable area; generate a representation of a drivable space in real time based on calculations involving the drivable area and the non-drivable area; and provide guidance to the vehicle based on positioning data of the vehicle with respect to the representation of the drivable space.

9. The system according to claim 8, wherein, The control system is configured to generate control signals to control the vehicle based on a route within the boundaries of the drivable space.

10. The system according to claim 8, wherein: the markers include target markers, the target markers indicating target boundaries for the region; and after incorporating a target portion corresponding to the target marker as another drivable area into the drivable space, generate a representation of the drivable space.

11. The system according to claim 8, wherein the calculations include: incorporating the first portion into the drivable space; and removing the second portion from the drivable space.

12. The system according to claim 8, wherein the control system is configured to: identify vertices of the occupied area via the control system; via the control system, identify the first portion based on a first shape including a first set of vertices among the vertices of the occupied area; and via the control system, identify the second portion based on a second shape concentric with the first shape and including a second set of vertices among the vertices of the occupied area.

13. The system according to claim 12, wherein: the first transition marker is a vertex from the first set of vertices; and the second transition marker is a vertex from the second set of vertices.

14. The system according to claim 8, wherein The sensor system includes at least a light detection and ranging sensor, a satellite-based sensor, and a camera system.

15. A non-transitory computer-readable medium having computer-readable instructions executable by a computer processor to implement a method, the method including: Obtain an occupancy grid for a region based on sensor data and map data, where the occupancy grid indicates occupied and unoccupied areas for the region; Generate a reference tool on the occupancy grid, where the reference tool extends from a source position located on the occupancy grid and extends along the occupancy grid in a first direction, the source position corresponding to the positioning data of the vehicle and the first direction corresponding to the driving direction of the vehicle; Use the reference tool on the occupancy grid to identify markers, where the markers are boundary data of occupied areas intersecting the reference tool at different positions on the occupancy grid, the markers including first transition markers that exhibit a first type of transition from an unoccupied area to an occupied area along the first direction, and second transition markers that exhibit a second type of transition from an occupied area to an unoccupied area along the first direction, such that the first transition markers are located between the source position and the second transition markers on the reference tool along the first direction; After determining that the first transition marker exhibits the first type of transition, identify a first portion associated with the first transition marker as a drivable area; After determining that the second transition marker exhibits the second type of transition, identify a second portion associated with the second transition marker as a non-drivable area; Based on calculations involving the drivable area and the non-drivable area, generate a representation of the drivable space in real time; And Provide guidance to the vehicle based on the positioning data of the vehicle with respect to the representation of the drivable space.

16. The computer-readable medium according to claim 15, wherein: The markers include target markers that indicate target boundaries for the generation of the drivable space; And After incorporating a target portion corresponding to the target marker as another drivable area into the drivable space, generate a representation of the drivable space.

17. The computer-readable medium according to claim 15, wherein the method further includes: Identify vertices of the occupied area; Identify a first portion based on a first shape that includes a first set of vertices among the vertices of the occupied area; And Identify a second portion based on a second shape that is concentric with the first shape and includes a second set of vertices among the vertices of the occupied area.

18. The computer-readable medium according to claim 17, wherein: The first transition marker is a vertex from the first set of vertices; and The second transition marker is a vertex from the second set of vertices.

Citation Information

Patent Citations

  • Method for operating a driver assistance system of a motor vehicle and motor vehicle

    CN108780148A

  • The apparatus and method for improving the performance of autonomous navigation of unmanned ground vehicle using obstacle grid map

    KR101096592B1