Robot repositioning method and device, storage medium and electronic device

Through the method of point cloud matching and feature matching, the problem of robot relocation mismatch in new environments or multiple similar regions is solved, and the positioning accuracy is improved.

CN117095050BActive Publication Date: 2025-04-22DREAM INNOVATION TECH (SUZHOU) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210521947.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-13
Publication Date
2025-04-22
Estimated Expiration
2042-05-13

AI Technical Summary

Technical Problem

Existing robot relocation methods are prone to mismatch in new environments or multiple similar areas, resulting in low positioning accuracy.

Method used

By matching the current point cloud data obtained by the target robot with the target area map, a set of candidate poses is obtained, and the current point cloud features and point cloud features of the candidate area are extracted, and feature matching is performed to determine the accurate position of the robot's repositioning.

Benefits of technology

Improves the accuracy of robot relocation, reduces the situation of mismatch, and ensures that the robot can accurately locate in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117095050B_ABST
    Figure CN117095050B_ABST
Patent Text Reader

Abstract

The present application provides a robot repositioning method and device, storage medium and electronic device, the method comprising: performing point cloud matching on the current point cloud data acquired by the target robot and the target area map to obtain a set of candidate poses, in each candidate pose in the set of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to the target matching degree threshold; extracting the current point cloud features corresponding to the current point cloud data, and extracting the point cloud features corresponding to each candidate area in a set of candidate areas, each candidate area in a set of candidate areas corresponds one to one with the candidate poses in a set of candidate poses; by matching the current point cloud features with the point cloud features corresponding to each candidate area, determining the pose of the target robot repositioning from a set of candidate poses. The above scheme solves the problem of low robot repositioning accuracy caused by mismatching in the robot repositioning method in the related art.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present application relates to the field of robots, and in particular, to a robot repositioning method and device, a storage medium and an electronic device. [Background technology]

[0002] At present, when relocating a robot, the robot is generally relocated by matching the point cloud to the map on the spot. That is, the robot position and the score of the robot point cloud and map matching are obtained for each matching, and the position with the highest score (that is, the solution with the highest score) is determined as the current position of the robot.

[0003] However, for the above-mentioned robot relocalization method, if the robot enters a new environment, the above-mentioned relocalization method will cause the robot to be located at an incorrect position; if there are multiple similar areas in the map, the above-mentioned relocalization method will result in the position with the highest score not necessarily being the actual position, which may also lead to relocalization errors.

[0004] It can be seen that the robot repositioning method in the related art has the problem of low accuracy of robot repositioning due to the easy occurrence of mismatching. [Summary of the invention]

[0005] The purpose of the present application is to provide a robot repositioning method and device, a storage medium and an electronic device, so as to at least solve the problem of low accuracy of robot repositioning due to the easy occurrence of mismatching in the robot repositioning method in the related art, so as to achieve the technical effect of improving the accuracy of robot repositioning.

[0006] The purpose of this application is to achieve the following technical solutions:

[0007] According to one aspect of an embodiment of the present application, a robot repositioning method is provided, comprising: performing point cloud matching on current point cloud data acquired by a target robot and a target area map to obtain a set of candidate poses, wherein, at each candidate pose in the set of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to a target matching degree threshold; extracting current point cloud features corresponding to the current point cloud data, and extracting point cloud features corresponding to each candidate area in a set of candidate areas, wherein each candidate area in the set of candidate areas corresponds one-to-one to a candidate pose in the set of candidate poses; and determining the pose to which the target robot is repositioned from the set of candidate poses by matching the current point cloud features with the point cloud features corresponding to each candidate area.

[0008] In an exemplary embodiment, the current point cloud data acquired by the target robot is point cloud matched with the target area map to obtain a set of candidate poses, including: determining a set of grid cells to be matched from the target area map, wherein the target area map is a grid map, and each grid cell to be matched in the set of grid cells to be matched is a grid cell in the target area map that the target robot is allowed to enter; and point cloud matching the current point cloud data with the point cloud data corresponding to each grid cell to be matched to obtain the set of candidate poses.

[0009] In an exemplary embodiment, performing point cloud matching between the current point cloud data and the point cloud data corresponding to each grid cell to be matched to obtain the set of candidate poses includes: performing the following steps on each grid cell to be matched to obtain the set of candidate poses, wherein when performing the following steps, each grid cell to be matched is the current grid cell: using the current grid cell as the coordinate origin of the current point cloud data and each preset pose in a set of preset poses as the pose, mapping the current point cloud data to the target grid map to obtain a set of mapping values ​​of grid cells corresponding to each preset pose; and The matching parameters corresponding to each preset posture are determined based on the mapping values ​​of a group of grid cells corresponding to each preset posture and the reference values ​​of the corresponding grid cells in the target grid map, wherein the matching parameters corresponding to each preset posture are used to indicate the point cloud matching degree between the current point cloud data and the target area map at each preset posture of the current grid cell; when there is a target posture in the group of preset postures whose point cloud matching degree indicated by the corresponding matching parameters is greater than or equal to the target matching degree threshold, the posture with the current grid cell as the position and the target posture as the posture is determined as a candidate posture.

[0010] In an exemplary embodiment, the determining the matching parameters corresponding to each preset posture based on the mapping values ​​of a group of grid cells corresponding to each preset posture and the reference values ​​of the corresponding grid cells in the target grid map includes: determining the grid cells whose mapping values ​​and reference values ​​match in the group of grid cells corresponding to each preset posture, to obtain a group of matching grid cells corresponding to each preset posture; determining the matching parameters corresponding to each preset posture based on the proportion of the group of matching grid cells corresponding to each preset posture in the group of grid cells corresponding to each preset posture.

[0011] In an exemplary embodiment, the extracting of current point cloud features corresponding to the current point cloud data, and the extracting of point cloud features corresponding to each candidate area in a group of candidate areas, include: performing contour feature extraction on the current point cloud data to obtain current contour features corresponding to the current point cloud data; performing contour feature extraction on the point cloud data corresponding to each candidate area to obtain contour features corresponding to each candidate area.

[0012] In an exemplary embodiment, the method of determining the pose to which the target robot is relocated from the set of candidate poses by matching the current point cloud features with the point cloud features corresponding to each candidate area includes: determining the similarity between the current contour feature and the contour feature corresponding to each candidate area to obtain the contour similarity corresponding to the candidate pose; and determining the candidate pose in the set of candidate poses whose corresponding contour similarity is greater than or equal to the target similarity threshold as the pose to which the target robot is relocated.

