Carrier positioning method, apparatus, robot and storage medium

By scanning the point cloud of the target vehicle, clustering and computing the position information of the supporting legs, the problem of increasing hardware costs in the prior art is solved, and accurate positioning and cost reduction are achieved.

WO2025140397A1PCT designated stage expired Publication Date: 2025-07-03JUXING TECH SHENZHEN CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/142689
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-27
Filing Date
2024-12-26
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

In the prior art, robot positioning vehicles require setting cameras on the robot and QR codes on the vehicle, which increases hardware costs.

Method used

The robot scans the point cloud of the target vehicle, uses lidar to obtain the first point cloud, cluster and determine the second point cloud of the support leg, calculates the current position information of the target vehicle, and avoids the use of cameras and QR codes.

Benefits of technology

The robot accurately locates the target vehicle, reduces hardware costs, and improves positioning accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024142689_03072025_PF_FP_ABST
    Figure CN2024142689_03072025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to a carrier positioning method, an apparatus, a robot and a storage medium. The method comprises: controlling a robot to move to a preset initial position of a target carrier, the target carrier comprising at least one support leg; acquiring a first point cloud scanned by the robot; when it is determined on the basis of the first point cloud that the robot scans the target carrier, determining a second point cloud of each support leg on the basis of the first point cloud; and, on the basis of the second point cloud of each support leg, determining current position information of the target carrier. The present application achieves positioning of target carriers by robots, thereby avoiding arranging a camera on a robot and arranging a two-dimensional code on a target carrier, and reducing hardware costs.
Need to check novelty before this filing date? Find Prior Art

Description

Method, device, robot and storage medium for positioning vehicle

[0001] Cross-references

[0002] This application refers to Chinese Patent Application No. 2023118370411 filed on December 27, 2023, entitled “A Method, Device, Robot and Storage Medium for Positioning a Vehicle,” which is incorporated herein by reference in its entirety. Technical Field

[0003] The present application relates to the field of robotics technology, and in particular to a method, device, robot, and storage medium for positioning a vehicle. Background Art

[0004] With the development of automation technology, robots are increasingly being used in industrial production. In industrial production, cargo is usually loaded into cage trucks. After the cage trucks are loaded, the robot moves to the cage truck position to lift the cage truck, allowing the robot to carry the cage truck and then transport the cargo in the cage truck to the destination, thereby improving the efficiency of industrial production. At present, in order to enable the robot to accurately lift the cage truck, a QR code is usually set on the cage truck and a camera is set on the robot. When the robot reaches the preset position of the cage truck, the QR code on the cage truck is scanned by the camera on the robot to achieve accurate positioning of the cage truck by the robot. However, the above-mentioned cage truck positioning method requires both a camera on the robot and a QR code on the cage truck, which increases hardware costs. Summary of the Invention

[0005] In view of this, in order to solve the above technical problems or part of the technical problems, the embodiments of the present application provide a method, device, robot and storage medium for positioning a vehicle.

[0006] In a first aspect, the present application provides a method for positioning a carrier, applied to a robot, the method comprising:

[0007] Controlling the robot to move toward a preset initial position of a target vehicle, wherein the target vehicle includes at least one supporting leg;

[0008] Acquire a first point cloud scanned by the robot;

[0009] When it is determined that the robot has scanned the target vehicle according to the first point cloud, determining a second point cloud for each of the supporting legs according to the first point cloud;

[0010] The current position information of the target vehicle is determined according to the second point cloud of each supporting leg.

[0011] In an optional embodiment, determining the second point cloud of each supporting leg based on the first point cloud includes:

[0012] Clustering the first point cloud to determine a point cloud of at least one of the supporting legs;

[0013] determining whether the point cloud of at least one of the support legs includes all support legs of the target vehicle, and if not, determining a scanning position of the robot based on the determined point cloud of at least one of the support legs, wherein the robot is able to scan point clouds of the support legs not included in the first point cloud at the scanning position;

[0014] Controlling the robot to move to the scanning position;

[0015] controlling the robot to generate a third point cloud at the scanning position;

[0016] Clustering the third point cloud to determine a point cloud of at least one of the supporting legs;

[0017] The second point cloud of each supporting leg is obtained according to the point cloud of the supporting leg obtained by clustering the first point cloud and the point cloud of the supporting leg obtained by clustering the third point cloud.

[0018] In an optional embodiment, the current position information includes: the current position coordinates of the target vehicle;

[0019] Determining the current position information of the target vehicle according to the second point cloud of each supporting leg includes:

[0020] For each of the support legs, determining a target point in the second point cloud that satisfies a first preset condition, and determining a mean of coordinates of all points in the second point cloud on the first coordinate axis to obtain first mean coordinates, wherein the first preset condition includes that, in the second point cloud, a distance between the target point and a central axis of the target vehicle is minimized;

[0021] determining first target coordinates of all the target points on a second coordinate axis, where the second coordinate axis is perpendicular to the first coordinate axis;

[0022] determining a mean of all of the first target coordinates to obtain a second mean coordinate, and determining a mean of all of the first mean coordinates to obtain a third mean coordinate;

[0023] The current position coordinates of the target vehicle are determined according to the second mean coordinates and the third mean coordinates.

[0024] In an optional embodiment, the current position information includes: a movement vector corresponding to the target vehicle, the target vehicle includes four support legs, and two support legs are respectively provided on both sides of the central axis;

[0025] Determining the current position information of the target vehicle according to the second point cloud of each supporting leg includes:

[0026] For each of the supporting legs, determine a calculation point corresponding to the current supporting leg, where the coordinates of the calculation point corresponding to the current supporting leg on the first coordinate axis are the first mean coordinates corresponding to the current supporting leg, and the coordinates of the calculation point on the second coordinate axis are the first target coordinates corresponding to the current supporting leg;

[0027] For the two support legs on each side of the central axis, determine a target vector formed by the calculation points corresponding to the two support legs on the same side of the central axis, where the target vector is close to the calculation point of the robot and points away from the calculation point of the robot;

