Object pose recognition method and device, computer device and storage medium
By dividing point cloud data into multiple point groups, determining the point group difference values and object pose reference lines, the problem of traditional automated guided vehicle sensors being susceptible to interference is solved, and high-precision object pose recognition and automated parking services are achieved.
Patent Information
- Application Number
- CN202310952241.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-31
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2043-07-31
AI Technical Summary
The sensor technology of traditional automated guided vehicles is easily affected by light and noise, resulting in low accuracy in object pose recognition.
By dividing point cloud data into multiple point clusters, determining the point cluster difference values, selecting object point clusters that meet the object contour conditions, and determining the object pose reference line based on the object point clusters, object pose recognition is achieved.
It improves the accuracy and precision of object pose recognition, ensuring that the automated guided vehicle can move to the target position efficiently and conveniently, providing efficient automated parking services.
Smart Images

Figure CN117115247B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of intelligent devices, and in particular to a method, device, computer device, storage medium and computer program product for object posture recognition. Background Art
[0002] With the development of intelligent equipment, automated guided vehicles (AGVs) have emerged to guide or move vehicles and other objects in public parking lots such as commercial centers, airports, railway stations, roll-on / roll-off terminals, ports, warehouses, etc., providing efficient and convenient automatic parking services.
[0003] Traditionally, automated guided vehicles (AGVs) use a variety of sensor technologies, including cameras, ultrasonic waves, and infrared sensors, to acquire information about their surroundings, including the location and size of the object being guided, and perform intelligent navigation based on parking space availability. However, cameras are sensitive to light, and acoustic-assisted positioning is easily interfered with by its own infrared sensors and other noise sources, resulting in low recognition accuracy. Summary of the Invention
[0004] Based on this, it is necessary to provide an object posture recognition method, device, computer equipment, computer-readable storage medium and computer program product that can increase the accuracy in order to solve the above technical problems.
[0005] In a first aspect, the present application provides an object pose recognition method, which is applied to an automatic guided vehicle, and the method comprises:
[0006] Divide the point cloud data into multiple point group data;
[0007] Determining a point group difference value between a pose recognition parameter of each point group data and a historical point cloud accumulation value;
[0008] Selecting object point group data whose point group difference value meets the object contour condition from each of the point group data;
[0009] Object pose reference lines in different directions are determined according to the object point group data, and the pose of the object point group data relative to the automatic guided vehicle is determined through the object pose reference lines.
[0010] In one embodiment, determining the point group difference value between the pose recognition parameter of each point group data and the historical point cloud accumulation value includes:
[0011] Fitting each of the point group data into a point group reference line respectively;
[0012] Calculating the change values between each pose recognition parameter of each point group reference line and the accumulated value of each historical point cloud;
[0013] A weighted process is performed on each of the change values to obtain a point group difference value of each of the point group reference lines.
[0014] In one embodiment, the pose recognition parameters include the width, angle, and discrete value of the point group reference line, and the historical point cloud cumulative values include the historical cumulative width, historical cumulative angle, and historical cumulative curvature; and the step of calculating the change values between the pose recognition parameters of each point group reference line and the historical point cloud cumulative values includes:
[0015] Calculating a width change value between the width of each of the point group reference lines and the historical accumulated width;
[0016] Calculating the angle change between the angle of each point group reference line and the historical accumulated angle;
[0017] Calculating discrete values of each point group data relative to each point group reference line according to the fitting conditions of each point group data to each point group reference line;
[0018] The curvature change value between the reference line discrete value of each of the point group reference lines and the historical cumulative curvature is calculated.
[0019] In one embodiment, selecting object point group data whose point group difference values meet the object contour condition from each of the point group data includes:
[0020] According to the point group difference value, determining the point group data with the smallest degree of change in the object contour from each of the point group data;
[0021] The point group data with the smallest change in the object contour is determined as the object point group data among the point group data.
[0022] In one embodiment, the method further comprises:
[0023] Adjusting the historical point cloud cumulative value by using the pose recognition parameter of the object point group data to obtain an updated historical point cloud cumulative value;
[0024] Determine a next point group difference value between a pose recognition parameter of a next frame of point cloud data and the updated historical point cloud cumulative value; the next frame of point cloud data is the next frame of data after the point cloud data is obtained.
[0025] In one embodiment, determining object pose reference lines in different directions based on the object point group data includes:
[0026] Determining an object point group reference line obtained by fitting the object point group data;
[0027] Determining a direction reference line that intersects with the object point group reference line according to a preset direction parameter;
[0028] Determining the pose of the object point group data relative to the automatic guided vehicle through the object pose reference line includes:
[0029] An offset angle of the target object represented by the object point group data relative to the automatic guided vehicle is determined according to an angle between the orientation reference line and a preset orientation reference line.
[0030] In one embodiment, the pose is used for motion planning of the automated guided vehicle to move the automated guided vehicle to a target position, where the target position is the position of the automated guided vehicle relative to a target object represented by the object point group data.
[0031] In a second aspect, the present application further provides an object posture recognition device. The device comprises:
[0032] Point group segmentation module, used to divide point cloud data into multiple point group data;
[0033] A difference value calculation module is used to determine the point group difference value between the pose recognition parameter of each point group data and the historical point cloud accumulation value;
[0034] An object point group selection module is used to select object point group data whose point group difference values meet the object contour condition from each of the point group data;
[0035] The posture recognition module is used to determine object posture reference lines in different directions according to the object point group data, and determine the posture of the object point group data relative to the automatic guided vehicle through the object posture reference lines.
[0036] In a third aspect, the present application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of object pose recognition in any of the above embodiments are implemented.
[0037] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of object pose recognition in any of the above embodiments.
[0038] In a fifth aspect, the present application further provides a computer program product, which includes a computer program that, when executed by a processor, implements the steps of object posture recognition in any of the above embodiments.
[0039] The above-mentioned object posture recognition method, device, computer equipment, storage medium and computer program product are applied to automatic guided vehicles, dividing the point cloud data obtained by laser radar into multiple point group data, realizing the granularity refinement of the point cloud data, so that the data obtained by a single laser radar can be used for data screening in the object posture recognition method process; during screening, the point group difference value between the posture recognition parameters of each point group data and the historical point cloud cumulative value is determined to clarify the degree of change caused by each point group data; then, from each point group data, the object point group data whose point group difference value meets the object contour condition is selected, thereby ensuring that the object point group data can accurately represent the target object being posture recognized; then, according to the object point group data, the object posture reference lines in different directions are determined, and the posture of the object point group data relative to the automatic guided vehicle is determined through the object posture reference lines. The posture accuracy is sufficient for the automatic guided vehicle to accurately move to a certain position of the target object, providing efficient and convenient services such as automatic parking. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 1. A diagram illustrating an application environment of an object pose recognition method according to an embodiment;
[0041] Figure 2 1 is a flow chart of a method for object pose recognition according to an embodiment;
[0042] Figure 3 This is a schematic diagram of an interface of laser point cloud data in one embodiment;
[0043] Figure 4 Schematic diagram of the distribution of point group data in one embodiment;
[0044] Figure 5 A schematic diagram of a process for calculating a point group difference value in one embodiment;
[0045] Figure 6 Schematic diagram of the process of object point group data screening in one embodiment;
[0046] Figure 7 Schematic diagram of object pose reference lines in one embodiment;
[0047] Figure 8 A diagram showing an application environment of a method for recognizing vehicle posture in one embodiment;
[0048] Figure 9 is a structural block diagram of an object posture recognition device in one embodiment;
[0049] Figure 10 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0050] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0051] The object posture recognition method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown, the automatic guided vehicle 102 (AGV) obtains environmental data through sensors.
[0052] In one embodiment, Figure 2 As shown, a method for object pose recognition is provided, which is applied to Figure 1 The automatic guided vehicle 102 comprises the following steps:
[0053] Step 202: Divide the point cloud data into a plurality of point group data.
[0054] Point cloud data is at least one frame of environmental data acquired by the automated guided vehicle 102 via a sensor. The point cloud data represents the target object undergoing pose recognition, as well as the environment surrounding the target object during pose recognition by the automated guided vehicle. Optionally, the point cloud data is acquired frame by frame, and this point cloud data may be the point cloud data for the current frame. Optionally, the frequency of acquiring point cloud data is consistent with the frequency of environmental data acquired by the lidar, so that the execution frequency of steps 202 through 208 can be adaptively adjusted for different lidar types.
[0055] Point cluster data is a localized representation of point cloud data. Point cluster data is used to represent a target object or its surroundings. Optionally, the point cloud data can be segmented into multiple point clusters based on its distribution and a segmentation parameter, such as an angle or length. Optionally, each point cloud data point can be segmented into multiple point clusters.
[0056] In one embodiment, before dividing the point cloud data into multiple point clusters, the method includes: obtaining initial data collected by sensors; and filtering the initial data to select point cloud data whose distance from the automated guided vehicle 102 is within a preset range of the automated guided vehicle. Thus, by filtering data within the preset range of the automated guided vehicle, the number of point clusters divided in step 202 is reduced, thereby efficiently and accurately executing step 202.
[0057] Acquiring the initial data collected by the sensor includes determining a scanning range and resolution configured for the laser sensor model; the resolution displays the initial data obtained by scanning within the scanning range. Specifically, the initial data can be acquired using the Xingsong SE-0533 obstacle avoidance laser radar, and similarly, it can be acquired using other laser radar models. For different laser radar sensors, only the scanning range and resolution need to be configured. Regardless of the laser radar used to acquire the initial data, the pose recognition of the target object can be achieved based on steps 202-204.
[0058] like Figure 3 As shown, the rear outline of the car is scanned in the black frame, and the right side of the picture scans the messy roadside bushes.
[0059] In one embodiment, the point cloud data and its associated initial data may be represented by a one-dimensional array. The array is converted into a rectangular coordinate system according to the starting angle and resolution of the scan. The expression is as follows:
[0060] x=laser[i]*cos(resolution*i+start_ang)
[0061] y=laser[i]*sin(resolution*i+start_ang)
[0062] Among them, laser[] represents the reflection length value of the laser point stored in the point cloud array. If no reflection is received, it is set to the maximum value of 10m; resolution represents the resolution, start_ang represents the starting angle of the scan; i represents the i-th laser data, and resolution*i+start_ang represents the angle at this time.
[0063] In one embodiment, the conversion of the initial data into the point cloud data in step 202 is described. Taking the initial data as a laser point cloud array as an example, when the laser point cloud array is converted into a rectangular coordinate system, a scatter plot can be obtained, which is as follows: Figure 4 shown.
[0064] Among them, the laser data of each point in the black frame is formed by the object point group data, which needs to be determined through steps 204-206 and is used to characterize the rear profile of the car; correspondingly, the environmental data to be scheduled includes the laser points on the right side of the black frame and in the outermost circle. The right side of the black frame is used to characterize the shrubs on the side of the road, and the laser points in the outermost circle represent the laser points that are reflected but not received. The distance between the laser points in the outermost circle and the automatic guided vehicle exceeds the preset range, which can be 10m.
[0065] Step 204 : determining the point group difference value between the pose recognition parameter of each point group data and the historical point cloud accumulation value.
[0066] The pose recognition parameters are determined based on the distribution of the point group data. The pose recognition parameters are parameters used to perform pose recognition on the point group data. The pose recognition parameters can characterize the contour formed by the point group data in the point group data. Optionally, the pose recognition parameters include multiple feature dimensions, a certain feature dimension characterizes the contour boundary through the distribution boundary of the point group data, and a certain feature dimension characterizes the contour shape through the shape of the point group data. It may also have other feature dimensions for pose recognition. Among them, the distribution boundary of the point group data can be determined by the width corresponding to the point group data, and the shape of the point group data can be determined by a discrete value.
[0067] The historical point cloud cumulative value is the historical cumulative value of the posture recognition parameter when the object position is recognized for the point cloud data of step 202. The historical point cloud cumulative value is obtained by the accumulated changes in the posture recognition parameter caused by at least two frames of historical point cloud data during a guidance process of the automatic guided vehicle. The historical point cloud cumulative value corresponds one-to-one to the dimension of the posture recognition parameter. The time point at which at least two frames of historical point cloud data are collected is earlier than the time point at which the point cloud data of step 202 is collected. Optionally, when the point cloud data in step 202 becomes historical point cloud data, the historical point cloud cumulative value of the point cloud data can be adjusted by the posture recognition parameter of the point cloud data, so that step 204 can be executed again by the next frame of point cloud data.
[0068] The point group difference value is calculated by calculating the difference between the pose recognition parameters of the point group data and the historical point cloud cumulative values of the same point group data. The point group difference value is used to represent the contour changes of the point cloud data during the guidance process of the target object. Optionally, when the pose recognition parameters have multiple characteristic dimensions, the pose recognition parameters of the point group data in each characteristic dimension can be calculated by calculating the difference between the historical point cloud cumulative values and the historical point cloud cumulative values to obtain the difference value of each characteristic dimension. The difference values of each characteristic dimension are then weighted to obtain the point group difference value of the point group data.
[0069] In one embodiment, determining the point group difference between the pose recognition parameters of each point group data and the historical point cloud cumulative value includes: determining the difference between the pose recognition parameters and the historical point cloud cumulative value for each point group data; and determining the point group difference value based on the absolute value of the difference. Optionally, when there are multiple differences, the point group difference value can be obtained by weighting the absolute values of the differences; when there is only one difference, the absolute value of the difference can be used as the point group difference value.
[0070] Step 206 : Selecting object point group data whose point group difference values meet the object contour condition from each point group data.
[0071] The object contour condition is a stability indicator set for the contour formed by the point group data. When the point group difference value of a point group data set meets this stability indicator, the point group data set is determined as the object point group data. Optionally, the object contour condition is determined by comparing the point group difference values of each point group data set to efficiently determine the object point group data with the most stable contour changes from each point group.
[0072] The object point group data is a point group data set whose point group difference values meet the object contour conditions. The object point group data represents a contour, and the contour represented by the object point group data is relatively stable. Therefore, the contour represented by the object point group data can more accurately determine the location of the target object.
[0073] In one embodiment, object point group data whose point group difference values meet the object contour condition are selected from each point group data, including: comparing the point group difference values of each point group data to obtain a point group difference critical value; determining the point group difference critical value as the object contour condition; and determining the object point group data in each point group data based on the point group difference critical value that meets the object contour condition.
[0074] In one embodiment, object point group data whose point group difference values meet the object contour conditions are selected from each point group data, including: determining the point group data with the smallest degree of object contour change from each point group data according to the point group difference values; and determining the point group data with the smallest degree of object contour change as the object point group data in each point group data.
[0075] In one embodiment, according to the point group difference value, the point group data with the smallest degree of change in the object contour is determined from each point group data, including: comparing the point group difference values of each point group data to obtain the minimum point group difference value; and determining the point group data to which the minimum point group difference value belongs as the point group data with the smallest degree of change in the object contour.
[0076] Thus, by using the point cloud difference values to reflect the degree of change in the object's contour, efficient comparison of each point cloud data set is achieved, resulting in point cloud data with minimal object contour change. This point cloud data with minimal object contour change is relatively stable during steps 202-208, and thus exhibits a similar motion trend to the target object required for pose recognition by the automated guided vehicle. Furthermore, because the point cloud data meeting the object contour condition is the point cloud data with minimal object contour change, the object contour condition can be adaptively adjusted based on different types of point cloud data, making it suitable for different target objects.
[0077] Step 208 : determining object pose reference lines in different directions based on the object point group data, and determining the pose of the object point group data relative to the automatic guided vehicle through the object pose reference lines.
[0078] Object pose reference lines are determined based on the distribution of the object's point cloud data. While these lines are derived from relatively simple point cloud data, because the point cloud differences within the object's point cloud data meet the object's contour requirements, they can accurately represent the target object identified by the AGV. Since the object pose reference lines are set in different directions, they can simulate the target object's position and direction of motion.
[0079] Optionally, the object pose reference line includes an object point group reference line obtained by fitting the object point group data, and another reference line intersecting with the object point group reference line along a preset direction, so as to efficiently determine the pose of the object point group data relative to the automatic guided vehicle using less data.
[0080] The pose is used for motion planning of the automated guided vehicle so that the automated guided vehicle can perform certain movements relative to the target object, and then the target object can be transported by the automated guided vehicle.
[0081] In one embodiment, determining object pose reference lines in different directions based on object point group data includes: determining an object point group reference line obtained by fitting the object point group data; and determining an orientation reference line intersecting with the object point group reference line according to preset direction parameters.
[0082] Correspondingly, the posture of the object point group data relative to the automatic guided vehicle is determined through the object posture reference line, including: determining the offset angle of the target object represented by the object point group data relative to the automatic guided vehicle based on the angle between the orientation reference line and the preset orientation reference line.
[0083] The preset orientation reference line is used to represent the orientation of the automated guided vehicle. When the orientation reference line is inconsistent with the preset orientation reference line, it is necessary to calculate the distance to the target object and determine the offset angle of the automated guided vehicle relative to the target object by executing steps 202-208 to obtain the lateral offset of the automated guided vehicle in the process of approaching the target object.
[0084] Based on this, the object point group reference line fitted from the object point group data can reflect the contour position of the target object in the width direction; on this basis, the orientation reference line determined according to the preset orientation parameters and intersecting with the point group reference line can reflect the current orientation of the target object, and then the offset angle can be accurately determined according to the angle between the orientation reference line and the preset orientation reference line, so that the automatic guided vehicle can be guided based on this offset angle.
[0085] In one embodiment, the object point group reference line obtained by linear fitting the object point group data is an object point group reference line segment. Determining an orientation reference line intersecting the point group reference line according to a preset orientation parameter includes: generating a perpendicular bisector based on the object point group reference line segment; the perpendicular bisector being the orientation reference line.
[0086] Correspondingly, based on the angle between the orientation reference line and the preset orientation reference line, the offset angle of the target object represented by the object point group data relative to the automatic guided vehicle is determined, including: based on the angle between the perpendicular bisector and the preset object centerline, the offset angle of the target object represented by the object point group data relative to the automatic guided vehicle is determined.
[0087] Therefore, the generation speed of the reference line segments of the object point group is relatively high, and when the angle between the perpendicular bisector and the midline of the preset object is used as the offset angle, the accuracy is relatively high, which can better avoid the collision between the automatic guidance robot and the target object.
[0088] The above-mentioned posture is used for motion planning of the automatic guided vehicle so that the automatic guided vehicle moves to a target position. The target position is the position of the automatic guided vehicle relative to a target object, and the target object is represented by object point group data.
[0089] Thus, the AGV adjusts its angle and lateral offset based on its position, moving to the target location with the target object as a reference. While guiding the target object, the AGV avoids collisions with the target object. For example, if the target object is a car and the AGV is a parking robot, the parking robot uses the above-described position to plan its motion so that the AGV moves from between the car's left and right wheels to underneath the car without colliding with it. Optionally, after the AGV reaches the bottom of the car, the car can be moved by the AGV.
[0090] Optionally, point cloud data is acquired using a LiDAR (LiDAR). LiDAR obtains distance information by emitting a laser beam and measuring the reflected signal. This method is not restricted by lighting conditions and is applicable to a wide range of environments and lighting conditions. It has low environmental requirements and is not affected by daytime and nighttime lighting differences. Laser positioning accuracy is not affected by environmental factors, resulting in relatively stable accuracy and high recognition and positioning efficiency.
[0091] Furthermore, traditional obstacle avoidance lasers can only be used for emergency avoidance. However, after completing steps 202-208, even using the point cloud data collected by lidar alone, cars, containers, barrels, or other target objects can be accurately located without the need for additional hardware. Nor does it rely on other sensors; only a single laser sensor is required for deployment. More importantly, steps 202-208 require fewer computing resources, resulting in high efficiency and precise positioning. The performance requirements for industrial computers are not as high, and the hardware cost is low, which facilitates the popularization and promotion of this solution. Taking automated guided vehicles (AGVs) such as parking robots as an example, this solution can be applied to small and medium-sized parking lots.
[0092] Furthermore, sensors like LiDAR operate quickly, acquiring point cloud data at a high sampling rate. This enables steps 202-208 to rapidly process data in scenarios requiring high real-time performance, enabling rapid perception and decision-making. Consequently, these short processing times and rapid recognition ensure smooth and real-time movement for the AGV.
[0093] In the above-mentioned object posture recognition method, when applied to an automatic guided vehicle, the point cloud data obtained by the laser radar is divided into multiple point group data to achieve granularity refinement of the point cloud data, so that the data obtained by a single laser radar can be used for data screening in the object posture recognition method process; during screening, the point group difference value between the posture recognition parameters of each point group data and the historical point cloud cumulative value is determined to clarify the degree of change caused by each point group data; then, from each point group data, the object point group data whose point group difference value meets the object contour condition is selected, thereby ensuring that the object point group data can accurately represent the target object being posture recognized; and then, according to the object point group data, the object posture reference lines in different directions are determined, and the posture of the object point group data relative to the automatic guided vehicle is determined through the object posture reference lines. The posture accuracy is sufficient for the automatic guided vehicle to accurately move to a certain position of the target object, providing efficient and convenient services such as automatic parking.
[0094] In one embodiment, Figure 5 As shown, the point group difference value between the pose recognition parameters of each point group data and the historical point cloud accumulation value is determined, including:
[0095] Step 502: Fit each point group data into each point group reference line.
[0096] The point group reference line is the information obtained by simplifying the point group data. The point group reference line is used to characterize the feature information of the point group data, and the accuracy is sufficient for the automatic guided vehicle to perform object pose recognition. Among them, the least squares method can be used to perform linear fitting on each point group data separately to efficiently obtain the point group reference line. Exemplarily, the least squares method processing includes: constructing an initial reference line based on multiple points in the point group data; calculating the vertical distance between each point in the point group data and the initial reference line; adjusting the initial reference line according to the vertical distance until the sum of the vertical distances of each point reaches the minimum value, and determining the point group reference line obtained by adjusting the initial reference line. Optionally, when the point group reference line is a line segment, the point group reference line segment in the point group reference line can be intercepted according to the boundary of the point group data.
[0097] In one embodiment, each point group data is fitted into each point group reference line, including: performing linear fitting on each point group data to obtain each point group reference line of each point group data; wherein each point group data corresponds to each point group reference line.
[0098] Step 504 : Calculate the change values between each pose recognition parameter of each point group reference line and the accumulated value of each historical point cloud.
[0099] Each change value is the cumulative value of each pose recognition parameter and each historical point cloud, determined by comparing features in different dimensions. These change values can reflect the degree of change in the point cloud data during the object pose recognition method from multiple perspectives.
[0100] In one embodiment, each pose recognition parameter includes the width, angle, and discrete value of the point group reference line, and each historical point cloud cumulative value includes the historical cumulative width, historical cumulative angle, and historical cumulative curvature.
[0101] The width of the point group reference line is the width of the point group reference line segment; since the computational complexity of determining the point group reference line segment is relatively low, its acquisition efficiency is relatively high. The angle of the point group reference line is the angle of change of the reference line relative to the scanning starting angle. The angle of the point group reference line is directly obtained by the lidar.
[0102] The discrete value represents the degree of dispersion of the point cluster data relative to the point cluster reference line and can be used to determine the contour curve of the object represented by the point cluster data. Alternatively, the discrete value can be determined based on the distance between each point in the point cluster data and the point cluster reference line; the variance or standard deviation determined based on this distance can be used as the discrete value. The discrete value reflects the curvature represented by the point cluster data; the larger the discrete value of a point cluster data point, the greater the curvature represented by the point cluster data point.
[0103] The historical cumulative width, historical cumulative angle, and historical cumulative curvature are derived from the cumulative changes in the width, angle, and discrete value of the point cloud reference line, respectively, based on at least two frames of historical point cloud data during a single guidance process. The historical cumulative width represents the width of the target object's outline during a single guidance process, the historical cumulative angle represents the degree of change in the target object during a single guidance process, and the historical cumulative curvature represents the curvature of the target object's outline during a single guidance process.
[0104] Among them, the change values between each pose recognition parameter of each point group reference line and the accumulated value of each historical point cloud are calculated respectively, including: calculating the width change value between the width of each point group reference line and the historical accumulated width; calculating the angle change value between the angle of each point group reference line and the historical accumulated angle; calculating the discrete value of each point group data relative to each point group reference line according to the fitting of each point group data to each point group reference line; calculating the curvature change value between the reference line discrete value of each point group reference line and the historical accumulated curvature.
[0105] The width change value represents the change in the outline width of an object represented by a point group data set relative to the historical accumulated width. The width change value is the change in width of the object represented by each point group data set as the autonomous robot approaches the target object. The width change value is positively correlated with the degree of width change of the object's outline. A smaller width change value indicates a smaller change in the width outline of the point group data set; a larger width change value indicates a greater change in the width outline of the point group data set.
[0106] The angle change value represents the change in the motion angle of the object represented by a point group data set relative to the historical accumulated angle. The angle change value is positively correlated with the degree of motion change of the target object. A smaller angle change value indicates a smaller degree of motion change for the object represented by the point group data set; a larger angle change value indicates a greater degree of motion change for the object represented by the point group data set.
[0107] The curvature change value is used to characterize the contour curvature change of an object represented by a certain point group data relative to the historical accumulated curvature. It is positively correlated with the degree of change in the contour curvature of the target object. The smaller the curvature change value, the smaller the degree of curvature change produced by the point group data representing the object to which the curvature change value belongs; the larger the curvature change value, the greater the degree of curvature change produced by the point group data representing the object to which the curvature change value belongs.
[0108] The fitting status represents the correspondence between each point group data item and each point group reference line. This correspondence can be used to determine the point group data from which the point group reference line is fitted, and can also be used to determine the point group reference line to which the point group data is fitted. Optionally, the fitting status can be represented by a flag to enable comparison between the point group data and the point group reference line.
[0109] In an optional embodiment, based on the fit of each point group data to each point group reference line, discrete values of each point group data relative to each point group reference line are calculated, including: determining the corresponding point group reference line to which each point group data fits based on the fit of each point group data to each point group reference line; and determining discrete values between each point in each point group data and the corresponding point group reference line. For example, if it is determined based on the fit that a first point group reference line is fit by the first point group data, and a second point group reference line is fit by the second point group data, discrete values of the first point group data relative to the first point group reference line are calculated, and discrete values of the second point group data relative to the second point group reference line are calculated.
[0110] Determining the discrete value between each point in each point group data and the corresponding point group reference line includes: determining the distance between each point in each point group data and the corresponding point group reference line; and determining the discrete value based on the variance, standard deviation or other numerical value used to characterize the degree of discreteness of the distance.
[0111] The width change value determines the width change of the object's outline represented by each point group data point, the angle change value determines the angle change of the object's motion, and the discrete value reflects the change in the curvature of the object's outline represented by each point group data point. Fitting the point group reference line requires less computation, and a comprehensive evaluation of these three characteristic dimensions more accurately determines the stability of each point group data point, thereby more accurately screening the object point group data that meets the object outline conditions.
[0112] Step 506: Perform weighted processing on each change value to obtain the point group difference value of each point group reference line.
[0113] The point group difference value is obtained by weighting the change values. Optionally, for different target objects, the weights of the change values can be adaptively adjusted based on the characteristic dimensions of each pose recognition parameter and the accumulated values of each historical point cloud to more accurately identify the target object.
[0114] In this embodiment, each point group data is fitted into each point group reference line, so that the calculation amount of each pose recognition parameter determined by each point group data is relatively small, and for each point group reference line, each change value between each pose recognition parameter and each historical point cloud cumulative value is determined respectively, so as to reflect the target object represented by each point group reference line from multiple angles through each change value, and then weighted processing is performed on each change value, so that the point group difference value can reflect the stability of each point group data with higher accuracy.
[0115] In one embodiment, the updating process of the historical point cloud cumulative value is described. Accordingly, the method further includes: adjusting the historical point cloud cumulative value using the pose recognition parameters of the object point cloud data to obtain an updated historical point cloud cumulative value; determining a next point cloud difference value between the pose recognition parameters of the next frame of point cloud data and the updated historical point cloud cumulative value; the next frame of point cloud data being the next frame of data after the point cloud data is acquired.
[0116] The updated historical point cloud cumulative value is generated based on the pose recognition parameters and the historical point cloud cumulative value. It is dynamically adjusted based on the updated historical point cloud cumulative value. The next frame of point cloud data is the point cloud data acquired during the next point cloud data acquisition after the AGV acquires point cloud data. The next frame of point cloud data differs from the point cloud data in step 202 primarily in the time of acquisition. When the next frame of point cloud data is acquired, the point cloud data in step 202 represents a frame of historical point cloud data for the next frame of point cloud data.
[0117] In one embodiment, the historical point cloud cumulative value is adjusted by the posture recognition parameters of the object point group data to obtain the updated historical point cloud cumulative value, including: weighting the posture recognition parameters of the object point group data and the historical point cloud cumulative value according to the cumulative value weight to obtain the updated historical point cloud cumulative value.
[0118] Among them, determining the next point group difference value between the pose recognition parameters of the next frame of point cloud data and the updated historical point cloud cumulative value is essentially based on executing step 204 of the next frame of point cloud data, and steps 204-208 can be continued to determine the pose of the object point group data relative to the automatic guided vehicle at the time point of the next frame.
[0119] Optionally, the method also includes: adjusting the historical cumulative width by the width of the point group reference line to obtain the updated historical cumulative width; adjusting the historical cumulative angle by the angle of the point group reference line to obtain the updated historical cumulative angle; adjusting the historical cumulative curvature by the discrete value of the point group reference line to obtain the updated historical cumulative curvature; determining the width, angle and discrete value of the point group reference line of the next frame of point cloud data, and the next width change value, the next angle change value and the next curvature change value between each and the new historical cumulative width, the updated historical cumulative angle and the updated historical cumulative curvature.
[0120] The historical point cloud accumulation value in step 202 is adjusted through the posture recognition parameters of the object point group data, so that based on the two factors of the posture recognition parameters and the historical point cloud accumulation value, the adaptive adjustment of the updated historical point cloud accumulation value is achieved, so that the next frame of point cloud data can be used as the point cloud data in the next execution process of the object posture recognition method, so that the automatic guided vehicle can reach the target position indicated in sequence by the object posture recognition results of each frame of point cloud data through the object posture recognition of multiple frames of point cloud data.
[0121] In an exemplary embodiment, an automatic guided vehicle serves as a parking robot in a parking scene, the target object is a vehicle to be parked, and the point cloud data is point cloud data acquired based on a laser radar.
[0122] During parking, sensor interference can be caused by factors such as daytime and nighttime lighting fluctuations, uneven terrain, and clutter in the surrounding environment, making it difficult to obtain stable and high-precision point cloud data. Traditional geomagnetic array solutions, however, involve long construction and modification cycles, high costs, and extensive maintenance. However, they offer low cost and high reliability. Furthermore, high real-time performance is crucial. To meet the project's specific requirements, the parking robot needs to quickly enter under the vehicle chassis and then lift and transport the vehicle. To improve transfer efficiency, the technology required to quickly determine the vehicle's position is crucial.
[0123] Based on this, this patent proposes a vehicle posture recognition method based on laser point cloud, which uses the existing low-cost obstacle avoidance laser radar to identify the vehicle posture. It can meet the requirements in many aspects such as cost, recognition stability, recognition accuracy, algorithm time consumption, etc., and is suitable for more scenarios.
[0124] The advantages of using laser point cloud recognition include: strong interference resistance. Lasers are unaffected by light, produce low noise, and generate more stable data. Lasers are unaffected by light, day or night, indoors or outdoors. Cost is low. Compared to multi-sensor fusion positioning, this method requires only a single obstacle avoidance laser for deployment. It also offers faster computation speed. Compared to visual processing, laser point cloud processing speed is significantly faster, improving real-time performance, ensuring smooth motion, and requiring less computing power.
[0125] The process before step 202 includes: When the car is parked at a specified location and pose recognition begins, the mobile robot roughly aligns with the car's centerline and then determines the width, slope (angle), and variance (discrete value) of the point cluster reference line obtained by fitting the current point cluster. The car's contour is a curve, and fitting the point cluster data into a point cluster reference line facilitates the calculation of the car's pose. Because the curvature is represented by the variance, the accuracy remains high.
[0126] In one embodiment, Figure 6As shown, step 202 includes: removing abnormal data from each frame of laser point cloud data, and then dividing the point cloud data into different point group data using adjacent points with an angle difference exceeding 1 degree or a length exceeding 5 cm as boundaries.
[0127] Step 204 includes: assigning a weighted score to each point group based on the point group difference values such as the slope, width, and variance value of the point group data.
[0128] Step 206 includes: screening out the optimal point group, where the optimal point group is the object point group data.
[0129] In an exemplary embodiment, the object point group data is determined by a score, and the score is expressed as follows:
[0130] score=abs(cur_width-his_width)+abs(cur_k-his_k)+abs(cur_var-his_var);
[0131] Where cur_width is the width of the point group reference line, his_width is the historical cumulative width of the point cloud data; cur_k represents the angle of the point group reference line, his_k is the historical cumulative angle of the point cloud data; cur_var is the discrete value of the point group reference line; his_var is the historical cumulative curvature of the point group reference line; and abs(·) represents the absolute value.
[0132] In one embodiment, adjusting the historical point cloud accumulation value by the posture recognition parameters of the object point group data includes: weighting the posture recognition parameters of the object point group data and the historical point cloud accumulation value of the current frame when refreshing the historical point cloud accumulation value.
[0133] When the pose recognition parameters and the historical point cloud accumulation value have equal weights, the expression for adjusting the historical point cloud accumulation value represented by the historical accumulation width is as follows:
[0134] his_width2=0.5*his_width1+0.5*cur_width;
[0135] Among them, his_width2 is the updated historical cumulative width, his_width1 is the historical cumulative width of the current frame, and cur_width is the width of the point group reference line of the current frame.
[0136] In one embodiment, after identifying the object point cluster data representing the car's outline, the parking robot needs to determine the car's position and pose, and then transmit this position and pose to the motion planning module. The motion planning module then plans a reasonable motion path to enable the parking robot to accurately align with the car and enter under it.
[0137] In one embodiment, the object point group data representing the automobile contour point group is as follows: Figure 7 As shown, it is a symmetrical arc. Step 208 includes obtaining an object point group reference line using linear fitting, determining an orientation reference line that intersects the object point group reference line according to preset direction parameters, and simulating the tilt angle between the car and the parking robot using the orientation reference line and the preset orientation reference line of the parking robot.
[0138] Specifically, step 208 includes determining the direction of the reference line segment of the object point group obtained based on the linear fitting. The distance and angle between the origin of the automatic guided vehicle and the center line of the vehicle can be obtained by heading toward the black dotted line of the reference line.
[0139] In one embodiment, Figure 8 The figure shows the gradual position adjustment process of parking robot 810, initially roughly aligning with car 820. Parking robot 810 then raises each target position to gradually approach the car's centerline, adjusts the angle, and drives under the car. It should be noted that to prevent collisions, the required accuracy for measuring the car's position is ±5 cm. This method achieves an accuracy of ±1 cm, fully meeting the requirements for transporting cars.
[0140] Parking robots enable automated parking. They can autonomously navigate the parking lot, find suitable parking spaces, and perform precise parking maneuvers. This reduces the workload of manual parking and improves parking efficiency and accuracy. They also optimize space utilization. Parking robots can accurately calculate vehicle dimensions and optimize parking space utilization based on the size and layout of parking spaces. By compactly parking vehicles, parking capacity can be increased, wasted spaces can be reduced, and the number of vehicles parked can be increased.
[0141] This method extracts multiple data features from the laser point cloud to identify the vehicle's outline and estimate its position and posture. It is minimally affected by the environment and maintains stable accuracy. It does not rely on other sensors or specific laser brands; it can be implemented using common obstacle avoidance lidars available on the market. It can be integrated with most AGV mobile robots, making it easy to retrofit old equipment or build new ones. It is also low-cost and affordable. This method is simple, time-efficient, improves processing speed, and reduces the performance and cost of industrial computers.
[0142] It should be understood that, although the steps in the flowcharts of the above embodiments are shown in sequence as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the flowcharts of the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily to be performed in sequence, but can be performed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0143] Based on the same inventive concept, embodiments of the present application also provide an object pose recognition device for implementing the object pose recognition method described above. The solution provided by this device is similar to the solution described in the method described above. Therefore, the specific limitations of one or more of the following embodiments of the object pose recognition device can be found in the above-mentioned limitations of the object pose recognition method and will not be further elaborated here.
[0144] In one embodiment, Figure 9 As shown, an object posture recognition device is provided, comprising:
[0145] The point group segmentation module 902 is used to divide the point cloud data into a plurality of point group data;
[0146] A difference value calculation module 904 is used to determine the point group difference value between the pose recognition parameter of each point group data and the historical point cloud accumulation value;
[0147] An object point group selection module 906 is configured to select object point group data whose point group difference values meet the object contour condition from each of the point group data;
[0148] The posture recognition module 908 is configured to determine object posture reference lines in different directions based on the object point group data, and determine the posture of the object point group data relative to the automatic guided vehicle through the object posture reference lines.
[0149] In one embodiment, the difference value calculation module 904 is configured to:
[0150] Fitting each of the point group data into a point group reference line respectively;
[0151] Calculating the change values between each pose recognition parameter of each point group reference line and the accumulated value of each historical point cloud;
[0152] A weighted process is performed on each of the change values to obtain a point group difference value of each of the point group reference lines.
[0153] In one embodiment, the pose recognition parameters include the width, angle, and discrete value of the point group reference line, and the historical point cloud cumulative values include the historical cumulative width, historical cumulative angle, and historical cumulative curvature; the difference value calculation module 904 is used to:
[0154] Calculating a width change value between the width of each of the point group reference lines and the historical accumulated width;
[0155] Calculating the angle change between the angle of each point group reference line and the historical accumulated angle;
[0156] Calculating discrete values of each point group data relative to each point group reference line according to the fitting conditions of each point group data to each point group reference line;
[0157] The curvature change value between the reference line discrete value of each of the point group reference lines and the historical cumulative curvature is calculated.
[0158] In one embodiment, the object point group selection module 906 is used to:
[0159] According to the point group difference value, determining the point group data with the smallest degree of change in the object contour from each of the point group data;
[0160] The point group data with the smallest change in the object contour is determined as the object point group data among the point group data.
[0161] In one embodiment, the point group segmentation module 902 is configured to:
[0162] Adjusting the historical point cloud cumulative value by using the pose recognition parameter of the object point group data to obtain an updated historical point cloud cumulative value;
[0163] Determine a next point group difference value between a pose recognition parameter of a next frame of point cloud data and the updated historical point cloud cumulative value; the next frame of point cloud data is the next frame of data after the point cloud data is obtained.
[0164] In one embodiment, the posture recognition module 908 is configured to:
[0165] Determining an object point group reference line obtained by fitting the object point group data;
[0166] Determining a direction reference line that intersects with the object point group reference line according to a preset direction parameter;
[0167] An offset angle of the target object represented by the object point group data relative to the automatic guided vehicle is determined according to an angle between the orientation reference line and a preset orientation reference line.
[0168] In one embodiment, the pose is used for motion planning of the automated guided vehicle to move the automated guided vehicle to a target position, where the target position is the position of the automated guided vehicle relative to a target object represented by the object point group data.
[0169] Each module in the above-mentioned object pose recognition device can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each module.
[0170] In one embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as follows: Figure 10 As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected via a system bus, and the communication interface, the display unit and the input device are connected to the system bus via the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, it implements an object posture recognition method. The display unit of the computer device is used to form a visually visible image, and can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device casing, or an external keyboard, touchpad or mouse, etc.
[0171] Those skilled in the art will understand that Figure 10The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0172] In one embodiment, a computer device is further provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps in the above method embodiments when executing the computer program.
[0173] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0174] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0175] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions.
[0176] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be, but are not limited to, a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, and the like.
[0177] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0178] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A method for object pose recognition, characterized in that: Applied to an automated guided vehicle, the method comprises: dividing the point cloud data into a plurality of point group data; the point cloud data represents the target object undergoing posture recognition and the object environment during the posture recognition process of the target object by the automated guided vehicle; Determining a point group difference value between a pose recognition parameter of each of the point group data and a historical point cloud cumulative value; the historical point cloud cumulative value is a cumulative change result of the pose recognition parameter caused by at least two frames of historical point cloud data in a guidance process; the pose recognition parameter represents a contour formed by the point group data; Selecting object point group data whose point group difference value meets an object contour condition from each of the point group data; the object contour condition is a stability index set for the point group data based on the contour formed by the point group data; Object pose reference lines in different directions are determined according to the object point group data, and the pose of the object point group data relative to the automatic guided vehicle is determined through the object pose reference lines.
2. The method according to claim 1, characterized in that Determining the point group difference value between the pose recognition parameter of each point group data and the historical point cloud accumulation value includes: Fitting each of the point group data into a point group reference line respectively; Calculating the change values between each pose recognition parameter of each point group reference line and the accumulated value of each historical point cloud; A weighted process is performed on each of the change values to obtain a point group difference value of each of the point group reference lines.
3. The method according to claim 2, characterized in that The pose recognition parameters include the width, angle, and discrete value of the point group reference line, and the historical point cloud cumulative values include the historical cumulative width, historical cumulative angle, and historical cumulative curvature; and the calculation of the change values between the pose recognition parameters of each point group reference line and the historical point cloud cumulative values includes: Calculating a width change value between the width of each of the point group reference lines and the historical accumulated width; Calculating the angle change between the angle of each point group reference line and the historical accumulated angle; Calculating discrete values of each point group data relative to each point group reference line according to the fitting conditions of each point group data to each point group reference line; The curvature change value between the reference line discrete value of each of the point group reference lines and the historical cumulative curvature is calculated.
4. The method according to claim 1, wherein The step of selecting object point group data whose point group difference values meet the object contour condition from each of the point group data comprises: According to the point group difference value, determining the point group data with the smallest degree of change in the object contour from each of the point group data; The point group data with the smallest change in the object contour is determined as the object point group data among the point group data.
5. The method according to claim 1, wherein The method further comprises: Adjusting the historical point cloud cumulative value by using the pose recognition parameter of the object point group data to obtain an updated historical point cloud cumulative value; Determine a next point group difference value between a pose recognition parameter of a next frame of point cloud data and the updated historical point cloud cumulative value; the next frame of point cloud data is the next frame of data after the point cloud data is obtained.
6. The method according to claim 1, characterized in that The determining of object pose reference lines in different directions according to the object point group data includes: Determining an object point group reference line obtained by fitting the object point group data; Determining a direction reference line that intersects with the object point group reference line according to a preset direction parameter; Determining the pose of the object point group data relative to the automatic guided vehicle through the object pose reference line includes: An offset angle of the target object represented by the object point group data relative to the automatic guided vehicle is determined according to an angle between the orientation reference line and a preset orientation reference line.
7. The method according to claim 1, characterized in that The pose is used for motion planning of the automated guided vehicle to move the automated guided vehicle to a target position, where the target position is the position of the automated guided vehicle relative to a target object represented by the object point group data.
8. An object posture recognition device, characterized in that: Applied to an automatic guided vehicle, the device comprises: A point group segmentation module is used to divide the point cloud data into a plurality of point group data; the point cloud data represents the target object undergoing posture recognition and the object environment during the posture recognition of the target object by the automatic guided vehicle; a difference value calculation module, configured to determine a point group difference value between a pose recognition parameter of each of the point group data and a historical point cloud cumulative value; the historical point cloud cumulative value is a cumulative change result of the pose recognition parameter caused by at least two frames of historical point cloud data in a single guidance process; the pose recognition parameter represents a contour formed by the point group data; An object point group selection module is used to select object point group data whose point group difference values meet the object contour condition from each of the point group data; the object contour condition is a stability index set for the point group data by the contour formed by the point group data; The posture recognition module is used to determine object posture reference lines in different directions according to the object point group data, and determine the posture of the object point group data relative to the automatic guided vehicle through the object posture reference lines.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Pose recognition method and device, electronic equipment and storage medium
CN110793512A
Pose recognition method, electronic equipment and storage medium
CN110927732A