Vehicle cleaning method and device, electronic equipment, storage medium and program product

By clustering and primitive type identification of vehicle body point clouds, cleaning trajectories are planned, solving the problem of insufficient perception of different vehicle areas by existing automated car wash equipment, and achieving efficient and accurate vehicle cleaning results.

CN121019499APending Publication Date: 2025-11-28上海云骥智行智能科技有限公司

Patent Information

Application Number
CN202511535201.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-27
Publication Date
2025-11-28

AI Technical Summary

Technical Problem

Existing automated car wash equipment lacks real-time sensing and cleaning adjustment for different vehicle areas, resulting in unstable cleaning effects and difficulty in achieving high-quality, damage-free cleaning.

Method used

By acquiring the vehicle's body point cloud, performing point cloud clustering and primitive type recognition, planning the cleaning trajectory, and controlling the cleaning robot to clean different areas of the vehicle body.

Benefits of technology

This improves the cleaning robot's adaptability to the vehicle body, ensuring precise coverage of every uneven surface and edge, reducing cleaning dead spots and blind areas, and improving cleaning efficiency and cleanliness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121019499A_ABST
    Figure CN121019499A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a vehicle cleaning method and device, electronic equipment, a storage medium and a program product. The method comprises the steps of obtaining a vehicle body point cloud corresponding to a target vehicle; performing clustering division on the three-dimensional points in the vehicle body point cloud to divide the vehicle body point cloud into a plurality of point cloud areas; determining a primitive type corresponding to each point cloud region; and based on the primitive type corresponding to each point cloud area, determining a cleaning track corresponding to each point cloud area, and according to the cleaning track, controlling the cleaning robot to clean the target vehicle. The method is used for achieving the effects that targeted cleaning is conducted on different vehicle body areas, and the cleaning effect is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of vehicle cleaning control, and in particular to a vehicle cleaning method and device, an electronic device, a storage medium and a program product. BACKGROUND

[0002] Currently, when the automatic car washing device cleans a vehicle, the control mode of the end of the cleaning robot is generally single: the cleaning robot usually only relies on a preset fixed spatial trajectory for motion control, or can only achieve simple speed adjustment. In the actual car washing process, there is a serious lack of real-time perception and cleaning adjustment for different vehicle regions during cleaning. This single control strategy makes the cleaning robot unable to perform deep cleaning when facing different vehicle types and different vehicle body regions.

[0003] This rigid control lacking intelligent feedback seriously restricts the stability and reliability of the cleaning effect, making it difficult to achieve high-quality and damage-free automatic cleaning, further restricting the promotion and use of the cleaning robot. SUMMARY

[0004] The embodiments of the present application provide a vehicle cleaning method, device, electronic device, storage medium and program product, so as to achieve targeted cleaning for different vehicle body regions and improve the cleaning effect.

[0005] In a first aspect, the embodiments of the present application provide a vehicle cleaning method, comprising:

[0006] obtaining a vehicle body point cloud corresponding to a target vehicle;

[0007] performing clustering division on three-dimensional points in the vehicle body point cloud to divide the vehicle body point cloud into a plurality of point cloud regions;

[0008] determining a primitive type corresponding to each point cloud region;

[0009] based on the primitive type corresponding to each point cloud region, determining a cleaning trajectory corresponding to each point cloud region, and controlling a cleaning robot to clean the target vehicle according to the cleaning trajectory.

[0010] In a possible implementation, the clustering division on the three-dimensional points in the vehicle body point cloud to divide the vehicle body point cloud into a plurality of point cloud regions comprises:

[0011] searching for a field point of each three-dimensional point;

[0012] determining a normal vector of each three-dimensional point based on each three-dimensional point and the field point corresponding to each three-dimensional point;

[0013] The three-dimensional points in the vehicle body point cloud are clustered and divided based on the normal vectors of the three-dimensional points, to obtain a plurality of point cloud regions.

[0014] In a possible implementation, the normal vector of each three-dimensional point is determined based on the three-dimensional point and the field point corresponding to the three-dimensional point.

[0015] A covariance matrix corresponding to each three-dimensional point is determined based on the three-dimensional point and the field point corresponding to the three-dimensional point.

[0016] The covariance matrix is subjected to eigenvalue decomposition to obtain an eigenvector of a plurality of eigenvalues.

[0017] The normal vector of the three-dimensional point is determined from the eigenvector.

[0018] In a possible implementation, the primitive type corresponding to each point cloud region is determined.

[0019] The average curvature corresponding to each point cloud region is determined based on the normal vector of the three-dimensional point in the point cloud region.

[0020] The point cloud region is subjected to surface fitting based on the average curvature, to determine the primitive type corresponding to the point cloud region based on the surface fitting result and the average curvature.

[0021] In a possible implementation, a plurality of vehicle body parts correspond to a plurality of point cloud regions respectively; and a plurality of vehicle body parts are provided with a cleaning sequence in advance.

[0022] The cleaning trajectory corresponding to each point cloud region is determined based on the primitive type corresponding to each point cloud region, and the cleaning robot is controlled to clean the target vehicle according to the cleaning trajectory.

