A method, device, equipment and storage medium for screening obstacles

By screening and marking the crushable obstacles of the vehicle in the autonomous driving mode, the problem of inefficiency in the prior art is solved, and more efficient and safe obstacle avoidance operations are achieved.

CN114889652BActive Publication Date: 2025-05-30GUANGZHOU WERIDE TECH LTD CO
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210753476.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-28
Publication Date
2025-05-30
Estimated Expiration
2042-06-28

AI Technical Summary

Technical Problem

The prior art is inefficient in identifying crushing obstacles in the autonomous driving mode, resulting in unnecessary obstacle avoidance actions, affecting the driving safety and efficiency of the vehicle.

Method used

By receiving the perception data uploaded by the vehicle, obstacles located in the road when performing obstacle avoidance operations are selected, obstacles located in front of the vehicle and not belonging to non-clogged objects are further selected, mark them as crushable objects, and unmarked perception data are filtered out.

Benefits of technology

It improves the efficiency of identifying crushed obstacles, reduces unnecessary obstacle avoidance actions, and improves the safety and efficiency of the vehicle in autonomous driving mode.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114889652B_ABST
    Figure CN114889652B_ABST
Patent Text Reader

Abstract

The present invention discloses a method, device, equipment and storage medium for screening obstacles. The method includes: receiving perception data uploaded by a vehicle and related to an abnormality occurring in the autonomous driving mode, where the perception data is data detected by the vehicle on itself and the environment when driving along a road; screening out obstacles located within the road when the vehicle performs an obstacle avoidance operation from the perception data as candidates; screening out candidates located in front of the vehicle and not belonging to some non-crushable objects from the perception data to obtain target objects belonging to crushable objects; filtering out perception data without marked target objects. In this embodiment, obstacles are filtered by multiple conditions, the filtering conditions are rich, the probability that an object belongs to a crushable object can be increased, a large amount of perception data is filtered out, and thus the efficiency of identifying crushable obstacles is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of vehicle perception, and in particular, to a method, device, equipment and storage medium for screening obstacles. Background Art

[0002] When a vehicle is traveling in an autonomous driving mode, the perception module will detect obstacles around the vehicle, including crushable obstacles such as fallen leaves and plastic bags, and non-crushable obstacles such as stones, pedestrians, and cones.

[0003] For obstacles such as cars and pedestrians that are more important for autonomous driving decisions, the perception module will output detailed corresponding categories, but for obstacles such as plastic bags and stones, it will output a general category - small obstacles.

[0004] To ensure safety, when small obstacles are detected, the vehicle will brake or change lanes to avoid collision. However, for crushable obstacles such as plastic bags and small branches that do not pose a collision risk, this avoidance action is obviously unreasonable.

[0005] In order to provide more crushable small obstacles as samples and improve the detection ability of the perception module, currently, it mainly relies on manual identification of crushable obstacles. However, the proportion of crushable obstacles in the massive daily driving data is low, resulting in low manual efficiency. Summary of the Invention

[0006] The present invention provides a method, device, equipment and storage medium for screening obstacles to solve the problem of how to improve the efficiency of identifying crushable obstacles.

[0007] According to one aspect of the present invention, there is provided a method for screening obstacles, including:

[0008] Receiving perception data uploaded by the vehicle and related to an abnormality occurring in the autonomous driving mode, where the perception data is data detected by the vehicle on itself and the environment when driving along the road;

[0009] Screening out obstacles within the road when the vehicle performs an obstacle avoidance operation from the perception data as candidates;

[0010] Screening out the candidates that are in front of the vehicle and not part of non-crushable objects from the perception data to obtain target objects belonging to crushable objects;

[0011] Filtering out the perception data that does not mark the target objects.

[0012] According to another aspect of the present invention, there is provided a device for screening obstacles, including:

[0013] A perception data receiving module, configured to receive perception data uploaded by a vehicle and related to an anomaly occurring in an autonomous driving mode, where the perception data is data detected by the vehicle on itself and the environment when driving along a road;

[0014] A candidate screening module, configured to screen out obstacles within the road when the vehicle performs an obstacle avoidance operation from the perception data as candidates;

[0015] A target screening module, configured to screen out the candidates that are in front of the vehicle and not part of the partially non-crushable objects from the perception data to obtain targets that belong to crushable objects;

[0016] A perception data filtering module, configured to filter out the perception data that does not mark the targets.

[0017] According to another aspect of the present invention, there is provided an electronic device, where the electronic device includes:

[0018] At least one processor; and

[0019] A memory communicatively connected to the at least one processor; wherein,

[0020] The memory stores a computer program executable by the at least one processor, and when the computer program is executed by the at least one processor, the at least one processor is enabled to execute the obstacle screening method according to any embodiment of the present invention.

[0021] According to another aspect of the present invention, there is provided a computer-readable storage medium storing a computer program, where the computer program is used to implement the obstacle screening method according to any embodiment of the present invention when executed by a processor.

[0022] In this embodiment, perception data uploaded by a vehicle and related to an anomaly occurring in an autonomous driving mode is received, where the perception data is data detected by the vehicle on itself and the environment when driving along a road; obstacles within the road when the vehicle performs an obstacle avoidance operation are screened out from the perception data as candidates; candidates that are in front of the vehicle and not part of the partially non-crushable objects are screened out from the perception data to obtain targets that belong to crushable objects; and the perception data that does not mark the targets is filtered out. In this embodiment, obstacles are filtered by multiple conditions, the filtering conditions are rich, the probability that an object belongs to a crushable object can be increased, a large amount of perception data is filtered out, and thus the efficiency of identifying crushable obstacles is improved.

[0023] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present invention, nor is it used to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. Brief Description of the Drawings

[0024] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0025] Figure 1 is a flowchart of a method for screening obstacles provided in Embodiment 1 of the present invention;

[0026] Figure 2 is an architecture diagram of a vehicle provided in Embodiment 1 of the present invention;

[0027] Figure 3 is a schematic diagram of a road provided in Embodiment 1 of the present invention;

[0028] Figure 4 is an example diagram of a trajectory point provided in Embodiment 1 of the present invention;

[0029] Figure 5 is a schematic diagram of a coordinate system provided in Embodiment 1 of the present invention;

[0030] Figure 6 is a schematic structural diagram of an obstacle screening device provided in Embodiment 2 of the present invention;

[0031] Figure 7 is a schematic structural diagram of an electronic device for implementing the obstacle screening method of the embodiments of the present invention. Detailed Embodiments

[0032] In order to enable those skilled in the art to better understand the solutions of the present invention, the following clearly and completely describes the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, rather than all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art without creative efforts based on the embodiments of the present invention shall fall within the protection scope of the present invention.

