Obstacle detection method, device, rail vehicle and storage medium

By collecting point clouds with lidar and combining them with offline map matching conversion, the problem of accurate distance judgment of obstacles within the limits of rail vehicles is solved, thereby improving the safety of rail vehicles.

CN114663850BActive Publication Date: 2025-09-09BYD CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011529056.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-22
Publication Date
2025-09-09
Estimated Expiration
2040-12-22

AI Technical Summary

Technical Problem

Existing technologies are unable to accurately determine the distance between obstacles and vehicles within the rail vehicle limits, especially in complex track lines, where errors exist in both manual observation and active detection equipment.

Method used

LiDAR is used to collect point clouds, combined with offline map matching and conversion to determine the distance between obstacles and vehicles. Through point cloud matching algorithm and coordinate system conversion, an accurate obstacle detection method is generated.

Benefits of technology

It enables accurate judgment of the distance between obstacles and vehicles in complex track lines, and improves the safety and stability of rail vehicle driving.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114663850B_ABST
    Figure CN114663850B_ABST
Patent Text Reader

Abstract

The present application discloses an obstacle detection method, device, rail vehicle, and storage medium. The method is applied to a rail vehicle equipped with a laser radar, and includes: obtaining a first current frame point cloud collected by the laser radar; selecting a target frame offline point cloud that matches the first current frame point cloud from an offline map; converting the first current frame point cloud to the map coordinate system of the offline map based on the first current frame point cloud and the target frame offline point cloud, thereby obtaining a second current frame point cloud and the rail vehicle's current position in the offline map; selecting, based on the current position, the boundary node coordinates of at least one target boundary area within a preset range from the offline map, wherein the target boundary area is any boundary area within a preset range from the current position along the track's forward direction; and determining the distance between an obstacle within the preset range and the rail vehicle based on the second current frame point cloud and the boundary node coordinates of each target boundary area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of vehicle technology, and more specifically, to an obstacle detection method, an obstacle detection device, a rail vehicle, and a computer-readable storage medium. Background Art

[0002] During the operation of rail vehicles, there are cases where foreign objects (e.g., structures along the track, gravel, pedestrians, etc.) caused by natural or human factors intrude into the rail vehicle limits, which seriously endangers the safety and stability of rail vehicle operation. To address the problem of foreign objects intruding into the rail vehicle limits, in traditional manual driving scenarios, the driver mainly relies on manual observation to determine whether there are obstacles within the limits in front of the rail vehicle, and the distance between the obstacles and the rail vehicle when there are obstacles. In more intelligent unmanned driving scenarios, a series of active detection devices (such as cameras) are mainly used to detect whether there are obstacles within the limits in front of the vehicle, and the distance between the obstacles and the rail vehicle when there are obstacles.

[0003] However, due to the linear complexity of the track lines for rail vehicles, neither manual observation by the driver nor detection using active detection equipment can accurately determine the distance between the obstacle and the rail vehicle when there is an obstacle within the limit. Summary of the Invention

[0004] One purpose of this application is to provide a new technical solution for obstacle detection.

[0005] According to a first aspect of the present application, there is provided an obstacle detection method, which is applied to a rail vehicle equipped with a laser radar, comprising:

[0006] Get the point cloud collected by the lidar in the first current frame;

[0007] Selecting a target frame offline point cloud that matches the first current frame point cloud from the offline map;

[0008] According to the first current frame point cloud and the target frame offline point cloud, the first current frame point cloud is converted into a map coordinate system of the offline map to obtain a second current frame point cloud and a current position of the rail vehicle corresponding to the offline map;

[0009] selecting, from the offline map, based on the current position, the coordinates of a boundary node of at least one target boundary area within a preset range, wherein the target boundary area is any boundary area within a preset range from the current position along the track advance direction;

[0010] The distance between the obstacle within a preset range and the rail vehicle is determined based on the second current frame point cloud and the boundary node coordinates of each target boundary area.

[0011] Optionally, the offline map is generated by the following steps:

[0012] Acquire multiple frames of laser point clouds collected by the laser radar along the track line;

[0013] Determine a positioning map based on each frame of laser point cloud, wherein the positioning map includes a frame of offline point cloud corresponding to each frame of laser point cloud, and the translation distance and Euler angle of the corresponding lidar coordinate system relative to the map coordinate system of the positioning map. A frame of offline point cloud is a point cloud converted from a frame of laser point cloud to the map coordinate system;

[0014] According to each set of translation distances and Euler angles, the base space and the coordinate origin of the corresponding frame laser point cloud in the map coordinate system are determined;

