Method and device for detecting vehicle passable area

By determining the boundary grid units from multiple grid units in an autonomous driving vehicle and cutting the vehicle's passable area, the accuracy problem of detecting the vehicle's passable area in the prior art is solved, and higher detection accuracy and reliability of driving path planning are achieved.

CN115398272BActive Publication Date: 2025-05-27HUAWEI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080099748.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-04-30
Publication Date
2025-05-27
Estimated Expiration
2040-04-30

AI Technical Summary

Technical Problem

In the prior art, the accuracy of detecting the passable area of ​​a vehicle is low, especially in areas with small distances between obstacles, and it is difficult for autonomous vehicles to accurately determine whether it is passable.

Method used

By determining at least two boundary grid cells from the plurality of grid cells and determining the target boundary grid cells according to these boundary grid cells, the vehicle passable area is cut and the area where the vehicle is not actually allowed to pass is removed.

Benefits of technology

Improve the accuracy of detecting the accessible areas of the vehicle and ensuring that autonomous vehicles can accurately judge and plan driving paths.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115398272B_ABST
    Figure CN115398272B_ABST
Patent Text Reader

Abstract

The present application provides a method and device for detecting a passable area of a vehicle, which relates to the field of autonomous driving and is used to determine a target boundary grid cell according to at least two boundary grid cells, so as to realize the clipping of the passable area of the vehicle and improve the accuracy of detecting the passable area of the vehicle. The method includes: determining at least two boundary grid cells from a plurality of grid cells, where the at least two boundary grid cells are the grid cells where the obstacles closest to the vehicle in the same azimuth angle are located, and the plurality of grid cells are obtained by dividing the surrounding area where the vehicle is located; determining a target boundary grid cell from the at least two boundary grid cells, where the target boundary grid cell refers to the grid cell where the boundary of the passable area of the vehicle is located; and determining the area between the target boundary grid cell and the vehicle as the passable area of the vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of autonomous driving, and particularly to a method and device for detecting a passable area of a vehicle. Background Art

[0002] A mobile robot (taking an autonomous vehicle as an example) can detect a free space in the surrounding environment, that is, an area where the autonomous vehicle can travel, by using data obtained from sensors such as visual sensors (e.g., cameras) and radar sensors (e.g., lidar, millimeter-wave radar). Subsequently, the autonomous vehicle can plan its driving path according to the detected passable area, thereby realizing the autonomous driving of the vehicle.

[0003] In the prior art, the commonly used methods for determining the passable area of a vehicle can be generally divided into two categories.

[0004] One category is to detect road surface information through the collected sensor data, and consider whether the vehicle can pass through the free area on the road surface. The non-free area on the road surface and the free area on the road surface that the vehicle cannot pass through are determined as the non-passable area of the vehicle, and the free area on the road surface that the vehicle can pass through is determined as the passable area of the vehicle. For example: using the road surface height change situation in the current scene obtained by lidar, dividing the scan data returned by each laser line of the lidar into several segments. Then, an iterative line fitting algorithm is used to extract line features from these segments, and the segments that meet appropriate line feature conditions are determined as passable discrete areas. If the width of a passable discrete area is less than the width of the vehicle itself, this area is discarded, and other discrete areas are determined as the passable discrete areas of the vehicle. Finally, the passable discrete areas detected on each laser line of the lidar are merged to obtain the passable area of the vehicle. However, this method is only applicable to determining the passable area of the area directly in front of the vehicle using a multi-line lidar, so the versatility of this method is poor, and the passable area of the vehicle in its side direction is not determined.

[0005] Another type is to detect the information obtained by the sensor after determining the passable area using the data obtained by the sensor, determine the edge information of the road, such as the curb and lane lines, etc., and combine the position of the vehicle and the high-precision map to determine the surrounding road structure of the position where the vehicle is located. Finally, according to the detected road edge information and the surrounding road structure of the vehicle, the passable area is clipped, so as to well remove the thin strip passable areas caused by areas outside the road and green belts, etc. However, in the passable area of the vehicle detected by using this method, there may be areas where the distance between obstacles is small, such as the gap between parallel vehicles in adjacent lanes, or the gap between roadblocks (such as cones) arranged side by side in the front road, etc. The autonomous vehicle cannot pass in these areas. Therefore, in the prior art, the accuracy of the passable area detected by using the data obtained by the sensor is relatively low. Summary of the Invention

[0006] The present application provides a method and device for detecting the passable area of a vehicle. At least two boundary grid cells are determined from multiple grid cells, and then a target boundary grid cell is determined according to the at least two boundary grid cells, so as to clip the passable area of the vehicle, eliminate the areas where the vehicle is actually not allowed to pass, and obtain the boundary of the passable area of the vehicle, thereby improving the accuracy of detecting the passable area of the vehicle.

[0007] To achieve the above object, the present application adopts the following technical solutions:

[0008] In a first aspect, the present application provides a method for detecting the passable area of a vehicle, which relates to the field of autonomous driving. The method includes: determining at least two boundary grid cells from multiple grid cells, where the at least two boundary grid cells are the grid cells where the obstacles closest to the vehicle in the same azimuth angle are located, and the multiple grid cells are obtained by dividing the surrounding area where the vehicle is located. Then, according to the at least two boundary grid cells, a target boundary grid cell is determined, and the target boundary grid cell refers to the grid cell where the boundary of the passable area of the vehicle is located. Finally, the area between the target boundary grid cell and the vehicle is determined as the passable area of the vehicle.

[0009] Through the above process, the present application can determine at least two boundary grid cells from multiple grid cells, and then determine a target boundary grid cell according to the at least two boundary grid cells to update the boundary grid cells and obtain the target boundary grid cell. And by determining the area between the target boundary grid cell and the vehicle as the passable area of the vehicle, the area between the boundary grid cell and the vehicle can be clipped by using the target boundary grid cell to remove the areas where the vehicle is actually not passable, and improve the accuracy of detecting the passable area of the vehicle.

[0010] In a possible implementation, determining the target boundary grid unit according to at least two boundary grid units includes: determining the target boundary grid unit according to the distance between the first boundary grid unit and the second boundary grid unit. The first boundary grid unit is any one of the at least two boundary grid units, the distance between the second boundary grid unit and the vehicle is less than or equal to the distance between the first boundary grid unit and the vehicle, and the distance between the second boundary grid unit and the first boundary grid unit is the shortest in a preset direction.

[0011] Through the above process, the present application can determine any one of at least two boundary grid cells as the first boundary grid cell, and for each first boundary grid cell, a unique corresponding second boundary grid cell can be determined. Therefore, by determining the target boundary grid cell according to the distance between the first boundary grid cell and the second boundary grid cell, the boundary grid cell can be updated, and the actual vehicle inaccessible area in the area determined by the boundary grid cell can be eliminated as much as possible, thereby improving the accuracy of the vehicle accessible area detection.

[0012] In a possible implementation, determining the target boundary grid cell according to the distance between the first boundary grid cell and the second boundary grid cell includes: determining the target boundary grid cell by comparing the distance between the first boundary grid cell and the second boundary grid cell with a preset distance threshold.

[0013] Through the above process, since the preset distance threshold can be set to a value greater than the vehicle width according to needs, the scheme of determining the target boundary grid unit according to the preset distance threshold in the present application can ensure that the vehicle passes through the vehicle passable area determined according to the target boundary grid unit as much as possible, thereby improving the accuracy of vehicle passable area detection.

[0014] In a possible implementation, the target border grid unit is determined by comparing the distance between the first border grid unit and the second border grid unit with a preset distance threshold, including: when the distance between the first border grid unit and the second border grid unit is less than or equal to the preset distance threshold, the first border grid unit and the second border grid unit are determined as the target border grid unit. Wherein, the distance between the third border grid unit and the vehicle is equal to the distance between the first border grid unit and the vehicle, and the third border grid unit is located between the first border grid unit and the second border grid unit in a preset direction. When the distance between the first border grid unit and the second border grid unit is greater than the preset distance threshold, the first border grid unit and the second border grid unit are determined as the target border grid unit.

[0015] Through the above process, after determining the vehicle passable area according to the boundary grid cells, the present application also eliminates the areas in the passable area with widths less than the preset distance threshold according to the preset distance threshold, that is, eliminates the areas where the vehicle is actually not passable, and updates the boundary grid cells to target boundary grid cells for determining the vehicle passable area, thereby improving the accuracy of detecting the vehicle passable area.

[0016] In a possible implementation manner, after determining the target boundary grid cells according to at least two boundary grid cells, a grid map is generated based on the passable area and non-passable area of the vehicle. Among them, the non-passable area refers to the area where the grid cells with a distance greater than the first distance from the vehicle are located, and the first distance refers to the distance between the target boundary grid cells and the vehicle.

[0017] Through the above process, the grid map generated based on the passable area and non-passable area of the vehicle can more intuitively represent the passable area and non-passable area of the vehicle, facilitating the viewing of the passable area and non-passable area of the vehicle.

[0018] In a possible implementation manner, before determining at least two boundary grid cells from multiple grid cells, the position information of the obstacles around the vehicle is first determined. Among them, the position information of the obstacles may include the azimuth angle of the obstacles relative to the vehicle and the distance between the obstacles and the vehicle.

[0019] In a possible implementation manner, determining the position information of the obstacles around the vehicle includes: determining the position information of the obstacles around the vehicle according to the external data collected by the sensors on the vehicle. Among them, the external data refers to the data outside the vehicle collected by the sensors.

[0020] Through the above process, the present application eliminates the external data collected by the sensors on the vehicle, that is, the external data, to reduce the occurrence of determining a certain point on the vehicle collected by the sensors as the obstacle closest to the vehicle at the azimuth angle of that point, thereby reducing the possibility of taking a certain point on the vehicle as the boundary of the vehicle passable area and improving the accuracy of detecting the vehicle passable area.

[0021] In a possible implementation manner, the sensors for collecting external data include one or more of lidar, millimeter-wave radar, or vision sensors.

[0022] Through the above process, since there are many types of sensors for determining the vehicle passable area in the present application, the detection method of the vehicle passable area in the present application has good versatility, and using the data collected by multiple sensors to determine the vehicle passable area can further improve the accuracy of detecting the vehicle passable area.

[0023] In a possible implementation, the above preset direction is the clockwise direction or the counterclockwise direction.

[0024] In a possible implementation, in the process of determining the target boundary grid cell according to the distance between the first boundary grid cell and the second boundary grid cell, if there is a boundary grid cell on the same azimuth angle of the target boundary grid cell whose distance from the vehicle is less than that of the target boundary grid cell, then it is determined that this boundary grid cell is a boundary grid cell that does not need to be processed. That is to say, in the subsequent process of determining the boundary grid cell, this boundary grid cell can be regarded as a grid cell within the non-passable area of the vehicle, and this boundary grid cell is no longer used as the first boundary grid cell to determine the target boundary grid cell.