[0033] It should be noted that the terms "first", "second", etc. in the description, claims and the above-mentioned drawings of the present invention are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It should be understood that such data used can be interchanged under appropriate circumstances, so that the embodiments of the present invention described here can be implemented in an order other than those illustrated or described here. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0034] Embodiment 1

[0035] Figure 1 As shown in the flowchart of a method for screening obstacles provided in Embodiment 1 of the present invention, this embodiment is applicable to the situation of automatically identifying potentially crushable obstacles. This method can be executed by a screening device for obstacles, and the screening device for obstacles can be implemented in the form of hardware and / or software. The screening device for obstacles can be configured in an electronic device. As Figure 1 shown, this method includes:

[0036] Step 101, receive the perception data uploaded by the vehicle and related to the anomalies occurring in the autonomous driving mode.

[0037] The vehicle in this embodiment supports autonomous driving. The so-called autonomous driving can refer to the vehicle's own ability to perceive the environment, plan the path and autonomously control the vehicle, that is, the human-like driving controlled by electronic technology.

[0038] According to the degree of grasp of the vehicle control task, autonomous driving can be divided into L0 non-automation (NoAutomotion), L1 driver assistance (Driver Assistance), L2 partial automation (Partial Automation), L3 conditional automation (Conditional Automation), L4 high automation (High Automation), L5 full automation (Full Automation).

[0039] The autonomous driving vehicle in this embodiment can refer to a vehicle that meets any of the requirements of L1-L5. Among them, the system provides an auxiliary function in L1-L3. When reaching L4, the vehicle driving will be handed over to the system. Therefore, the autonomous driving vehicle can be selected as a vehicle that meets any of the requirements of L4 and L5.

[0040] As Figure 2As shown, vehicle 200 may include a driving control device 201, a body bus 202, ECUs (Electronic Control Units) 203, 204, 205, sensors 206, 207, 208, and actuators 209, 210, 211.

[0041] The driving control device (also known as the in-vehicle brain) 201 is responsible for the overall intelligent control of the entire vehicle 200. The driving control device 201 may be a separately provided controller. For example, a CPU, a heterogeneous processor (such as a GPU, TPU, NPU, etc.), a programmable logic controller (PLC), a single-chip microcomputer, an industrial control computer, etc.; it may also be a device composed of other electronic devices with input / output ports and having arithmetic control functions; it may also be a computer device installed with vehicle driving control applications. The driving control device can analyze and process the data sent by each ECU and / or each sensor received from the body bus 202, make corresponding decisions, and send the instructions corresponding to the decisions to the body bus.

[0042] The body bus 202 may be a bus used to connect the driving control device 201, ECUs 203, 204, 205, sensors 206, 207, 208, and other devices of the vehicle 200 not shown. Since the high performance and reliability of the CAN (Controller Area Network) bus have been widely recognized, the body bus commonly used in motor vehicles is currently the CAN bus. Of course, it can be understood that the body bus can also be other types of buses.

[0043] The body bus 202 can send the instructions issued by the driving control device 201 to ECUs 203, 204, 205, and ECUs 203, 204, 205 will analyze and process the above instructions and then send them to the corresponding actuators for execution.

[0044] Sensors 206, 207, 208 include but are not limited to millimeter-wave radars, lidars, cameras, microphones, IMUs (Inertial Measurement Units), positioning chips (such as GPS (Global Positioning System) chips, Beidou chips, etc.), and so on.

[0045] It should be understood that Figure 2The numbers of vehicles, driving control devices, body buses, ECUs, actuators, and sensors in [it] are merely illustrative. According to implementation requirements, there can be any number of vehicles, driving control devices, body buses, ECUs, and sensors.

[0046] When the vehicle starts the autonomous driving mode and drives along the road, it can call each sensor to collect data, recorded as perception data, and mark the time of collection for the perception data.

[0047] In one case, the perception data is the data detected by the vehicle itself when driving along the road, for example, speed, acceleration, position information, attitude, and so on.

[0048] In another case, the perception data is the data detected by the vehicle for the environment when driving along the road, for example, image data, point cloud data, audio data, and so on.

[0049] If an abnormality occurs in the autonomous driving mode, for example, sudden braking, stopping in the middle of the road, remote personnel takeover, and so on. At this time, the vehicle can upload the perception data related to the abnormality that occurred in the autonomous driving mode to the cloud. The so-called related can refer to the self-situation and environmental situation of the perception data record related to the abnormality that occurred in the autonomous driving mode, in order to analyze the reason for the abnormality that occurred in the autonomous driving mode.

[0050] Generally, the perception data related to the abnormality that occurred in the autonomous driving mode is the perception data belonging to the context for this abnormality. The so-called context can refer to the perception data in the first time period (such as half a minute to one minute) before the time point when the abnormality occurred in terms of time, and / or the perception data in the second time period (such as half a minute to one minute) after the time point when the abnormality occurred in terms of time.

[0051] Since the crushable obstacle is one of the factors causing the abnormality, therefore, the vehicle uploading the perception data related to the abnormality that occurred in the autonomous driving mode to the cloud, rather than uploading all the perception data to the cloud, can reduce the data volume of the perception data, reduce the occupancy of the bandwidth, and reduce the computing amount of the cloud.

[0052] Step 102: Screen out the obstacles within the road when the vehicle is performing obstacle avoidance operations from the perception data as candidates.

[0053] When the vehicle is in the autonomous driving mode, it can detect the surrounding obstacles, especially small obstacles and unknown obstacles, through an obstacle detection network, rules, etc., using one or more types of perception data (such as image data, point cloud data).

[0054] The so-called small obstacles can refer to classifying obstacles into multiple categories according to volume size, and small obstacles belong to the obstacles with the smallest volume among all categories.

[0055] The information of the obstacle may include the type of the obstacle (such as a static obstacle, a dynamic obstacle, etc.), the position of the obstacle, the contour of the obstacle, the speed of the obstacle, and so on.

[0056] Among them, the structure of the obstacle detection network is not limited to the neural network designed manually, and can also be a neural network optimized by a model quantization method, a neural network searched for the characteristics of the obstacle by the NAS (Neural Architecture Search) method, and so on. This embodiment does not limit this.

[0057] The obstacles detected by the vehicle will be marked in the perception data and uploaded to the cloud together with the perception data. When the cloud analyzes the perception data, the obstacles located within the road during the obstacle avoidance operation of the vehicle are screened out from all the obstacles and recorded as candidates.

[0058] Among them, the obstacle avoidance operation may refer to the operation of avoiding obstacles, including but not limited to braking and decelerating, braking until stopping, bypassing, remote takeover, and so on.

[0059] In an embodiment of the present invention, step 102 may include the following steps:

[0060] Step 1021: Read the first sequence and / or the second sequence in the perception data.