[0028] determining whether the difference between the direction angles of the two target vectors is within a preset angle range, and if so, using the target vector with the smaller direction angle of the two target vectors as the movement vector;

[0029] If not, the mean of the coordinates of the two target vectors on the first coordinate axis is used as the coordinate of the moving vector on the first coordinate axis, and the mean of the coordinates of the two target vectors on the second coordinate axis is used as the coordinate of the moving vector on the second coordinate axis to obtain the moving vector.

[0030] In an optional embodiment, determining that the robot has scanned the target vehicle according to the first point cloud includes:

[0031] Clustering all points in the first point cloud according to the size information of the target vehicle to obtain multiple clustering results;

[0032] For every two clustering results in the plurality of clustering results, determining a first distance between the two clustering results;

[0033] When there is a first distance among all the first distances that meets a second preset condition, it is determined that the robot has scanned the target vehicle, and the second preset condition includes: the first distance is within a preset distance range, and the preset distance range is set according to the size information of the target vehicle.

[0034] In an optional embodiment, clustering all points in the first point cloud according to the size information of the target vehicle to obtain multiple clustering results includes:

[0035] For every two points in the first point cloud, determining a second distance between the two points;

[0036] According to a third preset condition and all the second distances, all points in the first point cloud are clustered to obtain multiple clustering results that meet the third preset condition, wherein the third preset condition includes that the second distance between every two points in the clustering results is less than a first preset distance threshold, and the first preset distance threshold is set according to the size information of the target vehicle.

[0037] In an optional embodiment, when there is a first distance that satisfies a second preset condition among all the first distances, determining that the robot has scanned the target vehicle includes:

[0038] When there is a first distance that satisfies a second preset condition among all the first distances, two target clustering results are determined from the plurality of clustering results corresponding to the first point cloud, and the first distance between the two target clustering results satisfies the second preset condition;

[0039] Determining a third distance between each of the target clustering results and the preset initial position;

[0040] When both of the third distances are less than or equal to a second preset distance threshold, it is determined that the robot has scanned the target vehicle.

[0041] In a second aspect, the present application provides a device for positioning a carrier, comprising:

[0042] a control module, configured to control the robot to move toward a preset initial position of a target vehicle, wherein the target vehicle includes at least one supporting leg;

[0043] An acquisition module, configured to acquire a first point cloud scanned by the robot;

[0044] The determining module is further configured to determine a second point cloud for each of the supporting legs based on the first point cloud when it is determined that the robot has scanned the target vehicle based on the first point cloud;

[0045] The determination module is further configured to determine the current position information of the target vehicle based on the second point cloud of each of the supporting legs.

[0046] In a third aspect, the present application provides a robot comprising: a processor and a memory, wherein the processor is connected to the memory, and the processor is used to execute a program for positioning a vehicle stored in the memory to implement the method for positioning a vehicle as described above.

[0047] In a fourth aspect, the present application further provides a storage medium storing one or more programs, which can be executed by one or more processors to implement the method for positioning a vehicle as described above.

[0048] The above technical solution provided by the embodiment of the present application has the following advantages over the prior art: the method provided by the embodiment of the present application includes: controlling the robot to move to a preset initial position of a target vehicle, the target vehicle including at least one supporting leg; obtaining a first point cloud scanned by the robot; when determining that the robot has scanned the target vehicle based on the first point cloud, determining a second point cloud of each supporting leg based on the first point cloud; and determining the current position information of the target vehicle based on the second point cloud of each supporting leg. In the above manner, the embodiment of the present application obtains the first point cloud scanned by the robot during the process of controlling the robot to move to the preset initial position of the target vehicle; when determining that the robot has scanned the target vehicle based on the first point cloud, the second point cloud of each supporting leg of the target vehicle can be determined based on the obtained first point cloud, so as to determine the current position information of the target object based on the second point cloud of each supporting leg, thereby realizing the positioning of the target vehicle by the robot, avoiding the need to set a camera on the robot and a QR code on the target vehicle, and reducing hardware costs. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0050] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0051] One or more embodiments are exemplarily illustrated by pictures in the corresponding drawings. These exemplifications do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings are represented as similar elements. Unless otherwise stated, the figures in the drawings do not constitute proportional limitations.

[0052] FIG1 is a schematic flow chart of a method for positioning a carrier provided in an embodiment of the present application;

[0053] FIG2 is a schematic flow chart of another method for positioning a carrier provided in an embodiment of the present application;

[0054] FIG3 is a schematic structural diagram of a positioning vehicle device provided in an embodiment of the present application;

[0055] FIG4 is a schematic structural diagram of a robot provided in an embodiment of the present application;

[0056] In the above figures: 10, control module; 20, acquisition module; 30, determination module; 400, robot; 401, processor; 402, memory; 4021, operating system; 4022, application; 403, user interface; 404, network interface; 405, bus system. DETAILED DESCRIPTION

[0057] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0058] The disclosure below provides many different embodiments or examples for implementing different structures of the present application. In order to simplify the disclosure of the present application, the components and settings of specific examples are described below. Of course, these are merely examples and are not intended to limit the present application. In addition, the present application may repeat reference numbers and / or letters in different examples. Such repetition is for the purpose of simplicity and clarity and does not in itself indicate the relationship between the various embodiments and / or settings discussed.

[0059] Referring to FIG1 , FIG1 is a flow chart of a method for positioning a carrier provided in an embodiment of the present application. A method for positioning a carrier provided in an embodiment of the present application includes the following steps:

[0060] S101: Control the robot to move to a preset initial position of a target vehicle, where the target vehicle includes at least one supporting leg.