[0025] Through the above process, the present application can reduce the boundary grid cells that need to be processed in the process of determining the target boundary grid cell, thereby reducing the computational amount in the process of detecting the passable area of the vehicle and improving the efficiency of detecting the passable area of the vehicle.

[0026] In a second aspect, the present application provides a device for detecting the passable area of a vehicle, which relates to the field of autonomous driving. The device includes: a processing unit, configured to determine at least two boundary grid cells from a plurality of grid cells, where the at least two boundary grid cells are the grid cells where the obstacles closest to the vehicle on the same azimuth angle are located, and the plurality of grid cells are obtained by dividing the surrounding area where the vehicle is located. The processing unit is further configured to determine a target boundary grid cell according to the at least two boundary grid cells, where the target boundary grid cell refers to the grid cell where the boundary of the passable area of the vehicle is located. A determination unit, configured to determine the area between the target boundary grid cell and the vehicle as the passable area of the vehicle.

[0027] In a possible implementation, the processing unit is configured to determine a target boundary grid cell according to at least two boundary grid cells, including: the processing unit is configured to determine a target boundary grid cell according to the distance between a first boundary grid cell and a second boundary grid cell. Wherein, the first boundary grid cell is any one of the at least two boundary grid cells, and the distance between the second boundary grid cell and the vehicle is less than or equal to the distance between the first boundary grid cell and the vehicle, and the second boundary grid cell is the closest to the first boundary grid cell in the preset direction.

[0028] In a possible implementation, the processing unit is configured to determine a target boundary grid cell according to the distance between a first boundary grid cell and a second boundary grid cell, including: the processing unit is configured to determine a target boundary grid cell by comparing the distance between the first boundary grid cell and the second boundary grid cell with a preset distance threshold.

[0029] In a possible implementation, a processing unit is configured to determine a target boundary grid cell by comparing the distance between a first boundary grid cell and a second boundary grid cell with a preset distance threshold, including: the processing unit is configured to determine the first boundary grid cell and the second boundary grid cell as the target boundary grid cell when the distance between the first boundary grid cell and the second boundary grid cell is less than or equal to the preset distance threshold. Wherein, the distance between a third boundary grid cell and the vehicle is equal to the distance between the first boundary grid cell and the vehicle, and the third boundary grid cell is located between the first boundary grid cell and the second boundary grid cell in a preset direction. The processing unit is configured to determine the first boundary grid cell and the second boundary grid cell as the target boundary grid cell when the distance between the first boundary grid cell and the second boundary grid cell is greater than the preset distance threshold.

[0030] In a possible implementation, after the processing unit is configured to determine a target boundary grid cell based on at least two boundary grid cells, a generating unit is configured to generate a grid map according to the passable area and the non-passable area of the vehicle. Wherein the non-passable area refers to the area where the grid cells whose distance from the vehicle is greater than a first distance are located, and the first distance refers to the distance between the target boundary grid cell and the vehicle.

[0031] In a possible implementation, before the processing unit is configured to determine at least two boundary grid cells from multiple grid cells, the processing unit is configured to determine the position information of the obstacles around the vehicle.

[0032] In a possible implementation, the processing unit is configured to determine the position information of the obstacles around the vehicle, including: the processing unit is configured to determine the position information of the obstacles around the vehicle according to the external data collected by the sensors on the vehicle. Wherein, the external data refers to the data outside the vehicle collected by the sensors.

[0033] In a possible implementation, the above-mentioned sensors include one or more of lidar, millimeter-wave radar or vision sensors.

[0034] In a possible implementation, the above-mentioned preset direction is the clockwise direction or the counterclockwise direction.

[0035] In a third aspect, the present application provides a device for detecting the passable area of a vehicle, the device includes: a processor and a memory; wherein, the memory is used to store computer program instructions, and the processor runs the computer program instructions so that the device for detecting the passable area of the vehicle executes the method for detecting the passable area of the vehicle described in the first aspect.

[0036] Fourthly, the present application provides a computer-readable storage medium, including computer instructions, which, when run by a processor, cause the device for detecting the passable area of a vehicle to execute the method for detecting the passable area of a vehicle as described in the first aspect.

[0037] Fifthly, the present application provides a computer program product, characterized in that, when the computer program product runs on a processor, it causes the device for detecting the passable area of a vehicle to execute the method for detecting the passable area of a vehicle as described in the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 Structural schematic diagram of a vehicle provided by an embodiment of the present application Figure 1 ;

[0039] Figure 2 Structural schematic diagram of a vehicle provided by an embodiment of the present application Figure 2 ;

[0040] Figure 3 Structural schematic diagram of a computer system provided by an embodiment of the present application;

[0041] Figure 4 Application schematic diagram of a cloud-side command autonomous driving vehicle provided by an embodiment of the present application Figure 1 ;

[0042] Figure 5 Application schematic diagram of a cloud-side command autonomous driving vehicle provided by an embodiment of the present application Figure 2 ;

[0043] Figure 6 Structural schematic diagram of a computer program product provided by an embodiment of the present application;

[0044] Figure 7 Flow schematic diagram of a method for detecting the passable area of a vehicle provided by an embodiment of the present application;

[0045] Figure 8 Schematic diagram of a plurality of grid cells provided by an embodiment of the present application;

[0046] Figure 9 Schematic diagram of a boundary grid cell provided by an embodiment of the present application Figure 1 ;

[0047] Figure 10 Schematic diagram of a boundary grid cell provided by an embodiment of the present application Figure 2 ;

[0048] Figure 11 Schematic diagram of the distance between boundary grid cells provided by an embodiment of the present application;

[0049] Figure 12 Schematic diagram of a grid map provided by an embodiment of the present application Figure 1 ;

[0050] Figure 13 Schematic diagram of a grid map provided by an embodiment of the present application Figure 2 ;

[0051] Figure 14 Schematic diagram of a concentric circle provided by an embodiment of the present application;

[0052] Figure 15 Schematic diagram of a device for detecting a vehicle passable area provided by an embodiment of the present application. Detailed implementation manners

[0053] An embodiment of the present application provides a method and a device for detecting a vehicle passable area. The method is applied to a vehicle or other devices (such as a cloud server, a mobile terminal, etc.) having a function of controlling a vehicle. The vehicle or other devices can implement the method for detecting a vehicle passable area provided by an embodiment of the present application through components (including hardware and software) included therein, detect the surrounding environment of the vehicle according to data collected by sensors, determine the passable area of the vehicle, so that the vehicle can plan its driving path according to the passable area.

[0054] Figure 1 Functional block diagram of vehicle 100 provided by an embodiment of the present application. The vehicle 100 may be an autonomous vehicle. In one embodiment, the vehicle 100 detects the passable area of the vehicle according to data collected by sensors, determines the passable area of the vehicle, so as to plan the driving path of the vehicle according to the passable area.

[0055] The vehicle 100 may include various subsystems, such as a propulsion system 110, a sensor system 120, a control system 130, one or more peripheral devices 140, as well as a power supply 150, a computer system 160, and a user interface 170. Optionally, the vehicle 100 may include more or fewer subsystems, and each subsystem may include multiple components. In addition, each subsystem and component of the vehicle 100 may be interconnected by wire or wirelessly.

[0056] The propulsion system 110 may include components that provide powered movement for the vehicle 100. In one embodiment, the propulsion system 110 may include an engine 111, a transmission 112, an energy source 113, and wheels 114. The engine 111 may be an internal combustion engine, an electric motor, an air compression engine, or other types of engine combinations, such as a hybrid engine composed of a gasoline engine and an electric motor, a hybrid engine composed of an internal combustion engine and an air compression engine. The engine 111 converts the energy source 113 into mechanical energy.

[0057] Examples of the energy source 113 include gasoline, diesel, other oil-based fuels, propane, other compressed gas-based fuels, ethanol, solar panels, batteries, and other power sources. The energy source 113 can also supply energy to other systems of the vehicle 100.

[0058] The transmission 112 can transmit mechanical power from the engine 111 to the wheels 114. The transmission 112 can include a gearbox, a differential, and a drive shaft. In one embodiment, the transmission 112 can also include other components, such as a clutch. The drive shaft can include one or more shafts that can be coupled to one or more wheels 114.

[0059] The sensor system 120 can include several sensors that sense information about the environment around the vehicle 100. For example, the sensor system 120 can include a positioning system 121 (the positioning system can be a global positioning system (GPS), or it can be a Beidou system or other positioning systems), an inertial measurement unit (IMU) 122, a radar 123, a lidar 124, and a camera 125. The sensor system 120 can also include sensors that monitor the internal systems of the vehicle 100 (e.g., an in-vehicle air quality monitor, a fuel gauge, an oil temperature gauge, etc.). Sensor data from one or more of these sensors can be used to detect objects and their corresponding characteristics (position, shape, orientation, speed, etc.). Such detection and identification are key functions for the safe operation of the autonomous driving of the vehicle 100.

[0060] The positioning system 121 can be used to estimate the geographical location of the vehicle 100. The IMU 122 is used to sense changes in the position and orientation of the vehicle 100 based on inertial acceleration. In one embodiment, the IMU 122 can be a combination of an accelerometer and a gyroscope.

[0061] The radar 123 can use radio signals to sense objects within the surrounding environment of the vehicle 100. In some embodiments, in addition to sensing objects, the radar 123 can also be used to sense the speed and / or forward direction of the objects.

[0062] The lidar 124 can use lasers to sense objects in the environment where the vehicle 100 is located. In some embodiments, the lidar 124 can include one or more laser sources, a laser scanner, and one or more detectors, as well as other system components.

[0063] The camera 125 can be used to capture multiple images of the surrounding environment of the vehicle 100, as well as multiple images inside the vehicle cockpit. The camera 125 can be a still camera or a video camera.

[0064] The control system 130 can control the operation of the vehicle 100 and its components. The control system 130 can include various elements, including among others a steering system 131, an accelerator 132, a braking unit 133, a computer vision system 134, a route control system 135, and an obstacle avoidance system 136.

[0065] The steering system 131 is operable to adjust the forward direction of the vehicle 100. For example, in one embodiment, it can be a steering wheel system.

[0066] The accelerator 132 is used to control the operating speed of the engine 111 and thereby control the speed of the vehicle 100.

[0067] The braking unit 133 is used to control the deceleration of the vehicle 100. The braking unit 133 can use friction to slow down the wheels 114. In other embodiments, the braking unit 133 can convert the kinetic energy of the wheels 114 into electric current. The braking unit 133 can also take other forms to slow down the rotational speed of the wheels 114 so as to control the speed of the vehicle 100.

[0068] The computer vision system 134 can be operated to process and analyze the images captured by the camera 125 in order to identify objects and / or features in the surrounding environment of the vehicle 100 and the limb features and facial features of the driver inside the vehicle cockpit. The objects and / or features can include traffic signals, road conditions, and obstacles, and the limb features and facial features of the driver include the driver's behavior, line of sight, expression, etc. The computer vision system 134 can use object recognition algorithms, structure from motion (SFM) algorithms, video tracking, and other computer vision technologies. In some embodiments, the computer vision system 134 can be used for mapping the environment, tracking objects, estimating the speed of objects, determining driver behavior, face recognition, and so on.

