WO2022099889A1 - 重定位方法、机器人及计算机可读存储介质 - Google Patents
重定位方法、机器人及计算机可读存储介质 Download PDFInfo
- Publication number
- WO2022099889A1 WO2022099889A1 PCT/CN2020/140578 CN2020140578W WO2022099889A1 WO 2022099889 A1 WO2022099889 A1 WO 2022099889A1 CN 2020140578 W CN2020140578 W CN 2020140578W WO 2022099889 A1 WO2022099889 A1 WO 2022099889A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- black
- matching
- circle
- black border
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—Two-dimensional [2D] image generation
- G06T11/20—Drawing from basic elements
- G06T11/26—Drawing of charts or graphs
Definitions
- the present application belongs to the field of robotics, and in particular, relates to a relocation method, a robot and a computer-readable storage medium.
- a template matching method or a gradient matching method is mainly used to relocate a robot.
- the cores of the template matching method and the gradient matching method both focus on the matching influence of a large area or a long boundary.
- the maps constructed by robots are often 2D grid maps, which can only describe boundary information at the same height as objects or walls, for long corridor areas or intersections with multiple walls, the boundaries described in the 2D grid map The similarity of information is high, so that the distinction between large areas or long boundaries is often not very obvious, resulting in a high success rate of false positives for robot relocation, which affects the user experience.
- Embodiments of the present application provide a relocation method, a robot, and a computer-readable storage medium, which can effectively solve the problem of a high success rate of false positives in robot relocation and improve user experience.
- an embodiment of the present application provides a relocation method, which may include:
- the matching value of , the target black border is the matching black border between the local matching sub-image and the current scan image
- the estimated pose is determined as the pose of the robot for repositioning.
- the determining the length of the black border may include:
- the determining the curve complexity of the black boundary may include:
- the target black pixel point located between the center of the circle and the intersection in the black boundary, and determine the distance between the target black pixel point and the target straight line, the target straight line is based on the center of the circle and the A straight line whose point of intersection is determined;
- the determining the matching weight of the black boundary according to the length of the black boundary and the curve complexity may include:
- the matching weight of the black border is calculated according to the following formula:
- Wi is the matching weight of the ith black boundary
- Di(r) is the curve complexity of the ith black boundary
- Li is the length of the ith black boundary
- r is the reference length.
- the generating a local matching submap according to the global navigation map may include:
- the local matching submap is generated according to the adaptive matching area and the optimized navigation map.
- the determining an adaptive matching region may include:
- the positioning mode is global repositioning, obtain the global positioning position of the robot and the first position where the robot is before the navigation fails, and generate the adaptive position according to the global positioning position and the first position matching area;
- the positioning mode When the positioning mode is local repositioning, obtain the global positioning position of the robot, the first position where the robot was before the navigation failure, and the second position specified by the user, and based on the global positioning position, the first position A location and the second location generate the adaptive matching region.
- the generating the adaptive matching area according to the global positioning position and the first position may include:
- the third circle When the third circle is separated from the fourth circle, or the fourth circle does not exist, it will be a rectangle with the global positioning position as the center point and the second preset length as the side length A region is determined as the adaptive matching region.
- an embodiment of the present application provides a relocation device, which may include:
- a matching sub-map generating module is used to obtain the global navigation map and the current scanning map of the target scene where the robot is located, and generate a local matching sub-map according to the global navigation map;
- the matching weight determination module is used to obtain the black boundary in the local matching subgraph, determine the length of the black boundary and determine the curve complexity of the black boundary, and determine according to the length of the black boundary and the curve complexity the matching weight of the black border;
- the matching value determination module is used to determine the estimated pose of relocation and the target black border according to the local matching sub-image and the current scan image, and obtain the current scan image and the target black border according to the matching weight of the target black border.
- the matching value between the local matching sub-images, and the target black border is the matching black border between the local matching sub-image and the current scan image;
- a pose determination module configured to determine the estimated pose as the pose of the robot repositioning when the matching value is greater than a preset matching threshold.
- an embodiment of the present application provides a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor, which is implemented when the processor executes the computer program
- the relocation method according to any one of the above first aspects.
- an embodiment of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, implements any one of the above-mentioned first aspect relocation method.
- an embodiment of the present application provides a computer program product that, when the computer program product runs on a robot, enables the robot to execute the relocation method described in any one of the first aspects above.
- the global navigation map and the current scan map of the target scene where the robot is located are obtained, and a local matching sub-map is generated according to the global navigation map; the local matching sub-map is obtained;
- the black boundary determine the length of the black boundary and determine the curve complexity of the black boundary, and determine the matching weight of the black boundary according to the length and curve complexity of the black boundary; image and the current scan image to determine the relocated estimated pose and the target black border, and obtain the matching value between the current scan image and the local matching subimage according to the matching weight of the target black border, and the
- the target black border is the black border matched between the local matching sub-image and the current scan image; when the matching value is greater than a preset matching threshold, the estimated pose is determined as the robot repositioning
- the matching weight of the black boundary is set to improve the matching influence of small objects or small areas, so as to effectively solve the problem of high false positive success rate in relocation and improve relocation
- FIG. 1 is a schematic flowchart of a relocation method provided by an embodiment of the present application.
- FIG. 2 is a schematic flowchart of determining an adaptive matching region provided by an embodiment of the present application
- 3 and 4 are schematic diagrams of application scenarios for determining an adaptive matching area provided by an embodiment of the present application.
- FIG. 5 is a schematic flowchart of determining the curve complexity of the black border provided by an embodiment of the present application.
- FIG. 6 is a schematic flowchart of preprocessing a global navigation map provided by an embodiment of the present application.
- FIG. 7 is a schematic structural diagram of a relocation device provided by an embodiment of the present application.
- FIG. 8 is a schematic structural diagram of a terminal device provided by an embodiment of the present application.
- the term “if” may be contextually interpreted as “when” or “once” or “in response to determining” or “in response to detecting “.
- the phrases “if it is determined” or “if the [described condition or event] is detected” may be interpreted, depending on the context, to mean “once it is determined” or “in response to the determination” or “once the [described condition or event] is detected. ]” or “in response to detection of the [described condition or event]”.
- references in this specification to "one embodiment” or “some embodiments” and the like mean that a particular feature, structure or characteristic described in connection with the embodiment is included in one or more embodiments of the present application.
- appearances of the phrases “in one embodiment,” “in some embodiments,” “in other embodiments,” “in other embodiments,” etc. in various places in this specification are not necessarily All refer to the same embodiment, but mean “one or more but not all embodiments” unless specifically emphasized otherwise.
- the terms “including”, “including”, “having” and their variants mean “including but not limited to” unless specifically emphasized otherwise.
- a template matching method or a gradient matching method is mainly used to relocate a robot.
- the cores of the template matching method and the gradient matching method both focus on the matching influence of a large area or a long boundary.
- the maps constructed by robots are often 2D grid maps, which can only describe boundary information at the same height as objects or walls, for long corridor areas or intersections with multiple walls, the boundaries described in the 2D grid map The similarity of information is high, so that the distinction between large areas or long boundaries is often not very obvious, resulting in a high success rate of false positives for robot relocation, which affects the user experience.
- the false positive success means that the pose of the robot relocated in the grid map is not the real mapping of the current position and orientation of the robot in the map, that is, the false positive success means that the robot determines a wrong pose as the robot relocation Positioning pose.
- the existing technology often introduces rich and complex visual features by adding cameras, so as to use the matching of rich and complex visual features to reduce the false positive success rate of robot relocation and improve the robustness of relocation. .
- adding cameras can solve the problem of high false positive success rate of robot relocation to a certain extent, it will bring extremely high hardware costs, and it is difficult to be widely used in practical scenarios.
- the embodiment of the present application provides a relocation method.
- the matching weight of the black boundary can be set according to the length of the black boundary and the complexity of the curve. It can effectively solve the problem of high false positive success rate in relocation, improve the robustness of relocation, and improve user experience without increasing the hardware cost.
- FIG. 1 is a schematic flowchart of a relocation method provided by an embodiment of the present application.
- the relocation method can be applied to terminal devices with positioning functions, such as robots, mobile phones, tablet computers, and wearable devices.
- the embodiments of the present application do not impose any restrictions on the specific types of terminal devices.
- the terminal devices will be used as robots.
- An example is given for illustration.
- the relocation method may include:
- the target scene refers to the scene corresponding to the current position of the robot.
- the global navigation map refers to a 2D grid map obtained by constructing a map of the environment containing the target scene through laser simultaneous localization and mapping (SLAM) technology.
- One image pixel in the global navigation map can correspond to a 5cm*5cm square area in the actual scene.
- the current scan image refers to the image generated by the robot at its current location by collecting a single frame or multiple frames of laser scan data and based on the laser scan data. Similarly, one image pixel in the current scan image also corresponds to a 5cm*5cm square area in the actual application scene.
- the black area represents the boundaries of objects or walls scanned by the laser
- the white area represents the area that the robot can pass through
- the gray area represents the area unknown to the robot.
- the length of the black border and the complexity of the curve determine to some extent the properties of the object or wall that can be easily moved or changed. Among them, the longer the black border, the smaller the curve complexity, which usually represents large objects or walls that cannot be easily moved or changed in real scenes; on the contrary, it represents small objects that can be easily moved or changed. , such as sofas, tables and chairs, etc.
- the global navigation map before generating the local matching sub-map according to the global navigation map, can be preprocessed to generate a single-pixel width black border and an optimized navigation map with no independent black pixel area, so as to avoid the black border.
- the extra black pixels affect the determination of the matching weight of the black boundary, and avoid the influence of the laser's own noise on the relocation of the robot.
- an adaptive matching area can be determined.
- local matching submaps can be generated based on the adaptive matching regions and the optimized navigation map. Specifically, a local area corresponding to the adaptive matching area in the optimized navigation map may be determined as a local matching submap.
- FIG. 2 shows a schematic flowchart of determining an adaptive matching area provided by an embodiment of the present application.
- the determining of the adaptive matching area may include:
- the relocation mode can include global relocation and local relocation.
- a positioning mode for relocation can be determined according to whether the user specifies a location during relocation. Specifically, when the user specifies a location, and the specified location is a valid location, it can be determined that the positioning mode is partial relocation. When the user does not specify a location, or the specified location is an invalid location, it can be determined that the positioning mode is global relocation.
- a valid location means that the location is located in the white area in the global navigation map, and an invalid location means that the location is located in the black area or gray area in the global navigation map.
- the user can specify a location by entering a location in the global navigation map or by clicking on a specific location.
- the global positioning position may be determined according to a visual coarse repositioning algorithm, and the visual coarse repositioning algorithm may be implemented based on a bag of words (bag of words, Bow) technology.
- bag of words bag of words, Bow
- a frame of an image at the current moment can be collected synchronously, the image of the frame can be processed using the bag-of-words model, and the key frame of the laser can be mapped to the corresponding frame.
- the pose is associated with the frame image and saved. During relocation, the image of the current position of the robot can be collected, and then the image can be similarly retrieved through the bag-of-words model.
- the pose corresponding to the target image can be retrieved.
- the displacement information in is determined as the global positioning position, otherwise it can be considered that the global positioning position does not exist.
- the target image is any frame of images in the images collected synchronously in the map construction.
- the generating the adaptive matching area according to the global positioning position and the first position may include:
- a circle can be drawn with the global positioning position L0 and the first position L1 as the center and the first preset length as the radius, respectively, to obtain The third circle and the fourth circle.
- the third circle 301 intersects or is compatible with the fourth circle 302 , the ranges covered by the two circles are merged, and the minimum circumscribed rectangle 303 of the covered range is determined as the self- Adapt to the matching area.
- the minimum circumscribed rectangle 303 of the covered range is determined as the self- Adapt to the matching area.
- a square area with the global positioning position L0 as the center point and the second preset length as the side length can be 304 is determined as an adaptive matching area.
- the description format of the adaptive matching area may be the start coordinate of the upper left corner and the area length and area width corresponding to the area.
- the compatibility in the embodiments of the present application means that the third circle is coincident with the fourth circle. Separation means that the third circle is separated from the fourth circle.
- the first preset length and the second preset length can be determined according to specific circumstances. For example, the first preset length can be determined as 100 pixels, that is, the corresponding actual distance is 5m, and the second preset length can be determined as 140 pixels, That is, the corresponding actual distance is 7m.
- a square area with the global positioning position as the center and the second preset length as the side length may be determined as the adaptive matching area, that is, (b) in FIG.
- the square area shown is determined as the adaptive matching area.
- the generating the adaptive matching area according to the global positioning position, the first position and the second position may include:
- the second position L2 specified by the user is generally a valid position.
- the global positioning position L0, the first position L1 and the second position L2 can be taken as the center of the circle, and the first preset length can be taken as the radius.
- the fifth circle 403 if the fifth circle 403 intersects or is compatible with the third circle 401 , and the fifth circle 403 intersects or is compatible with the fourth circle 402 , the three circles are merged
- the range covered by the shape is determined, and the smallest circumscribed rectangle 404 of the covered range is determined as the adaptive matching area.
- the first circle 403 can be separated from the third circle 401
- the square area 405 with the second position L2 as the center and the second preset length as the side length is determined as the adaptive matching area.
- the first preset length may be 100 pixels, and the second preset length may be 140 pixels.
- a square area with the second position as the center and the second preset length as the side length may be determined as adaptive matching area.
- a region growing algorithm of black pixels may be used to obtain the black boundary in the local matching sub-map.
- the seed points in the regional growth algorithm can be selected in the global navigation map in the order from left to right and from top to bottom, wherein the selected seed points are black pixels that are not currently divided into any black border. .
- the length of the black border can be measured by the number of black pixels contained in the black border. That is, for any black border, the number of black pixels included in the black border can be obtained, and the number of black pixels can be determined as the length of the black border. For example, when the number of black pixels included in a certain black border is 6, it can be determined that the length of the black border is 6 pixels.
- FIG. 5 shows a schematic flowchart of determining the curve complexity of the black border provided by an embodiment of the present application.
- the determining the curve complexity of the black boundary may include:
- the curve complexity of the black boundary refers to the fractal dimension of the black boundary.
- the preset reference length and preset value can be set according to specific conditions.
- the reference length r can be set to 10 pixels, and the preset value can be set to 0. That is, for each black border, when the length of the black border is less than 10 pixels, the curve complexity of the black border can be set to 0.
- S504. Determine a target black pixel point located between the center of the circle and the intersection in the black boundary, and determine the distance between the target black pixel point and a target straight line, where the target straight line is based on the center of the circle and the point of intersection. the straight line determined by the intersection;
- an endpoint of the black border can be used as the starting point , and draw a first circle with the radius as the reference length with the starting point as the center.
- the first circle can intersect the black border at another point, and the intersecting point is the distance between the first circle and the black border. intersection.
- a straight line including the starting point and the intersection point can be determined, and target black pixel points located between the starting point and the intersection point on the black boundary can be determined, and the distance between each target black pixel point and the straight line can be calculated.
- the curve complexity of the black border can be increased by one count unit, for example, by one pixel; otherwise, the curve complexity of the black border remains constant.
- the preset distance threshold may be set according to specific conditions, for example, the distance threshold may be set to 2 pixels, and for each black boundary, the initial value of the curve complexity of the black boundary may be 0. Then, take the above-mentioned intersection as the starting point, and draw a second circle with the radius as the reference length with the starting point as the center, and determine whether there is a new intersection between the second circle and the black border, and perform the above operations by analogy , until no new intersection is generated on the black boundary. At this time, the obtained curve complexity is the curve complexity of the black boundary.
- the new intersection point refers to the intersection point other than the starting point, that is, the new intersection point is a point other than the center of the circle drawn above.
- the new intersection point is a point other than the center of the circle drawn above.
- intersection B when there are intersections A and B between the second circle drawn for the first time and the black border, and the intersection A is the center of the first circle, then the second circle and the black border are The new intersection that exists between is the intersection B.
- intersection C and D between the second circle drawn for the second time and the black border, and the intersection C is the center of the second circle drawn for the first time, then the second circle at this time
- the new intersection with this black border is intersection D.
- the determining the matching weight of the black boundary according to the length of the black boundary and the curve complexity includes:
- the matching weight of the black border is calculated according to the following formula:
- Wi is the matching weight of the ith black boundary
- D i (r) is the curve complexity of the ith black boundary
- Li is the length of the ith black boundary
- r is the reference length.
- the length of the black border is long or the curve complexity is small, while for small objects, the length of the black border is small or the curve is complex. Therefore, when the matching weight of the black border is set according to the above formula, the black border of a large object or wall can have a relatively small matching weight, so that the black border of a small object or a small area has a relatively small matching weight.
- a relatively large matching weight can improve the matching influence of small objects or small areas in relocation by increasing the matching weight of small objects or small areas, so as to reduce the weight without increasing the hardware cost.
- the false positive success rate of localization improves the robustness of relocation.
- all black boundaries in the global navigation map may be acquired through a region growing algorithm, and the matching weights of all black boundaries may be determined by using the above determination method. Therefore, when the robot needs to be relocated, after the local matching subgraph is determined, the black border and black border matching in the local matching subgraph can be obtained directly according to the black border in the global navigation map and the matching weight of the black border. The weight can effectively reduce the determination process of the black border and the matching weight of the black border in the relocation, and improve the relocation efficiency.
- the matching weights may be normalized to facilitate subsequent processing.
- the ratio of the matching weight of each black border to the sum of the matching weights of all black borders may be determined as the normalized matching weight of each black border.
- the local matching subgraph includes black border A, black border B, black border C, and black border D, and the matching weight of black border A is W A , the matching weight of black border B is W B , and the matching weight of black border C is W B .
- the normalized matching weight of the black border A can be W A /(W A +W B +W C +W D ), and the black border B is normalized
- the normalized matching weight can be W B /(W A +W B +W C +W D ), and the normalized matching weight of the black border C can be W C /(W A +W B +W C +W D ), the normalized matching weight of the black border D can be W D /(W A +W B +W C +W D ).
- S103 Determine the relocated estimated pose and the target black border according to the local matching sub-image and the current scan image, and obtain the current scan image and the local matching sub-image according to the matching weight of the target black border
- the matching value between, the target black border is the black border that matches between the local matching sub-image and the current scan image
- the template matching method or the gradient matching method can be used to obtain the target black boundary matching between the local matching sub-image and the current scan image, and determine the estimated pose of the relocation.
- the black border in the local matching subgraph is the target black border.
- the matching weights of each target black border may be added to serve as the matching value S0 between the current scanning image and the local matching sub-image.
- whether the black borders closely fit or overlap can be determined according to the similarity between the black borders, and the method for determining the similarity can be any method in the prior art, which is not specifically limited in this embodiment of the present application.
- the preset matching threshold may be set according to specific conditions, for example, the preset matching threshold may be set to any value between 0.85 and 0.95. Therefore, when the matching value S0 between the current scan image and the local matching sub-image is greater than the matching threshold, it indicates that the relocation is successful this time, and the estimated pose is determined as the relocated pose. Otherwise, it can be considered that the relocation failed, and the failure feedback information is output, and it is recommended to select another location for relocation.
- FIG. 6 shows a schematic flowchart of preprocessing the global navigation map.
- preprocessing the global navigation map can include:
- the pixel value range of each pixel point in the global navigation map is generally [0, 255].
- the global navigation map can be subjected to ternary processing, and the pixel value of each pixel point is only set to 0. , 205 and 255, which represent black, gray and white, respectively, so as to obtain a three-valued map.
- the global navigation map may be ternary processed according to the following formula:
- I 0 (x, y) and I 1 (x, y) are the pixel values of any pixel in the global navigation map and the three-valued map, respectively, and minPixel and maxPixel are both preset pixel thresholds , and its specific value can be set according to specific conditions.
- minPixel is preferably set to 50, and maxPixel is set to 240.
- the pixel value of a certain pixel in the global navigation map is less than minPixel, the pixel value of the pixel at the same position as the pixel in the three-valued map is 0.
- the pixel value of a certain pixel is greater than or equal to minPixel and less than maxPixel, then the pixel value of the pixel at the same position as the pixel in the three-value map is 205.
- the pixel value of a pixel is greater than or equal to maxPixel, the pixel value of the pixel at the same position as the pixel in the three-valued map is 255.
- Binarization processing is performed on the three-valued map, that is, the pixel values of each pixel point are only set to two types of 0 and 255, which represent black and white respectively, thereby obtaining a binary map.
- the three-valued map needs to be traversed pixel by pixel during binarization. If its pixel value is 205 or 255, that is, gray or white, the pixel value of the corresponding position of the binary map is set to 255, that is, white. ; If its pixel value is black 0, it needs to be centered at its position and within a 3 ⁇ 3 grid range to determine whether there is a valid structure in which black pixels are connected or gray and black are connected. , the pixel value of the corresponding position of the binary map needs to keep black 0, otherwise, it is likely to be an isolated sensor noise and needs to be filtered out, so the pixel value of the corresponding position of the binary map is set to white 255.
- a region growing algorithm can be used to extract and save all black boundaries in the binary map, and the region growing algorithm can be implemented based on either breadth-first traversal or depth-first traversal.
- the boundary filling is performed on the ternary map and the binary map to obtain the ternary filled map and the binary filling map.
- the specific process of border filling may include:
- Step a Find white pixels in the eight neighborhoods of the three-valued target pixel.
- the three-valued target pixel is a pixel at the same position as the binary target pixel in the three-valued map, and the binary target pixel is any pixel in the black border of the binary map.
- step b is performed, and if no white pixel is found, no processing is required.
- Step b sequentially record each pixel point scanned on the ghost detection line until a gray pixel point is scanned.
- the ghost detection line is a ray pointing to the three-value target pixel point from the found white pixel point.
- a threshold value of the maximum number of scannable connected pixels in the direction of the ghost detection line can be preset, and the threshold value is recorded as maxDetectedPixel, and its specific value can be set according to the specific situation, In this embodiment of the present application, it is preferably set to 5. Generally, in engineering practice, one pixel in a rasterized map represents 5 cm. If the threshold is set to 5, since the valid ghost detection line that can be filled must be cut off by two connected pixels of black and gray, the maximum fillable continuous A ghost area of 3 white pixels width, i.e. processing ghosts separated by a distance of no more than 15 cm.
- step c If the number of recorded pixels is less than the preset threshold (ie maxDetectedPixel) and the last recorded pixel is a black pixel, step c is performed; otherwise, no processing is required.
- the preset threshold ie maxDetectedPixel
- Step c filling the pixels to be filled in the binary map and the ternary map.
- the white pixels in the recorded pixels may be determined as the pixels to be filled in the ternary map, and the pixels to be filled in the binary map are the same as the pixels to be filled in the ternary map.
- the pixel point of the position is determined as the pixel point to be filled in the binary map, and finally, the pixel point to be filled in the binary map and the pixel point to be filled in the ternary map are set as black pixels.
- the map needs to be refined here, that is, all the coarse boundaries of the multi-pixel aggregation in the map are refined to a width of one pixel.
- a binary image edge thinning algorithm may be used to refine the boundary of the binary filled map to obtain a binary thinned map.
- the binary image edge thinning algorithms include but are not limited to Hilditch, Pavlidis, Rosenfeld thinning algorithms, and index table thinning algorithms.
- the pixels in the three-value filled map at the same position as the black pixels in the binary refined map can be set as black pixels, and then determine the to-be-refined pixels in the three-value filled map.
- a pixel point, the pixel point to be refined is a black pixel point at the same position as the white pixel point in the binary refined map.
- the pixel to be refined is set as a white pixel; if the eight neighbors of the pixel to be refined are If the number of white pixels in the domain is not greater than the number of gray pixels, the pixels to be refined are set as gray pixels. After the above processing, the three-valued refined map can be obtained.
- the three-valued refined map can be directly used as the final result, but considering that the three-valued refined map has solved the problems of boundary fitting and boundary ghosting However, at the same time, it may aggravate the problem that the black boundary extends to the gray area and some black object boundaries remain outside the black wall boundary. Therefore, in another specific implementation of this embodiment, after obtaining the three-valued refined map, It is also possible to extract the black boundary of the binary refined map (similar to the boundary extraction process in S603, for details, please refer to the foregoing content, which will not be repeated here), and use the black boundaries of the binary refined map respectively. Each of the black pixels of , is centered, and the three-value refined map and the two-value refined map are optimized to obtain a three-value optimized map and a two-value optimized map.
- the specific process of the optimization process may include:
- the three-value refinement target pixel point is a pixel point in the three-value refinement map at the same position as the binary refinement target pixel point, and the two-value refinement target pixel point is the two-value refinement map. Any pixel in the black border of .
- the filtering method is as follows: setting the three-value refinement target pixel point as a gray pixel point, and setting the binary refinement target pixel point as a white pixel point.
- each scan line is blocked by black pixels within a preset distance, and the scan lines are the eight neighbors of the target pixel by the three-value refinement
- the rays of the three-valued refinement target pixel point are all one scan line.
- the preset distance is recorded as maxScannedPixel, and its specific value can be set according to the actual situation.
- the value is based on the ratio of the actual diameter of the robot to the actual distance that can be represented by a single pixel in the grid map. If the actual diameter of the robot is 50 centimeters, and one pixel of the grid map represents a distance of 5 centimeters, you can set maxScannedPixel to 10, that is, the maximum scanning storage is 10 pixels, to determine whether it is blocked by the black wall boundary. If all the scanning attempts in the gray-black straight line direction of the three-valued thinning target pixel point are blocked by the black boundary, it means that the three-valued thinning target pixel point is likely to come from the remaining object boundary outside the black wall boundary.
- the filtering method is: refine the target pixel points and The white pixels on each of the scan lines are set as gray pixels, and the binary refinement target pixels are set as white pixels. If at least one scan line is not blocked by black pixels within the preset distance, no processing is required.
- the global navigation map and the current scan map of the target scene where the robot is located are obtained, and a local matching sub-map is generated according to the global navigation map; the local matching sub-map is obtained;
- the black boundary determine the length of the black boundary and determine the curve complexity of the black boundary, and determine the matching weight of the black boundary according to the length and curve complexity of the black boundary; image and the current scan image to determine the relocated estimated pose and the target black border, and obtain the matching value between the current scan image and the local matching subimage according to the matching weight of the target black border, and the
- the target black border is the black border matched between the local matching sub-image and the current scan image; when the matching value is greater than a preset matching threshold, the estimated pose is determined as the robot repositioning
- the matching weight of the black boundary is set to improve the matching influence of small objects or small areas, so as to effectively solve the problem of high false positive success rate in relocation and improve relocation
- FIG. 7 shows a structural block diagram of the relocation apparatus provided by the embodiment of the present application. For convenience of description, only the part related to the embodiment of the present application is shown.
- the relocation device may include:
- the matching sub-map generation module 701 is used to obtain the global navigation map and the current scanning map of the target scene where the robot is located, and generate a local matching sub-map according to the global navigation map;
- the matching weight determination module 702 is configured to obtain the black boundary in the local matching subgraph, determine the length of the black boundary and determine the curve complexity of the black boundary, and determine the length of the black boundary and the curve complexity according to the length of the black boundary and the curve complexity. determining the matching weight of the black border;
- the matching value determination module 703 is used to determine the estimated pose and target black boundary of relocation according to the local matching sub-map and the current scan map, and obtain the current scan map and the target black boundary according to the matching weight of the target black boundary.
- the matching value between the local matching sub-images, and the target black border is the matching black border between the local matching sub-image and the current scan image;
- the pose determination module 704 is configured to determine the estimated pose as the pose of the robot to relocate when the matching value is greater than a preset matching threshold.
- the matching weight determination module 702 may include:
- a border length determination unit configured to acquire the number of black pixels included in the black border, and determine the number of black pixels as the length of the black border.
- the matching weight determination module 702 may include:
- a first complexity determination unit configured to determine the curve complexity of the black boundary as a preset value when the length of the black boundary is less than a preset reference length
- a first circle drawing unit configured to draw a first circle with an endpoint of the black border as a center and the reference length as a radius when the length of the black border is greater than or equal to the reference length, and Obtain the intersection of the first circle and the black border;
- a pixel point distance determination unit used to determine the target black pixel point located between the center of the circle and the intersection point in the black boundary, and determine the distance between the target black pixel point and the target straight line, the target straight line is a straight line determined according to the center of the circle and the intersection;
- a complexity increasing unit configured to increase the curve complexity of the black border by one counting unit when there is a distance greater than a preset distance threshold in the distance
- a second circle drawing unit configured to draw a second circle with the intersection as the center and the reference length as the radius
- a second complexity determination unit configured to return to executing the determining that the black boundary is located between the center of the circle and the intersection when there is a new intersection between the second circle and the black boundary. The step of determining the distance between the target black pixel and the target line and the subsequent steps, until there is no new intersection between the second circle and the black border, the obtained target black pixel is obtained. Describe the curve complexity of the black boundary.
- the matching weight determination module 702 may further include:
- the matching weight determination unit is used to calculate the matching weight of the black border according to the following formula:
- Wi is the matching weight of the ith black boundary
- Di(r) is the curve complexity of the ith black boundary
- Li is the length of the ith black boundary
- r is the reference length.
- the matching subgraph generating module 701 may include:
- a matching area determination unit for determining an adaptive matching area
- a preprocessing unit for preprocessing the global navigation map to obtain an optimized navigation map
- a matching sub-map generating unit configured to generate the local matching sub-map according to the adaptive matching area and the optimized navigation map.
- the matching area determination unit may include:
- the positioning mode determination subunit is used to obtain the positioning mode of the relocation
- the first matching area determination subunit is used to obtain the global positioning position of the robot and the first position of the robot before the navigation failure when the positioning mode is global repositioning, and according to the global positioning position and the first position generates the adaptive matching region;
- the second matching area determination subunit is configured to acquire the global positioning position of the robot, the first position of the robot before the navigation failure, and the second position specified by the user when the positioning mode is local repositioning, and
- the adaptive matching region is generated according to the global positioning position, the first position and the second position.
- the first matching area determination subunit may include:
- the third circle drawing sub-unit is used to draw a third circle with the global positioning position as the center and the first preset length as the radius, and with the first position as the center and the first preset Draw a fourth circle with the length as the radius;
- the first matching area determination sub-unit is used for determining the smallest circumscribed rectangle including the third circle and the fourth circle when the third circle intersects or is compatible with the fourth circle is the adaptive matching region;
- the second matching area is determined as a sub-unit, which is used to take the global positioning position as the center point and use the A rectangular area whose second preset length is the side length is determined as the adaptive matching area.
- FIG. 8 is a schematic structural diagram of a robot according to an embodiment of the present application.
- the robot 8 of this embodiment includes: at least one processor 80 (only one is shown in FIG. 8 ), a memory 81 , and a memory 81 stored in the memory 81 and available on the at least one processor 80
- the running computer program 82 when the processor 80 executes the computer program 82, implements the steps in any of the foregoing relocation method embodiments.
- the robot may include, but is not limited to, a processor 80 and a memory 81 .
- FIG. 8 is only an example of the robot 8, and does not constitute a limitation to the robot 8. It may include more or less components than the one shown in the figure, or combine some components, or different components, such as It can also include input and output devices, network access devices, and the like.
- the processor 80 may be a central processing unit (central processing unit, CPU), and the processor 80 may also be other general-purpose processors, digital signal processors (digital signal processors, DSP), application specific integrated circuits (application specific integrated circuits) , ASIC), field programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
- the memory 81 may be an internal storage unit of the robot 8 in some embodiments, such as a hard disk or a memory of the robot 8 . In other embodiments, the memory 81 may also be an external storage device of the robot 8, such as a plug-in hard disk, a smart media card (SMC), a secure digital (secure digital) device equipped on the robot 8. digital, SD) card, flash card (Flash Card), etc. Further, the memory 81 may also include both an internal storage unit of the robot 8 and an external storage device. The memory 81 is used to store an operating system, an application program, a boot loader (Boot Loader), data, and other programs, such as program codes of the computer program. The memory 81 can also be used to temporarily store data that has been output or will be output.
- a boot loader Boot Loader
- Embodiments of the present application further provide a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the steps in the foregoing method embodiments can be implemented.
- the embodiments of the present application provide a computer program product, when the computer program product runs on a robot, the steps in the foregoing method embodiments can be realized when the robot executes.
- the integrated unit if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium.
- the present application realizes all or part of the processes in the methods of the above embodiments, which can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium.
- the computer program includes computer program code
- the computer program code may be in the form of source code, object code, executable file or some intermediate form, and the like.
- the computer readable medium may include at least: any entity or device capable of carrying computer program code to the device/robot, recording medium, computer memory, read-only memory (ROM), random access memory (random access memory) access memory, RAM), electrical carrier signals, telecommunication signals, and software distribution media.
- ROM read-only memory
- RAM random access memory
- electrical carrier signals telecommunication signals
- software distribution media For example, U disk, mobile hard disk, disk or CD, etc.
- computer readable media may not be electrical carrier signals and telecommunications signals.
- the disclosed apparatus/robot and method may be implemented in other ways.
- the device/robot embodiments described above are only illustrative.
- the division of the modules or units is only a logical function division.
- the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种重定位方法、机器人及计算机可读存储介质,涉及机器人技术领域。所述方法包括:获取机器人所在的目标场景的全局导航地图和当前扫描图,并根据全局导航地图生成局部匹配子图(101);获取局部匹配子图的黑色边界,确定黑色边界的长度以及确定黑色边界的曲线复杂度,并根据黑色边界的长度和曲线复杂度确定黑色边界的匹配权重(102);根据局部匹配子图和当前扫描图确定重定位的估计位姿和目标黑色边界,并根据目标黑色边界的匹配权重获取当前扫描图与局部匹配子图之间的匹配值(103);当匹配值大于预设的匹配阈值时,将估计位姿确定为机器人重定位的位姿(104),以提高小件物体或者细小区域的匹配影响,降低重定位中的误报成功率。
Description
本申请要求于2020年11月11日在中国专利局提交的、申请号为202011257420.X的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请属于机器人技术领域,尤其涉及一种重定位方法、机器人及计算机可读存储介质。
机器人在使用过程中,由于各种原因(如异常掉电等)容易导致机器人的定位失效,因此需要对机器人进行重定位。现有技术中,主要通过模板匹配方法或者梯度匹配方法来进行机器人的重定位,模板匹配方法和梯度匹配方法的核心都侧重于大块区域或者长边界的匹配影响。但因机器人所构建的地图往往为2D格栅地图,其仅能描述物体或者墙壁等同等高度上的边界信息,因此对于长走廊区域或者多墙壁的路口位置,2D格栅地图中所描述的边界信息的相似性较高,使得大块区域或者长边界之间的区分度往往不是很明显,从而造成机器人重定位的误报成功率较高,影响用户体验。
本申请实施例提供了一种重定位方法、机器人及计算机可读存储介质,可以有效解决机器人重定位的误报成功率较高的问题,提高用户体验。
第一方面,本申请实施例提供了一种重定位方法,可以包括:
获取机器人所在的目标场景的全局导航地图和当前扫描图,并根据所述全局导航地图生成局部匹配子图;
获取所述局部匹配子图中的黑色边界,确定所述黑色边界的长度以及确定所述黑色边界的曲线复杂度,并根据所述黑色边界的长度和曲线复杂度确定所述黑色边界的匹配权重;
根据所述局部匹配子图和所述当前扫描图确定重定位的估计位姿和目标黑色边界,并根据所述目标黑色边界的匹配权重获取所述当前扫描图与所述局部匹配子图之间的匹配值,所述目标黑色边界为所述局部匹配子图与所述当前扫描图之间相匹配的黑色边界;
当所述匹配值大于预设的匹配阈值时,将所述估计位姿确定为所述机器人重定位的位姿。
可选的,所述确定所述黑色边界的长度,可以包括:
获取所述黑色边界所包含的黑色像素点的数量,并将所述黑色像素点的数量确定为所述黑色边界的长度。
在第一方面的一种可能的实现方式中,所述确定所述黑色边界的曲线复杂度,可以包括:
当所述黑色边界的长度小于预设的基准长度时,将所述黑色边界的曲线复杂度确定为预设值;
当所述黑色边界的长度大于或等于所述基准长度时,以所述黑色边界的一个端点为圆心、以所述基准长度为半径绘制第一圆形,并获取所述第一圆形与所述黑色边界的交点;
确定所述黑色边界中位于所述圆心与所述交点之间的目标黑色像素点,并确定所述目标黑色像素点与目标直线之间的距离,所述目标直线为根据所述圆心和所述交点确定的直线;
当所述距离中存在大于预设距离阈值的距离时,将所述黑色边界的曲线复杂度增加一个计数单位;
以所述交点为圆心、以所述基准长度为半径绘制第二圆形;
当所述第二圆形与所述黑色边界之间存在新的交点时,则返回执行所述确定所述黑色边界中位于所述圆心与所述交点之间的目标黑色像素点,并确定所述目标黑色像素点与目标直线之间的距离的步骤以及后续步骤,直至所述第二圆形与所述黑色边界之间不存在新的交点,得到所述黑色边界的曲线复杂度。
可选的,所述根据所述黑色边界的长度和曲线复杂度确定所述黑色边界的匹配权重,可以包括:
根据下述公式计算得到所述黑色边界的匹配权重:
其中,Wi为第i条黑色边界的匹配权重,Di(r)为第i条黑色边界的曲线复杂度,Li为第i条黑色边界的长度,r为基准长度。
示例性的,所述根据所述全局导航地图生成局部匹配子图,可以包括:
确定自适应匹配区域;
对所述全局导航地图进行预处理,得到优化导航地图;
根据所述自适应匹配区域和所述优化导航地图生成所述局部匹配子图。
在第一方面的一种可能的实现方式中,所述确定自适应匹配区域,可以包括:
获取重定位的定位模式;
当所述定位模式为全局重定位时,获取所述机器人的全局定位位置以及导航失效前所述机器人所在的第一位置,并根据所述全局定位位置和所述第一位置生成所述自适应匹配区域;
当所述定位模式为局部重定位时,获取所述机器人的全局定位位置、导航失效前所述机器人所在的第一位置以及用户指定的第二位置,并根据所述全局定位位置、所述第一位置以及所述第二位置生成所述自适应匹配区域。
可选的,所述根据所述全局定位位置和所述第一位置生成所述自适应匹配区域,可以包括:
以所述全局定位位置为圆心、以第一预设长度为半径绘制第三圆形,并以所述第一位置为圆心、以所述第一预设长度为半径绘制第四圆形;
当所述第三圆形与所述第四圆形相交或者相容时,将包含所述第三圆形与所述第四圆形的最小外接矩形确定为所述自适应匹配区域;
当所述第三圆形与所述第四圆形相离,或者所述第四圆形不存在时,将以所述全局定位位置为中心点、以第二预设长度为边长的矩形区域确定为所述自适应匹配区域。
第二方面,本申请实施例提供了一种重定位装置,可以包括:
匹配子图生成模块,用于获取机器人所在的目标场景的全局导航地图和当前扫描图,并根据所述全局导航地图生成局部匹配子图;
匹配权重确定模块,用于获取所述局部匹配子图中的黑色边界,确定所述黑色边界的长度以及确定所述黑色边界的曲线复杂度,并根据所述黑色边界的长度和曲线复杂度确定所述黑色边界的匹配权重;
匹配值确定模块,用于根据所述局部匹配子图和所述当前扫描图确定重定位的估计位姿和目标黑色边界,并根据所述目标黑色边界的匹配权重获取所述当前扫描图与所述局部匹配子图之间的匹配值,所述目标黑色边界为所述局部匹配子图与所述当前扫描图之间相匹配的黑色边界;
位姿确定模块,用于当所述匹配值大于预设的匹配阈值时,将所述估计位姿确定为所述机器人重定位的位姿。
第三方面,本申请实施例提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的重定位方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的重定位方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述第一方面中任一项所述的重定位方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:
本申请实施例中,在需要进行机器人的重定位时,获取机器人所在的目标场景的全局导航地图和当前扫描图,并根据所述全局导航地图生成局部匹配子图;获取所述局部匹配子图中的黑色边界,确定所述黑色边界的长度以及确定所述黑色边界的曲线复杂度,并根据所述黑色边界的长度和曲线复杂度确定所述黑色边界的匹配权重;根据所述局部匹配子图和所述当前扫描图确定重定位的估计位姿和目标黑色边界,并根据所述目标黑色边界的匹配权重获取所述当前扫描图与所述局部匹配子图之间的匹配值,所述目标黑色边界为所述局部匹配子图与所述当前扫描图之间相匹配的黑色边界;当所述匹配值大于预设的匹配阈值时,将所述估计位姿确定为所述机器人重定位的位姿,以根据黑色边界的长度和曲线复杂度来设定黑色边界的匹配权重,提高小件物体或者细小区域的匹配影响,从而有效解决重定位中高误报成功率的问题,提高重定位的鲁棒性,提升用户体验。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的重定位方法的流程示意图;
图2是本申请一实施例提供的确定自适应匹配区域的流程示意图;
图3和图4是本申请实施例提供的确定自适应匹配区域的应用场景示意图;
图5是本申请一实施例提供的确定黑色边界的曲线复杂度的流程示意图;
图6是本申请一实施例提供的对全局导航地图进行预处理的流程示意图;
图7是本申请一实施例提供的重定位装置的结构示意图;
图8是本申请一实施例提供的终端设备的结构示意图。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
机器人在使用过程中,由于各种原因(如异常掉电等)容易导致机器人的定位失效,因此需要对机器人进行重定位。现有技术中,主要通过模板匹配方法或者梯度匹配方法来进行机器人的重定位,模板匹配方法和梯度匹配方法的核心都侧重于大块区域或者长边界的匹配影响。但因机器人所构建的地图往往为2D格栅地图,其仅能描述物体或者墙壁等同等高度上的边界信息,因此对于长走廊区域或者多墙壁的路口位置,2D格栅地图中所描述的边界信息的相似性较高,使得大块区域或者长边界之间的区分度往往不是很明显,从而造成机器人重定位的误报成功率较高,影响用户体验。
其中,误报成功是指机器人在栅格地图中重定位的位姿不是当前机器人所处位置和朝向在地图中的真实映射,即误报成功是指机器人将一个错误的位姿确定为了机器人重定位的位姿。
为解决上述技术问题,现有技术往往通过增加相机来引入丰富、复杂的视觉特征,从而利用丰富、复杂的视觉特征的匹配来降低机器人重定位的误报成功率,提高重定位的鲁棒性。虽然通过增加相机可以在一定程度上解决机器人重定位的误报成功率较高的问题,但却会带来极高的硬件成本,难以在实际场景中广泛使用。
为解决上述技术问题,本申请实施例提供了一种重定位方法,该方法在需要进行机器人的重定位时,可以根据黑色边界的长度和曲线复杂度来设定黑色边界的匹配权重,提高小件物体或者细小区域在重定位中的匹配影响,从而可以在不增加硬件成本的基础上,有效解决重定位中高误报成功率的问题,提高重定位的鲁棒性,提升用户体验。
请参阅图1,图1是本申请实施例提供的重定位方法的流程示意图。其中,所述重定位方法可以应用于机器人、手机、平板电脑、可穿戴设备等具有定位功能的终端设备上,本申请实施例对终端设备的具体类型不作任何限制,以下将以终端设备为机器人为例进行示例性说明。如图1所示,所述重定位方法可以包括:
S101、获取机器人所在的目标场景的全局导航地图和当前扫描图,并根据所述全局导航地图生成局部匹配子图;
其中,目标场景是指机器人当前所在位置对应的场景。全局导航地图是指通过激光同步定位与建图(simultaneous localization and mapping,SLAM)技术对包含目标场景的环境进行地图构建所得到的2D格栅地图。全局导航地图中的一个图像像素可以对应实际场景中的一个5cm*5cm的正方形区域。当前扫描图是指机器人在其当前所在位置处,采集单帧或者多帧的激光扫描数据,并根据激光扫描数据生成的图像。类似的,当前扫描图中的一个图像像素也对应实际应用场景中的一个5cm*5cm的正方形区域。
在全局导航地图和当前扫描图中,黑色区域表示激光扫描到的物体或者墙壁等的边界,白色区域表示机器人可通行的区域,而灰色区域表示机器人未知的区域。黑色边界的长短和曲线复杂度一定程度上决定了物体或者墙壁的可被轻易移动或者改变的属性。其中,黑色边界越长、曲线复杂度越小,在真实场景中通常代表的是不会被轻易移动或者改变的大件物体或者墙壁等;反之,则代表能被轻易移动或者改变的小件物体,例如沙发、桌椅等。
可选地,在根据全局导航地图生成局部匹配子图之前,可以先对全局导航地图进行预处理,生成单像素宽度的黑色边界和无独立黑色像素点区域的优化导航地图,以避免黑色 边界中多余的黑色像素点影响黑色边界的匹配权重的确定,并避免激光自身噪点对机器人重定位的影响。同时,可以确定自适应匹配区域。然后,可以根据自适应匹配区域和优化导航地图生成局部匹配子图。具体地,可以将优化导航地图中与自适应匹配区域相对应的局部区域确定为局部匹配子图。
其中,对全局导航地图进行预处理的内容将在后续进行详细描述。下面先介绍自适应匹配区域的确定过程。请参阅图2,图2示出了本申请实施例提供的确定自适应匹配区域的流程示意图。如图2所示,所述确定自适应匹配区域可以包括:
S201、获取重定位的定位模式;
重定位的定位模式可以包括全局重定位和局部重定位。本申请实施例可以根据重定位时,用户是否指定位置来确定重定位的定位模式。具体地,当用户指定位置,且所指定的位置为有效位置时,则可以确定定位模式为局部重定位。当用户未指定位置,或者所指定的位置为无效位置时,则可以确定定位模式为全局重定位。有效位置是指该位置位于全局导航地图中的白色区域,无效位置是指该位置位于全局导航地图中的黑色区域或者灰色区域。用户可以通过在全局导航地图中进行位置输入或者点击特定位置来进行位置指定。
S202、当所述定位模式为全局重定位时,获取所述机器人的全局定位位置以及导航失效前所述机器人所在的第一位置,并根据所述全局定位位置和所述第一位置生成所述自适应匹配区域;
本申请实施例中,全局定位位置可以根据视觉粗重定位算法来确定,该视觉粗重定位算法可以基于词袋模型(bag of words,Bow)技术来实现。示例性的,在通过激光SLAM技术进行地图构建中,每生成一帧激光关键帧时,可以同步采集一帧当前时刻的图像,利用词袋模型对该帧图像处理,并将该激光关键帧对应的位姿与该帧图像进行关联保存。在进行重定位时,可以采集机器人当前所在位置的图像,然后可以通过词袋模型对该图像进行相似检索,如果检索到与该图像对应的目标图像,则可以将该目标图像所对应的位姿中的位移信息确定为全局定位位置,否则可以认为全局定位位置不存在。其中,目标图像为地图构建中同步采集的图像中的任一帧图像。
具体地,所述根据所述全局定位位置和所述第一位置生成所述自适应匹配区域,可以包括:
S2021、以所述全局定位位置为圆心、以第一预设长度为半径绘制第三圆形,并以所述第一位置为圆心、以所述第一预设长度为半径绘制第四圆形;
S2022、当所述第三圆形与所述第四圆形相交或者相容时,将包含所述第三圆形与所述第四圆形的最小外接矩形确定为所述自适应匹配区域;
S2023、当所述第三圆形与所述第四圆形相离,或者所述第四圆形不存在时,将以所述全局定位位置为中心点、以第二预设长度为边长的矩形区域确定为所述自适应匹配区域。
对于上述S2021至S2023,当全局定位位置和第一位置存在且均为有效位置时,则可以分别以全局定位位置L0和第一位置L1为圆心、以第一预设长度为半径画圆,得到第三圆形和第四圆形。如图3中的(a)所示,若第三圆形301与第四圆形302相交或者相容,则合并两圆所覆盖的范围,并将所覆盖范围的最小外接矩形303确定为自适应匹配区域。如图3中的(b)所示,若第三圆形301与第四圆形302相离,则可以将以全局定位位置L0为中心点、以第二预设长度为边长的正方形区域304确定为自适应匹配区域。自适应匹配区域的描述格式可以为左上角的起始坐标以及该区域所对应的区域长度和区域宽度。
应理解,本申请实施例中的相容是指第三圆形与第四圆形重合。相离是指第三圆形与第四圆形外离。第一预设长度和第二预设长度可以根据具体情况确定,例如,可以将第一预设长度确定为100像素,即对应的实际距离为5m,将第二预设长度确定为140像素,即对应的实际距离为7m。
当第一位置不存在或者为无效位置时,可以将以全局定位位置为中心、以第二预设长度为边长的正方形区域确定为自适应匹配区域,即可以将图3中的(b)所示的正方形区域 确定为自适应匹配区域。当全局定位位置不存在或者为无效位置时,则可以直接返回重定位失败,并退出全局重定位的定位模式。
S203、当所述定位模式为局部重定位时,获取所述机器人的全局定位位置、导航失效前所述机器人所在的第一位置以及用户指定的第二位置,并根据所述全局定位位置、所述第一位置以及所述第二位置生成所述自适应匹配区域。
具体地,所述根据所述全局定位位置、所述第一位置以及所述第二位置生成所述自适应匹配区域可以包括:
S2031、以所述全局定位位置为圆心、以所述第一预设长度为半径绘制第三圆形,以所述第一位置为圆心、以所述第一预设长度为半径绘制第四圆形,并以所述第二位置为圆心、以所述第一预设长度为半径绘制第五圆形;
S2032、当所述第五圆形与所述第三圆形相交或者相容,且所述第五圆形与所述第四圆形相交或者相容时,将包含所述第三圆形、所述第四圆形以及所述第五圆形的最小外接矩形确定为所述自适应匹配区域;
S2033、当所述第五圆形与所述第三圆形相离,或者所述第五圆形与所述第四圆形相离时,将以所述第二位置为中心点、以所述第二预设长度为边长的矩形区域确定为所述自适应匹配区域。
对于上述S2031至S2033,在局部重定位中,用户指定的第二位置L2一般为有效位置。此时,当全局定位位置L0和第一位置L1存在且均为有效位置时,则可以分别以全局定位位置L0、第一位置L1和第二位置L2为圆心、以第一预设长度为半径画圆,得到第三圆形401、第四圆形402和第五圆形403。如图4中的(a)所示,若第五圆形403与第三圆形401相交或者相容,且第五圆形403与第四圆形402相交或者相容,则合并三个圆形所覆盖的范围,并将所覆盖范围的最小外接矩形404确定为自适应匹配区域。如图4中的(b)和(c)所示,若第五圆形403与第四圆形402相离,或者第五圆形403与第三圆形401相离,则可以将以第二位置L2为中心、以第二预设长度为边长的正方形区域405确定为自适应匹配区域。同样地,第一预设长度可以为100像素,第二预设长度可以为140像素。
当全局定位位置不存在或者为无效位置,或者当第一位置不存在或者为无效位置时,可以将以第二位置为中心、以第二预设长度为边长的正方形区域确定为自适应匹配区域。
S102、获取所述局部匹配子图中的黑色边界,确定所述黑色边界的长度以及确定所述黑色边界的曲线复杂度,并根据所述黑色边界的长度和曲线复杂度确定所述黑色边界的匹配权重;
本申请实施例中,在生成局部匹配子图后,可以利用黑色像素的区域生长算法来获取局部匹配子图中的黑色边界。区域生长算法中的种子点可以按照从左向右、从上向下的顺序在全局导航地图中进行选取,其中,所选取的种子点为选取当前未被划分至任一黑色边界的黑色像素点。
示例性的,黑色边界的长度可以使用黑色边界所包含的黑色像素点的数量来衡量。即对于任一条黑色边界,可以获取该黑色边界所包含的黑色像素点的数量,并可以将黑色像素点的数量确定为该黑色边界的长度。例如,当某一黑色边界所包含的黑色像素点的数量为6个时,则可以确定该黑色边界的长度为6个像素。
在确定黑色边界的长度后,则可以根据黑色边界的长度来确定黑色边界的曲线复杂度。请参阅图5,图5示出了本申请实施例提供的确定黑色边界的曲线复杂度的流程示意图。如图5所示,所述确定所述黑色边界的曲线复杂度可以包括:
S501、获取所述黑色边界的长度;
S502、当所述黑色边界的长度小于预设的基准长度时,将所述黑色边界的曲线复杂度确定为预设值;
其中,黑色边界的曲线复杂度是指黑色边界的分形维数。预设的基准长度和预设值可以根据具体情况设置。例如,可以将基准长度r设置为10个像素,可以将预设值设置为0。 即对于每一条黑色边界,当该黑色边界的长度小于10个像素时,则可以将该黑色边界的曲线复杂度设置为0。
S503、当所述黑色边界的长度大于或等于所述基准长度时,以所述黑色边界的一个端点为圆心、以所述基准长度为半径绘制第一圆形,并获取所述第一圆形与所述黑色边界的交点;
S504、确定所述黑色边界中位于所述圆心与所述交点之间的目标黑色像素点,并确定所述目标黑色像素点与目标直线之间的距离,所述目标直线为根据所述圆心和所述交点确定的直线;
S505、当所述距离中存在大于预设的距离阈值的距离时,将所述黑色边界的曲线复杂度增加一个计数单位;
S506、以所述交点为圆心、以所述基准长度为半径绘制第二圆形;
S507、当所述第二圆形与所述黑色边界之间存在新的交点时,则返回执行所述确定所述黑色边界中位于所述圆心与所述交点之间的目标黑色像素点,并确定所述目标黑色像素点与目标直线之间的距离的步骤以及后续步骤,直至所述第二圆形与所述黑色边界之间不存在新的交点,得到所述黑色边界的曲线复杂度。
对于上述S503至S507,对于每一条黑色边界,当该黑色边界的长度大于或者等于基准长度r时,即当黑色边界的长度大于或者等于10个像素时,可以将该黑色边界的一端点作为起点,并以该起点为圆心画一个半径为基准长度的第一圆形,第一圆形可以与该黑色边界相交于另一点,所相交的点即为第一圆形与该黑色边界之间的交点。然后,可以确定包含该起点与该交点的直线,并确定该黑色边界上位于该起点与该交点之间的目标黑色像素点,并计算各目标黑色像素点与该直线之间的距离。若存在至少一个目标像素点与该直线之间的距离大于预设的距离阈值,则可以将该黑色边界的曲线复杂度增加一个计数单位,例如增加一个像素;否则该黑色边界的曲线复杂度保持不变。其中,预设的距离阈值可以根据具体情况设置,例如可以将距离阈值设置为2个像素,对于每一条黑色边界,该黑色边界的曲线复杂度的初始值可以为0。然后,再以上述交点为起点,并以该起点为圆心画一个半径为基准长度的第二圆形,并确定第二圆形与该黑色边界之间是否存在新的交点,依次类推执行上述操作,直至该黑色边界上无新的交点生成,此时,所得到的曲线复杂度即为该黑色边界的曲线复杂度。
其中,新的交点是指除已作为起点以外的交点,即新的交点为除前述所绘制的圆形的圆心以外的点。例如,当第一次绘制的第二圆形与该黑色边界之间存在交点A和交点B,而交点A为第一圆形的圆心时,则此时的第二圆形与该黑色边界之间存在的新的交点为交点B。例如,当第二次绘制的第二圆形与该黑色边界之间存在交点C和交点D,而交点C为第一次绘制的第二圆形的圆心时,则此时的第二圆形与该黑色边界之间存在的新的交点为交点D。
示例性的,所述根据所述黑色边界的长度和曲线复杂度确定所述黑色边界的匹配权重包括:
根据下述公式计算得到所述黑色边界的匹配权重:
其中,W
i为第i条黑色边界的匹配权重,D
i(r)为第i条黑色边界的曲线复杂度,L
i为第i条黑色边界的长度,r为基准长度。
由S501至S507可知,对于大件物体或者墙壁等,其所具有的黑色边界的长度较长或者曲线复杂度较小,而对于小件物体,其所具有的黑色边界的长度较小或者曲线复杂度较大,因此在根据上述公式进行黑色边界的匹配权重的设置时,可以使得大件物体或者墙壁等的黑色边界具有相对较小的匹配权重,使得小件物体或者细小区域等的黑色边界具有相对较大的匹配权重,以通过提高小件物体或者细小区域的匹配权重,来提高小件物体或者 细小区域等在重定位中的匹配影响,从而可以在不增加硬件成本的基础上,降低重定位的误报成功率,提高重定位的鲁棒性。
本申请实施例中,也可以在获取全局导航地图后,通过区域生长算法获取全局导航地图中的所有黑色边界,并可以利用上述的确定方式确定出所有黑色边界的匹配权重。因此,当需要进行机器人重定位时,可以在确定局部匹配子图后,直接根据全局导航地图中的黑色边界以及黑色边界的匹配权重,来获取局部匹配子图中的黑色边界以及黑色边界的匹配权重,可以有效减少重定位中,黑色边界以及黑色边界的匹配权重的确定过程,提高重定位效率。
需要说明的是,在得到局部匹配子图中各黑色边界的匹配权重后,可以对匹配权重进行归一化处理,以方便后续处理。具体地,可以将各黑色边界的匹配权重与所有黑色边界的匹配权重之和的比值,确定为各黑色边界归一化后的匹配权重。例如,在局部匹配子图包括黑色边界A、黑色边界B、黑色边界C和黑色边界D,且黑色边界A的匹配权重为W
A,黑色边界B的匹配权重为W
B,黑色边界C的匹配权重为W
C,黑色边界D的匹配权重为W
D时,黑色边界A归一化后的匹配权重可以为W
A/(W
A+W
B+W
C+W
D),黑色边界B归一化后的匹配权重可以为W
B/(W
A+W
B+W
C+W
D),黑色边界C归一化后的匹配权重可以为W
C/(W
A+W
B+W
C+W
D),黑色边界D归一化后的匹配权重可以为W
D/(W
A+W
B+W
C+W
D)。
S103、根据所述局部匹配子图和所述当前扫描图确定重定位的估计位姿和目标黑色边界,并根据所述目标黑色边界的匹配权重获取所述当前扫描图与所述局部匹配子图之间的匹配值,所述目标黑色边界为所述局部匹配子图与所述当前扫描图之间相匹配的黑色边界;
具体地,可以利用模板匹配方法或者梯度匹配方法,获取局部匹配子图与当前扫描图之间相匹配的目标黑色边界,并确定重定位的估计位姿。其中,当局部匹配子图中的某一条黑色边界在当前扫描图中存在一条独立的黑色边界与之紧密贴合或者重合,则局部匹配子图中的该黑色边界即为目标黑色边界。在确定局部匹配子图中的所有目标黑色边界后,可以将各目标黑色边界的匹配权重进行相加,以作为当前扫描图与局部匹配子图之间的匹配值S0。其中,黑色边界之间是否紧密贴合或者重合,可以根据黑色边界之间的相似度确定,相似度的确定方式可以为现有技术的任一方式,本申请实施例对此不作具体限定。
可以理解的是,利用模板匹配方法或者梯度匹配方法进行位姿确定为现有技术,本申请实施例对此不作限定。
S104、当所述匹配值大于预设的匹配阈值时,将所述估计位姿确定为所述机器人重定位的位姿。
其中,预设的匹配阈值可以根据具体情况设置,例如,可以将预设的匹配阈值设置为0.85至0.95之间的任一数值。因此,当前扫描图与局部匹配子图之间的匹配值S0大于匹配阈值时,表示此次重定位成功,并将估计位姿确定为重定位的位姿。否则,可以认为此次重定位失败,并输出失败反馈信息,以及建议选择其他位置重新进行重定位。
下面将对全局导航地图进行预处理进行详细描述。请参阅图6,图6示出了对全局导航地图进行预处理的流程示意图。如图6所示,对全局导航地图进行预处理,可以包括:
S601、对所述全局导航地图进行三值化处理,得到三值地图。
所述全局导航地图中的各个像素点的像素值范围一般为[0,255],为方便处理,可以对所述全局导航地图进行三值化处理,将各个像素点的像素值仅设置为0、205和255三种,分别表示黑色、灰色和白色,从而得到三值地图。在本申请实施例的一种具体实现中,可以根据下式对所述全局导航地图进行三值化处理:
其中,I
0(x,y)、I
1(x,y)分别为所述全局导航地图和所述三值地图中的任意一个像素点的像素值,minPixel、maxPixel均为预设的像素阈值,其具体取值可以根据具体情况进行 设置,本申请实施例中根据工程实践,优选将minPixel设置为50,将maxPixel设置为240。当所述全局导航地图中的某一像素点的像素值小于minPixel时,那么在所述三值地图中与该像素点相同位置的像素点的像素值即为0,当所述全局导航地图中的某一像素点的像素值大于或等于minPixel且小于maxPixel时,那么在所述三值地图中与该像素点相同位置的像素点的像素值即为205,当所述全局导航地图中的某一像素点的像素值大于或等于maxPixel时,那么在所述三值地图中与该像素点相同位置的像素点的像素值即为255。
S602、对所述三值地图进行二值化处理,得到二值地图。
对所述三值地图进行二值化处理,也即将各个像素点的像素值仅设置为0和255两种,分别表示黑色和白色,从而得到二值地图。具体地,二值化时需要对所述三值地图逐个像素遍历,如果其像素值为205或者255,即灰色或白色,则将所述二值地图对应位置的像素值设置为255,即白色;如果其像素值为黑色0,需在以其位置为中心,3×3网格范围内判断其是否存在黑色像素相连或者灰黑白相连的有效结构,存在,说明是有效的物体或者墙壁的边界,则所述二值地图对应位置的像素值需要保持黑色0,否则,其很可能是孤立的传感器噪点,需要过滤掉,故将所述二值地图对应位置像素设置为白色255。
S603、对所述三值地图和所述二值地图进行边界填充,得到三值填充地图和二值填充地图。
首先,提取所述二值地图的黑色边界。本申请实施例中可以利用区域生长算法提取并保存所述二值地图中的所有黑色边界,所述区域生长算法实现既可基于广度优先遍历,也可基于深度优先遍历。
然后,分别以所述二值地图的黑色边界中的各个黑色像素点为中心,对所述三值地图和所述二值地图进行边界填充,得到所述三值填充地图和所述二值填充地图。
以所述二值地图的黑色边界中的任意一个黑色像素点为例,边界填充的具体过程可以包括:
步骤a、在三值目标像素点的八邻域中查找白色像素点。
所述三值目标像素点为在所述三值地图中与二值目标像素点相同位置的像素点,所述二值目标像素点为所述二值地图的黑色边界中的任意一个像素点。
若查找到白色像素点,则执行步骤b,若未查找到白色像素点,则无需进行任何处理。
步骤b、依次记录在重影检测线上扫描到的各个像素点,直至扫描到灰色像素点为止。
所述重影检测线为由查找到的白色像素点指向所述三值目标像素点的射线。在申请本实施例中,可以预先设置一个在所述重影检测线的方向上最大可扫描的相连像素个数的阈值,将该阈值记为maxDetectedPixel,其具体取值可以根据具体情况进行设置,本申请实施例中优选将其设置为5。一般地,在工程实践中,栅格化地图中一个像素表示5厘米,若此阈值设置为5,因可填充的有效重影检测线必须以黑灰两个相连像素截止,故最大可填充连续3个白色像素宽度的重影区域,即处理间隔不超过15厘米距离的重影。
若记录的像素点的个数小于预设的阈值(即maxDetectedPixel)且记录的最后一个像素点为黑色像素点,则执行步骤c,否则,则无需进行任何处理。
步骤c、对所述二值地图和所述三值地图中的待填充像素点进行填充。
具体地,可以将所述记录的像素点中的白色像素点确定为所述三值地图中的待填充像素点,将所述二值地图中与所述三值地图中的待填充像素点相同位置的像素点确定为所述二值地图中的待填充像素点,最后,将所述二值地图的待填充像素点和所述三值地图中的待填充像素点均设置为黑色像素点。
遍历所述二值地图的黑色边界中的各个黑色像素点,分别执行步骤a至步骤C的过程,对所述三值地图和所述二值地图进行边界填充,最终得到的边界填充后的三值地图即为所述三值填充地图,最终得到的边界填充后的二值地图即为所述二值填充地图,此时,边界重影问题已被转化为边界贴合问题。
S604、对所述二值填充地图进行边界细化,得到二值细化地图。
为了解决边界贴合问题,此处需对地图进行细化处理,即将地图中所有多像素聚集的粗边界都细化为一个像素宽度。本申请实施例中可以采用二值图像边缘细化算法对所述二值填充地图进行边界细化,得到二值细化地图。所述二值图像边缘细化算法包括但不限于Hilditch、Pavlidis、Rosenfeld细化算法以及索引表细化算法等。
S605、根据所述二值细化地图对所述三值填充地图进行边界细化,得到三值细化地图。
在经过边界细化得到的所述二值细化地图中,清除掉了很多多余的黑色像素,改变了墙体或物体的实际边界,故需要执行合并操作,同步更新到所述三值填充地图。具体地,首先可以将所述三值填充地图中与所述二值细化地图中的黑色像素点相同位置的像素点设置为黑色像素点,然后确定所述三值填充地图中的待细化像素点,所述待细化像素点为与所述二值细化地图中的白色像素点相同位置的黑色像素点。若所述待细化像素点的八邻域中的白色像素点数目大于灰色像素点数目,则将所述待细化像素点设置为白色像素点;若所述待细化像素点的八邻域中的白色像素点数目不大于灰色像素点数目,则将所述待细化像素点设置为灰色像素点。经过以上处理,即可得到所述三值细化地图。
在本申请实施例的一种具体实现中,可以直接使用所述三值细化地图作为最终得到的结果,但是考虑到所述三值细化地图虽然已经解决了边界贴合和边界重影的问题,但同时可能加重黑色边界延伸到灰色区域和黑色墙体边界外残留一些黑色物体边界的问题,因此,在申请本实施例的另一种具体实现中,在得到三值细化地图之后,还可以提取所述二值细化地图的黑色边界(与S603中的边界提取过程类似,具体可参照前述内容,此处不再赘述),并分别以所述二值细化地图的黑色边界中的各个黑色像素点为中心,对所述三值细化地图和所述二值细化地图进行优化处理,得到三值优化地图和二值优化地图。
以所述二值细化地图的黑色边界中的任意一个黑色像素点为例,优化处理的具体过程可以包括:
首先,在三值细化目标像素点的八邻域中统计白色像素点的数目。
所述三值细化目标像素点为在所述三值细化地图中与二值细化目标像素点相同位置的像素点,所述二值细化目标像素点为所述二值细化地图的黑色边界中的任意一个像素点。
若统计的白色像素点的数目为0,则表示该黑色边界不与可通行的白色区域相邻,即为黑色边界延伸到灰色区域的情况,该情况不符合激光白黑灰的投射扫描规律,需要被滤除。具体地滤除方式为:将所述三值细化目标像素点设置为灰色像素点,并将所述二值细化目标像素点设置为白色像素点。
若统计的白色像素点的数目大于0,则可判断各条扫描线是否均在预设的距离内被黑色像素点阻隔,所述扫描线为由所述三值细化目标像素点的八邻域中灰色像素点指向所述三值细化目标像素点的射线,容易理解的,扫描线的数目与八邻域中灰色像素点的数目相同,即八邻域中任意一个灰色像素点指向所述三值细化目标像素点的射线均为一条扫描线。该预设的距离记为maxScannedPixel,其具体取值可以根据实际情况进行设置,取值依据为机器人的实际直径与栅格地图中单像素可表示的实际距离的比值,若机器人的实际直径为50公分,且栅格地图一个像素表示5公分距离,则可以将maxScannedPixel设置为10,即最大扫描存储10个像素,判断是否被黑色墙体边界阻隔。如果所述三值细化目标像素点的所有灰黑直线方向的扫描尝试都被黑色边界阻隔,表示所述三值细化目标像素点很可能来自于黑色墙体边界外残留的物体边界。因其白色区域附近不能合理放下该机器人,按其激光白黑灰的投射规律,便不可能产生该边界,故需要被滤除,滤除方式为:将所述三值细化目标像素点以及各条所述扫描线上的白色像素点均设置为灰色像素点,并将所述二值细化目标像素点设置为白色像素点。若至少有一条扫描线在预设的距离内未被黑色像素点阻隔,则无需进行任何处理。
遍历所述二值细化地图的黑色边界中的各个黑色像素点,分别执行上述优化处理过程,对所述三值细化地图和所述二值细化地图进行优化处理,最终得到的优化处理后的三值地图即为所述三值优化地图,最终得到的优化处理后的二值地图即为所述二值优化地图。
本申请实施例中,在需要进行机器人的重定位时,获取机器人所在的目标场景的全局导航地图和当前扫描图,并根据所述全局导航地图生成局部匹配子图;获取所述局部匹配子图中的黑色边界,确定所述黑色边界的长度以及确定所述黑色边界的曲线复杂度,并根据所述黑色边界的长度和曲线复杂度确定所述黑色边界的匹配权重;根据所述局部匹配子图和所述当前扫描图确定重定位的估计位姿和目标黑色边界,并根据所述目标黑色边界的匹配权重获取所述当前扫描图与所述局部匹配子图之间的匹配值,所述目标黑色边界为所述局部匹配子图与所述当前扫描图之间相匹配的黑色边界;当所述匹配值大于预设的匹配阈值时,将所述估计位姿确定为所述机器人重定位的位姿,以根据黑色边界的长度和曲线复杂度来设定黑色边界的匹配权重,提高小件物体或者细小区域的匹配影响,从而有效解决重定位中高误报成功率的问题,提高重定位的鲁棒性,提升用户体验。
对应于上文实施例所述的重定位方法,图7示出了本申请实施例提供的重定位装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
请参阅图7,所述重定位装置,可以包括:
匹配子图生成模块701,用于获取机器人所在的目标场景的全局导航地图和当前扫描图,并根据所述全局导航地图生成局部匹配子图;
匹配权重确定模块702,用于获取所述局部匹配子图中的黑色边界,确定所述黑色边界的长度以及确定所述黑色边界的曲线复杂度,并根据所述黑色边界的长度和曲线复杂度确定所述黑色边界的匹配权重;
匹配值确定模块703,用于根据所述局部匹配子图和所述当前扫描图确定重定位的估计位姿和目标黑色边界,并根据所述目标黑色边界的匹配权重获取所述当前扫描图与所述局部匹配子图之间的匹配值,所述目标黑色边界为所述局部匹配子图与所述当前扫描图之间相匹配的黑色边界;
位姿确定模块704,用于当所述匹配值大于预设的匹配阈值时,将所述估计位姿确定为所述机器人重定位的位姿。
可选的,所述匹配权重确定模块702,可以包括:
边界长度确定单元,用于获取所述黑色边界所包含的黑色像素点的数量,并将所述黑色像素点的数量确定为所述黑色边界的长度。
在一种可能的实现方式中,所述匹配权重确定模块702,可以包括:
第一复杂度确定单元,用于当所述黑色边界的长度小于预设的基准长度时,将所述黑色边界的曲线复杂度确定为预设值;
第一圆形绘制单元,用于当所述黑色边界的长度大于或等于所述基准长度时,以所述黑色边界的一个端点为圆心、以所述基准长度为半径绘制第一圆形,并获取所述第一圆形与所述黑色边界的交点;
像素点距离确定单元,用于确定所述黑色边界中位于所述圆心与所述交点之间的目标黑色像素点,并确定所述目标黑色像素点与目标直线之间的距离,所述目标直线为根据所述圆心和所述交点确定的直线;
复杂度增加单元,用于当所述距离中存在大于预设距离阈值的距离时,将所述黑色边界的曲线复杂度增加一个计数单位;
第二圆形绘制单元,用于以所述交点为圆心、以所述基准长度为半径绘制第二圆形;
第二复杂度确定单元,用于当所述第二圆形与所述黑色边界之间存在新的交点时,则返回执行所述确定所述黑色边界中位于所述圆心与所述交点之间的目标黑色像素点,并确定所述目标黑色像素点与目标直线之间的距离的步骤以及后续步骤,直至所述第二圆形与所述黑色边界之间不存在新的交点时,得到所述黑色边界的曲线复杂度。
可选的,所述匹配权重确定模块702,还可以包括:
匹配权重确定单元,用于根据下述公式计算得到所述黑色边界的匹配权重:
其中,Wi为第i条黑色边界的匹配权重,Di(r)为第i条黑色边界的曲线复杂度,Li为第i条黑色边界的长度,r为基准长度。
示例性的,所述匹配子图生成模块701,可以包括:
匹配区域确定单元,用于确定自适应匹配区域;
预处理单元,用于对所述全局导航地图进行预处理,得到优化导航地图;
匹配子图生成单元,用于根据所述自适应匹配区域和所述优化导航地图生成所述局部匹配子图。
在一种可能的实现方式中,所述匹配区域确定单元,可以包括:
定位模式确定子单元,用于获取重定位的定位模式;
第一匹配区域确定子单元,用于当所述定位模式为全局重定位时,获取所述机器人的全局定位位置以及导航失效前所述机器人所在的第一位置,并根据所述全局定位位置和所述第一位置生成所述自适应匹配区域;
第二匹配区域确定子单元,用于当所述定位模式为局部重定位时,获取所述机器人的全局定位位置、导航失效前所述机器人所在的第一位置以及用户指定的第二位置,并根据所述全局定位位置、所述第一位置以及所述第二位置生成所述自适应匹配区域。
可选的,所述第一匹配区域确定子单元,可以包括:
第三圆形绘制分单元,用于以所述全局定位位置为圆心、以第一预设长度为半径绘制第三圆形,并以所述第一位置为圆心、以所述第一预设长度为半径绘制第四圆形;
第一匹配区域确定分单元,用于当所述第三圆形与所述第四圆形相交或者相容时,将包含所述第三圆形与所述第四圆形的最小外接矩形确定为所述自适应匹配区域;
第二匹配区域确定分单元,用于当所述第三圆形与所述第四圆形相离,或者所述第四圆形不存在时,将以所述全局定位位置为中心点、以第二预设长度为边长的矩形区域确定为所述自适应匹配区域。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图8为本申请一实施例提供的机器人的结构示意图。如图8所示,该实施例的机器人8包括:至少一个处理器80(图8中仅示出一个)、存储器81以及存储在所述存储器81中并可在所述至少一个处理器80上运行的计算机程序82,所述处理器80执行所述计算机程序82时实现上述任意各个重定位方法实施例中的步骤。
该机器人可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是机器人8的举例,并不构成对机器人8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所述处理器80可以是中央处理单元(central processing unit,CPU),该处理器80 还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81在一些实施例中可以是所述机器人8的内部存储单元,例如机器人8的硬盘或内存。所述存储器81在另一些实施例中也可以是所述机器人8的外部存储设备,例如所述机器人8上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述机器人8的内部存储单元也包括外部存储设备。所述存储器81用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/机器人的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者 替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
- 一种重定位方法,其特征在于,包括:获取机器人所在的目标场景的全局导航地图和当前扫描图,并根据所述全局导航地图生成局部匹配子图;获取所述局部匹配子图中的黑色边界,确定所述黑色边界的长度以及确定所述黑色边界的曲线复杂度,并根据所述黑色边界的长度和曲线复杂度确定所述黑色边界的匹配权重;根据所述局部匹配子图和所述当前扫描图确定重定位的估计位姿和目标黑色边界,并根据所述目标黑色边界的匹配权重获取所述当前扫描图与所述局部匹配子图之间的匹配值,所述目标黑色边界为所述局部匹配子图与所述当前扫描图之间相匹配的黑色边界;当所述匹配值大于预设的匹配阈值时,将所述估计位姿确定为所述机器人重定位的位姿。
- 如权利要求1所述的重定位方法,其特征在于,所述确定所述黑色边界的长度包括:获取所述黑色边界所包含的黑色像素点的数量,并将所述黑色像素点的数量确定为所述黑色边界的长度。
- 如权利要求1所述的重定位方法,其特征在于,所述确定所述黑色边界的曲线复杂度包括:当所述黑色边界的长度小于预设的基准长度时,将所述黑色边界的曲线复杂度确定为预设值;当所述黑色边界的长度大于或等于所述基准长度时,以所述黑色边界的一个端点为圆心、以所述基准长度为半径绘制第一圆形,并获取所述第一圆形与所述黑色边界的交点;确定所述黑色边界中位于所述圆心与所述交点之间的目标黑色像素点,并确定所述目标黑色像素点与目标直线之间的距离,所述目标直线为根据所述圆心和所述交点确定的直线;当所述距离中存在大于预设距离阈值的距离时,将所述黑色边界的曲线复杂度增加一个计数单位;以所述交点为圆心、以所述基准长度为半径绘制第二圆形;当所述第二圆形与所述黑色边界之间存在新的交点时,则返回执行所述确定所述黑色边界中位于所述圆心与所述交点之间的目标黑色像素点,并确定所述目标黑色像素点与目标直线之间的距离的步骤以及后续步骤,直至所述第二圆形与所述黑色边界之间不存在新的交点,得到所述黑色边界的曲线复杂度。
- 如权利要求1至4任一项所述的重定位方法,其特征在于,所述根据所述全局导航地图生成局部匹配子图包括:确定自适应匹配区域;对所述全局导航地图进行预处理,得到优化导航地图;根据所述自适应匹配区域和所述优化导航地图生成所述局部匹配子图。
- 如权利要求5所述的重定位方法,其特征在于,所述确定自适应匹配区域包括:获取重定位的定位模式;当所述定位模式为全局重定位时,获取所述机器人的全局定位位置以及导航失效前所 述机器人所在的第一位置,并根据所述全局定位位置和所述第一位置生成所述自适应匹配区域;当所述定位模式为局部重定位时,获取所述机器人的全局定位位置、导航失效前所述机器人所在的第一位置以及用户指定的第二位置,并根据所述全局定位位置、所述第一位置以及所述第二位置生成所述自适应匹配区域。
- 如权利要求6所述的重定位方法,其特征在于,所述根据所述全局定位位置和所述第一位置生成所述自适应匹配区域包括:以所述全局定位位置为圆心、以第一预设长度为半径绘制第三圆形,并以所述第一位置为圆心、以所述第一预设长度为半径绘制第四圆形;当所述第三圆形与所述第四圆形相交或者相容时,将包含所述第三圆形与所述第四圆形的最小外接矩形确定为所述自适应匹配区域;当所述第三圆形与所述第四圆形相离,或者所述第四圆形不存在时,将以所述全局定位位置为中心点、以第二预设长度为边长的矩形区域确定为所述自适应匹配区域。
- 一种重定位装置,其特征在于,包括:匹配子图生成模块,用于获取机器人所在的目标场景的全局导航地图和当前扫描图,并根据所述全局导航地图生成局部匹配子图;匹配权重确定模块,用于获取所述局部匹配子图中的黑色边界,确定所述黑色边界的长度以及确定所述黑色边界的曲线复杂度,并根据所述黑色边界的长度和曲线复杂度确定所述黑色边界的匹配权重;匹配值确定模块,用于根据所述局部匹配子图和所述当前扫描图确定重定位的估计位姿和目标黑色边界,并根据所述目标黑色边界的匹配权重获取所述当前扫描图与所述局部匹配子图之间的匹配值,所述目标黑色边界为所述局部匹配子图与所述当前扫描图之间相匹配的黑色边界;位姿确定模块,用于当所述匹配值大于预设的匹配阈值时,将所述估计位姿确定为所述机器人重定位的位姿。
- 一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的重定位方法。
- 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的重定位方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/463,523 US11983916B2 (en) | 2020-11-11 | 2021-08-31 | Relocation method, mobile machine using the same, and computer readable storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011257420.XA CN112509027B (zh) | 2020-11-11 | 2020-11-11 | 重定位方法、机器人及计算机可读存储介质 |
| CN202011257420.X | 2020-11-11 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/463,523 Continuation US11983916B2 (en) | 2020-11-11 | 2021-08-31 | Relocation method, mobile machine using the same, and computer readable storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022099889A1 true WO2022099889A1 (zh) | 2022-05-19 |
Family
ID=74957144
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/140578 Ceased WO2022099889A1 (zh) | 2020-11-11 | 2020-12-29 | 重定位方法、机器人及计算机可读存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN112509027B (zh) |
| WO (1) | WO2022099889A1 (zh) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115375869A (zh) * | 2022-10-25 | 2022-11-22 | 杭州华橙软件技术有限公司 | 一种机器人重定位方法、机器人和计算机可读存储介质 |
| CN115393422A (zh) * | 2022-09-05 | 2022-11-25 | 北京云迹科技股份有限公司 | 基于图像处理的点位标注方法、装置、设备及存储介质 |
| CN115830576A (zh) * | 2022-12-12 | 2023-03-21 | 深圳市优必选科技股份有限公司 | 移动机器人重定位方法、装置和移动机器人 |
| CN116152776A (zh) * | 2022-12-30 | 2023-05-23 | 华人运通(上海)自动驾驶科技有限公司 | 一种可行驶区域的识别方法、装置、设备和存储介质 |
| CN120107368A (zh) * | 2025-05-09 | 2025-06-06 | 千巡科技(深圳)有限公司 | 一种移动机器人全局重定位方法、系统、装置及介质 |
| WO2026037087A1 (zh) * | 2024-08-13 | 2026-02-19 | 深圳市普渡科技股份有限公司 | 重定位方法、装置、机器人和存储介质 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113419249B (zh) * | 2021-06-18 | 2024-07-05 | 珠海一微半导体股份有限公司 | 一种重定位方法、芯片和移动机器人 |
| CN114295134B (zh) * | 2021-12-14 | 2023-10-27 | 珠海一微半导体股份有限公司 | 一种机器人重定位方法、芯片及机器人 |
| CN116412824A (zh) * | 2021-12-30 | 2023-07-11 | 追觅创新科技(苏州)有限公司 | 自移动设备的重定位方法、设备及存储介质 |
| CN117036474B (zh) * | 2023-08-08 | 2024-10-25 | 天津大学 | 一种面向微观尺度的主动相机重定位方法 |
| CN117496465A (zh) * | 2023-10-20 | 2024-02-02 | 深圳市优必选科技股份有限公司 | 一种场景识别方法、装置、计算机可读存储介质及机器人 |
| CN117968735B (zh) * | 2024-04-02 | 2024-08-13 | 深圳竹芒科技有限公司 | 检测自移动设备定位状态的方法、自移动设备及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110235922A1 (en) * | 2008-07-29 | 2011-09-29 | Superfish Ltd. | Edge neighborhood descriptor |
| CN105928505A (zh) * | 2016-04-19 | 2016-09-07 | 深圳市神州云海智能科技有限公司 | 移动机器人的位姿确定方法和设备 |
| CN110207710A (zh) * | 2019-06-26 | 2019-09-06 | 北京小狗智能机器人技术有限公司 | 机器人重定位方法及装置 |
| CN111486842A (zh) * | 2019-01-29 | 2020-08-04 | 深圳市优必选科技有限公司 | 重定位方法及装置、机器人 |
| CN111780763A (zh) * | 2020-06-30 | 2020-10-16 | 杭州海康机器人技术有限公司 | 一种基于视觉地图的视觉定位方法、装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013071190A1 (en) * | 2011-11-11 | 2013-05-16 | Evolution Robotics, Inc. | Scaling vector field slam to large environments |
| CN110134117B (zh) * | 2018-02-08 | 2022-07-29 | 杭州萤石软件有限公司 | 一种移动机器人重定位方法、移动机器人及电子设备 |
-
2020
- 2020-11-11 CN CN202011257420.XA patent/CN112509027B/zh active Active
- 2020-12-29 WO PCT/CN2020/140578 patent/WO2022099889A1/zh not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110235922A1 (en) * | 2008-07-29 | 2011-09-29 | Superfish Ltd. | Edge neighborhood descriptor |
| CN105928505A (zh) * | 2016-04-19 | 2016-09-07 | 深圳市神州云海智能科技有限公司 | 移动机器人的位姿确定方法和设备 |
| CN111486842A (zh) * | 2019-01-29 | 2020-08-04 | 深圳市优必选科技有限公司 | 重定位方法及装置、机器人 |
| CN110207710A (zh) * | 2019-06-26 | 2019-09-06 | 北京小狗智能机器人技术有限公司 | 机器人重定位方法及装置 |
| CN111780763A (zh) * | 2020-06-30 | 2020-10-16 | 杭州海康机器人技术有限公司 | 一种基于视觉地图的视觉定位方法、装置 |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115393422A (zh) * | 2022-09-05 | 2022-11-25 | 北京云迹科技股份有限公司 | 基于图像处理的点位标注方法、装置、设备及存储介质 |
| CN115375869A (zh) * | 2022-10-25 | 2022-11-22 | 杭州华橙软件技术有限公司 | 一种机器人重定位方法、机器人和计算机可读存储介质 |
| CN115375869B (zh) * | 2022-10-25 | 2023-02-10 | 杭州华橙软件技术有限公司 | 一种机器人重定位方法、机器人和计算机可读存储介质 |
| CN115830576A (zh) * | 2022-12-12 | 2023-03-21 | 深圳市优必选科技股份有限公司 | 移动机器人重定位方法、装置和移动机器人 |
| CN116152776A (zh) * | 2022-12-30 | 2023-05-23 | 华人运通(上海)自动驾驶科技有限公司 | 一种可行驶区域的识别方法、装置、设备和存储介质 |
| WO2026037087A1 (zh) * | 2024-08-13 | 2026-02-19 | 深圳市普渡科技股份有限公司 | 重定位方法、装置、机器人和存储介质 |
| CN120107368A (zh) * | 2025-05-09 | 2025-06-06 | 千巡科技(深圳)有限公司 | 一种移动机器人全局重定位方法、系统、装置及介质 |
| CN120107368B (zh) * | 2025-05-09 | 2025-07-08 | 千巡科技(深圳)有限公司 | 一种移动机器人全局重定位方法、系统、装置及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112509027A (zh) | 2021-03-16 |
| CN112509027B (zh) | 2023-11-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022099889A1 (zh) | 重定位方法、机器人及计算机可读存储介质 | |
| CN114399781B (zh) | 文档图像处理方法及装置、电子设备、存储介质 | |
| WO2022000862A1 (zh) | 鱼眼图像中的对象检测方法、装置及存储介质 | |
| WO2021051604A1 (zh) | Osd的文字区域的识别方法、装置及存储介质 | |
| CN111063029B (zh) | 地图构建方法、装置、计算机可读存储介质及机器人 | |
| WO2020181872A1 (zh) | 一种物体检测方法、装置及电子设备 | |
| CN112016614A (zh) | 光学图像目标检测模型的构建方法、目标检测方法及装置 | |
| US11983916B2 (en) | Relocation method, mobile machine using the same, and computer readable storage medium | |
| CN108875723A (zh) | 对象检测方法、装置和系统及存储介质 | |
| WO2018049801A1 (zh) | 基于深度图的启发式手指检测方法 | |
| CN114283343B (zh) | 基于遥感卫星图像的地图更新方法、训练方法和设备 | |
| WO2023273056A1 (zh) | 机器人导航方法、机器人及计算机可读存储介质 | |
| CN103679737A (zh) | 基于多通道信息选择的彩色图像边缘检测方法 | |
| CN115468555A (zh) | 一种清洁机器人的地图更新方法和清洁机器人 | |
| CN114627175A (zh) | 一种图像处理方法、智能终端及计算机可读存储介质 | |
| CN114219871A (zh) | 一种基于深度图像的障碍物检测方法、装置和移动机器人 | |
| CN115836322B (zh) | 图像裁剪方法与装置、电子设备及存储介质 | |
| CN111256712B (zh) | 地图优化方法、装置及机器人 | |
| WO2022062343A1 (zh) | 图像移除篡改盲检测方法、系统、设备及存储介质 | |
| CN116597330A (zh) | 基于slam的机器人跟踪方法、系统、存储介质及电子设备 | |
| CN111857143A (zh) | 基于机器视觉的机器人路径规划方法、系统、终端及介质 | |
| CN111127635B (zh) | 目标物体的检测方法、装置、设备和存储介质 | |
| CN116642490A (zh) | 基于混合地图的视觉定位导航方法、机器人及存储介质 | |
| CN115861602A (zh) | 一种图像标注方法、装置、电子设备及存储介质 | |
| CN115861626A (zh) | 目标检测方法、装置、终端设备及计算机可读存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20961442 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20961442 Country of ref document: EP Kind code of ref document: A1 |