[0061] In this embodiment, multiple accelerations and / or multiple steering wheel corner values within a preset time range (such as the first time period and / or the second time period) may be read from the perception data. The multiple accelerations are sorted in chronological order to form the first sequence egoAcclerations, and the multiple corner values are sorted in chronological order to form the second sequence steeringWheels. That is, the multiple accelerations of the vehicle are arranged in chronological order in the first sequence, and the multiple corner values of the steering wheel in the vehicle are arranged in chronological order in the second sequence.

[0062] Step 1022: Extract the locally minimum acceleration in the first sequence as the target acceleration, and / or extract the locally maximum jump of the corner value in the second sequence as the target corner amplitude.

[0063] The first sequence can reflect the braking situation of the vehicle at a certain angle, and the second sequence can reflect the turning situation of the vehicle at a certain angle. Both belong to the operations that may occur in the obstacle avoidance operation. Either one can be used arbitrarily, or they can be used in combination at the same time. This embodiment does not limit this.

[0064] Both the first sequence and the second sequence belong to continuous sequences. Conducting a global search on the first sequence and / or the second sequence does not fully conform to the actual situation of the vehicle. That is, the obstacles are not regular items on the road, and the obstacle avoidance operation is usually an instantaneous operation. The vehicle has a low probability of braking for a long time and a low probability of turning for a long time.

[0065] For the first sequence, local search can be carried out to search for the local minimum acceleration in the first sequence, denoted as the target acceleration. The target acceleration can be used to determine whether the vehicle has an instantaneous emergency brake.

[0066] Exemplarily, a first window window can be added to the first sequence from the initial acceleration and other positions of the first sequence, and the first window is slid on the first sequence according to a preset first step length step. Generally, the length of the first window is greater than the first step length.

[0067] Initialize the local maximum value maxAcc and the local minimum change value minJerk. Both the local maximum value maxAcc and the local minimum change value minJerk are variables. The local maximum value maxAcc can be initialized to 1×10 9 , and the local minimum change value minJerk can be initialized to 0.

[0068] Traverse each acceleration acc (acc ∈ egoAcclerations) in the first window in turn. Take the smaller value between the change amplitude and the local minimum change value and assign it to the local minimum change value. Among them, the change amplitude is the difference between the acceleration and the local maximum value, and take the larger value between the acceleration and the initialized local maximum value and assign it to the local maximum value.

[0069] The traversal process can be expressed as:

[0070] minJerk = min(acc - maxAcc, minJerk)

[0071] maxAcc = max(acc, maxAcc)

[0072] If each acceleration in the first window has been traversed, extract the value in the local minimum change value as the target acceleration.

[0073] For the second sequence, local search can be carried out to search for the local maximum jump (i.e., the amplitude of the fluctuation) in the second sequence, denoted as the target corner amplitude. The target corner amplitude can be used to determine whether the vehicle has an instantaneous sharp turn.

[0074] Exemplarily, a second window can be added to the second sequence at a position such as the initial corner value of the second sequence, and the second window is slid on the second sequence according to a preset second step length. Generally, the length of the second window is greater than the second step length.

[0075] Select the maximum value max(steeringWheels) and the minimum value min(steeringWheels) from all the corner values in the second window.

[0076] Subtract the corner value belonging to the minimum value from the corner value belonging to the maximum value to obtain the target corner amplitude maxsteeringWheelJump. Then, the target corner amplitude is expressed as:

[0077] maxsteeringWheelJump = max(steeringWheels) - min(steeringWheels)

[0078] Of course, the above methods for searching for the target acceleration and / or the target corner amplitude are only examples. When implementing the embodiments of the present invention, other methods for searching for the target acceleration and / or the target corner amplitude can be set according to actual situations, and the embodiments of the present invention do not limit this. In addition, in addition to the above methods for searching for the target acceleration and / or the target corner amplitude, those skilled in the art can also adopt other methods for searching for the target acceleration and / or the target corner amplitude according to actual needs, and the embodiments of the present invention do not limit this either.

[0079] Step 1023: If the target acceleration is less than a preset first threshold and / or the target corner amplitude is greater than a preset second threshold, it is determined that the vehicle performs an obstacle avoidance operation.

[0080] Applying this embodiment, the acceleration characterizing the vehicle's emergency braking can be measured in advance through experiments or other means, denoted as the first threshold. Generally, the first threshold is negative. For example, -1 m / s 2 、-1.5 m / s 2 、-2 m / s 2 , and so on. And, the jump of the corner value characterizing the vehicle's sharp turn is measured through experiments or other means, denoted as the second threshold. Generally, the second threshold can be a positive number (without direction). For example, 90°, 85°, 80°, and so on. The second threshold can also be a positive or negative number (with direction).

[0081] In this embodiment, each target acceleration can be compared with the first threshold respectively. If a certain target acceleration is less than the first threshold, it can be considered that the vehicle has an emergency braking situation within the local time range where the target acceleration is located and is performing an obstacle avoidance operation.

[0082] Compare each target cornering amplitude with the second threshold. If a certain target cornering amplitude is less than the second threshold, it can be considered that the vehicle makes a sharp turn within the local time range corresponding to the target cornering amplitude and is performing an obstacle avoidance operation.

[0083] Step 1024: Read the trajectory points of the obstacle and the vehicle from the perception data.

[0084] If it is determined that the vehicle is performing an obstacle avoidance operation, the trajectory points (i.e., coordinates) recorded by the vehicle within the local time range during the obstacle avoidance operation can be extracted from the perception data.

[0085] Step 1025: Refer to the trajectory points of the vehicle in the preset electronic map to determine whether the obstacle is located within the road.

[0086] In this embodiment, the road measurement electronic map semapInfo can be offline or real-time, that is, the electronic map has the road and its surrounding part of the environment. Write the trajectory points of the vehicle into the electronic map. Since the obstacle is detected with respect to the coordinates of the vehicle, the trajectory points of the vehicle can be converted into coordinates with respect to the electronic map, and thus it can be determined whether the obstacle is located within the road.

[0087] Exemplarily, as Figure 3 shown, call the interface in the electronic map to mark the obstacle (coordinates) targetPose and the trajectory points (coordinates) waypoint of the vehicle on the electronic map, and use algorithms such as the Euclidean distance to calculate the first distance between the obstacle and each trajectory point respectively.

[0088] Compare between the first distances. If a certain first distance is the smallest, determine the trajectory point corresponding to the first distance distToObsPose as the target point.

[0089] Calculate the sum of the numerically smallest first distance and the preset offset value offset as the offset distance, where the offset value is a constant, such as 0.25m, 0.3m, etc., which can be used to exclude obstacles near the road edge and screen obstacles located near the middle of the road.