[0069] The route control system 135 is used to determine the driving route of the vehicle 100. In some embodiments, the route control system 135 can combine data from sensors, the positioning system 121, and one or more predetermined maps to determine the driving route for the vehicle 100.

[0070] The obstacle avoidance system 136 is used to identify, evaluate, and avoid or otherwise cross potential obstacles in the environment of the vehicle 100.

[0071] Of course, in one example, the control system 130 can additionally or alternatively include components other than those shown and described. Or some of the above - shown components can also be reduced.

[0072] Vehicle 100 interacts with external sensors, other vehicles, other computer systems, or users through peripheral device 140. Peripheral device 140 may include wireless communication system 141, in-vehicle computer 142, microphone 143, and / or speaker 144.

[0073] In some embodiments, peripheral device 140 provides a means for the user of vehicle 100 to interact with user interface 170. For example, in-vehicle computer 142 may provide information to the user of vehicle 100. User interface 170 may also operate in-vehicle computer 142 to receive user input. In-vehicle computer 142 may be operated through a touch screen. In other cases, peripheral device 140 may provide a means for vehicle 100 to communicate with other devices located within the vehicle. For example, microphone 143 may receive audio from the user of vehicle 100 (e.g., voice commands or other audio inputs). Similarly, speaker 144 may output audio to the user of vehicle 100.

[0074] Wireless communication system 141 may wirelessly communicate with one or more devices directly or via a communication network. For example, wireless communication system 141 may use 3G cellular communication, such as CDMA, EVDO, GSM / GPRS, or 4G cellular communication, such as LTE. Or 5G cellular communication. Wireless communication system 141 may utilize WiFi to communicate with a wireless local area network (WLAN). In some embodiments, wireless communication system 141 may directly communicate with devices using an infrared link, Bluetooth, or ZigBee. Other wireless protocols, such as various vehicle communication systems, for example, wireless communication system 141 may include one or more dedicated short range communications (DSRC) devices.

[0075] Power supply 150 may supply power to various components of vehicle 100. In one embodiment, power supply 150 may be a rechargeable lithium-ion or lead-acid battery. One or more battery packs of such a battery may be configured as a power supply to supply power to various components of vehicle 100. In some embodiments, power supply 150 and energy source 113 may be implemented together, as in some all-electric vehicles.

[0076] Part or all of the functions of vehicle 100 are controlled by computer system 160. Computer system 160 may include at least one processor 161 that executes instructions 1621 stored in a non-transitory computer-readable medium such as data storage device 162. Computer system 160 may also be multiple computing devices that control individual components or subsystems of vehicle 100 in a distributed manner.

[0077] The processor 161 can be any conventional processor, such as a commercially available central processing unit (CPU). Alternatively, the processor can be a special-purpose device such as an application specific integrated circuit (ASIC) or other hardware-based processor. Although Figure 1 The functional diagram shows the processor, memory, and other elements in the same physical enclosure, but those of ordinary skill in the art should understand that the processor, computer system, or memory can actually include multiple processors, computer systems, or memories that can be stored within the same physical enclosure, or include multiple processors, computer systems, or memories that may not be stored within the same physical enclosure. For example, the memory can be a hard disk drive or other storage medium located in a different physical enclosure. Thus, a reference to a processor or computer system will be understood to include a reference to a collection of processors or computer systems or memories that can operate in parallel, or a collection of processors or computer systems or memories that may not operate in parallel. Instead of using a single processor to perform the steps described herein, some components such as the steering component and the deceleration component can each have their own processor that only performs calculations related to component-specific functions.

[0078] In various aspects described herein, the processor can be located remote from the vehicle and communicate wirelessly with the vehicle. In other aspects, some of the processes described herein are executed on a processor disposed within the vehicle while others are executed by a remote processor, including taking the necessary steps to perform a single maneuver.

[0079] In some embodiments, the data storage device 162 can contain instructions 1621 (e.g., program logic) that can be executed by the processor 161 to perform various functions of the vehicle 100, including those described above. The data storage device 162 can also contain additional instructions, including instructions to send data to, receive data from, interact with, and / or control one or more of the propulsion system 110, the sensor system 120, the control system 130, and the peripheral devices 140.

[0080] In addition to the instructions 1621, the data storage device 162 can also store data, such as road maps, route information, the location, direction, speed of the vehicle, and other such vehicle data, as well as other information. Such information can be used by the vehicle 100 and the computer system 160 during operation of the vehicle 100 in autonomous, semi-autonomous, and / or manual modes.

[0081] For example, in one possible embodiment, the data storage device 162 may obtain obstacle information in the surrounding environment that the vehicle acquires based on the sensors in the sensor system 120, such as the positions of obstacles such as other vehicles, road edges, and green belts, the distances between the obstacles and the vehicle, and the distances between the obstacles. The data storage device 162 may also obtain environmental information from the sensor system 120 or other components of the vehicle 100. The environmental information may, for example, indicate whether there are green belts, lanes, pedestrians, etc. near the current environment of the vehicle, or whether there are green belts, pedestrians, etc. near the current environment of the vehicle calculated by the vehicle through machine learning algorithms. In addition to the above, the data storage device 162 may also store the state information of the vehicle itself and the state information of other vehicles that interact with the vehicle. Among them, the state information of the vehicle includes, but is not limited to, the position, speed, acceleration, heading angle, etc. of the vehicle. In this way, the processor 161 may obtain this information from the data storage device 162 and determine the passable area of the vehicle based on the environmental information of the vehicle's environment, the state information of the vehicle itself, the state information of other vehicles, etc., and determine the final driving strategy based on the passable area to control the vehicle 100 for autonomous driving.

[0082] The user interface 170 is configured to provide information to or receive information from the user of the vehicle 100. Optionally, the user interface 170 may interact with one or more input / output devices within the set of peripheral devices 140, such as one or more of the wireless communication system 141, the in-vehicle computer 142, the microphone 143, and the speaker 144.

[0083] The computer system 160 may control the vehicle 100 based on information obtained from various subsystems (e.g., the propulsion system 110, the sensor system 120, and the control system 130) and information received from the user interface 170. For example, the computer system 160 may control the steering system 131 to change the forward direction of the vehicle according to information from the control system 130, so as to avoid obstacles detected by the sensor system 120 and the obstacle avoidance system 136. In some embodiments, the computer system 160 may control many aspects of the vehicle 100 and its subsystems.

[0084] Optionally, one or more of the above components may be separately installed or associated with the vehicle 100. For example, the data storage device 162 may exist partially or completely separately from the vehicle 100. The above components may be coupled together by wired and / or wireless means for communication.

[0085] Optionally, the above components are only an example. In actual applications, the components in each of the above modules may be added or deleted according to actual needs. Figure 1 It should not be construed as a limitation on the embodiments of the present application.

[0086] An autonomous vehicle moving on a road, such as vehicle 100 above, can determine an adjustment instruction for the current speed based on other vehicles within its surrounding environment. Among them, the objects within the surrounding environment of vehicle 100 can be traffic control devices, or other types of objects such as green belts. In some examples, each object within the surrounding environment can be considered independently, and based on the respective characteristics of the object, such as its current speed, acceleration, distance from the vehicle, etc., an adjustment instruction for the speed of vehicle 100 can be determined.

[0087] Optionally, vehicle 100, which is an autonomous vehicle, or a computer device associated therewith (such as Figure 1 computer system 160, computer vision system 134, data storage device 162) can, based on the identified measurement data, obtain the state of the surrounding environment (e.g., traffic, rain, ice on the road, etc.), and determine the relative position of the obstacles in the surrounding environment to the vehicle at the current moment. Optionally, the boundaries of the passable areas formed by each obstacle are dependent on each other. Therefore, all the obtained measurement data can also be used together to determine the boundaries of the passable area of the vehicle, and the actually impassable areas in the passable area are removed. Vehicle 100 can adjust its driving strategy based on the detected passable area of the vehicle. In other words, an autonomous vehicle can determine what stable state the vehicle needs to adjust to (e.g., accelerate, decelerate, steer, or stop, etc.) based on the detected passable area of the vehicle. In this process, other factors can also be considered to determine the adjustment instruction for the speed of vehicle 100, such as the lateral position of vehicle 100 on the road being traveled, the curvature of the road, the proximity of static and dynamic objects, etc.

[0088] In addition to providing an instruction to adjust the speed of the autonomous vehicle, the computer device can also provide an instruction to modify the steering angle of vehicle 100 so that the autonomous vehicle follows a given trajectory and / or maintains a safe lateral and longitudinal distance from nearby objects (such as a sedan in an adjacent lane).

[0089] The above vehicle 100 can be a sedan, a truck, a motorcycle, a bus, a boat, an airplane, a helicopter, a lawn mower, a recreational vehicle, a playground vehicle, construction equipment, a tram, a golf cart, a train, and a trolley, etc., and the embodiments of the present application do not make special limitations.

[0090] In other embodiments of the present application, the autonomous vehicle can further include a hardware structure and / or a software module, and implement the above functions in the form of a hardware structure, a software module, or a combination of a hardware structure and a software module. Whether a certain function among the above functions is executed in the form of a hardware structure, a software module, or a combination of a hardware structure and a software module depends on the specific application and design constraints of the technical solution.

[0091] See Figure 2 , for example, the vehicle may include the following modules:

[0092] Environmental perception module 201: used to obtain information about vehicles, pedestrians, road surface objects, etc. in the vehicle's surrounding environment through roadside sensors and in-vehicle sensors. Among them, the roadside sensors and in-vehicle sensors can be lidar, millimeter-wave radar, vision sensors, etc. The environmental perception module 201 obtains the original video stream data collected by the sensors, the point cloud data of the radar, etc., and then processes these original video stream data and radar point cloud data to obtain recognizable structured data such as the positions and sizes of people, vehicles, and objects, determines the positions of these people, vehicles, and objects relative to the vehicle, and further determines information such as the boundaries of the vehicle's passable area. Among them, due to the variety of sensor types, the environmental perception module 201 can determine the boundaries of the vehicle's passable area based on the data collected by all or a certain type or a certain sensor, so as to obtain one or more boundaries of the vehicle's passable area. The environmental perception module 201 is also used to send the position information of people, vehicles, and objects and information such as the boundaries of the vehicle's passable area determined according to the data obtained by the sensors to the passable area detection module 202.