[0023] The trajectory type corresponding to each point cloud region is matched from a one-to-one correspondence relationship between a plurality of primitive types and a plurality of trajectory types based on the primitive type corresponding to each point cloud region.

[0024] The path of the cleaning robot is planned based on the trajectory type and the spatial position of the three-dimensional point in the point cloud region, to obtain the cleaning trajectory for each point cloud region.

[0025] The cleaning robot is controlled to clean the target vehicle according to the cleaning trajectory corresponding to each point cloud region according to the cleaning sequence of the vehicle body part corresponding to each point cloud region.

[0026] In one possible implementation, the path planning of the cleaning robot based on the trajectory type and the spatial positions of three-dimensional points in the point cloud region to obtain a cleaning trajectory for each of the point cloud regions includes:

[0027] Based on the spatial location of the three-dimensional points in the point cloud region and the pre-set incremental distance, multiple reference points that conform to the trajectory type are determined;

[0028] The reference point is subjected to difference smoothing to obtain multiple spatially continuous dwell points as the cleaning trajectory; the dwell points are located in the normal vector direction of the adjacent three-dimensional points.

[0029] Secondly, embodiments of this application provide a vehicle washing device, comprising:

[0030] The acquisition module is used to acquire the vehicle body point cloud corresponding to the target vehicle.

[0031] The segmentation module is used to cluster and segment the three-dimensional points in the vehicle body point cloud to divide the vehicle body point cloud into multiple point cloud regions.

[0032] The determination module is used to determine the primitive type corresponding to each point cloud region;

[0033] The control module is used to determine the cleaning trajectory corresponding to each point cloud region based on the primitive type corresponding to each point cloud region, and control the cleaning robot to clean the target vehicle according to the cleaning trajectory.

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

[0035] The memory stores computer-executed instructions;

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

[0037] 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.

[0038] 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.

[0039] The vehicle cleaning method, apparatus, electronic device, storage medium, and program products provided in this application, through point cloud clustering and primitive type identification of the vehicle body point cloud, adaptively plan the cleaning trajectory for different parts and planes on the vehicle. This ensures that the cleaning robot can optimize the cleaning trajectory for different vehicle body surfaces and ensures that the cleaning robot can highly fit the geometry of different vehicle body surfaces during the movement according to the cleaning trajectory. This allows the cleaning robot to accurately cover every concave and convex surface and edge of the vehicle body parts, effectively solving the cleaning dead corners and blind spots that are easily caused by the mismatch between the tool path and the vehicle body contour in the traditional vehicle cleaning process, and improving the efficiency and cleanliness of automated vehicle cleaning. Attached Figure Description

[0040] 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.

[0041] Figure 1 A schematic diagram of the vehicle washing system provided in this application;

[0042] Figure 2 A flowchart illustrating the vehicle cleaning method provided in this application;

[0043] Figure 3 A structural schematic diagram of the vehicle cleaning device provided in this application;

[0044] Figure 4 A schematic diagram of the structure of the electronic device provided in this application.

[0045] 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

[0046] 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.

[0047] like Figure 1As shown in the figure, this application provides a vehicle cleaning system 100, wherein the vehicle cleaning system 100 includes a data collection device 110, a controller 120 and a cleaning robot 130, and the controller 120 is connected to the data collection device 110 and the cleaning robot 130 respectively.

[0048] The cleaning robot 130 is connected to at least one receiving tank via a pipe;

[0049] When the controller 120 receives a vehicle cleaning instruction from the server of the car wash service provider, it generates a collection instruction and sends it to the collection device 110 to control the collection device 110 to collect the body point cloud of the target vehicle parked in the target area; and further clusters and divides the three-dimensional points in the body point cloud into multiple point cloud regions; then determines the primitive type corresponding to each point cloud region; finally, based on the primitive type corresponding to each point cloud region, determines the cleaning trajectory corresponding to each point cloud region, and controls the cleaning robot 130 to clean the target vehicle according to the cleaning trajectory. During the cleaning process, the cleaning robot 130 can spray the cleaning liquid in the container tank onto the body of the target vehicle.

[0050] In one embodiment, the vehicle washing system 100 is equipped with acquisition devices 110 at multiple locations to acquire point clouds of the vehicle body of a target vehicle parked in the target area from multiple angles. Alternatively, the acquisition devices 110 can be mounted on a movable base or a sliding track. After receiving an acquisition command, the acquisition devices 110 can move along a preset path or along the sliding track to acquire point clouds of the vehicle body of a target vehicle parked in the target area.

[0051] In one embodiment, the cleaning robot 130 can also be set on another movable base or sliding track. The cleaning robot 130 can move along another preset path or along the sliding track to clean the target vehicle parked in the target area according to the cleaning trajectory.

[0052] It should be noted that the aforementioned sliding track can be set on the ground surrounding the target area, on the ceiling of the corresponding target area, or on the side wall of the corresponding target area.

[0053] In one embodiment, a vehicle cleaning method is provided, which is applied to a controller in the aforementioned vehicle cleaning system. For example... Figure 2 As shown, the vehicle cleaning method includes:

[0054] Step 202: Obtain the vehicle body point cloud corresponding to the target vehicle.