[0013] In an exemplary embodiment, after determining the pose to which the target robot is relocated from the set of candidate poses by matching the current point cloud features with the point cloud features corresponding to each candidate area, the method further includes: in a case where the pose to which the target robot is relocated is not determined from the set of candidate poses, controlling the target robot to perform area exploration to construct a map based on the explored area information; in a case where a pose to which the target robot is relocated is determined from the set of candidate poses, determining the current pose of the target robot based on the one relocated pose; in a case where at least two poses to which the target robot is relocated are determined from the set of candidate poses, controlling the target robot to perform area exploration to determine the current pose of the target robot from the at least two poses.

[0014] According to another aspect of an embodiment of the present application, a robot repositioning device is also provided, including: a first matching unit, used to perform point cloud matching on current point cloud data acquired by a target robot and a target area map to obtain a set of candidate poses, wherein, at each candidate pose in the set of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to a target matching degree threshold; an extraction unit, used to extract current point cloud features corresponding to the current point cloud data, and to extract point cloud features corresponding to each candidate area in a set of candidate areas, wherein each candidate area in the set of candidate areas corresponds one-to-one to a candidate pose in the set of candidate poses; a second matching unit, used to determine the pose to which the target robot is repositioned from the set of candidate poses by matching the current point cloud features with the point cloud features corresponding to each candidate area.

[0015] In an exemplary embodiment, the first matching unit includes: a first determination module, used to determine a group of grid cells to be matched from the target area map, wherein the target area map is a grid map, and each grid cell to be matched in the group of grid cells to be matched is a grid cell in the target area map that the target robot is allowed to enter; a matching module, used to perform point cloud matching on the current point cloud data with the point cloud data corresponding to each grid cell to be matched to obtain the group of candidate poses.

[0016] In an exemplary embodiment, the matching module includes: an execution submodule, which is used to perform the following steps on each of the grid cells to be matched, respectively, to obtain the set of candidate poses, wherein, when performing the following steps, each of the grid cells to be matched is a current grid cell: taking the current grid cell as the coordinate origin of the current point cloud data and taking each preset pose in a set of preset poses as the pose, mapping the current point cloud data to the target grid map to obtain a set of mapping values ​​of grid cells corresponding to each preset pose; determining matching parameters corresponding to each preset pose according to the mapping values ​​of a set of grid cells corresponding to each preset pose and the reference value of the corresponding grid cell in the target grid map, wherein the matching parameters corresponding to each preset pose are used to indicate the point cloud matching degree between the current point cloud data and the target area map at each preset pose of the current grid cell; when there is a target pose in the set of preset poses whose point cloud matching degree indicated by the corresponding matching parameters is greater than or equal to the target matching degree threshold, determining the pose with the current grid cell as the position and the target pose as the pose as a candidate pose.

[0017] In an exemplary embodiment, the execution submodule includes: a first determination subunit, used to determine the grid cells whose mapping values ​​and reference values ​​match in a group of grid cells corresponding to each preset posture, so as to obtain a group of matching grid cells corresponding to each preset posture; and a second determination subunit, used to determine the matching parameters corresponding to each preset posture based on the proportion of the group of matching grid cells corresponding to each preset posture in the group of grid cells corresponding to each preset posture.

[0018] In an exemplary embodiment, the extraction unit includes: a first extraction module, used to extract contour features from the current point cloud data to obtain current contour features corresponding to the current point cloud data; and a second extraction module, used to extract contour features from the point cloud data corresponding to each candidate area to obtain contour features corresponding to each candidate area.

[0019] In an exemplary embodiment, the second matching unit includes: a second determination module, used to determine the similarity between the current contour feature and the contour feature corresponding to each candidate area, and obtain the contour similarity corresponding to the candidate posture; a third determination module, used to determine the candidate posture whose corresponding contour similarity in the group of candidate postures is greater than or equal to the target similarity threshold as the posture to which the target robot is relocated.

[0020] In an exemplary embodiment, the device also includes: a first control unit, for controlling the target robot to perform regional exploration after determining the pose to which the target robot is relocated from the set of candidate poses by matching the current point cloud features with the point cloud features corresponding to each candidate area, if the pose to which the target robot is relocated is not determined from the set of candidate poses, so as to construct a map according to the explored regional information; a determination unit, for determining the current pose of the target robot based on the relocated pose when a pose to which the target robot is relocated is determined from the set of candidate poses; and a second control unit, for controlling the target robot to perform regional exploration when at least two poses to which the target robot is relocated are determined from the set of candidate poses, so as to determine the current pose of the target robot from the at least two poses.

[0021] According to another aspect of the embodiments of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the above-mentioned robot repositioning method when running.

[0022] According to another aspect of the embodiment of the present application, there is also provided an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the robot repositioning method through the computer program.

[0023] In an embodiment of the present application, a point cloud matching method combined with a point cloud feature matching method is adopted to obtain a set of candidate poses by performing point cloud matching on the current point cloud data acquired by the target robot and the target area map, wherein, at each candidate pose in a set of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to the target matching degree threshold; extract the current point cloud features corresponding to the current point cloud data, and extract the point cloud features corresponding to each candidate area in a set of candidate areas, wherein each candidate area in a set of candidate areas corresponds one-to-one to a candidate pose in a set of candidate poses; by performing point cloud matching on the current point cloud data and the target area map in a set of candidate poses, The features are matched with the point cloud features corresponding to each candidate area, and the pose to which the target robot is relocated is determined from a set of candidate poses. During the robot repositioning process, multiple candidate poses are first screened out based on the point cloud data, and then matched based on the point cloud features, so as to accurately position the robot. By matching and screening the robot's pose twice, the possibility of mismatching can be reduced, thereby achieving the technical effect of improving the accuracy of robot repositioning, thereby solving the problem of low accuracy of robot repositioning due to the proneness to mismatching in the robot repositioning method in the related art.

Brief Description of the Drawings

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

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

[0026] Figure 1 is a schematic diagram of a hardware environment of an optional robot repositioning method according to an embodiment of the present application;

[0027] Figure 2 is a schematic flow chart of an optional robot repositioning method according to an embodiment of the present application;

[0028] Figure 3 is a flow chart of another optional robot repositioning method according to an embodiment of the present application;

[0029] Figure 4 is a structural block diagram of an optional robot repositioning device according to an embodiment of the present application;

[0030] Figure 5 It is a structural block diagram of an optional electronic device according to an embodiment of the present application. [Specific implementation method]

