A method for a cleaning robot to identify a base station position

By setting multiple strong reflective areas and absorbing areas on the surface of the base station and identifying the peak points of the light intensity with lidar, the problem of poor adaptability of base station position recognition in the prior art is solved, and precise positioning under different environments and conditions is achieved .

CN114910880BActive Publication Date: 2025-02-07NINGBO FOTILE KITCHEN WARE CO LTD
View PDF 2 Cites -1 Cited by

Patent Information

Application Number
CN202110173015.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-08
Publication Date
2025-02-07
Estimated Expiration
2041-02-08

AI Technical Summary

Technical Problem

The prior art has poor adaptability when identifying base station locations, and cannot accurately locate in different locations, angles and environments.

Method used

Multiple strong reflective areas and absorbing areas are set up on the surface of the base station, and lidar is installed on the cleaning robot to locate the base station position by scanning the environment, processing detection data, and identifying the peak points of the light intensity.

Benefits of technology

Accurate positioning under different environments and base station locations and angles is achieved, and environmental adaptability and stability of identification are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114910880B_ABST
    Figure CN114910880B_ABST
Patent Text Reader

Abstract

The present invention relates to a method for a cleaning robot to identify the position of a base station, which is characterized by: m strong light-reflecting areas and m-1 light-absorbing areas are arranged on the surface of the base station, and the strong light-reflecting areas and the light-absorbing areas are distributed at intervals; a laser radar is arranged on the cleaning robot; the cleaning robot identifies the position of the base station through the following steps: the laser radar returns a frame of data every time it scans a circle, and the data includes light intensity information. After scanning a label on the base station, the light intensity information is visualized, all peaks in the light intensity data are found, and all peaks that meet the requirements are screened out according to preset peak widths and peak heights, and the remaining peaks are screened according to label widths, so as to finally obtain the position of the base station.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a method for a cleaning robot to identify a base station position. Background Art

[0002] When the cleaning robot returns to the base station, it usually uses infrared, laser and other sensors to locate the base station. As for laser identification of base stations, the common practice is to obtain light intensity data through lidar, and use thresholds to distinguish between strong reflective areas and light-absorbing areas on the base station, so as to locate the base station.

[0003] When the laser radar is at different positions and angles from the base station, the light intensity data obtained by scanning the base station is also different, that is, the threshold for distinguishing the strong reflective area and the light absorbing area on the base station is also different. Therefore, multiple experiments are required to obtain multiple sets of thresholds to match different positions and angles, and the test results are also different in environments with different brightness and darkness. Therefore, this method has an obvious problem of not being able to adapt. Summary of the invention

[0004] The technical problem to be solved by the present invention is to provide a method for a cleaning robot to identify the location of a base station with strong environmental adaptability and accurate positioning in view of the above-mentioned prior art.

[0005] The technical solution adopted by the present invention to solve the above technical problems is: a method for a cleaning robot to identify the position of a base station, characterized in that: m strong reflective areas and m-1 light absorbing areas are set on the surface of the base station, and the widths of the m strong reflective areas are x and m-1 respectively. 1 、x 2 ,…x m , the widths of the m-1 absorption zones are y 1 y 2 …y m-1 , m is a natural number greater than or equal to 2, and the strong reflective area and the light absorbing area are distributed alternately; a laser radar is set on the cleaning robot; the cleaning robot identifies the position of the base station through the following steps:

[0006] Step 1: The laser radar on the cleaning robot scans the surrounding environment and collects the detection data received by the laser radar. The detection data includes distance, light intensity and angle.

[0007] Let the detection data be data = [ranges intensities angle_increment];

[0008] Where ranges represents the distance from each obstacle to the laser radar obtained by scanning the surrounding environment. 1 、range 2 、…rangen ]; intensities represents the intensity of the laser light reflected from the corresponding obstacle, intensities = [intensities 1 、intensities 2 、…intensities n ]; n is the number of laser points reflected by obstacles after scanning a circle; angle_increment = 2π / n;

[0009] Step 2: Convert the light intensity in the detection data into a visualized image to obtain a light intensity visualized image, where the horizontal coordinate in the light intensity visualized image is the index value, i.e., the corresponding laser point, and the vertical coordinate is the corresponding light intensity value;

[0010] Step 3: Find the peak point in the light intensity visualization image, including:

[0011] Step 3-1, calculate the first-order difference vector array of intensities, denoted as I1 i , I1 i =intensity i+1 -intensity i , i=1,2,……n;

