Method, device and storage medium for detecting collision based on object state

By judging the state of the object and calculating the collision time, the problem of slow response speed for self-driving cars is solved, and the active safety control of autonomous vehicles is realized, and safety and reliability are improved.

CN115092175BActive Publication Date: 2025-08-22GUANGZHOU WERIDE TECH LTD CO
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210459197.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-27
Publication Date
2025-08-22
Estimated Expiration
2042-04-27

AI Technical Summary

Technical Problem

The collision detection response speed of existing driverless cars is slow, resulting in low safety and reliability.

Method used

By obtaining the stationary state or moving state of the object, use the vehicle's movement trajectory and the object's position to determine whether a collision occurs, combine the collision time and escape time to determine whether a collision occurs, and adjust the vehicle's movement direction and speed in time to avoid collision.

Benefits of technology

It improves the safety and reliability of driverless vehicles, realizes active safety control, and avoids collisions with obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115092175B_ABST
    Figure CN115092175B_ABST
Patent Text Reader

Abstract

The present invention discloses a method, device and storage medium for detecting collisions based on object states. The method includes: obtaining the object state of a first object, the object state including: a stationary state and a moving state; if the object state is a stationary state, judging whether a collision occurs based on the vehicle's motion trajectory and the position of the first object; if the object state is a moving state, judging whether a collision occurs based on the collision time and escape time of the first object. Through the present invention, the moving trajectory of a moving object and the position of a static object are detected, and then judging whether a collision occurs based on the vehicle's motion trajectory. When a collision is detected, the vehicle's motion direction and speed are adjusted in a timely manner to avoid obstacles, thereby achieving an active safety control effect. This improves the safety and reliability of unmanned vehicles.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of vehicles, and in particular to a method, device and storage medium for detecting collision based on object state. Background Art

[0002] With the advancement of technology, the development of autonomous vehicles is accelerating. While these vehicles offer convenience and a better driving experience, they also raise the issue of vehicle safety. Currently, autonomous vehicles rely on autonomous driving perception and planning for collision detection. However, these systems have a slow response time and are unable to implement active safety control functions, resulting in low safety and reliability. Summary of the Invention

[0003] The main purpose of the present invention is to provide a method, device and storage medium for detecting collisions based on object status, aiming to solve the problem in the prior art that the safety and reliability of unmanned vehicles are low due to the slow response speed of collision detection through autonomous driving perception and planning.

[0004] To achieve the above object, the present invention provides a method for detecting collision based on object state, the method comprising the following steps:

[0005] S1: Acquire an object state of a first object, where the object state includes: a stationary state and a moving state;

[0006] S2: If the object is in a stationary state, determining whether a collision occurs based on the vehicle's motion trajectory and the position of the first object;

[0007] S3: If the object is in a moving state, determine whether a collision occurs according to the collision time and escape time of the first object.

[0008] Optionally, step S1 includes the following steps:

[0009] Acquire a plurality of consecutive frames of first point cloud data, and convert the plurality of consecutive frames of first point cloud data into the same coordinate system to obtain a plurality of consecutive frames of second point cloud data;

[0010] Processing the plurality of consecutive frames of second point cloud data to obtain positions of a plurality of first objects;

[0011] Determine the degree of overlap of the positions of the plurality of first object objects; if the degree of overlap is greater than a threshold, identify the object state of the first object object as a stationary state; otherwise, identify the object state of the first object object as a moving state.

[0012] Optionally, step S2 includes the following steps:

[0013] A1: Acquire the first object whose object state is a stationary state;

[0014] A2: Determine whether the first object is at the end. If the first object is at the end, execute step A6; if the first object is not at the end, execute step A3;

[0015] A3: Obtain the first coordinate point and the second coordinate point of the two-dimensional plane according to the vehicle information;

[0016] A4: Traverse the grid between the first coordinate point and the second coordinate point. If the second object is obtained, execute step A5; if the second object is not obtained, execute step A1;

[0017] A5: Obtain the object state of the second object. If the object state is a stationary state, execute step A6; if the object state is a moving state, execute step S3;

[0018] A6: Evaluate whether the vehicle collides with the first object or the second object based on the vehicle's motion trajectory.

[0019] Optionally, step A3 includes the following steps:

[0020] The turning radius r is obtained by formula (1),

[0021]

[0022] Where l is the wheelbase, δ is the steering wheel angle, swa2rwal is the statistical table of the corresponding relationship between the steering wheel angle and the tire angle, CI is the conversion index, and pi is pi;

[0023] The coordinates of the first coordinate point are obtained by formula (2):

[0024]

[0025]

[0026] Where r0 is the sum of the turning radius r and half the vehicle width, s is the sin value of the tire turning angle, c is the cos value of the tire turning angle, is the X-axis coordinate value of the middle position of the vehicle body, kGridxcenter is the number of grids in the X-axis direction, kGridycenter is the number of grids in the Y-axis direction, kGridHalf is half the length of the grid unit, and kGridunit is the length of the grid unit;

[0027] The coordinates of the second coordinate point are obtained by formula (3):

[0028]

[0029]

[0030] Here, r3 is the difference between the turning radius r and half the vehicle width.

[0031] Optionally, step S3 includes the following steps:

[0032] B1: Acquire the first object whose object state is moving and / or whose attributes are valid;