[0061] In this embodiment, the execution subject is a robot. The target carrier is actually a cage truck. The preset initial position is stored in a map or server, or the robot is pushed to the parking position of the target carrier, the parking position of the target carrier is picked up and saved on the map, thereby obtaining the preset initial position of the target carrier. The preset initial position is actually the position of the center point of the preset target carrier. When the robot transports the target carrier, the robot needs to move to the preset initial position, lift the target carrier at the preset initial position, and transport the target carrier. When the robot needs to transport the target carrier, the preset initial position and the position of the robot are obtained, and according to the position of the robot and the preset initial position, the planned path for the robot to move from the robot's position to the preset initial position is determined, and the robot is controlled to move to the preset initial position according to the planned path. However, since the target vehicle is placed by humans, there will be errors when placing the target vehicle, and there will also be errors when taking the parking position of the target vehicle through the map. If the robot moves directly to the preset initial position to lift the target vehicle, it may affect the subsequent robot's handling of the target vehicle. Therefore, in the process of the robot moving from the current position to the preset initial position, the current position information of the target vehicle needs to be determined to achieve accurate positioning of the robot on the target vehicle, so that the robot can accurately lift the target vehicle.

[0062] S102: Acquire the first point cloud scanned by the robot.

[0063] In this embodiment, in the process of controlling the robot to move to a preset initial position, the laser point can be scanned by the laser radar possessed by the robot itself. The laser point scanned by the laser radar uses the laser radar as the coordinate system by default. In order for the robot to locate the position of the target vehicle based on the laser point scanned by the laser radar, the laser point scanned by the laser radar needs to be transferred to the robot coordinate system to obtain the first point cloud. Specifically, the robot in this embodiment has two laser radars, one laser radar is set in front of the robot, and the other laser radar is set behind the robot, so as to ensure that the robot has a 360-degree visual range. In the process of the robot moving to the preset initial position, the scanned laser points are respectively obtained by the two laser radars, and the laser points scanned by the two laser radars are converted to the robot coordinate system. All points converted to the robot coordinate system by the two laser radars are merged into a point cloud, that is, the first point cloud in this embodiment, and the first point cloud includes multiple points.

[0064] In the above, it is assumed that A and B are the coordinate transformation matrices from the two laser radars to the robot coordinate system, C and D are the point clouds based on their own coordinates collected by the laser radar, and E is the fused point cloud (i.e., the first point cloud). The specific formula is as follows: E=C×A+D×B (1)

[0065] S103: When it is determined that the robot has scanned the target vehicle according to the first point cloud, a second point cloud of each supporting leg is determined according to the first point cloud.

[0066] In this embodiment, after obtaining the first point cloud, it is necessary to use the first point cloud to determine whether the robot has scanned the target vehicle. When the robot scans the target vehicle, the first point cloud scanned by the robot includes the point cloud of the support leg of the target vehicle. Therefore, the second point cloud of each support leg of the target vehicle is determined based on the first point cloud. The position of the target vehicle can be determined based on the second point cloud of each support leg to achieve accurate positioning of the target vehicle.

[0067] S104: Determine the current position information of the target vehicle according to the second point cloud of each supporting leg.

[0068] In this embodiment, the current position information includes the current position coordinates of the target vehicle and the corresponding motion vector. The current position coordinates are actually the destination to which the robot needs to move. At the current position coordinates, the robot must lift the target vehicle to achieve transport of the target vehicle. After obtaining the current position coordinates and the corresponding motion vector of the target vehicle, the robot's position and posture can be determined based on the current position coordinates and the target vehicle, allowing the robot to more accurately move to the current position coordinates.

[0069] This embodiment provides a method for positioning a vehicle. During the process of controlling the robot to move toward a preset initial position of a target vehicle, the first point cloud scanned by the robot is acquired. When it is determined based on the first point cloud that the robot has scanned the target vehicle, the second point cloud of each supporting leg of the target vehicle can be determined based on the obtained first point cloud. Based on the second point cloud of each supporting leg, the current position information of the target object can be determined, thereby realizing the positioning of the target vehicle by the robot, avoiding the need to set a camera on the robot and a QR code on the target vehicle, and reducing hardware costs.

[0070] Referring to FIG2 , FIG2 is a flow chart of another method for positioning a carrier provided in an embodiment of the present application. A method for positioning a carrier provided in an embodiment of the present application includes the following steps:

[0071] S201: Control the robot to move to a preset initial position of a target vehicle, where the target vehicle includes at least one supporting leg.

[0072] In this embodiment, step S201 is consistent with the above-mentioned step S101. For details, please refer to the above description and will not be described in detail in this embodiment.

[0073] S202: Acquire the first point cloud scanned by the robot.

[0074] In this embodiment, during the movement of the robot toward the preset initial position, scanning can be performed according to the preset initial position and the preset error coefficient to obtain the first point cloud scanned by the robot. The preset error coefficient can be set according to actual needs, and the specific value of the preset error coefficient is not limited in this embodiment. Based on the preset initial position and the pre-stored size information of the target vehicle, the range required to be scanned by the robot can be determined. However, since the preset initial position may have an error, the preset error coefficient is set to expand the scanning range of the robot, thereby obtaining the first point cloud scanned by the robot. By setting the preset error coefficient to reduce the error caused by the subsequent positioning of the target vehicle, the accuracy of the robot's positioning of the target vehicle is improved.

[0075] S203: When it is determined that the robot has scanned the target vehicle according to the first point cloud, cluster the first point cloud to determine a point cloud of at least one supporting leg.

[0076] In this embodiment, determining that the robot has scanned the target vehicle based on the first point cloud in step S203 includes:

[0077] Clustering all points in the first point cloud according to the size information of the target vehicle to obtain multiple clustering results;

[0078] For every two clustering results in the plurality of clustering results, determining a first distance between the two clustering results;

[0079] When there is a first distance that meets a second preset condition among all the first distances, it is determined that the robot has scanned the target vehicle. The second preset condition includes: the first distance is within a preset distance range, and the preset distance range is set according to the size information of the target vehicle.

[0080] The target vehicle's dimensional information specifically refers to the width of each support leg and the distance between the support legs of the target vehicle. After obtaining the first point cloud, all points in the first point cloud can be clustered based on the width of the support legs of the target vehicle, so as to cluster points in the first point cloud that are similar to the support legs of the target vehicle, thereby obtaining multiple clustering results. Although clustering can cluster all points in the first point cloud that are similar to the support legs of the target vehicle, the resulting clustering results will inevitably include some points similar to the support legs of the target vehicle, such as tables and chairs. This will affect the accuracy of the robot's positioning of the target vehicle. Therefore, in order to accurately determine the cluster result corresponding to the support legs of the target vehicle from the multiple clustering results, a preset distance range can be set based on the distance between the support legs of the target vehicle, and a first distance between each two clustering results can be determined to obtain all first distances. If a first distance within the preset distance range exists among all the first distances, it is determined that the match with the target vehicle is successful, and further, it is determined that the robot has scanned the target vehicle.

