Charging base station identification method and device, robot and computer program product
By setting specific areas on the charging base station and using lidar to acquire and filter point cloud data, the problem of insufficient recognition accuracy of robot charging base stations is solved, and more efficient charging base station identification and docking is achieved.
Patent Information
- Application Number
- CN202510517759.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-23
- Publication Date
- 2025-08-15
AI Technical Summary
In the prior art, robots have insufficient accuracy during the charging base station identification process, resulting in inaccurate docking.
By setting the first N-section area and the second N-1 segment area on the charging base station, point cloud data is obtained using lidar, points with intensity values within the preset range are selected, points with angles and distances meet the conditions are further selected, and clustering is performed to determine the position of the charging base station.
It improves the identification accuracy of charging base stations, reduces the situation of misidentification, and ensures that the robot can accurately connect to the charging base station.
Smart Images

Figure CN120477655A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of robotics technology, and in particular relates to a charging base station identification method, device, robot and computer program product. Background Art
[0002] When charging, robots (such as robot vacuums) need to dock with a matching charging base station. During the docking process, the robot's infrared receiver first receives the infrared signal from the infrared transmitter on the charging base station, guiding the robot to a position close to the charging base station. Then, the robot uses LiDAR to identify the charging base station data and complete the charging function. However, improving the recognition accuracy of the charging base station is a technical problem that needs to be solved urgently. Summary of the Invention
[0003] The embodiments of the present application provide a charging base station identification method, device, robot, and computer program product, which can improve the identification accuracy of charging base stations.
[0004] In a first aspect, an embodiment of the present application provides a method for identifying a charging base station, including:
[0005] Obtain point cloud data of the surrounding environment;
[0006] Points having intensity values within a preset intensity range are screened out from the point cloud data to obtain a first point cloud subset; the maximum value of the preset intensity range is greater than or equal to the first intensity value, the minimum value of the preset intensity range is greater than the second intensity value, the first intensity value is the intensity value corresponding to the first region, the second intensity value is the intensity value corresponding to the second region, the first region and the second region are different regions set on the charging base station, the number of the first regions is N, the number of the second regions is N-1, N is an integer greater than 1, and a segment of the second region is set between two adjacent segments of the first regions on the charging base station;
[0007] Filtering points whose angles are within a first preset angle range and whose distances are within a first preset distance range from the first point cloud subset to obtain a second point cloud subset;
[0008] Based on the second point cloud subset, a charging base station identification result is determined.
[0009] In an embodiment of the present application, N first areas and N-1 second areas are provided on the charging base station, the first intensity value corresponding to the first area is greater than the second intensity value corresponding to the second area, and a second area is provided between two adjacent first areas. On this basis, an intensity range (i.e., a preset intensity range) can be set in advance, and the point cloud data of the target area can be filtered based on the preset intensity range to obtain a first point cloud subset, and further points whose angles are within the first preset angle range and whose distances are within the first preset distance range are filtered out from the first point cloud subset to obtain a second point cloud subset. The charging base station recognition result is determined based on the second point cloud subset, which can effectively reduce the situation of misidentification and improve the recognition accuracy of the charging base station.
[0010] In a second aspect, an embodiment of the present application provides a charging base station identification device, including:
[0011] Point cloud acquisition module, used to obtain point cloud data of the surrounding environment;
[0012] a first screening module, configured to screen points having intensity values within a preset intensity range from the point cloud data to obtain a first point cloud subset; the maximum value of the preset intensity range is greater than or equal to the first intensity value, the minimum value of the preset intensity range is greater than the second intensity value, the first intensity value is the intensity value corresponding to the first region, the second intensity value is the intensity value corresponding to the second region, the first region and the second region are different regions set on the charging base station, the number of the first regions is N, the number of the second regions is N-1, N is an integer greater than 1, and a segment of the second region is set between two adjacent segments of the first regions on the charging base station;
[0013] a second screening module, configured to screen out points whose angles are within a first preset angle range and whose distances are within a first preset distance range from the first point cloud subset, to obtain a second point cloud subset;
[0014] A result determination module is used to determine a charging base station identification result based on the second point cloud subset.
[0015] In a third aspect, an embodiment of the present application provides a robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the robot implements a method as described in any one of the first aspects above.
[0016] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a computer, the method described in the first aspect above is implemented.
[0017] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when run, enables the method described in any one of the first aspects above to be executed by a robot.
[0018] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0020] Figure 1 This is a flow chart of a charging base station identification method provided in an embodiment of the present application;
[0021] Figure 2 This is an example diagram of three first areas and two second areas set on a charging base station provided in an embodiment of the present application;
[0022] Figure 3 is an example diagram of the first point cloud subset provided in an embodiment of the present application;
[0023] Figure 4 This is an example diagram of removing target points from the first point cloud subset provided by an embodiment of the present application;
[0024] Figure 5 This is an example diagram of the first preset angle range and the first preset distance range provided in an embodiment of the present application;
[0025] Figure 6 This is an example clustering diagram provided by an embodiment of the present application;
[0026] Figure 7 This is an example diagram of removing clusters with fewer points and clusters with more points provided in an embodiment of the present application;
[0027] Figure 8 is an example diagram of the second cluster provided in an embodiment of the present application;
[0028] Figure 9 is an example diagram of three third clusters provided in an embodiment of the present application;
[0029] Figure 10 This is a schematic diagram of the structure of the charging base station identification device provided in an embodiment of the present application;
[0030] Figure 11It is a schematic diagram of the structure of the robot provided in the embodiment of the present application. DETAILED DESCRIPTION
[0031] In the following description, specific details such as specific system structures and techniques are provided for purposes of illustration rather than limitation to facilitate a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid obscuring the description of the present application with unnecessary detail.
[0032] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or collections thereof.
[0033] It will also be understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
[0034] As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0035] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.
[0036] References to "one embodiment" or "some embodiments" in this specification mean that a particular feature, structure, or characteristic described in conjunction with that embodiment is included in one or more embodiments of the present application. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more but not all embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0037] The charging base station identification method provided in the embodiment of the present application can be applied to robots that can move and recharge autonomously, such as sweeping robots, window cleaning robots, and lawn mowing robots. The embodiment of the present application does not impose any restrictions on the specific type of robot.
[0038] See also Figure 1 , Figure 1 The following is a flow chart of a method for identifying a charging base station provided in an embodiment of the present application. As an example and not a limitation, the method can be applied to a robot. The method includes the following steps:
[0039] Step 101: Acquire point cloud data of the surrounding environment.
[0040] The robot can scan the surrounding environment through sensors (such as lidar) to obtain point cloud data of the surrounding environment.
[0041] The surrounding environment includes a charging base station. Besides the charging base station, the surrounding environment may also include other objects. Therefore, this embodiment filters the point cloud data of the surrounding environment to remove (i.e., filter out) the point cloud data of other objects from the point cloud data of the surrounding environment, thereby improving the recognition accuracy of the charging base station.
[0042] When the robot returns to the charging base station for charging, the infrared receiver on the robot first needs to receive the infrared signal from the infrared transmitter on the charging base station, guide the robot to a position closer to the charging base station, and then use the laser radar to identify the accurate charging base station data to complete the function of charging at the charging base station. Therefore, in one embodiment, the robot can obtain point cloud data of the surrounding environment in real time while charging at the charging base station, so as to filter out the charging base station data from the point cloud data of the surrounding environment, and realize the identification of the charging base station based on the charging base station data. While improving the utilization rate of the laser radar, it can also improve the robot's recognition efficiency of the charging base station. The robot aligning its own position with the charging base station before charging can mean that the robot accurately adjusts its own position to align it with the position of the charging base station, ensuring that the charging pole of the robot is aligned with the charging pole of the charging base station.
[0043] Taking a sweeping robot as an example, when the sweeping robot completes the cleaning task and returns to the charging base station for charging, it needs to find the charging base station before it can perform the charging action, and finally move to the charging base station and contact the charging electrode of the charging base station to charge it. This embodiment obtains point cloud data of the robot's surrounding environment in real time during the process of the sweeping robot aligning with the charging base station for charging. It can filter out the charging base station data from the point cloud data of the surrounding environment, thereby identifying the charging base station that matches the sweeping robot.
[0044] The charging base station is provided with N first areas and N-1 second areas, where N is an integer greater than 1. The first intensity value corresponding to the first area is greater than the second intensity value corresponding to the second area. A second area is provided between two adjacent first areas. Compared with the method of identifying the charging base station by infrared signals, this structural design of the charging base station saves structural and hardware costs to a great extent, and can more efficiently utilize point cloud data and more accurately identify the position of the charging base station, thereby realizing the functions of automatic alignment and charging of the robot.
[0045] The first area can refer to the area on the charging base station that reflects the lidar signal more strongly. That is, the intensity value of the point cloud data reflected from the first area received by the lidar is relatively high. These areas can be understood as high-reflection areas, and the point cloud data in the first area is high-reflection data (i.e., point cloud data with higher intensity values). The second area can refer to the area on the charging base station that absorbs the lidar signal more strongly. That is, the intensity value of the point cloud data reflected from the second area received by the lidar is relatively low. These areas can be understood as absorbing areas, and the point cloud data in the second area is not high-reflection data.
[0046] The first intensity value corresponding to the first region may refer to the intensity value of the point cloud data of the first region. The intensity values of each point in each first region are generally the same, namely, the first intensity value. The second intensity value corresponding to the second region may refer to the intensity value of the point cloud data of the second region. Since the intensity values of the point cloud data of the second region are generally unstable and have a large number of values, the maximum value among the intensity values of the point cloud data of the second region may be determined as the second intensity value.
[0047] Optionally, the first intensity value and the second intensity value can be determined based on empirical values in actual scenarios. As an example and not a limitation, in an actual scenario, the positions of the first area and the second area on the charging base station are known. By scanning the first area and the second area by a lidar, the first intensity value and the second intensity value can be obtained. After obtaining the first intensity value and the second intensity value, the preset intensity range used in step 102 can be obtained. It is understandable that it is also possible to only scan the first area by a lidar to obtain the first intensity value, and determine the preset intensity range based on the first intensity value. For example, an intensity value that is smaller than the first intensity value and not much different is determined as the minimum value of the preset intensity range.
[0048] As an example and not a limitation, the intensity value of the point cloud data ranges from 0 to 255, and different numerical values are used to represent different intensity values. The first intensity value obtained by laser radar scanning is 255, and the second intensity value is less than 100. Then the preset intensity range can be set to 250 to 255, so as to filter out a first point cloud subset containing point cloud data of the first area from the point cloud data of the robot's surrounding environment based on the preset intensity range during the recognition process of the charging base station.
[0049] In one application scenario, the setting of N segments of the first area and N-1 segments of the second area can be achieved by pasting special stickers on the charging base station. As an example and not a limitation, N segments of the first sticker and N-1 segments of the second sticker can be pasted on the charging base station, and a segment of the second sticker is pasted between any two adjacent segments of the first sticker. The first sticker can be made of a highly reflective material, and the second sticker can be made of an absorbing material. The highly reflective material can enhance the reflection of the signal, so that the robot can more accurately obtain the location information of the charging base station, thereby improving the recognition accuracy of the charging base station. The absorbing material can absorb surrounding radio waves and other electromagnetic signals, reduce external interference, and ensure that the robot can accurately receive and process the point cloud data from the first area, avoiding misjudgment and inaccurate positioning.
[0050] Considering the complexity, labor cost and material cost of the structure with N segments of the first area and N-1 segments of the second area, N can be set to 3, that is, Figure 2 As shown, three first areas and two second areas are set on the charging base station. Figure 2 The blue areas A1, A2, and A3 in the figure are the first area, and the orange areas B1 and B2 are the second area. Of course, it is understood that N can also be set to other integers such as 2, 4, 5, and this application does not limit this. For ease of understanding, this embodiment is described using N equal to 3 as an example, but this does not constitute a limitation on the value of N.
[0051] Step 102 : Filter out points with intensity values within a preset intensity range from the point cloud data to obtain a first point cloud subset.
[0052] The minimum value of the preset intensity range is greater than the second intensity value, and the maximum value of the preset intensity range is the first intensity value. Therefore, based on the preset intensity range, high-reflection data in the surrounding environment can be filtered out from the point cloud data. The filtered high-reflection data is the first point cloud subset. The filtered high-reflection data usually includes the point cloud data of the first area, so that the point cloud data that does not belong to the high-reflection data can be eliminated. Figure 3 Shown is an example of the first point cloud subset, Figure 3 It can be seen that Figure 3 In addition to the high-reflection data of the three first areas of the charging base station, the high-reflection data of other materials in the surrounding environment are also included. Therefore, after obtaining the first point cloud subset, it is necessary to further filter the first point cloud subset through subsequent steps.
[0053] In one embodiment, if the point cloud data of the robot's surrounding environment does not contain any points with intensity values within a preset intensity range, the robot may return to step 101 and subsequent steps after moving for a preset time. The preset time can be determined based on empirical values in actual scenarios, and this application does not limit the specific value of the preset time.
[0054] In a possible implementation, before executing step 103, the method further includes:
[0055] If there is a target point in the first point cloud subset, the target point is removed from the first point cloud subset; the target point is a point whose intensity values of the left adjacent point and the right adjacent point in the point cloud data are both outside the preset intensity range.
[0056] The high-reflection data detected by the LiDAR may not necessarily be the required valid data (i.e., the point cloud data of the first area in N segments), such as noise. In actual scenarios, noise with high intensity values may also appear in the second area. Eliminating the noise with high intensity values from the first point cloud subset can more accurately identify the charging base station. Figure 4 The following is an example of removing target points from the first point cloud subset. Figure 4 Figure (a) is another example of the first point cloud subset. The blue square blocks in the second area of the two segments are the target points. Figure 4 Figure (b) in FIG is another example of the first point cloud subset after removing the target point. It should be understood that, Figure 4 The orange square blocks (i.e., points whose intensity values are not within the preset intensity range) are for easy understanding that the intensity values of the left and right adjacent points are not within the preset intensity range. Figure 4 The orange squares in the image have been removed.
[0057] Step 103 : Filter out points whose angles are within a first preset angle range and whose distances are within a first preset distance range from the first point cloud subset to obtain a second point cloud subset.
[0058] It should be understood that the points involved in this embodiment all refer to points in point cloud data.
[0059] The angle of a point may refer to the angle of the point relative to the starting point, and the distance of a point may refer to the distance between the point and the robot.
[0060] The laser radar on a sweeping robot rotates 360 degrees and usually generates data from multiple points, such as 500 points. Among these 500 points, there is a starting point and an ending point. If the angle of the starting point is 0 degrees and the angle of the ending point is 360 degrees, then the 498 points between the starting point and the ending point each correspond to an angle, which is the angle of the 498 points relative to the starting point.
[0061] When the robot is charging at the charging base station, the robot's charging electrode needs to move toward the charging base station so that after identifying the charging base station, the robot's charging electrode is aligned with the charging electrode of the charging base station. Therefore, the first preset angle range and the first preset distance range are related to the location of the robot's charging electrode. If the robot's charging electrode is located in front of the robot (i.e., the side with more sensors installed), the first preset angle range can be pre-set based on the angle of the point cloud data in front of the robot, and the first preset distance range can be pre-set based on the distance of the point cloud data in front of the robot. If the robot's charging electrode is located behind the robot, the first preset angle range can be pre-set based on the angle of the point cloud data in the rear of the robot, and the first preset distance range can be pre-set based on the distance of the point cloud data in the rear of the robot.
[0062] For example, a robot vacuum cleaner charging towards a charging base station is relatively close to the charging base station. Therefore, to more efficiently process the first point cloud subset, points within a first preset angle range and a first preset distance range behind the robot vacuum cleaner are selected as valid data. By way of example and not limitation, the first preset angle range is 60 to 90 degrees, and the first preset distance range is 0.2 to 0.4 meters.
[0063] like Figure 5 The figure shows an example of a first preset angle range and a first preset distance range, where the first preset angle range is θ and the first preset distance range is less than or equal to d.
[0064] When the robot is charging at the charging base station, it is close to the charging base station. Therefore, in order to process the first point cloud subset more efficiently, valid data that meets the first preset angle range and the first preset distance range requirements can be filtered out from the first point cloud subset (i.e., the second point cloud subset). Based on the second point cloud subset, the charging base station in the surrounding environment can be accurately identified.
[0065] In one embodiment, if there is no point in the first point cloud subset whose angle is within the first preset angle range and whose distance is within the first preset distance range, the robot may return to execute step 101 and subsequent steps after moving for a preset time.
[0066] Step 104: Determine the charging base station identification result based on the second point cloud subset.
[0067] Since the points in the second point cloud subset are high-reflection data closer to the robot, they are more in line with the requirements of high-reflection data of the first N sections of the charging base station in real scenarios. Therefore, the charging base station in the surrounding environment can be accurately identified based on the second point cloud subset.
[0068] In a possible implementation, step 104 may include:
[0069] Based on the first neighborhood radius, clustering the points in the second point cloud subset to obtain a first cluster; the first neighborhood radius is smaller than the distance between two adjacent first regions;
[0070] If the number of the first clusters is greater than or equal to N, the first cluster whose number of points is greater than or equal to the first point count threshold and less than or equal to the second point count threshold is selected to obtain a third point cloud subset; the first point count threshold is determined based on the width of the first candidate region, and the second point count threshold is determined based on the width of the second candidate region. The first candidate region is the narrowest first region in the N segments of the first region, and the second candidate region is the widest first region in the N segments of the first region.
[0071] Based on the third point cloud subset, the charging base station identification result is determined.
[0072] After steps 102 and 103, the robot can filter the point cloud data of the surrounding environment and obtain a second point cloud subset that may be a charging base station that needs to be processed. In order to prevent point cloud data from jumping or to avoid the second point cloud subset not covering the real charging base station, the first preset angle range and the first preset distance range are usually relatively large, which may lead to the detection of a pseudo charging base station with high reflective materials in the surrounding environment (such as Figure 5 In order to improve the recognition accuracy of charging base stations, the high-reflection areas of these pseudo charging base stations can be eliminated through clustering algorithms.
[0073] To avoid classifying two adjacent first regions into the same class, the distance between them needs to be considered when setting the first neighborhood radius, and the first neighborhood radius should be smaller than the distance between them. Since a region contains at least two points, and a second region is set between two adjacent first regions, which typically contains more than two points, the first neighborhood radius can be set based on the width of two adjacent points in the point cloud data in real scenarios.
[0074] As an example and not a limitation, if the width of two points in the point cloud data is 1.5 cm, then the first neighborhood radius can be set to 1.5 cm. Figure 6 The following is an example of clustering diagram. Figure 6 There are three clusters in it, which are Figure 6 Class I, Class II and Class III.
[0075] In order to improve the recognition efficiency and accuracy of the charging base station, when designing the N-segment first area and the N-1-segment second area of the charging base station, it can be stipulated that the distance between all two adjacent first areas in the N-segment first area is the same, the width of the first area in the middle position of the N-segment first area is greater than the width of the first areas in other positions, and the width of the N-1-segment second area is the same. Figure 2 As shown, A1 and A3 have the same width, A2 has a greater width than A1 and A3, the distance between A1 and A2 is the same as the distance between A2 and A3, and B1 and B2 have the same width. Of course, it is understood that the widths of the N first regions can also be different, the distances between all adjacent first regions can also be different, and the widths of the N-1 second regions can also be different. Based on this, the first neighborhood radius can be limited to be less than the minimum value of the distances between all adjacent first regions.
[0076] The first point threshold may be the number of points corresponding to the width of the first candidate region or the number of points matching the width of the first candidate region, such as Figure 5 As shown, the first point threshold is 4. The second point threshold may refer to the number of points corresponding to the width of the second candidate region or the number of points matching the width of the second candidate region, such as Figure 5 As shown, the second point threshold is 10.
[0077] Since the number of first areas is N and the value of the first neighborhood radius is small, the point cloud data in the first area may exist in the second point cloud subset only when the number of first clusters is at least N. On this basis, since the N segments of the first area on the charging base station have a fixed width, the first candidate area considers the actual maximum error that may exist and the minimum number of high-reflection points that may be detected, and uses a smaller first neighborhood radius for clustering to obtain the first cluster. If the number of points in the first cluster is small, then this first cluster may be generated by a small amount of noise in high-reflection data, or it may be generated by the jump of data in the first area of the charging base station, and then the first cluster with fewer points in the cluster is eliminated; if the number of points in the first cluster is large, then this first cluster may be a large-sized high-reflection material object around the charging base station. The number of points in this first cluster is compared with the second point threshold, and the first cluster with more points in the cluster is eliminated. Figure 7 The following are examples of removing clusters with fewer points and clusters with more points. Figure 7 Figure (a) includes clusters with fewer points and clusters with more points. Figure 7 Figure (b) is an example of the third point cloud subset obtained after removing the clusters with fewer points and the clusters with more points in Figure (a).
[0078] In one embodiment, if the number of first clusters is less than N, or there is no first cluster in the N first clusters whose points are greater than or equal to the first point threshold and less than or equal to the second point threshold, the robot can return to execute step 101 and subsequent steps after moving for a preset time.
[0079] In one possible implementation, determining the charging base station identification result based on the third point cloud subset includes:
[0080] Clustering each point in the third point cloud subset based on a second neighborhood radius to obtain at least one second cluster; the second neighborhood radius is greater than the distance between two adjacent first regions;
[0081] Filtering out a second cluster whose number of points is greater than or equal to a second point count threshold and less than or equal to a third point count threshold; the third point count threshold is determined based on the total width of the N segments of the first area;
[0082] Based on the filtered second cluster, a charging base station identification result is determined.
[0083] The third point threshold may be the number of points corresponding to the total width of the N first regions or the number of points matching the total width of the N first regions. Figure 2 As shown, Figure 2 The sum of the widths of A1, A2, and A3 is the total width of the three first areas.
[0084] The filtered third point cloud subset usually contains valid data of the charging base station (i.e., charging base station data). Furthermore, the points in the third point cloud subset can be clustered based on the second neighborhood radius, thereby filtering out the charging base station data containing N segments of the first area. Since there is a certain distance d1 between two adjacent first areas on the charging base station, the second neighborhood radius for clustering needs to cover the distance d1, thereby ensuring that the N segments of the first area of the charging base station are classified as the same class of charging base station class, and comparing the number of points of the charging base station class with the second point count threshold and the third point count threshold, and finally obtaining the second cluster that is most likely to be the charging base station data. Figure 8 The figure shows an example of the second cluster. The cluster composed of blue square blocks is the charging base station class, and the cluster composed of yellow circular blocks is the other obstacle class.
[0085] In one embodiment, if there is no second cluster in at least one second cluster whose points are greater than or equal to the second point threshold and less than or equal to the third point threshold, the robot can return to execute step 101 and subsequent steps after moving for a preset time.
[0086] In one possible implementation, determining the charging base station identification result based on the filtered second cluster includes:
[0087] For any second cluster selected, cluster the points in the second cluster based on the third neighborhood radius to obtain a third cluster; the third neighborhood radius is larger than the first neighborhood radius and smaller than or equal to the distance between two adjacent first regions;
[0088] If the number of third clusters is N and the number of points in the N third clusters matches the width of the N first regions, the charging base station identification result is determined based on the N third clusters.
[0089] The number of points in the N third clusters matches the width of the N first regions, which means that the number of points in the N third clusters matches the width of the corresponding first regions. Figure 2 The number of points in the third cluster in the middle corresponds to A1 in Figure 2 The number of points in the third cluster on the right corresponds to A2. Figure 2 Corresponding to A3 in .
[0090] For any second cluster screened out, the second cluster may not meet the N-segment first area requirements of the charging base station. For example, the second cluster may be a whole high-reflection area, or a high-reflection area that is discontinuous beyond N segments. Therefore, it is necessary to filter out the second cluster that does not meet the N-segment first area requirements of the charging base station and find the second cluster that meets the N-segment first area requirements of the charging base station. Specifically, the third neighborhood radius is set based on the distance between two adjacent first areas on the charging base station as a reference standard, and the points in the second cluster are clustered based on the third neighborhood radius, and the number of points in each third cluster is required to match the width of the corresponding first area on the charging base station. On this basis, the N-segment first area on the charging base station can be divided from the points in the second cluster that meet the above requirements. Figure 9 The following is an example of three third clusters, which correspond to the three first areas on the charging base station. Figure 9 The yellow circle in Figure 2 A1 in corresponds to, Figure 9 The blue square blocks in Figure 2 A2 in corresponds to, Figure 9 The purple triangle blocks in Figure 2 Corresponding to A3 in .
[0091] In one embodiment, if the number of third clusters is not N or the number of points in the N third clusters does not match the width of the N first areas, the robot may return to execute step 101 and subsequent steps after moving for a preset time.
[0092] In one possible implementation, determining the charging base station identification result based on the N third clusters includes:
[0093] For any two adjacent third clusters, obtain the average angle and average distance of the two third clusters respectively;
[0094] If the absolute value of the difference between the average angles of the two third clusters is within a second preset angle range and the absolute value of the difference between the average distances of the two third clusters is within a second preset distance range, each point in the N third clusters is determined as point cloud data of N segments of the first area.
[0095] For the N identified third clusters, in order to ensure their greater accuracy, that is, to confirm that each point in these N third clusters is indeed the point cloud data of the N first areas of the charging base station, any two adjacent third clusters can be selected from the N third clusters, and based on the difference in the average angle and the difference in the average distance of these two third clusters, these N third clusters can be further identified as the N first areas.
[0096] For any third cluster, the robot can determine the average angle of the third cluster based on the angles of each point in the third cluster; and determine the average distance of the third cluster based on the distances of each point in the third cluster. Alternatively, the robot can determine the average angle of the third cluster by taking the median of the angles of each point in the third cluster, and the average distance of the third cluster by taking the median of the distances of each point in the third cluster.
[0097] When the distances between all two adjacent first areas in the N segments of the first area on the charging base station are the same, the widths of the N segments of the first area are the same when N is not 3, or the widths of the first areas on the left and right sides are the same when N is 3, since the absolute values of the differences in the average angles of different adjacent first areas are relatively small, the absolute values of the differences in the average distances are relatively small, the absolute values of the differences in the average angles of the corresponding two adjacent third clusters are also relatively small, and the absolute values of the differences in the average distances are also relatively small. Therefore, a group of two adjacent third clusters can be arbitrarily selected from all two adjacent third clusters, and the absolute value of the difference in the average angles of the two third clusters can be compared with the second preset angle range, and the absolute value of the difference in the average distances of the two third clusters can be compared with the second preset distance range.
[0098] In the case where the distances between all two adjacent first areas in the N segments of the first area on the charging base station are different, or when the widths of the N segments of the first area are different when N is not 3, or when the widths of the first areas on the left and right sides are different when N is 3, all two adjacent first areas in the N segments of the first area may each correspond to a second preset angle range and a second preset distance range. For each group of two adjacent third clusters in all two adjacent third clusters, the absolute value of the difference in average angles of the two adjacent third clusters may be compared with the second preset angle range of the two adjacent first areas corresponding to the two adjacent third clusters, and the absolute value of the difference in average distances of the two adjacent third clusters may be compared with the second preset distance range of the two adjacent first areas corresponding to the two adjacent third clusters.
[0099] Optionally, the second preset angle range and the second preset distance range can be determined based on empirical values in actual scenarios. For example, the second preset angle range is 10 degrees to 15 degrees, and the second preset distance range is 1 cm to 2 cm.
[0100] As an example and not a limitation, in an actual scenario, the position of each first area on the charging base station is known. By scanning each first area with a laser radar, the angle and distance of the point cloud data of each first area can be obtained. Based on the angle and distance of the point cloud data of each first area, the average angle and average distance of each first area can be obtained. Based on the average angle and average distance of each first area, the absolute value of the difference between the average angles of any two adjacent first areas and the absolute value of the difference between the average distances can be obtained. Based on the absolute value of the difference between the average angles of the two adjacent first areas, the second preset angle range corresponding to the two first areas can be determined (for example, the value obtained by adding the absolute value of the difference between the average angles of the two first areas to the first angle is determined as the maximum value of the second preset angle range, and the absolute value of the difference between the average angles of the two first areas is determined by subtracting the absolute value of the difference between the second angle). The obtained value is determined as the minimum value of the second preset angle range. The first angle and the second angle can be preset empirical values. Of course, it can be understood that the second preset angle range can also be determined by other means, and this application does not limit this). Based on the absolute value of the difference between the average distances of two adjacent first areas, the second preset distance range corresponding to the two first areas can be determined (for example, the value obtained by adding the absolute value of the difference between the average distances of the two first areas to the first distance is determined as the maximum value of the second preset distance range, and the value obtained by subtracting the absolute value of the difference between the average distances of the two first areas from the second distance is determined as the minimum value of the second preset distance range. The first distance and the second distance can be preset empirical values. Of course, it can be understood that the second preset distance range can also be determined by other means, and this application does not limit this).
[0101] In one embodiment, if the absolute value of the difference between the average angles of two adjacent third clusters is not within the second preset angle range or the absolute value of the difference between the average distances of two adjacent third clusters is not within the second preset distance range, the robot can return to execute step 101 and subsequent steps after moving for a preset time.
[0102] After obtaining the point cloud data of the first N sections of the charging base station, the robot can locate the charging base station and thus identify the charging base station in the surrounding environment.
[0103] The robot in this embodiment uses its onboard LiDAR to identify charging base stations. The point cloud data scanned by the LiDAR is data that can capture the intensity values of objects. In addition to being used for robot mapping and positioning, the LiDAR is also used to identify charging base stations. Furthermore, this embodiment uses the high-reflection data identified by the LiDAR to eliminate invalid data and cluster valid data, ultimately generating point cloud data that meets the design requirements of the charging base station. This effectively utilizes the LiDAR point cloud data and improves the accuracy of charging base station identification.
[0104] In an embodiment of the present application, N first areas and N-1 second areas are provided on the charging base station, the first intensity value corresponding to the first area is greater than the second intensity value corresponding to the second area, and a second area is provided between two adjacent first areas. On this basis, an intensity range (i.e., a preset intensity range) can be set in advance based on the first intensity value and the second intensity value, and the point cloud data of the target area can be filtered based on the preset intensity range to obtain a first point cloud subset, and further points whose angles are within the first preset angle range and whose distances are within the first preset distance range are filtered out from the first point cloud subset to obtain a second point cloud subset. The charging base station recognition result is determined based on the second point cloud subset, which can effectively reduce the situation of misidentification and improve the recognition accuracy of the charging base station.
[0105] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0106] Corresponding to the charging base station identification method described in the above embodiment, Figure 10 A structural diagram of a charging base station identification device provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.
[0107] Reference Figure 10 , the device comprises:
[0108] Point cloud acquisition module 1001, used to acquire point cloud data of the surrounding environment;
[0109] A first screening module 1002 is configured to screen points having intensity values within a preset intensity range from the point cloud data to obtain a first point cloud subset; the maximum value of the preset intensity range is greater than or equal to the first intensity value, the minimum value of the preset intensity range is greater than the second intensity value, the first intensity value is greater than the second intensity value, the first intensity value is the intensity value corresponding to the first region, the second intensity value is the intensity value corresponding to the second region, the first region and the second region are different regions set on the charging base station, the number of the first regions is N, the number of the second regions is N-1, N is an integer greater than 1, and a segment of the second region is set between two adjacent segments of the first regions on the charging base station;
[0110] A second screening module 1003 is configured to screen out points whose angles are within a first preset angle range and whose distances are within a first preset distance range from the first point cloud subset to obtain a second point cloud subset;
[0111] The result determination module 1004 is configured to determine a charging base station identification result based on the second point cloud subset.
[0112] Optionally, the result determination module 1004 includes:
[0113] a clustering submodule, configured to cluster the points in the second point cloud subset based on a first neighborhood radius to obtain a first cluster; wherein the first neighborhood radius is smaller than a distance between two adjacent segments of the first area;
[0114] a screening submodule, configured to, if the number of the first clusters is greater than or equal to N, screen out the first clusters having a point count greater than or equal to a first point count threshold and less than or equal to a second point count threshold, to obtain a third point cloud subset; the first point count threshold is determined based on a width of a first candidate region, the second point count threshold is determined based on a width of a second candidate region, the first candidate region being the narrowest first region among the N segments of the first regions, and the second candidate region being the widest first region among the N segments of the first regions;
[0115] The result determination submodule is used to determine the charging base station identification result based on the third point cloud subset.
[0116] Optionally, the result determination submodule includes:
[0117] a clustering unit, configured to cluster the points in the third point cloud subset based on a second neighborhood radius to obtain at least one second cluster; wherein the second neighborhood radius is greater than a distance between two adjacent segments of the first area;
[0118] a screening unit, configured to screen out the second cluster having a number of points greater than or equal to the second point number threshold and less than or equal to a third point number threshold; the third point number threshold being determined based on a total width of the N segments of the first region;
[0119] A determining unit is configured to determine an identification result of the charging base station based on the filtered second cluster.
[0120] Optionally, the determining unit includes:
[0121] a clustering subunit, configured to cluster the points in any selected second cluster based on a third neighborhood radius to obtain a third cluster; wherein the third neighborhood radius is larger than the first neighborhood radius and smaller than or equal to the distance between two adjacent first regions;
[0122] A determination subunit is configured to determine the charging base station identification result based on the N third clusters if the number of the third clusters is N and the number of points in the N third clusters matches the width of the N first areas.
[0123] Optionally, the determination subunit is specifically configured to:
[0124] For any two adjacent third clusters, respectively obtaining the average angle and average distance of the two third clusters;
[0125] If the absolute value of the difference between the average angles of the two third clusters is within a second preset angle range and the absolute value of the difference between the average distances of the two third clusters is within a second preset distance range, each point in the N third clusters is determined as N segments of point cloud data of the first area.
[0126] Optionally, the above device further includes:
[0127] A removal module is used to remove a target point from the first point cloud subset if there is a target point in the first point cloud subset; the target point is a point whose intensity value of the left adjacent point and the intensity value of the right adjacent point in the point cloud data are both outside the preset intensity range.
[0128] Optionally, the point cloud acquisition module 1001 is specifically used to:
[0129] During charging by aligning with the charging base station, the point cloud data of the surrounding environment is acquired.
[0130] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of this application. Their specific functions and technical effects can be found in the method embodiment section and will not be repeated here.
[0131] Figure 11 This is a schematic diagram of the structure of the robot provided in the embodiment of the present application. Figure 11 As shown, the robot 11 of this embodiment includes: at least one processor 1100 ( Figure 11 Only one is shown), a memory 1101 and a computer program 1102 stored in the memory 1101 and executable on the at least one processor 1100, wherein the processor 1100 implements the steps of any of the above-mentioned method embodiments when executing the computer program 1102.
[0132] The robot may include, but is not limited to, a processor 1100 and a memory 1101. Those skilled in the art will appreciate that Figure 11 This is merely an example of the robot 11 and does not constitute a limitation on the robot 11 . The robot 11 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot may also include input and output devices, network access devices, etc.
[0133] The processor 1100 may be a central processing unit (CPU), or may be another 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. A general-purpose processor may be a microprocessor or any conventional processor.
[0134] In some embodiments, the memory 1101 may be an internal storage unit of the robot 11, such as a hard drive or memory of the robot 11. In other embodiments, the memory 1101 may also be an external storage device of the robot 11, such as a plug-in hard drive, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the robot 11. Furthermore, the memory 1101 may include both an internal storage unit of the robot 11 and an external storage device. The memory 1101 is used to store an operating system, application programs, a boot loader, data, and other programs, such as the program code of the computer program. The memory 1101 may also be used to temporarily store data that has been output or is about to be output.
[0135] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0136] If the integrated unit of the robot is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the process in the above-mentioned embodiment method by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, it can implement the steps of each of the above-mentioned method embodiments. The computer program includes computer program code, which can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the device / robot, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. For example, USB flash drive, mobile hard disk, magnetic disk or optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signal and telecommunication signal.
[0137] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0138] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel 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.
[0139] In the embodiments provided in this application, it should be understood that the disclosed devices / robots and methods can be implemented in other ways. For example, the device / robot embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0140] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0141] The above-described 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 of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present application, and should all be included in the scope of protection of the present application.
Claims
1. A charging base station identification method, characterized in that: include: Obtain point cloud data of the surrounding environment; Filtering points whose intensity values are within a preset intensity range from the point cloud data to obtain a first point cloud subset; The maximum value of the preset intensity range is greater than or equal to the first intensity value, the minimum value of the preset intensity range is greater than the second intensity value, the first intensity value is the intensity value corresponding to the first area, the second intensity value is the intensity value corresponding to the second area, the first area and the second area are different areas set on the charging base station, the number of the first areas is N, the number of the second areas is N-1, N is an integer greater than 1, and a section of the second area is set between two adjacent sections of the first areas on the charging base station; Filtering points whose angles are within a first preset angle range and whose distances are within a first preset distance range from the first point cloud subset to obtain a second point cloud subset; Based on the second point cloud subset, a charging base station identification result is determined.
2. The method according to claim 1, characterized in that The determining of a charging base station identification result based on the second point cloud subset includes: clustering each point in the second point cloud subset based on a first neighborhood radius to obtain a first cluster; the first neighborhood radius is smaller than a distance between two adjacent segments of the first area; If the number of the first clusters is greater than or equal to N, the first clusters having a point count greater than or equal to a first point count threshold and less than or equal to a second point count threshold are selected to obtain a third point cloud subset; the first point count threshold is determined based on the width of the first candidate region, and the second point count threshold is determined based on the width of the second candidate region. The first candidate region is the narrowest first region among the N segments of the first regions, and the second candidate region is the widest first region among the N segments of the first regions. Based on the third point cloud subset, the charging base station identification result is determined.
3. The method according to claim 2, characterized in that The determining the charging base station identification result based on the third point cloud subset includes: clustering each point in the third point cloud subset based on a second neighborhood radius to obtain at least one second cluster; wherein the second neighborhood radius is greater than a distance between two adjacent segments of the first area; Filtering out the second cluster whose number of points is greater than or equal to the second point number threshold and less than or equal to a third point number threshold; the third point number threshold is determined based on the total width of the N segments of the first area; The charging base station identification result is determined based on the filtered second cluster.
4. The method according to claim 3, characterized in that The determining the charging base station identification result based on the filtered second cluster includes: For any of the second clusters selected, clustering the points in the second cluster based on a third neighborhood radius to obtain a third cluster; the third neighborhood radius is larger than the first neighborhood radius and smaller than or equal to the distance between two adjacent first regions; If the number of the third clusters is N and the number of points of the N third clusters matches the width of the N first areas, the charging base station identification result is determined based on the N third clusters.
5. The method according to claim 4, characterized in that The determining the charging base station identification result based on the N third clusters includes: For any two adjacent third clusters, respectively obtaining the average angle and average distance of the two third clusters; If the absolute value of the difference between the average angles of the two third clusters is within a second preset angle range and the absolute value of the difference between the average distances of the two third clusters is within a second preset distance range, each point in the N third clusters is determined as N segments of point cloud data of the first area.
6. The method according to any one of claims 1 to 5, characterized in that Before selecting points whose angles are within a first preset angle range and whose distances are within a first preset distance range from the first point cloud subset to obtain a second point cloud subset, the method further includes: If there is a target point in the first point cloud subset, the target point is removed from the first point cloud subset; the target point is a point whose intensity values of the left adjacent points and the right adjacent points in the point cloud data are both outside the preset intensity range.
7. The method according to any one of claims 1 to 5, characterized in that The step of obtaining point cloud data of the surrounding environment includes: During charging by aligning with the charging base station, the point cloud data of the surrounding environment is acquired.
8. A charging base station identification device, characterized in that: include: Point cloud acquisition module, used to obtain point cloud data of the surrounding environment; a first screening module, configured to screen out points having intensity values within a preset intensity range from the point cloud data to obtain a first point cloud subset; The maximum value of the preset intensity range is greater than or equal to the first intensity value, the minimum value of the preset intensity range is greater than the second intensity value, the first intensity value is the intensity value corresponding to the first area, the second intensity value is the intensity value corresponding to the second area, the first area and the second area are different areas set on the charging base station, the number of the first areas is N, the number of the second areas is N-1, N is an integer greater than 1, and a section of the second area is set between two adjacent sections of the first areas on the charging base station; a second screening module, configured to screen out points whose angles are within a first preset angle range and whose distances are within a first preset distance range from the first point cloud subset, to obtain a second point cloud subset; A result determination module is used to determine a charging base station identification result based on the second point cloud subset.
9. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the robot is caused to implement the method according to any one of claims 1 to 7.
10. A computer program product, characterized in that The invention comprises a computer program which, when executed, causes the method according to any one of claims 1 to 7 to be performed.