Vehicle cleaning path determination method, device, equipment, medium and program product

CN122077664BActive Publication Date: 2026-08-11上海云骥智行智能科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-04-23
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

[0003]目前,传统方法通常依赖人工预分割车身区域,再对每个子面独立规划路径;然而,由于各子面路径独立规划,在子面边界处会产生大量非必要的过渡移动段,导致路径总长度增加、清洗效率降低

Benefits of technology

[0069]本申请实施例提供的车辆清洗路径的确定方法、装置、设备、介质及程序产品,通过确定待清洗车辆对应的三维点云数据,以及,三维空间向二维空间映射的Z轴投影方向和X轴投影方向;按照Z轴投影方向和X轴投影方向,将三维点云数据映射至二维空间,得到无障碍物区域;对无障碍物区域进行分割,得到单元格列表和每个单元格对应的扫描线;采用路径连接算法,基于单元格列表和每个单元格对应的扫描线,生成二维空间的候选清洗路径;通过双变量样条插值,将候选清洗路径映射至三维空间,得到目标清洗路径。本申请通过将车辆三维点云数据映射至二维空间,然后,通过在二维空间的执行区域分解与路径规划,解决了传统路径规划依赖人工分割、路径冗余及复杂曲面适应性差的问题,实现全局最优覆盖;此外,通过路径连接算法优化单元格访问顺序,生成清洗路径,避免子面拼接产生的冗余的过渡移动段;最后,通过双变量样条插值将二维空间的路径映射回三维空间,确保清洗路径的连续性与覆盖完整性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122077664B_ABST
    Figure CN122077664B_ABST
Patent Text Reader

Abstract

This application provides a method, apparatus, device, medium, and program product for determining a vehicle cleaning path. The method maps the 3D point cloud data of the vehicle to be cleaned to a 2D space according to the Z-axis and X-axis projection directions to obtain an unobstructed area; it then segments the unobstructed area to obtain a list of cells and a scan line corresponding to each cell; using a path connection algorithm, it generates candidate cleaning paths in the 2D space based on the cell list and the scan line corresponding to each cell; finally, it maps the candidate cleaning paths to a 3D space using bivariate spline interpolation to obtain the target cleaning path. This application avoids the redundant path problem of traditional segmentation methods by mapping the vehicle's 3D point cloud data to a 2D space and then performing region decomposition and path planning; finally, it maps the paths from the 2D space back to the 3D space using bivariate spline interpolation, ensuring the continuity and coverage integrity of the cleaning path.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of car wash robot path planning, and in particular to a method, apparatus, equipment, medium and program product for determining a vehicle washing path. Background Technology

[0002] With the increasing automation in the automotive industry, robotic car wash robots are widely used in car manufacturing, car wash centers, and other scenarios. These robots achieve efficient cleaning of car body surfaces through high-precision path planning. The core challenge lies in how to generate the globally optimal cleaning path for complex and varied car body surfaces (such as streamlined designs, multi-curvature surfaces, and irregular contours).

[0003] Currently, traditional methods typically rely on manual pre-segmentation of the vehicle body area, followed by independent path planning for each sub-face. However, because each sub-face's path is planned independently, a large number of unnecessary transitional movement segments are generated at the sub-face boundaries, leading to an increase in the total path length and a decrease in cleaning efficiency. For example, in areas where the vehicle body curvature changes drastically, 3D path planning requires frequent adjustments to the robotic arm's posture, resulting in wasted computational resources and reduced path efficiency.

[0004] Therefore, there is an urgent need for a method to determine a continuous and accurate vehicle washing path. Summary of the Invention

[0005] The vehicle cleaning path determination method, apparatus, equipment, medium, and program products provided in this application are intended to improve the accuracy and continuity of the vehicle cleaning path.

[0006] In a first aspect, embodiments of this application provide a method for determining a vehicle washing path, applied to a car wash robot, including:

[0007] Determine the 3D point cloud data corresponding to the vehicle to be cleaned, as well as the projection direction of the 3D space onto the 2D space; wherein, the projection direction includes the Z-axis projection direction and the X-axis projection direction corresponding to the 3D space.

[0008] The 3D point cloud data is mapped to a 2D space according to the Z-axis projection direction and the X-axis projection direction to generate a binarized obstacle map; the binarized obstacle map includes obstacle-free areas;

[0009] The unobstructed area is segmented to obtain a list of cells and the scan line corresponding to each cell;

[0010] A path connection algorithm is used to generate candidate cleaning paths in two-dimensional space based on a list of cells and the scan line corresponding to each cell.

[0011] By using bivariate spline interpolation, the candidate cleaning path is mapped to three-dimensional space to obtain the target cleaning path.

[0012] In one possible implementation, the unobstructed area is segmented to obtain a list of cells and a scan line corresponding to each cell, including:

[0013] According to the preset detection direction, edge line detection is performed on the obstacle-free area to obtain multiple edge lines; among them, the edge lines are perpendicular to the preset detection direction.

[0014] Based on multiple edge lines, the barrier-free area is divided into multiple barrier-free segments and at least one obstacle segment;

[0015] Perform connectivity analysis on each accessible segment and each obstacle segment to generate a list of cells; the list of cells includes accessible cells.

[0016] Scan the unobstructed cells in the cell list to obtain the scan line corresponding to each unobstructed cell.

[0017] In one possible implementation, the cells in the cell list without obstacles are scanned to obtain the scan line corresponding to each cell, including:

[0018] For any unobstructed cell in the cell list, determine the aspect ratio of the unobstructed cell and check whether the aspect ratio is greater than the preset aspect ratio threshold.

[0019] If the aspect ratio is greater than the preset aspect ratio threshold, a horizontal scanning method is used to scan any unobstructed cell to obtain the scan line corresponding to any unobstructed cell.

[0020] If the aspect ratio is less than or equal to the preset aspect ratio threshold, a vertical scanning method is used to scan any unobstructed cell to obtain the scan line corresponding to any unobstructed cell.

[0021] In one possible implementation, the candidate cleaning path is mapped to three-dimensional space using bivariate spline interpolation to obtain the target cleaning path, including:

[0022] Determine the two-dimensional center coordinates of each cell in the candidate cleaning path;

[0023] For any target cell in the candidate cleaning path, bivariate spline interpolation is used to determine multiple candidate sample points based on the two-dimensional center coordinates of the target cell;

[0024] Calculate the distance between multiple candidate sample points and the origin of the three-dimensional coordinate system, and determine the target sample point corresponding to the target cell based on the distance values.

[0025] The target cleaning path is obtained based on the target sample point corresponding to each cell in the candidate cleaning path.

[0026] In one possible implementation, determining the target sample point corresponding to the target cell based on the distance value includes:

[0027] The candidate sample point corresponding to the minimum distance value is taken as the target candidate sample point;

[0028] Determine if the minimum distance value is less than a preset distance threshold; if the minimum distance value is less than the preset distance threshold, then determine the target candidate sample point as the target sample point corresponding to the target cell;

[0029] If the minimum distance value is greater than or equal to the preset distance threshold, then the weight value corresponding to each distance value is determined; based on the weight value corresponding to each distance value and multiple candidate sample points, a weighted average is performed to obtain the target sample point corresponding to the target cell.

[0030] In one possible implementation, the three-dimensional point cloud data is mapped to a two-dimensional space according to the Z-axis projection direction and the X-axis projection direction to generate a binarized obstacle map, including:

[0031] For any target 3D point in 3D point cloud data, determine the change in point cloud vector between the target 3D point and its adjacent 3D points;

[0032] If the change in the point cloud vector meets the preset obstacle conditions, then the target 3D point is marked as an obstacle;

[0033] For any 3D point in the 3D point cloud data, the coordinate values ​​of the Z-axis projection direction and the X-axis projection direction of the 3D point are mapped to a 2D space to obtain 2D coordinates;

[0034] A two-dimensional obstacle map is generated based on the two-dimensional coordinates corresponding to each three-dimensional point; the two-dimensional obstacle map is then binarized to obtain a binarized obstacle map.

[0035] Secondly, embodiments of this application provide a vehicle washing path determination device, applied to a car wash robot, comprising:

[0036] The determination module is used to determine the three-dimensional point cloud data corresponding to the vehicle to be cleaned, as well as the projection direction of the three-dimensional space onto the two-dimensional space; wherein, the projection direction includes the Z-axis projection direction and the X-axis projection direction corresponding to the three-dimensional space.

[0037] The processing module is used to map 3D point cloud data to 2D space according to the Z-axis projection direction and X-axis projection direction to generate a binarized obstacle map; wherein, the binarized obstacle map includes obstacle-free areas;

[0038] The processing module is also used to segment the unobstructed area to obtain a list of cells and the scan line corresponding to each cell;

[0039] The generation module is used to generate candidate cleaning paths in two-dimensional space based on a list of cells and the scan line corresponding to each cell, using a path connection algorithm.

[0040] The mapping module is used to map candidate cleaning paths to three-dimensional space through bivariate spline interpolation to obtain the target cleaning path.

[0041] In one possible implementation, the processing module is further configured to:

[0042] According to the preset detection direction, edge line detection is performed on the obstacle-free area to obtain multiple edge lines; among them, the edge lines are perpendicular to the preset detection direction.

[0043] Based on multiple edge lines, the barrier-free area is divided into multiple barrier-free segments and at least one obstacle segment;

[0044] Perform connectivity analysis on each accessible segment and each obstacle segment to generate a list of cells; the list of cells includes accessible cells.

[0045] Scan the unobstructed cells in the cell list to obtain the scan line corresponding to each unobstructed cell.

[0046] In one possible implementation, the processing module is further configured to:

[0047] For any unobstructed cell in the cell list, determine the aspect ratio of the unobstructed cell and check whether the aspect ratio is greater than the preset aspect ratio threshold.

[0048] If the aspect ratio is greater than the preset aspect ratio threshold, a horizontal scanning method is used to scan any unobstructed cell to obtain the scan line corresponding to any unobstructed cell.

[0049] If the aspect ratio is less than or equal to the preset aspect ratio threshold, a vertical scanning method is used to scan any unobstructed cell to obtain the scan line corresponding to any unobstructed cell.

[0050] In one possible implementation, the mapping module is also used for:

[0051] Determine the two-dimensional center coordinates of each cell in the candidate cleaning path;

[0052] For any target cell in the candidate cleaning path, bivariate spline interpolation is used to determine multiple candidate sample points based on the two-dimensional center coordinates of the target cell;

[0053] Calculate the distance between multiple candidate sample points and the origin of the three-dimensional coordinate system, and determine the target sample point corresponding to the target cell based on the distance values.

[0054] The target cleaning path is obtained based on the target sample point corresponding to each cell in the candidate cleaning path.

[0055] In one possible implementation, the mapping module is also used for:

[0056] The candidate sample point corresponding to the minimum distance value is taken as the target candidate sample point;