[0015] Determine the coordinates of the bounding nodes of each bounding area in the map coordinate system according to the base space and the coordinate origin of each frame of laser point cloud in the map coordinate system and the distance between the coordinate origin and the corresponding bounding area in the radar coordinate system of the corresponding frame of laser point cloud;

[0016] An offline map is generated based on the bounding node coordinates of each bounding area and the corresponding frame offline point cloud.

[0017] Optionally, each bounded area is a cuboid, and the bounding node coordinates of each bounded area in the map coordinate system are represented by the coordinates of eight vertices of the corresponding cuboid;

[0018] After determining the coordinates of the bounding nodes of each bounding area in the map coordinate system based on the base space and the coordinate origin of each frame of laser point cloud in the map coordinate system and the distance between the coordinate origin and the corresponding bounding area in the radar coordinate system of the corresponding frame of laser point cloud, the method further includes:

[0019] The coordinates of the bounding nodes of each bounding area in the map coordinate system are updated to the coordinates of four target vertices in the corresponding cuboid; wherein the four target vertices are composed of vertices corresponding to three sides having common points in the corresponding cuboid.

[0020] Optionally, each bounded area is a cuboid, and after selecting, from the offline map according to the current position, the bounded node coordinates of at least one target bounded area within a preset range, the method further includes:

[0021] Calculating the angle between two edges at the same position in a first bounding area and a second bounding area, wherein the first bounding area and the second bounding area are two adjacent bounding areas in at least one target bounding area;

[0022] When the difference between the included angle and the straight angle is less than a preset angle, the first bounding area and the second bounding area are merged into a third bounding area, and the first bounding area and the second bounding area are updated to the third bounding area;

[0023] The bounding node coordinates of the third bounding area are determined according to the bounding node coordinates of the first bounding area and the bounding node coordinates of the second bounding area.

[0024] Optionally, determining the distance between the obstacle within a preset range and the rail vehicle based on the second current frame point cloud and the coordinates of the boundary node of each target boundary area includes:

[0025] Determining a point located within each of the target bounding regions based on the second current frame point cloud and the bounding node coordinates of each of the target bounding regions;

[0026] Clustering the points within each target bounding area to obtain a point cloud of obstacles within the preset range;

[0027] The distance between the obstacle located within the preset range and the rail vehicle is determined based on the obstacle point cloud.

[0028] Optionally, determining the point cloud located within each target bounding area based on the second current frame point cloud includes:

[0029] For each of the target bounding areas, determining the maximum value and the minimum value of the target bounding area on the three coordinate axes of the map coordinate system according to the bounding node coordinates of the target bounding area;

[0030] According to the maximum value and the minimum value corresponding to each target bounding area, the second current frame point cloud is respectively subjected to through-filtering to obtain a point cloud located within each target bounding area in the second current frame point cloud.

[0031] Optionally, the step of performing direct filtering on the second current frame point cloud according to the maximum value corresponding to each target bounded area to obtain a point cloud located within each target bounded area in the second current frame point cloud includes:

[0032] According to the maximum value and the minimum value corresponding to each target bounding area, the second current frame point cloud is respectively subjected to through-filtering to obtain a rough point cloud located within each target bounding area in the second current frame point cloud;

[0033] For each rough point in the rough point cloud located within each target bounding region, determining whether the rough point is located on opposite sides of a set of parallel planes corresponding to the target bounding region;

[0034] If yes, it is determined that the rough point is located in the corresponding target bounding area.

[0035] According to a second aspect of the present application, an obstacle detection device is provided, the device comprising a laser radar, a memory, and a processor, wherein:

[0036] A laser radar, wherein the laser radar is used to collect point clouds;

[0037] The memory is used to store computer instructions;

[0038] The processor is configured to call the computer instructions from the memory to execute the method as described in any one of the first aspects.

[0039] According to a third aspect of the present application, a rail vehicle is provided, comprising the obstacle detection device according to the second aspect.

[0040] According to a fourth aspect of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the method according to any one of the first aspects is implemented.

[0041] In an embodiment of the present application, a first current frame point cloud collected by a laser radar is obtained, and a target frame offline point cloud that matches the current frame point cloud is selected from the offline map. Based on the first current frame point cloud and the target frame offline point cloud, the current frame point cloud can be converted to the map coordinate system of the offline map to obtain a second current frame point cloud and the current position of the rail vehicle corresponding to the offline map. Based on this, based on the current position, the boundary node coordinates of at least one target boundary area within a preset range are selected from the offline map. Then, based on the second current frame point cloud and the boundary node coordinates of each target boundary area, the point cloud within the at least one target boundary area in the second current frame point cloud can be determined. This determined point cloud is the obstacle point cloud within the preset range. Furthermore, based on the point cloud within each target boundary area, the distance between the obstacle within the preset range and the rail vehicle can be determined. Since the offline map is a boundary node coordinate of a boundary area including the actual track on which the rail vehicle runs, that is, the embodiment of the present application can obtain a priori track boundary information, therefore, executing the embodiment of the present application can accurately obtain the distance between the obstacle and the rail vehicle within the preset range.