[0081] Specifically, a third preset distance threshold and a fourth preset distance threshold can be pre-set, and the sum of the distance between the supporting legs and the third preset distance threshold and the difference between the distance between the supporting legs and the fourth preset distance threshold can be determined, and the range between the difference and the sum is used as the preset distance range. The third preset distance threshold and the fourth preset distance threshold can be the same or different, and the specific values ​​of the third preset distance threshold and the fourth preset distance threshold can be set according to actual needs, which are not described in detail in this embodiment. The first distance between two clustering results can specifically refer to the first distance between the cluster centers of the two clustering results. The determination of the cluster centers can be performed according to existing methods, which are not described in detail in this embodiment.

[0082] In the above, in order to further improve the accuracy of the robot's positioning of the target vehicle, when there is a first distance that meets the second preset condition among all the first distances, determining that the robot has scanned the target vehicle specifically includes:

[0083] When a first distance that satisfies a second preset condition exists among all the first distances, two target clustering results are determined from the multiple clustering results corresponding to the first point cloud, and the first distance between the two target clustering results satisfies the second preset condition;

[0084] Determine a third distance between each target clustering result and a preset initial position;

[0085] When the two third distances are both less than or equal to the second preset distance threshold, it is determined that the robot has scanned the target vehicle.

[0086] In this embodiment, during the movement of the robot toward the preset initial position, if the clustering result corresponding to the supporting leg of the target vehicle determined is far away from the preset initial position, still using the above clustering result as the supporting leg of the target vehicle will affect the accuracy of determining that the robot has scanned the target vehicle. Therefore, when there is a first distance that satisfies the second preset condition among all the first distances, in this embodiment, two target clustering results corresponding to the first distance that satisfies the second preset condition are determined from the multiple clustering results corresponding to the first point cloud, and the third distance between each target clustering result and the preset initial position is determined. When both third distances are less than or equal to the second preset distance threshold, it indicates that the obtained clustering result corresponding to the supporting leg of the target vehicle is close to the preset initial position, and the above clustering result can be used as the supporting leg of the target vehicle. Among them, the third distance between the target clustering result and the preset initial position can specifically refer to the third distance between the cluster center of the target clustering result and the preset initial position. The determination of the cluster center of the target clustering result can be achieved according to the existing technology, which will not be described in detail in this embodiment. The second preset distance threshold can be set according to actual needs. In this embodiment, the specific value of the second preset distance threshold is not limited.

[0087] It should be noted that when there are at least two first distances that meet the second preset condition among all first distances, the target clustering result corresponding to each first distance is determined from the multiple clustering results corresponding to the first point cloud, and the third distance between each target clustering result and the preset initial position is determined. Since the robot may first scan the first two supporting legs of the target vehicle during its movement toward the target vehicle, if two third distances among all the obtained third distances are less than or equal to the second preset distance threshold, it can be determined that the robot has scanned the target vehicle. When determining that the robot has scanned the target vehicle, all target clustering results can be determined from the multiple clustering results of the first point cloud pair, wherein the first distance between each two target clustering results in all target clustering results meets the second preset condition, and the point cloud corresponding to each target clustering result is determined as the point cloud of the supporting leg.

[0088] In the above, all points in the first point cloud are clustered according to the size information of the target vehicle to obtain multiple clustering results, including:

[0089] For every two points in the first point cloud, determining a second distance between the two points;

[0090] All points in the first point cloud are clustered according to a third preset condition and all second distances to obtain a plurality of clustering results that satisfy the third preset condition, wherein the third preset condition includes that the second distance between every two points in the clustering result is less than a first preset distance threshold, and the first preset distance threshold is set according to size information of the target vehicle.

[0091] In this embodiment, each support leg of the target vehicle has an inherent characteristic, namely, a fixed width. Therefore, after obtaining the first point cloud, a second distance is determined for each two points in the same plane coordinate system. All points whose second distance is less than a first preset distance threshold are clustered, thereby obtaining all clustering results. A second distance less than the first preset distance threshold indicates that the two points belong to the same support leg. In this way, all points belonging to the same support leg can be clustered. The first preset distance threshold is actually the width of the support leg.

[0092] Regarding the step of clustering the first point cloud and determining the point cloud of at least one supporting leg in step S203 above, determining that the robot has scanned the target vehicle is accomplished based on whether the first point cloud includes the point cloud of the target vehicle's supporting leg. When determining that the robot has scanned the target vehicle, all target clustering results whose first distance satisfies the second preset condition can be determined from the multiple clustering results corresponding to the first point cloud. All points in each target clustering result are determined as the point cloud of one supporting leg of the target vehicle, thereby obtaining the point cloud of at least one supporting leg.

[0093] S204: Determine whether the point cloud of at least one supporting leg includes all supporting legs of the target vehicle.

[0094] S205: If not, determine the scanning position of the robot based on the determined point cloud of at least one supporting leg, so that the robot can scan the point cloud of the supporting leg that is not included in the first point cloud at the scanning position.

[0095] With respect to steps S204 and S205 described above, the first point cloud may include point clouds for all of the target vehicle's support legs. Of course, since the robot is moving toward the target vehicle, the first point cloud may not include point clouds for all of the target vehicle's support legs. The first point cloud only includes point clouds for the target vehicle's front support legs. Therefore, after determining the point cloud for at least one support leg from the first point cloud, if the point cloud for at least one support leg does not include all of the target vehicle's support legs, all target clustering results that meet the second preset condition can be determined from the multiple clustering results corresponding to the first point cloud. Based on the cluster centers of all target clustering results and pre-stored target vehicle size information, combined with a pre-established mathematical model, calculations are performed to determine the robot's scanning position. The scanning position is actually a position near the center point of the target vehicle. Since the scanning position is not determined by the point cloud of all the supporting legs of the target vehicle, there may still be errors when the robot lifts the target vehicle at the scanning position. Therefore, it is necessary to execute the following steps S206 to S209 to obtain the point cloud of all the supporting legs of the target vehicle to achieve accurate positioning of the target vehicle.