[0055] As an example, vehicle body point clouds can be obtained by processing vehicle body images acquired by a data acquisition device.

[0056] In this system, after receiving a vehicle cleaning instruction from the server of the car wash service provider, the controller issues a collection instruction and sends it to the collection device 110 to control the collection device 110 to collect multiple images of the target vehicle parked in the target area.

[0057] Furthermore, the controller can construct a point cloud of the target vehicle body based on multiple vehicle body images. This process may include, for example, acquiring the pose information of each vehicle body image acquired by the acquisition device; and performing 3D mapping on the image feature points contained in each vehicle body image based on the pose information to obtain the spatial feature points corresponding to the image feature points in each vehicle body image, thus forming a vehicle body point cloud.

[0058] Image feature points typically appear at corners and areas of dramatic texture change in vehicle images, containing rich local information. An image feature point is not merely a single point in a vehicle image; it includes a series of local information, sometimes even a small region of area. For example, image feature points correspond to corner points, edges, and textures in a vehicle image, and can also correspond to edge points of different body parts on the target vehicle.

[0059] As an example, methods for extracting image feature points from vehicle images may include: using one of the following algorithms to extract image feature points contained in the vehicle image: Oriented FAST and Rotated BRIEF (ORB), Scale-Invariant Feature Transform (SIFT), or Speeded Up Robust Features (SURF).

[0060] The ORB algorithm is a fast and robust feature matching algorithm that combines feature point detection and feature description. The steps for extracting image feature points from a vehicle image using the ORB algorithm include: Image Feature Point Extraction: The ORB algorithm uses a modified FAST algorithm to extract image feature points. The basic idea of ​​the FAST algorithm is that if a pixel in a vehicle image has a sufficient number of pixels around it with significantly different values, then that point is likely a corner point. The ORB algorithm determines the orientation of the image feature point by calculating the centroid, achieving rotation invariance; Feature Description: A region is selected around the image feature point, and this region is rotated according to the orientation of the image feature point. Then, point pairs are selected within the rotated region, and the grayscale values ​​between the point pairs are compared to generate a binary descriptor. This binary descriptor has a compact representation, facilitating storage and transmission.

[0061] The SIFT algorithm is a feature extraction algorithm used in image processing and computer vision, possessing scale invariance, rotation invariance, and illumination invariance. The steps for extracting image feature points from a car body image using the SIFT algorithm include: Scale space construction: Constructing the scale space of the car body image through Gaussian blur and downsampling. Keypoint detection: Identifying local extrema in the scale space as candidate keypoints. Keypoint localization: Accurately determining the location and scale of keypoints by fitting Taylor series. Orientation assignment: Assigning one or more orientations to each keypoint to achieve rotation invariance. Feature descriptor generation: Taking a region around each keypoint and calculating its gradient histogram to form a 128-dimensional feature descriptor.

[0062] The SURF algorithm is an improvement on the SIFT algorithm, designed to enhance the speed and robustness of feature extraction. The steps for extracting image feature points from vehicle images using the SURF algorithm include: Scale space construction: Replacing the Gaussian filter with a box filter accelerates scale space construction. Keypoint detection: Detecting keypoints in the image using the determinant of the Hessian matrix. Orientation assignment: Determining the dominant orientation by calculating the Haar wavelet transform of pixels surrounding the keypoint. Feature descriptor generation: Taking a rectangular region around the keypoint and calculating the Haar wavelet features of that region to form a 64-dimensional descriptor.

[0063] Alternatively, methods for extracting image feature points from vehicle images may include: using a deep learning-based SuperPoint feature extraction algorithm or a Local Feature Matching Transformer (LoFTR) to extract image feature points contained in the vehicle image.

[0064] The SuperPoint algorithm is a self-supervised framework for training interest point detectors and descriptors suitable for a wide range of multi-view geometric problems in computer vision. The steps for extracting image feature points from vehicle images using the SuperPoint algorithm include: Feature Point Extraction: First, image feature points are extracted by generating a virtual 3D object dataset, with ground truth values ​​known during training. Then, the trained network is used on the vehicle image to extract image feature points from the target scene. Feature Point Description: After extracting image feature points, the algorithm generates a descriptor for each feature point. This descriptor is a numerical vector that comprehensively describes the feature information of the neighborhood surrounding the feature point. Network Structure: The SuperPoint algorithm employs an Encoder-Decoder network structure. The input image is processed by an Encoder (similar to the VGG structure) for feature extraction and dimensionality reduction, and the output is then fed into two Decoders. One Decoder is responsible for extracting the locations of image feature points, and the other Decoder is responsible for generating the feature point descriptors. Self-Supervised Learning: The SuperPoint algorithm uses a self-supervised learning method, training the network by generating pseudo-ground truth interest point labels without manual annotation.