[0090] Call the interface in the electronic map to calculate the second distance between the trajectory point and both sides of the road on the electronic map. The second distance corresponding to the left side of the road is denoted as distToLeftCrub, and the second distance corresponding to the right side of the road is denoted as distToRightCrub.

[0091] Take the minimum value among all the second distances as the reference distance, and compare the offset distance with the reference distance.

[0092] If the offset distance is less than the reference distance, it is determined that the obstacle is within the road. This condition for determining whether the obstacle is within the road is simple to calculate and fast to execute, and can be expressed as:

[0093] distToObsPos+offset<min(distToLeftCrub,distToRightCrub)

[0094] Of course, the above method for determining whether the obstacle is within the road is only an example. When implementing the embodiments of the present invention, other methods for determining whether the obstacle is within the road can be set according to actual situations. For example, the obstacle can be converted into coordinates in the coordinate system of the electronic map, and the coordinates are compared with the coordinates of the road to determine whether the obstacle is within the road, and so on. The embodiments of the present invention are not limited thereto. In addition, in addition to the above methods for determining whether the obstacle is within the road, those skilled in the art can also adopt other search methods for determining whether the obstacle is within the road according to actual needs, and the embodiments of the present invention are not limited thereto.

[0095] Step 1026: If the vehicle performs an obstacle avoidance operation and the obstacle is within the road at the same time in terms of time, mark the obstacle as a candidate.

[0096] If the vehicle performs an obstacle avoidance operation and the obstacle is within the road at the same time within the same local time range, it can be considered that the obstacle is more likely to be the cause of the vehicle's abnormality, and the obstacle can be marked as a candidate for the next step of screening.

[0097] In an embodiment of the present invention, step 102 may further include the following steps:

[0098] Step 1027: Calculate the motion curvature of the vehicle using multiple trajectory points.

[0099] During the driving process of the vehicle, multiple trajectory points are recorded according to time. These estimated points represent the trajectory of the vehicle during the formation process. The trajectory of the vehicle is generally a continuous line, especially a curve. In this embodiment, the curvature of the vehicle's trajectory can be calculated. The curvature is the rotation rate of the tangent direction angle of a point on the curve with respect to the arc length, and is defined by differentiation, indicating the degree of deviation of the curve from a straight line.

[0100] In specific implementation, the coordinates of multiple trajectory points can be converted into a polynomial with the driving time and unknown coefficients.

[0101] To enable those skilled in the art to better understand this embodiment, in this specification, a quadratic polynomial is used as an example of the polynomial for illustration.

[0102] The coordinates of the trajectory points include the x coordinate (abscissa) and the y coordinate (ordinate). The x coordinate and the y coordinate are expressed using a quadratic polynomial as follows:

[0103] x = a 1 + a 2 t + a 3 t 2

[0104] y = b 1 + b 2 t + b 3 t 2

[0105] Among them, a 1 , a 2 , a 3 , b 1 , b 2 , b 3 are all coefficients, t is the driving time. At the initial time, a 1 , a 2 , a 3 , b 1 , b 2 , b 3 , and t are all unknowns.

[0106] In cases where the frequency of collecting trajectory points is relatively stable and the third distance between trajectory points is short, it can be considered that the vehicle is moving in a uniform straight line. At this time, there is a certain equivalent relationship between the driving time between adjacent two trajectory points and the adjacent two trajectory points. Therefore, the driving time can be expressed as the third distance between adjacent two trajectory points.

[0107] Exemplarily, as Figure 4 shown, for two consecutive adjacent trajectory points (x 1 , y 1 ) and (x 2 , y 2 ), the driving time t 1 , and for (x 2 , y 2 ) and (x 3 , y 3 ), the driving time t 2 are expressed as follows:

[0108]

[0109]

[0110] Substitute the third distance into the polynomial to obtain the expression equation of the trajectory point.

[0111] Exemplarily, for the trajectory point (x 1 , y1 )、(x 2 ,y 2 )、(x 3 ,y 3 ) are expressed by the following equations:

[0112]

[0113] x 2 = a 1

[0114]

[0115]

[0116] y 2 = b 1

[0117]

[0118] Convert the expression equations into matrices so as to express the coordinates of the trajectory points in matrix form.

[0119] Exemplarily, the matrices of the trajectory points (x 1 , y 1 ), (x 2 , y 2 ), (x 3 , y 3 ) are as follows:

[0120]

[0121]

[0122] Since the coordinates of the trajectory points are known, solve the matrix under the condition of knowing the coordinates of the estimated points to obtain the coefficients.

[0123] Exemplarily, substitute the coordinates of the trajectory points (x 1 , y 1 ), (x 2 , y 2 ), (x 3 , y 3 ) into the matrix to solve the coefficients and

[0124] When the coefficients are substituted into the polynomial, take the first derivative or multiple derivatives of the polynomial according to the driving time to obtain the derivatives after the first derivative or multiple derivatives of the coordinates of the trajectory points.

[0125] Exemplarily, the derivatives are as follows:

[0126]

[0127]

[0128]

[0129]

[0130] Wherein, x' is the derivative after the first derivative of the x coordinate, x'' is the derivative after the second derivative of the x coordinate, y' is the derivative after the first derivative of the y coordinate, and y'' is the derivative after the second derivative of the y coordinate.

[0131] Substitute each derivative into the preset curvature function, and the motion curvature of the current trajectory point can be calculated based on the derivative.

[0132] Exemplarily, add the product of the second horizontal derivative and the first vertical derivative to the product of the first horizontal derivative and the second vertical derivative to obtain a first candidate value.

[0133] Add the square of the first horizontal derivative to the square of the second vertical derivative to obtain a second candidate value.

[0134] Taking the two candidate values as the base and the preset constant as the exponent, calculate a third candidate value.

[0135] Calculate the ratio between the first candidate value and the third candidate value as the motion curvature of the vehicle.

[0136] Wherein, the first horizontal derivative is the derivative x' obtained by taking the first derivative of the abscissa of the trajectory point, the second horizontal derivative is the derivative x'' obtained by taking the second derivative of the abscissa of the trajectory point, the first vertical derivative is the derivative y' obtained by taking the first derivative of the ordinate of the trajectory point, and the second vertical derivative is the derivative y'' obtained by taking the second derivative of the ordinate of the trajectory point.

[0137] Then, the process of calculating the motion curvature can be expressed as follows:

[0138]

[0139] Wherein, u is a constant, such as 3 / 2.

[0140] Of course, the above method for calculating the motion curvature of the vehicle is only an example. When implementing the embodiments of the present invention, other methods for calculating the motion curvature of the vehicle can be set according to actual situations, and the embodiments of the present invention do not limit this. In addition, in addition to the above method for calculating the motion curvature of the vehicle, those skilled in the art can also adopt other methods for calculating the motion curvature of the vehicle according to actual needs, and the embodiments of the present invention do not limit this either.