[0012] Step 3-2: I1 i Perform the sign function operation, that is, traverse I1 i , if the element value is greater than 0, it takes the value of 1, if it is less than 0, it takes -1, otherwise it takes the value of 0, so that a new differential vector array is obtained, recorded as I2 i ;

[0013] Step 3-3: Traverse I2 from the tail i , if the current element value is 0 and the next element value is greater than or equal to 0, the current element value is 1; if the current element value is 0 and the next element value is less than 0, the current element value is -1; if the current element value is not 0, keep the current element value unchanged;

[0014] Step 3-4, I2 i Perform a first-order difference operation and record the result as I3 i , that is, I3 i =I2 i+1 -I2 i , i=1,2,……n;

[0015] Step 3-5: Traverse I3 i , if the current element value is -2, then the subscript of the next element is a peak position of intensities, and the subscripts of all peak positions are recorded and stored in array A1;

[0016] Step 3-6, according to the preset m peak heights and widths corresponding to the strong reflective area in the base station, and the preset distance between two adjacent peaks, the array A1 is screened, that is, the elements in the array A1 that are the same as the preset peak height and width, and the distance between two adjacent peaks is the same as the preset distance between two adjacent peaks are screened out, and the array obtained after screening is recorded as A2. If the number of elements in the array A2 is less than m, it means that the current position has not identified the base station, otherwise proceed to the next step;

[0017] Step 4: Perform secondary screening on the peak points in the light intensity visualization image, specifically including:

[0018] Step 4-1: For array A2, set its expression as follows

[0019] A2=[a 1 … a j … a l ]

[0020] j = 1, 2, ..., l; a j Subscripts the elements of intensities, so according to a j value, take the corresponding distance value Take the corresponding distances of all index elements in array A2 to get a distance array D, then we have

[0021]

[0022] Step 4-2: Calculate the true distances between all adjacent peaks based on array A2 and array D to obtain array W. Then we have

[0023] W=[w 1 … w j … w l-1 ]

[0024] where w j represents the distance between the corresponding indexes of the jth and j+1th peaks, then:

[0025] w j =d j 2 +d j+1 2 -2×d j ×d j+1 ×cosθ

[0026] Among them, d j and d j+1 Respectively represent the distances from the j-th peak point and the j+1-th peak point to the laser radar;

[0027] θ=angle_increment×(a j+1 -a j )

[0028] Step 4-3, traverse the array W from front to back, each time taking the current element and the next m-1 elements, let the kth traversal take [w k ,w k+1 ,…,w k+m-1 ], and perform the following calculation:

[0029]

[0030] k=1,2,…lm

[0031] Where C is the error. If the error is greater than the preset value, it means that the current m elements [w k ,w k+1 ,…,w k+m-1 ] does not match the peak distance with the base station, the current w k Eliminate; when k takes lm times of traversal, go to step 4-4;

[0032] Step 4-4, if W1 satisfies that the subscripts of m consecutive elements are continuous, then calculate whether the sum of the values ​​of these m elements meets the preset total length. If it does not meet the requirement, remove the current element;

[0033] Step 4-5: After executing step 4-4, if the length of W1 is less than 0, it means that no base station is identified at the current position, otherwise, the position of the obstacle corresponding to the remaining elements is taken as the identified base station position.

[0034] The surface of the strong light-reflecting area is affixed with a strong light-reflecting film; the surface of the light-absorbing area is affixed with a light-absorbing film.

[0035] Preferably, m=4, and the arrangement order of the four strong light-reflecting areas and the three light-absorbing areas is: strong light-reflecting area, light-absorbing area, strong light-reflecting area, light-absorbing area, strong light-reflecting area, light-absorbing area, and strong light-reflecting area.

[0036] The light intensity values ​​in the detection data are replaced with the light intensity values ​​formed by mirror interference and the light intensity values ​​formed by sunlight interference. The replacement method is: the credible light intensity values ​​of the left and right neighbors of the replaced point are averaged and the obtained value is used as the light intensity value of the replaced point. If the replaced point is the first point, the credible light intensity value of the right neighbor closest to the replaced point is used as the light intensity value of the replaced point. If the replaced point is the last point, the credible light intensity value of the left neighbor closest to the replaced point is used as the light intensity value of the replaced point.

[0037] Replace the light intensity value corresponding to the laser point distance of 0, and the replacement method is the same as above.