[0042] Other features and advantages of the present application will become apparent from the following detailed description of exemplary embodiments of the present application with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the application and, together with the description, serve to explain the principles of the application.

[0044] Figure 1 This is a flow chart of an obstacle detection method provided in an embodiment of the present application;

[0045] Figure 2 This is a schematic diagram of the positional relationship between a rough point and a cuboid corresponding to a target bounding area provided in an embodiment of the present application;

[0046] Figure 3 This is a schematic diagram of a first bounding area and a second bounding area provided in an embodiment of the present application;

[0047] Figure 4 Schematic diagram of the structure of an obstacle detection device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0048] Various exemplary embodiments of the present application will now be described in detail with reference to the accompanying drawings. It should be noted that unless otherwise specifically stated, the relative arrangements of components and steps, numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present application.

[0049] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.

[0050] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered part of the specification.

[0051] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not limiting. Therefore, other examples of the exemplary embodiments may have different values.

[0052] It should be noted that like reference numerals and letters refer to like items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0053] <Method Example>

[0054] The present application provides an obstacle detection method for a rail vehicle equipped with a laser radar. For example, the laser radar can be mounted on the top of the rail vehicle. The rail vehicle can be a train, high-speed train, subway, or the like.

[0055] like Figure 1 As shown, the obstacle detection method provided in the embodiment of the present application includes the following S1100-S1500:

[0056] S1100: Obtain the first current frame point cloud collected by the laser radar.

[0057] In the embodiment of the present application, the frame point cloud collected by the laser radar at the current collection time is recorded as the first current frame point cloud. The first current frame point cloud is a frame point cloud in the laser radar coordinate system, and the first current frame point cloud includes multiple points, and a set of vectors (usually expressed in the form of X, Y, Z three-dimensional coordinates) for each point in the laser radar coordinate system, RGB color, grayscale value, depth, segmentation results, etc.

[0058] It can be understood that the first current frame point cloud can be used to describe the laser radar, that is, the shape of the environment in which the rail vehicle is currently located.

[0059] S1200: Select a target frame offline point cloud that matches the first current frame point cloud from the offline map.

[0060] In this embodiment of the present application, the offline map is obtained offline in advance. The offline map includes the boundary nodes of the actual track bounding area on which the rail vehicle operates in the offline map coordinate system, as well as the frame offline point cloud corresponding to each boundary area. It should be noted that in this embodiment of the present application, the entire continuous boundary area of ​​the track on which the rail vehicle operates is divided into multiple overlapping or non-overlapping boundary areas.

[0061] Among them, the limit refers to the outline dimension line that buildings, equipment and rail vehicles cannot cross on the track line to ensure transportation safety.

[0062] In an embodiment of the present application, the above-mentioned S1200 may be specifically implemented by using a point cloud matching algorithm to match the first current frame point cloud with each offline frame point cloud in the offline map, and recording the offline frame point cloud in the offline map that best matches the first current frame point cloud as the target frame offline point cloud. The point cloud matching algorithm may be an NDT algorithm and / or an ICP algorithm. When the point cloud matching algorithm is an NDT algorithm or an ICP algorithm, the above-mentioned use of the point cloud matching algorithm to match the first current frame point cloud with each offline frame point cloud in the offline map may specifically be: first using the NDT algorithm to perform a probability-based coarse point cloud matching, then using the ICP algorithm to perform a distance-based fine point cloud matching, and recording the finely matched offline frame point cloud as the target frame offline point cloud.

[0063] S1300 : According to the first current frame point cloud and the target frame offline point cloud, the first current frame point cloud is converted to the map coordinate system of the offline map to obtain the second current frame point cloud and the current position of the rail vehicle corresponding to the offline map.

[0064] In an embodiment of the present application, the specific implementation of the above S1300 is as follows: based on the first frame current frame point cloud and the target frame offline point cloud, determine the rotation matrix R and translation matrix T of the laser radar coordinate system corresponding to the first current frame point cloud and the map coordinate system corresponding to the target frame offline point cloud. According to each point in the first current frame point cloud, the rotation matrix R and the translation matrix T, the first current frame point cloud is converted to the map coordinate system of the offline map, so that the second current frame point cloud can be obtained. That is, the second current frame point cloud is a representation of the first current frame point cloud in the map coordinate system. At the same time, the target offline frame point cloud is used to represent the current position of the rail vehicle in the offline map, because there is a corresponding relationship between the offline frame point cloud and the position of the rail vehicle in the offline map.

