Relocation Method, Device, Robot and Computer Readable Storage Medium

By pre-generating virtual laser frames and directly matching real-time laser frames during the relocation process, the problem of low relocation efficiency in the existing technology is solved, and the robot relocation efficiency is improved.

CN115468557BActive Publication Date: 2025-08-01UBTECH ROBOTICS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210966408.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-12
Publication Date
2025-08-01
Estimated Expiration
2042-08-12

AI Technical Summary

Technical Problem

The existing relocation method requires projecting laser observations of each real-time position into an existing map for coordinate conversion, resulting in low relocation efficiency.

Method used

By pre-forming multiple virtual laser frames in the target area and directly matching real-time laser frames with virtual laser frames during the relocation process, the coordinate conversion steps are reduced and the relocation efficiency is improved.

Benefits of technology

It effectively reduces the time-consuming algorithm, improves the efficiency of robot relocation, and improves the friendliness of product use.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115468557B_ABST
    Figure CN115468557B_ABST
Patent Text Reader

Abstract

This application is applicable to the field of control technology, and provides a relocalization method, apparatus, robot, and computer-readable storage medium, including: obtaining a plurality of virtual laser frames of a target area, where one of the virtual laser frames represents environmental data at a position in the target area; generating a first map according to an actually collected real laser frame, where the real laser frame represents environmental data at the current position of the robot in the target area; determining a target laser frame that matches the first map from the plurality of virtual laser frames; and determining the relocalization pose of the robot according to the target laser frame and the first map. Through the above method, the algorithm time consumption can be effectively reduced, and the efficiency of robot relocalization can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of control technology, and particularly relates to a relocalization method, apparatus, robot, and computer-readable storage medium. Background Art

[0002] During navigation, a robot senses the environmental information around itself and combines the existing map data to confirm whether there is a navigation error. In the case of a navigation error, relocalization needs to be performed, that is, the robot adjusts the current navigation position according to the sensed environmental information and in cooperation with the existing map data.

[0003] In the existing relocalization method, the laser observations at each real-time position need to be projected onto the existing map, and then the occupancy rate of the laser points in the existing map is calculated to calculate the confidence of the pose. Finally, the pose with the highest confidence is determined as the relocalization pose. In the above method, since the laser observations at each real-time position need to be coordinate-transformed to be projected onto the existing map, the algorithm takes a long time, resulting in low relocalization efficiency. Summary of the Invention

[0004] Embodiments of this application provide a relocalization method, apparatus, robot, and computer-readable storage medium, which can effectively improve the relocalization efficiency of the robot.

[0005] In a first aspect, embodiments of this application provide a relocalization method, including:

[0006] Obtain a plurality of virtual laser frames of a target area, where one of the virtual laser frames represents the environmental data at a position in the target area;

[0007] Generate a first map according to the actually collected real laser frame, where the real laser frame represents the environmental data at the current position of the robot in the target area;

[0008] Determine a target laser frame that matches the first map from the plurality of virtual laser frames;

[0009] Determine the relocalization pose of the robot according to the target laser frame and the first map.

[0010] In the embodiments of the present application, the virtual laser frames of the target area can be pre-generated offline. During the relocalization process, the pre-generated virtual laser frames can be directly obtained, saving the time for relocalization. Further, the first map generated based on the actually collected real laser frames is equivalent to the local map corresponding to the current position of the robot, and each virtual laser frame represents the environmental data at a position in the target area. Therefore, matching the first map with the virtual laser frames is equivalent to matching the local map and the local environmental data. Finally, the relocalization pose is determined based on the matched target laser frame and the first map. Through the above method, only coordinate transformation needs to be performed between the target laser frame and the first map, without performing coordinate transformation on each actual laser frame, effectively reducing the algorithm time consumption and improving the relocalization efficiency of the robot.

[0011] In a possible implementation manner of the first aspect, the obtaining multiple virtual laser frames of the target area includes:

[0012] Obtaining a second map of the target area;