[0141] Step 1028: If the motion curvature is less than a preset third threshold, it is determined that the road is a non-turning road.

[0142] In the autonomous driving mode, the vehicle generally travels smoothly along the road. Therefore, the motion curvature of the vehicle can, to a certain extent, represent the curvature of the road (trajectory).

[0143] In this embodiment, the curvature indicating that the road is non-turning (i.e., straight or nearly straight) can be set in advance through experiments or other means, denoted as the third threshold.

[0144] Compare the motion curvature of the vehicle with the third threshold. If the motion curvature is less than the third threshold, indicating that the bend of the road is small, it can be determined that the road within the local time range where the motion curvature is located is a non-turning road.

[0145] Step 1029: If it is simultaneously satisfied in terms of time that the vehicle performs an obstacle avoidance operation, the obstacle is within the road, and the road is a non-turning road, it is determined that the candidate is valid.

[0146] If the road is a turning road, when the vehicle turns while driving along the road, generally a relatively large number of obstacles will be detected, and these obstacles mostly belong to interfering signals for screening the crushable obstacles.

[0147] Therefore, on the basis that the vehicle performs an obstacle avoidance operation and the obstacle is within the road, the condition that the road is a non-turning road can be added to screen the candidate. When all three are satisfied in terms of time, it is determined that the obstacle is a valid obstacle, thereby improving the accuracy of screening the crushable obstacles.

[0148] Step 103: According to the perception data, screen out the candidates that are in front of the vehicle and do not belong to some non-crushable objects, and obtain the target objects belonging to the crushable objects.

[0149] For the obstacles that may be crushable by the vehicle (i.e., candidates), not all of them are directly the factors causing abnormalities in the vehicle during the autonomous driving mode. Therefore, two dimensions can be added to further determine whether they are crushable objects. If the candidate is determined to be a crushable object, it can be marked as a target object.

[0150] One of the dimensions is whether the candidate is in front of the vehicle. If the candidate is in front of the vehicle, it can further increase the probability that the candidate is a direct factor causing abnormalities in the vehicle during the autonomous driving mode.

[0151] Another dimension for the candidate is whether it belongs to typical non-rollable objects. In this embodiment, some typical non-rollable objects that appear on the road, such as railings, fences, and separation columns, are pre-screened. If the candidate does not belong to these non-rollable object candidates, the probability that the candidate is the direct factor causing the vehicle to have an abnormality in the autonomous driving mode can be further increased.

[0152] In this embodiment, suitable features are selected from the perception data for these two dimensions, and these features are analyzed to screen out candidates that are in front of the vehicle and do not belong to some non-rollable objects, and obtain objects that are highly likely to belong to rollable objects.

[0153] In an embodiment of the present invention, step 103 may include the following steps:

[0154] Step 1031: Read the ground clearance and / or self-height of the candidate in the perception data.

[0155] In this embodiment, the ground clearance (feature) and / or self-height (feature) of the candidate can be calculated by combining perception data such as image data and point cloud data. Among them, the ground clearance is the distance between a reference point (such as the center or the lowest point in height) in the candidate and the road ground, and the self-height is the distance between the lowest point in height and the highest point in height of the candidate.

[0156] Due to factors such as the vehicle having a certain bump during driving, obstacles such as garbage bags moving, and noise in the sensor detection process, there will be a certain jitter for each obstacle in each frame of perception data. Therefore, the ground clearance and / or self-height of the candidate can be smoothed to improve the detection accuracy.

[0157] In a specific implementation, the ground clearance and / or self-height of the reference object can be read in the perception data, where the reference object is other obstacles adjacent to the candidate in time, such as other obstacles within 0.5 s before and after the candidate.

[0158] Perform a first smoothing operation on the ground clearance of the candidate using the ground clearance of the reference object. For example, calculate the average value between the ground clearance of the reference object and the ground clearance of the candidate as the new ground clearance of the candidate, or perform a weighted sum of the ground clearance of the reference object and the ground clearance of the candidate according to time as the new ground clearance of the candidate, and so on.

[0159] And / or,

[0160] Perform a second smoothing operation on the self-height of the candidate using the self-height of the reference object. For example, calculate the average value between the self-height of the reference object and the self-height of the candidate as the new self-height of the candidate, perform a weighted sum of the self-height of the reference object and the self-height of the candidate over time as the new self-height of the candidate, and so on.

[0161] Step 1032: Read the first position of the candidate in the map coordinate system from the perception data.

[0162] Step 1033: Convert the first position to the second position of the candidate in the vehicle's coordinate system.

[0163] In this embodiment, the perception data output by the sensor includes the first position of the candidate, and the first position belongs to the coordinates in the map coordinate system. For the convenience of comparison, after reading the first position of the candidate in the map coordinate system from the perception data, the first position can be converted to the second position in the vehicle's coordinate system.

[0164] In a specific implementation, as Figure 5 shown, assume that the vector of vehicle 501 to obstacle 502 in the map coordinate system is x, y. Read the angle θ between the orientation of vehicle 501 itself and the horizontal direction (i.e., the x-axis) in the perception data, and use the angle to set a preset rotation matrix This rotation matrix represents the rotation relationship between the map coordinate system and the coordinate system of vehicle 501.

[0165] Multiply the first position by the rotation matrix to obtain the second position of candidate 502 in the coordinate system of vehicle 501.

[0166] Step 1034: If the ground clearance of the candidate is less than a preset fourth threshold and / or the self-height of the candidate is less than a preset fifth threshold, and the second position is within a preset area, then mark the candidate as an object of interest.

[0167] In this embodiment, the distance representing the ground clearance can be set in advance through experiments or other means, denoted as the fourth threshold.

[0168] Compare the ground clearance of the candidate with the fourth threshold. If the ground clearance of the candidate is less than the fourth threshold, it means that the candidate is not a non-crushable object such as a railing.

[0169] The height representing a large-volume obstacle can be set in advance through experiments or other means, denoted as the fifth threshold.

[0170] Compare the self-height of the candidate with the fifth threshold. If the self-height of the candidate is less than the fifth threshold, it means that the candidate is not a non-crushable object such as a fence or a separator post.

[0171] In addition, an area representing the front can be set in advance through experiments or other means. This area can be represented by a directional position, which includes a longitudinal distance and a lateral distance. The longitudinal distance of this area is a positive value, and the lateral distance of this area can be a positive or negative value. The absolute value of the longitudinal distance of the area is greater than the absolute value of the lateral distance of the area. For example, the longitudinal distance is 15 meters and the lateral distance is ±2 meters.

[0172] Compare the second position with this area. If the second position is within this area, it means that the candidate object is directly in front of the vehicle.