[0065] S1400 : Selecting, from an offline map, the coordinates of a boundary node of at least one target boundary area within a preset range according to the current position.

[0066] The target limit area is any limit area within a preset range from the current position along the track forward direction.

[0067] In an embodiment of the present application, the preset range can be set according to actual needs. In one example, the preset range can be 100m.

[0068] In one embodiment of the present application, when collecting offline point clouds, the distance between the position of the rail vehicle on the track corresponding to the first offline point cloud frame collected and the position of the rail vehicle on the track corresponding to the second offline point cloud frame collected is determined; the quotient between a preset range and the distance is calculated, and each of the quotient bounding areas along the track direction of the target offline point cloud frame corresponding to the current position is determined as the target bounding area. The first offline point cloud frame and the second offline point cloud frame are adjacent point clouds.

[0069] S1500 : Determine the distance between an obstacle within a preset range and the rail vehicle based on the second current frame point cloud and the boundary node coordinates of each target boundary area.

[0070] In this embodiment of the present application, the above S1500 is specifically implemented as follows: for each point in the second current frame point cloud, determining whether the point is located within the area represented by the coordinates of the bounding node of any target bounding area. If so, determining that point as an obstacle point. The object composed of all obstacle points is determined to be an obstacle located within a preset range.

[0071] In one embodiment, each point in the second current frame point cloud contains a set of vectors in map coordinates. Therefore, based on the above-determined obstacle point containing a set of vectors, the distance between the rail vehicle and the obstacle point can be determined, and the distance is determined as the distance between the obstacle and the rail vehicle within a preset range.

[0072] In another embodiment, when an obstacle exists within the preset range, the number of points corresponding to the obstacle in the second current frame point cloud is multiple. Therefore, the points of the obstacle determined above can be clustered, and the distance between the cluster center of each cluster and the rail vehicle is determined as the distance between the obstacle within the preset range and the rail vehicle. On this basis, the above S1500 can be implemented through the following S1510-S1530:

[0073] S1510 , determining a point located within each target bounding area according to the second current frame point cloud and the bounding node coordinates of each target bounding area.

[0074] S1520: Cluster the point clouds within each target boundary area to obtain obstacle point clouds within a preset range.

[0075] S1530: Determine the distance between the obstacle and the rail vehicle within a preset range based on the obstacle point cloud.

[0076] In this embodiment of the present application, based on the second current frame point cloud and the coordinates of the bounding nodes of each target bounding region, points within the target bounding region in the second current frame are determined. Using a point cloud segmentation and clustering algorithm, points within any target bounding region in the second current frame point cloud are clustered to form at least one cluster. Points within each cluster correspond to an obstacle point cloud. Based on the center point of each obstacle point cloud, the distance between each obstacle point cloud and the rail vehicle within a preset range can be determined.

[0077] The point cloud segmentation and clustering algorithm may be a point cloud segmentation and clustering algorithm based on Euclidean distance, that is, a distance threshold (such as 1 meter) is set, and points with adjacent distances less than or equal to the threshold are determined to belong to the same class.

[0078] In one embodiment of the present application, the above S1510 may be implemented by the following S1511 and S1512:

[0079] S1511 . For each target bounding area, determine the maximum value and the minimum value of the target bounding area on the three coordinate axes of the map coordinate system according to the bounding node coordinates of the target bounding area.

[0080] S1512 , performing direct filtering on the second current frame point cloud according to the maximum value and the minimum value corresponding to each target bounding area, to obtain a point cloud located within each target bounding area in the second current frame point cloud.

[0081] In the embodiment of the present application, the specific process of the through-filter is as follows: for each point in the second current frame point cloud, if the x-axis value corresponding to the point is between the maximum and minimum x-axis values ​​of the target bounded area in the map coordinate system, and the y-axis value corresponding to the point is between the maximum and minimum y-axis values ​​of the target bounded area in the map coordinate system, and the z-axis value corresponding to the point is between the maximum and minimum z-axis values ​​of the target bounded area in the map coordinate system, then the point is considered to be within the target bounded area. Otherwise, the point is considered to be outside the target bounded area.

[0082] It should be noted that the X-axis value, Y-axis value, and Z-axis value corresponding to each point in the second current frame point cloud can be represented by a set of vectors of the point in the map coordinate system (usually expressed in the form of X, Y, and Z three-dimensional coordinates).

[0083] In one embodiment of the present application, the above S1512 can be specifically implemented through the following S1512-1, S1512-2, and S1512-3:

[0084] S1512-1. According to the maximum value and the minimum value corresponding to each target bounding area, the second current frame point cloud is respectively subjected to direct filtering to obtain a rough point cloud located in each target bounding area in the second current frame point cloud.