[0013] Obtaining the environmental data corresponding to each of multiple sampling positions in the second map;

[0014] Generating a virtual laser frame according to the environmental data corresponding to each sampling position.

[0015] In a possible implementation manner of the first aspect, the environmental data corresponding to each sampling position includes multiple sets of first pose data, and each set of first pose data represents the relative distance and relative angle between a laser reflection point around the current sampling position and the current sampling position;

[0016] The generating a virtual laser frame according to the environmental data of each sampling position includes:

[0017] Determining a first coordinate system corresponding to the sampling position according to the environmental data corresponding to the sampling position;

[0018] Transforming each set of the first pose data in the environmental data corresponding to the sampling position into the first coordinate system to obtain the transformed first pose data;

[0019] Generating a virtual laser frame according to the transformed first pose data.

[0020] In a possible implementation manner of the first aspect, the real laser frame includes multiple sets of second pose data, and each set of second pose data represents the relative distance and relative angle between a laser reflection point around the current position of the robot in the target area and the current position;

[0021] The generating a first map according to the actually collected real laser frames includes:

[0022] Determine a second coordinate system corresponding to the current position of the robot in the target area according to the actual laser frame;

[0023] Transform each group of the second pose data in the actual laser frame into the second coordinate system to obtain the transformed second pose data;

[0024] Generate the first map according to the transformed second pose data.

[0025] In a possible implementation manner of the first aspect, determining the target laser frame that matches the first map from the multiple virtual laser frames includes:

[0026] Calculate the matching degree between the first map and each virtual laser frame;

[0027] Determine the virtual laser frame with the highest matching degree as the target laser frame.

[0028] In a possible implementation manner of the first aspect, determining the relocalization pose of the robot according to the target laser frame and the first map includes:

[0029] Calculate the relative pose between the target laser frame and the first map;

[0030] Determine the relocalization pose of the robot according to the pose of the robot corresponding to the target laser frame and the relative pose.

[0031] In a second aspect, an embodiment of the present application provides a relocalization device, including:

[0032] An acquisition unit, configured to acquire a plurality of virtual laser frames of a target area, where one virtual laser frame represents environmental data at a position in the target area;

[0033] A generation unit, configured to generate a first map according to an actual laser frame collected in real time, where the actual laser frame represents environmental data at the current position of the robot in the target area;

[0034] A determination unit, configured to determine a target laser frame that matches the first map from the multiple virtual laser frames;

[0035] A localization unit, configured to determine the relocalization pose of the robot according to the target laser frame and the first map.

[0036] In a third aspect, 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. When the processor executes the computer program, the relocating method described in any one of the above first aspects is implemented.

[0037] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the relocating method described in any one of the above first aspects is implemented.

[0038] In a fifth aspect, an embodiment of the present application provides a computer program product. When the computer program product runs on a terminal device, the terminal device is caused to execute the relocating method described in any one of the above first aspects.

[0039] It can be understood that the beneficial effects of the above second to fifth aspects can be referred to the relevant descriptions in the above first aspect, and will not be elaborated here. Description of the Drawings

[0040] To more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments or the description of the prior art. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0041] Figure 1 is a schematic structural diagram of the robot provided by the embodiment of the present application;

[0042] Figure 2 is a schematic diagram of the offline process provided by the embodiment of the present application

[0043] Figure 3 is a schematic diagram of the laser frame provided by the embodiment of the present application;

[0044] Figure 4 is a schematic flowchart of the online process provided by the embodiment of the present application;

[0045] Figure 5 is a block diagram of the structure of the relocating device provided by the embodiment of the present application. Detailed Embodiments

[0046] In the following description, for the purpose of illustration rather than limitation, specific details such as specific system architectures, technologies, etc. are provided to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details from obscuring the description of the present application.

[0047] It should be understood that when used in the specification and appended claims of the present application, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their combinations.