[0031] The present application will be described in detail below with reference to the accompanying drawings and in combination with embodiments. It should be noted that the embodiments and features in the embodiments of the present application can be combined with each other without conflict.

[0032] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0033] According to one aspect of an embodiment of the present application, a robot repositioning method is provided. Optionally, in this embodiment, the robot repositioning method can be applied to Figure 1 In the hardware environment composed of robot 102 and server 104 shown in FIG. Figure 1 As shown, the robot 102 can be connected to a server 104 (e.g., an Internet of Things platform or a cloud server) via a network to control the robot 102.

[0034] The network may include but is not limited to at least one of the following: wired network, wireless network. The wired network may include but is not limited to at least one of the following: wide area network, metropolitan area network, local area network, and the wireless network may include but is not limited to at least one of the following: WIFI (Wireless Fidelity), Bluetooth, infrared. The robot 102 may include but is not limited to: a sweeping robot, for example, an automatic mop robot, a self-cleaning robot, etc. The server 104 may be a server of an Internet of Things platform.

[0035] The robot relocation method of the embodiment of the present application can be executed by the robot 102 and the server 104 alone, or by the robot 102 and the server 104 together. The robot 102 can also execute the robot relocation method of the embodiment of the present application by a client installed thereon.

[0036] Taking the robot relocation method in this embodiment executed by the server 104 as an example, Figure 2 is a flow chart of an optional robot repositioning method according to an embodiment of the present application, such as Figure 2 As shown, the process of the method may include the following steps:

[0037] Step S202, performing point cloud matching on the current point cloud data acquired by the target robot and the target area map to obtain a set of candidate poses, wherein, for each candidate pose in the set of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to the target matching degree threshold.

[0038] The robot repositioning method in this embodiment can be applied to the scenario of repositioning the robot based on the point cloud data collected by the robot. The robot can be a sweeping robot, a flying robot, or other types of robots. The repositioning can be the repositioning of the robot in an indoor environment, which is not limited here. The repositioning can be the repositioning performed after the robot is picked up and placed back on the ground, or it can be the repositioning when the current position cannot be determined, or it can be the repositioning in other scenarios. This is not limited in this embodiment.

[0039] Optionally, the target robot is provided with a perception sensor for collecting point cloud data. The perception sensor may be a laser radar, a depth camera, a monocular camera, a binocular stereo camera, etc. For example, the laser radar may be a LDS (Laser Distance Sensor) sensor. The laser radar may be a radar system that emits a laser beam to detect characteristic quantities such as the position and speed of the target. The laser of the laser radar may convert electrical pulses into light pulses and emit them. The optical receiver of the laser radar may convert the light pulses reflected from the target into electrical pulses and send them to a display for display (i.e., displayed in the form of a point cloud).

[0040] In this embodiment, the target robot can emit a laser beam to the spatial environment in which it is located through the light transmitter of the perception sensor, and restore the light pulses reflected from the target into electrical pulses through the light receiver of the perception sensor, thereby obtaining the current point cloud data corresponding to the current posture state of the target robot.

[0041] After acquiring the current point cloud data, the target robot can perform point cloud matching of the current point cloud data with the target area map, where the target area map is an area map that the target robot has saved in advance. When performing point cloud matching, the current point cloud data can be projected onto the target area map according to a preset pose. If there is a position on the target area map whose matching degree with the projected point cloud data is greater than or equal to the target matching degree threshold, the position on the target area map and the preset pose can be used together as a candidate pose, that is, the current possible pose of the target robot. In this way, a set of candidate poses can be obtained. Among them, the pose of the robot includes at least the position and orientation of the robot.

[0042] Exemplarily, a SLAM (Simultaneous Localization and Mapping) algorithm can be used for point cloud matching. The machine relocates the point cloud data to a saved map while it is still in situ, and the pose (i.e., solution) is obtained through the SLAM algorithm. All candidate poses with scores exceeding a threshold, i.e., candidate solutions, are retained, and a set of candidate solutions can be obtained.

[0043] Step S204, extracting current point cloud features corresponding to current point cloud data, and extracting point cloud features corresponding to each candidate area in a set of candidate areas, wherein each candidate area in a set of candidate areas corresponds one-to-one to a candidate pose in a set of candidate poses.

[0044] In this embodiment, after obtaining a set of candidate poses (i.e., a set of candidate solutions), the candidate area corresponding to each candidate pose (i.e., the area formed by the current point cloud data with the candidate pose as the origin) can be determined, so that the candidate area corresponding to each candidate pose in a set of candidate poses can be determined.

[0045] It should be noted that the current point cloud data is point cloud data in the sensor coordinate system of the perception sensor. For each candidate pose, the current point cloud data can be transformed from the sensor coordinate system to the coordinate system of the target area map according to each candidate pose, and then the current point cloud data can be projected onto the target area map to obtain the candidate area corresponding to each candidate pose.

[0046] In order to screen the candidate postures again, the current point cloud features corresponding to the current point cloud data can be extracted, as well as the point cloud features corresponding to each candidate area. The extracted current point cloud features can be matched with the point cloud features, thereby comparing the current point cloud data and the point cloud data corresponding to each candidate posture in the feature dimension to further determine the possibility of the target robot being in each candidate posture.

[0047] Optionally, the current point cloud features may be features such as the area outline and shape corresponding to the current point cloud data, which may be shape features of obstacles in the area; the point cloud features corresponding to each candidate area may be area outline features of each candidate area, which may be shape features of obstacles in each candidate area, and are not limited here.

[0048] Step S206, determining the pose to which the target robot is relocated from a set of candidate poses by matching the current point cloud features with the point cloud features corresponding to each candidate area.

[0049] In this embodiment, the current point cloud feature can be matched with the point cloud feature corresponding to each candidate area, and the pose to which the target robot is relocated can be determined from a set of candidate poses, thereby achieving relocation of the target robot. Here, the relocation result of determining the pose to which the target robot is relocated from a set of candidate poses can be no matching pose, one matching pose, multiple matching poses, etc. Based on the relocation result, the current pose of the target robot can be determined.

[0050] When matching the current point cloud features with the point cloud features corresponding to each candidate area, the candidate pose corresponding to the candidate area whose corresponding point cloud features have the highest similarity with the current point cloud features in a group of candidate areas can be determined as the pose to which the target robot is relocated, and other incorrectly located candidate poses corresponding to other candidate areas can be discarded. Alternatively, the candidate pose corresponding to the candidate area whose corresponding point cloud features have a similarity with the current point cloud features higher than a set similarity threshold in a group of candidate areas can be determined as the pose to which the target robot is relocated. Other methods are also possible, which are not limited to this in the present embodiment.