[0085] In the embodiment of the present application, the specific implementation of the above S1512-1 is similar to that of the above S1512, and will not be repeated here.

[0086] S1512-2. For each rough point in the rough point cloud within each target bounding region, determine whether the rough point is located on the opposite side of a set of parallel planes corresponding to the target bounding region.

[0087] S1512-3. If yes, determine whether the rough point is located in the corresponding target bounding area.

[0088] In the embodiments of the present application, the exemplary Figure 2 As shown, when the target bounding area is represented by a cuboid, if the rough point is on the same side of a set of parallel faces of the target bounding area, it means that the rough point is outside the cuboid, that is, outside the target bounding area. Conversely, if the rough point is on the opposite side of a set of parallel faces of the target bounding area, it means that the rough point cloud is inside the cuboid, that is, inside the target bounding area.

[0089] The same side means that, for a set of parallel planes, the rough points are all located on the left or right side of the set of parallel planes.

[0090] And, as Figure 2 For example, consider the left and right parallel planes of the cuboid corresponding to the target limit shown. The normal vector to these parallel planes is AB. For a rough point P', if P' is on the same side of the parallel planes, the angles between vectors AP' and AB, and between vectors BP' and AB, must be acute. For a rough point P, if P is on opposite sides of the parallel planes, the angles between vectors AP and AB, and between vectors BP and AB, must be one acute and the other obtuse. Based on this, we can determine whether a rough point is on opposite sides of the parallel planes corresponding to the target limit region.

[0091] In an embodiment of the present application, a first current frame point cloud collected by a laser radar is obtained, and a target frame offline point cloud that matches the current frame point cloud is selected from the offline map. Based on the first current frame point cloud and the target frame offline point cloud, the current frame point cloud can be converted to the map coordinate system of the offline map to obtain a second current frame point cloud and the current position of the rail vehicle corresponding to the offline map. Based on this, based on the current position, the boundary node coordinates of at least one target boundary area within a preset range are selected from the offline map. Then, based on the second current frame point cloud and the boundary node coordinates of each target boundary area, the point cloud within the at least one target boundary area in the second current frame point cloud can be determined. This determined point cloud is the obstacle point cloud within the preset range. Furthermore, based on the point cloud within each target boundary area, the distance between the obstacle within the preset range and the rail vehicle can be determined. Since the offline map is a boundary node coordinate of a boundary area including the actual track on which the rail vehicle runs, that is, the embodiment of the present application can obtain a priori track boundary information, therefore, executing the embodiment of the present application can accurately obtain the distance between the obstacle and the rail vehicle within the preset range.

[0092] In one embodiment of the present application, the present application embodiment further includes a step of generating an offline map. The offline map is generated by the following steps S1210-S1214:

[0093] S1210: Obtain multiple frames of laser point clouds collected by the laser radar along the track line.

[0094] In the embodiment of the present application, a rail vehicle is equipped with a laser radar, which starts at the starting position of the track and runs at the speed at which the rail vehicle actually runs. At the same time, laser point clouds are periodically collected at set time intervals, and each collected laser point cloud is regarded as a frame of laser point cloud until the rail vehicle reaches the end position of the track. On this basis, each frame of laser point cloud collected by the laser radar constitutes the multiple frames of laser point cloud in S1210 above.

[0095] S1211. Determine a positioning map based on each frame of laser point cloud.

[0096] Among them, the positioning map includes a frame of offline point cloud corresponding to each frame of laser point cloud, the translation distance and Euler angle of the corresponding lidar coordinate system relative to the map coordinate system of the positioning map. A frame of offline point cloud is a point cloud converted from a frame of laser point cloud to the map coordinate system.

[0097] It is understandable that each frame of laser point cloud is a frame of laser point cloud in the radar coordinate system of the laser radar. It should be noted that the map coordinate system corresponding to the positioning map and the map coordinate system corresponding to the offline map in the embodiment of the present application are the same coordinate system.

[0098] In the embodiment of the present application, the above S1211 may be specifically implemented by using a SLAM algorithm to determine high-precision positioning and mapping based on each frame of laser point cloud. The SLAM algorithm may be any one of the LOAM, LIOM, and LIO-SAM algorithms.

[0099] S1212. Determine the base space and coordinate origin of the corresponding frame laser point cloud in the map coordinate system according to each set of translation distances and Euler angles.