[0048] It should also be understood that the term "and / or" as used in the specification and appended claims of the present application refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0049] As used in the specification and appended claims of the present application, the term "if" can be interpreted as "when", "once", "in response to determining", or "in response to detecting" depending on the context. Similarly, the phrase "if determined" or "if [the described condition or event] is detected" can be interpreted as meaning "once determined", "in response to determining", "once [the described condition or event] is detected", or "in response to detecting [the described condition or event]" depending on the context.

[0050] In addition, in the description of the specification and appended claims of the present application, the terms "first", "second", "third", etc. are only used for distinguishing descriptions and cannot be understood as indicating or implying relative importance.

[0051] The reference to "one embodiment" or "some embodiments" etc. described in the specification of the present application means that a specific feature, structure, or characteristic described in connection with that embodiment is included in one or more embodiments of the present application. Thus, statements such as "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments", etc. that appear in different places in this specification do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways.

[0052] First, the technical background of this application is introduced. Laser relocalization refers to determining the pose in a pre-built map based on single-frame or multi-frame laser images. It is the basis for subsequent autonomous navigation. Existing laser relocalization methods mainly include particle filtering and template matching. Among them, the common steps of the template matching method are as follows: during the relocalization process, project the laser observations at each real-time position onto the existing map, then calculate the confidence of the pose by calculating the occupancy rate of the laser points in the existing map, and finally determine the relocalization pose as the pose with the highest confidence. In the above method, since the laser observations at each real-time position need to be coordinate-transformed to be projected onto the existing map, the algorithm takes a long time, resulting in low relocalization efficiency.

[0053] To solve the above problems, an embodiment of this application provides a relocalization method. By the method provided in this application, the step of coordinate-transforming each actual laser frame can be omitted, reducing the algorithm time consumption and effectively improving the relocalization efficiency of the robot, thereby improving the user-friendliness of the product.

[0054] The relocalization method provided in the embodiment of this application can be applied to robots. The robot can be a humanoid robot, a tracked robot, an aerial photography robot, etc. with a laser scanning function. See Figure 1 , which is a schematic structural diagram of the robot provided in the embodiment of this application. As Figure 1 shown, the robot 1 in this embodiment includes: at least one processor 10 ( Figure 1 only one is shown in the figure), a memory 11, a laser 12, and a computer program 13 stored in the memory 11 and executable on the at least one processor 10. When the processor 10 executes the computer program 13, the steps in any of the above relocalization method embodiments are implemented.

[0055] The robot may include, but is not limited to, a processor and a memory. Those skilled in the art can understand that Figure 1 this is only an example of the robot 1 and does not constitute a limitation on the robot 1. It may include more or fewer components than shown in the figure, or combine some components, or different components. For example, it may also include input / output devices, network access devices, etc.

[0056] The so-called processor 10 may be a Central Processing Unit (CPU), and the processor 10 may also be other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0057] In some embodiments, the memory 11 may be an internal storage unit of the robot 1, such as the hard disk or memory of the robot 1. In other embodiments, the memory 11 may also be an external storage device of the robot 1, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, etc. equipped on the robot 1. Further, the memory 11 may also include both the internal storage unit and the external storage device of the robot 1. The memory 11 is used to store an operating system, application programs, a Boot Loader, data, and other programs, such as the program code of the computer program, etc. The memory 11 may also be used to temporarily store data that has been output or is to be output.

[0058] As Figure 1 shown, communication connections may be achieved between the laser, the processor, and the memory through one or more communication lines.

[0059] In the embodiments of the present application, the laser 12 is used to implement the laser scanning function of the robot 1. Among them, the laser 12 may include a transmitter and a receiver. The laser 12 emits laser light to the surface of the target object through the transmitter, and acquires the laser light reflected by the surface of the target object through the receiver and generates a laser point cloud map to implement the corresponding laser scanning function.

[0060] In the embodiments of the present application, the memory 11 may be, but is not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a Programmable Read-Only Memory (PROM), an Erasable Programmable Read-Only Memory (EPROM), an Electric Erasable Programmable Read-Only Memory (EEPROM), etc. Among them, the memory 11 is used to store a computer program capable of implementing the relocation method of the present application and relocation-related data.