[0057] Determine if the minimum distance value is less than a preset distance threshold; if the minimum distance value is less than the preset distance threshold, then determine the target candidate sample point as the target sample point corresponding to the target cell;

[0058] If the minimum distance value is greater than or equal to the preset distance threshold, then the weight value corresponding to each distance value is determined; based on the weight value corresponding to each distance value and multiple candidate sample points, a weighted average is performed to obtain the target sample point corresponding to the target cell.

[0059] In one possible implementation, the processing module is further configured to:

[0060] For any target 3D point in 3D point cloud data, determine the change in point cloud vector between the target 3D point and its adjacent 3D points;

[0061] If the change in the point cloud vector meets the preset obstacle conditions, then the target 3D point is marked as an obstacle;

[0062] For any 3D point in the 3D point cloud data, the coordinate values ​​of the Z-axis projection direction and the X-axis projection direction of the 3D point are mapped to a 2D space to obtain 2D coordinates;

[0063] A two-dimensional obstacle map is generated based on the two-dimensional coordinates corresponding to each three-dimensional point; the two-dimensional obstacle map is then binarized to obtain a binarized obstacle map.

[0064] Thirdly, embodiments of this application provide an electronic device, including: a memory and a processor;

[0065] The memory stores the instructions that the computer executes;

[0066] The processor executes computer execution instructions stored in memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect as described above.

[0067] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the first aspect and / or various possible implementations of the first aspect.

[0068] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the first aspect and / or various possible implementations of the first aspect.

[0069] The vehicle cleaning path determination method, apparatus, equipment, medium, and program product provided in this application's embodiments determine the three-dimensional point cloud data corresponding to the vehicle to be cleaned, as well as the Z-axis projection direction and X-axis projection direction of the three-dimensional space mapped to the two-dimensional space; according to the Z-axis projection direction and X-axis projection direction, the three-dimensional point cloud data is mapped to the two-dimensional space to obtain an obstacle-free area; the obstacle-free area is segmented to obtain a cell list and a scan line corresponding to each cell; a path connection algorithm is used to generate candidate cleaning paths in the two-dimensional space based on the cell list and the scan line corresponding to each cell; and bivariate spline interpolation is used to map the candidate cleaning paths to the three-dimensional space to obtain the target cleaning path. This application maps vehicle 3D point cloud data to 2D space, and then solves the problems of traditional path planning relying on manual segmentation, path redundancy, and poor adaptability to complex surfaces by performing region decomposition and path planning in 2D space, achieving globally optimal coverage. In addition, the application optimizes the cell access order through path connection algorithm to generate a clean path and avoids redundant transitional movement segments caused by sub-face splicing. Finally, the application maps the path in 2D space back to 3D space through bivariate spline interpolation to ensure the continuity and coverage integrity of the clean path. Attached Figure Description

[0070] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0071] Figure 1 A flowchart illustrating a method for determining a vehicle washing path provided in this application;

[0072] Figure 2a A schematic diagram of a binarized obstacle map provided in this application;

[0073] Figure 2b A schematic diagram of the segmentation of a binarized obstacle map provided in this application;

[0074] Figure 2c A cell diagram of a binarized obstacle map provided in this application;

[0075] Figure 2d A schematic diagram of a candidate cleaning path in two-dimensional space provided in this application;

[0076] Figure 3 A schematic diagram of a target cleaning path in three-dimensional space provided in this application;

[0077] Figure 4 A schematic diagram of the structure of a vehicle washing path determination device provided in this application;

[0078] Figure 5 This is a schematic diagram of the structure of an electronic device provided in this application.

[0079] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0080] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0081] With the increasing automation in the automotive industry, robotic car wash robots are widely used in car manufacturing, car wash centers, and other scenarios. These robots achieve efficient cleaning of car body surfaces through high-precision path planning. The core challenge lies in how to generate the globally optimal cleaning path for complex and varied car body surfaces (such as streamlined designs, multi-curvature surfaces, and irregular contours).

[0082] Currently, traditional methods typically rely on manual pre-segmentation of the vehicle body area, followed by independent path planning for each sub-face. However, because each sub-face's path is planned independently, a large number of unnecessary transitional movement segments are generated at the sub-face boundaries, leading to an increase in the total path length and a decrease in cleaning efficiency. For example, in areas where the vehicle body curvature changes drastically, 3D path planning requires frequent adjustments to the robotic arm's posture, resulting in wasted computational resources and reduced path efficiency.

[0083] Therefore, there is an urgent need for a method to determine a continuous and accurate vehicle washing path.

[0084] This application provides a method, apparatus, equipment, medium, and program product for determining vehicle cleaning paths. It determines the 3D point cloud data corresponding to the vehicle to be cleaned, as well as the Z-axis and X-axis projection directions of the 3D space onto the 2D space. Following the Z-axis and X-axis projection directions, the 3D point cloud data is mapped to the 2D space to obtain an unobstructed area. This unobstructed area is then segmented to obtain a cell list and a scan line corresponding to each cell. A path connection algorithm is used to generate candidate cleaning paths in the 2D space based on the cell list and the scan line corresponding to each cell. Finally, bivariate spline interpolation is used to map the candidate cleaning paths to the 3D space to obtain the target cleaning path. This application solves the problems of traditional path planning relying on manual segmentation, path redundancy, and poor adaptability to complex surfaces by mapping the vehicle's 3D point cloud data to the 2D space and then performing region decomposition and path planning in the 2D space, achieving globally optimal coverage. Furthermore, the path connection algorithm optimizes the cell access order to generate the cleaning path, avoiding redundant transitional movement segments caused by sub-surface splicing. Finally, bivariate spline interpolation is used to map the path from the 2D space back to the 3D space, ensuring the continuity and coverage integrity of the cleaning path.