[0100] In the embodiment of the present application, the specific implementation of the above S1212 can be: for a set of translation distances and Euler angles, based on the Euler angles, the Euler angles in robotics and the conversion relationship between the rotation matrix, obtain the rotation matrix R' corresponding to the Euler angles. According to the translation distance, determine the translation matrix T' corresponding to the translation distance. According to the rotation matrix R', the translation matrix T', the basis space of the corresponding frame laser point cloud in the radar coordinate system, and the origin coordinates, determine the basis space and origin coordinates of the corresponding frame laser point cloud in the map coordinate system.

[0101] Among them, the expression of the translation distance is T i =[tx i 、ty i ,tz i ], the expression of the translation matrix T' corresponding to the translation distance is:

[0102] Among them, i represents the frame number of the corresponding frame laser point cloud.

[0103] According to the rotation matrix R', translation matrix T', the base space of the corresponding frame laser point cloud in the radar coordinate system, and the origin coordinates, the base space and origin coordinates of the corresponding frame laser point cloud in the map coordinates are determined by the following expression:

[0104]

[0105]

[0106] in, And it is the basis space of the corresponding frame laser point cloud in the laser radar coordinate system. lidar =(0, 0, 0), and is the coordinate origin of the corresponding frame lidar point cloud in the lidar coordinate system.

[0107] S1213. Determine the coordinates of the boundary nodes of each bounded area in the map coordinate system based on the base space and the coordinate origin of each frame of laser point cloud in the map coordinate system and the distance between the coordinate origin of the corresponding frame of laser point cloud and the corresponding bounded area in the radar coordinate system.

[0108] In an embodiment of the present application, for each frame of the laser point cloud, the distance between the origin of the corresponding laser radar coordinate system and the corresponding bounded area can be calculated in advance. The coordinates of the bounding node of the corresponding bounded area are then obtained by combining the position of the origin of the corresponding laser radar coordinate system in the map coordinate system with the distance to the corresponding bounded area. The position of the origin of the corresponding laser radar coordinate system in the map coordinate system can be obtained based on the base space and coordinate origin of the corresponding laser radar coordinate system in the map coordinate system.

[0109] In one example, if a bounded area is represented by a cuboid, the distance between the origin of the corresponding laser radar coordinate system and the corresponding bounded area is the distance between the origin of the corresponding laser radar coordinate system and the six faces of the cuboid corresponding to the bounded area. In this embodiment, any vertex of the cuboid is used as the bounding node of the corresponding bounded area, and the coordinates of the bounding node are calculated using the following formula:

[0110]

[0111] The coordinates of the point to be determined are (x, y, z), which is the bounding node. The coordinates of the known point are (x, y, z), which is the position of the origin of the corresponding LiDAR coordinate system in the map coordinate system. (m, n, p) are the coordinates between the point to be determined and the known point, and d is the distance between the point to be determined and the known point. Both (m, n, p) and d are derived from the distance between the origin of the LiDAR coordinate system and the corresponding bounding area.

[0112] S1214: Generate an offline map based on the coordinates of the bounding nodes of each bounding area and the offline point cloud of the corresponding frame.

[0113] In the embodiment of the present application, the bounding node coordinates of each bounding area and the corresponding frame offline point cloud are directly used as the offline map.

[0114] In one embodiment of the present application, each bounded area is a cuboid, and the bounding node coordinates of each bounded area in the map coordinate system are represented by the eight vertex coordinates of the corresponding cuboid. On this basis, the method provided in the embodiment of the present application further includes S1215 after the above S1213:

[0115] S1215. Update the coordinates of the bounding nodes of each bounding area in the map coordinate system to the coordinates of the four target vertices in the corresponding cuboid; wherein the four target vertices are composed of vertices corresponding to the three sides that have common points in the corresponding cuboid.

[0116] In the embodiment of the present application, each bounded region is a cuboid. It is understood that the four vertices corresponding to the three common vertex sides of the cuboid can represent the cuboid. Therefore, through the above S1215, the bounded region described by eight bounding node coordinates can be described by four bounding node coordinates. This greatly reduces the storage capacity.

[0117] In one embodiment of the present application, each bounded area is a cuboid. The obstacle detection method provided in the embodiment of the present application further includes the following steps S1410 to S1412 after the above S1400:

[0118] S1410 , calculating the angle between two edges at the same position in the first bounding area and the second bounding area; the first bounding area and the second bounding area are two adjacent bounding areas in at least one target bounding area.

[0119] S1411: When the difference between the included angle and the straight angle is smaller than a preset angle, merge the first bounding area and the second bounding area into a third bounding area, and update the first bounding area and the second bounding area to the third bounding area.

[0120] S1412 : Determine the bounding node coordinates of the third bounding area according to the bounding node coordinates of the first bounding area and the bounding node coordinates of the second bounding area.

[0121] In the embodiment of the present application, the two sides at the same position in the first bounding area and the second bounding area refer to two sides that are substantially in the same direction as the first bounding area and the second bounding area and have an intersection.