[0038] Compared with the prior art, the advantages of the present invention are: the strong reflective area and the light-absorbing area are easy to make, the additional cost is very low, the laser is less affected by the environment and is relatively stable, the strong reflective area and the light-absorbing area on the base station are identified by wave peaks, it has good versatility, is less affected by the environment, and is not affected by the position and angle of the robot relative to the base station. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 Schematic diagrams of the strong light-reflecting area and the light-absorbing area on the surface of the base station in an embodiment of the present invention.

[0040] Figure 2 Schematic diagram of a light intensity visualization image in an embodiment of the present invention. DETAILED DESCRIPTION

[0041] The present invention is further described in detail below with reference to the accompanying drawings.

[0042] This embodiment provides a method for a cleaning robot to identify the position of a base station. It is necessary to set m strong reflective areas 2 and m-1 light absorbing areas 3 on the surface of the base station 1. The widths of the m strong reflective areas are x 1 、x 2 ,…x m , the widths of the m-1 absorption zones are y 1 y 2 …y m-1 , m is a natural number greater than or equal to 2, and the strong reflection area and the light absorption area are distributed at intervals, that is, from left to back, they are the strong reflection area, the light absorption area, the strong reflection area, the light absorption area, ..., the strong reflection area, the light absorption area, and the strong reflection area, and then a laser radar is set on the cleaning robot.

[0043] Taking m=4 as an example, the arrangement order of the four strong light-reflecting areas 2 and the three light-absorbing areas 3 is: strong light-reflecting area, light-absorbing area, strong light-reflecting area, light-absorbing area, strong light-reflecting area, light-absorbing area, strong light-reflecting area, see Figure 1 shown.

[0044] The surface of the strong reflective area 2 is affixed with a strong reflective film, such as a white strong reflective film; the surface of the light absorbing area 3 is affixed with a light absorbing film, such as a black strong reflective film, which increases the cost at a lower level.

[0045] The cleaning robot identifies the location of the base station through the following steps:

[0046] Step 1: The laser radar on the cleaning robot scans the surrounding environment and collects the detection data received by the laser radar. The detection data includes distance, light intensity and angle.

[0047] Let the detection data be data = [ranges intensities angle_increment];

[0048] Where ranges represents the distance from each obstacle to the laser radar obtained by scanning the surrounding environment. 1 、range 2 、…range n ]; intensities represents the intensity of the laser light reflected from the corresponding obstacle, intensities = [intensities 1 、intensities 2 、…intensities n ]; n is the number of laser points reflected by obstacles after scanning a circle; angle_increment = 2π / n;

[0049] Then, the light intensity value in the detection data is replaced with the light intensity value formed by mirror interference and the light intensity value formed by sunlight interference. The replacement method is: the credible light intensity values ​​of the left and right neighbors closest to the replaced point are averaged, and the obtained value is used as the light intensity value of the replaced point. If the replaced point is the first point, the credible light intensity value of the right neighbor closest to the replaced point is used as the light intensity value of the replaced point. If the replaced point is the last point, the credible light intensity value of the left neighbor closest to the replaced point is used as the light intensity value of the replaced point. The light intensity value formed by mirror interference is generally 1021, and the light intensity value formed by sunlight interference is generally 1022. The light intensity value corresponding to the laser point distance of 0 is replaced, and the replacement method is the same as above.

[0050] Step 2: Convert the light intensity in the detection data into a visual image to obtain a light intensity visualization image. The horizontal axis in the light intensity visualization image is the index value, i.e., the corresponding laser point, and the vertical axis is the corresponding light intensity value. Figure 2 As shown;

[0051] Step 3: Find the peak point in the light intensity visualization image, including:

[0052] Step 3-1, calculate the first-order difference vector array of intensities, denoted as I1 i , I1 i =intensity i+1 -intensity i , i=1,2,……n;

[0053] Step 3-2: I1 i Perform the sign function operation, that is, traverse I1 i , if the element value is greater than 0, it takes the value of 1, if it is less than 0, it takes -1, otherwise it takes the value of 0, so that a new differential vector array is obtained, recorded as I2i ;

[0054] Step 3-3: Traverse I2 from the tail i , if the current element value is 0 and the next element value is greater than or equal to 0, the current element value is 1; if the current element value is 0 and the next element value is less than 0, the current element value is -1; if the current element value is not 0, keep the current element value unchanged;

[0055] Step 3-4, I2 i Perform a first-order difference operation and record the result as I3 i , that is, I3 i =I2 i+1 -I2 i , i=1,2,……n;