[0085] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0086] Figure 1 A flowchart illustrating a method for determining a vehicle washing path provided in this application is shown below. Figure 1 As shown, the method, applied to a car wash robot, includes:

[0087] S101. Determine the three-dimensional point cloud data corresponding to the vehicle to be cleaned, and the projection direction of the three-dimensional space onto the two-dimensional space; wherein, the projection direction includes the Z-axis projection direction and the X-axis projection direction corresponding to the three-dimensional space.

[0088] Among them, 3D point cloud data refers to a dense data set composed of 3D coordinate points, used to describe the shape of an object's surface, such as point cloud data of a car body collected by LiDAR or a depth camera.

[0089] The projection directions of the three-dimensional space onto the two-dimensional space are as follows: the Z-axis projection direction corresponds to the roof of the vehicle; the X-axis projection direction corresponds to the side of the vehicle.

[0090] S102. Map the 3D point cloud data to a 2D space according to the Z-axis projection direction and the X-axis projection direction to generate a binarized obstacle map; wherein, the binarized obstacle map includes obstacle-free areas;

[0091] Currently, traditional vehicle washing path planning methods involve first dividing the path into facets and then stitching them together. However, the paths for each facet obtained by this method are planned independently, which can easily lead to redundant transitional movement segments at the boundaries of the facets, resulting in an increase in the total path length.

[0092] To address this issue, this application maps the vehicle's 3D point cloud data to a 2D space, preserving the surface geometry. Path planning is then performed directly in the 2D UV space without the need for sub-surface stitching. The generated path is naturally continuous on the 3D vehicle body, reducing transitional segments.

[0093] In one possible implementation, the 3D point cloud data is mapped to a 2D space according to the Z-axis projection direction and the X-axis projection direction to generate a binarized obstacle map. The specific process is as follows:

[0094] For any target 3D point in 3D point cloud data, determine the change in point cloud vector between the target 3D point and its adjacent 3D points;

[0095] If the change in the point cloud vector meets the preset obstacle conditions, then the target 3D point is marked as an obstacle;

[0096] For any 3D point in the 3D point cloud data, the coordinate values ​​of the Z-axis projection direction and the X-axis projection direction of the 3D point are mapped to a 2D space to obtain 2D coordinates;

[0097] A two-dimensional obstacle map is generated based on the two-dimensional coordinates corresponding to each three-dimensional point; the two-dimensional obstacle map is then binarized to obtain a binarized obstacle map.

[0098] The preset obstacle conditions include a vector change threshold and a vector mutation; the vector change threshold can be set according to requirements, for example, as follows: The direction of the vector mutation is opposite to the direction of the migration vector change. If the point cloud vector change meets any of the preset obstacle conditions, it means that the target 3D point corresponding to the point cloud vector change is an obstacle.

[0099] For example, 3D point cloud data includes: P1(1,2,3), P2(2,3,5), P3(3,1,4), and P4(4,4,6). The point cloud vector change between P1 and P2 is... The target 3D point is P2; similarly, , The direction of the change in the migration vector is from P1 to P4. By comparison, the change in the point cloud vector... If the direction of movement is from P3 to P2, which is opposite to the direction of change of the migration vector, then the target 3D point P3 will be marked as an obstacle.

[0100] Understandably, once the obstacle is identified, when projecting the 3D point cloud data into the 2D space, the obstacle will also be projected into the 2D space.

[0101] Specifically, the 3D point cloud data is mapped to 2D space according to the Z-axis and X-axis projection directions. First, for the Z-axis projection direction, which refers to projecting the 3D points onto the XY plane along the Z-axis, the mapped UV coordinates are U=X, V=Y. Therefore, in the XY plane, the UV coordinates of the 3D points are P11(1,2), P12(2,3), P13(3,1), and P14(4,4). Similarly, for the X-axis projection direction, which refers to projecting the 3D points onto the YZ plane along the X-axis, i.e., U=Y, V=Z, the UV coordinates of the 3D points in the YZ plane are P21(2,3), P22(3,5), P23(1,4), and P24(4,6).

[0102] Furthermore, to remove coordinate range differences, normalization is performed on the two-dimensional coordinates corresponding to the XY and YZ planes obtained from the mapping; that is, the coordinates of all points in the two-dimensional coordinates are normalized to the range [0,1]. Then, based on all the normalized two-dimensional coordinates, a two-dimensional obstacle ground is generated. For example, for the two-dimensional coordinates of the XY plane, where the UV coordinate range is: U∈[1,4], V∈[1,4]; then, normalizing P11 yields:

[0103]

[0104]

[0105] Binarization refers to the process of dividing an image into two color regions. For example, binarizing a two-dimensional obstacle map yields a binarized obstacle map. Figure 2a A schematic diagram of a binarized obstacle map provided in this application, such as... Figure 2a As shown, in the binarized obstacle map, the black areas represent obstacles, and the white areas represent areas without obstacles.

[0106] This step marks obstacles by changing point cloud vectors, improving the accuracy of obstacle identification. Furthermore, the two-dimensional obstacle map is binarized to separate obstacle-free areas from obstacle areas, improving the accuracy of subsequent obstacle-free area division.

[0107] S103. Divide the unobstructed area to obtain a list of cells and the scan line corresponding to each cell;