[0122] For example, the first bounding area and the second bounding area may be as follows Figure 3 shown, and Figure 3 The side CD and the side C'D' in are two sides at the same position in the first bounding area and the second bounding area.

[0123] In this embodiment of the present application, a vector corresponding to edge CD can be determined in the first bounded region. Furthermore, a vector corresponding to edge C'D' can be determined in the second bounded region. Based on the vector corresponding to edge CD and the vector corresponding to edge C'D', the angle between edges CD and C'D' can be calculated.

[0124] In an embodiment of the present application, when the difference between the included angle and the straight angle is less than a preset angle, it indicates that the included angle and the straight angle are substantially the same, i.e., side CD and side C'D' are substantially aligned. On the basis that both the first and second bounding regions are rectangular parallelepipeds, if side CD and side C'D' are substantially aligned, then the first and second bounding regions form an approximate rectangular parallelepiped. In this way, the first and second bounding regions can be merged into the same rectangular parallelepiped, i.e., merged into a third bounding region. The bounding nodes of the third bounding region can be represented by the coordinates of the eight vertices of the aforementioned approximate rectangular parallelepiped, or by the coordinates of the four vertices corresponding to the three common vertices of the approximate rectangular parallelepiped.

[0125] It should be noted that, when the coordinates of the bounding nodes are known, the vectors corresponding to the two bounding nodes can be determined according to the coordinates of the bounding nodes corresponding to the two bounding nodes.

[0126] In the embodiment of the present application, by merging the first bounded area and the second bounded area, the number of target bounded areas can be reduced, so that the amount of calculation can be greatly reduced when S1500 is subsequently executed.

[0127] <Device Example>

[0128] The embodiment of the present application provides an obstacle detection device 400, such as Figure 4 As shown, the apparatus 400 includes:

[0129] A laser radar 410, which is used to collect point clouds;

[0130] The memory 420 is used to store computer instructions;

[0131] The processor 430 is configured to call the computer instructions from the memory 420 to execute the method as described in any one of the above method embodiments.

[0132] <Equipment Example>

[0133] An embodiment of the present application provides a rail vehicle, which includes an obstacle detection device 400 provided in the above-mentioned device embodiment.

[0134] In one embodiment of the present application, the rail vehicle may be a train, a high-speed train, a subway, etc.

[0135] <Storage Medium Embodiment>

[0136] An embodiment of the present application provides a computer-readable storage medium, characterized in that a computer program is stored thereon, and when the computer program is executed by a processor, the method provided in any one of the above method embodiments is implemented.

[0137] The present application may be a system, method and / or computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present application.

[0138] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination thereof. As used herein, a computer-readable storage medium is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through an electrical wire.

[0139] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.

[0140] The computer program instructions for performing the operation of the present application can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data or source code or object code written in any combination of one or more programming languages, wherein the programming language includes object-oriented programming languages ​​such as Smalltalk, C++, and conventional procedural programming languages ​​such as "C" language or similar programming languages. Computer-readable program instructions can be executed completely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or executed completely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer by any type of network including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (such as by using an Internet service provider to connect to the Internet). In certain embodiments, by utilizing the state information of computer-readable program instructions to personalize electronic circuits, such as programmable logic circuits, field programmable gate arrays (FPGAs) or programmable logic arrays (PLAs), the electronic circuits can execute computer-readable program instructions, thereby realizing various aspects of the present application.

[0141] Various aspects of the present application are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present application. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0142] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0143] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0144] The flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a part of a module, program segment or instruction, and the part of the module, program segment or instruction contains one or more executable instructions for realizing the specified logical function. In some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, implementation by software, and implementation by a combination of software and hardware are all equivalent.

[0145] The embodiments of the present application have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements to technologies in the market, or to enable other persons skilled in the art to understand the embodiments disclosed herein. The scope of this application is defined by the appended claims.

Claims

1. An obstacle detection method, characterized in that: The method is applied to a rail vehicle equipped with a laser radar, and includes: Get the point cloud collected by the lidar in the first current frame; Selecting a target frame offline point cloud that matches the first current frame point cloud from the offline map; According to the first current frame point cloud and the target frame offline point cloud, the first current frame point cloud is converted into a map coordinate system of the offline map to obtain a second current frame point cloud and a current position of the rail vehicle corresponding to the offline map, wherein the current position is represented by the target frame offline point cloud; selecting, from the offline map, based on the current position, the coordinates of a boundary node of at least one target boundary area within a preset range, wherein the target boundary area is any boundary area within a preset range from the current position along the track advance direction; The distance between the obstacle within a preset range and the rail vehicle is determined based on the second current frame point cloud and the boundary node coordinates of each target boundary area.