[0056] Step 3-5: Traverse I3 i , if the current element value is -2, then the subscript of the next element is a peak position of intensities, and the subscripts of all peak positions are recorded and stored in array A1;

[0057] Step 3-6, according to the preset m peak heights and widths corresponding to the strong reflective area in the base station, and the preset distance between two adjacent peaks, the array A1 is screened, that is, the elements in the array A1 that are the same as the preset peak height and width, and the distance between two adjacent peaks is the same as the preset distance between two adjacent peaks are screened out, and the array obtained after screening is recorded as A2. If the number of elements in the array A2 is less than m, it means that the current position has not identified the base station, otherwise proceed to the next step;

[0058] Step 4: Perform secondary screening on the peak points in the light intensity visualization image, specifically including:

[0059] Step 4-1: For array A2, set its expression as follows

[0060] A2=[a 1 … a j … a l ]

[0061] j = 1, 2, ..., l; a j Subscripts the elements of intensities, so according to a j value, take the corresponding distance value Take the corresponding distances of all index elements in array A2 to get a distance array D, then we have

[0062]

[0063] Step 4-2: Calculate the true distances between all adjacent peaks based on array A2 and array D to obtain array W. Then we have

[0064] W=[w 1 … w j … w l-1 ]

[0065] where w j represents the distance between the corresponding indexes of the jth and j+1th peaks, then:

[0066] w j =d j 2 +d j+1 2 -2×d j ×d j+1 ×cosθ

[0067] Among them, d j and d j+1 Respectively represent the distances from the j-th peak point and the j+1-th peak point to the laser radar;

[0068] θ=angle_increment×(a j+1 -a j )

[0069] Step 4-3, traverse the array W from front to back, each time taking the current element and the next m-1 elements, let the kth traversal take [w k ,w k+1 ,…,w k+m-1 ], and perform the following calculation:

[0070]

[0071] k=1,2,…lm

[0072] Where C is the error. If the error is greater than the preset value, it means that the current m elements [w k ,w k+1 ,…,w k+m-1 ] does not match the peak distance with the base station, the current w k Eliminate; when k takes lm times of traversal, go to step 4-4;

[0073] Step 4-4, if W1 satisfies that the subscripts of m consecutive elements are continuous, then calculate whether the sum of the values ​​of these m elements meets the preset total length. If it does not meet the requirement, remove the current element;

[0074] Step 4-5: After executing step 4-4, if the length of W1 is less than 0, it means that no base station is identified at the current position, otherwise, the position of the obstacle corresponding to the remaining elements is taken as the identified base station position.

Claims