[0033] B2: Determine whether the first object exists in the tracking history. If so, execute step B3; if not, add the first object to the tracking history and execute step B1.

[0034] B3: Obtaining the velocity of the first object;

[0035] B4: Determine whether the speed is greater than a speed threshold. If the speed is greater than the speed threshold, execute step B1; if the speed is less than or equal to the speed threshold, execute step B5.

[0036] B5: Calculate the collision time and escape time between the first object and the vehicle;

[0037] B6: Determine whether a collision occurs based on the collision time and the escape time.

[0038] Optionally, calculating the collision time between the first object and the vehicle comprises the following steps:

[0039] Calculating a driving trajectory of the vehicle based on the turning angle and / or speed and / or acceleration of the vehicle;

[0040] Calculating a motion trajectory of the first object according to the moving direction and / or speed of the first object;

[0041] Obtaining an intersection point between the driving trajectory and the motion trajectory;

[0042] Calculating a first time when the vehicle arrives at the intersection, and calculating a second time when the first object arrives at the intersection;

[0043] The larger time between the first time and the second time is obtained as the collision time.

[0044] Optionally, step B6 includes the following steps:

[0045] calculating a third time when the first object first enters the driving track of the vehicle, and calculating a fourth time when the first object leaves the driving track of the vehicle;

[0046] If the fourth time is less than the collision time, no collision occurs; if the collision time is less than the third time, no collision occurs; if the collision time is greater than the third time and less than the fourth time, a collision will be sent.

[0047] In addition, to achieve the above-mentioned purpose, the present invention further proposes a device for detecting collision based on object state, the device comprising:

[0048] An object state acquiring unit, configured to acquire an object state of a first object, wherein the object state includes: a stationary state and a moving state;

[0049] a static object determination unit, configured to determine whether a collision occurs based on the vehicle's motion trajectory and the position of the first object when the object is in a static state;

[0050] The moving object judgment unit is used to judge whether a collision occurs according to the collision time and escape time of the first object when the object state is in a moving state.

[0051] In addition, to achieve the above-mentioned purpose, the present invention also proposes a vehicle, which includes: a memory, a processor, and an object state-based collision detection program stored in the memory and executable on the processor, wherein the object state-based collision detection program is configured to implement the steps of the object state-based collision detection method as described above.

[0052] In addition, to achieve the above-mentioned purpose, the present invention further proposes a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method for detecting collision based on object state as described above.

[0053] The present invention detects the trajectory of moving objects and the position of static objects, and then determines whether a collision has occurred based on the vehicle's trajectory. When a potential collision is detected, the vehicle's direction and speed are promptly adjusted to avoid the obstacle, achieving a proactive safety control effect. This improves the safety and reliability of autonomous vehicles. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] Figure 1 A flow chart of the method for detecting collision based on object status provided by the present invention.

[0055] Figure 2A schematic diagram of a flow chart for determining the state of an object provided by the present invention.

[0056] Figure 3 A schematic diagram of a flow chart for determining whether a static object has collided is provided in the present invention.

[0057] Figure 4 A schematic diagram of a flow chart for determining whether a moving object has collided is provided in the present invention.

[0058] Figure 5 A schematic diagram of a flow chart for calculating collision time provided by the present invention.

[0059] Figure 6 A schematic diagram of a flow chart for determining whether a collision occurs based on the collision time provided by the present invention.

[0060] Figure 7 This is a structural block diagram of an embodiment of a device for detecting collisions based on object states according to the present invention.

[0061] Figure 8 It is a schematic diagram of the structure of a vehicle in the hardware operating environment involved in the embodiment of the present invention.

[0062] The purpose, features and advantages of the present invention will be further described with reference to the accompanying drawings and in conjunction with the embodiments. DETAILED DESCRIPTION

[0063] In order to make the technical problems, technical solutions and beneficial effects to be solved by the present invention clearer and more understandable, the present invention is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only for explaining the present invention and are not intended to limit the present invention.

[0064] In the subsequent description, suffixes such as "module," "component," or "unit" used to represent elements are only used to facilitate the description of the present invention and have no specific meaning. Therefore, "module," "component," or "unit" can be used interchangeably.

[0065] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0066] In one embodiment, Figure 1 As shown, the present invention provides a method for detecting collision based on object state, the method comprising:

[0067] Step S1: Acquire the object state of a first object, where the object state includes: a stationary state and a moving state.

[0068] The autonomous vehicle receives a frame of point cloud data from the LiDAR and obtains the time corresponding to that frame. The autonomous vehicle transmits this data to the LiDAR driver layer via UDP packets. The LiDAR driver layer parses the individual points according to the protocol to form a frame of point cloud data.

[0069] The frame of point cloud data is segmented and then gridded. Points above the ground are considered to be objects. The analyzed and processed objects are assigned an identifier (unique ID) and object attributes (such as height).

[0070] Analyze the acquired object to determine whether it is a static object or a moving object. For the specific process, see Figure 2 The process shown.

[0071] Step S101: Acquire multiple frames of first point cloud data, and convert the multiple frames of first point cloud data into the same coordinate system to obtain multiple frames of second point cloud data.

[0072] Step S102: Process the multiple consecutive frames of second point cloud data to obtain positions of multiple first objects.