2. The method according to claim 1, characterized in that The offline map is generated by the following steps: Acquire multiple frames of laser point clouds collected by the laser radar along the track line; Determine a positioning map based on each frame of laser point cloud, wherein the positioning map includes a frame of offline point cloud corresponding to each frame of laser point cloud, and the translation distance and Euler angle of the corresponding lidar coordinate system relative to the map coordinate system of the positioning map. A frame of offline point cloud is a point cloud converted from a frame of laser point cloud to the map coordinate system; According to each set of translation distances and Euler angles, the base space and the coordinate origin of the corresponding frame laser point cloud in the map coordinate system are determined; Determine the coordinates of the bounding nodes of each bounding area in the map coordinate system according to the base space and the coordinate origin of each frame of laser point cloud in the map coordinate system and the distance between the coordinate origin and the corresponding bounding area in the radar coordinate system of the corresponding frame of laser point cloud; An offline map is generated based on the bounding node coordinates of each bounding area and the corresponding frame offline point cloud.

3. The method according to claim 2, characterized in that Each of the bounded areas is a cuboid, and the bounded node coordinates of each bounded area in the map coordinate system are represented by the coordinates of the eight vertices of the corresponding cuboid; After determining the coordinates of the bounding nodes of each bounding area in the map coordinate system based on the base space and the coordinate origin of each frame of laser point cloud in the map coordinate system and the distance between the coordinate origin and the corresponding bounding area in the radar coordinate system of the corresponding frame of laser point cloud, the method further includes: The coordinates of the bounding nodes of each bounding area in the map coordinate system are updated to the coordinates of four target vertices in the corresponding cuboid; wherein the four target vertices are composed of vertices corresponding to three sides having common points in the corresponding cuboid.

4. The method according to claim 1, wherein Each bounded area is a cuboid. After selecting the bounded node coordinates of at least one target bounded area within a preset range from the offline map according to the current position, the method further includes: Calculating the angle between two edges at the same position in a first bounding area and a second bounding area, wherein the first bounding area and the second bounding area are two adjacent bounding areas in at least one target bounding area; When the difference between the included angle and the straight angle is less than a preset angle, the first bounding area and the second bounding area are merged into a third bounding area, and the first bounding area and the second bounding area are updated to the third bounding area; The bounding node coordinates of the third bounding area are determined according to the bounding node coordinates of the first bounding area and the bounding node coordinates of the second bounding area.

5. The method according to claim 1, wherein The determining, based on the second current frame point cloud and the boundary node coordinates of each target boundary area, the distance between the obstacle within a preset range and the rail vehicle includes: Determining a point located within each of the target bounding regions based on the second current frame point cloud and the bounding node coordinates of each of the target bounding regions; Clustering the points within each target bounding area to obtain a point cloud of obstacles within the preset range; The distance between the obstacle located within the preset range and the rail vehicle is determined based on the obstacle point cloud.

6. The method according to claim 5, characterized in that The step of determining a point cloud located within each of the target bounding areas based on the second current frame point cloud includes: For each of the target bounding areas, determining the maximum value and the minimum value of the target bounding area on the three coordinate axes of the map coordinate system according to the bounding node coordinates of the target bounding area; According to the maximum value and the minimum value corresponding to each target bounding area, the second current frame point cloud is respectively subjected to straight-through filtering to obtain a point cloud located within each target bounding area in the second current frame point cloud.

7. The method according to claim 6, characterized in that The step of filtering the second current frame point cloud according to the maximum value and the minimum value corresponding to each target bounded area to obtain a point cloud located within each target bounded area in the second current frame point cloud includes: According to the maximum value and the minimum value corresponding to each target bounded area, the second current frame point cloud is respectively subjected to through-filtering to obtain a rough point cloud located within each target bounded area in the second current frame point cloud; For each rough point in the rough point cloud located within each target bounding region, determining whether the rough point is located on opposite sides of a set of parallel planes corresponding to the target bounding region; If yes, it is determined that the rough point is located in the corresponding target bounding area.

8. An obstacle detection device, characterized in that: The device includes a laser radar, a memory, and a processor, wherein: A laser radar, wherein the laser radar is used to collect point clouds; The memory is used to store computer instructions; The processor is configured to call the computer instructions from the memory to execute the method according to any one of claims 1 to 7.

9. A rail vehicle, characterized in that: The rail vehicle comprises the obstacle detection device according to claim 8.

10. A computer-readable storage medium, characterized in that A computer program is stored thereon, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Train automatic driving sensing method and system

    CN111717244A

  • Aircraft winding inspection device and positioning method thereof, and storage medium

    CN111812669A