[0061] In the embodiments of the present application, after receiving an execution instruction, the processor 10 may correspondingly execute the computer program in the memory 111. The processor 10 may generate multiple virtual laser frames offline and send the virtual laser frames to the memory 11 for storage. During the relocation process, the processor 10 may also obtain the generated virtual laser frames from the memory 11, obtain the actual laser frames through the laser 12, and then perform data processing on the virtual laser frames and the actual laser frames according to the relocation method to achieve the relocation of the robot.

[0062] The relocation method provided by the embodiments of the present application may be divided into an offline process and an online process. Among them, the offline process is used to generate multiple virtual laser frames of the target area. The online process is used for real-time relocation.

[0063] First, the offline process is introduced. Refer to Figure 2 , which is a schematic diagram of the offline process provided by the embodiments of the present application. As Figure 2 shown, the generation method of the virtual laser frame includes:

[0064] S201, obtain a second map of the target area.

[0065] Among them, the target area refers to the moving area of the robot, within which the robot performs real-time navigation and relocation.

[0066] The second map is equivalent to the global map of the target area. This second map may be generated according to the existing Simultaneous Localization and Mapping (SLAM) method. For example, for a home service robot, its moving area is the entire home area, including the kitchen, dining room, bathroom, and guest room, etc. Correspondingly, the target area is the entire home area. Another example is a restaurant food delivery robot, whose moving area is the seating area of a certain restaurant. Correspondingly, the target area is the seating area of that restaurant.

[0067] S202. Obtain the environmental data corresponding to each of the multiple sampling positions in the second map.

[0068] In the embodiments of the present application, the sampling positions may be positions preset in the second map. In practical applications, the sampling positions may be set according to the key position points of the robot's movement. For example, when the second map represents the entire home area, the door positions of each room are key positions, and the positions representing the doors in the second map are set as sampling positions. Another example is that when the second map represents the guest area of a certain restaurant, the positions adjacent to the aisles of each table are key positions, and the positions representing the areas adjacent to the aisles of the tables in the second map are set as sampling positions.

[0069] The sampling positions may also be sampled from the second map. In practical applications, a sampling interval may be preset, such as sampling a position every 20 cm. In this way, after obtaining the second map, only the initial sampling point needs to be set, and multiple sampling positions can be obtained in sequence according to the preset sampling interval.

[0070] In the embodiments of the present application, the environmental data corresponding to each sampling position includes multiple groups of first pose data, and each group of first pose data represents the relative distance and relative angle between a laser reflection point around the current sampling position and the current sampling position. Specifically, a group of first pose data may be an array or a vector. The elements in the array or vector may include the x and y coordinates, distance value, and relative angle between the sampling position and a laser reflection point.

[0071] S203. Generate a virtual laser frame according to the environmental data corresponding to each sampling position.

[0072] Wherein, a virtual laser frame represents the environmental data at a position in the target area.

[0073] When the robot is at a position in the target area, it emits laser light around through a laser. After the laser encounters a target object and is reflected, the laser calculates the distance and relative angle between the target object and the robot through the received laser, and these data constitute a laser frame. See Figure 3 , which is a schematic diagram of the laser frame provided by the embodiments of the present application. As Figure 3 shown, the current sampling position is LO, the boundary formed by the vertices ABCDEF represents the wall, and the solid circles on the boundary represent the laser reflection points. Figure 3 Shown is a laser frame. It can be seen that a laser frame includes a set of pose data for each of multiple laser point reflection points. Through the laser frame, the environmental data around the current position of the robot is equivalently obtained. A laser frame corresponds to a pose of the robot, including a position and an angle.

[0074] The virtual laser frame in the embodiment of the present application can be generated after the robot traverses the target area; it can also be generated using existing ray casting algorithms (such as Raycasting technology), which can virtualize the emission path of the laser beam and the reflection path of the laser line, and then can simulate and calculate the laser frame corresponding to each sampling position in the second map.