1. A method for a cleaning robot to identify a base station location, characterized in that: Set m strong reflective areas and m-1 light absorbing areas on the surface of the base station. The widths of the m strong reflective areas are x1, x2, ...x m , the widths of the m-1 absorption zones are y1 y2 ...y m-1 , m is a natural number greater than or equal to 2, and the strong reflective area and the light absorbing area are distributed alternately; a laser radar is set on the cleaning robot; the cleaning robot identifies the position of the base station through the following steps: Step 1: The laser radar on the cleaning robot scans the surrounding environment and collects the detection data received by the laser radar. The detection data includes distance, light intensity and angle. Let the detection data be data = [ranges intensities angle_increment]; Where ranges represents the distance from each obstacle to the laser radar obtained by scanning the surrounding environment, ranges = [range1, range2, ...range n ]; intensities represents the intensity of the laser light reflected from the corresponding obstacle, intensities = [intensities1, intensities2, ...intensities n ]; n is the number of laser points reflected by obstacles after scanning a circle; angle_increment = 2π / n; Step 2: Convert the light intensity in the detection data into a visualized image to obtain a light intensity visualized image, where the horizontal coordinate in the light intensity visualized image is the index value, i.e., the corresponding laser point, and the vertical coordinate is the corresponding light intensity value; Step 3: Find the peak point in the light intensity visualization image, including: Step 3-1, calculate the first-order difference vector array of intensities, denoted as I1 i , I1 i =intensity i+1 -intensity i , i=1,2,......n; Step 3-2: I1 i Perform the sign function operation, that is, traverse I1 i , if the element value is greater than 0, it takes the value of 1, if it is less than 0, it takes -1, otherwise it takes the value of 0, so that a new differential vector array is obtained, recorded as I2 i ; Step 3-3: Traverse I2 from the tail i , if the current element value is 0 and the next element value is greater than or equal to 0, the current element value is 1; if the current element value is 0 and the next element value is less than 0, the current element value is -1; if the current element value is not 0, keep the current element value unchanged; Step 3-4, I2 i Perform a first-order difference operation and record the result as I3 i , that is, I3 i =I2 i+1 -I2 i , i=1,2,......n; Step 3-5: Traverse I3 i , if the current element value is -2, then the subscript of the next element is a peak position of intensities, and the subscripts of all peak positions are recorded and stored in array A1; Step 3-6, according to the preset m peak heights and widths corresponding to the strong reflective area in the base station, and the preset distance between two adjacent peaks, the array A1 is screened, that is, the elements in the array A1 that are the same as the preset peak height and width, and the distance between two adjacent peaks is the same as the preset distance between two adjacent peaks are screened out, and the array obtained after screening is recorded as A2. If the number of elements in the array A2 is less than m, it means that the current position has not identified the base station, otherwise proceed to the next step; Step 4: Perform secondary screening on the peak points in the light intensity visualization image, specifically including: Step 4-1: For array A2, set its expression as follows <h2 style=";text-align:left;direction:ltr">A2=[a1 … a<h2 style=";text-align:left;direction:ltr"> j <h2 style=";text-align:left;direction:ltr"> …a<h2 style=";text-align:left;direction:ltr"> l <h2 style=";text-align:left;direction:ltr"> ] j=1,2,...1;a j Subscripts the elements of intensities, so according to a j value, take the corresponding distance value Take the corresponding distances of all index elements in array A2 to get a distance array D, then we have Step 4-2: Calculate the true distances between all adjacent peaks based on array A2 and array D to obtain array W. Then we have W=[w1 … w j ...w l-1 ] where w j represents the distance between the corresponding indexes of the j-th and j+1-th peaks, then: w j =d j 2 +d j+1 2 -2×d j ×d j+1 ×cosθ Among them, d j and d j+1 Respectively represent the distances from the j-th peak point and the j+1-th peak point to the laser radar; θ=angle_increment×(a j+1 -a j ) Step 4-3, traverse the array W from front to back, each time taking the current element and the next m-1 elements, let the kth traversal take [w k , w k+1 ,…,w k+m-1 ] and perform the following calculation: Where C is the error. If the error is greater than the preset value, it means that the current m elements [w k , w k+1 ,…,w k+m-1 ] does not match the peak distance with the base station, the current w k Eliminate; when k takes lm times of traversal, go to step 4-4; Step 4-4, if W1 satisfies that the subscripts of m consecutive elements are continuous, then calculate whether the sum of the values ​​of these m elements meets the preset total length. If it does not meet the requirement, remove the current element; Step 4-5: After executing step 4-4, if the length of W1 is less than 0, it means that no base station is identified at the current position, otherwise, the position of the obstacle corresponding to the remaining elements is taken as the identified base station position.

2. The method for identifying the location of a base station by a cleaning robot according to claim 1, characterized in that: The surface of the strong light-reflecting area is affixed with a strong light-reflecting film; the surface of the light-absorbing area is affixed with a light-absorbing film.

3. The method for identifying the location of a base station by a cleaning robot according to claim 1, characterized in that: The m=4, and the arrangement order of the 4 strong light-reflecting areas and the 3 light-absorbing areas is: strong light-reflecting area, light-absorbing area, strong light-reflecting area, light-absorbing area, strong light-reflecting area, light-absorbing area, and strong light-reflecting area.

4. The method for identifying the location of a base station by a cleaning robot according to claim 1, characterized in that: The step of preprocessing the detection data is also included between step 1 and step 2, and the specific method is as follows: The light intensity values ​​in the detection data are replaced with the light intensity values ​​formed by mirror interference and the light intensity values ​​formed by sunlight interference. The replacement method is: the credible light intensity values ​​of the left and right neighbors of the replaced point are averaged and the obtained value is used as the light intensity value of the replaced point. If the replaced point is the first point, the credible light intensity value of the right neighbor closest to the replaced point is used as the light intensity value of the replaced point. If the replaced point is the last point, the credible light intensity value of the left neighbor closest to the replaced point is used as the light intensity value of the replaced point. Replace the light intensity value corresponding to the laser point distance of 0, and the replacement method is the same as above.

Citation Information

Patent Citations

  • Autonomous global relocation method for robots and robot

    CN107908185A

  • Robot charging base, robot automatic recharging system and robot automatic recharging method

    CN110221617A