[0173] If the candidate object meets two conditions simultaneously, one condition is that the ground clearance of the candidate object is less than a preset fourth threshold and / or the self-height of the candidate object is less than a preset fifth threshold, and the other condition is that the second position is within the preset area. Then, it can be considered that the candidate is likely to be a crushable object, and the candidate object is marked as a target object.

[0174] Step 104: Filter out the perception data of unmarked target objects.

[0175] In this embodiment, traverse the perception data frame by frame, filter out the perception data of unmarked target objects, and the remaining perception data of marked target objects. These perception data of marked target objects can be used for other services. For example, manually mark whether there are crushable objects and use them as samples to train a model for detecting crushable objects, and so on.

[0176] In this embodiment, receive the perception data uploaded by the vehicle and related to the anomalies that occur in the autonomous driving mode. The perception data is the data detected by the vehicle about itself and the environment when driving along the road; screen out the obstacles within the road when the vehicle is performing an obstacle avoidance operation from the perception data as candidate objects; screen out the candidate objects that are in front of the vehicle and do not belong to some non-crushable objects from the perception data to obtain the target objects belonging to crushable objects; filter out the perception data of unmarked target objects. This embodiment filters the obstacles through multiple conditions, with rich filtering conditions, which can increase the probability that an object belongs to a crushable object, filter out a large amount of perception data, and thus improve the efficiency of identifying crushable obstacles.

[0177] Embodiment 2

[0178] Figure 6 This is a schematic structural diagram of a screening device for obstacles provided in Embodiment 3 of the present invention. As Figure 6 shown, this device includes:

[0179] A perception data receiving module 601, configured to receive the perception data uploaded by the vehicle and related to the anomalies that occur in the autonomous driving mode, where the perception data is the data detected by the vehicle about itself and the environment when driving along the road;

[0180] The candidate screening module 602 is configured to screen out obstacles within the road when the vehicle performs an obstacle avoidance operation based on the perception data as candidates;

[0181] The target screening module 603 is configured to screen out the candidates that are in front of the vehicle and not part of the partially non-crushable objects based on the perception data to obtain targets that are crushable objects;

[0182] The perception data filtering module 604 is configured to filter out the perception data that does not mark the targets.

[0183] In an embodiment of the present invention, the candidate screening module 602 includes:

[0184] The first data reading module is configured to read a first sequence and / or a second sequence in the perception data, where a plurality of accelerations of the vehicle are arranged in the first sequence, and a plurality of steering wheel rotation angle values in the vehicle are arranged in the second sequence;

[0185] The target extraction module is configured to extract the locally minimum acceleration in the first sequence as the target acceleration, and / or extract the locally maximum jump of the rotation angle value in the second sequence as the target rotation angle amplitude;

[0186] The obstacle avoidance determination module is configured to determine that the vehicle performs an obstacle avoidance operation if the target acceleration is less than a preset first threshold and / or the target rotation angle amplitude is greater than a preset second threshold, and the first threshold is a negative number;

[0187] The second data reading module is configured to read obstacles and trajectory points of the vehicle in the perception data;

[0188] The road judgment module is configured to determine whether the obstacle is within the road by referring to the trajectory points of the vehicle in a preset electronic map;

[0189] The candidate marking module is configured to mark the obstacle as a candidate if the vehicle performs an obstacle avoidance operation and the obstacle is within the road are satisfied simultaneously in terms of time.

[0190] In an embodiment of the present invention, the target extraction module includes:

[0191] The first window sliding module is configured to add a first window to the first sequence and slide the first window on the first sequence;

[0192] The variable initialization module is configured to initialize the local maximum value and the local minimum change value;

[0193] A window traversal module, which is used to traverse each of the accelerations in the first window in sequence, assign the smaller value between the change amplitude and the local change minimum value to the local change minimum value, and assign the larger value between the acceleration and the initialized local maximum value to the local maximum value, where the change amplitude is the difference between the acceleration and the local maximum value;

[0194] A target acceleration extraction module, which is used to extract the value in the local change minimum value as the target acceleration if each of the accelerations in the first window has been traversed.

[0195] In an embodiment of the present invention, the target extraction module includes:

[0196] A second window sliding module, which is used to add a second window to the second sequence and slide the second window on the second sequence;

[0197] An extreme value selection module, which is used to select the maximum value and the minimum value from all the corner values in the second window;

[0198] A target corner amplitude extraction module, which is used to subtract the corner value belonging to the minimum value from the corner value belonging to the maximum value to obtain the target corner amplitude.

[0199] In an embodiment of the present invention, the road judgment module includes:

[0200] A trajectory point marking module, which is used to mark the obstacle and the trajectory points of the vehicle on a preset electronic map;

[0201] A first distance calculation module, which is used to calculate the first distance between the obstacle and the trajectory point;

[0202] A target point determination module, which is used to determine the trajectory point corresponding to the first distance as the target point if a certain first distance is the smallest;

[0203] An offset distance calculation module, which is used to calculate the sum value of the smallest first distance and a preset offset value as the offset distance;

[0204] A second distance calculation module, which is used to calculate the second distance between the trajectory point and both sides of the road on the electronic map;

[0205] A reference distance calculation module, which is used to take the minimum value among all the second distances as the reference distance;

[0206] A road interior determination module, which is used to determine that the obstacle is located inside the road if the offset distance is less than the reference distance.

[0207] In one embodiment of the present invention, the candidate screening module 602 further includes:

[0208] A motion curvature calculation module, configured to calculate the motion curvature of the vehicle by using a plurality of the trajectory points;

[0209] A non-turn determination module, configured to determine that the road is a non-turning road if the motion curvature is less than a preset third threshold;

[0210] A validity determination module, configured to determine that the candidate is valid if the vehicle performs an obstacle avoidance operation, the obstacle is located within the road, and the road is a non-turning road are simultaneously satisfied in terms of time.

[0211] In one embodiment of the present invention, the motion curvature calculation module includes:

[0212] A polynomial conversion module, configured to convert the coordinates of a plurality of the trajectory points into a polynomial with the travel time and unknown coefficients;

[0213] A third distance calculation module, configured to express the travel time as a third distance between two adjacent ones of the trajectory points;

[0214] A distance substitution module, configured to substitute the third distance into the polynomial to obtain an expression equation of the trajectory points;

[0215] A matrix conversion module, configured to convert the expression equation into a matrix;

[0216] A coefficient solving module, configured to solve the matrix under the condition that the coordinates of the trajectory points are known to obtain the coefficients;

[0217] A polynomial derivative calculation module, configured to perform one or more differentiations on the polynomial according to the travel time when the coefficients are substituted into the polynomial to obtain the derivative of the coordinates of the trajectory points;

[0218] A curvature determination module, configured to calculate the motion curvature of the current trajectory point based on the derivative.

[0219] In one embodiment of the present invention, the curvature determination module includes:

[0220] A first candidate value calculation module, configured to obtain a first candidate value by adding the product of a second transverse derivative and a first longitudinal derivative to the product of a first transverse derivative and a second longitudinal derivative;

[0221] A second candidate value calculation module, configured to obtain a second candidate value by adding the square of the first transverse derivative to the square of the second longitudinal derivative;

[0222] A third candidate value calculation module, configured to calculate a third candidate value with the second candidate value as the base and a preset constant as the exponent;

[0223] A ratio calculation module, configured to calculate the ratio between the first candidate value and the third candidate value as the motion curvature of the vehicle;

[0224] Wherein, the first horizontal derivative is the derivative obtained by taking the first derivative of the abscissa of the trajectory point, the second horizontal derivative is the derivative obtained by taking the second derivative of the abscissa of the trajectory point, the first vertical derivative is the derivative obtained by taking the first derivative of the ordinate of the trajectory point, and the second vertical derivative is the derivative obtained by taking the second derivative of the ordinate of the trajectory point.

[0225] In an embodiment of the present invention, the target screening module 603 includes:

[0226] A third data reading module, configured to read the ground clearance and / or the self-height of the candidate object from the perception data;

[0227] A first position reading module, configured to read the first position of the candidate object in the map coordinate system from the perception data;

[0228] A second position conversion module, configured to convert the first position into the second position of the candidate object in the coordinate system of the vehicle;

[0229] If the ground clearance of the candidate object is less than a preset fourth threshold and / or the self-height of the candidate object is less than a preset fifth threshold, and the second position is within a preset area, mark the candidate object as a target object, the longitudinal distance of the area is a positive value, and the absolute value of the longitudinal distance of the area is greater than the absolute value of the lateral distance of the area.

[0230] In an embodiment of the present invention, the second position conversion module includes:

[0231] An angle reading module, configured to read the angle between the orientation of the vehicle itself and the horizontal direction from the perception data;

[0232] A rotation matrix setting module, configured to set a rotation matrix using the angle;

[0233] A position rotation module, configured to multiply the first position by the rotation matrix to obtain the second position of the candidate object in the coordinate system of the vehicle.

[0234] In an embodiment of the present invention, the target screening module 603 further includes:

[0235] A height reading module, configured to read, from the sensing data, the ground clearance height and / or the self-height of a reference object, where the reference object is another one of the obstacles that is temporally adjacent to the candidate object;

[0236] A height smoothing module, configured to perform a first smoothing operation on the ground clearance height of the candidate object by using the ground clearance height of the reference object, and / or perform a second smoothing operation on the self-height of the candidate object by using the self-height of the reference object.

[0237] The obstacle screening device provided by an embodiment of the present invention can execute the obstacle screening method provided by any embodiment of the present invention, and has function modules and beneficial effects corresponding to the execution of the obstacle screening method.

[0238] Embodiment III

[0239] Figure 7 FIG. shows a schematic structural diagram of an electronic device 10 that can be used to implement an embodiment of the present invention. The electronic device is intended to represent various forms of digital computers, such as, a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, a personal digital processor, a cellular phone, a smart phone, a wearable device (such as a helmet, glasses, a watch, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are only examples, and are not intended to limit the implementation of the present invention described herein and / or claimed.

[0240] As Figure 7 shown, the electronic device 10 includes at least one processor 11, and a memory communicatively connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., where the memory stores a computer program executable by the at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 into the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0241] Multiple components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disc, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0242] The processor 11 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the method for screening obstacles.

[0243] In some embodiments, the method for screening obstacles can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the method for screening obstacles described above can be executed. Alternatively, in other embodiments, the processor 11 can be configured to execute the method for screening obstacles by any other suitable means (e.g., by means of firmware).

[0244] The various embodiments of the systems and technologies described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special-purpose or general-purpose programmable processor, and can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit the data and instructions to the storage system, the at least one input device, and the at least one output device.

[0245] A computer program for implementing the method of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions / operations specified in the flowchart and / or block diagram to be implemented. The computer program may be executed entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine, or entirely on the remote machine or server.

[0246] In the context of the present invention, a computer-readable storage medium may be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, the computer-readable storage medium may be a machine-readable signal medium. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0247] In order to provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0248] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected with each other by digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), blockchain network, and the Internet.

[0249] A computing system can include a client and a server. The client and the server are generally remote from each other and typically interact through a communication network. The client-server relationship is created by computer programs running on respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system, solving the defects of difficult management and weak business scalability existing in traditional physical hosts and VPS services.

[0250] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited in the present invention can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved, and no limitation is made herein.

[0251] The above specific embodiments do not constitute a limitation on the protection scope of the present invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.

Claims

1. A method for screening obstacles, characterized in that, it includes: Receiving perception data uploaded by a vehicle, which is related to an abnormality occurring in the autonomous driving mode, and the perception data is data detected by the vehicle on itself and the environment when driving along a road; Screening out obstacles located within the road when the vehicle performs an obstacle avoidance operation from the perception data as candidates; Screening out the candidates located in front of the vehicle and not belonging to partially non-crushable objects from the perception data to obtain target objects belonging to crushable objects; Filtering out the perception data that does not mark the target objects; Wherein, the screening out obstacles located within the road when the vehicle performs an obstacle avoidance operation from the perception data as candidates includes: Reading a first sequence and / or a second sequence in the perception data, the first sequence arranging multiple accelerations of the vehicle, and the second sequence arranging multiple steering wheel corner values of the vehicle; Extracting the locally minimum acceleration in the first sequence as the target acceleration, and / or extracting the locally maximum jump of the corner values in the second sequence as the target corner amplitude; If the target acceleration is less than a preset first threshold and / or the target corner amplitude is greater than a preset second threshold, it is determined that the vehicle performs an obstacle avoidance operation, and the first threshold is a negative number; Reading obstacle and trajectory points of the vehicle in the perception data; Referring to the trajectory points of the vehicle in a preset electronic map to determine whether the obstacle is located within the road; If it simultaneously satisfies that the vehicle performs an obstacle avoidance operation and the obstacle is located within the road in terms of time, mark the obstacle as a candidate.

2. The method according to claim 1, characterized in that, The extracting the locally minimum acceleration in the first sequence as the target acceleration includes: Adding a first window to the first sequence and sliding the first window on the first sequence; Initializing the local maximum value and the local minimum change value; Successively traversing each acceleration in the first window, taking the smaller value between the change amplitude and the local minimum change value and assigning it to the local minimum change value, and taking the larger value between the acceleration and the local maximum value and assigning it to the local maximum value, where the change amplitude is the difference between the acceleration and the local maximum value; If each acceleration in the first window has been traversed, extract the value in the local minimum change value as the target acceleration.