[0051] Through the above steps S202 to S206, the current point cloud data acquired by the target robot is point cloud matched with the target area map to obtain a set of candidate poses, wherein, at each candidate pose in a set of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to the target matching degree threshold; the current point cloud features corresponding to the current point cloud data are extracted, and the point cloud features corresponding to each candidate area in a set of candidate areas are extracted, wherein each candidate area in a set of candidate areas corresponds one-to-one to a candidate pose in a set of candidate poses; by matching the current point cloud features with the point cloud features corresponding to each candidate area, the pose to which the target robot is relocated is determined from a set of candidate poses, thereby solving the problem of low accuracy of robot relocation due to easy mismatching in the robot relocation method in the related art, and improving the accuracy of robot relocation.

[0052] In an exemplary embodiment, the current point cloud data acquired by the target robot is matched with the target area map to obtain a set of candidate poses, including:

[0053] S11, determining a group of to-be-matched grid cells from the target area map, wherein the target area map is a grid map, and each to-be-matched grid cell in the group of to-be-matched grid cells is a grid cell in the target area map that the target robot is allowed to enter;

[0054] S12, performing point cloud matching on the current point cloud data and the point cloud data corresponding to each grid unit to be matched, to obtain a set of candidate poses.

[0055] In this embodiment, the target area map may be a grid map, which may include evenly divided grid cells. The information recorded in each grid cell in the target area map may include the passability value of each grid cell, and its value range may be [0,1], where 0 means impassable and 1 means completely passable. In addition, the target area map may also record the size of the gap in the open area, etc.

[0056] When performing point cloud matching between the current point cloud data and the target area map, the target area map can be first screened to select grid cells that the target robot may enter as grid cells for point cloud matching with the target robot: a group of grid cells to be matched can be determined from the target area map, and each grid cell to be matched is a grid cell in the target area map that the target robot is allowed to enter.

[0057] For example, a grid cell with a passable value greater than or equal to a passable threshold is determined as a grid cell to be matched; or, the grid cell that the target robot can enter is determined based on the passable value and the size of the gap in the opening in the target area map and the size of the target robot.

[0058] After obtaining a set of grid cells to be matched, the current point cloud data can be matched with the point cloud data corresponding to each grid cell to be matched, thereby obtaining a set of candidate poses. Since the candidate poses are solved by converting the whole graph solution into only solving the grid cells that the target robot is allowed to enter, the amount of data required to solve the candidate poses can be reduced, thereby improving the efficiency of determining the candidate poses.

[0059] Through this embodiment, by screening out the grid cells that the robot may enter and solving the candidate postures, the amount of data required to be processed to solve the candidate postures can be reduced and the efficiency of determining the candidate postures can be improved.

[0060] In an exemplary embodiment, point cloud matching is performed between the current point cloud data and the point cloud data corresponding to each grid unit to be matched, to obtain a set of candidate poses, including:

[0061] S21, performing the following steps for each grid cell to be matched, respectively, to obtain a set of candidate poses, wherein when performing the following steps, each grid cell to be matched is a current grid cell:

[0062] Taking the current grid unit as the coordinate origin of the current point cloud data and each preset posture in a set of preset postures as the posture, the current point cloud data is mapped onto the target grid map to obtain a set of mapping values ​​of grid units corresponding to each preset posture;

[0063] Determine a matching parameter corresponding to each preset posture according to a mapping value of a group of grid cells corresponding to each preset posture and a reference value of a corresponding grid cell in a target grid map, wherein the matching parameter corresponding to each preset posture is used to indicate a matching degree between the current point cloud data and the point cloud of the target area map at each preset posture of the current grid cell;

[0064] When there is a target posture in a set of preset postures whose point cloud matching degree indicated by the corresponding matching parameters is greater than or equal to the target matching degree threshold, the posture with the current grid unit as the position and the target posture as the posture is determined as a candidate posture.

[0065] In this embodiment, when determining the candidate poses, each grid unit to be matched can be used as the current grid unit to perform the following steps, so as to determine the matching degree between the current grid unit and the point cloud data of the target robot in the current pose at each preset pose, and then determine whether there is a candidate pose corresponding to the current grid unit. By determining the candidate pose corresponding to each grid unit to be matched, a set of candidate poses can be obtained:

[0066] The current grid cell is used as the coordinate origin of the current point cloud data and each preset posture in a set of preset postures is used as the posture, and the current point cloud data is mapped to the target grid map, so as to obtain a mapping value of a set of grid cells corresponding to each preset posture.

[0067] The above process can first convert the current point cloud data into point cloud data in a map coordinate system by taking the current grid unit as the coordinate origin of the current point cloud data and each preset posture in a set of preset postures as the posture; then, project the converted point cloud data onto the target grid map. The above conversion operation means: taking the current grid unit as the origin of the robot coordinate system and a preset posture as the posture of the robot coordinate system, converting the current point cloud data into point cloud data in a map coordinate system. Obtaining the mapping values ​​of a set of grid cells corresponding to each preset posture means: after projecting the converted point cloud data onto the target grid map, the mapping values ​​of the projected set of grid cells include not only the grid cells to which the points in the point cloud are projected, but also the grid cells to which the points of the point cloud that have not been detected are projected.

[0068] According to the mapping values ​​of a group of grid cells corresponding to each preset posture and the reference values ​​of the corresponding grid cells in the target grid map, the matching parameters corresponding to each preset posture are determined, that is, the point cloud matching degree of the current point cloud data and the target area map at each preset posture of the current grid cell. The proportion of grid cells with consistent values ​​to all grid cells corresponding to each preset posture can be determined by comparing the mapping values ​​of a group of grid cells corresponding to each preset posture and the reference values ​​of the corresponding grid cells in the target grid map.

[0069] Exemplarily, if the number of a group of grid cells corresponding to a preset posture is 1000, wherein among the 1000 grid cells, the number of grid cells whose corresponding mapping values ​​are the same as the reference values ​​is 800, then the point cloud matching degree corresponding to the preset posture is 80%.

[0070] In the case where there is a target posture in a set of preset postures where the point cloud matching degree indicated by the corresponding matching parameters is greater than or equal to the target matching degree threshold, the posture with the current grid unit as the position and the target posture as the posture can be determined as a candidate posture. That is, the point cloud matching degree of the point cloud data collected with the current grid unit as the origin of the target robot and the target posture as the posture of the target robot and the current point cloud data of the target robot is higher than the target matching threshold. The target matching threshold here can be a pre-set matching threshold, which can be 80%, 85%, etc., or other values, which are not limited here.