[0093] The passable area detection module 202 is used to obtain one or more boundaries of the vehicle's passable area from the environmental perception module 201, use the position information of people, vehicles, and objects determined by the data collected by the sensors, etc., and cut the one or more boundaries of the vehicle's passable area according to the obtained position information of people, vehicles, and objects to remove the areas where the vehicle is actually impassable. The passable area detection module 202 is also used to perform fusion processing on one or more boundaries of the vehicle's passable area, or one or more boundaries of the vehicle's passable area that have been cut, to finally obtain the vehicle's passable area. The passable area detection module 202 is also used to obtain data such as the vehicle's positioning information and map, determine the road where the vehicle is located and the structure of the road according to the map and the vehicle's positioning information, so as to cut the boundaries of the vehicle's passable area to obtain a passable area suitable for the current road where the vehicle is located. The passable area detection module 202 is also used to send the finally obtained vehicle passable area to the simulation display module 204 and the planning control module 203.

[0094] The simulation display module 204 is used to receive the information of the vehicle's passable area sent by the passable area detection module 202 and display the vehicle's passable area in the form of a grid map, etc., so as to more conveniently and intuitively view the vehicle's passable area and the vehicle's impassable area.

[0095] The planning and control module 203 is configured to receive the passable area of the vehicle sent by the passable area detection module 202, plan the driving path of the vehicle according to the received passable area of the vehicle, generate a driving strategy, output an action instruction corresponding to the driving strategy, and control the vehicle to perform autonomous driving according to the instruction. This module is a traditional control module possessed by autonomous vehicles.

[0096] The vehicle positioning module 205 is configured to determine the positioning information of the vehicle and send the positioning information of the vehicle to the passable area detection module 202. In a possible implementation, the vehicle positioning module 205 is further configured to send the positioning information of the vehicle to the environment perception module 201.

[0097] The vehicle-mounted communication module 206 ( Figure 2 not shown in the figure) is used for information interaction between the vehicle itself and other vehicles.

[0098] The storage component 207 ( Figure 2 not shown in the figure) is used to store the executable codes of the above-mentioned various modules, and running these executable codes can implement part or all of the method processes of the embodiments of the present application.

[0099] In a possible implementation of the embodiments of the present application, as Figure 3 shown, Figure 1 the computer system 160 shown in the figure includes a processor 301, the processor 301 is coupled to a system bus 302, the processor 301 can be one or more processors, and each processor can include one or more processor cores. A display adapter 303 can drive a display 324, and the display 324 is coupled to the system bus 302. The system bus 302 is coupled to an input / output (I / O) bus 305 through a bus bridge 304, an I / O interface 306 is coupled to the I / O bus 305, and the I / O interface 306 communicates with a variety of I / O devices, such as an input device 307 (such as: keyboard, mouse, touch screen, etc.), a media tray 308 (for example, CD-ROM, multimedia interface, etc.). A transceiver 309 (which can send and / or receive radio communication signals), a camera 310 (which can capture static and dynamic digital video images) and an external universal serial bus (USB) port 311. Optionally, the interface connected to the I / O interface 306 can be a USB interface.

[0100] Among them, the processor 301 can be any conventional processor, including a reduced instruction set computer (RISC) processor, a complex instruction set computer (CISC) processor, or a combination of the above. Optionally, the processor 301 can also be a dedicated device such as an application specific integrated circuit (ASIC). Optionally, the processor 301 can also be a neural network processor or a combination of a neural network processor and the above conventional processors.

[0101] Optionally, in various embodiments described in the present application, the computer system 160 can be located away from the autonomous vehicle and communicate wirelessly with the autonomous vehicle 100. In other aspects, some of the processes described in the present application can be set to be executed on a processor in the autonomous vehicle, and some other processes are executed by a remote processor, including taking actions required to perform a single maneuver.

[0102] The computer system 160 can communicate with a software deploying server 313 through a network interface 312. Optionally, the network interface 312 can be a hardware network interface, such as a network card. The Network 314 can be an external network, such as the Internet, or an internal network, such as Ethernet or a virtual private network (VPN). Optionally, the network 314 can also be a wireless network, such as a WiFi network, a cellular network, etc.

[0103] The hard disk drive interface 315 is coupled to the system bus 302. The hard disk drive interface 315 is connected to the hard disk drive 316. The system memory 317 is coupled to the system bus 302. The data running in the system memory 317 can include an operating system (OS) 318 and an application program 319 of the computer system 160.

[0104] The operating system (OS) 318 includes but is not limited to a Shell 320 and a kernel 321. The Shell 320 is an interface between the user and the kernel 321 of the operating system 318. The Shell 320 is the outermost layer of the operating system 318. The shell manages the interaction between the user and the operating system 318: waits for the user's input, interprets the user's input to the operating system 318, and processes various output results of the operating system 318.

[0105] The kernel 321 consists of the part in the operating system 318 that manages memory, files, peripherals, and system resources, and directly interacts with the hardware. The kernel 321 of the operating system 318 typically runs processes, provides inter-process communication, and provides functions such as CPU time slice management, interrupts, memory management, and IO management.

[0106] The application program 319 includes programs 323 related to autonomous driving. For example, programs that manage the interaction between an autonomous vehicle and road obstacles, programs that control the driving route or speed of an autonomous vehicle, programs that control the interaction between an autonomous vehicle and other vehicles / autonomous vehicles on the road, etc. The application program 319 also exists on the system of the deploying server 313. In one embodiment, when the application program 319 needs to be executed, the computer system 160 can download the application program 319 from the deploying server 313.

[0107] For another example, the application program 319 can be an application program that controls the vehicle to determine a driving strategy based on the passable area of the vehicle and the traditional control module. The processor 301 of the computer system 160 calls the application program 319 to obtain the driving strategy.

[0108] The sensor 322 is associated with the computer system 160. The sensor 322 is used to detect the environment around the computer system 160. For example, the sensor 322 can detect animals, cars, obstacles, and / or crosswalks, etc. Further, the sensor 322 can also detect the environment around the above-mentioned objects such as animals, cars, obstacles, and / or crosswalks. For example: the environment around an animal, such as other animals that appear around the animal, weather conditions, the brightness of the light in the environment around the animal, etc. Optionally, if the computer system 160 is located on an autonomous vehicle, the sensor 322 can be at least one of devices such as a camera, an infrared sensor, a chemical detector, a microphone, etc.

[0109] In other embodiments of the present application, the computer system 160 can also receive information from other computer systems or transfer information to other computer systems. Or, the sensor data collected from the sensor system 120 of the vehicle 100 can be transferred to another computer, and the other computer processes this data. Such as Figure 4As shown, data from computer system 160 can be transmitted via a network to a computer system 410 on the cloud side for further processing. The network and intermediate nodes can include various configurations and protocols, including the Internet, World Wide Web, intranet, virtual private network, wide area network, local area network, private network using proprietary communication protocols of one or more companies, Ethernet, WiFi, and HTTP, as well as various combinations of the foregoing. Such communication can be performed by any device capable of transmitting data to and from other computers, such as modems and wireless interfaces.

[0110] In one example, computer system 410 can include a server with multiple computers, such as a load balancing server farm. To receive, process, and transmit data from computer system 160, server 420 exchanges information with different nodes of the network. This computer system 410 can have a configuration similar to that of computer system 160 and have a processor 430, a memory 440, instructions 450, and data 460.

[0111] In one example, the data 460 of server 420 can include providing weather-related information. For example, server 420 can receive, monitor, store, update, and transmit various information related to target objects in the surrounding environment. This information can include, for example, target category, target shape information, and target tracking information in the form of reports, radar information, forecasts, etc.

[0112] See Figure 5 , for an example of the interaction between an autonomous driving vehicle and a cloud service center (cloud server). The cloud service center can receive information (such as data collected by vehicle sensors or other information) from vehicles 513 and 512 within its operating environment 500 via a network 511 such as a wireless communication network. Among them, vehicles 513 and 512 can be autonomous driving vehicles.

[0113] The cloud service center 520 controls vehicles 513 and 512 according to the received data by running programs stored in it related to controlling the autonomous driving of the vehicle. Programs related to controlling the autonomous driving of the vehicle can be: programs for managing the interaction between autonomous driving vehicles and road obstacles, or programs for controlling the route or speed of autonomous driving vehicles, or programs for controlling the interaction between autonomous driving vehicles and other autonomous driving vehicles on the road.

[0114] Exemplarily, the cloud service center 520 can provide parts of a map to vehicles 513 and 512 via the network 511. In other examples, the operations can be divided among different locations. For example, multiple cloud service centers can receive, verify, combine, and / or send information reports. In some examples, information reports and / or sensor data can also be sent between vehicles. Other configurations are also possible.

[0115] In some examples, the cloud service center 520 sends to the autonomous vehicle a proposed solution for a possible driving situation within the environment (e.g., informing of an obstacle ahead and how to bypass it). For example, the cloud service center 520 can assist the vehicle in determining how to proceed when faced with a specific obstacle within the environment. The cloud service center 520 sends a response to the autonomous vehicle indicating how the vehicle should proceed in a given scenario. For example, based on the sensor data collected, the cloud service center 520 can confirm the presence of a temporary stop sign ahead on the road, or, for another example, based on the "lane closed" sign and the sensor data of a construction vehicle, determine that the lane is closed due to construction. Accordingly, the cloud service center 520 sends a proposed operation mode for the vehicle to pass the obstacle (e.g., instructing the vehicle to change lanes to another road). The cloud service center 520 observes the video stream within its operating environment 500, and when it has confirmed that the autonomous vehicle can safely and successfully pass the obstacle, the operation steps used by the autonomous vehicle can be added to the driving information map. Accordingly, this information can be sent to other vehicles within the area that may encounter the same obstacle, so as to assist other vehicles not only in identifying the closed lane but also in knowing how to pass it.

[0116] In some embodiments, the disclosed method may be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or encoded on other non-transitory media or articles. Figure 6 Schematically shown is a conceptual partial view of an example computer program product arranged in accordance with at least some of the embodiments presented herein. The example computer program product includes a computer program for performing a computer process on a computing device. In one embodiment, the example computer program product 600 is provided using a signal-bearing medium 601. The signal-bearing medium 601 may include one or more program instructions 602 which, when run by one or more processors, may provide all or part of the functions described above for Figures 2 to 5 or may provide all or part of the functions described in subsequent embodiments. For example, referring to the embodiments shown in Figure 7 , one or more features in S701 to S704 may be borne by one or more instructions associated with the signal-bearing medium 601. In addition, Figure 6 the program instructions 602 also describe example instructions.

[0117] In some examples, the signal-bearing medium 601 may include a computer-readable medium 603, such as but not limited to, a hard disk drive, a compact disc (CD), a digital video disc (DVD), a digital tape, a memory, a read-only memory (ROM), or a random access memory (RAM), and so on. In some embodiments, the signal-bearing medium 601 may include a computer-recordable medium 604, such as but not limited to, a memory, a read / write (R / W) CD, an R / W DVD, and so on. In some embodiments, the signal-bearing medium 601 may include a communication medium 605, such as but not limited to, a digital and / or analog communication medium (e.g., an optical fiber cable, a waveguide, a wired communication link, a wireless communication link, and so on). Thus, for example, the signal-bearing medium 601 may be conveyed by a wireless form of the communication medium 605 (e.g., a wireless communication medium compliant with the IEEE 802.11 standard or other transmission protocols). One or more program instructions 602 may be, for example, computer-executable instructions or logic-implemented instructions. In some examples, such as for Figures 2 to 6 the described computing device may be configured to provide various operations, functions, or actions in response to the program instructions 602 communicated to the computing device through one or more of the computer-readable medium 603, and / or the computer-recordable medium 604, and / or the communication medium 605. It should be understood that the arrangements described herein are for illustrative purposes only. Thus, those skilled in the art will understand that other arrangements and other elements (e.g., machines, interfaces, functions, sequences, and groups of functions, etc.) can be used instead, and some elements can be omitted altogether according to the desired results. Additionally, many of the described elements can be implemented as discrete or distributed components, or as functional entities that combine with other components in any suitable combination and location.