3. The method according to claim 1, characterized in that, The extracting the locally maximum jump of the corner values in the second sequence as the target corner amplitude includes: Adding a second window to the second sequence and sliding the second window on the second sequence; Selecting the maximum value and the minimum value from all the corner values in the second window; Subtracting the corner value belonging to the minimum value from the corner value belonging to the maximum value to obtain the target corner amplitude.

4. The method according to claim 1, characterized in that, Determining whether the obstacle is within the road by referring to the trajectory points of the vehicle in a preset electronic map includes: Marking the obstacle and the trajectory points of the vehicle on the preset electronic map; Calculating a first distance between the obstacle and the trajectory points; If a certain first distance is the smallest, determining the trajectory point corresponding to the first distance as the target point; Calculating the sum of the numerically smallest first distance and a preset offset value as the offset distance; Calculating a second distance between the trajectory point and both sides of the road on the electronic map; Taking the minimum value among all the second distances as the reference distance; If the offset distance is less than the reference distance, determining that the obstacle is within the road.

5. The method according to claim 1, wherein, The step of screening out the obstacles within the road when the vehicle performs an obstacle avoidance operation from the perception data as candidates further includes: Calculating the motion curvature of the vehicle using multiple trajectory points; If the motion curvature is less than a preset third threshold, determining that the road is a non-turning road; If it is satisfied simultaneously in time that the vehicle performs an obstacle avoidance operation, the obstacle is within the road, and the road is a non-turning road, determining that the candidate is valid.

6. The method according to claim 5, wherein, The step of calculating the motion curvature of the vehicle using multiple trajectory points includes: Converting the coordinates of multiple trajectory points into a polynomial with travel time as an unknown coefficient; Expressing the travel time as a third distance between two adjacent trajectory points; Substituting the third distance into the polynomial to obtain an expression equation of the trajectory point; Converting the expression equation into a matrix; Solving the matrix under the condition of knowing the coordinates of the trajectory points to obtain the coefficients; When the coefficients are substituted into the polynomial, taking the derivative of the polynomial one or more times according to the travel time to obtain the derivative of the coordinates of the trajectory point; Calculating the motion curvature of the current trajectory point based on the derivative.

7. The method according to claim 6, wherein, The step of calculating the motion curvature of the current trajectory point based on the derivative includes: Obtaining a first candidate value by adding the product of the second horizontal derivative and the first vertical derivative to the product of the first horizontal derivative and the second vertical derivative; Obtaining a second candidate value by adding the square of the first horizontal derivative and the square of the second vertical derivative; Calculating a third candidate value with the second candidate value as the base and a preset constant as the exponent; Calculating the ratio between the first candidate value and the third candidate value as the motion curvature of the vehicle; wherein, the first horizontal derivative is the derivative obtained by taking the first derivative of the abscissa of the trajectory point, the second horizontal derivative is the derivative obtained by taking the second derivative of the abscissa of the trajectory point, the first vertical derivative is the derivative obtained by taking the first derivative of the ordinate of the trajectory point, and the second vertical derivative is the derivative obtained by taking the second derivative of the ordinate of the trajectory point.

8. The method according to any one of claims 1-7, wherein, Filtering out the candidates that are in front of the vehicle and not part of the partially non-crushable objects according to the perception data to obtain the target objects belonging to the crushable objects, includes: Reading the ground clearance and / or the self-height of the candidate in the perception data; Reading the first position of the candidate in the map coordinate system in the perception data; Converting the first position to the second position of the candidate in the coordinate system of the vehicle; If the ground clearance of the candidate is less than a preset fourth threshold and / or the self-height of the candidate is less than a preset fifth threshold, and the second position is within a preset area, mark the candidate as a target object, the longitudinal distance of the area is positive, and the absolute value of the longitudinal distance of the area is greater than the absolute value of the lateral distance of the area.

9. The method according to claim 8, wherein, The converting the first position to the second position of the candidate in the coordinate system of the vehicle includes: Reading the angle between the orientation of the vehicle itself and the horizontal direction in the perception data; Setting a rotation matrix using the angle; Multiplying the first position by the rotation matrix to obtain the second position of the candidate in the coordinate system of the vehicle.

10. The method according to claim 8, wherein, Filtering out the candidates that are in front of the vehicle and not part of the partially non-crushable objects according to the perception data to obtain the target objects belonging to the crushable objects, further includes: Reading the ground clearance and / or the self-height of a reference object in the perception data, the reference object being other obstacles adjacent to the candidate in time; Performing a first smoothing operation on the ground clearance of the candidate using the ground clearance of the reference object, and / or performing a second smoothing operation on the self-height of the candidate using the self-height of the reference object.

11. A screening device for obstacles, wherein, includes: A perception data receiving module, configured to receive perception data uploaded by a vehicle and related to an abnormality occurring in an autonomous driving mode, the perception data being data detected by the vehicle for itself and the environment when driving along a road; A candidate screening module, configured to filter out obstacles within the road when the vehicle performs an obstacle avoidance operation as candidates according to the perception data; A target screening module, configured to filter out the candidates that are in front of the vehicle and not part of the partially non-crushable objects according to the perception data to obtain the target objects belonging to the crushable objects; A perception data filtering module, configured to filter out the perception data that does not mark the target objects; Wherein, the candidate screening module includes: A first data reading module, configured to read a first sequence and / or a second sequence in the perception data, the first sequence arranging multiple accelerations of the vehicle, and the second sequence arranging multiple steering wheel angle values of the vehicle; A target extraction module, configured to extract the locally minimum acceleration in the first sequence as the target acceleration, and / or extract the locally maximum jump of the steering wheel angle value in the second sequence as the target steering wheel angle amplitude; An obstacle avoidance determination module, configured to determine that the vehicle performs an obstacle avoidance operation if the target acceleration is less than a preset first threshold and / or the target cornering amplitude is greater than a preset second threshold, where the first threshold is a negative number; A second data reading module, configured to read an obstacle and a trajectory point of the vehicle from the perception data; A road determination module, configured to determine whether the obstacle is located within the road by referring to the trajectory point of the vehicle in a preset electronic map; A candidate marking module, configured to mark the obstacle as a candidate if the vehicle performing the obstacle avoidance operation and the obstacle being located within the road are simultaneously satisfied in terms of time.

12. An electronic device, characterized in that, the electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the method for screening obstacles according to any one of claims 1-10.

13. A computer-readable storage medium, characterized in that, the computer-readable storage medium stores a computer program, and the computer program is used to implement the method for screening obstacles according to any one of claims 1-10 when executed by a processor.

Citation Information

Patent Citations

  • Automatic driving method of vehicle, automatic driving platform and vehicle system

    CN113442913A

  • Obstacle screening method and system in automatic driving assistance process

    CN114030482A