[0108] This method employs Boustrophedon Cellular Decomposition (BCD) to globally decompose the binary obstacle map, thus dividing the obstacle-free area. Performing global BCD decomposition on a two-dimensional plane eliminates the need for pre-segmentation of the vehicle's 3D point cloud data, making it adaptable to any vehicle type and curved surface.

[0109] In one possible implementation, the unobstructed area is segmented to obtain a list of cells and a scan line corresponding to each cell. The specific process is as follows:

[0110] According to the preset detection direction, edge line detection is performed on the obstacle-free area to obtain multiple edge lines; among them, the edge lines are perpendicular to the preset detection direction.

[0111] Based on multiple edge lines, the barrier-free area is divided into multiple barrier-free segments and at least one obstacle segment;

[0112] Perform connectivity analysis on each obstacle-free segment and each obstacle segment to generate a list of cells; the list of cells includes obstacle-free cells;

[0113] Scan the unobstructed cells in the cell list to obtain the scan line corresponding to each unobstructed cell.

[0114] In conjunction with the foregoing, for the UV coordinates in two-dimensional space, the preset detection direction is along the U-axis. Moving to the right along the U-axis, edge line detection is performed on the obstacle-free area. When the edge of an obstacle is touched, it is determined to be an edge line; for the same obstacle, when the edge of the obstacle is left, it is determined to be an edge line.

[0115] Figure 2b This application provides a schematic diagram of the segmentation of a binarized obstacle map, such as... Figure 2b As shown, the vertical dashed line is the edge line; based on this edge line, the barrier-free area is divided into multiple barrier-free segments "segment 1, segment 3, segment 5, segment 7" and multiple obstacle segments "segment 2, segment 4, segment 6".

[0116] Connectivity analysis involves identifying connected regions between adjacent pixels and generating a list of cells representing the covered area. Therefore, connectivity analysis is performed on each obstacle-free segment, dividing the segment into multiple cells. Each cell contains a label for the corresponding actual vehicle component. All cells are then combined to obtain the cell list.

[0117] Figure 2c A cell diagram of a binarized obstacle map provided in this application, such as... Figure 2cAs shown, after performing connected component analysis, the cells corresponding to obstacle-free segments have a consistent width, while the cells corresponding to obstacle segments have a width determined by the size of the obstacle. Cells 1, 2, and 3 are obstacle cells, and the remaining cells are obstacle-free cells within the passable area. Then, the obstacle-free cells in the cell list are scanned to obtain the scan line corresponding to each obstacle-free cell. This step, through critical line detection, avoids over-segmentation or under-segmentation problems caused by traditional fixed thresholds, ensuring that the cell division fits the vehicle's curved surface contour. Connected component analysis further refines the cell structure of obstacle-free segments, providing a more accurate foundation for subsequent path generation, thereby enhancing the coverage completeness and adaptability of path planning.

[0118] In one possible implementation, the list of cells without obstacles is scanned to obtain the scan line corresponding to each cell without obstacles. The specific process is as follows:

[0119] For any unobstructed cell in the cell list, determine the aspect ratio of the unobstructed cell and check whether the aspect ratio is greater than the preset aspect ratio threshold.

[0120] If the aspect ratio is greater than the preset aspect ratio threshold, a horizontal scanning method is used to scan any unobstructed cell to obtain the scan line corresponding to any unobstructed cell.

[0121] If the aspect ratio is less than or equal to the preset aspect ratio threshold, a vertical scanning method is used to scan any unobstructed cell to obtain the scan line corresponding to any unobstructed cell.

[0122] The preset aspect ratio threshold can be set according to requirements. For example, if the preset aspect ratio threshold is set to 1, then for any accessible cell "accessible cell 1", the aspect ratio E1 corresponding to accessible cell 1 is determined. If E1 is greater than 1, a horizontal scanning method is used for accessible cell 1 to obtain the scan line corresponding to accessible cell 1. If E1 is less than or equal to 1, a vertical scanning method is used for accessible cell 1 to obtain the scan line corresponding to accessible cell 1.

[0123] This step improves the accuracy of the scan lines by selecting the scanning method based on the aspect ratio of the cells, thereby increasing the accuracy of the subsequent generation of cleaning paths based on the scan lines.

[0124] S104. Using a path connection algorithm, candidate cleaning paths in two-dimensional space are generated based on the cell list and the scan line corresponding to each cell.

[0125] Among these are path connection algorithms such as greedy algorithms and path optimization algorithms (Traveling Salesman Problem, TSP). For example, Figure 2d A schematic diagram of a candidate cleaning path in two-dimensional space provided in this application is shown below. Figure 2d As shown, the TSP algorithm is used to connect each obstacle-free cell based on the scan line corresponding to each obstacle-free cell, generating a candidate cleaning path in two-dimensional space.

[0126] S105. By using bivariate spline interpolation, the candidate cleaning path is mapped to three-dimensional space to obtain the target cleaning path.

[0127] Bivariate spline interpolation refers to constructing a continuous surface using smooth curves in both u and v directions, transforming discrete points into a complete, smooth vehicle body surface that can be arbitrarily evaluated. This allows candidate cleaning paths to be mapped to three-dimensional space, ensuring path continuity and reducing the need for frequent posture adjustments by the car wash robot.

[0128] The bivariate spline function is as follows:

[0129]

[0130] in, For bivariate B-spline basis functions; coefficient vector N represents the total number of coordinate points in the u and v directions. The three-dimensional coordinates are obtained through interpolation. First, using the known corresponding two-dimensional and three-dimensional coordinates, the coefficient vector is solved; specifically, the known corresponding coordinates are substituted into the following formula to solve for the coefficient vector:

[0131]

[0132] Based on the solved coefficient vector, the three-dimensional mapping function can be obtained as follows:

[0133]

[0134] This bivariate spline function can be used to solve for the three-dimensional coordinates corresponding to the two-dimensional coordinates in the candidate cleaning path.

[0135] In one possible implementation, the candidate cleaning path is mapped to three-dimensional space through bivariate spline interpolation to obtain the target cleaning path. The specific process is as follows:

[0136] Determine the two-dimensional center coordinates of each cell in the candidate cleaning path;

[0137] For any target cell in the candidate cleaning path, bivariate spline interpolation is used to determine multiple candidate sample points based on the two-dimensional center coordinates of the target cell;

[0138] Calculate the distance between multiple candidate sample points and the origin of the three-dimensional coordinate system, and determine the target sample point corresponding to the target cell based on the distance values.

[0139] The target cleaning path is obtained based on the target sample point corresponding to each cell in the candidate cleaning path.

[0140] Here, a sample point refers to the three-dimensional coordinates corresponding to two-dimensional coordinates.

[0141] For example, for "cell 5" in the candidate cleaning path, the two-dimensional center coordinates of cell 5 are coordinates (Uk, Vk). Substituting coordinates (Uk, Vk) into the above three-dimensional mapping function, we can obtain multiple candidate sample points corresponding to cell 5. Then, we calculate the distance values ​​from all candidate sample points to the origin of the three-dimensional coordinate system. Based on the distance values, we determine the target sample point from the multiple candidate sample points; that is, the three-dimensional coordinates corresponding to the two-dimensional center coordinates of cell 5.

[0142] Then, based on the three-dimensional coordinates of all cells in the candidate cleaning path, and according to the direction of the candidate cleaning path, all the three-dimensional coordinates are connected to obtain the target cleaning path in the corresponding three-dimensional space. Figure 3 This application provides a schematic diagram of a target cleaning path in three-dimensional space, as shown below. Figure 3 As shown in the image, the lines on the vehicle body represent the vehicle's washing path.

[0143] This step determines the target sample point from multiple candidate sample points using distance values, reducing computational complexity and ensuring the accuracy of the target sample point.

[0144] In one possible implementation, the target sample point corresponding to the target cell is determined based on the distance value, and the specific process is as follows:

[0145] The candidate sample point corresponding to the minimum distance value is taken as the target candidate sample point;

[0146] Determine if the minimum distance value is less than a preset distance threshold; if the minimum distance value is less than the preset distance threshold, then determine the target candidate sample point as the target sample point corresponding to the target cell;

[0147] If the minimum distance value is greater than or equal to the preset distance threshold, then the weight value corresponding to each distance value is determined; based on the weight value corresponding to each distance value and multiple candidate sample points, a weighted average is performed to obtain the target sample point corresponding to the target cell.

[0148] The preset distance threshold can be set according to requirements, for example, the preset distance threshold can be set to 0.5 centimeters (cm).

[0149] Based on the above, for example, the multiple candidate sample points corresponding to cell 5 are: candidate sample point 1 "A1=(x1, y1, z1)", candidate sample point 2 "A2=(x2, y2, z2)", and candidate sample point 3 "A3=(x3, y3, z3)". The distances from the three candidate sample points to the origin of the three-dimensional coordinate system are calculated as: candidate sample point 1 - d1, candidate sample point 2 - d2, and candidate sample point 3 - d3. Comparison shows that d2 is the minimum distance value, so the candidate sample point "candidate sample point 2" corresponding to d2 is selected as the target candidate sample point; d2 is then compared with a preset distance threshold.

[0150] If d2 is less than the preset distance threshold of 0.5cm, then candidate sample point 2 is determined to be the target sample point B corresponding to cell 5.

[0151] If d2 is greater than or equal to the preset distance threshold of 0.5cm, then calculate the weight value corresponding to d2. , Similarly, the weight value corresponding to d1 is w1, and the weight value corresponding to d3 is w1. Based on the weight value w1, a weighted average is performed on the candidate sample points corresponding to the minimum distance value to obtain the target sample point corresponding to cell 5. ;Right now , and The same principle applies.

[0152] This step determines the distance values ​​of candidate sample points and then selects different methods for determining target sample points to ensure the accuracy of target sample points and improve the accuracy of target cleaning path generation.

[0153] This application provides a method for determining a vehicle cleaning path. The method involves determining the 3D point cloud data corresponding to the vehicle to be cleaned, and the Z-axis and X-axis projection directions of the 3D space onto the 2D space. The 3D point cloud data is mapped to the 2D space according to the Z-axis and X-axis projection directions to obtain an obstacle-free area. This obstacle-free area is then segmented to obtain a cell list and a scan line corresponding to each cell. A path connection algorithm is used to generate candidate cleaning paths in the 2D space based on the cell list and the scan line corresponding to each cell. Finally, bivariate spline interpolation is used to map the candidate cleaning paths to the 3D space to obtain the target cleaning path. This application addresses the problems of traditional path planning, such as reliance on manual segmentation, path redundancy, and poor adaptability to complex surfaces, by mapping the vehicle's 3D point cloud data to the 2D space and then performing region decomposition and path planning in the 2D space, achieving globally optimal coverage. Furthermore, the path connection algorithm optimizes the cell access order to generate the cleaning path, avoiding redundant transitional movement segments caused by sub-surface splicing. Finally, bivariate spline interpolation maps the path from the 2D space back to the 3D space, ensuring the continuity and coverage integrity of the cleaning path.