[0096] S206: Control the robot to move to the scanning position.

[0097] S207: Control the robot to generate a third point cloud at the scanning position.

[0098] S208: Clustering the third point cloud to determine a point cloud of at least one supporting leg.

[0099] S209: Obtain a second point cloud for each supporting leg according to the point cloud of the supporting leg obtained by clustering the first point cloud and the point cloud of the supporting leg obtained by clustering the third point cloud.

[0100] With respect to the above-mentioned steps S206 to S209, since the robot can scan the point clouds of all the supporting legs of the target vehicle when it is at the scanning position, after obtaining the scanning position of the robot, the robot is controlled to move to the scanning position. After the robot moves to the scanning position, the robot scans to obtain a third point cloud, clusters the third point cloud to obtain the point clouds of the supporting legs not included in the first point cloud, and thereby obtains a second point cloud for each supporting leg based on the point clouds of the supporting legs obtained by clustering the first point cloud and the point clouds of the supporting legs obtained by clustering the third point cloud. The method for clustering the third point cloud is similar to the method for clustering the first point cloud, and is also achieved by clustering the characteristics of the supporting legs of the target vehicle. For details, please refer to the above-mentioned method for clustering the first point cloud, which will not be described in detail in this embodiment. When the robot moves to the scanning position to obtain the third point cloud, it is necessary to reduce the preset error coefficient to reduce the robot's scanning interference and improve the accuracy of the robot's scanning of each supporting leg of the target vehicle. The reduced preset error coefficient may be determined according to the distance from the position where the target vehicle is located to the scanning position determined by the robot.

[0101] When determining that a point cloud of a supporting leg not included in the first point cloud is scanned, for each two clustering results among all clustering results obtained by clustering the third point cloud, a first distance between the two clustering results is determined. Target clustering results corresponding to all first distances within a preset distance range are determined from the third point cloud. Clustering results corresponding to supporting legs not included in the first point cloud are determined from all target clustering results. All points in the clustering results corresponding to supporting legs not included in the first point cloud are determined as point clouds of supporting legs not included in the first point cloud. Thus, based on the point clouds of supporting legs obtained by clustering the first point cloud and the point clouds of supporting legs obtained by clustering the third point cloud, second point clouds of each supporting leg of the target vehicle are obtained. The preset distance range is consistent with that described above, and reference may be made to the above description for details, which will not be elaborated on in this embodiment.

[0102] S210: If yes, determine the point cloud of each supporting leg in the first point cloud as the second point cloud.

[0103] In this embodiment, if the first point cloud already includes all supporting legs of all target vehicles, the target vehicle can be accurately located based on the point clouds of all supporting legs of all target vehicles. In this way, the point cloud of each supporting leg in the first point cloud can be determined as the second point cloud for subsequent accurate positioning of the target vehicle.

[0104] S211: Determine the current position information of the target vehicle according to the second point cloud of each supporting leg.

[0105] In this embodiment, determining the current position information of the target vehicle according to the second point cloud of each supporting leg in step S211 includes:

[0106] For each support leg, determining a target point in the second point cloud that satisfies a first predetermined condition, and determining a mean of coordinates of all points in the second point cloud on the first coordinate axis to obtain first mean coordinates, wherein the first predetermined condition includes that a distance between the target point and a central axis of the target vehicle is minimized in the second point cloud;

[0107] Determine the first target coordinates of all target points on the second coordinate axis, where the second coordinate axis is perpendicular to the first coordinate axis;

[0108] determining a mean of all first target coordinates to obtain a second mean coordinate, and determining a mean of all first mean coordinates to obtain a third mean coordinate;

[0109] The current position coordinates of the target vehicle are determined according to the second mean coordinates and the third mean coordinates.

[0110] Among them, the current position information includes the current position coordinates of the target vehicle. The first coordinate axis is the central axis of the target vehicle, and the angle between the first coordinate axis and the moving direction of the robot is smaller than the angle between the second coordinate axis and the moving direction of the robot. The first coordinate axis is actually the X-axis, and the second coordinate axis is actually the Y-axis. In this embodiment, for the convenience of calculation, it is assumed that the robot moves as close to the central axis of the target vehicle as possible. When determining the coordinates of each supporting leg, the target point with the smallest distance from the central axis of the target vehicle is determined from the second point cloud corresponding to each supporting leg, and the first target coordinate of the target point on the second coordinate axis is used as the coordinate of the supporting leg on the Y-axis. Determine the mean of the coordinates of all points in the second point cloud corresponding to each supporting leg on the first coordinate axis to obtain the first mean coordinate, and use the first mean coordinate as the coordinate of the supporting leg on the X-axis. The coordinates of all supporting legs on the X-axis are averaged to obtain the second mean coordinate, and the coordinates of all supporting legs on the Y-axis are averaged to obtain the third mean coordinate. The second mean coordinate and the third mean coordinate are determined as the XY axis coordinates corresponding to the target vehicle, and the XY axis coordinates corresponding to the target vehicle are determined as the current position coordinates of the target vehicle.

[0111] In this embodiment, the current position information also includes a motion vector corresponding to the target vehicle. The target vehicle includes four support legs, with two support legs disposed on either side of the central axis of the target vehicle. To further improve the robot's positioning accuracy for the target vehicle, the current position information of the target vehicle is determined based on the second point cloud of each support leg, including:

[0112] For each supporting leg, determine the calculation point corresponding to the current supporting leg. The coordinate of the calculation point corresponding to the current supporting leg on the first coordinate axis is the first mean coordinate corresponding to the current supporting leg, and the coordinate on the second coordinate axis is the first target coordinate corresponding to the current supporting leg.