[0118] To solve the problem of poor accuracy in detecting the passable area of a vehicle in the prior art, where there are still actually impassable areas within the passable area of the vehicle, and to improve the accuracy of detecting the passable area of the vehicle, the present application proposes a method for detecting the passable area of a vehicle. The execution subject of this method can be a vehicle or other device with the function of controlling the vehicle, such as an autonomous vehicle, or it can also be a processor in a vehicle or other device with the function of controlling the vehicle, such as the processor 161, processor 301, and processor 430 mentioned above. As Figure 7 shown, this method includes steps S701 - S704:

[0119] S701. Divide the surrounding area where the vehicle is located to obtain a plurality of grid cells.

[0120] First, determine the position of the center point (or the center of mass) of the vehicle as the position of the vehicle, and determine the traveling direction of the vehicle. Then, take the traveling direction of the vehicle as the polar axis, that is, take the traveling direction of the vehicle as the 0° angular direction of the polar coordinate system, and take the position where the vehicle is located as the pole to establish a polar coordinate system. Generally, the counterclockwise direction is set as the positive direction of the polar coordinate system. Finally, divide the surrounding area where the vehicle is located, that is, the preset area in the above-mentioned polar coordinate system, according to the preset angular interval and the preset radial distance interval to obtain a plurality of grid cells. Optionally, the polar coordinates of a certain point on each grid cell can be determined as the identifier of the grid cell. Optionally, the surrounding area where the vehicle is located can be a circular area centered on the vehicle with a preset radius. Optionally, the angle in the identifier of each grid cell is the azimuth angle of the grid cell relative to the vehicle.

[0121] In a possible implementation manner, during the process of dividing the preset area in the polar coordinate system according to the preset angular interval and the preset radial distance interval, the preset angular interval remains unchanged, and the preset radial distance interval remains unchanged as the value of the radial distance increases. Or the preset radial distance interval changes as the value of the radial distance increases so that the area of each grid cell is basically the same.

[0122] Exemplarily, divide the area in the polar coordinate system according to a preset angular interval of 0.5° and a preset radial distance of 0.2 m to obtain a plurality of grid cells. For example, the identifier of the grid cell is (0.2 m, 0.5°) or (0.4 m, 0.5°), etc.

[0123] Exemplarily, using a as the preset radial distance interval and θ as the preset angular interval to divide the preset area in the polar coordinate system, the following can be obtained Figure 8 a plurality of grid cells as shown. Among them, O is the pole of the polar coordinate system, that is, the position where the vehicle is located, and 0°, 90°, 180°, and 270° are the polar angles of the polar coordinate system.

[0124] Exemplarily, when the radial distance is less than or equal to 30 m, a circular area with a radius of 30 m in the polar coordinate system is divided into a plurality of grid cells according to a preset radial angle interval of 0.5° and a preset radial distance interval of 0.2 m; when the radial distance is greater than 30 m and less than or equal to 60 m, an annular area with a radius greater than 30 m and less than or equal to 60 m in the polar coordinate system is divided into a plurality of grid cells according to a preset angle interval of 0.5° and a preset radial distance interval of 0.5 m; when the radial distance is greater than 60 m, an area with a radius greater than 60 m in the polar coordinate system is divided into a plurality of grid cells according to a preset angle interval of 0.5° and a preset radial distance interval of 1 m. For example, the identifiers of the grid cells are (28.8 m, 0.5°) or (30 m, 0.5°) or (30.5 m, 0.5°) or (55.5 m, 0.5°) or (60 m, 0.5°) or (61 m, 0.5°), etc.

[0125] S702. Determine boundary grid cells according to the data collected by the sensor.

[0126] Wherein, the sensor is a sensor on the vehicle. Optionally, in another possible implementation manner, the sensor may further include a sensor outside the vehicle in addition to the sensor on the vehicle, such as a roadside sensor, or the sensor is a sensor outside the vehicle.

[0127] In a possible implementation manner, the sensor for collecting data is one or more of sensors such as a lidar sensor, a millimeter-wave radar sensor, or a vision sensor. It should be noted that by using the data collected by multiple sensors to determine the passable area of the vehicle, the method for detecting the passable area of the vehicle in this application can have good versatility, and using the data collected by multiple sensors to determine the passable area of the vehicle can further improve the accuracy of detecting the passable area of the vehicle.

[0128] Optionally, according to the data collected by the sensor, determine the position information of the obstacles in the surrounding area of the vehicle, and determine the boundary grid cells according to the position information and the plurality of grid cells obtained in the above step S701.

[0129] Taking the lidar sensor as an example, the following introduces the specific implementation process of determining the position information of the obstacles according to the data collected by the sensor in this step:

[0130] First, according to the laser line data collected by the lidar sensor, determine the coordinates of the points in the Cartesian coordinate system of the lidar sensor, that is, the coordinates of the echo points corresponding to each laser line data in the Cartesian coordinate system of the lidar sensor. Then, based on the position of the lidar sensor in the vehicle's Cartesian coordinate system, convert the coordinates of the echo points corresponding to each laser line data in the Cartesian coordinate system of the lidar sensor into the coordinates of the points in the vehicle's Cartesian coordinate system, so as to determine the position information of the obstacles in the surrounding environment of the vehicle. Among them, the position information includes the azimuth angle of the obstacle relative to the vehicle and the distance between the obstacle and the vehicle.