[0154] Figure 4 A schematic diagram of the structure of a vehicle washing path determination device provided in this application is shown below. Figure 4 As shown, the vehicle washing path determination device 400 provided in this embodiment, applied to car wash robots, includes:

[0155] The determining module 401 is used to determine the three-dimensional point cloud data corresponding to the vehicle to be cleaned, and the projection direction of the three-dimensional space to the two-dimensional space; wherein, the projection direction includes the Z-axis projection direction and the X-axis projection direction corresponding to the three-dimensional space.

[0156] The processing module 402 is used to map the three-dimensional point cloud data to a two-dimensional space according to the Z-axis projection direction and the X-axis projection direction to generate a binarized obstacle map; wherein, the binarized obstacle map includes obstacle-free areas;

[0157] The processing module 402 is also used to segment the barrier-free area to obtain a list of cells and the scan line corresponding to each cell;

[0158] The generation module 403 is used to generate candidate cleaning paths in two-dimensional space based on the cell list and the scan line corresponding to each cell using a path connection algorithm.

[0159] The mapping module 404 is used to map the candidate cleaning path to three-dimensional space through bivariate spline interpolation to obtain the target cleaning path.

[0160] In one possible implementation, the processing module 402 is further configured to:

[0161] According to the preset detection direction, edge line detection is performed on the obstacle-free area to obtain multiple edge lines; among them, the edge lines are perpendicular to the preset detection direction.

[0162] Based on multiple edge lines, the barrier-free area is divided into multiple barrier-free segments and at least one obstacle segment;

[0163] Perform connectivity analysis on each accessible segment and each obstacle segment to generate a list of cells; the list of cells includes accessible cells.

[0164] Scan the unobstructed cells in the cell list to obtain the scan line corresponding to each unobstructed cell.

[0165] In one possible implementation, the processing module 402 is further configured to:

[0166] For any unobstructed cell in the cell list, determine the aspect ratio of the unobstructed cell and check whether the aspect ratio is greater than the preset aspect ratio threshold.

[0167] If the aspect ratio is greater than the preset aspect ratio threshold, a horizontal scanning method is used to scan any unobstructed cell to obtain the scan line corresponding to any unobstructed cell.

[0168] If the aspect ratio is less than or equal to the preset aspect ratio threshold, a vertical scanning method is used to scan any unobstructed cell to obtain the scan line corresponding to any unobstructed cell.

[0169] In one possible implementation, the mapping module 404 is further configured to:

[0170] Determine the two-dimensional center coordinates of each cell in the candidate cleaning path;

[0171] For any target cell in the candidate cleaning path, bivariate spline interpolation is used to determine multiple candidate sample points based on the two-dimensional center coordinates of the target cell;

[0172] Calculate the distance between multiple candidate sample points and the origin of the three-dimensional coordinate system, and determine the target sample point corresponding to the target cell based on the distance values.

[0173] The target cleaning path is obtained based on the target sample point corresponding to each cell in the candidate cleaning path.

[0174] In one possible implementation, the mapping module 404 is further configured to:

[0175] The candidate sample point corresponding to the minimum distance value is taken as the target candidate sample point;

[0176] Determine if the minimum distance value is less than a preset distance threshold; if the minimum distance value is less than the preset distance threshold, then determine the target candidate sample point as the target sample point corresponding to the target cell;

[0177] If the minimum distance value is greater than or equal to the preset distance threshold, then the weight value corresponding to each distance value is determined; based on the weight value corresponding to each distance value and multiple candidate sample points, a weighted average is performed to obtain the target sample point corresponding to the target cell.

[0178] In one possible implementation, the processing module 402 is further configured to:

[0179] For any target 3D point in 3D point cloud data, determine the change in point cloud vector between the target 3D point and its adjacent 3D points;

[0180] If the change in the point cloud vector meets the preset obstacle conditions, then the target 3D point is marked as an obstacle;

[0181] For any 3D point in the 3D point cloud data, the coordinate values ​​of the Z-axis projection direction and the X-axis projection direction of the 3D point are mapped to a 2D space to obtain 2D coordinates;

[0182] A two-dimensional obstacle map is generated based on the two-dimensional coordinates corresponding to each three-dimensional point; the two-dimensional obstacle map is then binarized to obtain a binarized obstacle map.

[0183] The vehicle cleaning path determination device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail here.

[0184] Figure 5 This is a schematic diagram of the structure of an electronic device provided in this application. Figure 5 As shown, the electronic device 50 provided in this embodiment includes at least one processor 501 and a memory 502. Optionally, the device 50 further includes a communication component 503. The processor 501, memory 502, and communication component 503 are connected via a bus 504.

[0185] In a specific implementation, at least one processor 501 executes computer execution instructions stored in memory 502, causing at least one processor 501 to perform the above-described method.

[0186] The specific implementation process of processor 501 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.

[0187] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.

[0188] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.

[0189] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.

[0190] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.

[0191] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.

[0192] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.

[0193] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.

[0194] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.

[0195] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0196] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0197] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0198] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.

[0199] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.

Claims