[0065] The LoFTR algorithm is an end-to-end feature point matching method based on Transformer. It skips the feature point extraction step and achieves feature extraction and matching through deep learning. The steps for extracting image feature points from a car body image using the LoFTR algorithm include: Feature Extraction: Inputting two car body images with significant overlap, a Convolutional Neural Network (CNN) is used to extract local features from the car body images. Feature Transformation: The extracted feature maps are flattened into one-dimensional vectors, and positional encoding is added. Then, self-attention and cross-attention layers in the Transformer are used to transform the features to learn the dependencies and positional information between features. Coarse-grained Matching: On the transformed feature maps, a differentiable matching layer is used to calculate the matching probability between feature maps. Coarse-grained matches are selected based on confidence and the nearest neighbor criterion. Fine-grained Matching: For each coarse-grained match, a local window is cropped from the fine-grained feature map. The LoFTR module is used to further transform the features within the window, and the matching probability of each pixel is calculated through correlation. Finally, the final fine-grained matching position is determined by methods such as weighted averaging.

[0066] It should be noted that this application does not limit the method for extracting image feature points contained in a vehicle body image, as long as it can extract the local invariant features of the vehicle body image. Different methods for extracting image feature points contained in a vehicle body image should all be included within the protection scope of this application.

[0067] Furthermore, the process of the terminal matching the spatial feature points corresponding to each image feature point can usually be achieved by calculating the distance between descriptors (such as Euclidean distance, Hamming distance, etc.) to find the correspondence between image feature points and spatial feature points. Commonly used matching methods include brute-force matching, K-nearest neighbor matching (KNN), and the FastLibrary for Approximate Nearest Neighbors (FLANN). Moreover, since erroneous matches may occur during the matching process, various filtering methods (such as ratio testing, RANSAC, etc.) are needed to remove erroneous matches and ensure the quality of the matching.

[0068] It should be noted that in the process of matching the spatial feature points corresponding to each image feature point, it is necessary to obtain the spatial coordinate information of the spatial feature points corresponding to the image feature points. This process can be achieved using the Perspective-n-Point (PNP) algorithm. This application does not limit the method for obtaining the spatial coordinate information of the spatial feature points corresponding to the image feature points in the vehicle image, as long as it can achieve the mapping between two-dimensional points in the image and three-dimensional points in the scene. Different methods for mapping two-dimensional points in the image and three-dimensional points in the scene should all be included within the protection scope of this application.

[0069] It should be noted that after matching the spatial feature points corresponding to each image feature point, the controller can also remove sparse spatial feature points that are significantly off-target.

[0070] It should be noted that the vehicle washing command refers to the instruction that controls the cleaning robot in the vehicle washing system to wash the vehicle body parked in the target area.

[0071] The vehicle cleaning command can be issued by the user through the terminal's human-machine interface. Specifically, the terminal's human-machine interface can display a platform interface pre-designated by the service provider for vehicle cleaning. The user can issue the vehicle cleaning command by clicking on specific components within the platform interface. It should be noted that the user can also adjust the cleaning robot's cleaning time and the pressure of the cleaning liquid sprayed onto the vehicle by clicking on pre-integrated virtual components on the platform interface that indicate different cleaning durations and intensities. The aforementioned terminal can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, etc., while portable wearable devices can include smartwatches, smart bracelets, head-mounted devices, etc. Additionally, the terminal can also be a human-machine interface device located near the target area and wiredly connected to the controller, such as a touchscreen mounted on a wall or a touchscreen mounted on a separate pillar. This embodiment does not limit the form of the terminal for issuing vehicle cleaning commands; any terminal capable of wired or wireless communication connection to the controller in the vehicle cleaning system should be included within the scope of protection of this application.

[0072] The vehicle images can be obtained through the data acquisition equipment in the vehicle washing system.

[0073] As an example, the acquisition device can acquire video of the vehicle body of a target vehicle parked in the target area. The controller can filter the blurriness of each frame of the vehicle body image in the video to remove the blurrier vehicle body images and retain the remaining clear vehicle body images.

[0074] Alternatively, in another embodiment, the acquisition device in the above-mentioned vehicle washing system can be a hardware device such as a lidar or a 3D laser scanner that can directly generate the body point cloud of the target vehicle. In this embodiment, after receiving the vehicle washing instruction from the server of the car wash service provider, the controller can issue an acquisition instruction and send it to the acquisition device 110 to control the acquisition device 110 to acquire the body point cloud of the target vehicle parked in the target area.

[0075] Step 204: Cluster the 3D points in the vehicle body point cloud to divide the vehicle body point cloud into multiple point cloud regions.

[0076] A point cloud region refers to a collection of three-dimensional points that are physically and / or geometrically independent. Each point cloud region typically corresponds to a body part or structural surface of the target vehicle. For example, a point cloud region may correspond to a door panel, a wheel hub surface, or a section of the roof profile.

[0077] In this step, the initial vehicle point cloud usually has problems such as noise and uneven density. The controller can use methods such as statistical filtering or radius filtering to remove noise points that are significantly deviated from the main vehicle point cloud range in order to perform noise reduction processing on the vehicle point cloud.

[0078] Furthermore, the controller can employ Euclidean clustering to cluster the 3D points in the vehicle body point cloud. The controller can primarily rely on the spatial location information of the 3D points to calculate the spatial distance between them, and then classify the 3D points in the vehicle body point cloud based on these spatial distances. Euclidean clustering can group 3D points that are spatially close together into one class.