[0113] For the two support legs on each side of the central axis, determine the target vector formed by the calculation points corresponding to the two support legs on the same side of the central axis, where the target vector points from the calculation point close to the robot to the calculation point far away from the robot;

[0114] Determine whether the difference in the direction angles of the two target vectors is within a preset angle range. If so, use the target vector with the smaller direction angle as the moving vector.

[0115] If not, the mean of the coordinates of the two target vectors on the first coordinate axis is used as the coordinate of the moving vector on the first coordinate axis, and the mean of the coordinates of the two target vectors on the second coordinate axis is used as the coordinate of the moving vector on the second coordinate axis to obtain the moving vector.

[0116] Specifically, after obtaining the first mean coordinate (coordinate on the X-axis) and the first target coordinate (coordinate on the Y-axis) of each supporting leg, the coordinate on the X-axis and the coordinate on the Y-axis of each supporting leg are determined as the calculation point corresponding to the supporting leg. For the two supporting legs on each side of the central axis, a target vector is formed in the direction from the calculation point of the supporting leg close to the robot to the calculation point of the supporting leg away from the robot, so that two target vectors can be obtained. The direction angle of the target vector can be determined according to the existing method for determining the direction angle of the vector to obtain the determination of the direction angle of the two target vectors. The difference between the direction angles of the two target vectors is determined. When the difference is within the preset angle range, it indicates that the direction angles of the two target vectors are close, and the target vector with the smaller direction angle among the target vectors is used as the moving vector. When the difference is not within the preset angle range, it indicates that the directional angles of the two target vectors differ significantly. In this case, the mean of the coordinates of the two target vectors on the first coordinate axis is used as the coordinate of the movement vector on the first coordinate axis, and the mean of the coordinates of the two target vectors on the second coordinate axis is used as the coordinate of the movement vector on the second coordinate axis. Based on the coordinates of the movement vector on the first coordinate axis and the coordinates of the movement vector on the second coordinate axis, a movement vector is obtained. The direction of the movement vector is consistent with the direction of each target vector. After obtaining the movement vector, the robot's position and posture can be determined based on the movement vector and the current position coordinates, so that the robot can accurately move to the current position coordinates, thereby achieving the transportation of the target carrier at the current position coordinates.

[0117] This embodiment provides a method for positioning a vehicle. During the process of controlling the robot to move toward a preset initial position of a target vehicle, the first point cloud scanned by the robot is acquired. When it is determined based on the first point cloud that the robot has scanned the target vehicle, the second point cloud of each supporting leg of the target vehicle can be determined based on the obtained first point cloud. Based on the second point cloud of each supporting leg, the current position information of the target object can be determined, thereby realizing the positioning of the target vehicle by the robot, avoiding the need to set a camera on the robot and a QR code on the target vehicle, and reducing hardware costs.

[0118] Refer to Figure 3, which is a structural diagram of a device for positioning a vehicle provided in an embodiment of the present application. This embodiment provides a device for positioning a vehicle, comprising: a control module 10, an acquisition module 20, and a determination module 30. The control module is used to control the robot to move to a preset initial position of a target vehicle, and the target vehicle includes at least one supporting leg; the acquisition module is used to acquire the first point cloud scanned by the robot; the determination module is also used to determine the second point cloud of each supporting leg according to the first point cloud when it is determined that the robot has scanned the target vehicle according to the first point cloud; the determination module is also used to determine the current position information of the target vehicle according to the second point cloud of each supporting leg.

[0119] In this embodiment, the determining module 20 is further configured to:

[0120] Clustering the first point cloud to determine a point cloud of at least one of the supporting legs;

[0121] determining whether the point cloud of at least one of the support legs includes all support legs of the target vehicle, and if not, determining a scanning position of the robot based on the determined point cloud of at least one of the support legs, wherein the robot is able to scan point clouds of the support legs not included in the first point cloud at the scanning position;

[0122] Controlling the robot to move to the scanning position;

[0123] controlling the robot to generate a third point cloud at the scanning position;

[0124] Clustering the third point cloud to determine a point cloud of at least one of the supporting legs;

[0125] The second point cloud of each supporting leg is obtained according to the point cloud of the supporting leg obtained by clustering the first point cloud and the point cloud of the supporting leg obtained by clustering the third point cloud.

[0126] In this embodiment, the current position information includes: the current position coordinates of the target vehicle.

[0127] In this embodiment, the determining module 30 is further configured to:

[0128] For each of the support legs, determining a target point in the second point cloud that satisfies a first preset condition, and determining a mean of coordinates of all points in the second point cloud on the first coordinate axis to obtain first mean coordinates, wherein the first preset condition includes that, in the second point cloud, a distance between the target point and a central axis of the target vehicle is minimized;

[0129] determining first target coordinates of all the target points on a second coordinate axis, where the second coordinate axis is perpendicular to the first coordinate axis;

[0130] determining a mean of all of the first target coordinates to obtain a second mean coordinate, and determining a mean of all of the first mean coordinates to obtain a third mean coordinate;

[0131] The current position coordinates of the target vehicle are determined according to the second mean coordinates and the third mean coordinates.

[0132] In this embodiment, the current position information includes: a movement vector corresponding to the target vehicle, the target vehicle includes four support legs, and two support legs are respectively provided on both sides of the central axis.

[0133] In this embodiment, the determining module 30 is further configured to:

[0134] For each of the supporting legs, determine a calculation point corresponding to the current supporting leg, where the coordinates of the calculation point corresponding to the current supporting leg on the first coordinate axis are the first mean coordinates corresponding to the current supporting leg, and the coordinates of the calculation point on the second coordinate axis are the first target coordinates corresponding to the current supporting leg;

[0135] For the two support legs on each side of the central axis, determine a target vector formed by the calculation points corresponding to the two support legs on the same side of the central axis, where the target vector is close to the calculation point of the robot and points away from the calculation point of the robot;

[0136] determining whether the difference between the direction angles of the two target vectors is within a preset angle range, and if so, using the target vector with the smaller direction angle of the two target vectors as the movement vector;