[0071] If, among a set of preset postures, the number of preset postures whose point cloud matching degree indicated by the corresponding matching parameters is greater than or equal to the target matching degree threshold is zero, then there is no candidate posture corresponding to the current grid unit; if the number of preset postures whose point cloud matching degree indicated by the corresponding matching parameters is greater than or equal to the target matching degree threshold is 1, then the number of candidate postures corresponding to the current grid unit is 1; if the number of preset postures whose point cloud matching degree indicated by the corresponding matching parameters is greater than or equal to the target matching degree threshold is multiple, then the number of candidate postures corresponding to the current grid unit is multiple.

[0072] Through this embodiment, the point cloud data collected by the robot is mapped according to the grid unit to be matched and the preset posture, so as to determine whether there is a candidate posture corresponding to the grid unit to be matched, thereby improving the accuracy of robot repositioning.

[0073] In an exemplary embodiment, determining matching parameters corresponding to each preset posture according to a set of mapping values ​​of grid cells corresponding to each preset posture and a reference value of a corresponding grid cell in a target grid map includes:

[0074] S31, determining, in a group of grid cells corresponding to each preset posture, grid cells whose mapping values ​​match the reference values, to obtain a group of matching grid cells corresponding to each preset posture;

[0075] S32, determining a matching parameter corresponding to each preset posture according to the proportion of a group of matching grid cells corresponding to each preset posture in a group of grid cells corresponding to each preset posture.

[0076] In this embodiment, when determining the matching parameters corresponding to each preset posture, a group of grid cells corresponding to each preset posture, in which the mapping value and the reference value match, can be determined to obtain a group of matching grid cells corresponding to each preset posture. Here, the mapping value and the reference value match means that the mapping value and the reference value are the same, or the difference between the mapping value and the reference value is less than or equal to the target difference threshold.

[0077] After obtaining a group of matching grid cells corresponding to each preset posture, the matching parameter corresponding to each preset posture can be determined according to the proportion of the group of matching grid cells corresponding to each preset posture in the group of grid cells corresponding to each preset posture in a manner similar to the above-mentioned embodiment. For example, if the number of a group of matching grid cells corresponding to the preset posture is 800 and the number of its corresponding group of grid cells is 1000, the matching parameter corresponding to the preset posture is 80%.

[0078] Through this embodiment, by matching the mapping value of the grid cell with the reference value and determining the matching parameters corresponding to each preset posture based on the ratio of the number of matched grid cells to the total number of grid cells, the accuracy of robot repositioning can be improved.

[0079] In an exemplary embodiment, extracting current point cloud features corresponding to current point cloud data, and extracting point cloud features corresponding to each candidate region in a set of candidate regions, include:

[0080] S41, extracting contour features from the current point cloud data to obtain current contour features corresponding to the current point cloud data;

[0081] S42, extracting contour features from the point cloud data corresponding to each candidate region to obtain contour features corresponding to each candidate region.

[0082] After obtaining a set of candidate poses, the candidate poses can be further screened by scoring the environmental similarity of the candidate areas corresponding to the candidate poses. The above-mentioned method of scoring environmental similarity can be based on the contour shape of the regional environment. Correspondingly, contour feature extraction can be performed on the current point cloud data to obtain the current contour feature corresponding to the current point cloud data, and the current point cloud feature includes the current contour feature; contour feature extraction can be performed on the point cloud data corresponding to each candidate area to obtain the contour feature corresponding to each candidate area, and the point cloud feature corresponding to each candidate area includes the contour feature corresponding to each candidate area.

[0083] Optionally, the contour feature extraction of the current point cloud data may be the contour feature extraction of the original point cloud data, or it may be mapping the current point cloud data to a two-dimensional grid map according to each candidate posture in a set of candidate postures, and performing contour feature extraction on the mapped point cloud data to obtain the current contour feature corresponding to each candidate posture.

[0084] Optionally, contour feature extraction is performed on the point cloud data corresponding to each candidate area, or the point cloud data corresponding to each candidate area is mapped onto a two-dimensional grid map, and contour feature extraction is performed on the mapped point cloud data to obtain contour features corresponding to each candidate area.

[0085] When extracting contour features, a concave point mining algorithm based on the convex hull can be used to extract the contour features corresponding to the area: first extract the convex hull of the point cloud, calculate the point density of the vertices of each edge of the convex hull, and if the vertex point density is greater than X times the length of the edge, delete the edge and select a point from the internal points that satisfies the maximum angle, insert the boundary edge, form two new boundary edges, and iterate in sequence until X times of all boundary edges are less than the point density of their endpoints, and the algorithm ends.

[0086] Through this embodiment, contour features are used as point cloud features for point cloud feature extraction, which can improve the accuracy of candidate posture screening and enhance the accuracy of robot repositioning.

[0087] In an exemplary embodiment, determining a pose to which the target robot is relocated from a set of candidate poses by matching current point cloud features with point cloud features corresponding to each candidate region includes:

[0088] S51, determining the similarity between the current contour feature and the contour feature corresponding to each candidate region, and obtaining the contour similarity corresponding to the candidate posture;

[0089] S52, determining the candidate poses in a group of candidate poses whose corresponding contour similarity is greater than or equal to the target similarity threshold as the poses to which the target robot is relocated.

[0090] In this embodiment, when determining the pose to which the target robot is to be relocated from a set of candidate poses, a judgment can be made based on contour similarity: the similarity between the current contour feature and the contour feature corresponding to each candidate area is determined, thereby obtaining the contour similarity corresponding to the candidate pose; the candidate pose in a set of candidate poses whose corresponding contour similarity is greater than or equal to the target similarity threshold is determined as the pose to which the target robot is to be relocated.

[0091] Here, the target similarity threshold can be a preset similarity threshold, which can be 90%, 95%, 98%, or other reasonable values, which are not limited here. The above-mentioned method of calculating contour similarity can be achieved by shape matching through Hu moment (image moment), or can be achieved by other methods, which are not limited here.

[0092] Through this embodiment, the posture to which the robot is relocated is selected from candidate postures based on contour similarity, which can improve the accuracy of robot relocation.

[0093] In an exemplary embodiment, after determining the pose to which the target robot is relocated from a set of candidate poses by matching the current point cloud features with the point cloud features corresponding to each candidate region, the method further includes:

[0094] S61, when the position to which the target robot is relocated is not determined from a set of candidate positions, controlling the target robot to perform regional exploration to construct a map according to the explored regional information;