[0079] Alternatively, the controller can employ region growing clustering to cluster the 3D points in the vehicle body point cloud. Region growing clustering considers not only the spatial distance between 3D points but also the similarity of their normal vectors and curvatures. The controller can start from any 3D point and traverse its neighboring points. If the angle between the normal vector of a neighboring point and the normal vector of the given 3D point is less than a certain threshold, and their curvatures are similar, then these points are considered to belong to the same class of 3D points. This process continues until no neighboring point has a normal vector with an angle less than a certain threshold and similar curvature.

[0080] Step 206: Determine the primitive type corresponding to each point cloud region.

[0081] Primitive types are used to indicate the geometric shape of the vehicle body parts or structural surfaces corresponding to the point cloud region. Primitive types can be preset, for example, they can be set to include six types: plane, cylinder, sphere, sharp edge, groove, and protrusion.

[0082] Among them, a plane can be used to describe a flat surface, such as the main panel of a car door or the roof of a car; a cylindrical surface can be used to describe an arc-shaped surface with a constant curvature, such as the surface of a wheel hub, an exhaust pipe, or certain pillars; a spherical surface can be used to describe a part of a sphere; and a sharp edge can be used to describe a sharp, strip-shaped surface, such as a wheel hub, etc.

[0083] In this embodiment, the controller may, for example, use a pre-trained recognition model to identify the primitive types corresponding to different point cloud regions. Alternatively, the controller may also perform planar fitting or surface fitting on different point cloud regions to identify the primitive types corresponding to different point cloud regions.

[0084] Step 208: Based on the primitive type corresponding to each point cloud region, determine the cleaning trajectory corresponding to each point cloud region, and control the cleaning robot to clean the target vehicle according to the cleaning trajectory.

[0085] In this embodiment, for example, trajectory types corresponding to various primitive types can be preset. The controller directly matches the trajectory type corresponding to each point cloud region based on the primitive type of each point cloud region, and determines the cleaning trajectory corresponding to each point cloud region according to the trajectory type.

[0086] As an example, when the primitive type is planar, the controller can use an equidistant grid scan trajectory as the trajectory type for the point cloud region; when the primitive type is cylindrical, the controller can use a progressive spiral coverage trajectory as the trajectory type for the point cloud region; when the primitive type is cylindrical, the controller can use a high-frequency vibration reciprocating trajectory as the trajectory type for the point cloud region, and so on.

[0087] Furthermore, after determining the trajectory type, the controller can plan the stopping points of the cleaning robot based on the actual spatial location information of the three-dimensional points in each point cloud region and the trajectory type corresponding to each point cloud region, thereby obtaining the cleaning trajectory of the cleaning robot for each point cloud region.

[0088] Specifically, the set of coordinates of the three-dimensional points in each point cloud region defines the precise geometry and spatial extent of the corresponding vehicle body component or structural surface. The controller, for example, can determine multiple stopping points along each point cloud region at preset intervals, using the trajectory type corresponding to each region. Furthermore, it can perform smoothing filtering on the sequence of determined stopping points to ultimately obtain the cleaning trajectory of the cleaning robot's end effector for each point cloud region. It should be noted that this cleaning trajectory not only indicates the movement path of the cleaning robot's end effector but also includes the rotation angles of each joint of the cleaning robot.

[0089] During the cleaning trajectory planning process, the controller simultaneously predicts the probability of collisions between each joint of the cleaning robot and the target vehicle. This ensures that the cleaning robot will not collide with the target vehicle while cleaning it according to the final planned cleaning trajectory. The collision probability prediction and the process of optimizing the cleaning trajectory after predicting a possible collision are not detailed in this embodiment.

[0090] In another embodiment, the controller can also simultaneously control the pressure and deflection angle of the cleaning robot's end effector while controlling the cleaning robot to clean the target vehicle according to the cleaning trajectory. Specifically, the controller can monitor the contact force of the cleaning robot's end effector through a six-dimensional force sensor and dynamically adjust the propulsion speed using a fuzzy PID algorithm, so that the fluctuation range of the contact force of the cleaning robot's end effector is controlled within ±1.5N; and, the controller can calculate the actual posture of the cleaning robot's end effector by fusing IMU and joint encoder data, and adjust the deflection angle of the cleaning robot's end effector in real time based on the surface normal vector, thereby maintaining the normal angle between the cleaning robot's end effector and the corresponding body parts or structural surfaces of each point cloud region <10°. It should be noted that this application does not limit the specific implementation method of the above-mentioned simultaneous control of the pressure and deflection angle of the cleaning robot's end effector, as long as it can achieve real-time and precise control of the pressure and deflection angle of the cleaning robot's end effector while controlling the cleaning robot to adjust the cleaning trajectory according to the actual body parts or structural surfaces on the target vehicle.

[0091] The aforementioned vehicle cleaning method uses point cloud clustering and primitive type recognition on the vehicle's point cloud to adaptively plan the cleaning trajectories for different parts and planes on the vehicle. This ensures that the cleaning robot can optimize its cleaning trajectory for different vehicle surfaces and that it can closely match the geometry of different vehicle surfaces as it moves along the cleaning trajectory. This allows the cleaning robot to accurately cover every concave and convex surface and edge of the vehicle body, effectively solving the cleaning dead spots and blind spots that are easily caused by the mismatch between the tool path and the vehicle body contour in traditional vehicle cleaning, and improving the efficiency and cleanliness of automated vehicle cleaning.