[0073] Convert the current frame of point cloud data and the previous frames of point cloud data to the same coordinate system, and obtain the coordinate position of the object in each frame of point cloud data. Select a few easily identifiable points in the object, such as the four corners of the object. As shown in the following table:

[0074]

[0075] Step S103: determine the degree of overlap of the positions of the multiple first object objects. If the degree of overlap is greater than a threshold, identify the object state of the first object object as a stationary state; otherwise, identify the object state of the first object object as a moving state.

[0076] Based on the position of the objects in each frame of point cloud data, the overlap of the objects is determined to see if it reaches a certain threshold. If the overlap reaches 90%, the object is considered stationary; otherwise, it is considered moving. The specific overlap threshold can be set based on actual needs and is not limited by this technical solution.

[0077] After determining the object state based on the overlap, the object state is associated with the object ID. This is shown in the following table:

[0078]

[0079]

[0080] Step S2: If the object is in a stationary state, determine whether a collision occurs based on the vehicle's motion trajectory and the position of the first object.

[0081] When the object is stationary, the vehicle's trajectory and the object's position are used to determine whether the vehicle will collide with the object. Figure 3 The process shown.

[0082] Step A1: Acquire the first object whose object state is a stationary state.

[0083] Get an object with a static state, such as an object with an object ID of car_001_002, for processing.

[0084] Step A2: Determine whether the first object is at the end of the queue. If the first object is at the end of the queue, execute step A6; if the first object is not at the end of the queue, execute step A3.

[0085] The autonomous vehicle places the acquired stationary objects arranged continuously into a queue, such as placing the cars parked on the right side of the vehicle into a queue, as shown in the following table:

[0086] Object ID Position in queue car_005_006 1 car_005_007 2 car_005_008 3 car_005_009 4

[0087] This technical solution does not limit how to determine which objects can be placed in a queue.

[0088] Based on the object's ID, a determination is made as to whether the object is at the end of the queue, where the end of the queue is the closest location to the autonomous vehicle. If the object is at the end of the queue, step A6 is executed to determine whether a collision has occurred based on the vehicle's trajectory and the object's location. If the object is not at the end of the queue, step A3 is executed.

[0089] Step A3: Acquire a first coordinate point and a second coordinate point on a two-dimensional plane according to the vehicle information.

[0090] Based on the vehicle information, two end points are estimated on the two-dimensional plane: x0, y0, and x1, y1.

[0091] Step S201: Obtain the turning radius r using formula (1).

[0092]

[0093] Where l is the wheelbase, δ is the steering wheel angle, swa2rwal is a statistical table of the correspondence between the steering wheel angle and the tire angle, CI is the conversion index, and pi is pi.

[0094] Obtain the corresponding relationship between the wheelbase l, steering wheel angle δ, steering wheel angle, and tire angle of the autonomous vehicle. For example, the vehicle wheelbase is 2.98 meters, the steering wheel angle is 60 degrees, and the tire angle is 10 degrees. Each vehicle has a corresponding relationship table between steering wheel angle and tire angle, and the corresponding tire angle can be found based on this relationship table. This is shown in the following table:

[0095] Serial number Steering wheel angle Tire angle 1 30 5 2 60 10 3 180 20 4 360 30

[0096] Then use formula (1) Calculate the radius r of the vehicle. CI is the conversion index and pi is the circumference of a circle. For example, the calculated radius r is 12.8 meters.

[0097] Step S202: Obtain the coordinates of the first coordinate point using formula (2).

[0098]

[0099]

[0100] Where r0 is the sum of the turning radius r and half the vehicle width, s is the sin value of the tire turning angle, c is the cos value of the tire turning angle, is the X-axis coordinate value of the middle position of the vehicle body, kGridxcenter is the number of grids in the X-axis direction, kGridycenter is the number of grids in the Y-axis direction, kGridHalf is half of the grid unit length, and kGridunit is the grid unit length.

[0101] Step S203: Obtain the coordinates of the second coordinate point using formula (3).

[0102]

[0103]

[0104] Here, r3 is the difference between the turning radius r and half the vehicle width.

[0105] Obtain the vehicle's turning radius r (e.g., 12.8 meters), tire angle (e.g., 10 degrees), vehicle body parameters (e.g., 5 meters * 2.2 meters * 1.5 meters), grid information: number of grids in the X-axis direction (e.g., 80), number of grids in the Y-axis direction (e.g., 60), grid unit length (5 meters), and other information. Then use formulas (2) and (3) to calculate the coordinates of the two end points, as shown in the following table:

[0106] end coordinate The first coordinate point A X:1.0 Y:2.2 Second coordinate point B X:152 Y:18.6

[0107] Step A4: traverse the grid between the first coordinate point and the second coordinate point to determine whether the second object is obtained; if the second object is obtained, execute step A5; if the second object is not obtained, execute step A1.

[0108] Get the grid between the first coordinate point A and the second coordinate point B, as shown in the following table:

[0109] Serial number Grid 1 Grid A 2 Grid B 3 Grid C 4 Grid D

[0110] Traverse the grid between the first coordinate point A and the second coordinate point B, analyze each grid, and retrieve the object in the grid. If more than one object is retrieved from these grids, proceed to step A5; if no object is retrieved, proceed to step A1.

[0111] Step A5: Acquire the object state of the second object and determine the object state. If the object state is a stationary state, execute step A6; if the object state is a moving state, execute step S3.