[0137] If not, the mean of the coordinates of the two target vectors on the first coordinate axis is used as the coordinate of the moving vector on the first coordinate axis, and the mean of the coordinates of the two target vectors on the second coordinate axis is used as the coordinate of the moving vector on the second coordinate axis to obtain the moving vector.

[0138] In this embodiment, the determining module 30 is further configured to:

[0139] Clustering all points in the first point cloud according to the size information of the target vehicle to obtain multiple clustering results;

[0140] For every two clustering results in the plurality of clustering results, determining a first distance between the two clustering results;

[0141] When there is a first distance among all the first distances that meets a second preset condition, it is determined that the robot has scanned the target vehicle, and the second preset condition includes: the first distance is within a preset distance range, and the preset distance range is set according to the size information of the target vehicle.

[0142] In this embodiment, the determining module 30 is further configured to:

[0143] For every two points in the first point cloud, determining a second distance between the two points;

[0144] According to a third preset condition and all the second distances, all points in the first point cloud are clustered to obtain multiple clustering results that meet the third preset condition, wherein the third preset condition includes that the second distance between every two points in the clustering results is less than a first preset distance threshold, and the first preset distance threshold is set according to the size information of the target vehicle.

[0145] In this embodiment, the determining module 30 is further configured to:

[0146] When there is a first distance that satisfies a second preset condition among all the first distances, two target clustering results are determined from the plurality of clustering results corresponding to the first point cloud, and the first distance between the two target clustering results satisfies the second preset condition;

[0147] Determining a third distance between each of the target clustering results and the preset initial position;

[0148] When both of the third distances are less than or equal to a second preset distance threshold, it is determined that the robot has scanned the target vehicle.

[0149] This embodiment provides a device for positioning a vehicle. During the process of controlling the robot to move toward a preset initial position of a target vehicle, the device acquires a first point cloud scanned by the robot. When determining that the robot has scanned the target vehicle based on the first point cloud, the device can determine a second point cloud of each supporting leg of the target vehicle based on the obtained first point cloud, and determine the current position information of the target object based on the second point cloud of each supporting leg, thereby realizing the positioning of the target vehicle by the robot, avoiding the need to set a camera on the robot and a QR code on the target vehicle, and reducing hardware costs.

[0150] FIG4 is a schematic diagram of the structure of a robot provided in an embodiment of the present application. The robot 400 shown in FIG4 includes: at least one processor 401, a memory 402, at least one network interface 404, and another user interface 403. The various components of robot 400 are coupled together via a bus system 405. It will be understood that bus system 405 is used to enable connectivity and communication between these components. In addition to a data bus, bus system 405 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in FIG4 , all of these buses are labeled as bus system 405.

[0151] The user interface 403 may include a display, a keyboard, or a pointing device (eg, a mouse, a trackball, a touchpad, or a touch screen).

[0152] It is understood that the memory 402 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus random access memory (DRRAM). The memory 402 described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0153] In some embodiments, the memory 402 stores the following elements, executable units or data structures, or a subset thereof, or an extended set thereof: an operating system 4021 and application programs 4022 .

[0154] Among them, operating system 4021 includes various system programs, such as a framework layer, a core library layer, and a driver layer, which are used to implement various basic services and handle hardware-based tasks. Application 4022 includes various application programs, such as a media player (Media Player), a browser (Browser), etc., which are used to implement various application services. The program that implements the method of the embodiment of the present application can be included in application 4022.

[0155] In an embodiment of the present application, by calling the program or instructions stored in the memory 402, specifically, the program or instructions stored in the application 4022, the processor 401 is used to execute the method steps provided by each method embodiment, for example, including: controlling the robot to move to a preset initial position of a target vehicle, the target vehicle including at least one supporting leg; obtaining a first point cloud scanned by the robot; when determining that the robot has scanned the target vehicle based on the first point cloud, determining a second point cloud for each supporting leg based on the first point cloud; and determining the current position information of the target vehicle based on the second point cloud of each supporting leg.

[0156] The methods disclosed in the above embodiments of the present application can be applied to or implemented by processor 401. Processor 401 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits in processor 401 or by software instructions. The above processor 401 can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The methods, steps, and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software units in the decoding processor. The software units can be located in a storage medium mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory 402 , and the processor 401 reads the information in the memory 402 and completes the steps of the above method in combination with its hardware.

[0157] It is understood that the embodiments described herein may be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit may be implemented in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described herein, or a combination thereof.

[0158] For software implementation, the technology described herein can be implemented by a unit that performs the functions described herein. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.

[0159] The robot provided in this embodiment may be a robot as shown in FIG4 , which can execute all steps of the method for positioning the vehicle as shown in FIG1 and FIG2 , thereby achieving the technical effect of the method for positioning the vehicle as shown in FIG1 and FIG2 . For details, please refer to the relevant descriptions of FIG1 and FIG2 . For the sake of brevity, they will not be elaborated here.

[0160] The present application also provides a storage medium (computer-readable storage medium). The storage medium stores one or more programs. The storage medium may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as read-only memory, flash memory, hard disk, or solid-state drive; and the memory may also include a combination of the aforementioned types of memory.

[0161] When one or more programs in the storage medium can be executed by one or more processors, the method for positioning the carrier is implemented on the device side of the positioning carrier.

[0162] The processor is used to execute a program for positioning the vehicle stored in the memory to implement the following steps of a method for positioning the vehicle executed on the device side of the positioning vehicle: controlling the robot to move to a preset initial position of a target vehicle, the target vehicle including at least one supporting leg; obtaining a first point cloud scanned by the robot; when determining that the robot has scanned the target vehicle based on the first point cloud, determining a second point cloud for each supporting leg based on the first point cloud; and determining the current position information of the target vehicle based on the second point cloud for each supporting leg.

[0163] Professionals should also be further aware that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0164] It should be noted that references in this specification to "one embodiment," "an embodiment," "an exemplary embodiment," "some embodiments," and the like indicate that the described embodiments may include a particular feature, structure, or characteristic, but not necessarily every embodiment includes that particular feature, structure, or characteristic. Furthermore, such phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in conjunction with an embodiment, it is within the knowledge of those skilled in the art to implement such feature, structure, or characteristic in conjunction with other embodiments, whether explicitly described or not.