[0092] In some alternative embodiments, step 204 includes:

[0093] Search for neighborhood points of each 3D point;

[0094] Based on each 3D point and its corresponding neighborhood point, determine the normal vector of the 3D point;

[0095] Based on the normal vectors of each 3D point, the 3D points in the vehicle body point cloud are clustered and divided to obtain multiple point cloud regions.

[0096] As an example, the controller may use K-nearest neighbor search or radius nearest neighbor search to find neighborhood points for each 3D point.

[0097] Furthermore, specifically, the steps for determining the normal vector of a 3D point based on each 3D point and its corresponding neighborhood point include:

[0098] Based on each 3D point and its corresponding neighborhood point, determine the covariance matrix of the 3D point.

[0099] Eigenvalue decomposition of the covariance matrix yields eigenvectors with multiple eigenvalues;

[0100] The normal vector of a 3D point is determined from the eigenvectors.

[0101] For a 3D point and its neighboring points, the controller can use principal component analysis to calculate the 3D covariance matrix of the 3D point and its neighboring points, and further perform eigenvalue decomposition on the covariance matrix. The direction indicated by the eigenvector with the smallest eigenvalue is taken as the normal direction of the 3D point, i.e., the normal vector.

[0102] Furthermore, for any 3D point, the controller can determine whether the angle between the normal vector of its neighboring points and the normal vector of the 3D point is less than a preset angle threshold. Neighboring points with angles less than the preset threshold are considered to be on the same plane as the 3D point. This angle determination is repeated until no other 3D point has an angle less than the preset angle threshold with its normal vector, thus obtaining a complete point cloud region. This process is repeated until the vehicle body point cloud is divided into multiple point cloud regions.

[0103] The aforementioned vehicle cleaning method effectively distinguishes continuous areas with different orientations on the vehicle body surface by calculating and clustering based on the normal vector of each three-dimensional point. By transforming discrete vehicle body point clouds into a set with the same or similar geometric features, it accurately identifies each independent component or structural plane of the vehicle body. It can perceive the geometric attribute of the spatial orientation of local surfaces, avoiding dividing spatially adjacent but differently oriented surfaces into the same point cloud region, thus improving the accuracy of vehicle body region division and achieving precise intelligent zoning that conforms to the physical structure.

[0104] In some alternative embodiments, step 206 includes:

[0105] Based on the normal vectors of 3D points within each point cloud region, determine the average curvature of the point cloud region.

[0106] Based on the average curvature, surface fitting is performed on the point cloud region. Based on the surface fitting results and the average curvature, the primitive type corresponding to the point cloud region is determined.

[0107] In this embodiment, the controller can, for example, use the normal vector of each 3D point and the normal vectors of its neighboring points to calculate the local curvature of each 3D point using differential geometry methods. Furthermore, it can calculate the average value of the local curvature of multiple 3D points within each point cloud region to determine the average curvature corresponding to the current point cloud region. The average curvature directly reflects the bending state of the current point cloud region, thus clearly indicating whether the vehicle body surface corresponding to the current point cloud region is curved inwards, outwards, or flat.

[0108] Furthermore, the controller can divide multiple point cloud regions into multiple levels based on a pre-defined curvature classification standard, such as high curvature, medium curvature, and low curvature. For low curvature point cloud regions, the controller can perform planar fitting; for medium and high curvature point cloud regions, the controller can perform surface fitting, and further identify sharp edge features through gradient abrupt change detection. Finally, based on the surface fitting result and corresponding average curvature of each point cloud region, the primitive type corresponding to the point cloud region is determined.

[0109] In one embodiment, the controller can determine the primitive type corresponding to the point cloud region based on the surface fitting results and average curvature, according to the mapping content in the table below:

[0110]

[0111] The aforementioned vehicle cleaning method effectively smooths out measurement noise and outliers of individual 3D points by calculating the average curvature of the entire point cloud region and performing surface fitting on the entire region. This makes the geometric features used for final judgment more stable and reliable. Even if there are individual bad points in the point cloud region, they will not have a decisive impact on the overall primitive type determination. Through surface fitting, the point set of the point cloud region is summarized into a parametric model, realizing automated high-level semantic understanding, which makes the geometric features used for type discrimination more stable and reliable.

[0112] In some optional embodiments, multiple point cloud regions correspond to multiple vehicle body parts; the multiple vehicle body parts are pre-set with a cleaning sequence;

[0113] Step 208 includes:

[0114] Based on the primitive type corresponding to each point cloud region, the trajectory type corresponding to each point cloud region is matched from the one-to-one correspondence between multiple primitive types and multiple trajectory types.

[0115] Based on the trajectory type and the spatial position of 3D points in the point cloud region, the path planning of the cleaning robot is performed to obtain the cleaning trajectory for each point cloud region.

[0116] According to the cleaning sequence corresponding to each point cloud region of the vehicle body component, control the cleaning robot to clean the target vehicle according to the cleaning trajectory corresponding to each point cloud region.