[0112] The object state of the acquired object is judged. For the specific judgment process, see Figure 2 Then, the object state is determined to be a stationary state or a moving state. If the object is stationary, step A6 is executed; if the object is moving, step S3 is executed.

[0113] Step A6: Evaluate whether the vehicle collides with the first object or the second object based on the vehicle's motion trajectory.

[0114] Based on the current vehicle information, the vehicle's trajectory is obtained, followed by the object's position. The vehicle's trajectory and the object's position are used to determine whether a collision will occur. If the object's position is within the vehicle's trajectory, the vehicle will collide with the object; if the object's position is not within the vehicle's trajectory, the vehicle will not collide with the object.

[0115] When obtaining the position of an object, you can obtain the most recent multiple frames of point cloud data (such as the most recent 4 frames of point cloud data), and then obtain the position of the object in each frame of point cloud data, as shown in the following table:

[0116]

[0117] The system then determines whether the object position in each frame of point cloud data is on the vehicle's trajectory. If the object position in one frame of point cloud data is on the vehicle's trajectory, the vehicle will collide with the object. Alternatively, the object positions in multiple frames of point cloud data can be averaged, or the maximum position information of the object positions after overlapping in each frame of point cloud data can be taken and combined with the vehicle's trajectory to determine whether a collision has occurred. If the maximum position information after averaging or overlapping is on the vehicle's trajectory, the vehicle will collide with the object.

[0118] At the same time, the object is added to the static tracking object, and the static tracking object is saved through a list.

[0119] When a collision is determined between the autonomous vehicle and an object, the object information is stored in the autonomous vehicle's AEB decision table, allowing the autonomous vehicle system to execute its AEB strategy. For example, the autonomous vehicle system can use the AEB decision table to slow down or steer the vehicle to avoid a collision.

[0120] Step S3: If the object is in a moving state, determine whether a collision occurs based on the collision time and escape time of the first object.

[0121] Determine whether a moving object collides with an unmanned vehicle. Figure 4 The process shown.

[0122] Step B1: Acquire the first object whose object state is moving and / or whose attributes are valid.

[0123] Get an object in the moving state, such as the object with the object ID car_100_001, for processing. Check whether the object's attributes, such as the object ID, height, and width, are empty. If any of these information is empty, it indicates that the object is invalid and needs to be discarded and a new object needs to be processed.

[0124] Step B2: Determine whether the first object exists in the tracking history. If so, execute step B3; if not, add the first object to the tracking history and execute step B1.

[0125] Determine whether the object with object ID car_100_001 exists in the tracking history. If not, add the object to the tracking history. The tracking history can be stored using a queue or a data table; the specific storage method is not limited in this technical solution. Then, execute step B1 to obtain a new object for processing.

[0126] If the object exists in the tracking history, execute step B3.

[0127] Step B3: Obtain the velocity of the first object.

[0128] Get the speed of the object with object ID car_100_001. Get the speed of the object in the following way:

[0129] By converting the previous frame's point cloud data and the current frame's point cloud data to the same coordinate system, a moving object (e.g., an object with the ID car_100_001) will be located at two different positions within the same coordinate system. Distance can be calculated based on these positions. The X and Y distances are calculated separately, and then the time (0.1s) is removed (the frequency of acquiring point cloud data is 10 Hz) to calculate the object's X and Y velocities.

[0130] Step B4: Determine whether the speed is greater than a speed threshold. If the speed is greater than the speed threshold, execute step B1; if the speed is less than or equal to the speed threshold, execute step B5.

[0131] Determine whether the object's speed in the X-axis or Y-axis direction is greater than a speed threshold. If so, the speed is considered invalid. For example, if the speed threshold is set to 90m / s, if the object's speed in the X-axis or Y-axis direction is greater than 90m / s, the object is considered invalid (a normal moving object cannot reach this speed). The specific value of the speed threshold can be set according to actual conditions and is not limited by this technical solution.

[0132] If the speed of the object in the X-axis or Y-axis direction is greater than the speed threshold, the object is discarded and the process returns to step B1 to reselect an object for processing. If the speed of the object in the X-axis or Y-axis direction is less than or equal to the speed threshold, step B5 is executed.

[0133] Step B5: Calculate the collision time and escape time between the first object and the vehicle.

[0134] Calculating the time to collision between an autonomous vehicle and a moving object, see Figure 5 The process described.

[0135] Step S301: Calculate the driving trajectory of the vehicle according to the turning angle and / or speed and / or acceleration of the vehicle.

[0136] Based on the turning angle, speed, acceleration and other parameters of the autonomous vehicle, the driving trajectory of the autonomous vehicle in the future (e.g., 5 minutes) is obtained, such as driving trajectory A. How to obtain the driving trajectory belongs to the existing technology and will not be described in detail in this technical solution.

[0137] Step S302: Calculate the motion trajectory of the first object according to the moving direction and / or speed of the first object.

[0138] The movement plan, speed, acceleration and other parameters of the object are obtained from the tracking history to obtain the movement trajectory of the moving object, such as movement trajectory B. How to obtain the movement trajectory belongs to the existing technology and will not be described in detail in this technical solution.

[0139] Step S303: Obtain the intersection point of the driving trajectory and the motion trajectory.