[0095] S62, when a posture to which the target robot is relocated is determined from a set of candidate postures, determining the current posture of the target robot from the posture to which the target robot is relocated;

[0096] S63, when at least two positions to which the target robot is relocated are determined from a set of candidate positions, controlling the target robot to perform area exploration to determine a current position of the target robot from the at least two positions.

[0097] In this embodiment, the current posture of the target robot may be determined in different ways according to the number of postures to which the target robot is relocated determined from a set of candidate postures.

[0098] If the pose to which the target robot is relocated is not determined from a set of candidate poses, that is, after screening, no candidate pose in a set of candidate poses satisfies the conditions. In this case, it can be determined that the robot has entered a new area that is not covered in the saved map, and the target robot can be controlled to explore the area to build a map based on the explored area information, thereby achieving global positioning of the target robot without any prior information. When the target robot is exploring the area, if it is detected that there is a pillar blocking it, the target robot is controlled to rotate in place to collect point cloud data of the surrounding space environment.

[0099] If a posture to which the target robot is relocated is determined from a set of candidate postures, that is, after screening, there is a final posture in a set of candidate postures that meets the conditions, the relocated posture can be determined as the current posture of the target robot, thereby achieving the relocation of the target robot.

[0100] If at least two positions to which the target robot is relocated are determined from a set of candidate positions, that is, after screening, there are at least two candidate positions in a set of candidate positions that meet the conditions, then the target robot can be controlled to perform regional exploration, and the current position of the target robot can be determined from the at least two positions based on the actual situation of the regional exploration.

[0101] Through this embodiment, the current position of the robot is determined according to the number of positions to which the robot is relocated that are screened out, so that the accuracy of the robot relocation can be improved.

[0102] The robot relocation method in this embodiment is explained below in conjunction with an optional example. In this optional example, the target robot is an LDS robot, and the target robot is currently in an indoor environment (the relocation method in other environments is similar).

[0103] In the related technology, the LDS robot performs point cloud to map matching relocation in situ. The above method only obtains the solution with the highest score (i.e., the robot position). The score only looks at the proportion of the grid occupied by the points in the point cloud that can be matched on the map. If all candidate solutions exceeding a certain threshold are taken, the screening cannot be completed in situ.

[0104] In order to solve at least part of the above technical problems, this optional example provides a solution for improving the relocalization speed in an indoor environment based on the environmental similarity of point clouds, such as Figure 3 As shown, the process of the robot repositioning method in this optional example may include the following steps:

[0105] In step S302, the LDS robot performs point cloud matching relocation to the saved map in situ, and retains all candidate solutions with scores exceeding a threshold, that is, the machine's posture.

[0106] Step S304: the LDS robot takes the corresponding area of ​​the map for each candidate solution and scores the environmental similarity, for example, by comparing the shapes.

[0107] Step S306: If there is no candidate solution after screening, it is considered that the robot has entered a new environment. If there is only one candidate solution, it is considered that the relocalization is successful. If there are still more than two candidate solutions left, the correct solution is screened through subsequent exploration.

[0108] Through this example, the robot is relocalized based on point cloud matching and environment similarity matching, which can improve the speed of robot relocalization in indoor environments.

[0109] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.

[0110] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM (Read-Only Memory, read-only memory) / RAM (Random Access Memory, random access memory), a disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the method described in each embodiment of the present application.

[0111] According to yet another aspect of the embodiments of the present application, a robot repositioning device for implementing the above-mentioned robot repositioning method is also provided. Figure 4 is a structural block diagram of an optional robot repositioning device according to an embodiment of the present application, such as Figure 4 As shown, the device may include:

[0112] The first matching unit 402 is used to perform point cloud matching between the current point cloud data acquired by the target robot and the target area map to obtain a set of candidate poses, wherein, at each candidate pose in the set of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to a target matching degree threshold;

[0113] an extraction unit 404, connected to the first matching unit 402, for extracting current point cloud features corresponding to the current point cloud data, and extracting point cloud features corresponding to each candidate region in a set of candidate regions, wherein each candidate region in the set of candidate regions corresponds one-to-one to one candidate pose in a set of candidate poses;

[0114] The second matching unit 406 is connected to the extraction unit 404, and is used to determine the pose to which the target robot is relocated from a set of candidate poses by matching the current point cloud features with the point cloud features corresponding to each candidate area.

[0115] It should be noted that the first matching unit 402 in this embodiment can be used to execute the above step S202, the extraction unit 404 in this embodiment can be used to execute the above step S204, and the second matching unit 406 in this embodiment can be used to execute the above step S206.

[0116] Through the above module, the current point cloud data acquired by the target robot is point cloud matched with the target area map to obtain a group of candidate poses, wherein, at each candidate pose in a group of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to the target matching degree threshold; the current point cloud features corresponding to the current point cloud data are extracted, and the point cloud features corresponding to each candidate area in a group of candidate areas are extracted, wherein each candidate area in a group of candidate areas corresponds one-to-one to a candidate pose in a group of candidate poses; by matching the current point cloud features with the point cloud features corresponding to each candidate area, the pose to which the target robot is relocated is determined from a group of candidate poses, thereby solving the problem of low accuracy of robot relocation due to easy mismatching in the robot relocation method in the related art, and improving the accuracy of robot relocation.

[0117] In an exemplary embodiment, the first matching unit includes:

[0118] A first determination module is used to determine a group of to-be-matched grid cells from a target area map, wherein the target area map is a grid map, and each to-be-matched grid cell in the group of to-be-matched grid cells is a grid cell in the target area map that the target robot is allowed to enter;

[0119] The matching module is used to perform point cloud matching between the current point cloud data and the point cloud data corresponding to each grid unit to be matched, so as to obtain a set of candidate poses.

[0120] In an exemplary embodiment, the matching module includes:

[0121] The execution submodule is used to execute the following steps for each grid cell to be matched, respectively, to obtain a set of candidate poses, wherein when executing the following steps, each grid cell to be matched is a current grid cell:

[0122] Taking the current grid unit as the coordinate origin of the current point cloud data and each preset posture in a set of preset postures as the posture, the current point cloud data is mapped onto the target grid map to obtain a set of mapping values ​​of grid units corresponding to each preset posture;

[0123] Determine a matching parameter corresponding to each preset posture according to a mapping value of a group of grid cells corresponding to each preset posture and a reference value of a corresponding grid cell in a target grid map, wherein the matching parameter corresponding to each preset posture is used to indicate a matching degree between the current point cloud data and the point cloud of the target area map at each preset posture of the current grid cell;