[0165] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0166] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some or all of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for positioning a vehicle, wherein, Applied to a robot, the method includes: Controlling the robot to move to a preset initial position of a target vehicle, where the target vehicle includes at least one support leg; Obtaining a first point cloud scanned by the robot; When it is determined according to the first point cloud that the robot scans the target vehicle, determining a second point cloud of each support leg according to the first point cloud; Determining current position information of the target vehicle according to the second point cloud of each support leg.

2. The method according to claim 1, wherein, The determining the second point cloud of each support leg according to the first point cloud includes: Clustering the first point cloud to determine the point cloud of at least one support leg; Judging whether the point cloud of at least one support leg contains all the support legs of the target vehicle. If not, according to the determined point cloud of at least one support leg, determining the scanning position of the robot, where the robot can scan the point cloud of the support leg not included in the first point cloud at the scanning position; Controlling the robot to move to the scanning position; Controlling the robot to generate a third point cloud at the scanning position; Clustering the third point cloud to determine the point cloud of at least one support leg; Obtaining the second point cloud of each support leg according to the point cloud of the support leg obtained by clustering the first point cloud and the point cloud of the support leg obtained by clustering the third point cloud.

3. The method according to claim 1, wherein, The current position information includes: the current position coordinates of the target vehicle; The determining the current position information of the target vehicle according to the second point cloud of each support leg includes: For the second point cloud of each support leg, determining a target point that meets a first preset condition from the second point cloud, and determining the mean value of the coordinates of all points in the second point cloud on a first coordinate axis to obtain a first mean coordinate, where the first preset condition includes that, in the second point cloud, the distance between the target point and the central axis of the target vehicle is the smallest; Determining a first target coordinate of all the target points on a second coordinate axis, where the second coordinate axis is perpendicular to the first coordinate axis; Determining the mean value of all the first target coordinates to obtain a second mean coordinate, and determining the mean value of all the first mean coordinates to obtain a third mean coordinate; Determining the current position coordinates of the target vehicle according to the second mean coordinate and the third mean coordinate.

4. The method according to claim 3, wherein The current position information includes: a movement vector corresponding to the target vehicle. The target vehicle includes four support legs, and two support legs are respectively arranged on both sides of the central axis; The determining the current position information of the target vehicle according to the second point cloud of each support leg includes: For each support leg, determining a calculation point corresponding to the current support leg, where the coordinate of the calculation point corresponding to the current support leg on the first coordinate axis is the first mean coordinate corresponding to the current support leg, and the coordinate on the second coordinate axis is the first target coordinate corresponding to the current support leg; For the two support legs on each side of the central axis, determine a target vector formed by the calculation points corresponding to the two support legs on the same side of the central axis, where the calculation point of the target vector closer to the robot points to the calculation point away from the robot; Determine whether the difference between the direction angles of the two target vectors is within a preset angle range. If so, use the target vector with the smaller direction angle among the two target vectors as the movement vector; If not, use the average value of the coordinates of the two target vectors on the first coordinate axis as the coordinate of the movement vector on the first coordinate axis, and use the average value of the coordinates of the two target vectors on the second coordinate axis as the coordinate of the movement vector on the second coordinate axis to obtain the movement vector.

5. The method according to claim 1, wherein The determining that the robot scans the target vehicle according to the first point cloud includes: Cluster all the points in the first point cloud according to the size information of the target vehicle to obtain a plurality of clustering results; For every two of the plurality of clustering results, determine the first distance between the two clustering results; When there is a first distance among all the first distances that satisfies a second preset condition, determine that the robot scans the target vehicle. The second preset condition includes: the first distance is within a preset distance range, and the preset distance range is set according to the size information of the target vehicle.

6. The method according to claim 5, wherein, The clustering all the points in the first point cloud according to the size information of the target vehicle to obtain a plurality of clustering results includes: For every two points in the first point cloud, determine the second distance between the two points; Cluster all the points in the first point cloud according to a third preset condition and all the second distances to obtain a plurality of clustering results that satisfy the third preset condition. The third preset condition includes that the second distance between every two points in the clustering result is less than a first preset distance threshold, and the first preset distance threshold is set according to the size information of the target vehicle.

7. The method according to claim 5, wherein The determining that the robot scans the target vehicle when there is a first distance equal to the first distance that satisfies the second preset condition among all the first distances includes: When there is a first distance equal to the first distance that satisfies the second preset condition among all the first distances, determine two target clustering results from the plurality of clustering results corresponding to the first point cloud, and the first distance between the two target clustering results satisfies the second preset condition; Determine the third distance between each target clustering result and the preset initial position; When both of the two third distances are less than or equal to a second preset distance threshold, determine that the robot scans the target vehicle.

8. A device for positioning a vehicle, wherein, Includes: A control module for controlling the robot to move to the preset initial position of the target vehicle, where the target vehicle includes at least one support leg; An acquisition module for acquiring the first point cloud scanned by the robot; A determination module, further for determining the second point cloud of each support leg according to the first point cloud when it is determined that the robot scans the target vehicle according to the first point cloud; The determining module is further configured to determine the current position information of the target vehicle according to the second point cloud of each of the support legs.

9. A robot, wherein, It includes: A processor and a memory, the processor is connected to the memory, and the processor is configured to execute the program for positioning the vehicle stored in the memory to implement the method for positioning the vehicle according to any one of claims 1 to 7.

10. A storage medium, wherein, The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the method for positioning the vehicle according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Tobacco cage trolley positioning system and dispatch positioning method based on RFID (radio frequency identification)

    CN104574017A

  • Cage trolley positioning device, cage trolley positioning system and cage trolley positioning method

    CN113753617A

  • Positioning method and device, robot and computer readable storage medium

    CN114155557A

  • Transport vehicle positioning method and device, computer equipment and readable storage medium

    CN115810044A