Shelf recognition method and device, electronic equipment and machine readable storage medium
By deploying LiDAR on mobile robots and utilizing point cloud data clustering and partition search technology, the robot can accurately identify the shelf pose, solving the problem that mobile robots have difficulty accurately reaching under the shelves and achieving efficient shelf pose recognition and positioning.
Patent Information
- Application Number
- CN202210899685.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-28
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2042-07-28
AI Technical Summary
Mobile robots have difficulty accurately identifying the position and orientation of shelves, resulting in their inability to reach directly beneath the shelves.
LiDAR is deployed on a mobile robot, and a set of laser points is obtained through point cloud data clustering. This set is then divided into K partitions, and the target set of laser points is searched to determine the actual pose of the shelf leg.
This improves the accuracy and efficiency of shelf position information recognition, ensuring that mobile robots can accurately reach the area under the shelves.
Smart Images

Figure CN115273066B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of robot vision perception, and in particular to a shelf identification method and device, an electronic device and a machine readable storage medium. BACKGROUND
[0002] In the logistics and industrial fields, mobile robots generally refer to automated guided vehicles (AGV for short), which are a kind of transport vehicles equipped with automatic guiding devices such as electromagnetism or optics, capable of traveling along a specified guiding path, and having safety protection and transfer functions, which can replace manual work to complete the lifting and carrying of shelves and other containers.
[0003] The mobile robot needs to accurately move to the position directly below the shelf when performing a carrying task. In some cases, the shelf is not accurately placed or the positioning information of the mobile robot is not accurate, so that the mobile robot cannot accurately reach the position directly below the shelf.
[0004] Therefore, how to accurately identify the pose information of the shelf becomes a technical problem to be solved. SUMMARY
[0005] Therefore, the present application provides a shelf identification method, device, electronic device and machine readable storage medium.
[0006] According to a first aspect of an embodiment of the present application, a shelf identification method is provided, comprising:
[0007] Obtaining point cloud data of a laser radar deployed on a mobile robot, and performing clustering processing on the point cloud data to obtain a plurality of laser point sets;
[0008] According to the pose of each laser point set in the plurality of laser point sets relative to a specified target point, the plurality of laser point sets are divided into K partitions; wherein the specified target point is used to identify the theoretical position of a shelf to be identified, the K partitions are divided according to the actual distribution of the shelf legs of the shelf to be identified, and K is the number of shelf legs of the shelf to be identified;
[0009] Searching for target laser point sets from the K partitions; wherein one target laser point set corresponds to one shelf leg of the shelf to be identified, and different target laser point sets belong to different partitions;
[0010] According to the target laser point set, the actual pose of the shelf to be identified is determined.
[0011] According to a second aspect of an embodiment of the present application, a shelf identification device is provided, comprising:
[0012] A data processing unit is configured to acquire point cloud data of a laser radar deployed on a mobile robot, and perform clustering processing on the point cloud data to obtain a plurality of laser point sets.
[0013] A division unit is configured to divide the plurality of laser point sets into K partitions according to poses of the laser point sets relative to a specified target point, wherein the specified target point is used to identify a theoretical position of a to-be-identified shelf, the K partitions are divided according to actual distribution of shelf legs of the to-be-identified shelf, K is a number of the shelf legs of the to-be-identified shelf.
[0014] A searching unit is configured to search target laser point sets from the K partitions, wherein one target laser point set corresponds to one shelf leg of the to-be-identified shelf, and different target laser point sets belong to different partitions.
[0015] A determination unit is configured to determine an actual pose of the to-be-identified shelf according to the target laser point sets.
[0016] According to a third aspect of the embodiments of the present application, an electronic device is provided, including a processor and a memory, the memory stores machine executable instructions capable of being executed by the processor, and the processor is configured to execute the machine executable instructions to implement the method provided in the first aspect.
[0017] According to a fourth aspect of the embodiments of the present application, a machine readable storage medium is provided, the machine readable storage medium stores machine executable instructions, and the machine executable instructions are executed by a processor to implement the method provided in the first aspect.
[0018] The shelf identification method provided in the embodiments of the present application improves the search efficiency of the shelf legs by deploying a laser radar on a mobile robot, clustering point cloud data of the laser radar to obtain a plurality of laser point sets, dividing the laser point sets into K partitions according to poses of the laser point sets relative to a specified target point, searching target laser point sets corresponding to the shelf legs by using a partition search method, and determining an actual pose of a to-be-identified shelf according to the target laser point sets when the target laser point sets are searched, thereby improving the accuracy of the shelf pose information identification. BRIEF DESCRIPTION OF DRAWINGS
[0019] Figure 1 is a flowchart of a shelf identification method provided in the embodiments of the present application;
[0020] Figure 2 is an implementation flowchart of controlling a mobile robot to move to a specified position below a shelf provided in the embodiments of the present application;
[0021] Figure 3A schematic diagram of a shelf provided by an embodiment of the present application;
[0022] Figure 4A A schematic diagram of a mobile robot and a shelf in an actual scene provided by an embodiment of the present application;
[0023] Figure 4B A schematic diagram of a process for determining a single round effective shelf leg combination and quantity provided by an embodiment of the present application;
[0024] Figure 5 A structural schematic diagram of a shelf recognition device provided by an embodiment of the present application;
[0025] Figure 6 A structural schematic diagram of another shelf recognition device provided by an embodiment of the present application;
[0026] Figure 7 A hardware structural schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0027] The exemplary embodiments will be described in detail herein with reference to the attached drawings. The following description is with reference to the drawings, in which like numerals refer to like elements throughout. The embodiments described in the following exemplary embodiments are not meant to represent all embodiments in accordance with the present application. Rather, they are merely examples of apparatus and methods in accordance with some aspects of the present application as detailed in the appended claims.
[0028] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. As used in this application and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0029] In order for those skilled in the art to better understand the technical solutions provided by the embodiments of the present application, and to make the above-mentioned purposes, features and advantages of the embodiments of the present application more apparent and easy to understand, the technical solutions in the embodiments of the present application will be further described in detail below with reference to the drawings.
[0030] It should be noted that the sequence numbers of the steps in the embodiments of the present application do not mean the order of execution, and the execution order of the processes should be determined according to their functions and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0031] Please refer to Figure 1 A schematic diagram of a shelf recognition method provided by an embodiment of the present application is shown in Figure 1 The shelf recognition method can include the following steps:
[0032] It should be noted that the execution subject of the scheme provided in the embodiments of the present application can be a mobile robot, or can also be a server (which can be referred to as a robot control device) for controlling the mobile robot.
[0033] In addition, for any laser radar deployed on the mobile robot, the scanning range thereof is a fan-shaped plane parallel to the ground (allowing an angle within a first angle range between the scanning range plane and the ground), and considering that it is usually difficult for the scanning range of a single laser radar to cover 360°, therefore, multiple laser radars can be deployed on the mobile robot, and for any multiple laser radars deployed on the mobile robot, the scanning range planes of the multiple laser radars can constitute a plane of 360° or close to 360° (the difference from 360° is within a second angle range), that is, the comprehensive scanning range of the multiple laser radars has no dead angle.
[0034] However, it should be recognized that in the case that the scanning range of a single laser radar can cover 360°, or the scanning range of a single laser radar cannot cover 360° but can meet the application requirements, the number of laser radars deployed on the mobile robot can also be 1.
[0035] Step S100, acquiring point cloud data of laser radars deployed on the mobile robot, and performing clustering processing on the point cloud data to obtain multiple laser point sets.
[0036] In the embodiments of the present application, the mobile robot can acquire laser radar data (which can be referred to as point cloud data) in the scanning range thereof through the deployed laser radars, and perform clustering processing on the acquired point cloud data to obtain multiple laser point sets.
[0037] Exemplarily, for the point cloud data of any laser radar, the mobile robot can perform preprocessing such as removing flying points before clustering processing of the point cloud data, so as to optimize the clustering effect; in addition, when clustering the point cloud data, the ROI (Region of Interest, region of interest) region in the scanning range can also be determined, and the point cloud data in the ROI region is clustered to improve the clustering efficiency.
[0038] Exemplarily, one laser point set can correspond to a set of laser points on a certain object scanned by a laser radar.
[0039] Step S110, dividing the multiple laser point sets into K partitions according to the poses of the laser point sets in the multiple laser point sets relative to a specified target point; wherein the specified target point is used to identify the theoretical position of the to-be-identified shelf, the K partitions are divided according to the actual distribution of the shelf legs of the to-be-identified shelf, and K is the number of shelf legs of the to-be-identified shelf.
[0040] For example, the specified target point can refer to a center point of a theoretical position of the to-be-identified shelf, i.e., a position of a center point of the shelf in an ideal arrangement of the shelf.
[0041] For example, coordinates of the specified target point can be provided as an input parameter to the mobile robot.
[0042] In the embodiments of the present application, considering that the actual arrangement position of the shelf will generally have a certain deviation from the actual position, in order to enable the mobile robot to more accurately move to the specified position below the shelf, the shelf leg can be located according to the point cloud data of the laser radar, and the actual position of the shelf center can be determined according to the position of the shelf leg.
[0043] For example, for the laser point set obtained in the manner described in the above embodiments, the above plurality of laser point sets can be divided into K sub-regions according to the pose of each laser point set relative to the specified target point, and the number (denoted as K in this paper) and actual distribution of the shelf legs of the to-be-identified shelf (such as the relative position relationship between the shelf leg and the shelf center), each sub-region corresponding to a shelf leg of the to-be-identified shelf.
[0044] For example, K can be greater than or equal to 3.
[0045] Taking a shelf including four shelf legs and a top view of the shelf being a rectangle (including a square) as an example.
[0046] Since the shelf legs are generally located at the upper left, lower left, upper right, and lower right of the center point of the shelf, respectively, for the laser point set obtained in step S100, the laser point set can be divided into four sub-regions of the upper left, lower left, upper right, and lower right of the specified target point according to the relative pose of the laser point set relative to the specified target point.
[0047] It should be noted that for any laser point set, the relative pose of the average point of the laser point set relative to the specified target point can be determined as the relative pose of the laser point set relative to the specified target point.
[0048] For example, for a laser point set, the average point of the laser point set is a point corresponding to the average value of the horizontal coordinates and the average value of the vertical coordinates of each laser point in the laser point set.
[0049] In addition, in the embodiments of the present application, if not specifically stated, the mentioned coordinates are all in the specified coordinate system (such as the mobile robot coordinate system).
[0050] Step S120, searching for target laser point sets from the K sub-regions; wherein one target laser point set corresponds to one shelf leg of the to-be-identified shelf, and different target laser point sets belong to different sub-regions.
[0051] In the embodiments of the present application, in the case of dividing the laser point set into K sub-regions in the above manner, the candidate laser point set can be obtained by selecting one laser point set from each of the K sub-regions, and the laser point set corresponding to the actual shelf leg of the target shelf (referred to as the target laser point set herein) can be determined from the candidate laser point set.
[0052] In step S130, the actual pose of the to-be-identified shelf is determined according to the target laser point set.
[0053] In the embodiments of the present application, in the case of obtaining the target laser point set, the position information of the actual shelf leg of the to-be-identified shelf can be determined according to the coordinates of the average points of the obtained target laser point sets, and the actual pose of the to-be-identified shelf can be determined.
[0054] For example, for any target laser point set, the coordinates of the shelf leg corresponding to the target laser point set can be determined according to the coordinates of the average point of the target laser point set, and then the actual pose of the to-be-identified shelf can be determined according to the coordinates of the shelf legs of the to-be-identified shelf.
[0055] For example, still taking the case where the number of shelf legs of the to-be-identified shelf is 4 as an example, assuming that the coordinates of the average points of the four laser point sets of the upper left, upper right, lower right, and lower left included in the target laser point set are A(x1, y1), B(x2, y2), C(x3, y3), and D(x4, y4) in turn, the coordinates of the intersection point of AC and BD can be determined as the coordinates of the center point of the shelf, and the rotation angle of the shelf relative to the specified coordinate system can be determined according to the slopes of the edges of the rectangle ABCD.
[0056] For example, the rotation angle of the shelf relative to the specified coordinate system can be the angle between the specified edge (such as the long edge) of the shelf and the positive direction of the x-axis of the specified coordinate system, and the schematic diagram can be as shown in Figure 4A
[0057] It should be noted that the quadrilateral formed by the average points of the target laser point sets obtained in the above manner can not be a strict rectangle, that is, one or more angles of the quadrilateral can deviate from 90°, therefore, in order to improve the accuracy of the determined actual pose of the shelf, the rotation angle of the shelf relative to the specified coordinate system (such as the mobile robot coordinate system) can be determined according to the slopes of multiple edges of the rectangle ABCD.
[0058] For example, the rotation angle of the shelf relative to the specified coordinate system can be determined according to the average value of the angles corresponding to the slopes of AD and BC.
[0059] In the case that the actual pose of the to-be-identified shelf is determined, such as the center point coordinates of the to-be-identified shelf in the specified coordinate system and the rotation angle of the to-be-identified shelf relative to the specified coordinate system, the mobile robot can be controlled to move to a specified position according to the actual pose of the to-be-identified shelf. For example, the mobile robot is controlled to move below the shelf center point and make the pose of the mobile robot match the actual pose of the shelf, and then the shelf carrying is performed as required.
[0060] It can be seen that, in the method flow shown in the Figure 1 In the method flow shown, by deploying a laser radar on the mobile robot, a plurality of laser point sets are obtained by clustering the point cloud data of the laser radar, and the laser point sets are divided into K partitions according to the pose of the laser point sets relative to a specified target point. The target laser point set corresponding to the shelf leg is searched by using the partition search method, which improves the search efficiency of the shelf leg. In the case that the target laser point set is searched, the actual pose of the to-be-identified shelf is determined according to the target laser point set, which improves the accuracy of the shelf pose information identification.
[0061] In some embodiments, the above-mentioned searching of the target laser point set from the K partitions can include:
[0062] Each of the K partitions is sequentially selected as a candidate laser point set to obtain a candidate shelf leg combination; wherein one candidate laser point set corresponds to one candidate shelf leg.
[0063] For any candidate shelf leg combination, the valid laser point set in the candidate shelf leg combination is determined according to the angles of the K internal angles in the K-gon composed of the average points of the candidate laser point sets in the candidate shelf leg combination; wherein for any valid laser point set, the angle of the internal angle with the average point of the valid laser point set as the vertex matches the actual distribution of the shelf leg of the to-be-identified shelf; for any laser point set, the average point of the laser point set is the point corresponding to the average value of the coordinates of the laser points in the laser point set.
[0064] In the case that the number of target candidate shelf leg combinations is one, the candidate laser point set in the target candidate shelf leg combination is determined as the target laser point set; wherein the target candidate shelf leg is the candidate shelf leg combination in the candidate shelf leg combination that includes the most valid laser point sets.
[0065] For example, considering that the actual distribution of the shelf legs on the shelf is usually fixed, the angles of the K-angled polygon formed by each candidate laser point set are also fixed. For example, for a shelf with four shelf legs, the angles of the quadrilateral formed by each candidate laser point set should be 90°. Therefore, for any candidate shelf leg combination, the effective laser point set in the candidate shelf leg combination can be determined according to the angles of the K-angled polygon formed by the average points of each candidate laser point set in the candidate shelf leg combination.
[0066] For example, still taking a shelf with four shelf legs as an example, considering that the shelf legs are usually distributed in the upper left, lower left, upper right and lower right of the specified target point, and in theory, the quadrilateral formed by the four shelf legs is a rectangle, the candidate shelf leg combination can be constructed by selecting one laser point set from each of the four partitions as a candidate laser point set (one laser point set corresponds to one shelf leg), and the effective laser point set in the candidate shelf leg combination can be determined according to the angles of the quadrilateral formed by the average points of the candidate laser point set. Furthermore, the actual shelf leg combination (which can also be referred to as the optimal shelf leg combination) can be determined according to the number of effective laser point sets in the candidate shelf leg combination.
[0067] For example, for any one angle in the quadrilateral formed by the average points of each candidate laser point set, if the angle is 90° or deviates from 90° within a predetermined angle range, it indicates that the angle of the internal angle formed by the average point of the candidate laser point set matches the actual distribution of the shelf legs of the shelf to be identified, and thus the candidate laser point set corresponding to the vertex of the angle can be determined as the effective laser point set, that is, the shelf leg corresponding to the candidate laser point set is the effective shelf leg.
[0068] For example, assuming that the laser point sets of the four partitions are {A1, A2, …}, {B1, B2, …}, {C1, C2, …} and {D1, D2, …}, the candidate shelf leg combination can include {A1, B1, C1, D1}, {A1, B1, C1, D2}, …, {A1, B1, C2, D1}, {A1, B1, C2, D2}, …, {A1, B2, C1, D1}, {A1, B2, C1, D2}, …, {A1, B2, C2, D1}, {A1, B1, C2, D2}, …, {A2, B1, C1, D1}, {A2, B1, C1, D2}, …, {A2, B2, C2, D2}, …, etc.
[0069] Exemplarily, in a case that the effective laser point sets in each candidate shelf leg combination are determined, if the number of candidate shelf leg combinations (referred to as target candidate shelf leg combinations herein) including the largest effective laser point set is 1, the candidate laser point set in the target candidate shelf leg combination can be determined as the target laser point set, that is, the shelf leg corresponding to the target laser point set is determined as the actual shelf leg.
[0070] In one example, searching the target laser point set from the K partitions further includes:
[0071] In a case that the number of target candidate shelf leg combinations exceeds 1, the target candidate shelf leg combination closest to the specified target point is determined as the actual shelf leg combination according to the distance between the target candidate shelf leg combination and the specified target point.
[0072] The distance between the target candidate shelf leg combination and the specified target point is the average value of the distances between the average points of the candidate laser point sets in the target candidate shelf leg combination and the specified target point.
[0073] Exemplarily, considering that generally there is no other object inside the shelf leg, and the other object scanned by the laser radar outside the shelf leg is generally the object outside the shelf leg, in a case that there are multiple target candidate shelf leg combinations, the target candidate shelf leg combination closest to the specified target point can also be determined as the actual shelf leg combination according to the distances between the average points of the candidate laser point sets in the target candidate shelf leg combination and the specified target point.
[0074] Correspondingly, in a case that the number of target candidate shelf leg combinations exceeds 1, the distance between each target candidate shelf leg combination and the specified target point can be determined.
[0075] Exemplarily, for any target candidate shelf leg combination, the average value of the distances between the average points of the candidate laser point sets in the target candidate shelf leg combination and the specified target point can be determined as the distance between the target candidate shelf leg combination and the specified target point.
[0076] For any laser point set, the distance between the average point of the laser point set and the specified target point is taken as the distance between the average point of the laser point set and the specified target point.
[0077] Exemplarily, the target candidate shelf leg combination closest to the specified target point can be determined as the actual shelf leg combination.
[0078] In one example, for any candidate shelf leg combination, determining the effective laser point set in the candidate shelf leg combination according to the angles of the K inner angles in the K-gon with the average points of the candidate laser point sets in the candidate shelf leg combination as vertices can include:
[0079] For any candidate shelf leg combination, according to the angles of the K inner angles in the K-gon composed of the average points of each candidate laser point set in the candidate shelf leg combination, the distances between the average points of the candidate laser point sets, and the shelf size of the shelf to be identified, the effective laser point set in the candidate shelf leg combination is determined.
[0080] For example, in order to improve the accuracy of the determined actual shelf leg combination, the shelf size of the shelf to be identified can also be provided as an input parameter to the mobile robot.
[0081] Correspondingly, for any candidate shelf leg combination, in addition to being able to refer to the angles of the K inner angles in the K-gon composed of the average points of each candidate laser point set when determining the effective laser point set in the candidate shelf leg combination, the distances between the average points of the candidate laser point sets and the shelf size of the shelf to be identified can also be referred to.
[0082] For example, for two adjacent candidate laser point sets, if the average points of the two candidate laser point sets correspond to inner angles of 90°, but the distance between the average points of the two candidate laser point sets does not match the shelf size, then the two candidate laser point sets can not be used as the effective laser point set in the candidate shelf leg combination.
[0083] In some embodiments, the above-mentioned determination of the actual pose of the shelf to be identified according to the target laser point set can include:
[0084] determining the actual pose of the shelf to be identified according to the coordinates of the average points of each target laser point set in the specified coordinate system; wherein the actual pose of the shelf to be identified includes the coordinates of the center point of the shelf to be identified in the specified coordinate system, and the rotation angle of the shelf to be identified relative to the specified coordinate system; for any target laser point set, the coordinates of the average point of the target laser point set in the specified coordinate system are the average values of the coordinates of each laser point in the target laser point set in the specified coordinate system.
[0085] For example, the actual pose of the shelf to be identified includes the coordinates of the center point of the shelf to be identified in the specified coordinate system, and the rotation angle of the shelf to be identified relative to the specified coordinate system.
[0086] In the case where the shelf leg combination (i.e. the actual shelf leg combination) is determined in the above-mentioned manner, for any target laser point set in the shelf leg combination, the coordinates of the average point of the target laser point set in the specified coordinate system can be determined according to the average values of the coordinates of each laser point in the target laser point set in the specified coordinate system.
[0087] For example, for a target laser point set, assuming that the coordinates of each laser point in the target laser point set in a specified coordinate system are (x1, y1), (x2, y2), …, (xn, yn) in sequence, the average point coordinates of the target laser point set are (x, y), x = (x1+x2+…+xn) / n, and y = (y1+y2+…+yn) / n.
[0088] For example, the actual pose of the to-be-identified shelf can be determined according to the coordinates of the average points of each target laser point set in the shelf leg combination in the specified coordinate system. The specific implementation can be described below in combination with specific examples.
[0089] In some embodiments, after the actual pose of the to-be-identified shelf is determined according to the target laser point set, the method can further include:
[0090] controlling the mobile robot to move to a specified position below the shelf according to the actual pose of the to-be-identified shelf.
[0091] For example, in the case where the actual pose of the to-be-identified shelf is determined in the above manner, the mobile robot can be controlled to move to a specified position below the shelf according to the actual pose of the to-be-identified shelf.
[0092] For example, for the scenario of carrying one shelf by a single mobile robot, the specified position can be the position corresponding to the center point of the shelf.
[0093] For example, for the scenario of carrying one shelf by multiple mobile robots, the offset of the position relative to the center point of the shelf can be determined according to the position of the mobile robot relative to the shelf during carrying. Then, in the case where the actual pose of the shelf is determined in the above manner, the mobile robot can be controlled to move to a specified position below the shelf according to the actual center point of the shelf and the offset, that is, the specified position can be determined by the center point of the shelf and the offset.
[0094] The offset can be provided to the mobile robot as an input parameter.
[0095] In one example, controlling the mobile robot to move to a specified position below the shelf according to the actual pose of the to-be-identified shelf includes:
[0096] In the process of controlling the mobile robot to move, the first pose and the second pose are fused to obtain a fused pose of the to-be-identified shelf, wherein the first pose is the actual pose of the to-be-identified shelf recognized according to the point cloud data of the laser radar, and the second pose is the actual pose of the to-be-identified shelf obtained according to the odometry recursion;
[0097] According to the filtered pose of the to-be-identified shelf, the mobile robot is controlled to move to a specified position below the shelf.
[0098] Exemplarily, since the pose of the shelf in the mobile robot coordinate system is always changing in the process of controlling the mobile robot to move to the shelf, if the mobile robot is controlled to move according to the to-be-identified shelf pose obtained by the odometer recursion, the cumulative error of the odometer may cause the mobile robot to fail to accurately reach the specified position below the shelf.
[0099] Exemplarily, since the pose of the shelf in the mobile robot coordinate system is always changing in the process of controlling the mobile robot to move to the shelf, if the mobile robot is controlled to move according to the to-be-identified shelf pose obtained by the odometer recursion, the cumulative error of the odometer may cause the mobile robot to fail to accurately reach the specified position below the shelf.
[0100] Therefore, in order to improve the moving smoothness of the mobile robot while ensuring accuracy, the real-time pose of the to-be-identified shelf can be obtained by combining the output data of the laser radar and the output data of the odometer.
[0101] Correspondingly, in the process of controlling the mobile robot to move, the actual pose of the to-be-identified shelf obtained according to the point cloud data of the laser radar (referred to as the first pose herein) and the actual pose of the to-be-identified shelf obtained by the odometer recursion (referred to as the second pose herein) can be fused to obtain the fused pose of the to-be-identified shelf, so that the final output shelf pose fluctuates less and the accuracy is improved. Further, according to the fused pose of the to-be-identified shelf, the mobile robot is controlled to move to a specified position below the shelf, so that the mobile robot moves more smoothly to the specified position below the shelf.
[0102] Exemplarily, Kalman filtering can be used to fuse and filter the first pose and the second pose to obtain the fused pose (also referred to as the filtered pose).
[0103] In order for those skilled in the art to better understand the technical solutions provided by the embodiments of the present application, the technical solutions provided by the embodiments of the present application will be described below in conjunction with specific examples.
[0104] In this embodiment, one mobile robot carries one shelf, and the number of shelf legs of the shelf is four.
[0105] Considering that the mobile robot needs to accurately move to the exact position below the shelf to perform the carrying task, in some cases, the shelf is not accurately placed or the positioning information of the mobile robot is not accurate, which makes the mobile robot unable to accurately reach the exact position below the shelf.
[0106] Therefore, it is necessary to accurately identify the shelf pose information and guide the mobile robot to move to the exact position below the shelf.
[0107] In this embodiment, in order to enable the mobile robot to accurately identify the shelf pose information, a plurality of laser radars can be deployed on the mobile robot, and the scanning range of the plurality of laser radars can cover 360° or close to 360° (the angle difference from 360° is within a preset angle range) around the mobile robot.
[0108] In this embodiment, as shown in Figure 2 , the implementation process of controlling the mobile robot to move to the designated position below the shelf is as follows:
[0109] Step 1, obtaining point cloud data of the plurality of laser radars, position information of the designated target point, and shelf size information;
[0110] Step 2, preprocessing the obtained point cloud data of the laser radars.
[0111] Exemplarily, the preprocessing can include but is not limited to: removing flying points, setting an ROI region, etc.
[0112] Step 3, clustering the obtained point cloud data to obtain a plurality of laser point sets, and calculating the average point and the circumscribed rectangular frame size of each laser point set.
[0113] Exemplarily, if the ROI region is set in step 2, the clustering processing can be performed on the point cloud data in the ROI region in the obtained point cloud data.
[0114] Step 4, dividing the laser point sets into four sub-regions of lower left, lower right, upper right, and upper left according to the relative pose relationship with the designated target point.
[0115] Exemplarily, as shown in Figure 3 , since the shelf legs are usually located at the four positions of lower left, lower right, upper right, and upper left of the center point of the shelf, the obtained laser point sets can be divided into four sub-regions of lower left, lower right, upper right, and upper left according to the relative pose relationship with the designated target point.
[0116] Step 5, searching the laser point sets according to the sub-regions to obtain an actual shelf leg combination (one shelf leg in the actual shelf leg combination corresponds to one target laser point set).
[0117] Exemplarily, the laser point sets in each partition can be sorted by distance from the specified target point from near to far, and a laser point set is selected from the lower left, lower right, upper right, and upper left areas in turn as the candidate shelf leg combination of the current round (the candidate laser point set in the candidate shelf leg combination can be referred to as a candidate shelf leg).
[0118] The average points of the 4 candidate shelf legs form a quadrilateral, the angles of the 4 corners of the quadrilateral are calculated, and the number of corners whose angle difference from 90° is within a preset angle range is determined to determine the effective shelf leg.
[0119] Exemplarily, in the case where the shelf size information is obtained in step 1, it can also be verified whether the distance between the candidate shelf legs meets the set shelf size to determine the number of effective shelf legs (i.e., the above-mentioned effective laser point set) in the candidate shelf leg combination.
[0120] Exemplarily, in the case where each candidate shelf leg combination is searched, the candidate shelf leg combination with the most effective shelf legs and closest to the target point of the storage space is taken as the actual shelf leg combination.
[0121] Step 6: Calculate the shelf center point pose according to the actual shelf leg combination searched.
[0122] Step 7, fuse the shelf pose information identified according to the laser radar and the shelf pose information obtained by the odometer recursion using Kalman filtering to obtain the filtered shelf pose.
[0123] Step 8, plan a route to advance to the shelf below according to the filtered shelf pose.
[0124] Step 9, continuously identify during the movement of the mobile robot to the shelf below, constantly correct the odometer error, and the task is completed until the trolley accurately reaches directly below the shelf.
[0125] The following illustrates one specific implementation of determining the effective shelf leg.
[0126] I. Overall search strategy
[0127] Assume that the laser radar data is clustered and divided into lower left, lower right, upper right, and upper left areas according to the relative position relationship between the cluster rectangular frame and the target point. Each area has multiple cluster rectangular frames as candidate shelf legs.
[0128] In each search round, the effective shelf leg combination and the number of effective shelf legs of the current round are determined and calculated. The specific calculation method is shown in "II. Determination of effective shelf leg combination and number of a single round".
[0129] After multiple rounds of search, the effective shelf leg combination with the largest number of effective shelf legs and the closest distance to the target point is determined as the actual shelf leg combination for subsequent calculation of the shelf center pose.
[0130] II. Determination of the number and combination of effective shelf legs in a single round
[0131] Please refer to Figure 4A and Figure 4B Since the shelf legs in the "left lower area" and "right lower area" are closer to the mobile robot, they are more likely to be detected by the laser radar. Therefore, the number of candidate shelf legs in the left lower area and the right lower area can be determined first. If the number of candidate shelf legs in the left lower area or the right lower area is 0, it can be determined that the search for shelf legs has failed, and the current frame shelf leg recognition has failed.
[0132] If the number of candidate shelf legs in the left lower area and the right lower area is not 0, set the current effective shelf leg number N = 0, and the current effective shelf leg set S is empty, and start searching.
[0133] Take one candidate shelf leg A from the left lower area and one shelf leg B from the right lower area in turn, update the current effective shelf leg number to N = 2, and update the current effective shelf leg set to S = {A, B}.
[0134] If the number of candidate shelf legs in the right upper area is greater than 0, take one shelf leg C from the right upper area. If the difference between ∠CBA and 90° is within the preset angle range, then N = N + 1, and the current effective shelf leg set is added to C, i.e. S = S ∪ C.
[0135] If the number of candidate shelf legs in the left upper area is greater than 0, take one shelf leg D from the left upper area. If the difference between ∠DAB and 90° is within the preset angle range, then N = N + 1, and the current effective shelf leg set is added to D, i.e. S = S ∪ D.
[0136] After completing the above search process, it can be determined whether N is less than 4.
[0137] If N < 4, i.e. the number of effective shelf legs is less than 4, the current round shelf leg number N and the effective shelf leg set S are determined, and it is determined whether the shelf size is configured. In the case where the shelf size is configured, it is verified whether the current effective shelf leg set conforms to the shelf size. In the case where the current effective shelf leg set conforms to the shelf size, the effective shelf leg number N and the effective shelf leg combination S of the current round are output; otherwise, N = 0 and S is empty.
[0138] If N is not less than 4, i.e. N = 4, it can be determined whether the difference between ∠ADC and 90° is within the preset angle range, and whether the difference between ∠BCD and 90° is within the preset angle range.
[0139] If the difference between ∠ADC and 90° is in the preset angle range, and the difference between ∠BCD and 90° is in the preset angle range, it is determined that the number of effective shelf legs in the current round is N = 4, the set of effective shelf legs is S = {A, B, C, D}, and it is determined whether the shelf size is configured. In the case where the shelf leg size is configured, it is checked whether the current set of effective shelf legs and the shelf size are consistent. In the case where the current set of effective shelf legs and the shelf size are consistent, the number of effective shelf legs N and the combination of effective shelf legs S in the current round are output; otherwise, N = 0 and S is empty.
[0140] If the difference between ∠ADC and 90° is not in the preset angle range, and / or the difference between ∠BCD and 90° is not in the preset angle range, it is determined whether BC is less than AD.
[0141] It should be noted that in the case where N = 4, the difference between ∠ADC and 90° is not in the preset angle range, and / or the difference between ∠BCD and 90° is not in the preset angle range, BC is not equal to AD, so in this case, BC < AD or BC > AD.
[0142] In addition, in this embodiment, BC equal to AD does not require that the lengths of BC and AD are exactly the same, but a certain deviation between them is allowed, that is, in the case where the difference between BC and AD is in the preset length range, BC = AD is considered. If the length of BC is greater than the length of AD, and the difference between the lengths of BC and AD exceeds the preset length range, then BC > AD; if the length of AD is greater than the length of BC, and the difference between the lengths of BC and AD exceeds the preset length range, then BC < AD.
[0143] For example, in the case where BC < AD, it is determined that the number of effective shelf legs in the current round is N = 3, and the set of effective shelf legs is S = {A, B, C}. In the case where the shelf leg size is configured, it is checked whether the current set of effective shelf legs and the shelf size are consistent. In the case where the current set of effective shelf legs and the shelf size are consistent, the number of effective shelf legs N and the combination of effective shelf legs S in the current round are output; otherwise, N = 0 and S is empty.
[0144] In the case where BC > AD, it is determined that the number of effective shelf legs in the current round is N = 3, and the set of effective shelf legs is S = {A, B, D}. In the case where the shelf leg size is configured, it is checked whether the current set of effective shelf legs and the shelf size are consistent. In the case where the current set of effective shelf legs and the shelf size are consistent, the number of effective shelf legs N and the combination of effective shelf legs S in the current round are output; otherwise, N = 0 and S is empty.
[0145] III. Ways of calculating shelf poses with different numbers of effective shelf legs
[0146] 3.1, the number of effective shelf legs is 0 or 1, and the output identification fails.
[0147] 3.2, when the number of effective shelf legs is 2, the following cases are considered:
[0148] 3.2.1, if the shelf size is not configured, the output identification fails.
[0149] 3.2.2, if the shelf size is configured, the long side size of the shelf is L1, and the short side size is L2. The shelf angle θ is obtained from the slope of AB edge, and the midpoint coordinates of AB edge are calculated as M (Mx, My).
[0150] 3.2.2.1, if it is determined that AB edge is closer to L2 (i.e. the mobile robot enters from the short side):
[0151] then the x coordinate of the shelf center point is Mx+0.5*L1*cosθ
[0152] the y coordinate of the shelf center point is My+0.5*L1*sinθ
[0153] 3.2.2.2, if it is determined that AB edge is closer to L1 (i.e. the mobile robot enters from the long side):
[0154] then the x coordinate of the shelf center point is Mx+0.5*L2*cosθ
[0155] the y coordinate of the shelf center point is My+0.5*L2*sinθ
[0156] 3.3, the number of effective shelf legs is 3:
[0157] Taking the actual shelf leg combination ABC as an example
[0158] The shelf angle is determined by the slopes of AB and BC;
[0159] The x coordinate of the shelf center point is obtained by averaging the x coordinates of B and C;
[0160] The y coordinate of the shelf center point is obtained by averaging the y coordinates of A and B.
[0161] 3.4, the number of effective shelf legs is 4, and the pose is calculated according to the average point of the four shelf leg center points.
[0162] The above describes the method provided in the present application. The device provided in the present application is described as follows:
[0163] Please refer to Figure 5 , a structure diagram of a shelf identification device provided in an embodiment of the present application, as Figure 5 shown, the shelf identification device can include:
[0164] The data processing unit 510 is configured to acquire point cloud data of a laser radar deployed on the mobile robot, and perform clustering processing on the point cloud data to obtain a plurality of laser point sets.
[0165] The division unit 520 is configured to divide the plurality of laser point sets into K partitions according to poses of the laser point sets relative to a specified target point, wherein the specified target point is used to identify a theoretical position of a to-be-identified shelf, the K partitions are divided according to an actual distribution of shelf legs of the to-be-identified shelf, and K is a number of the shelf legs of the to-be-identified shelf.
[0166] The searching unit 530 is configured to search target laser point sets from the K partitions, wherein one target laser point set corresponds to one shelf leg of the to-be-identified shelf, and different target laser point sets belong to different partitions.
[0167] The determination unit 540 is configured to determine an actual pose of the to-be-identified shelf according to the target laser point sets.
[0168] In some embodiments, the division unit 520 divides the plurality of laser point sets into K partitions according to poses of the laser point sets relative to a specified target point, including:
[0169] The plurality of laser point sets are divided into four partitions according to poses of the laser point sets relative to the specified target point, wherein the four partitions respectively include partitions of upper left, lower left, upper right and lower right of the specified target point.
[0170] In some embodiments, the searching unit 530 searches target laser point sets from the four partitions, including:
[0171] A candidate laser point set is sequentially selected from each of the K partitions to obtain a candidate shelf leg combination, wherein one candidate laser point set corresponds to one candidate shelf leg.
[0172] For any candidate shelf leg combination, an effective laser point set in the candidate shelf leg combination is determined according to angles of K internal angles of a K-gon with vertices of average points of the candidate laser point sets in the candidate shelf leg combination, wherein for any effective laser point set, an angle of an internal angle with a vertex of an average point of the effective laser point set matches an actual distribution of the shelf legs of the to-be-identified shelf, and for any laser point set, an average point of the laser point set is a point corresponding to an average value of coordinates of laser points in the laser point set.
[0173] In a case where the number of the target candidate shelf leg combinations is one, the candidate laser point set in the target candidate shelf leg combination is determined as the target laser point set; wherein the target candidate shelf leg is the candidate shelf leg combination including the most effective laser point sets in the candidate shelf leg combinations.
[0174] In some embodiments, the searching unit 530 searches the target laser point set from the K partitions, further comprising:
[0175] In a case where the number of the target candidate shelf leg combinations exceeds one, the target candidate shelf leg combination closest to the specified target point is determined as the actual shelf leg combination according to the distance between the target candidate shelf leg combination and the specified target point;
[0176] wherein the distance between the target candidate shelf leg combination and the specified target point is the average value of the distance between the average points of each candidate laser point set in the target candidate shelf leg combination and the specified target point.
[0177] In some embodiments, for any candidate shelf leg combination, the searching unit 530 determines the effective laser point set in the candidate shelf leg combination according to the angles of the K inner angles in the K-gon formed by the average points of each candidate laser point set in the candidate shelf leg combination as the vertex, comprising:
[0178] For any candidate shelf leg combination, the searching unit 530 determines the effective laser point set in the candidate shelf leg combination according to the angles of the K inner angles in the K-gon formed by the average points of each candidate laser point set in the candidate shelf leg combination as the vertex, the distance between the average points of the candidate laser point sets, and the shelf size of the shelf to be identified.
[0179] In some embodiments, the determining unit 540 determines the actual pose of the shelf to be identified according to the target laser point set, comprising:
[0180] The determining unit 540 determines the actual pose of the shelf to be identified according to the coordinates of the average points of each target laser point set in the specified coordinate system; wherein the actual pose of the shelf to be identified includes the coordinates of the center point of the shelf to be identified in the specified coordinate system, and the rotation angle of the shelf to be identified relative to the specified coordinate system; for any target laser point set, the coordinates of the average point of the target laser point set in the specified coordinate system are the average value of the coordinates of each laser point in the target laser point set in the specified coordinate system.
[0181] In some embodiments, as Figure 6 shown, the apparatus further comprises:
[0182] The control unit 550 is configured to control the mobile robot to move to a specified position under the shelf according to the actual pose of the shelf to be identified.
[0183] In some embodiments, the control unit 550 is configured to control the mobile robot to move to a specified position under the shelf according to the actual pose of the shelf to be identified, including:
[0184] In the process of controlling the mobile robot to move, the first pose and the second pose are fused to obtain a fused pose of the shelf to be identified, wherein the first pose is an actual pose of the shelf to be identified identified according to the point cloud data of the laser radar, and the second pose is an actual pose of the shelf to be identified obtained by recursively using the odometer.
[0185] The control unit 550 is configured to control the mobile robot to move to a specified position under the shelf according to the actual pose of the shelf to be identified.
[0186] Embodiments of the present application provide an electronic device, including a processor and a memory, wherein the memory stores machine executable instructions capable of being executed by the processor, and the processor is configured to execute the machine executable instructions to implement the shelf identification method described above.
[0187] Please refer to Figure 7 A hardware structure schematic diagram of an electronic device is provided for embodiments of the present application. The electronic device can include a processor 701 and a memory 702 storing machine executable instructions. The processor 701 and the memory 702 can communicate via a system bus 703. By reading and executing the machine executable instructions corresponding to the shelf identification logic in the memory 702, the processor 701 can execute the shelf identification method described above.
[0188] The memory 702 mentioned herein can be any electronic, magnetic, optical or other physical storage device, and can contain or store information such as executable instructions, data, etc. For example, the machine readable storage medium can be RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard drive), solid state disk, any type of storage disk (such as optical disk, dvd, etc.), or similar storage medium, or combination thereof.
[0189] In some embodiments, a machine readable storage medium is also provided, such as Figure 7The above-mentioned method can be implemented by a computer program product, which includes a machine readable storage medium (for example, the storage medium 702 in the computer 700) storing machine executable instructions. The machine executable instructions are executed by the processor to implement the above-mentioned method. For example, the storage medium can be a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk and an optical data storage device, etc.
[0190] It should be noted that the relational terms herein such as one disposed in relation to another and / or directly connected to another are used solely to describe an entity's or action's relationship to another entity or action, and do not necessarily imply a fixed or sequential order among those entities or actions. Also, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can also include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element preceded by "comprises a" does not, without more constraints, foreclose the existence of additional identical elements in the process, method, article, or apparatus that comprises the recited element.
[0191] The above only describes the preferred embodiments of the present application and is not intended to limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the scope of protection of the present application.
Claims
1. A shelf identification method, characterized in that, include: The point cloud data of the LiDAR deployed on the mobile robot is acquired, and the point cloud data is clustered to obtain multiple sets of LiDAR points. Based on the pose of each laser point set relative to a designated target point, the multiple laser point sets are divided into K partitions; wherein, the designated target point is used to identify the theoretical position of the shelf to be identified, and the K partitions are divided according to the actual distribution of the shelf legs of the shelf to be identified, where K is the number of shelf legs of the shelf to be identified; The target laser point set is obtained by searching the K partitions; wherein, one target laser point set corresponds to one shelf leg of the shelf to be identified, and different target laser point sets belong to different partitions; Based on the set of target laser points, the actual pose of the shelf to be identified is determined; The step of searching for the target laser point set from the K partitions includes: One laser point set is selected from each of the K partitions in sequence as a candidate laser point set to obtain a candidate shelf leg combination; wherein, one candidate laser point set corresponds to one candidate shelf leg; For any candidate shelf leg combination, the effective set of laser points in the candidate shelf leg combination is determined based on the angles of the K interior angles of the K-sided polygon formed by the average point of each candidate laser point set in the candidate shelf leg combination as the vertex; wherein, for any effective laser point set, the angles of the interior angles with the average point of the effective laser point set as the vertex match the actual distribution of the shelf legs of the shelf to be identified; for any laser point set, the average point of the laser point set is the point corresponding to the average of the coordinates of each laser point in the laser point set; When there is only one target candidate shelf leg combination, the set of candidate laser points in the target candidate shelf leg combination is determined as the target laser point set; wherein, the target candidate shelf leg is the candidate shelf leg combination that includes the most effective laser point set among the candidate shelf leg combinations; If the number of target candidate shelf leg combinations exceeds one, the target candidate shelf leg combination closest to the designated target point is determined as the actual shelf leg combination based on the distance between the target candidate shelf leg combination and the designated target point; wherein, the distance between the target candidate shelf leg combination and the designated target point is the average distance between the average point of each candidate laser point set in the target candidate shelf leg combination and the designated target point.
2. The method according to claim 1, characterized in that, The step of dividing the multiple laser point sets into K partitions based on the pose of each laser point set relative to the specified target point includes: Based on the pose of each laser point set relative to the specified target point, the multiple laser point sets are divided into 4 partitions; wherein, the 4 partitions respectively include the upper left, lower left, upper right and lower right partitions of the specified target point.
3. The method according to claim 1, characterized in that, For any candidate shelf leg combination, the effective set of laser points in the candidate shelf leg combination is determined based on the angles of the K interior angles of a K-sided polygon formed by the average point of each candidate laser point set in the candidate shelf leg combination, including: For any candidate shelf leg combination, the effective set of laser points in the candidate shelf leg combination is determined based on the angles of the K interior angles of the K-sided polygon formed by the average point of each candidate laser point set in the candidate shelf leg combination as the vertex, the distance between the average points of the candidate laser point sets, and the shelf size of the shelf to be identified.
4. The method according to claim 1, characterized in that, Determining the actual pose of the shelf to be identified based on the target laser point set includes: The actual pose of the shelf to be identified is determined based on the coordinates of the average point of each target laser point set in a specified coordinate system; wherein, the actual pose of the shelf to be identified includes the coordinates of the center point of the shelf to be identified in the specified coordinate system, and the rotation angle of the shelf to be identified relative to the specified coordinate system; for any target laser point set, the coordinates of the average point of the target laser point set in the specified coordinate system are the average of the coordinates of each laser point in the target laser point set in the specified coordinate system.
5. The method according to any one of claims 1-4, characterized in that, After determining the actual pose of the shelf to be identified based on the target laser point set, the method further includes: Based on the actual position of the shelf to be identified, the mobile robot is controlled to move to a designated position under the shelf.
6. The method according to claim 5, characterized in that, The step of controlling the mobile robot to move to a designated position under the shelf based on the actual position of the shelf to be identified includes: During the process of controlling the movement of the mobile robot, the first pose and the second pose are fused to obtain the fused pose of the shelf to be identified; wherein, the first pose is the actual pose of the shelf to be identified obtained based on the point cloud data of the lidar, and the second pose is the actual pose of the shelf to be identified obtained by recursion based on the odometer. Based on the filtered pose of the shelf to be identified, the mobile robot is controlled to move to a designated position under the shelf.
7. A shelf identification device, characterized in that, include: The data processing unit is used to acquire point cloud data of the lidar deployed on the mobile robot, and to perform clustering processing on the point cloud data to obtain multiple sets of lidar points. A partitioning unit is used to divide the multiple laser point sets into K partitions based on the pose of each laser point set relative to a specified target point; wherein, the specified target point is used to identify the theoretical position of the shelf to be identified, and the K partitions are divided according to the actual distribution of the shelf legs of the shelf to be identified, where K is the number of shelf legs of the shelf to be identified. The search unit is used to search for target laser point sets from the K partitions; wherein, one target laser point set corresponds to one shelf leg of the shelf to be identified, and different target laser point sets belong to different partitions; The determining unit is used to determine the actual pose of the shelf to be identified based on the set of target laser points; The search unit obtains the target laser point set from the K partitions, including: One laser point set is selected from each of the K partitions in sequence as a candidate laser point set to obtain a candidate shelf leg combination; wherein, one candidate laser point set corresponds to one candidate shelf leg; For any candidate shelf leg combination, the effective set of laser points in the candidate shelf leg combination is determined based on the angles of the K interior angles of the K-sided polygon formed by the average point of each candidate laser point set in the candidate shelf leg combination as the vertex; wherein, for any effective laser point set, the angles of the interior angles with the average point of the effective laser point set as the vertex match the actual distribution of the shelf legs of the shelf to be identified; for any laser point set, the average point of the laser point set is the point corresponding to the average of the coordinates of each laser point in the laser point set; When there is only one target candidate shelf leg combination, the set of candidate laser points in the target candidate shelf leg combination is determined as the target laser point set; wherein, the target candidate shelf leg is the candidate shelf leg combination that includes the most effective laser point set among the candidate shelf leg combinations; If the number of target candidate shelf leg combinations exceeds one, the target candidate shelf leg combination closest to the designated target point is determined as the actual shelf leg combination based on the distance between the target candidate shelf leg combination and the designated target point; wherein, the distance between the target candidate shelf leg combination and the designated target point is the average distance between the average point of each laser point set in the target candidate shelf leg combination and the designated target point.
8. The apparatus according to claim 7, characterized in that, The step of dividing the multiple laser point sets into K partitions based on the pose of each laser point set relative to the specified target point includes: Based on the pose of each laser point set relative to the specified target point, the multiple laser point sets are divided into 4 partitions; wherein, the 4 partitions respectively include the upper left, lower left, upper right, and lower right partitions of the specified target point; Specifically, for any candidate shelf leg combination, the search unit determines the effective set of laser points in the candidate shelf leg combination based on the angles of the K interior angles of a K-sided polygon formed by the average point of each candidate laser point set in the candidate shelf leg combination as its vertex, including: For any candidate shelf leg combination, the effective set of laser points in the candidate shelf leg combination is determined based on the angles of the K interior angles of the K-sided polygon formed by the average point of each candidate laser point set in the candidate shelf leg combination as the vertex, the distance between the average points of the candidate laser point sets, and the shelf size of the shelf to be identified. And / or, The determining unit determines the actual pose of the shelf to be identified based on the target laser point set, including: The actual pose of the shelf to be identified is determined based on the coordinates of the average point of each target laser point set in a specified coordinate system; wherein, the actual pose of the shelf to be identified includes the coordinates of the center point of the shelf to be identified in the specified coordinate system, and the rotation angle of the shelf to be identified relative to the specified coordinate system; for any target laser point set, the coordinates of the average point of the target laser point set in the specified coordinate system are the average of the coordinates of each laser point in the target laser point set in the specified coordinate system; And / or, The device further includes: The control unit is used to control the mobile robot to move to a designated position under the shelf based on the actual position of the shelf to be identified. The control unit controls the mobile robot to move to a designated position below the shelf based on the actual position of the shelf to be identified, including: During the process of controlling the movement of the mobile robot, the first pose and the second pose are fused to obtain the fused pose of the shelf to be identified; wherein, the first pose is the actual pose of the shelf to be identified obtained based on the point cloud data of the lidar, and the second pose is the actual pose of the shelf to be identified obtained by recursion based on the odometer. Based on the filtered pose of the shelf to be identified, the mobile robot is controlled to move to a designated position under the shelf.
9. An electronic device, characterized in that, The method includes a processor and a memory, the memory storing machine-executable instructions that can be executed by the processor, the processor executing the machine-executable instructions to implement the method as described in any one of claims 1-6.
10. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores machine-executable instructions, which, when executed by a processor, implement the method as described in any one of claims 1-6.
Citation Information
Patent Citations
Goods shelf detection method and device, electronic equipment and storage medium
CN113253737A
Robot control method, robot, control terminal and control system
CN113878577A