[0124] When there is a target posture in a set of preset postures whose point cloud matching degree indicated by the corresponding matching parameters is greater than or equal to the target matching degree threshold, the posture with the current grid unit as the position and the target posture as the posture is determined as a candidate posture.

[0125] In an exemplary embodiment, the execution submodule includes:

[0126] A first determination subunit is used to determine, in a group of grid cells corresponding to each preset posture, grid cells whose mapping values ​​match the reference values, to obtain a group of matching grid cells corresponding to each preset posture;

[0127] The second determination subunit is used to determine the matching parameters corresponding to each preset posture according to the proportion of a group of matching grid cells corresponding to each preset posture in a group of grid cells corresponding to each preset posture.

[0128] In an exemplary embodiment, the extraction unit comprises:

[0129] A first extraction module is used to extract contour features from the current point cloud data to obtain current contour features corresponding to the current point cloud data;

[0130] The second extraction module is used to extract contour features from the point cloud data corresponding to each candidate area to obtain contour features corresponding to each candidate area.

[0131] In an exemplary embodiment, the second matching unit includes:

[0132] The second determination module is used to determine the similarity between the current contour feature and the contour feature corresponding to each candidate area, and obtain the contour similarity corresponding to the candidate posture;

[0133] The third determination module is used to determine the candidate poses whose corresponding contour similarities in a group of candidate poses are greater than or equal to the target similarity threshold as the poses to which the target robot is relocated.

[0134] In an exemplary embodiment, the above device further comprises:

[0135] a first control unit, configured to, after determining the pose to which the target robot is relocated from a set of candidate poses by matching the current point cloud features with the point cloud features corresponding to each candidate region, control the target robot to perform regional exploration if the pose to which the target robot is relocated is not determined from the set of candidate poses, so as to construct a map according to the explored regional information;

[0136] a determination unit, for determining a current posture of the target robot from the posture to which the target robot is relocated, when a posture to which the target robot is relocated is determined from a set of candidate postures;

[0137] The second control unit is used to control the target robot to perform area exploration when at least two postures to which the target robot is relocated are determined from a set of candidate postures, so as to determine the current posture of the target robot from the at least two postures.

[0138] It should be noted that the examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the contents disclosed in the above embodiments. It should be noted that the above modules as part of the device can be run in Figure 1 In the hardware environment shown, it can be implemented by software or by hardware, wherein the hardware environment includes a network environment.

[0139] According to another aspect of the embodiments of the present application, a storage medium is also provided. Optionally, in this embodiment, the storage medium can be used to execute the program code of any of the above robot repositioning methods in the embodiments of the present application.

[0140] Optionally, in this embodiment, the storage medium may be located on at least one network device among a plurality of network devices in the network shown in the above embodiment.

[0141] Optionally, in this embodiment, the storage medium is configured to store program codes for executing the following steps:

[0142] S1, performing point cloud matching on the current point cloud data acquired by the target robot and the target area map to obtain a set of candidate poses, wherein, at each candidate pose in the set of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to the target matching degree threshold;

[0143] S2, extracting current point cloud features corresponding to current point cloud data, and extracting point cloud features corresponding to each candidate region in a set of candidate regions, wherein each candidate region in the set of candidate regions corresponds one-to-one to one candidate pose in a set of candidate poses;

[0144] S3, by matching the current point cloud features with the point cloud features corresponding to each candidate region, the pose to which the target robot is relocated is determined from a set of candidate poses.

[0145] Optionally, in this embodiment, the storage medium may include, but is not limited to, various media that can store program codes, such as a USB flash drive, a ROM, a RAM, a mobile hard disk, a magnetic disk, or an optical disk.

[0146] According to another aspect of the embodiments of the present application, an electronic device for implementing the above-mentioned robot repositioning method is also provided. The electronic device may be a server, a terminal, or a combination thereof.

[0147] Figure 5 is a structural block diagram of an optional electronic device according to an embodiment of the present application, such as Figure 5 As shown, it includes a processor 502, a communication interface 504, a memory 506 and a communication bus 508, wherein the processor 502, the communication interface 504 and the memory 506 communicate with each other through the communication bus 508, wherein,

[0148] Memory 506, used for storing computer programs;

[0149] The processor 502 is used to execute the computer program stored in the memory 506 to implement the following steps:

[0150] S1, performing point cloud matching on the current point cloud data acquired by the target robot and the target area map to obtain a set of candidate poses, wherein, at each candidate pose in the set of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to the target matching degree threshold;

[0151] S2, extracting current point cloud features corresponding to current point cloud data, and extracting point cloud features corresponding to each candidate region in a set of candidate regions, wherein each candidate region in the set of candidate regions corresponds one-to-one to one candidate pose in a set of candidate poses;

[0152] S3, by matching the current point cloud features with the point cloud features corresponding to each candidate region, the pose to which the target robot is relocated is determined from a set of candidate poses.

[0153] Optionally, in this embodiment, the communication bus may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 5 The communication interface is used for communication between the electronic device and other devices.

[0154] The above-mentioned memory may include RAM, or may include non-volatile memory (non-volatile memory), for example, at least one disk memory. Optionally, the memory may also be at least one storage device located far away from the above-mentioned processor.

[0155] As an example, the memory 506 may include, but is not limited to, the first matching unit 402, the extraction unit 404, and the second matching unit 406 in the control device of the device. In addition, it may also include, but is not limited to, other module units in the control device of the device, which will not be repeated in this example.

[0156] The above-mentioned processor can be a general-purpose processor, which can include but not be limited to: CPU (Central Processing Unit), NP (Network Processor), etc.; it can also be DSP (Digital Signal Processing), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0157] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment will not be described in detail here.

[0158] It can be understood by those skilled in the art that Figure 5The structure shown is for illustration only. The device for implementing the above-mentioned robot repositioning method may be a terminal device, which may be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a PDA, a mobile Internet device (Mobile Internet Devices, MID), a PAD, and other terminal devices. Figure 5 The structure of the electronic device is not limited. Figure 5 More or fewer components (such as network interfaces, display devices, etc.) shown in, or having Figure 5 Different configurations shown.

[0159] A person of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing the hardware related to the terminal device through a program, and the program can be stored in a computer-readable storage medium, which can include: a flash drive, ROM, RAM, a magnetic disk or an optical disk, etc.

[0160] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0161] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which may be personal computers, servers or network devices, etc.) to execute all or part of the steps of the method described in each embodiment of the present application.