[0075] Optionally, step S203 may include:

[0076] Generate a matrix from multiple sets of first pose data corresponding to each sampling position, and store this matrix as a virtual laser frame. Wherein, each row in the matrix is a set of first pose data, or each column in the matrix is a set of first pose data.

[0077] In practical applications, the following situation may exist, where the coordinate axes of multiple sets of first pose data corresponding to each sampling position are not unified. In this case, the virtual laser frames corresponding to each sampling position do not conform to rotational variability, thereby affecting the accuracy of subsequent online relocalization.

[0078] To solve the above problem, optionally, step S203 may include:

[0079] Determine the first coordinate system corresponding to the sampling position according to the environmental data corresponding to the sampling position; transform each set of the first pose data in the environmental data corresponding to the sampling position into the first coordinate system to obtain the transformed first pose data; generate a virtual laser frame according to the transformed first pose data.

[0080] Specifically, the above processing can be performed on the environmental data of each sampling position through the principal components analysis technique (PCA, principal components analysis). PCA is a linear transformation that transforms the data into a new coordinate system such that the first largest variance of any data projection is on the first coordinate axis (referred to as the first principal component), and the second largest variance is on the second coordinate axis (the second principal component). Through the first pose data processed by PCA, the data is unified to the main axis, meeting the rotational invariance; and while retaining the features with greater contributions in the environmental data, the dimension of the environmental data is reduced, which is conducive to improving the efficiency of subsequent online relocalization.

[0081] Through the method described in the above Figure 2 embodiment, a series of virtual laser frames can be pre-generated. Store these virtual laser frames in the Figure 1 memory described in the embodiment. During the online process executed by the processor, the generated virtual laser frames can be obtained from the memory without online generation of virtual laser frames, which is conducive to improving the efficiency of online relocalization.

[0082] The online process is introduced below. Refer to Figure 4 , which is a schematic flowchart of the online process provided by an embodiment of the present application. By way of example and not limitation, the method may include the following steps:

[0083] S401, Obtain multiple virtual laser frames of the target area.

[0084] Optionally, all virtual laser frames corresponding to the target area can be obtained. For example, for a domestic service robot, the target area where it moves is all rooms. All virtual laser frames corresponding to each sampling position in all rooms can be obtained, such as the virtual laser frame at the bedroom door, the virtual laser frame at the entrance door, and the virtual laser frame at the kitchen door, and so on.

[0085] Optionally, the virtual laser frames corresponding to the positions of the actually collected real-time laser frames can also be obtained. Still taking the domestic service robot as an example, assuming that the position of the actually collected real-time laser frame is at the bedroom door, then in S301, only the virtual laser frame at the bedroom door can be obtained, or the virtual laser frames corresponding to each sampling position within a preset range around the bedroom door can be obtained. Compared with the above method, the number of virtual laser frames obtained is less, which can reduce the number of matches in subsequent S303, thereby improving the efficiency of relocalization.

[0086] S402, Generate a first map according to the actually collected real-time laser frame, where the real-time laser frame represents the environmental data at the current position of the robot in the target area.

[0087] In an embodiment of the present application, the real-time laser frame includes multiple sets of second pose data, and each set of second pose data represents the relative distance and relative angle between a laser reflection point around the current position of the robot in the target area and the current position.

[0088] Generally, the SLAM method is used to generate the first map from the actually collected real-time laser frames. This first map is equivalent to a local map at the position corresponding to the real-time laser frame in the target area. In practical applications, there may be the following situation where the coordinate axes of multiple sets of second pose data in the real-time laser frame are not unified. In this case, the real-time laser frame does not conform to rotational variability, which in turn affects the accuracy of subsequent online relocalization.

[0089] To solve the above problem, optionally, an implementation manner of S402 is:

[0090] Determine a second coordinate system corresponding to the current position of the robot in the target area based on the actual laser frame; transform each set of the second posture data in the actual laser frame into the second coordinate system to obtain the transformed second posture data; and generate the first map based on the transformed second posture data.

[0091] Specifically, the above processing can be performed on the environmental data of each sampling location by using principal component analysis (PCA). For details, please refer to the description of the embodiment of S203.

[0092] After PCA processing, the second pose data is unified on the principal axis, ensuring rotational invariance. While retaining the features that contribute most to the data, the dimension of the data is reduced, which is beneficial to improving the efficiency of online relocalization.

[0093] S403: Determine a target laser frame that matches the first map from the multiple virtual laser frames.

[0094] Optionally, one implementation of S403 is:

[0095] The matching degree between the first map and each of the virtual laser frames is calculated; and the virtual laser frame with the highest matching degree is determined as the target laser frame.

[0096] Specifically, the first map and the virtual laser frame can be matched using a scan-to-map method. For example, existing scan-to-map methods include correlation matching methods, template matching methods, and particle filtering methods. The matching method is not specifically limited in the embodiments of this application.

[0097] Of course, in the above implementation, multiple virtual laser frames with a high degree of matching may be selected to be determined as target laser frames.

[0098] S404: Determine a relocation pose of the robot according to the target laser frame and the first map.

[0099] like Figure 2 In the embodiments described above, a laser frame corresponds to a robot pose, consisting of a position and an angle. The target laser frame matches the first map, indicating that the target laser frame and the first map represent the same robot pose. Therefore, the robot's relocalization pose can be determined based on the pose corresponding to the target laser frame and the first map.

[0100] In one embodiment, an implementation of S404 is as follows:

[0101] Calculate the relative pose between the target laser frame and the first map; determine the relocalization pose of the robot according to the pose of the robot corresponding to the target laser frame and the relative pose.

[0102] The relocalization pose may include an angle and a position. Specifically, the relative angle between the target laser frame and the first map can be calculated, and this relative angle serves as the relative pose between the two; then, according to the angle corresponding to the target laser frame and the calculated relative angle, the angle of the current robot is calculated; and then the position corresponding to the target laser frame is determined as the position of the current robot.

[0103] As described in the embodiment of S403, when the number of target laser frames is greater than 1, correspondingly, S404 may include: determining the candidate poses of the robot according to each target laser frame and the first map respectively; determining the final relocalization pose of the robot according to all the candidate poses.

[0104] The method for calculating the candidate poses can refer to the above implementation manner. Each candidate pose includes an angle and a position. Specifically, determining the final relocalization pose of the robot according to all the candidate poses may include: taking the statistical value of the angles in all the candidate poses as the angle of the robot's relocalization pose; taking the statistical value of the positions in all the candidate poses as the position of the robot's relocalization pose. Among them, the statistical value can adopt the average value, variance, covariance, median, etc.

[0105] In the embodiment of the present application, the virtual laser frames of the target area can be pre-generated offline. During the relocalization process, the pre-generated virtual laser frames can be directly obtained, saving the time of relocalization; further, the first map generated according to the actually collected real laser frames is equivalent to the local map corresponding to the current position of the robot, and each virtual laser frame represents the environmental data at a position in the target area. Therefore, matching the first map with the virtual laser frames is equivalent to matching the local map and the local environmental data; finally, the relocalization pose is determined according to the matched target laser frames and the first map. Through the above method, only coordinate conversion needs to be performed between the target laser frames and the first map, without performing coordinate conversion on each actual laser frame, effectively reducing the algorithm time consumption and improving the efficiency of robot relocalization.

[0106] It should be understood that the magnitudes of the sequence numbers of the steps in the above embodiments do not mean the order of execution. The execution order of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.

[0107] Corresponding to the relocalization method described in the above embodiments, Figure 5 It is a structural block diagram of the relocalization device provided by the embodiment of the present application. For the convenience of description, only the parts related to the embodiment of the present application are shown.