[0140] Based on driving trajectory A and moving trajectory B, determine whether the two trajectories intersect. If there is no intersection, the autonomous vehicle will not collide with the moving object. If there is an intersection, the autonomous vehicle and the moving object may collide, requiring further processing. The intersection is a point on a two-dimensional plane, such as point C (10, 15).

[0141] Step S304: Calculate a first time when the vehicle arrives at the intersection, and calculate a second time when the first object arrives at the intersection.

[0142] Step S305: Acquire the larger time between the first time and the second time as the collision time.

[0143] According to the driving trajectory A of the autonomous driving vehicle, the first time for the autonomous driving vehicle to reach the intersection C is obtained (such as 120 seconds); according to the moving trajectory B of the moving object, the second time for the moving object to reach the intersection C is obtained (such as 130 seconds).

[0144] Compare the first time and the second time. If the first time is 120 seconds and the second time is 130 seconds, the second time is selected as the collision time, that is, the collision time is 130 seconds.

[0145] The escape time of a moving object escaping from the autonomous driving trajectory is calculated as follows:

[0146] The escape time is calculated based on the moving trajectory of the moving object (such as moving trajectory B), the size of the object (length and width), the driving trajectory of the autonomous driving vehicle (such as driving trajectory A), and the vehicle width (such as 2.0 meters).

[0147] The time when the moving object first enters the driving trajectory of the autonomous vehicle (such as driving trajectory A) is Tfirst, and the time when the moving object completely leaves the driving trajectory of the autonomous vehicle (such as driving trajectory A) as a whole is Tg. This Tg is the escape time.

[0148] Based on the moving trajectory of the object (such as moving trajectory B), the positions of all points on the object after movement are calculated. When all points leave the driving trajectory of the autonomous driving vehicle (they were within the trajectory in the previous time period, but are not within the trajectory in this time period), this time is the escape time.

[0149] Step B6: Determine whether a collision occurs based on the collision time and the escape time.

[0150] The trajectory collision time and escape time are used to determine whether a collision occurs. Figure 6 The process described.

[0151] Step S401: Calculate a third time when the first object first enters the driving track of the vehicle, and calculate a fourth time when the first object leaves the driving track of the vehicle.

[0152] Step S402: If the fourth time is less than the collision time, no collision occurs; if the collision time is less than the third time, no collision occurs; if the collision time is greater than the third time and less than the fourth time, a collision is sent.

[0153] The trajectory of an autonomous vehicle and a moving object may intersect. The time when the moving object first enters the autonomous vehicle's trajectory is Tfirst, the time when it leaves the trajectory is Tend, and the time it takes for the vehicle to reach the intersection is Tarrive. Tarrive is typically set as the collision time.

[0154] If the time Tend for the moving object to leave the driving trajectory is less than Tarrive, the time it takes for the autonomous vehicle to reach the intersection, then the autonomous vehicle and the moving object will not collide;

[0155] If the time Tarrive that the autonomous vehicle arrives at the intersection is less than the time Tfirst that the moving object first enters the autonomous vehicle's trajectory, no collision will occur.

[0156] A collision occurs when the time Tarrive when the autonomous vehicle arrives at the intersection is greater than the time Tfirst when the moving object first enters the driving trajectory of the autonomous vehicle and is less than the time Tend when the moving object leaves the driving trajectory.

[0157] When a collision is determined between the autonomous vehicle and a moving object, the vehicle stores the object's information in the vehicle's AEB decision table, enabling the autonomous vehicle system to execute its AEB strategy. For example, the autonomous vehicle system can use the AEB decision table to slow down or steer the vehicle to avoid a collision.

[0158] The present invention detects the trajectory of moving objects and the position of static objects, and then determines whether a collision has occurred based on the vehicle's trajectory. When a potential collision is detected, the vehicle's direction and speed are promptly adjusted to avoid the obstacle, achieving a proactive safety control effect. This improves the safety and reliability of autonomous vehicles.

[0159] In addition, the embodiment of the present invention also proposes a device for detecting collision based on object state, referring to Figure 7 , the device includes: an object state acquisition unit 10, a static object judgment unit 20, and a moving object judgment unit 30;

[0160] The object state acquisition unit 10 is used to acquire the object state of the first object, where the object state includes: a stationary state and a moving state;

[0161] a static object determination unit 20, configured to determine whether a collision occurs based on the vehicle's motion trajectory and the position of the first object when the object is in a stationary state;

[0162] The moving object judging unit 30 is configured to judge whether a collision occurs according to the collision time and escape time of the first object when the object is in a moving state.

[0163] The present invention detects the trajectory of moving objects and the position of static objects, and then determines whether a collision has occurred based on the vehicle's trajectory. When a potential collision is detected, the vehicle's direction and speed are promptly adjusted to avoid the obstacle, achieving a proactive safety control effect. This improves the safety and reliability of autonomous vehicles.

[0164] It should be noted that each unit in the above-mentioned device can be used to implement each step in the above-mentioned method and achieve corresponding technical effects, which will not be described in detail in this embodiment.

[0165] Reference Figure 8 , Figure 8 A schematic diagram of the structure of a vehicle in the hardware operating environment involved in an embodiment of the present invention.