1. A method for determining a vehicle washing path, characterized in that, Applications in car wash robots include: The three-dimensional point cloud data corresponding to the vehicle to be cleaned is determined, as well as the projection direction of the three-dimensional space onto the two-dimensional space; wherein, the projection direction includes the Z-axis projection direction and the X-axis projection direction corresponding to the three-dimensional space. The three-dimensional point cloud data is mapped to a two-dimensional space according to the Z-axis projection direction and the X-axis projection direction to generate a binarized obstacle map; wherein, the binarized obstacle map includes obstacle-free areas; The unobstructed area is segmented to obtain a list of cells and a scan line corresponding to each cell; A path connection algorithm is used to generate candidate cleaning paths in two-dimensional space based on the cell list and the scan line corresponding to each cell. Determine the two-dimensional center coordinates of each cell in the candidate cleaning path; For any target cell in the candidate cleaning path, bivariate spline interpolation is used to determine multiple candidate sample points based on the two-dimensional center coordinates of the target cell; Calculate the distance values ​​between the multiple candidate sample points and the three-dimensional coordinate origin, and take the candidate sample point corresponding to the minimum distance value as the target candidate sample point; determine whether the minimum distance value is less than a preset distance threshold; if the minimum distance value is less than the preset distance threshold, then determine the target candidate sample point as the target sample point corresponding to the target cell; If the minimum distance value is greater than or equal to the preset distance threshold, then the weight value corresponding to each distance value is determined; based on the weight value corresponding to each distance value and the multiple candidate sample points, a weighted average is performed to obtain the target sample point corresponding to the target cell; The target cleaning path is obtained based on the target sample point corresponding to each cell in the candidate cleaning path.

2. The method according to claim 1, characterized in that, The unobstructed area is segmented to obtain a list of cells and a scan line corresponding to each cell, including: According to the preset detection direction, edge line detection is performed on the obstacle-free area to obtain multiple edge lines; wherein, the edge lines are perpendicular to the preset detection direction; Based on the multiple edge lines, the barrier-free area is divided to obtain multiple barrier-free segments and at least one obstacle segment; Perform connected component analysis on each obstacle-free segment and each obstacle segment to generate the cell list; the cell list includes obstacle-free cells; Scan the unobstructed cells in the cell list to obtain the scan line corresponding to each unobstructed cell.

3. The method according to claim 2, characterized in that, The step of scanning the cell list to obtain the scan line corresponding to each cell includes: For any unobstructed cell in the cell list, determine the aspect ratio of the unobstructed cell and determine whether the aspect ratio is greater than a preset aspect ratio threshold. If the aspect ratio is greater than the preset aspect ratio threshold, then a horizontal scanning method is used to scan any unobstructed cell to obtain the scan line corresponding to any unobstructed cell; If the aspect ratio is less than or equal to the preset aspect ratio threshold, a vertical scanning method is used to scan any unobstructed cell to obtain the scan line corresponding to any unobstructed cell.

4. The method according to claim 1, characterized in that, The step of mapping the 3D point cloud data to a 2D space according to the Z-axis projection direction and the X-axis projection direction to generate a binarized obstacle map includes: For any target 3D point in the 3D point cloud data, determine the change in the point cloud vector between the target 3D point and its adjacent 3D points; If the change in the point cloud vector meets the preset obstacle conditions, then the target 3D point is marked as an obstacle; For any three-dimensional point in the three-dimensional point cloud data, the coordinate values ​​of the Z-axis projection direction and the X-axis projection direction of the any three-dimensional point are mapped to a two-dimensional space to obtain two-dimensional coordinates; A two-dimensional obstacle map is generated based on the two-dimensional coordinates corresponding to each three-dimensional point; the two-dimensional obstacle map is then binarized to obtain the binarized obstacle map.

5. A device for determining a vehicle washing path, characterized in that, Applications in car wash robots include: The determination module is used to determine the three-dimensional point cloud data corresponding to the vehicle to be cleaned, and the projection direction of the three-dimensional space onto the two-dimensional space; wherein, the projection direction includes the Z-axis projection direction and the X-axis projection direction corresponding to the three-dimensional space. The processing module is used to map the three-dimensional point cloud data to a two-dimensional space according to the Z-axis projection direction and the X-axis projection direction to generate a binarized obstacle map; wherein the binarized obstacle map includes obstacle-free areas; The processing module is also used to segment the barrier-free area to obtain a list of cells and a scan line corresponding to each cell; The generation module is used to generate candidate cleaning paths in two-dimensional space based on the cell list and the scan line corresponding to each cell using a path connection algorithm. The mapping module is used to determine the two-dimensional center coordinates of each cell in the candidate cleaning path; For any target cell in the candidate cleaning path, bivariate spline interpolation is used to determine multiple candidate sample points based on the two-dimensional center coordinates of the target cell; Calculate the distance values ​​between the multiple candidate sample points and the three-dimensional coordinate origin, and take the candidate sample point corresponding to the minimum distance value as the target candidate sample point; determine whether the minimum distance value is less than a preset distance threshold; if the minimum distance value is less than the preset distance threshold, then determine the target candidate sample point as the target sample point corresponding to the target cell; If the minimum distance value is greater than or equal to the preset distance threshold, then the weight value corresponding to each distance value is determined; based on the weight value corresponding to each distance value and the multiple candidate sample points, a weighted average is performed to obtain the target sample point corresponding to the target cell; The target cleaning path is obtained based on the target sample point corresponding to each cell in the candidate cleaning path.

6. An electronic device, characterized in that, include: Memory, processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1-4.

7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-4.

8. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method described in any one of claims 1-4.

Citation Information

Patent Citations

  • Operation path planning algorithm for Ackerman steering unmanned cleaning trolley

    CN116339341A

  • Path planning method of breeding net cage cleaning mechanical arm

    CN120503218A