[0108] Refer to Figure 5 , the device includes:

[0109] An acquisition unit 51, configured to acquire a plurality of virtual laser frames of a target area, where one of the virtual laser frames represents environmental data at a position in the target area.

[0110] A generation unit 52, configured to generate a first map according to an actually acquired actual laser frame, where the actual laser frame represents environmental data at the current position of the robot in the target area.

[0111] A determination unit 53, configured to determine a target laser frame that matches the first map from the plurality of virtual laser frames.

[0112] A positioning unit 54, configured to determine a relocalization pose of the robot according to the target laser frame and the first map.

[0113] Optionally, the acquisition unit 51 is further configured to:

[0114] Acquire a second map of the target area;

[0115] Acquire environmental data corresponding to each of a plurality of sampling positions in the second map;

[0116] Generate a virtual laser frame according to the environmental data corresponding to each sampling position.

[0117] In the embodiments of the present application, the environmental data corresponding to each sampling position includes multiple groups of first pose data, and each group of first pose data represents the relative distance and relative angle between a laser reflection point around the current sampling position and the current sampling position.

[0118] Optionally, the acquisition unit 51 is further configured to:

[0119] Determine a first coordinate system corresponding to the sampling position according to the environmental data corresponding to the sampling position;

[0120] Transform each group of the first pose data in the environmental data corresponding to the sampling position into the first coordinate system to obtain the transformed first pose data;

[0121] Generate a virtual laser frame according to the transformed first pose data.

[0122] In the embodiments of the present application, the actual laser frame includes multiple groups of second pose data, and each group of second pose data represents the relative distance and relative angle between a laser reflection point around the current position of the robot in the target area and the current position.

[0123] Optionally, the generating unit 52 is further configured to:

[0124] Determine a second coordinate system corresponding to the current position of the robot in the target area according to the actual laser frame;

[0125] Transform each group of the second pose data in the actual laser frame into the second coordinate system to obtain the transformed second pose data;

[0126] Generate the first map according to the transformed second pose data.

[0127] Optionally, the determining unit 53 is further configured to:

[0128] Calculate the matching degree between the first map and each of the virtual laser frames;

[0129] Determine the virtual laser frame with the highest matching degree as the target laser frame.

[0130] Optionally, the positioning unit 54 is further configured to:

[0131] Calculate the relative pose between the target laser frame and the first map;

[0132] Determine the repositioning pose of the robot according to the pose of the robot corresponding to the target laser frame and the relative pose.

[0133] It should be noted that for the information interaction, execution process, etc. between the above-mentioned device / units, since they are based on the same concept as the method embodiment of the present application, for their specific functions and the technical effects brought, reference can be specifically made to the method embodiment part, and details are not described herein again.

[0134] In addition, Figure 5 The repositioning device shown may be a software unit, a hardware unit, or a unit combining software and hardware built into an existing terminal device, may also be integrated into the terminal device as an independent pendant, or may exist as an independent terminal device.

[0135] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the above-mentioned division of each functional unit and module is used as an example. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated into a processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of this application. The specific working processes of the units and modules in the above system can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.

[0136] The embodiment of this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0137] The embodiment of this application provides a computer program product. When the computer program product runs on a terminal device, the terminal device can implement the steps in the above-mentioned method embodiments when executed.

[0138] If the above integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, to implement all or part of the processes in the above method embodiments of this application, a computer program can be used to instruct the relevant hardware to complete. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file or some intermediate form, etc. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the device / terminal device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk, or an optical disc, etc. In some jurisdictions, according to legislation and patent practice, the computer-readable medium cannot be an electrical carrier signal and a telecommunication signal.

[0139] In the above embodiments, the descriptions of the various embodiments each have their own emphasis. For parts not detailed or recorded in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.

[0140] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or by a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0141] In the embodiments provided in this application, it should be understood that the disclosed device / terminal device and method can be implemented in other ways. For example, the device / terminal device embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division, and 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 displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical or other forms.

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