[0166] like Figure 8As shown, the vehicle may include: a processor 1001, such as a CPU, a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the user interface 1003 may optionally include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as WI-FI, 4G, 5G interface). The memory 1005 may be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0167] Those skilled in the art will understand that Figure 8 The structure shown in the figure does not constitute a limitation of the vehicle, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0168] like Figure 8 As shown, the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a collision detection program based on object status.

[0169] exist Figure 8 In the vehicle shown, the network interface 1004 is primarily used for data communication with an external network; the user interface 1003 is primarily used for receiving user input instructions; the vehicle, through the processor 1001, calls the object state-based collision detection program stored in the memory 1005 and performs the following operations:

[0170] S1: Acquire an object state of a first object, where the object state includes: a stationary state and a moving state;

[0171] S2: If the object is in a stationary state, determining whether a collision occurs based on the vehicle's motion trajectory and the position of the first object;

[0172] S3: If the object is in a moving state, determine whether a collision occurs according to the collision time and escape time of the first object.

[0173] Optionally, step S1 includes the following steps:

[0174] Acquire a plurality of consecutive frames of first point cloud data, and convert the plurality of consecutive frames of first point cloud data into the same coordinate system to obtain a plurality of consecutive frames of second point cloud data;

[0175] Processing the plurality of consecutive frames of second point cloud data to obtain positions of a plurality of first objects;

[0176] Determine the degree of overlap of the positions of the plurality of first object objects; if the degree of overlap is greater than a threshold, identify the object state of the first object object as a stationary state; otherwise, identify the object state of the first object object as a moving state.

[0177] Optionally, step S2 includes the following steps:

[0178] A1: Acquire the first object whose object state is a stationary state;

[0179] A2: Determine whether the first object is at the end. If the first object is at the end, execute step A6; if the first object is not at the end, execute step A3;

[0180] A3: Obtain the first coordinate point and the second coordinate point according to the vehicle information;

[0181] A4: Traverse the grid between the first coordinate point and the second coordinate point. If the second object is obtained, execute step A5; if the second object is not obtained, execute step A1;

[0182] A5: Obtain the object state of the second object. If the object state is a stationary state, execute step A6; if the object state is a moving state, execute step S3;

[0183] A6: Evaluate whether the vehicle collides with the first object or the second object based on the vehicle's motion trajectory.

[0184] Optionally, step A3 includes the following steps:

[0185] The turning radius r is obtained by formula (1),

[0186]

[0187] Where l is the wheelbase, δ is the steering wheel angle, swa2rwal is the statistical table of the corresponding relationship between the steering wheel angle and the tire angle, CI is the conversion index, and pi is pi;

[0188] The coordinates of the first coordinate point are obtained by formula (2):

[0189]

[0190]

[0191] Where r0 is the sum of the turning radius r and half the vehicle width, s is the sin value of the tire turning angle, c is the cos value of the tire turning angle, is the X-axis coordinate value of the middle position of the vehicle body, kGridxcenter is the number of grids in the X-axis direction, kGridycenter is the number of grids in the Y-axis direction, kGridHalf is half the length of the grid unit, and kGridunit is the length of the grid unit;

[0192] The coordinates of the second coordinate point are obtained by formula (3):

[0193]

[0194]

[0195] Here, r3 is the difference between the turning radius r and half the vehicle width.

[0196] Optionally, step S3 includes the following steps:

[0197] B1: Acquire the first object whose object state is moving and / or whose attributes are valid;

[0198] B2: Determine whether the first object exists in the tracking history. If so, execute step B3; if not, add the first object to the tracking history and execute step B1.

[0199] B3: Obtaining the velocity of the first object;

[0200] B4: Determine whether the speed is greater than a speed threshold. If the speed is greater than the speed threshold, execute step B1; if the speed is less than or equal to the speed threshold, execute step B5.

[0201] B5: Calculate the collision time and escape time between the first object and the vehicle;

[0202] B6: Determine whether a collision occurs based on the collision time and the escape time.

[0203] Optionally, calculating the collision time between the first object and the vehicle comprises the following steps:

[0204] Calculating a driving trajectory of the vehicle based on the turning angle and / or speed and / or acceleration of the vehicle;

[0205] Calculating a motion trajectory of the first object according to the moving direction and / or speed of the first object;

[0206] Obtaining an intersection point between the driving trajectory and the motion trajectory;

[0207] Calculating a first time when the vehicle arrives at the intersection, and calculating a second time when the first object arrives at the intersection;

[0208] The larger time between the first time and the second time is obtained as the collision time.

[0209] Optionally, step B6 includes the following steps:

[0210] calculating a third time when the first object first enters the driving track of the vehicle, and calculating a fourth time when the first object leaves the driving track of the vehicle;

[0211] If the fourth time is less than the collision time, no collision occurs; if the collision time is less than the third time, no collision occurs; if the collision time is greater than the third time and less than the fourth time, a collision will be sent.

[0212] The present invention detects the trajectory of moving objects and the position of static objects, and then determines whether a collision has occurred based on the vehicle's trajectory. When a potential collision is detected, the vehicle's direction and speed are promptly adjusted to avoid the obstacle, achieving a proactive safety control effect. This improves the safety and reliability of autonomous vehicles.

[0213] In addition, an embodiment of the present invention further provides a computer-readable storage medium, on which a program for detecting collisions based on object states is stored. When the program for detecting collisions based on object states is executed by a processor, the following operations are performed:

[0214] S1: Acquire an object state of a first object, where the object state includes: a stationary state and a moving state;

[0215] S2: If the object is in a stationary state, determining whether a collision occurs based on the vehicle's motion trajectory and the position of the first object;

[0216] S3: If the object is in a moving state, determine whether a collision occurs according to the collision time and escape time of the first object.

[0217] Optionally, step S1 includes the following steps:

[0218] Acquire a plurality of consecutive frames of first point cloud data, and convert the plurality of consecutive frames of first point cloud data into the same coordinate system to obtain a plurality of consecutive frames of second point cloud data;

[0219] Processing the plurality of consecutive frames of second point cloud data to obtain positions of a plurality of first objects;

[0220] Determine the degree of overlap of the positions of the plurality of first object objects; if the degree of overlap is greater than a threshold, identify the object state of the first object object as a stationary state; otherwise, identify the object state of the first object object as a moving state.

[0221] Optionally, step S2 includes the following steps:

[0222] A1: Acquire the first object whose object state is a stationary state;

[0223] A2: Determine whether the first object is at the end. If the first object is at the end, execute step A6; if the first object is not at the end, execute step A3;

[0224] A3: Obtain the first coordinate point and the second coordinate point according to the vehicle information;

[0225] A4: Traverse the grid between the first coordinate point and the second coordinate point. If the second object is obtained, execute step A5; if the second object is not obtained, execute step A1;

[0226] A5: Obtain the object state of the second object. If the object state is a stationary state, execute step A6; if the object state is a moving state, execute step S3;

[0227] A6: Evaluate whether the vehicle collides with the first object or the second object based on the vehicle's motion trajectory.

[0228] Optionally, step A3 includes the following steps:

[0229] The turning radius r is obtained by formula (1),

[0230]

[0231] Where l is the wheelbase, δ is the steering wheel angle, swa2rwal is the statistical table of the corresponding relationship between the steering wheel angle and the tire angle, CI is the conversion index, and pi is pi;

[0232] The coordinates of the first coordinate point are obtained by formula (2):

[0233]

[0234]

[0235] Where r0 is the sum of the turning radius r and half the vehicle width, s is the sin value of the tire turning angle, c is the cos value of the tire turning angle, is the X-axis coordinate value of the middle position of the vehicle body, kGridxcenter is the number of grids in the X-axis direction, kGridycenter is the number of grids in the Y-axis direction, kGridHalf is half the length of the grid unit, and kGridunit is the length of the grid unit;

[0236] The coordinates of the second coordinate point are obtained by formula (3):

[0237]

[0238]

[0239] Here, r3 is the difference between the turning radius r and half the vehicle width.

[0240] Optionally, step S3 includes the following steps:

[0241] B1: Acquire the first object whose object state is moving and / or whose attributes are valid;

[0242] B2: Determine whether the first object exists in the tracking history. If so, execute step B3; if not, add the first object to the tracking history and execute step B1.

[0243] B3: Obtaining the velocity of the first object;

[0244] B4: Determine whether the speed is greater than a speed threshold. If the speed is greater than the speed threshold, execute step B1; if the speed is less than or equal to the speed threshold, execute step B5.

[0245] B5: Calculate the collision time and escape time between the first object and the vehicle;

[0246] B6: Determine whether a collision occurs based on the collision time and the escape time.

[0247] Optionally, calculating the collision time between the first object and the vehicle comprises the following steps:

[0248] Calculating a driving trajectory of the vehicle based on the turning angle and / or speed and / or acceleration of the vehicle;

[0249] Calculating a motion trajectory of the first object according to the moving direction and / or speed of the first object;

[0250] Obtaining an intersection point between the driving trajectory and the motion trajectory;

[0251] Calculating a first time when the vehicle arrives at the intersection, and calculating a second time when the first object arrives at the intersection;

[0252] The larger time between the first time and the second time is obtained as the collision time.

[0253] Optionally, step B6 includes the following steps:

[0254] calculating a third time when the first object first enters the driving track of the vehicle, and calculating a fourth time when the first object leaves the driving track of the vehicle;

[0255] If the fourth time is less than the collision time, no collision occurs; if the collision time is less than the third time, no collision occurs; if the collision time is greater than the third time and less than the fourth time, a collision will be sent.

[0256] The present invention detects the trajectory of moving objects and the position of static objects, and then determines whether a collision has occurred based on the vehicle's trajectory. When a potential collision is detected, the vehicle's direction and speed are promptly adjusted to avoid the obstacle, achieving a proactive safety control effect. This improves the safety and reliability of autonomous vehicles.

[0257] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or system comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or system. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or system comprising the element.

[0258] The serial numbers of the above embodiments of the present invention are for description only and do not represent the advantages or disadvantages of the embodiments.

[0259] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, controller, or network device, etc.) to execute the methods described in each embodiment of the present invention.

[0260] The above are only preferred embodiments of the present invention and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention description and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.

Claims