[0162] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0163] In the several embodiments provided in the present application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0164] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution provided in this embodiment.

[0165] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0166] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A robot repositioning method, characterized in that: include: Performing point cloud matching on the current point cloud data acquired by the target robot and the target area map to obtain a set of candidate poses; wherein, for each candidate pose in the set of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to a target matching degree threshold; Extracting current point cloud features corresponding to the current point cloud data, and extracting point cloud features corresponding to each candidate area in a set of candidate areas, wherein each candidate area in the set of candidate areas corresponds one-to-one to a candidate pose in the set of candidate poses; By matching the current point cloud features with the point cloud features corresponding to each candidate area, determining the pose to which the target robot is relocated from the set of candidate poses, The point cloud matching of the current point cloud data acquired by the target robot with the target area map is performed to obtain a set of candidate poses, including: Determine a group of to-be-matched grid cells from the target area map, wherein the target area map is a grid map, and each to-be-matched grid cell in the group of to-be-matched grid cells is a grid cell in the target area map that the target robot is allowed to enter; Performing point cloud matching on the current point cloud data and the point cloud data corresponding to each grid unit to be matched to obtain the set of candidate poses, The grid map includes evenly divided grid cells, and the information recorded in each grid cell in the target area map includes the passable value of each grid cell. Among them, the grid cell whose passable value is greater than or equal to the passable threshold is determined as the grid cell to be matched; or, the grid cell entered by the target robot is determined based on the passable value and the size of the gap in the opening in the target area map and the size of the target robot.

2. The method according to claim 1, characterized in that The step of performing point cloud matching on the current point cloud data and the point cloud data corresponding to each grid unit to be matched to obtain the set of candidate poses includes: The following steps are respectively performed on each of the grid cells to be matched to obtain the set of candidate poses, wherein when performing the following steps, each of the grid cells to be matched is a current grid cell: Taking the current grid unit as the coordinate origin of the current point cloud data and taking each preset posture in a set of preset postures as a posture, mapping the current point cloud data onto a target grid map to obtain a set of mapping values ​​of grid units corresponding to each preset posture; Determine a matching parameter corresponding to each preset posture according to a mapping value of a group of grid cells corresponding to each preset posture and a reference value of a corresponding grid cell in the target grid map, wherein the matching parameter corresponding to each preset posture is used to indicate a matching degree between the current point cloud data and the point cloud of the target area map at each preset posture of the current grid cell; When there is a target posture in the set of preset postures whose point cloud matching degree indicated by the corresponding matching parameters is greater than or equal to the target matching degree threshold, the posture with the current grid unit as the position and the target posture as the posture is determined as a candidate posture.

3. The method according to claim 2, characterized in that The determining of the matching parameters corresponding to each preset posture according to the mapping values ​​of a group of grid cells corresponding to each preset posture and the reference values ​​of the corresponding grid cells in the target grid map comprises: Determine, in a group of grid cells corresponding to each of the preset postures, grid cells whose mapping values ​​match the reference values, to obtain a group of matching grid cells corresponding to each of the preset postures; According to the proportion of a group of matching grid cells corresponding to each preset posture in a group of grid cells corresponding to each preset posture, a matching parameter corresponding to each preset posture is determined.

4. The method according to claim 1, characterized in that: The extracting of the current point cloud features corresponding to the current point cloud data, and the extracting of the point cloud features corresponding to each candidate area in a set of candidate areas, comprises: Extracting contour features from the current point cloud data to obtain current contour features corresponding to the current point cloud data; Contour features are extracted from the point cloud data corresponding to each candidate region to obtain contour features corresponding to each candidate region.

5. The method according to claim 1, characterized in that The step of determining the pose to which the target robot is relocated from the set of candidate poses by matching the current point cloud features with the point cloud features corresponding to each candidate area comprises: Determine the similarity between the current contour feature and the contour feature corresponding to each candidate region, and obtain the contour similarity corresponding to the candidate pose; The candidate poses in the group of candidate poses whose corresponding contour similarity is greater than or equal to the target similarity threshold are determined as the poses to which the target robot is relocated.

6. The method according to any one of claims 1 to 5, characterized in that After determining the pose to which the target robot is relocated from the set of candidate poses by matching the current point cloud features with the point cloud features corresponding to each candidate area, the method further includes: When the position to which the target robot is relocated is determined from the set of candidate positions, the target robot is controlled to perform regional exploration to construct a map according to the explored regional information; In the case where a pose to which the target robot is relocated is determined from the set of candidate poses, determining the current pose of the target robot from the pose to which the target robot is relocated; In a case where at least two positions to which the target robot is relocated are not determined from the set of candidate positions, the target robot is controlled to perform area exploration to determine a current position of the target robot from the at least two positions.

7. A robot repositioning device, characterized in that: include: A first matching unit is used to perform point cloud matching between the current point cloud data acquired by the target robot and the target area map to obtain a set of candidate poses, wherein, at each candidate pose in the set of candidate poses, the point cloud matching degree between the current point cloud data and the target area map is greater than or equal to a target matching degree threshold; an extraction unit, configured to extract current point cloud features corresponding to the current point cloud data, and extract point cloud features corresponding to each candidate area in a set of candidate areas, wherein each candidate area in the set of candidate areas corresponds one-to-one to one candidate pose in the set of candidate poses; A second matching unit is used to determine the pose to which the target robot is relocated from the set of candidate poses by matching the current point cloud feature with the point cloud feature corresponding to each candidate area, The first matching unit is further used to: determine a group of grid cells to be matched from the target area map, wherein the target area map is a grid map, and each grid cell to be matched in the group of grid cells to be matched is a grid cell in the target area map that allows the target robot to enter; perform point cloud matching on the current point cloud data and the point cloud data corresponding to each grid cell to be matched to obtain the group of candidate poses, The grid map includes evenly divided grid cells, and the information recorded in each grid cell in the target area map includes the passable value of each grid cell. Among them, the grid cell whose passable value is greater than or equal to the passable threshold is determined as the grid cell to be matched; or, the grid cell entered by the target robot is determined based on the passable value and the size of the gap in the opening in the target area map and the size of the target robot.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored program, wherein the program executes the method according to any one of claims 1 to 6 when executed.

9. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to execute the method according to any one of claims 1 to 6 through the computer program.

Citation Information

Patent Citations

  • Point cloud matching method, positioning method, equipment and storage medium

    CN111815687A

  • Pose repositioning method, device and equipment of laser sweeper and medium

    CN112819891A