[0117] The cleaning sequence refers to a pre-set rule for controlling the order of cleaning the target vehicle by the cleaning robot. The controller can generally follow the principle of from top to bottom and from outside to inside, for example, to avoid secondary pollution of the already cleaned vehicle body surface by sewage or foam during the cleaning process.

[0118] In this embodiment, the controller can pre-define a mapping relationship table of "primitive type - trajectory type", and directly determine the trajectory type corresponding to each point cloud region from this mapping relationship table after determining the primitive type corresponding to each point cloud region.

[0119] Specifically, the steps of path planning for the cleaning robot based on the trajectory type and the spatial position of the three-dimensional points in the point cloud region to obtain the cleaning trajectory for each point cloud region include:

[0120] Determine a plurality of reference points that conform to the trajectory type based on the spatial position of the three-dimensional points in the point cloud region and a pre-set incremental distance;

[0121] Perform difference smoothing processing on the reference points to obtain a plurality of spatially continuous stop points as the cleaning trajectory; the stop points are in the normal vector direction of the adjacent three-dimensional points.

[0122] Specifically, when the trajectory type corresponding to the point cloud region is an equidistant grid scanning trajectory, the controller can, for example, automatically calculate the row spacing and column spacing of the grid according to the boundary of the point cloud region, and generate a "field" - shaped waypoint covering the entire region; when the trajectory type corresponding to the point cloud region is a progressive spiral covering trajectory, the controller can, for example, fit the central axis and the maximum radius of the point cloud region, and then generate spiral waypoints from the inside to the outside with a fixed pitch... etc. Subsequently, perform interpolation and filtering on the generated multiple waypoints to ensure the smooth movement of the end of the cleaning robot.

[0123] The above vehicle cleaning method decouples the geometric features and the motion mode by establishing a one-to-one correspondence between the primitive type and the trajectory type, and can ensure that each vehicle body surface can match the trajectory type most suitable for its geometric characteristics, improving the cleaning efficiency and effect in terms of the motion principle; and, by presetting the cleaning sequence, organizing the separate cleaning tasks of different vehicle body surfaces into continuous and coherent cleaning tasks, it can ensure the coherence of the cleaning process of the cleaning robot and avoid secondary pollution of the already cleaned areas on the vehicle body surface, significantly improving the cleaning quality of automated cleaning.

[0124] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0125] Based on the same inventive concept, this application also provides a vehicle washing apparatus for implementing the vehicle washing method described above. The solution provided by this vehicle washing apparatus is similar to the solution described in the vehicle washing method above; therefore, the specific limitations in one or more apparatus embodiments provided below can be found in the limitations of the vehicle washing method described above, and will not be repeated here.

[0126] In one embodiment, such as Figure 3 As shown, a vehicle washing device 300 is provided, comprising:

[0127] The acquisition module 302 is used to acquire the vehicle body point cloud corresponding to the target vehicle;

[0128] The segmentation module 304 is used to cluster and segment the 3D points in the vehicle body point cloud to divide the vehicle body point cloud into multiple point cloud regions.

[0129] Module 306 is used to determine the primitive type corresponding to each point cloud region;

[0130] The control module 308 is used to determine the cleaning trajectory corresponding to each point cloud region based on the primitive type corresponding to each point cloud region, and control the cleaning robot to clean the target vehicle according to the cleaning trajectory.

[0131] In some optional embodiments, the partitioning module 304 is further configured to:

[0132] Search for neighborhood points of each 3D point;

[0133] Based on each 3D point and its corresponding neighborhood point, determine the normal vector of the 3D point;

[0134] Based on the normal vectors of each 3D point, the 3D points in the vehicle body point cloud are clustered and divided to obtain multiple point cloud regions.

[0135] In some optional embodiments, the partitioning module 304 is further configured to:

[0136] Based on each 3D point and its corresponding neighborhood point, determine the covariance matrix of the 3D point.

[0137] Eigenvalue decomposition of the covariance matrix yields eigenvectors with multiple eigenvalues;

[0138] The normal vector of a 3D point is determined from the eigenvectors.

[0139] In some alternative embodiments, the determining module 306 is further configured to:

[0140] Based on the normal vectors of 3D points within each point cloud region, determine the average curvature of the point cloud region.

[0141] Based on the average curvature, surface fitting is performed on the point cloud region. Based on the surface fitting results and the average curvature, the primitive type corresponding to the point cloud region is determined.

[0142] In some optional embodiments, multiple point cloud regions correspond to multiple vehicle body parts; the multiple vehicle body parts are pre-set with a cleaning sequence;

[0143] Control module 308 is also configured as follows:

[0144] Based on the primitive type corresponding to each point cloud region, the trajectory type corresponding to each point cloud region is matched from the one-to-one correspondence between multiple primitive types and multiple trajectory types.

[0145] Based on the trajectory type and the spatial position of 3D points in the point cloud region, the path planning of the cleaning robot is performed to obtain the cleaning trajectory for each point cloud region.

[0146] According to the cleaning sequence of the corresponding vehicle body parts in each point cloud region, the cleaning robot is controlled to clean the target vehicle according to the cleaning trajectory corresponding to each point cloud region.

[0147] In some alternative embodiments, the control module 308 is further configured to:

[0148] Based on the spatial location of 3D points in the point cloud region and the pre-set incremental distance, multiple reference points that conform to the trajectory type are determined;

[0149] The reference point is subjected to difference smoothing to obtain multiple spatially continuous dwell points as clean trajectories; the dwell points are located in the direction of the normal vector of the nearby three-dimensional point.

[0150] Each module in the above-mentioned device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0151] Figure 4 A schematic diagram of the structure of the electronic device provided in this application. Figure 4 As shown, the electronic device 400 provided in this embodiment includes at least one processor 401 and a memory 402. Optionally, the device 400 further includes a communication component 403. The processor 401, memory 402, and communication component 403 are connected via a bus 404.

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

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

[0154] 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.

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

[0156] 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.

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

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

[0159] 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.

[0160] 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.

[0161] 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.

[0162] 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.

[0163] 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.

[0164] 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.

[0165] 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.

[0166] 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 vehicle cleaning method, characterized in that, include: Obtain the vehicle body point cloud corresponding to the target vehicle; The three-dimensional points in the vehicle body point cloud are clustered and divided into multiple point cloud regions. Determine the primitive type corresponding to each point cloud region; Based on the primitive type corresponding to each point cloud region, a cleaning trajectory corresponding to each point cloud region is determined, and the cleaning robot is controlled to clean the target vehicle according to the cleaning trajectory.

2. The method according to claim 1, characterized in that, The step of clustering and dividing the 3D points in the vehicle body point cloud into multiple point cloud regions includes: Search for neighborhood points of each of the three-dimensional points; Based on each of the three-dimensional points and the corresponding neighborhood points of each of the three-dimensional points, the normal vector of each three-dimensional point is determined; Based on the normal vectors of each of the three-dimensional points, the three-dimensional points in the vehicle body point cloud are clustered and divided to obtain multiple point cloud regions.

3. The method according to claim 2, characterized in that, The step of determining the normal vector of each three-dimensional point based on each of the three-dimensional points and the corresponding neighborhood points of each three-dimensional point includes: Based on each of the three-dimensional points and the neighborhood points corresponding to each of the three-dimensional points, determine the covariance matrix corresponding to each three-dimensional point; The covariance matrix is ​​subjected to eigenvalue decomposition to obtain eigenvectors with multiple eigenvalues; The normal vector of the three-dimensional point is determined from the feature vector.

4. The method according to claim 2 or 3, characterized in that, Determining the primitive type corresponding to each point cloud region includes: Based on the normal vectors of the three-dimensional points within each point cloud region, the average curvature of the point cloud region is determined. Based on the average curvature, surface fitting is performed on the point cloud region, and the primitive type corresponding to the point cloud region is determined based on the surface fitting result and the average curvature.

5. The method according to claim 2 or 3, characterized in that, The multiple point cloud regions each correspond to multiple vehicle body components; the multiple vehicle body components are pre-set with a cleaning sequence; The step of determining the cleaning trajectory corresponding to each point cloud region based on the primitive type corresponding to each point cloud region, and controlling the cleaning robot to clean the target vehicle according to the cleaning trajectory includes: Based on the primitive type corresponding to each point cloud region, the trajectory type corresponding to each point cloud region is matched from the one-to-one correspondence between multiple primitive types and multiple trajectory types. Based on the trajectory type and the spatial position of the three-dimensional points in the point cloud region, the path planning of the cleaning robot is performed to obtain the cleaning trajectory for each point cloud region. According to the cleaning sequence of the corresponding vehicle body parts in each point cloud region, the cleaning robot is controlled to clean the target vehicle according to the cleaning trajectory corresponding to each point cloud region.

6. The method according to claim 5, characterized in that, The path planning of the cleaning robot is performed based on the trajectory type and the spatial positions of the three-dimensional points in the point cloud region to obtain a cleaning trajectory for each point cloud region, including: Based on the spatial location of the three-dimensional points in the point cloud region and the pre-set incremental distance, multiple reference points that conform to the trajectory type are determined; The reference point is subjected to difference smoothing to obtain multiple spatially continuous dwell points as the cleaning trajectory; the dwell points are located in the normal vector direction of the adjacent three-dimensional points.

7. A vehicle washing device, characterized in that, include: The acquisition module is used to acquire the vehicle body point cloud corresponding to the target vehicle. The segmentation module is used to cluster and segment the three-dimensional points in the vehicle body point cloud to divide the vehicle body point cloud into multiple point cloud regions. The determination module is used to determine the primitive type corresponding to each point cloud region; The control module is used to determine the cleaning trajectory corresponding to each point cloud region based on the primitive type corresponding to each point cloud region, and control the cleaning robot to clean the target vehicle according to the cleaning trajectory.

8. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 6.

Citation Information

Patent Citations

  • Cleaning method, cleaning display method, cleaning equipment and storage medium

    CN117257170A

  • Car washing path planning method and robot

    CN120606381A

  • Cleaning method capable of automatically planning path

    US20200081444A1

Cited By

  • Vehicle cleaning method, device and equipment, storage medium and program product

    CN122090067A

  • Vehicle cleaning methods, devices, equipment, storage media and procedures products

    CN122090067B