1. A method for detecting collision based on object state, characterized in that: The method comprises the following steps: S1: Acquire an object state of a first object, where the object state includes: a stationary state and a moving state; S2: If the object is in a stationary state, determining whether a collision occurs based on the vehicle's motion trajectory and the position of the first object; S3: If the object is in a moving state, determining whether a collision occurs based on the collision time and escape time of the first object; Wherein, the step S2 includes the following steps: A1: Acquire the first object whose object state is a stationary state; A2: Determine whether the first object is at the end of the queue. If the first object is at the end of the queue, execute step A6; if the first object is not at the end of the queue, execute step A3; A3: Obtain the first coordinate point and the second coordinate point of the two-dimensional plane according to the vehicle information; A4: Traverse the grid between the first coordinate point and the second coordinate point. If the second object is obtained, execute step A5; if the second object is not obtained, execute step A1; A5: Obtain the object state of the second object. If the object state is a stationary state, execute step A6; if the object state is a moving state, execute step S3; A6: Evaluate whether the vehicle collides with the first object or the second object based on the vehicle's motion trajectory.

2. The method according to claim 1, characterized in that The step S1 comprises the following steps: Acquire a plurality of consecutive frames of first point cloud data, and convert the plurality of consecutive frames of first point cloud data into the same coordinate system to obtain a plurality of consecutive frames of second point cloud data; Processing the plurality of consecutive frames of second point cloud data to obtain positions of a plurality of first objects; Determine the degree of overlap of the positions of the plurality of first object objects; if the degree of overlap is greater than a threshold, identify the object state of the first object object as a stationary state; otherwise, identify the object state of the first object object as a moving state.

3. The method according to claim 1, characterized in that Step A3 includes the following steps: The turning radius r is obtained by formula (1), Where l is the wheelbase, δ is the steering wheel angle, swa2rwal is the statistical table of the corresponding relationship between the steering wheel angle and the tire angle, CI is the conversion index, and pi is the pi. The coordinates of the first coordinate point are obtained by formula (2): Wherein, r0 is the sum of the turning radius r and half the vehicle width, s is the sin value of the tire turning angle, and c is the cos value of the tire turning angle. is the X-axis coordinate value of the middle position of the vehicle body, kGridxcenter is the number of grids in the X-axis direction, kGridycenter is the number of grids in the Y-axis direction, kGridHalf is half the length of the grid unit, and kGridunit is the length of the grid unit; The coordinates of the second coordinate point are obtained by formula (3): Here, r3 is the difference between the turning radius r and half the vehicle width.

4. The method according to claim 1, characterized in that The step S3 comprises the following steps: B1: Acquire the first object whose object state is moving and / or whose attributes are valid; B2: Determine whether the first object exists in the tracking history. If so, execute step B3; if not, add the first object to the tracking history and execute step B1. B3: Obtaining the velocity of the first object; B4: Determine whether the speed is greater than a speed threshold. If the speed is greater than the speed threshold, execute step B1; if the speed is less than or equal to the speed threshold, execute step B5. B5: Calculating the collision time and escape time between the first object and the vehicle; B6: Determine whether a collision occurs based on the collision time and the escape time.

5. The method according to claim 4, characterized in that: Calculating the collision time between the first object and the vehicle comprises the following steps: Calculating a driving trajectory of the vehicle based on the turning angle and / or speed and / or acceleration of the vehicle; Calculating a motion trajectory of the first object according to the moving direction and / or speed of the first object; Obtaining an intersection point between the driving trajectory and the motion trajectory; Calculating a first time when the vehicle arrives at the intersection, and calculating a second time when the first object arrives at the intersection; The larger time between the first time and the second time is obtained as the collision time.

6. The method according to claim 4, characterized in that: Step B6 comprises the following steps: calculating a third time when the first object first enters the driving track of the vehicle, and calculating a fourth time when the first object leaves the driving track of the vehicle; If the fourth time is less than the collision time, no collision occurs; if the collision time is less than the third time, no collision occurs; if the collision time is greater than the third time and less than the fourth time, a collision occurs.

7. A device for detecting collision based on object state, characterized in that: The device comprises: An object state acquiring unit, configured to acquire an object state of a first object, wherein the object state includes: a stationary state and a moving state; a static object judgment unit, configured to judge whether a collision occurs based on the vehicle's motion trajectory and the position of the first object when the object is in a static state; A moving object judging unit, configured to judge whether a collision occurs according to a collision time and an escape time of the first object when the object is in a moving state; Wherein, the static object determination unit is further used to: A1: Acquire the first object whose object state is a stationary state; A2: Determine whether the first object is at the end of the queue. If the first object is at the end of the queue, execute step A6; if the first object is not at the end of the queue, execute step A3; A3: Obtain the first coordinate point and the second coordinate point of the two-dimensional plane according to the vehicle information; A4: Traverse the grid between the first coordinate point and the second coordinate point. If the second object is obtained, execute step A5; if the second object is not obtained, execute step A1; A5: Obtain the object state of the second object. If the object state is a stationary state, execute step A6; if the object state is a moving state, execute step S3; A6: Evaluate whether the vehicle collides with the first object or the second object based on the vehicle's motion trajectory.

8. A means of transport, characterized in that: The vehicle includes: a memory, a processor, and a collision detection program based on object state stored in the memory and executable on the processor, wherein the collision detection program based on object state is configured to implement the steps of the collision detection method based on object state according to any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method for detecting collision based on object state according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Preceding start processing method, device and system

    CN106611512A

  • Collision detection method and device, electronic equipment, medium and autonomous vehicle

    CN113715814A

  • Vehicle collision detection method and system, electronic equipment and storage medium

    CN113911111A