[0143] The above-described embodiments are only used to illustrate the technical solutions of this application, rather than to limit them; although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included in the protection scope of this application.

Claims

1. A relocation method, characterized in that, Including: Obtaining a plurality of virtual laser frames of a target area, where one of the virtual laser frames represents environmental data at a position in the target area, and the virtual laser frame is generated based on multiple sets of first pose data transformed into a first coordinate system, and each sampling position in a second map of the target area includes multiple sets of the first pose data; Generating a first map based on an actually collected real laser frame, where the real laser frame represents environmental data at the current position of the robot in the target area, and the real laser frame is generated based on multiple sets of second pose data transformed into a second coordinate system, and the first map is a local map at the corresponding position of the real laser frame in the target area; Determining a target laser frame that matches the first map from the multiple virtual laser frames; Calculating the relative pose between the target laser frame and the first map; Determining the relocalization pose of the robot based on the pose of the robot corresponding to the target laser frame and the relative pose.

2. The relocating method according to claim 1, wherein The obtaining a plurality of virtual laser frames of the target area includes: Obtaining the second map of the target area; Obtaining the environmental data corresponding to each of the multiple sampling positions in the second map; Generating a virtual laser frame based on the environmental data corresponding to each sampling position.

3. The relocating method according to claim 2, characterized in that, The environmental data corresponding to each sampling position includes multiple sets of first pose data, and each set of first pose data represents the relative distance and relative angle between a laser reflection point around the current sampling position and the current sampling position; The generating a virtual laser frame based on the environmental data of each sampling position includes: Determining the first coordinate system corresponding to the sampling position according to the environmental data corresponding to the sampling position; Transforming each set of the first pose data in the environmental data corresponding to the sampling position into the first coordinate system to obtain the transformed first pose data; Generating a virtual laser frame based on the transformed first pose data.

4. The relocating method according to claim 1, wherein The real laser frame includes multiple sets of second pose data, and each set of second pose data represents the relative distance and relative angle between a laser reflection point around the current position of the robot in the target area and the current position; The generating a first map based on the actually collected real laser frame includes: Determining the second coordinate system corresponding to the current position of the robot in the target area according to the real laser frame; Transforming each set of the second pose data in the real laser frame into the second coordinate system to obtain the transformed second pose data; Generating the first map based on the transformed second pose data.

5. The relocating method according to claim 1, wherein The determining a target laser frame that matches the first map from the multiple virtual laser frames includes: Calculating the matching degree between the first map and each virtual laser frame; Determining the virtual laser frame with the highest matching degree as the target laser frame.

6. A relocating device, characterized in that, Including: An acquisition unit, configured to acquire a plurality of virtual laser frames of a target area, wherein one of the virtual laser frames represents environmental data at a position in the target area, and the virtual laser frame is generated based on multiple groups of first pose data transformed into a first coordinate system, and each sampling position in a second map of the target area includes multiple groups of the first pose data; A generation unit, configured to generate a first map according to an actually acquired real laser frame, where the real laser frame represents environmental data at a current position of a robot in the target area, and the real laser frame is generated based on multiple groups of second pose data transformed into a second coordinate system, and the first map is a local map at a position corresponding to the real laser frame in the target area; A determination unit, configured to determine a target laser frame that matches the first map from the multiple virtual laser frames; A positioning unit, configured to calculate a relative pose between the target laser frame and the first map; According to the pose of the robot corresponding to the target laser frame and the relative pose, determine a repositioning pose of the robot.

7. The relocation device according to claim 6, characterized in that, The acquisition unit is further configured to: Acquire a second map of the target area; Acquire environmental data corresponding to each of multiple sampling positions in the second map; Generate a virtual laser frame according to the environmental data corresponding to each sampling position.

8. A robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, the method according to any one of claims 1 to 5 is implemented.

9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Robot repositioning method and device

    CN112147637A

  • Repositioning method and system based on laser radar

    CN114236552A