Robot positioning method and device, electronic equipment and storage medium
By encoding and deploying the reflector, and using laser point cloud data to calibrate the reflector position, the problem of robot failure in highly degraded scenarios is solved, and positioning accuracy and deployment flexibility are improved.
Patent Information
- Application Number
- CN202411013020.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-25
- Publication Date
- 2025-03-11
AI Technical Summary
In highly degraded scenarios, autonomous positioning of robots is prone to failure, which makes it difficult to deploy robots.
By encoding and deploying multiple reflectors, the position information of the reflector in the map is calibrated by using laser point cloud data to determine the position information of the target robot.
It improves the positioning accuracy of the robot in a single scenario of environmental characteristics, making it easier to deploy flexibly.
Smart Images

Figure CN119596321A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of artificial intelligence technology, and in particular to a robot positioning method, device, electronic equipment and storage medium. Background Art
[0002] Robot positioning refers to the robot moving from an unknown position in a known environment, using its own sensors to perceive the environment, and using the perception information to align with prior map information to complete the robot's autonomous positioning and understand the robot's position in the environment. This is used to solve the robot's online and kidnapping problems. In some special application scenarios, the robot's environment is a highly degraded scene (i.e., the laser point cloud features are not obvious), which makes the robot's autonomous positioning easily fail, making the robot's deployment difficult. Summary of the invention
[0003] The purpose of the present application is to provide a robot positioning method, device, electronic device and computer storage medium, which can improve the accuracy of robot positioning in scenarios with single environmental characteristics and facilitate flexible deployment of the robot.
[0004] To achieve the above objectives:
[0005] In a first aspect, an embodiment of the present invention provides a robot positioning method, the method comprising:
[0006] Encoding the plurality of reflective plates according to a first preset rule, and deploying the encoded plurality of reflective plates in the environment where the target robot is located according to a second preset rule;
[0007] Acquire laser point cloud data of the plurality of reflectors, and calibrate position information of the plurality of reflectors in a map based on the laser point cloud data;
[0008] The position and posture information of the target robot is determined by the position and posture information of the reflector in the map.
[0009] In one embodiment, encoding the plurality of reflective plates according to a first preset rule, and deploying the encoded plurality of reflective plates in an environment where the target robot is located according to a second preset rule, includes:
[0010] Cutting the reflective sheet into a first preset length and a second preset length, encoding the reflective sheet of the first preset length as a first preset serial number, and encoding the reflective sheet of the second preset length as a second preset serial number;
[0011] Arranging a preset number of reflectors with a first preset serial number and a preset number of reflectors with a second preset serial number according to a second preset rule to form a position feature code;
[0012] The location feature code is deployed in the environment where the target robot is located.
[0013] In one embodiment, the step of arranging a preset number of reflectors with a first preset serial number and a reflector with a second preset serial number according to a second preset rule to form a position feature code includes:
[0014] The preset number of reflectors with the first preset serial number and the reflectors with the second preset serial number are arranged and combined to form a plurality of position feature codes.
[0015] In one embodiment, the step of acquiring laser point cloud data of the plurality of reflectors and calibrating position information of the plurality of reflectors in a map based on the laser point cloud data includes:
[0016] Filtering the data that does not meet the preset conditions in the laser point cloud data to obtain valid data;
[0017] Feature extraction is performed on the valid data to obtain the position information of the reflector in the map.
[0018] In one embodiment, the preset conditions include:
[0019] The laser point cloud intensity is greater than the preset intensity, the laser point cloud distance is greater than the preset distance, and the distance between each reflector does not exceed the second preset distance;
[0020] The length error between the reflector extracted from the laser point cloud data and the actual reflector does not exceed a preset length error value;
[0021] The inclination angle between the reflector extracted from the laser point cloud data and the actual reflector does not exceed a preset range;
[0022] The code segment length of the position feature code extracted from the laser point cloud data is not less than a preset value.
[0023] In one embodiment, determining the position information of the target robot by using the position information of the reflector in the map includes:
[0024] The position information of the target robot is determined by the following formula:
[0025] mark_at_map=robot_at_map1*mark_at_robot1(1);
[0026] robot_at_map2=mark_at_map*mark_at_robot2(2);
[0027] Among them, mark_at_map represents the pose matrix of the reflector in the map, robot_at_map1 represents the pose matrix of the target robot in the map during the calibration phase, mark_at_robot1 represents the pose matrix of the reflector relative to the target robot, robot_at_map2 represents the pose matrix of the target robot calculated by the reflector pose, and mark_at_robot2 represents the transposed matrix of the pose matrix of the reflector relative to the target robot.
[0028] In one embodiment, the robot positioning method further includes:
[0029] Determine whether the extracted reflector pose information is consistent with the reflector pose information in the preset calibration library;
[0030] If yes, determining the position information of the target robot in the map based on the position information of the reflector;
[0031] If not, the calibration is considered to have failed and a new round of calibration will begin.
[0032] In a second aspect, an embodiment of the present application provides a robot positioning device, comprising:
[0033] A deployment module, used to encode the plurality of reflective plates according to a first preset rule, and deploy the encoded plurality of reflective plates in the environment where the target robot is located according to a second preset rule;
[0034] A calibration module, used for acquiring laser point cloud data of the plurality of reflectors, and calibrating the position information of the plurality of reflectors in a map based on the laser point cloud data;
[0035] The determination module is used to determine the position information of the target robot through the position information of the reflector in the map.
[0036] In one implementation, the deployment module is specifically used to:
[0037] Cutting the reflective sheet into a first preset length and a second preset length, encoding the reflective sheet of the first preset length as a first preset serial number, and encoding the reflective sheet of the second preset length as a second preset serial number;
[0038] Arranging a preset number of reflectors with a first preset serial number and a preset number of reflectors with a second preset serial number according to a second preset rule to form a position feature code;
[0039] The location feature code is deployed in the environment where the target robot is located.
[0040] In one implementation, the deployment module is specifically used to:
[0041] The preset number of reflectors with the first preset serial number and the reflectors with the second preset serial number are arranged and combined to form a plurality of position feature codes.
[0042] In one implementation, the calibration module is specifically used to:
[0043] Filtering the data that does not meet the preset conditions in the laser point cloud data to obtain valid data;
[0044] Feature extraction is performed on the valid data to obtain the position information of the reflector in the map.
[0045] In one embodiment, the preset conditions include:
[0046] The laser point cloud intensity is greater than the preset intensity, the laser point cloud distance is greater than the preset distance, and the distance between each reflector does not exceed the second preset distance;
[0047] The length error between the reflector extracted from the laser point cloud data and the actual reflector does not exceed a preset length error value;
[0048] The inclination angle between the reflector extracted from the laser point cloud data and the actual reflector does not exceed a preset range;
[0049] The code segment length of the position feature code extracted from the laser point cloud data is not less than a preset value.
[0050] In one implementation, the determining module is specifically configured to:
[0051] The position information of the target robot is determined by the following formula:
[0052] mark_at_map=robot_at_map1*mark_at_robot1(1);
[0053] robot_at_map2=mark_at_map*mark_at_robot2; (2)
[0054] Among them, mark_at_map represents the pose matrix of the reflector in the map, robot_at_map1 represents the known pose matrix of the target robot in the map, mark_at_robot1 represents the pose matrix of the reflector relative to the target robot, robot_at_map2 represents the pose matrix of the target robot calculated by the reflector pose, and mark_at_robot2 represents the transposed matrix of the pose matrix of the reflector relative to the target robot.
[0055] In one embodiment, the device further comprises a judgment module for judging whether the extracted reflector posture information is consistent with the reflector posture information pre-stored in the calibration library;
[0056] If yes, determining the position information of the target robot in the map based on the position information of the reflector;
[0057] If not, the calibration is considered to have failed and a new round of calibration will begin.
[0058] In a third aspect, an embodiment of the present invention provides an electronic device, including:
[0059] A processor; a memory for storing instructions executable by the processor;
[0060] Wherein, the processor is configured to execute the instructions to implement the robot positioning method described in any one of the first aspects.
[0061] In a fourth aspect, the present invention provides a computer-readable storage medium. When instructions in the computer-readable storage medium are executed by a processor, the robot positioning method as described in any one of the first aspects is implemented.
[0062] The robot positioning method, device, electronic device and computer-readable storage medium provided by the embodiments of the present invention encode and deploy reflectors according to preset rules to provide obvious features for a single environment, and use the laser radar installed on the robot body to obtain the position information of the reflectors, thereby determining the position information of the robot in the environment. The accuracy of robot positioning in scenes with single environmental features can be improved, and the robot can be flexibly deployed. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments are briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without creative work.
[0064] Figure 1 A schematic diagram of a flow chart of a robot positioning method provided by an embodiment of the present invention;
[0065] Figure 2 A schematic diagram of a process for calibrating the position information of a reflector in a map in an embodiment of the present invention;
[0066] Figure 3 Schematic diagram of a process of determining the robot's posture according to the posture information of the reflector in the map in an embodiment of the present invention;
[0067] Figure 4 A schematic diagram of a module of a robot positioning device provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0068] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0069] It should be noted that, in this article, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element. In addition, components, features, and elements with the same name in different embodiments of the present application may have the same meaning or different meanings, and their specific meanings need to be determined by their explanation in the specific embodiment or further combined with the context of the specific embodiment.
[0070] See also Figure 1 , is a flowchart of a robot positioning method provided in an embodiment of the present application. The robot positioning method can be executed by a robot positioning device provided in an embodiment of the present application. The device can be implemented in software and / or hardware, such as a server, a computer, a processor and other electronic devices. In this embodiment, the robot positioning method is performed by a processor of a vehicle terminal as an example. The robot positioning method provided in this embodiment includes:
[0071] Step S1, encoding a plurality of reflective plates according to a first preset rule, and deploying the encoded plurality of reflective plates in an environment where a target robot is located according to a second preset rule.
[0072] It can be understood that by encoding the reflectors, the robot can identify and locate the reflectors. Here, when determining the placement and layout of the reflectors by the second preset rule, the influence of factors such as the environmental characteristics and the distance and angle of the robot's perception system on the collected point cloud information is taken into account, ensuring that the robot can effectively detect these reflectors, so as to determine the relative position of the robot by determining the position of the reflectors in the environment.
[0073] In one embodiment, encoding multiple reflectors according to a first preset rule and deploying the encoded multiple reflectors in the environment of the target robot according to a second preset rule includes: cutting the reflectors into a first preset length and a second preset length, encoding the reflectors of the first preset length into a first preset serial number, and encoding the reflectors of the second preset length into a second preset serial number; arranging a preset number of reflectors of the first preset serial number and a reflector of the second preset serial number according to the second preset rule to form a position feature code; and deploying the position feature code in the environment of the target robot.
[0074] Here, considering the impact of the robot's perception system and environmental conditions on the recognition of reflectors, the length of the reflectors is cut to match the distance and angle range that the robot's perception system can detect, so as to improve the robot's positioning accuracy in different positions and postures. In addition, the length of the reflector will also affect its visual features in the robot's vision system. Longer reflectors may have larger visual recognition areas and more obvious visual signals, so that longer reflectors can provide more feature points or more obvious signs, which helps to improve the accuracy and stability of positioning. However, from the perspective of environmental conditions, the longer the reflector, the greater the impact of the light intensity and background conditions in the environment. Therefore, the longer the reflector, the better.
[0075] In the embodiment of the present application, after experimental verification, the first preset length is preferably 10 cm and the second preset length is preferably 5 cm.
[0076] A reflector with a length of 10 cm is encoded as a first preset serial number, and a reflector with a length of 5 cm is encoded as a second preset serial number. Then, a preset number of reflectors of different lengths are arranged according to preset rules. The robot can determine the location of the code by identifying the code of the reflector, and then further determine the location of the robot.
[0077] For example, assuming that the preset number can be 4, the first preset serial number is "1", and the second preset serial number is "0", three reflectors with a length of 10 cm and one reflector with a length of 5 cm can be selected to form a position feature code, and the number of this position feature code can be "0111", "1011", "1101", "1110". Deploy these reflectors with different numbers at different positions in the robot's environment. When the robot recognizes the corresponding number, the relative position of the robot in the environment can be determined by the position corresponding to the number, and the corresponding posture of the robot can be determined according to the posture of the robot in the reflector.
[0078] In one embodiment, the method of arranging a preset number of reflectors with a first preset serial number and a reflector with a second preset serial number according to a second preset rule to form a position feature code includes: arranging and combining the preset number of reflectors with the first preset serial number and the reflectors with the second preset serial number to form a plurality of position feature codes.
[0079] As described above, by combining the serial numbers corresponding to the reflective plates of different lengths, different arrangements of the reflective plates can be obtained, thereby forming different position feature codes.
[0080] Step S2, obtaining laser point cloud data of the plurality of reflectors, and calibrating position information of the plurality of reflectors in a map based on the laser point cloud data.
[0081] It can be understood that by identifying and matching the feature information of multiple reflectors, the position information of each reflector in the map can be determined, including position, direction, tilt angle, etc. By analyzing, matching and processing the laser point cloud data of multiple reflectors, the spatial relationship between the reflector and the robot can be established, thereby realizing the positioning and calibration of the reflector.
[0082] Specifically, the relative positions of multiple reflectors and the robot are extracted based on the laser point cloud data, and the positions of the multiple reflectors in the map are calibrated in combination with the current position of the robot in the environment.
[0083] In one embodiment, the step of acquiring laser point cloud data of the plurality of reflectors and calibrating position information of the plurality of reflectors in a map based on the laser point cloud data includes:
[0084] Filtering the data that does not meet the preset conditions in the laser point cloud data to obtain valid data;
[0085] Feature extraction is performed on the valid data to obtain the position information of the reflector in the map.
[0086] It is understandable that the resolution and accuracy of the laser radar or other acquisition equipment can directly affect the quality of the point cloud data. If the resolution and accuracy of the laser radar or other acquisition equipment are not high, it may affect the measured value of the position and reflection intensity of the reflector. In addition, the lighting conditions in the environment will also affect the propagation and reflection of the light beam and thus affect the quality and density of the point cloud data. Strong sunlight, shadows, reflective surfaces or transparent objects may introduce noise or false points. In short, due to a variety of unavoidable factors, inaccurate or unusable data may exist in the collected laser point cloud data. Therefore, before performing feature extraction on the laser point cloud data to obtain the position information of the reflector in the map, it is necessary to filter the original data and extract valid data to improve the accuracy of feature extraction.
[0087] In one embodiment, the preset conditions include:
[0088] The laser point cloud intensity is greater than the preset intensity, the laser point cloud distance is greater than the first preset distance, and the distance between each reflector does not exceed the second preset distance; the length error between the reflector extracted from the laser point cloud data and the actual reflector does not exceed the preset length error value; the inclination angle between the reflector extracted from the laser point cloud data and the actual reflector does not exceed the preset range; the code segment length of the position feature code extracted from the laser point cloud data is not less than the preset value.
[0089] It can be understood that the laser emitting device installed on the robot body sends a laser beam to the reflective plate, and the laser plate will reflect the laser back. If the point cloud intensity is greater than the preset intensity, it is considered that the reflected laser signal is strong enough to accurately detect the position and posture of the reflective plate by the laser. By controlling the distance range between the laser point cloud and the robot, the ranging error can be reduced to ensure that the robot can accurately identify the position and posture of the reflective plate. In addition, ensuring that the error between the extracted length of the reflective plate and the actual length of the reflective plate is within an acceptable range can reduce the positioning error and improve the positioning accuracy. The inclination angle of the reflective plate extracted from the laser point cloud data and the actual reflective plate can actually be used to characterize the inclination angle of the reflective plate relative to the laser emitting device when the laser is emitted to the reflective plate, and control the inclination angle range of the reflective plate relative to the laser emitting device to ensure that the reflected laser signal can be correctly identified and reduce the measurement error. Similarly, ensuring that the code segment length is not less than the preset value can improve the accuracy and robustness of recognition.
[0090] In this embodiment, the preset intensity is preferably 180, the first preset distance is preferably 2 meters, the second preset distance is preferably 5 centimeters, the preset length error value is preferably 2 centimeters, the preset range of the tilt angle is preferably 2 degrees, and the code segment length must be the original code segment length. In this way, incorrect identification, measurement deviation and positioning misalignment can be avoided during the robot positioning process, thereby improving the accuracy and efficiency of the robot positioning operation.
[0091] It should be noted that different laser radars have different requirements for the intensity of the laser point cloud. In a preferred embodiment, the intensity of the laser point cloud can generally be 80% of the maximum intensity of the laser radar. In addition, the second preset distance can be adjusted according to different application scenarios to meet the positioning requirements of more location points.
[0092] Step S3, determining the position information of the target robot through the position information of the reflector in the map.
[0093] Here, the known reflector information is used to assist the robot in inferring and positioning its own position. The accurate position information of the reflector in the map is used as a reference point. By comparing and calculating with the reflector information perceived by the robot, the robot's own accurate position and posture in the map can be determined, thereby improving the accuracy and stability of the robot's autonomous navigation and positioning.
[0094] In one embodiment, determining the position information of the target robot by using the position information of the reflector in the map includes:
[0095] The position information of the target robot is determined by the following formula:
[0096] mark_at_map=robot_at_map1*mark_at_robot1(1);
[0097] robot_at_map2 = mark_at_map * mark_at_robot2 (2);
[0098] Among them, mark_at_map represents the pose matrix of the reflector in the map, robot_at_map1 represents the pose matrix of the target robot in the map during the calibration phase, mark_at_robot1 represents the pose matrix of the reflector relative to the target robot, robot_at_map2 represents the pose matrix of the target robot calculated by the pose of the reflector, and mark_at_robot2 represents the transposed matrix of the pose matrix of the reflector relative to the target robot. It can be understood that formula (1) means that in the calibration phase, the actual pose of the robot in the map is a known quantity, and the pose of the reflector in the map can be solved by the actual pose of the robot and the pose of the reflector relative to the robot. Formula (2) can be understood as the positioning phase of the robot, which is to determine the pose of the robot in the map by the pose of the reflector in the map and the pose of the reflector relative to the robot. In this way, the pose of the robot in the map can be accurately determined, preventing the robot from getting lost and colliding with obstacles, and improving the deployment flexibility and safety of the robot.
[0099] It should be noted that the background environment for calibrating the reflector's posture and determining the robot's posture information is the same environment, and the same map is used, that is, in the above calculation formula, map = map1 = map2.
[0100] In one embodiment, the robot positioning method further includes:
[0101] Determine whether the extracted reflector pose information is consistent with the reflector pose information in the preset calibration library;
[0102] If yes, determining the position information of the target robot in the map based on the position information of the reflector;
[0103] If not, the calibration is considered to have failed and a new round of calibration will begin.
[0104] It can be understood that when the reflector's position information in the map is calibrated based on the laser point cloud data, the position information of the reflector that has been successfully calibrated has been stored in a pre-set calibration library. If the coding features of the reflector are consistent with the coding features in the calibration library, it means that the reflector has been correctly extracted, and based on the identification of the relative position of the reflector and the robot, the exact position of the robot in the environment can be inferred.
[0105] In one embodiment, the method further includes: storing the position of the reflector relative to the robot in the map during the calibration process and the corresponding reflector code value in the calibration library. For example, the storage format may be: reflector code 1011, reflector position (xy theta), where (xy theta) is the spatial coordinate of the reflector.
[0106] The robot positioning method provided by the embodiment of the present invention encodes and deploys the reflectors according to preset rules, thereby providing obvious features for a single environment, and uses the laser radar installed on the robot body to obtain the position information of the reflectors, thereby determining the position information of the robot in the environment. It can improve the accuracy of robot positioning in scenes with single environmental features and facilitate flexible deployment of the robot.
[0107] Based on the same inventive concept as the above embodiment, the process of calibrating the position information of the reflector in the map in the above embodiment is described below based on a specific example. Figure 2 .
[0108] like Figure 2 As shown, after the calibration starts, the process goes to step S01 to determine whether the calibration has timed out. If so, the calibration has failed, otherwise, the process goes to step S02.
[0109] Understandably, when performing data calibration, some complex algorithms and models are usually used to fit the data. When the calibration starts, it is determined whether the calibration has timed out. When the calibration timeout is found, the calibration process can be stopped in time to eliminate the problem and make adjustments to ensure the smooth calibration of the laser point cloud data and the rationality and accuracy of the calibration results.
[0110] Step S02, obtaining lidar data.
[0111] Step S03, extracting the reflector posture information. Here, the reflector posture information is stored in the laser radar data, and the reflector posture information extracted here is the reflector posture information relative to the robot in the environment.
[0112] Step S04, determine whether the extraction is successful, if so, go to step S05, otherwise return to step S01.
[0113] Here, the conditions for judging whether the reflector posture information is extracted successfully are: the laser point cloud intensity is greater than the preset intensity, the laser point cloud distance is greater than the preset distance, and the distance between each reflector does not exceed the second preset distance; the length error between the reflector extracted from the laser point cloud data and the actual reflector does not exceed the preset length error value; the inclination angle between the reflector extracted from the laser point cloud data and the actual reflector does not exceed the preset range; the code segment length of the position feature code extracted from the laser point cloud data is not less than the preset value.
[0114] Step S05, calculating the position and posture information of the reflector on the map, and storing the calculated position and posture information in a calibration library.
[0115] It can be understood that during the calibration phase, the position of the robot in the environment is a known condition, and the robot identifies the code of the reflector to calculate the position and posture of the corresponding reflector relative to the robot in the environment.
[0116] Based on the same inventive concept as the above embodiments, the process of determining the robot posture according to the posture information of the reflector in the map in the above embodiments is described below based on a specific example. Figure 3 .
[0117] like Figure 3 As shown, the calibration starts and enters step S001 to determine whether the calibration has timed out. If so, it is determined that the calibration has failed. If not, it enters step S002.
[0118] Step S002, obtaining lidar data.
[0119] Here, obtaining the LiDAR data after confirming that the calibration has not timed out can ensure the stability of the calibration environment and reduce the impact of external factors on the LiDAR data.
[0120] Step S003, extracting the reflector posture information.
[0121] Step S004, determine whether the extracted reflector posture information is in the calibration library, if so, go to step S005, if not, return to step S001.
[0122] It can be understood that during the calibration phase, the position information of the reflector relative to the robot is obtained through the laser point cloud data and stored in the calibration library. If the coding features of the reflector are consistent with the coding features in the calibration library, it means that the reflector has been correctly extracted. Based on the identification of the relative position of the reflector to the robot, the exact position of the robot in the environment can be inferred.
[0123] Step S005, calculating the position and posture of the robot in the map based on the reflector position and posture information.
[0124] The relative position of the robot is determined based on the position of the reflector in the map, and the determined robot position is stored in the calibration library to record the position trajectory of the robot.
[0125] Based on the same concept of the above embodiments, the present invention provides a robot positioning device, such as Figure 4 As shown, the robot positioning device comprises:
[0126] A deployment module, used to encode the plurality of reflective plates according to a first preset rule, and deploy the encoded plurality of reflective plates in the environment where the target robot is located according to a second preset rule;
[0127] A calibration module, used for acquiring laser point cloud data of the plurality of reflectors, and calibrating the position information of the plurality of reflectors in a map based on the laser point cloud data;
[0128] The determination module is used to determine the position information of the target robot through the position information of the reflector in the map.
[0129] In one implementation, the deployment module is specifically used to:
[0130] Cutting the reflective sheet into a first preset length and a second preset length, encoding the reflective sheet of the first preset length as a first preset serial number, and encoding the reflective sheet of the second preset length as a second preset serial number;
[0131] Arranging a preset number of reflectors with a first preset serial number and a preset number of reflectors with a second preset serial number according to a second preset rule to form a position feature code;
[0132] The location feature code is deployed in the environment where the target robot is located.
[0133] In one implementation, the deployment module is specifically used to:
[0134] The preset number of reflectors with the first preset serial number and the reflectors with the second preset serial number are arranged and combined to form a plurality of position feature codes.
[0135] In one implementation, the calibration module is specifically used to:
[0136] Filtering the data that does not meet the preset conditions in the laser point cloud data to obtain valid data;
[0137] Feature extraction is performed on the valid data to obtain the position information of the reflector in the map.
[0138] In one embodiment, the preset condition includes at least one of the following:
[0139] The laser point cloud intensity is greater than the preset intensity, and the laser point cloud distance is greater than the preset distance;
[0140] The length error between the reflector extracted from the laser point cloud data and the actual reflector does not exceed a preset length error value;
[0141] The inclination angle between the reflector extracted from the laser point cloud data and the actual reflector does not exceed a preset range;
[0142] The code segment length of the position feature code extracted from the laser point cloud data is not less than a preset value.
[0143] In one implementation, the determining module is specifically configured to:
[0144] The position information of the target robot is determined by the following formula:
[0145] mark_at_map=robot_at_map1*mark_at_robot1(1);
[0146] robot_at_map2=mark_at_map*mark_at_robot2(2);
[0147] Among them, mark_at_map represents the pose matrix of the reflector in the map, robot_at_map1 represents the known pose matrix of the target robot in the map, mark_at_robot1 represents the pose matrix of the reflector relative to the target robot, robot_at_map2 represents the pose matrix of the target robot calculated by the reflector pose, and mark_at_robot2 represents the transposed matrix of the pose matrix of the reflector relative to the target robot.
[0148] In one embodiment, the device further comprises a judgment module for judging whether the extracted reflector posture information is consistent with the reflector posture information pre-stored in the calibration library;
[0149] If yes, determining the position information of the target robot in the map based on the position information of the reflector;
[0150] If not, the calibration is considered to have failed and a new round of calibration will begin.
[0151] For the specific definition of the robot positioning device, please refer to the definition of the robot positioning method above, which will not be repeated here. Each module in the above-mentioned robot positioning device can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor of the electronic device in the form of hardware, or can be stored in the memory of the electronic device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
[0152] Based on the same inventive concept as the aforementioned embodiments, an embodiment of the present invention further provides an electronic device, comprising: a processor; a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement the robot positioning method described in any one of the aforementioned embodiments.
[0153] Based on the same inventive concept as the aforementioned embodiments, an embodiment of the present invention further provides a computer-readable storage medium. When the instructions in the computer-readable storage medium are executed by a processor, a robot positioning method as described in any one of the aforementioned embodiments is implemented.
[0154] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0155] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed by the present invention should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the attached claims.
Claims
1. A robot positioning method, characterized in that: include: Encoding the plurality of reflective plates according to a first preset rule, and deploying the encoded plurality of reflective plates in the environment where the target robot is located according to a second preset rule; Acquire laser point cloud data of the plurality of reflectors, and calibrate position information of the plurality of reflectors in a map based on the laser point cloud data; The position and posture information of the target robot is determined by the position and posture information of the reflector in the map.
2. The method according to claim 1, characterized in that The encoding of the plurality of reflective plates according to the first preset rule and the deployment of the encoded plurality of reflective plates in the environment where the target robot is located according to the second preset rule include: Cutting the reflective sheet into a first preset length and a second preset length, encoding the reflective sheet of the first preset length as a first preset serial number, and encoding the reflective sheet of the second preset length as a second preset serial number; Arranging a preset number of reflectors with a first preset serial number and a preset number of reflectors with a second preset serial number according to a second preset rule to form a position feature code; The location feature code is deployed in the environment where the target robot is located.
3. The method according to claim 2, characterized in that The method of arranging a preset number of reflectors with a first preset serial number and a reflector with a second preset serial number according to a second preset rule to form a position feature code includes: The preset number of reflectors with the first preset serial number and the reflectors with the second preset serial number are arranged and combined to form a plurality of position feature codes.
4. The method according to claim 1, characterized in that: The step of acquiring laser point cloud data of the plurality of reflectors and calibrating position information of the plurality of reflectors in a map based on the laser point cloud data comprises: Filtering the data that does not meet the preset conditions in the laser point cloud data to obtain valid data; Feature extraction is performed on the valid data to obtain the position information of the reflector in the map.
5. The method according to claim 3 or 4, characterized in that: The preset conditions include: The laser point cloud intensity is greater than the preset intensity, the laser point cloud distance is greater than the first preset distance, and the distance between each reflector does not exceed the second preset distance; The length error between the reflector extracted from the laser point cloud data and the actual reflector does not exceed a preset length error value; The inclination angle between the reflector extracted from the laser point cloud data and the actual reflector does not exceed a preset range; The code segment length of the position feature code extracted from the laser point cloud data is not less than a preset value.
6. The method according to claim 1, characterized in that Determining the position and posture information of the target robot by using the position and posture information of the reflector in the map includes: The position information of the target robot is determined by the following formula: mark_at_map=robot_at_map1*mark_at_robot1(1); robot_at_map2=mark_at_map*mark_at_robot2(2); Among them, mark_at_map represents the pose matrix of the reflector in the map, robot_at_map1 represents the pose matrix of the target robot in the map during the calibration phase, mark_at_robot1 represents the pose matrix of the reflector relative to the target robot, robot_at_map2 represents the pose matrix of the target robot calculated by the reflector pose, and mark_at_robot2 represents the transposed matrix of the pose matrix of the reflector relative to the target robot.
7. The method according to claim 4 or 6, characterized in that: Also includes: Determine whether the extracted reflector pose information is consistent with the reflector pose information in the preset calibration library; If yes, determining the position information of the target robot in the map based on the position information of the reflector; If not, the calibration is considered to have failed and a new round of calibration will begin.
8. A robot positioning device, characterized in that: include: A deployment module, used to encode the plurality of reflective plates according to a first preset rule, and deploy the encoded plurality of reflective plates in the environment where the target robot is located according to a second preset rule; A calibration module, used for acquiring laser point cloud data of the plurality of reflectors, and calibrating the position information of the plurality of reflectors in a map based on the laser point cloud data; The determination module is used to determine the position information of the target robot through the position information of the reflector in the map.
9. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; Wherein, the processor is configured to execute the instructions to implement the robot positioning method as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that: When the instructions in the computer-readable storage medium are executed by a processor, the robot positioning method according to any one of claims 1 to 7 is implemented.