[0131] Exemplarily, the data collected by the lidar sensor includes multiple laser line data. Each laser line data includes the vertical direction angle β of the laser emission, the horizontal direction angle α, and the scanning distance d. Among them, the vertical direction angle β of the laser emission is the angle between the laser line and the horizontal plane where the lidar sensor is located, that is, the xoy plane of the Cartesian coordinate system of the lidar sensor. The horizontal direction angle α is the projection of the laser line on the xoy plane of the Cartesian coordinate system of the lidar sensor and the positive direction of the y-axis in the Cartesian coordinate system of the lidar sensor. The scanning distance d is the straight-line distance between the echo point on the laser line and the lidar sensor. Among them, the Cartesian coordinate system of the lidar sensor takes the position where the lidar sensor is located as the origin, takes the 0° angle direction of the laser line emitted by the lidar sensor as the positive direction of the y-axis of its Cartesian coordinate system, takes the rotation axis of the lidar as the z-axis, and takes the direction passing through the origin and perpendicular to the yoz plane as the x-axis. According to each laser line data detected by the lidar sensor and the conversion formula, such as x = sin(α)cos(β)d, y = cos(α)cos(β)d, and z = sin(β)d, to determine the coordinates of the echo point corresponding to each laser line data in the Cartesian coordinate system of the lidar sensor. Taking the position of the vehicle center point as the origin, taking the traveling direction of the vehicle as the positive x-axis, taking the direction perpendicular to the plane where the vehicle is located as the positive z-axis, and taking the straight line perpendicular to the xoz plane and passing through the origin as the y-axis, establish the vehicle's Cartesian coordinate system. According to the coordinates of the lidar sensor installation position in the vehicle sensor, determine the conversion relationship for converting the points in the Cartesian coordinate system of the lidar sensor into the points in the vehicle's Cartesian coordinate system. For example, the conversion relationship is expressed by the formula P ego =[X ego ,Y ego ,Z ego T ,P=[x,y,z] T ,P ego =R*P + t. Among them, P ego ​Indicates the coordinates of the echo point corresponding to each laser line data in the Cartesian coordinate system of the lidar sensor. P represents the coordinates of the echo point corresponding to each laser line data in the vehicle's Cartesian coordinate system, P ego = R * P + t represents the conversion relationship between P ego and P. Among them, the xoy plane of the vehicle coordinate system is the plane where the polar coordinate system mentioned in the above step S701 is located.

[0132] In a possible implementation, according to the coordinates of the echo point corresponding to the laser line data collected by the lidar sensor in the vehicle coordinate system, the height of the echo point is determined. Then the echo point is projected into the polar coordinate system to obtain the polar coordinates of the echo point, that is, the position information of the echo point relative to the vehicle, and the grid cell where the echo point is located is determined. Then, according to the height, slope, height difference, and the distance between the echo point and the vehicle of the echo points on the same azimuth angle in the polar coordinate system, it is determined whether the echo point on this azimuth angle is an obstacle and the grid cell where the obstacle is located (or the position information of the obstacle). Or methods such as conditional random field, Markov random field, or neural network can be used to combine the data collected by the lidar sensor to detect whether there is an obstacle on each azimuth angle of the polar coordinate system and determine the position information of the obstacle.

[0133] Exemplarily, taking Figure 8 the multiple grid cells shown as an example, the position information of the obstacle can be determined by using the data collected by the sensor, that is, the position of the obstacle in the multiple grid cells. The schematic diagram of the position information of the obstacle can be obtained as shown in Figure 9 shown. In Figure 9 it, the black circles 1- and black circles 6 respectively represent obstacles 1 - obstacle 6, and the identifiers of the grid cells where obstacles 1 - obstacle 6 are located are the position information of obstacles 1 - obstacle 6.

[0134] Optionally, for the same azimuth angle, if there is an obstacle on this azimuth angle, it is determined that the grid cell where the obstacle closest to the vehicle on this azimuth angle is located is the boundary grid cell.

[0135] Exemplarily, as shown in Figure 9As shown, obstacle 2 and obstacle 3 are located at the same azimuth angle. At this azimuth angle, the obstacle closest to the vehicle is obstacle 2. Obstacle 5 and obstacle 6 are located at the same azimuth angle. At this azimuth angle, the obstacle closest to the vehicle is obstacle 5. Moreover, at the azimuth angles where obstacle 1 and obstacle 4 are located, there are no other obstacles except obstacle 1 and obstacle 4. Therefore, it can be determined that the grid cells where the above-mentioned obstacle 1, obstacle 2, obstacle 4, and obstacle 5 are located are boundary grid cells. Among them, grid cells 7 - grid cell 34 are the grid cells that are the farthest from the vehicle at each azimuth angle except for the azimuth angles where obstacle 1 - obstacle 6 are located.

[0136] In a possible implementation manner, for a certain azimuth angle, if there is no obstacle at this azimuth angle, it can be determined that there is no boundary grid cell at this azimuth angle.

[0137] Alternatively, in another possible implementation manner, for the same azimuth angle, if there is an obstacle at this azimuth angle, it is determined that the grid cell where the obstacle closest to the vehicle at this azimuth angle is located is the boundary grid cell; if there is no obstacle at this azimuth angle, it is determined that the grid cell that is the farthest from the vehicle at this azimuth angle is the boundary grid cell.

[0138] Exemplarily, taking Figure 9 as an example, if, at the azimuth angle where there is no obstacle, the grid cell that is the farthest from the vehicle is used as the boundary grid cell, then in addition to the grid cells where obstacle 1, obstacle 2, obstacle 4, and obstacle 5 are located, the boundary grid cells also include grid cells 7 - grid cell 34.

[0139] In the following example, taking that there is a boundary grid cell at each azimuth angle in the polar coordinate system, and this boundary grid cell is the grid cell where the obstacle closest to the vehicle at its azimuth angle is located, or the grid cell that is the farthest from the vehicle at its azimuth angle as an example, the embodiments of the present application are described.

[0140] S703. Determine a target boundary grid cell according to at least two boundary grid cells.

[0141] Among them, the target boundary grid cell is the grid cell where the boundary of the passable area of the vehicle is located.

[0142] Optionally, a target boundary grid cell is determined according to the distance between a first boundary grid cell and a second boundary grid cell. The first boundary grid cell is any one of the at least two boundary grid cells described above. The distance between the second boundary grid cell and the vehicle is less than or equal to the distance between the first boundary grid cell and the vehicle. And in a preset direction, that is, in the counterclockwise direction or the clockwise direction, the second boundary grid cell is the boundary grid cell closest to the first boundary grid cell among the other boundary grid cells except the first boundary grid cell. That is to say, each first boundary grid cell has a unique corresponding second boundary grid cell.

[0143] Exemplarily, taking Figure 9 as an example, the arrow direction shown in the figure indicates that the preset direction is the counterclockwise direction. If the boundary grid cell where the obstacle 2 is located is used as the first boundary grid cell, it can be determined that the distance between the boundary grid cell where the obstacle 1 is located and the vehicle is equal to the distance between the first boundary grid cell and the vehicle, and the boundary grid cell where the obstacle 1 is located is the boundary grid cell closest to the first boundary grid cell in the counterclockwise direction. Therefore, the boundary grid cell where the obstacle 1 is located is the second boundary grid cell corresponding to the first boundary grid cell. For the same reason as above, if the boundary grid cell where the obstacle 5 is located is used as the first boundary grid cell, it can be determined that the boundary grid cell where the obstacle 4 is located is the second boundary grid cell corresponding to the first boundary grid cell.

[0144] In a possible implementation, the target boundary grid cell is determined by comparing the distance between the first boundary grid cell and the second boundary grid cell with a preset distance threshold. The preset distance threshold is the vehicle width, or another value greater than the vehicle width determined according to the vehicle width, and the preset distance threshold is determined by the user or the execution entity of this method.

[0145] Since the preset distance threshold is determined according to the vehicle width, when determining the target boundary grid cell according to the preset distance threshold, the areas where the actual vehicle cannot pass can be excluded as much as possible, thereby improving the accuracy of detecting the vehicle-passable area.

[0146] In a possible implementation, when the distance between the first boundary grid cell and the second boundary grid cell is less than or equal to a preset distance threshold, the first boundary grid cell, the second boundary grid cell, and the third boundary grid cell are determined as target boundary grid cells. Among them, the distance between the third boundary grid cell and the vehicle is equal to the distance between the first boundary grid cell and the vehicle, and the third boundary grid cell is located between the first boundary grid cell and the second boundary grid cell in a preset direction. When the distance between the first boundary grid cell and the second boundary grid cell is greater than the preset distance threshold, the first boundary grid cell and the second boundary grid cell are determined as target boundary grid cells.

[0147] That is to say, if the distance between the first boundary grid cell and the second boundary grid cell is less than or equal to the preset distance threshold, before determining the target boundary grid cells, it is necessary to first determine the third boundary grid cell according to the first boundary grid cell and the second boundary grid cell, and then determine the first boundary grid cell, the second boundary grid cell, and the third boundary grid cell as target boundary grid cells.

[0148] Exemplarily, taking Figure 9 as an example, as Figure 10 shown, if the boundary grid cell where the obstacle 4 is located is taken as the first boundary grid cell, the boundary grid cell where the obstacle 2 is located can be determined as the second boundary grid cell corresponding to the first boundary grid cell, and the distance between the first boundary grid cell and the second boundary grid cell is d. In Figure 10 , the distance between the grid cell 35 and the vehicle is equal to the distance between the first boundary grid cell and the vehicle, that is, the distance between the boundary grid cell where the obstacle 4 is located and the vehicle, and the grid cell 35 is located between the first boundary grid cell and the second boundary grid cell in a preset direction (counterclockwise). Since the grid cell 35 is the third boundary grid cell, similarly, the grid cell 36 and the grid cell 37 are both third boundary grid cells. If d is less than or equal to the preset distance threshold, the first boundary grid cell, the second boundary grid cell, and the third boundary grid cells 35, 36, and 37 in this example are determined as target boundary grid cells. If d is greater than the preset distance threshold, only the first boundary grid cell and the second boundary grid cell in this example are determined as target boundary grid cells.

[0149] In a possible implementation, the distance between the first boundary grid cell and the second boundary grid cell can be a straight-line distance or an arc distance. Among them, the arc distance is an arc on a circle formed with the distance between the first boundary grid cell and the vehicle as the radius and the pole as the center of the circle, and the two end points of the arc are the two closest end points on the first boundary grid cell and the second boundary grid cell.

[0150] Exemplarily, take Figure 10 as an example. As Figure 11 shown, take the boundary grid cell where obstacle 4 is located as the first boundary grid cell, and determine the boundary grid cell where obstacle 2 is located as the second boundary grid cell corresponding to the first boundary grid cell. Circle a is a circle with the distance between the first boundary grid cell and the vehicle as the radius and the pole as the center, so that the distance between the first boundary grid cell 4 and the second boundary grid cell can be determined as d or d'. Among them, d' is the arc distance, d is the straight-line distance, d' is an arc on circle a, and this arc connects the two endpoints with the shortest distance on the first boundary grid cell and the second boundary grid cell.

[0151] Among them, the preset distance thresholds for comparing with the straight-line distance or the arc distance are different. For example, the preset distance threshold for comparing with the straight-line distance is the first preset distance threshold, and the preset distance threshold for comparing with the straight-line distance is the second preset distance threshold.

[0152] It should be noted that through the above process, if the distance between the first boundary grid cell and the second boundary grid cell is less than or equal to the preset distance threshold, it means that the distance between the vehicle and the first boundary grid cell and the second boundary grid cell is too small, and the vehicle cannot pass. Determine the first boundary grid cell, the second boundary grid cell, and the third boundary grid cell as the target boundary grid cells, which also means cutting the area formed by the boundary grid cells, so as to eliminate the area where the vehicle actually cannot pass, and improve the accuracy of detecting the passable area of the vehicle.

[0153] S704. Determine the area between the target boundary grid cell and the vehicle as the passable area of the vehicle.

[0154] Optionally, determine the area between the target boundary grid cell and the vehicle as the passable area of the vehicle, and determine the area where the grid cells with a distance greater than the first distance from the vehicle as the non-passable area of the vehicle. Among them, the first distance is the distance between the target boundary grid cell and the vehicle. According to the passable area and the non-passable area of the vehicle, a grid map can be generated. This grid map can also be called an occupancy grid map (OGM). This grid map can more intuitively represent the passable area and the non-passable area of the vehicle, and is convenient for users to view the passable area and the non-passable area of the vehicle.

[0155] Generally, take the lower boundary of the target boundary grid cell, that is, the boundary on the side of the target boundary grid cell close to the vehicle, as the boundary of the passable area of the vehicle. Then the area between this boundary and the vehicle is the passable area of the vehicle, and the other side of this boundary, that is, the side far from the vehicle, is the non-passable area of the vehicle.

[0156] Exemplarily, as Figure 12 shown, after undergoing the above steps S701 - S703, it is determined that the target boundary grid cells include grid cells 1 - 32. The shaded part in the figure is the area where the vehicle cannot pass, and the area between the non - shaded part, i.e., the target grid cells and the vehicle, is the area where the vehicle can pass.

[0157] Exemplarily, taking Figure 12 the boundary between the area where the vehicle can pass and the area where the vehicle cannot pass shown as an example, the grid map used to represent the area where the vehicle can pass and the area where the vehicle cannot pass can also be in the form as Figure 13 shown. The black area in the figure is used to represent the area where the vehicle cannot pass, point A represents the vehicle, the white grid area is used to represent the area where the vehicle can pass, and the line is used to represent projecting the boundary between the area where the vehicle can pass and the area where the vehicle cannot pass of Figure 12 the vehicle onto the grid shown in Figure 13 to obtain the boundary of the area where the vehicle can pass finally.

[0158] Through the above process, the present application can determine at least two boundary grid cells from multiple grid cells, and then determine the target boundary grid cells based on these at least two boundary grid cells to update the boundary grid cells and obtain the target boundary grid cells. And by determining the area between the target boundary grid cells and the vehicle as the area where the vehicle can pass, the area between the boundary grid cells and the vehicle can be clipped using the target boundary grid cells to remove the areas where the vehicle actually cannot pass, improving the accuracy of detecting the area where the vehicle can pass.

[0159] The present application also provides a method for detecting the area where the vehicle can pass. During the execution of step S702, first, the data collected by the sensor is screened to remove the data inside the vehicle (including the vehicle shell) collected by the sensor. Then, based on the external data collected by the sensor that has passed the screening, that is, the data outside the vehicle itself collected by the sensor, the position information of the obstacles around the vehicle is determined. Finally, based on the position information of the obstacles around the vehicle, the boundary grid cells are determined.

[0160] Through the above process, the data inside the vehicle shell collected by the sensor is excluded, avoiding determining the grid cell where a certain point on the vehicle or the vehicle shell is located as the grid cell where the obstacle is located, thereby reducing the possibility of taking a certain point on the vehicle as the boundary of the area where the vehicle can pass and improving the accuracy of detecting the area where the vehicle can pass.

[0161] Optionally, in a possible implementation, after determining the boundary grid cells in step S702, the distances between the boundary grid cells at each azimuth angle and the vehicle are used as array elements and stored in a one-dimensional boundary array in accordance with a preset direction. Then, after determining the target boundary grid cells in step S703, the array elements in the one-dimensional boundary array are updated according to the distances between the target boundary grid cells at each azimuth angle and the vehicle. Through this one-dimensional boundary array, the user can more conveniently view the distances that the vehicle can travel at each of its azimuth angles.

[0162] Among them, the preset direction is the counterclockwise direction or the clockwise direction. Generally, the order of the positive direction of the polar coordinate system, that is, the counterclockwise direction, is selected as the order for storing array elements in this one-dimensional boundary array. Among them, the number of array elements in the one-dimensional boundary array is the same as the number of azimuth angles obtained when dividing the grid cells at a preset angle interval.

[0163] Exemplarily, if the preset angle interval is 0.5°, then the one-dimensional boundary array contains 360° / 0.5° = 720 array elements. The distances between the boundary grid cells and the vehicle are used as array elements and stored in the one-dimensional boundary array in the counterclockwise direction. The subscripts of the array elements in this one-dimensional boundary array are 0 to 719. As shown in Table 1, each array element can be represented by a 0 ~a 719 For example, a 0 = 5m, a 1 = 60m, a 2 = 5m, a 3 = 80m,..., a 719 = 8m.

[0164] <![CDATA[a 0 > <![CDATA[a 1 > <![CDATA[a 2 > <![CDATA[a 3 > …… <![CDATA[a 719 > 5m 60m 5m 80m …… 8m

[0165] As described in step S702 above, in another possible implementation, for the same azimuth angle, if there is an obstacle at this azimuth angle, then the grid cell where the obstacle closest to the vehicle is located at this azimuth angle is determined as the boundary grid cell at this azimuth angle; if there is no obstacle at this azimuth angle, then it is determined that there is no boundary grid cell at this azimuth angle. At this time, for the azimuth angle without a boundary grid cell, the farthest distance that can be monitored at this azimuth angle can be used as an array element and stored in the one-dimensional boundary array, or infinity INF can be used as the array element at this azimuth angle and stored in the one-dimensional boundary array, or no array element is stored at this azimuth angle.

[0166] Exemplarily, if the preset angular interval is 5°, then the one-dimensional boundary array contains 360° / 5° = 72 array elements. The distances between the boundary grid cells and the vehicle are used as array elements in the counterclockwise direction and stored in the one-dimensional boundary array. The subscripts of the array elements in this one-dimensional boundary array are 0 to 71. As shown in Table 2, each array element can be represented by a 0 ~a 71 where there are no boundary grid cells at the azimuth angles corresponding to the array elements a 1 and a 71 , and the maximum detectable distances at the direction angles corresponding to a1 and a 71 are 100 m. Therefore, the values of a 1 and a 71 can be 100 m. For example, a 0 = 5 m, a 1 = 100 m, a 2 = 5 m, a 3 = 80 m,..., a 71 = 100 m.

[0167] <![CDATA[a 0 > <![CDATA[a 1 > <![CDATA[a 2 > <![CDATA[a 3 > …… <![CDATA[a 71 > 5m 100m 5m 80m …… 100m

[0168] Exemplarily, if the preset angular interval is 5°, then the one-dimensional boundary array contains 360° / 5° = 72 array elements. The distances between the boundary grid cells and the vehicle are used as array elements in the counterclockwise direction and stored in the one-dimensional boundary array. The subscripts of the array elements in this one-dimensional boundary array are 0 to 71. As shown in Table 3, each array element can be represented by a 0 ~a 71 where there are no boundary grid cells at the azimuth angles corresponding to the array elements a 1 and a 71 . Therefore, the array elements a 1 and a 71 are not stored in the one-dimensional boundary array. For example, a 0 = 5 m, a 2 = 5 m, a 3 = 80 m,..., a 70 = 10 m.

[0169] <![CDATA[a 0 > <![CDATA[a 1 > <![CDATA[a 2 > <![CDATA[a 3 > …… <![CDATA[a 70 > <![CDATA[a 71 > 5m 5m 80m …… 10m

[0170] Exemplarily, taking Table 3 as an example, the two boundary grid cells at the azimuth angles corresponding to a0 and a2 can be used as the first boundary grid cell and the second boundary grid cell respectively. If the distance between the first boundary grid cell and the second boundary grid cell is less than or equal to the preset distance threshold, then the first boundary grid cell, the second boundary grid cell, and the third boundary grid cell are determined as the target boundary grid cells. Among them, the third boundary grid cell is at the azimuth angle corresponding to a2 and has the same distance from the first boundary grid cell to the vehicle. Then, the one-dimensional boundary array updated according to the distance between the target boundary grid cell and the vehicle is shown in Table 4 below.

[0171] <![CDATA[a 0 > <![CDATA[a 1 > <![CDATA[a 2 > <![CDATA[a 3 > …… <![CDATA[a 70 > <![CDATA[a 71 > 5m 5m 5m 80m …… 10m

[0172] Through the above process, taking the distance between the target boundary grid cell and the vehicle as an array element and storing it in the one-dimensional boundary array, the boundary of the passable area of the vehicle at each of its azimuth angles can be simply and intuitively reflected by this one-dimensional boundary array.

[0173] Optionally, in a possible implementation manner, in order to reduce the situation of losing some boundary grid cells during the process of determining the target boundary grid cell based on at least two boundary grid cells, that is, the situation where some boundary grid cells that should be processed are actually not processed. This application proposes a solution to establish multiple concentric circles with the pole as the center and the distance between the boundary grid cell and the vehicle as the radius. According to the size of the radius and the preset direction, each boundary grid cell is used as the first boundary grid cell to determine its corresponding second boundary grid cell, and the target boundary grid cell is determined according to the distance between the first boundary grid cell and the second boundary grid cell and the preset distance threshold.

[0174] Exemplarily, taking Figure 10 as an example, 3 concentric circles (i.e., the circles formed by the solid lines shown in the figure), namely concentric circle a, concentric circle b, and concentric circle c, can be determined according to the boundary grid cells where obstacles 1, 2, 4, and 5 are located, and boundary grid cells 7 - 34, as shown in Figure 14As shown. The target boundary grid cells are determined according to the radii of the concentric circles and a preset distance threshold. That is, in the order of the radii of the concentric circles from small to large, the boundary grid cells on concentric circle a, concentric circle b, and concentric circle c are analyzed in sequence. For the boundary grid cells where obstacle 1, obstacle 2, and obstacle 4 are located on concentric circle a, any one of them can be first determined as the first boundary grid cell. Taking the boundary grid cell where obstacle 1 is located as the first boundary grid cell as an example, with the preset direction being counterclockwise, the second boundary grid cell corresponding to this first boundary grid cell is the boundary grid cell where obstacle 4 is located. If the distance between this first boundary grid cell and the second boundary grid cell is greater than the preset distance threshold, then this first boundary grid cell and the second boundary grid cell are determined as the target boundary grid cells. Then, taking the boundary grid cell where obstacle 4 is located as the first boundary grid cell, with the preset direction being counterclockwise, the second boundary grid cell corresponding to this first boundary grid cell is the boundary grid cell where obstacle 2 is located. If the distance between this first boundary grid cell and the second boundary grid cell is greater than the preset distance threshold, then this first boundary grid cell and the second boundary grid cell are determined as the target boundary grid cells. Finally, taking the boundary grid cell where obstacle 2 is located as the first boundary grid cell, with the preset direction being counterclockwise, the boundary grid cell where obstacle 1 is located is the second boundary grid cell corresponding to this first boundary grid cell. If the distance between this first boundary grid cell and the second boundary grid cell is less than or equal to the preset distance threshold, grid cell E is in the preset direction of this first boundary grid cell, between this first boundary grid cell and the second boundary grid cell, and the distance between grid cell E and the vehicle is equal to the distance between this first grid cell and the vehicle, then this grid cell E is the third boundary grid cell. The first boundary grid cell, the second boundary grid cell, and the third boundary grid cell are determined as the target boundary grid cells. At this time, the process of determining the target boundary grid cells based on the boundary grid cells on concentric circle a ends. Next, in the same way, the target boundary grid cells are determined based on the boundary grid cells on concentric circle b and concentric circle c.

[0175] In a possible implementation, if the distance between the first boundary grid cell and the second boundary grid cell is less than or equal to a preset distance threshold, then the first boundary grid cell, the second boundary grid cell, and a third boundary grid cell determined according to the first boundary grid cell and the second boundary grid cell are determined as target boundary grid cells. Among the previously determined boundary grid cells, there may be a boundary grid cell with the same azimuth angle as the third boundary grid cell. At this time, when subsequently determining the target boundary grid cell based on the boundary grid cell, the boundary grid cell with the same azimuth angle as the third boundary grid cell may not be considered, or the boundary grid cell with the same azimuth angle as the third boundary grid cell may be marked as not to be processed, so as to reduce the workload in the process of determining the target boundary grid cell, improve the efficiency of determining the target boundary grid cell, and further improve the efficiency of detecting the vehicle passable area.

[0176] Exemplarily, in the previous example, that is, in Figure 14 , the boundary grid cell 9 and the third boundary grid cell E are at the same azimuth angle, and the distance between the boundary grid cell 9 and the vehicle is greater than the distance between the third boundary grid cell E and the vehicle. The boundary grid cell 9 is marked as not to be processed. When subsequently determining the target boundary grid cell based on the boundary grid cells on the concentric circle c, the boundary grid cell 9 is no longer processed.

[0177] In a possible implementation, when the distance between the first boundary grid cell and the second boundary grid cell is less than or equal to the preset distance threshold, if there is no qualified third boundary grid cell between the first boundary grid cell and the second boundary grid cell, then the first boundary grid cell and the second boundary grid cell are directly determined as target boundary grid cells.

[0178] It should be noted that if the number of boundary grid cells determined in the above step S702 is 1, and no boundary grid cell is determined at the azimuth angle without obstacles, then the grid cell located at the same azimuth angle as this boundary grid cell and with a distance from the vehicle greater than the distance between this boundary grid cell and the vehicle, and this boundary grid cell can be directly determined as an impassable grid cell, that is, the impassable area of the vehicle. That is to say, except for the above-mentioned impassable grid cells, the areas where other grid cells are located are the passable areas of the vehicle. If the number of boundary grid cells determined in the above step S702 is 0, and no boundary grid cell is determined at the azimuth angle without obstacles, then the entire area around the vehicle, that is, the preset area, is the passable area of the vehicle.

[0179] Embodiments of the present application can divide the device for detecting the vehicle passable area into functional modules according to the above method examples. When each functional module is divided according to the corresponding functions,Figure 15 Shows a possible structural schematic diagram of the device for detecting the vehicle passable area involved in the above embodiments. The device includes a processing unit 1501, a determination unit 1502, and a generation unit 1503. Of course, the device for detecting the vehicle passable area may also include other modules, or the device for detecting the vehicle passable area may include fewer modules.

[0180] The processing unit 1501 is configured to determine at least two boundary grid cells from a plurality of grid cells. The at least two boundary grid cells are the grid cells where the obstacles closest to the vehicle in the same azimuth are located. The plurality of grid cells are obtained by dividing the surrounding area where the vehicle is located.

[0181] Optionally, before the processing unit 1501 is configured to determine at least two boundary grid cells from a plurality of grid cells, the processing unit 1501 is configured to determine the position information of the obstacles around the vehicle.

[0182] In a possible implementation, the processing unit 1501 is configured to determine the position information of the obstacles around the vehicle, including: the processing unit 1501 is configured to determine the position information of the obstacles around the vehicle according to the external data collected by the sensors on the vehicle. Wherein, the external data refers to the data outside the vehicle collected by the sensors.

[0183] In a possible implementation, the above sensors include one or more of lidar, millimeter-wave radar, or vision sensors.

[0184] The processing unit 1501 is further configured to determine a target boundary grid cell according to the at least two boundary grid cells. The target boundary grid cell refers to the grid cell where the boundary of the vehicle passable area is located.

[0185] Optionally, the processing unit 1501 is configured to determine a target boundary grid cell according to the at least two boundary grid cells, including: the processing unit 1501 is configured to determine the target boundary grid cell according to the distance between the first boundary grid cell and the second boundary grid cell. Wherein, the first boundary grid cell is any one of the at least two boundary grid cells, the distance between the second boundary grid cell and the vehicle is less than or equal to the distance between the first boundary grid cell and the vehicle, and the second boundary grid cell is the closest to the first boundary grid cell in the preset direction.

[0186] In a possible implementation, the above preset direction is the clockwise direction or the counterclockwise direction.

[0187] Optionally, a processing unit 1501 is configured to determine a target boundary grid cell according to the distance between a first boundary grid cell and a second boundary grid cell, including: the processing unit 1501 is configured to determine the target boundary grid cell by comparing the distance between the first boundary grid cell and the second boundary grid cell with a preset distance threshold.

[0188] In a possible implementation, the processing unit 1501 is configured to determine the target boundary grid cell by comparing the distance between the first boundary grid cell and the second boundary grid cell with a preset distance threshold, including: when the distance between the first boundary grid cell and the second boundary grid cell is less than or equal to the preset distance threshold, the processing unit 1501 is configured to determine the first boundary grid cell and the second boundary grid cell as the target boundary grid cells. Wherein, the distance between a third boundary grid cell and the vehicle is equal to the distance between the first boundary grid cell and the vehicle, and the third boundary grid cell is located between the first boundary grid cell and the second boundary grid cell in a preset direction. When the distance between the first boundary grid cell and the second boundary grid cell is greater than the preset distance threshold, the processing unit 1501 is configured to determine the first boundary grid cell and the second boundary grid cell as the target boundary grid cells.

[0189] In a possible implementation, after the processing unit 1501 is configured to determine the target boundary grid cell according to at least two boundary grid cells, a generating unit 1503 is configured to generate a grid map according to the passable area and the non-passable area of the vehicle. Wherein the non-passable area refers to the area where the grid cells with a distance greater than a first distance from the vehicle are located, and the first distance refers to the distance between the target boundary grid cell and the vehicle.

[0190] A determining unit 1502 is configured to determine the area between the target boundary grid cell and the vehicle as the passable area of the vehicle.

[0191] For the specific working process of the server or device described above, reference may be made to the corresponding process in the foregoing method embodiment, which will not be elaborated herein.

[0192] An embodiment of the present application provides a computer-readable storage medium storing one or more programs, where the one or more programs include instructions that, when executed by a computer, cause the computer to execute the method for detecting the passable area of a vehicle described in steps S701-S704 of the foregoing embodiment.

[0193] An embodiment of the present application further provides a computer program product containing instructions that, when running on a computer, cause the computer to execute the method for detecting the passable area of a vehicle executed in steps S701-S704 of the foregoing embodiment.

[0194] An embodiment of the present application provides a device for detecting a passable area of a vehicle, including a processor and a memory; wherein, the memory is used to store computer program instructions, and the processor is used to run the computer program instructions so that the device for detecting the passable area of the vehicle executes the method for detecting the passable area of the vehicle performed in steps S701 - S704 of the above embodiment.

[0195] Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the above-described systems, devices, and units can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.

[0196] If the above functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.

[0197] The above is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be covered by the protection scope of the present application.

Claims

1. A method for detecting a passable area of a vehicle, characterized in that, the method includes: determining at least two boundary grid cells from a plurality of grid cells, where the at least two boundary grid cells are the grid cells where obstacles closest to the vehicle are located at the same azimuth angle, and the plurality of grid cells are obtained by dividing the surrounding area where the vehicle is located; determining a target boundary grid cell according to the distance between a first boundary grid cell and a second boundary grid cell; wherein, the first boundary grid cell is any one of the at least two boundary grid cells, the distance between the second boundary grid cell and the vehicle is less than or equal to the distance between the first boundary grid cell and the vehicle, and the second boundary grid cell is closest to the first boundary grid cell in a preset direction, and the target boundary grid cell refers to the grid cell where the boundary of the passable area of the vehicle is located; determining the area between the target boundary grid cell and the vehicle as the passable area of the vehicle.

2. The method for detecting a passable area of a vehicle according to claim 1, characterized in that, the determining a target boundary grid cell according to the distance between a first boundary grid cell and a second boundary grid cell includes: determining the target boundary grid cell by comparing the distance between the first boundary grid cell and the second boundary grid cell with a preset distance threshold.

3. The method according to claim 2, characterized in that, the determining a target boundary grid cell by comparing the distance between the first boundary grid cell and the second boundary grid cell with a preset distance threshold includes: when the distance between the first boundary grid cell and the second boundary grid cell is less than or equal to the preset distance threshold, determining the first boundary grid cell, the second boundary grid cell, and a third boundary grid cell as the target boundary grid cell; the distance between the third boundary grid cell and the vehicle is equal to the distance between the first boundary grid cell and the vehicle, and the third boundary grid cell is located between the first boundary grid cell and the second boundary grid cell in the preset direction; when the distance between the first boundary grid cell and the second boundary grid cell is greater than the preset distance threshold, determining the first boundary grid cell and the second boundary grid cell as the target boundary grid cell.

4. The method for detecting a passable area of a vehicle according to any one of claims 1-3, characterized in that, after determining the target boundary grid cell, the method further includes: generating a grid map according to the passable area and non-passable area of the vehicle; wherein, the non-passable area refers to the area where grid cells with a distance greater than a first distance from the vehicle are located, and the first distance refers to the distance between the target boundary grid cell and the vehicle.

5. The method for detecting a passable area of a vehicle according to any one of claims 1-3, characterized in that, before determining at least two boundary grid cells from a plurality of grid cells, the method further includes: Determine the position information of obstacles around the vehicle.

6. The method for detecting a passable area of a vehicle according to claim 5, wherein, the determining the position information of obstacles around the vehicle includes: determining the position information of obstacles around the vehicle according to external data collected by sensors on the vehicle, where the external data refers to data outside the vehicle collected by the sensors.

7. The method for detecting a passable area of a vehicle according to claim 6, wherein, the sensors include one or more of a lidar, a millimeter-wave radar, or a vision sensor.

8. The method for detecting a passable area of a vehicle according to any one of claims 1-3, wherein, the preset direction is a clockwise direction or a counterclockwise direction.

9. A device for detecting a passable area of a vehicle, wherein, the device includes: a processing unit configured to determine at least two boundary grid cells from a plurality of grid cells, the at least two boundary grid cells being grid cells where obstacles closest to the vehicle are located at the same azimuth angle, and the plurality of grid cells are obtained by dividing the surrounding area where the vehicle is located; a processing unit configured to determine a target boundary grid cell according to the distance between a first boundary grid cell and a second boundary grid cell; wherein, the first boundary grid cell is any one of the at least two boundary grid cells, the second boundary grid cell is at a distance less than or equal to the distance between the first boundary grid cell and the vehicle, and the second boundary grid cell is closest to the first boundary grid cell in a preset direction, and the target boundary grid cell refers to the grid cell where the boundary of the passable area of the vehicle is located; a determining unit configured to determine the area between the target boundary grid cell and the vehicle as the passable area of the vehicle.

10. The device for detecting a passable area of a vehicle according to claim 9, wherein, the processing unit configured to determine a target boundary grid cell according to the distance between a first boundary grid cell and a second boundary grid cell includes: the processing unit configured to determine the target boundary grid cell by comparing the distance between the first boundary grid cell and the second boundary grid cell with a preset distance threshold.

11. The device for detecting a passable area of a vehicle according to claim 10, wherein, the processing unit configured to determine the target boundary grid cell by comparing the distance between the first boundary grid cell and the second boundary grid cell with a preset distance threshold includes: The processing unit is configured to determine the first boundary grid cell, the second boundary grid cell, and the third boundary grid cell as the target boundary grid cells when the distance between the first boundary grid cell and the second boundary grid cell is less than or equal to the preset distance threshold; the distance between the third boundary grid cell and the vehicle is equal to the distance between the first boundary grid cell and the vehicle, and the third boundary grid cell is located between the first boundary grid cell and the second boundary grid cell in the preset direction. The processing unit is configured to determine the first boundary grid cell and the second boundary grid cell as the target boundary grid cells when the distance between the first boundary grid cell and the second boundary grid cell is greater than the preset distance threshold.

12. The device for detecting a passable area of a vehicle according to any one of claims 9-11, wherein, after the processing unit determines the target boundary grid cells, the device further includes: a generating unit, configured to generate a grid map according to the passable area and the non-passable area of the vehicle; wherein, the non-passable area refers to the area where the grid cells with a distance greater than the first distance from the vehicle are located, and the first distance is the distance between the target boundary grid cell and the vehicle.

13. The device for detecting a passable area of a vehicle according to any one of claims 9-11, wherein, before the processing unit is configured to determine at least two boundary grid cells from a plurality of grid cells, the device further includes: a processing unit, configured to determine the position information of the obstacles around the vehicle.

14. The device for detecting a passable area of a vehicle according to claim 13, wherein, the processing unit is configured to determine the position information of the obstacles around the vehicle, including: the processing unit is configured to determine the position information of the obstacles around the vehicle according to the external data collected by the sensors on the vehicle, wherein the external data refers to the data outside the vehicle collected by the sensors.

15. The device for detecting a passable area of a vehicle according to claim 14, wherein, the sensors include one or more of lidar, millimeter wave radar, or vision sensors.

16. The device for detecting a passable area of a vehicle according to any one of claims 9-11, wherein, the preset direction is the clockwise direction or the counterclockwise direction.

17. A device for detecting a passable area of a vehicle, wherein, comprising: a processor and a memory; wherein, the memory is used to store computer program instructions, and the processor runs the computer program instructions so that the device for detecting a passable area of the vehicle executes the method for detecting a passable area of a vehicle according to any one of claims 1-8.

18. A computer-readable storage medium, wherein, comprising computer instructions, when the computer instructions are run by a processor, the device for detecting a passable area of a vehicle is caused to execute the method for detecting a passable area of a vehicle according to any one of claims 1-8.

19. A computer program product, characterized in that, when the computer program product runs on a processor, it causes a device for detecting a passable area of a vehicle to execute the method for detecting a passable area of a vehicle according to any one of claims 1-8.

Citation Information

Patent Citations

  • Method for processing three-dimensional lidar data of multiple obstacles

    CN110208819A