Robot positioning method and device, robot, medium and product
Patent Information
- Application Number
- CN202610779027.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-01
- Publication Date
- 2026-08-28
AI Technical Summary
[0004]然而,当局部环境数据有限或环境中存在相似区域时,上述定位方式往往会产生多个匹配度接近的定位数据,导致定位错误或匹配失败
[0103] This embodiment can be executed independently or in combination as needed, depending on the actual application scenario, and can be fully adapted to different usage environments such as residential homes, office buildings, commercial venues, industrial parks, warehouses, medical facilities, and various emergency operation sites, greatly improving the scenario versatility and functional adaptability of the overall positioning solution.
Smart Images

Figure CN122642774A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, and in particular to a robot positioning method, device, robot, medium, and product. Background Technology
[0002] With the rapid development of smart home technology, robotic vacuum cleaners have been widely used for home cleaning. During the cleaning process, due to environmental changes, sensor drift, or accumulated errors caused by long-term operation, the robot may lose its own position information. In this case, relocalization is required to restore its pose in the global map.
[0003] In existing technologies, relocalization technology mainly relies on the robot collecting local environmental data at its current location and matching it with a preset global map to determine the robot's pose.
[0004] However, when local environmental data is limited or similar areas exist in the environment, the above positioning methods often generate multiple positioning data with close matching degrees, leading to positioning errors or matching failures. Summary of the Invention
[0005] The robot positioning method, device, robot, medium, and product provided in this application can quickly generate candidate results through local data and dynamically verify them during cleaning, effectively shortening the repositioning time and improving the user experience.
[0006] In a first aspect, this application provides a robot localization method, the method comprising:
[0007] Obtain the current map generated by the robot at its current location, and match the current map with a preset global map to obtain the matching result; the matching result includes at least one candidate pose solution and the matching degree corresponding to at least one candidate pose solution;
[0008] If the matching result meets the first preset condition, the robot is controlled to perform subsequent tasks. During the execution of the subsequent tasks, at least one candidate pose solution is verified based on the updated current map to obtain the target pose solution.
[0009] This embodiment uses a current map generated from the robot's current location to accurately acquire real-world environmental features, effectively ensuring the authenticity and timeliness of the original positioning data. This avoids judgment errors caused by outdated map information, laying a reliable data foundation for subsequent map matching. The generated current map is then matched with a preset global map to generate candidate pose solutions with corresponding matching degrees. This allows for rapid initial location screening globally, eliminating invalid positioning points with significant deviations, greatly reducing the scope of subsequent positioning verification, simplifying data processing, shortening the initial positioning judgment time, and intuitively distinguishing the quality of candidate positions based on matching degrees, making the overall initial positioning process more efficient. During the process of matching the generated current map with the preset global map to generate candidate pose solutions and corresponding matching degrees, the robot only completes data acquisition and processing at its current location, without needing to move throughout. This reduces additional travel and path planning, achieving zero movement for initial repositioning judgment and reducing additional energy consumption. Candidate pose solutions represent the transformation relationship from the local coordinate system to the global map coordinate system. This establishes a unified positional reference standard, ensuring that each set of results accurately represents the robot's pose in the global map. By outputting multiple sets of candidate pose solutions and labeling their matching degrees, and avoiding directly locking in a single result, misjudgments caused by similar layouts are effectively avoided. This provides error correction space for subsequent verification, improving the process's fault tolerance. Furthermore, it only uses a small range of local data for computation, resulting in low computational load and short processing time. This allows for rapid in-situ initial relocalization, significantly improving response efficiency.
[0010] Once the matching result meets the first preset condition, the robot is immediately controlled to carry out subsequent tasks. This changes the traditional operating logic that requires precise positioning before subsequent tasks can be executed, effectively avoiding the waste of time resources caused by positioning waiting, ensuring a smooth and continuous robot operation process, making full use of equipment runtime to advance task progress, and significantly improving the overall operation time utilization rate. During the movement of the robot to perform subsequent tasks, it continuously updates the current map and naturally expands the environmental perception range along the normal operation path. There is no need to plan exploration routes separately, or to perform additional movements and special environmental scans. While not disrupting the established operation plan, it timely captures changes in the on-site environment, ensuring that the positioning reference data always matches the actual scene state.
[0011] Finally, the candidate pose solutions are deeply validated using the continuously updated map during the operation to determine the target pose solution. Leveraging the gradually enriched real-world environmental information, easily confused locations with similar layouts and features are effectively distinguished, eliminating localization ambiguity and mismatch issues, and steadily improving the robot's final localization accuracy and pose stability. This solution integrates precise localization verification with daily operational tasks, with localization optimization completed entirely within the workflow. It eliminates the need for independent relocalization operations that consume additional mileage, power, and computing resources, significantly reducing various operating costs during robot relocalization. While achieving efficient and accurate autonomous localization, ensuring subsequent path planning and stable autonomous obstacle avoidance, it maximizes and improves the robot's overall operational efficiency, making it well-suited for various complex and ever-changing real-world application scenarios.
[0012] In one possible implementation, based on the updated current map, at least one candidate pose solution is verified to obtain the target pose solution, including:
[0013] Acquire incremental environmental data and update the current map based on the incremental environmental data;
[0014] Using information about at least one obstacle in the updated current map, a target pose solution that meets the second preset condition is selected from at least one candidate pose solution.
[0015] In this embodiment, localization verification is carried out in parallel with the robot's normal task execution, without the need to pause operations or perform additional exploratory movements. This avoids situations where the robot needs to detour, turn back, or roam extensively for localization, thus significantly reducing energy consumption, minimizing mechanical wear, and extending battery life. Simultaneously, it ensures uninterrupted task flow, improving operational continuity and overall efficiency. Secondly, the current map is naturally scanned and incrementally updated by the robot during normal movement, requiring no additional sensor actions or computing power consumption. Data is updated in real time, the coverage area gradually expands, and obstacle features are continuously enriched, reducing redundant data processing and unnecessary computing power usage. This makes the localization judgment more closely resemble the real environment and the results more reliable.
[0016] Secondly, this embodiment utilizes stable and objective environmental features such as obstacle contours, distances, and distribution for dynamic comparison. This accurately reflects the local spatial structure, effectively distinguishes similar areas such as symmetrical rooms and repetitive corridors, replaces single geometric feature matching, reduces fuzzy judgments, significantly lowers the probability of mismatches in similar environments, improves candidate selection accuracy, and enhances localization robustness. Simultaneously, by continuously comparing candidate pose solutions with newly added obstacle information, erroneous candidates with low matching degrees are gradually eliminated, continuously narrowing the candidate set, increasing credibility, and gradually eliminating ambiguity. This avoids locking onto incorrect locations with initial single matching, effectively resolving the problem of multiple solutions and ambiguity, improving localization uniqueness, reducing localization drift, and enhancing relocalization stability.
[0017] In addition, the verification process can continuously accumulate environmental information as the task progresses. The larger the current map coverage and the richer the obstacle features, the more sufficient the matching basis, the stronger the discrimination ability, and the higher the screening accuracy. This realizes the upgrade from single static matching to continuous dynamic verification, effectively improving positioning accuracy, enhancing adaptability to complex and dynamic environments, and reducing the probability of positioning failure.
[0018] Furthermore, this embodiment integrates the verification process with the cleaning task, eliminating the need for additional time. Location confirmation is completed naturally during task execution, avoiding the inefficient "stop, then sweep, then wait" relocation pattern of traditional methods. This significantly shortens the overall relocation time, improves operational efficiency, and enhances the user experience. The real-time map update captures dynamic environmental changes such as furniture movement and temporary obstacles. The matching criteria are dynamically adjusted according to the environment, overcoming the limitations of static maps that cannot adapt to environmental changes. This improves positioning stability in dynamic environments and reduces positioning failures caused by environmental changes. Simultaneously, objective and quantifiable features such as obstacle distribution, distance, and contours are used as screening criteria. This approach is logically objective, standardized, and repeatable, avoiding misjudgments caused by relying on fuzzy features or subjective thresholds. This improves screening reliability, reduces the probability of misjudgments, and further enhances positioning credibility.
[0019] In one possible implementation, the target pose solution that satisfies a second preset condition is selected from at least one candidate pose solution using at least one obstacle information in the updated current map, including:
[0020] Calculate the complexity of the updated current map, which is determined based on the distance variance between at least one obstacle in the updated current map and the robot.
[0021] When the complexity of the updated current map reaches the preset complexity threshold, for each candidate pose solution, the updated current map is matched with the preset global map to obtain the matching result corresponding to each candidate pose solution.
[0022] The target pose solution that meets the second preset condition is selected from the matching results.
[0023] This embodiment quantifies map complexity by using distance variance to represent the density of obstacle distribution and spatial recognizability with objective numerical values, avoiding subjective experience judgments and making the complexity judgment standard unified and quantifiable. This enables accurate identification of invalid environments with sparse features, improves the reliability of environmental validity judgment, and reduces the interference of low-quality data on subsequent matching. At the same time, the dynamic update of complexity can better adapt to dynamic scenarios such as furniture movement and temporary obstacles, improving the adaptability of positioning to environmental changes.
[0024] Matching is performed only after the complexity reaches a threshold, allowing for the skipping of low-quality scenarios with sparse obstacles and low recognition, reducing a large number of invalid comparison operations, lowering processor load, saving energy, and shortening positioning time. It ensures sufficient environmental features and strong discriminative ability during matching, reducing the probability of false and fuzzy matches in similar environments from the source, and improving the reliability of matching results. For each candidate pose solution, precise matching between the current map and the global map is performed separately, achieving one-to-one targeted verification, avoiding deviations caused by coarse matching, effectively distinguishing between true poses and erroneous candidates, resolving ambiguity among multiple candidates, and improving the precision of the selection process. Furthermore, it relies on real-time collected current maps for comparison, conforming to the real operating environment, overcoming the limitations of static global maps, and enhancing positioning stability in dynamic environments.
[0025] Furthermore, by selecting target pose solutions based on objective matching results, subjective misjudgments by the algorithm can be avoided, improving the accuracy and uniqueness of the localization results and reducing localization drift. Through multiple verification processes, including complexity verification, precise matching, and optimal selection, invalid candidates are effectively eliminated, significantly improving localization fault tolerance and increasing the robot's relocalization success rate in complex environments such as symmetrical apartment layouts and repetitive corridors, ensuring continuous and stable operation of tasks.
[0026] In one possible implementation, filtering and confirming target pose solutions that satisfy the second preset condition from the matching results includes:
[0027] If it is determined that only one candidate pose solution corresponds to an updated current map with a matching degree greater than a preset global map, then the candidate pose solution is determined as the target pose solution.
[0028] If it is determined that there are multiple candidate pose solutions whose matching degree with the current map and the preset global map is greater than a preset threshold, then the robot's movement will continue to be controlled, and the current map will be obtained to filter the target pose solution until the preset termination condition is met.
[0029] In this embodiment, when the matching degree between the updated current map corresponding to only one candidate pose solution and the preset global map is greater than a preset threshold, the candidate pose solution is directly determined as the target pose solution. No additional verification process is required, which can quickly lock the reliable pose, reduce unnecessary computing power consumption and time waste, significantly shorten the positioning time, improve the positioning response efficiency, and ensure the efficient progress of the repositioning process.
[0030] When the matching degree of multiple candidate pose solutions is greater than the preset threshold, the robot does not blindly lock the result, but continues to control the robot's movement and acquire and update the current map in real time, and continuously carries out target pose solution screening, so as to effectively avoid localization failure caused by premature confirmation of incorrect pose, reduce the risk of mismatch, and enhance localization robustness.
[0031] During continuous robot movement, new environmental features are accumulated, enriching and distinguishing obstacle information on the updated map. This process gradually eliminates erroneous candidates with low matching scores, pushing the candidate set to converge to a unique and reliable solution, effectively resolving the problem of multiple solutions. The entire selection process only stops when a preset termination condition is met, ensuring the controllability of the selection process, avoiding infinite loops, and achieving a balance between positioning accuracy and efficiency. This significantly improves the stability and reliability of robot relocalization in complex and similar environments.
[0032] In one possible implementation, the preset termination condition includes:
[0033] If, after the robot has traveled a preset time or a preset distance, it is still determined that there are multiple candidate pose solutions with matching degrees greater than a preset threshold, then the candidate pose solution with the highest matching degree among the multiple candidate pose solutions is selected as the target pose solution.
[0034] Alternatively, if it is determined that only one candidate pose solution has a matching degree greater than a preset threshold, then the candidate pose solution is determined as the target pose solution.
[0035] This embodiment sets preset termination conditions, constraining the candidate result confirmation process through time or distance thresholds, and implementing termination judgments based on the number of candidate pose solutions and matching degree status. This allows the robot to converge to the optimal candidate result in a timely manner when ambiguity still exists, and to directly end the confirmation process when the candidate result is unique. Therefore, the robot can complete the localization result determination without prolonged verification, reducing energy and time consumption from additional movement, and improving relocalization response efficiency and result stability.
[0036] In one possible implementation, for each candidate pose solution, the current map is matched with a preset global map to obtain the matching result corresponding to each candidate pose solution, including:
[0037] For each candidate pose solution, the updated current map is projected onto the preset global map based on the candidate pose solution, and the overlap or similarity between the current map and the corresponding region in the preset global map is calculated as the matching result corresponding to the candidate pose solution.
[0038] This embodiment precisely projects the updated current map onto a preset global map based on the pose of each candidate pose solution. This achieves strict alignment of the spatial coordinate systems of the two maps, avoiding comparison errors caused by coordinate deviations, ensuring spatial consistency in matching comparisons, and improving matching accuracy. By calculating overlap or similarity, the degree of map matching can be quantified into an objective value, avoiding vague qualitative judgments and making the matching results intuitive, quantifiable, comparable, and sortable, providing a more objective basis for selection. Measuring the matching results based on overlap or similarity can accurately reflect the degree of conformity between the updated current map and the global map in terms of obstacles and passable areas, accurately identifying valid and invalid matches, and reducing the probability of misjudgment. At the same time, this calculation logic is simple, has low computational requirements, low hardware computing power requirements, high execution efficiency, and is compatible with various devices, enabling rapid completion of matching calculations for each candidate, providing a reliable basis for subsequent selection.
[0039] In one possible implementation, obtaining the current map generated by the robot at its current location includes:
[0040] Acquire local environmental data collected by the robot at its current location, and generate the current map based on the local environmental data.
[0041] In this embodiment, the robot simultaneously collects surrounding environmental information and its own pose data using multiple sensors, including LiDAR, depth camera, inertial measurement unit, odometry, and ultrasonic sensors. This allows for comprehensive recording of environmental details across different distance ranges, effectively compensating for the detection blind spots of single sensors. This results in richer and more complete raw data dimensions, ensuring accurate and comprehensive environmental perception from the source. This provides a solid data foundation for subsequent mapping, localization, and obstacle avoidance functions, reducing functional failures caused by missing or incomplete data. The local map can dynamically update in real-time, reflecting environmental changes such as temporary debris and moving obstacles. This frees the robot from dependence on static historical maps, significantly improving its adaptability to dynamic scenes.
[0042] In one possible implementation, the local environmental data is sensor data collected and stitched together by the robot at its current location, or the local environmental data is sensor data collected after the robot moves to its current location.
[0043] In this embodiment, when the in-situ data acquisition and stitching method is adopted, the robot does not need to move additionally. It can generate complete local environmental data simply by scanning from multiple angles in place and fusing multiple frames of data. This can effectively avoid energy consumption and mechanical wear caused by displacement. At the same time, multi-view stitching reduces perception blind spots, enriches local features, improves the initial matching success rate, and reduces the probability of false matching.
[0044] The method of collecting data after moving to the current location can reuse the robot's normal movement process without additional exploration. This results in faster data collection, lower computational overhead, and the rapid generation of effective local features, shortening the initial matching time and improving response speed. Both methods are lightweight, small-scale data collection methods with small data volumes and high processing efficiency, effectively reducing computing power consumption and ensuring the real-time performance of initial matching. They can also flexibly adapt to various scenarios of misalignment, significantly improving positioning stability and robustness. This ensures that local environmental data for initial matching can be generated quickly and reliably under different working conditions, providing a solid data foundation for rapid relocation initiation.
[0045] In one possible implementation, the local environmental data includes one or more of the following: local point cloud data, local image data, local depth data, local lidar data, local ultrasonic data, local infrared data, and local millimeter-wave radar data.
[0046] In this embodiment, by using single or combined data from multiple types of sensors, local environmental features can be characterized from multiple dimensions such as geometric contours, texture and color, distance and depth, illumination robustness, and occlusion penetration, forming a multimodal complementary perception system that significantly improves the comprehensiveness, accuracy, and robustness of environmental information.
[0047] In one possible implementation, a matching result is obtained by comparing the current map with a preset global map, including:
[0048] Match the current map with the preset global map to identify at least one sub-region with a matching degree greater than a preset threshold;
[0049] Determine candidate pose data for at least one sub-region;
[0050] Calculate the coordinate transformation relationship between the pose data at the current position and the candidate pose data corresponding to each sub-region, in order to determine at least one corresponding candidate pose solution.
[0051] In this embodiment, the overall matching is performed based on the current map in each level of the map. The scattered sensor data is integrated into a complete regional map for comparison. Compared with single-point feature matching, it can comprehensively consider information such as the overall spatial structure and obstacle distribution in the region, effectively reducing the interference caused by noise in single sensor data and local occlusion, making the matching results more in line with the real environment and improving the accuracy of region selection.
[0052] By setting a matching threshold to filter qualified sub-regions, areas with large feature differences and no possibility of localization can be quickly filtered out. The search range is narrowed layer by layer, avoiding indiscriminate traversal of the entire candidate space, significantly reducing invalid calculations, and reducing the computing power consumption of each map level. Especially in low-resolution levels, it can quickly complete the screening of large areas, further improving the overall efficiency of hierarchical search.
[0053] After selecting valid sub-regions, the corresponding candidate pose data are directly associated to establish a one-to-one correspondence between the actual region and the theoretical pose, providing a clear spatial basis for pose selection and avoiding blind selection. Based on this, the coordinate transformation relationship between the current pose and candidate poses is calculated to solve for the candidate pose solution, completing the unified mapping between the robot's local coordinate system and the global map coordinate system, thus improving the standardization and verifiability of the pose results.
[0054] In one possible implementation, a matching result is obtained by comparing the current map with a preset global map, including:
[0055] A hierarchical search strategy is adopted, which utilizes the matching degree between the current map and the preset global map to determine at least one corresponding candidate pose solution from the candidate pose set; the candidate pose set includes multiple candidate pose data of the robot.
[0056] This embodiment employs a hierarchical search strategy to search a candidate pose set containing multiple candidate pose data of the robot. The candidate pose set can uniformly define the effective range of localization retrieval during the search process. By combining the candidate pose set with a hierarchical grid map, unordered traversal search within a globally unbounded set is avoided, effectively limiting the data processing dimension, reducing the computational cost of invalid poses, and improving the overall targeting of the matching operation.
[0057] Furthermore, a hierarchical search strategy is adopted, combining the matching degree between the current map and the preset global map to filter candidate poses, enabling hierarchical matching verification from coarse to fine granular. First, the coarse-grained level quickly eliminates obviously mismatched pose solutions, significantly narrowing the initial search domain and reducing the computational load and time consumption of early matching. Then, the fine-grained level performs refined discrimination on the remaining candidate pose solutions, improving pose matching accuracy. Through the hierarchical iterative search method from coarse to fine, the search range can be quickly converged, thereby efficiently filtering out highly reliable candidate pose data from the candidate pose set, providing a reliable foundation for subsequent dynamic verification. At the same time, the entire matching process is completed based on the current map updated during operation, without requiring the robot to move and explore additionally. This ensures matching efficiency while reducing energy consumption during the localization stage and quickly outputting initial candidate localization results.
[0058] In one possible implementation, a hierarchical search strategy is employed, utilizing the matching degree between the current map and a preset global map, to determine at least one corresponding candidate pose solution from the candidate pose set, including:
[0059] Construct a multi-level raster map, which includes a first-level map to an Nth-level map, where the first-level map has the lowest resolution and the Nth-level map has the highest resolution. The resolutions of the raster maps at each level are arranged in ascending order of level. N is an integer greater than 1.
[0060] Starting from the first-level map, the candidate pose set is divided sequentially on the grid map of each level, and the matching degree between the current map and the preset global map corresponding to the divided candidate pose set is used to filter and obtain at least one candidate pose solution.
[0061] This embodiment constructs a multi-level raster map, from the first level to the Nth level, with resolutions ranging from low to high. This establishes a hierarchical matching framework, from coarse-grained to fine-grained, providing a standardized and structured matching carrier for hierarchical search strategies. This avoids the problems of low efficiency or insufficient accuracy when matching with a single-resolution raster map, achieving a balance between matching efficiency and positioning accuracy. Here, raster map resolution refers to the number of grids divided within a unit of physical space. Lower resolution means a larger actual spatial range corresponding to a single grid cell and a coarser overall map granularity; higher resolution means a smaller actual spatial range corresponding to a single grid cell and a more refined map detail, capable of presenting more subtle features such as environmental contours and obstacle boundaries.
[0062] Starting from the first-level map with the lowest resolution, the candidate pose set is divided into regions level by level. For low-resolution levels, a large-scale and fast initial screening can be achieved, and invalid candidate regions with obviously unsatisfactory matching degree can be identified and eliminated in one go. The retrieval set of subsequent levels is directly compressed, reducing the traversal calculation of redundant poses from the source and effectively reducing the computational power consumption of the overall matching process.
[0063] A progressive screening mode is adopted instead of directly performing high-resolution global matching on the entire candidate set. High resolution is only used to perform fine-grained verification on a small number of candidate regions retained from previous levels, which greatly reduces redundant calculations under high resolution, significantly shortens the matching time of candidate poses, and speeds up the output of initial localization results.
[0064] Meanwhile, through multi-granularity level cross-matching verification, subtle differences in environmental features in scenarios with similar local environments and repetitive layouts can be accurately captured, reducing the problem of incorrect selection of candidate poses caused by homogenization of environmental features, improving the credibility of the final output candidate pose solution, and laying an accurate and reliable foundation for subsequent incremental data verification.
[0065] In one possible implementation, starting with the first-level map, the candidate pose set is sequentially divided on the grid maps of each level, and filtered according to the matching degree between the current map and the preset global map corresponding to the divided candidate pose set, to obtain at least one candidate pose solution, including:
[0066] Starting from the first level map, on the grid map of the current level, the candidate pose set is divided into multiple subsets, and each subset corresponds to a set of candidate pose data;
[0067] Calculate the matching degree between the current map and the preset global map corresponding to each subset to obtain the matching degree for each subset.
[0068] Remove subsets with a matching degree less than or equal to a preset threshold, and switch the retained subsets to the next level of raster map;
[0069] The retained subset is iteratively processed based on the grid map of the current level after the switch, until the Nth level map is reached and the matching degree corresponding to the retained subset is greater than the preset threshold, or the number of candidate pose solutions corresponding to the retained subset is a single one, thus obtaining at least one candidate pose solution.
[0070] This embodiment starts with the lowest-resolution first-level map, splitting the candidate pose set into multiple subsets and grouping the candidate pose data. This decomposes the large-scale global search into independent matching of smaller subsets, effectively reducing the data computation scale of a single matching operation and lowering the computational load of a single round of matching. This provides a standardized processing foundation for subsequent layer-by-layer refined filtering. By calculating the matching degree between the local environmental data and the corresponding global map region in each subset, the positioning matching degree of each subset can be quantified, achieving an objective and standardized filtering criterion. This avoids erroneous elimination of candidate sets or redundant retention of invalid sets due to subjective judgment based on experience, thus improving the rigor of the filtering process.
[0071] By promptly removing invalid subsets whose matching degree does not reach the preset threshold and iterating only the subsets with higher credibility to a higher resolution level, a large number of obviously mismatched candidate regions can be filtered out at the early level, continuously compressing the search range of subsequent levels, reducing invalid computation from the source, and effectively reducing the computational power consumption of the overall matching process.
[0072] The process iteratively processes the retained subset layer by layer until it reaches the highest resolution level and the matching degree meets the standard, or the candidate pose solution converges to a uniqueness, achieving a step-by-step verification from coarse to fine. The high-resolution level only performs fine matching on a small number of retained subsets, avoiding the huge computational overhead of traversing the entire set at high resolution. While ensuring the accuracy of positioning and matching, it significantly shortens the overall matching time and accelerates the convergence speed of candidate poses. At the same time, through multi-level and multi-round matching verification, it can accurately identify interference caused by repetitive indoor layouts and similar local environmental features, effectively distinguish subtle environmental differences, reduce the probability of misselection of candidate pose solutions in homogeneous scenarios, and further improve the accuracy and stability of the final output candidate pose solution, providing a high-quality candidate foundation for subsequent incremental environmental data verification.
[0073] In one possible implementation, the first preset condition includes:
[0074] When there is only one candidate pose solution, and the matching degree corresponding to the candidate pose solution is less than or equal to the preset threshold;
[0075] Alternatively, when there are multiple candidate pose solutions, and the matching degree corresponding to the multiple candidate pose solutions is greater than a preset threshold.
[0076] This embodiment unifies the single-candidate low-match-degree scenario and the multi-candidate high-match-degree scenario into the first preset condition. When there is only one candidate but the match-degree is low, it indicates insufficient local information and low reliability, making direct positioning prone to errors. When there are multiple candidates and the match-degrees are all high, it indicates high scene similarity and the risk of multiple solutions, making it difficult to uniquely pinpoint the true location. This embodiment merges the two types of uncertainties into a unified trigger condition. The controller can promptly enter the incremental verification process when information is insufficient or the scene is similar, avoiding prematurely locking the wrong location and improving the caution of the positioning judgment. At the same time, the clear trigger condition ensures that the verification process can be stably started, enabling the robot to continuously use incremental data to disambiguate during normal tasks, effectively improving the accuracy, robustness, and task continuity of relocalization.
[0077] In one possible implementation, the matching result further includes: there are no mutually matching candidate pose solutions, and the method further includes:
[0078] If no candidate pose solution is found, adjust the robot's pose at the current position and regenerate the current map, so as to match the regenerated current map with the preset global map.
[0079] Alternatively, if it is determined that there are no candidate pose solutions, the robot is controlled to move from the current position to the target position, and environmental information is acquired during the movement. The environmental information is compared with a preset global map to locate the target pose data of the robot in the preset global map; the target position is any boundary position of the robot in the process of executing subsequent tasks.
[0080] When no matching candidate pose solution exists, it indicates that environmental features are missing, features are occluded, or the observation angle is limited from the current viewpoint. This results in the current map being unable to establish an effective matching relationship with the global map, causing the initial relocation matching to fail. Directly repeating the in-situ scan can easily lead to an invalid loop. Therefore, this embodiment adjusts the robot's current pose and regenerates the current map, which can change the environmental perception perspective, supplement the environmental features of the original blind spot, avoid the matching failure problem caused by occlusion and single features under a fixed viewpoint, and re-establish the matching association between the generated current map and the global map, effectively improving the success probability of a single relocation matching. At the same time, it avoids the invalid loop caused by the robot repeatedly scanning the same angle in the in-situ, reducing meaningless data collection and computing power consumption.
[0081] In another approach, the robot is controlled to move towards the boundary position during the task execution process, and environmental information is collected simultaneously during the movement to generate a current map and compare it with the global map for positioning. This allows the robot to perceive environmental data while moving, continuously expand environmental feature information, and broaden the effective perception range. This overcomes the limitation of insufficient map features corresponding to the current position, enabling the robot to quickly leave the positioning failure area without repeatedly retrying in place when positioning fails. This avoids the time loss and energy waste caused by wandering in place and ensures the progress of the task.
[0082] The two strategies described above complement each other and adapt to different failure scenarios. They can flexibly address various issues that lead to matching failure, such as missing local features, environmental occlusion, and limited viewpoints, thereby significantly improving the robustness and fault tolerance of relocalization in complex environments. At the same time, they reduce invalid repetitive operations, shorten the recovery time after localization failure, and further ensure the continuity and stability of the robot's overall operation.
[0083] In one possible implementation, based on the acquired updated current map, at least one candidate pose solution is validated to obtain the target pose solution, including:
[0084] The updated current map is matched with the preset global map, and the target pose solution that meets the second preset condition is selected from at least one candidate pose solution based on the matching result.
[0085] In this embodiment, during the process of updating the current map based on incremental environmental data, the controller integrates and stitches together various scattered perception data collected during the robot's movement, unifies coordinates, and fuses features to form a complete and coherent current map. This embodiment differs from the previous mode of using single-frame scattered data for verification. By integrating and forming environmental information with complete spatial correlation, it can effectively fill the blind spots and information gaps in local perception, thereby improving the integrity of the data used for positioning verification and effectively resisting data anomalies caused by temporary occlusion, dynamic obstacles, and instantaneous sensor errors, thus improving the reliability of verification results from the data source.
[0086] Meanwhile, the current map can continuously expand outwards along the robot's operational path, constantly enriching core features such as environmental structure and obstacle distribution based on the normal operational path. It eliminates the need for manually defining fixed data collection areas, sustainably accumulating highly recognizable environmental information and effectively overcoming the challenges of distinguishing between weak-texture scenes and homogeneous spaces. Furthermore, while updating the map, preprocessing tasks such as data denoising, distortion correction, and invalid data removal are performed, unifying the format and coordinate standards of various sensing data. This not only filters out external environmental interference and simplifies redundant data, but also effectively reduces the computational pressure in the subsequent map matching stage, minimizing unnecessary computational consumption and ensuring the smooth and efficient operation of the overall positioning and verification process.
[0087] When matching the current map with a preset global map and selecting the target pose solution accordingly, a global map-based verification method is adopted. This method overcomes the limitations of traditional single-point feature comparison and completes location verification from macroscopic dimensions such as overall spatial layout and environmental contour structure. It can quickly identify scenarios that are prone to location confusion, such as similar layouts, repetitive corridors, and similar apartment types, effectively eliminating location ambiguity. At the same time, combined with the fit results obtained from map matching, all candidate pose solutions are verified and compared one by one. Invalid candidate data with large positional deviations and low feature matching degrees are systematically eliminated, establishing a rigorous correspondence between map matching results and candidate location positions. This not only quickly narrows down the effective location range and saves system discrimination resources, but also significantly accelerates the location convergence speed.
[0088] In one possible implementation, matching the current map with a preset global map includes:
[0089] Detect the size of the updated current map;
[0090] If the size of the updated current map meets the preset size condition, downsample the updated current map to obtain downsampled environmental data.
[0091] The downsampled environmental data is matched with a preset global map.
[0092] This embodiment detects the size of the updated map in real time to determine whether the updated map meets the preset matching execution standard. It can flexibly control the timing of matching start based on the actual map coverage and data volume, avoiding blindly carrying out matching operations when the map features are too few or the area is too small. This effectively reduces invalid matching operations, reasonably controls the overall operation rhythm, and makes the matching process more in line with the actual environment and data collection progress.
[0093] Once the updated map size meets the preset size conditions, downsampling is performed on the current map to obtain simplified downsampled environmental data. Downsampling allows for the reasonable sparsification of redundant points, dense pixels, and repetitive environmental information within the map. While fully preserving core discriminative features such as wall outlines, obstacle boundaries, and spatial inflection points, it significantly reduces the overall volume of environmental data, streamlining data storage and transmission. This effectively alleviates the data processing pressure on the main control unit, reduces hardware computing resource consumption, and avoids problems such as computational lag and processing delays caused by the continuous increase in map data volume.
[0094] The processed downsampled environmental data is matched with a pre-set global map. This approach ensures the accuracy of spatial structure comparison by retaining core environmental features, avoiding feature loss and matching distortion caused by data simplification. Furthermore, the lightweight data significantly improves the speed of map matching, reducing the time required for each match and guaranteeing good real-time performance in the positioning verification process. This hierarchical control and data simplification matching mode achieves a high-efficiency balance between positioning verification accuracy and system operating efficiency. It meets the needs of precise positioning verification in complex scenarios while also being compatible with low-computing-power hardware platforms, effectively expanding the hardware adaptability of this positioning method. Simultaneously, it ensures that the positioning matching process remains efficient and stable during long-term, long-distance robot operations.
[0095] In one possible implementation, the method further includes:
[0096] If the robot fails to find a candidate pose solution that meets the second preset condition after traveling a preset time or distance, the localization is deemed to have failed, and a prompt message is generated.
[0097] This embodiment sets a preset time or preset distance for the comparison and verification process of candidate pose solutions, and defines a clear termination boundary for the dynamic verification process. This can effectively prevent the verification process from running indefinitely and prevent the robot from falling into a long-term, non-converging, invalid loop state, thus ensuring that the overall positioning process is orderly and controllable.
[0098] When the robot fails to find a candidate pose solution that meets the second preset condition within a limited time or travel distance, it promptly determines that the localization has failed. This proactively terminates the uncertain localization verification, avoiding unnecessary energy consumption and wasted task time caused by continuous map information collection and repeated comparisons, thus ensuring the overall operational efficiency of the robot. Simultaneously, a prompt message is generated to clearly feed back the localization failure status to the controller or user, facilitating timely troubleshooting, relocation and restart, path adjustment, or manual intervention for rapid problem response. By setting hard termination conditions and a status feedback mechanism, the controllability and fault tolerance of the robot's localization process are enhanced, preventing localization logic from freezing in abnormal environments and improving the overall system's operational stability and scenario adaptability.
[0099] In one possible implementation, the method further includes:
[0100] Based on the target pose solution, the robot target localization data is determined.
[0101] This embodiment obtains candidate pose solutions through current map matching, and then filters out the target pose solution through real-time mapping, obstacle information verification, and final confirmation of continuous positioning dynamic verification. This determines the robot's target positioning data, achieving precise locking of the robot's true pose. Based on this high-reliability target positioning data, further precise repositioning can directly and accurately restore the robot's position and posture in the preset global map, eliminating pose uncertainty after positioning loss and providing a precise coordinate reference for task recovery. After repositioning based on the target positioning data, the robot does not need to rebuild the global map or traverse the entire room environment; it can directly continue to perform subsequent tasks such as cleaning and inspection using the original planned path. This avoids task interruptions and repetitive work caused by positioning failure, significantly improving task continuity and work efficiency. The pose data fed back from the target positioning data can also effectively avoid path deviations, missed scans, and collisions caused by positioning drift, reducing energy consumption from repeated sensing and additional searches, and further improving the accuracy, stability, and execution efficiency of mobile operations.
[0102] In one possible implementation, the follow-up tasks include one or more of the following: cleaning tasks, patrol tasks, inspection tasks, security tasks, guidance tasks, transportation tasks, and rescue and detection tasks.
[0103] This embodiment can be executed independently or in combination as needed, depending on the actual application scenario, and can be fully adapted to different usage environments such as residential homes, office buildings, commercial venues, industrial parks, warehouses, medical facilities, and various emergency operation sites, greatly improving the scenario versatility and functional adaptability of the overall positioning solution.
[0104] After completing the initial matching and entering the positioning verification stage, the robot can seamlessly start the corresponding task. The positioning verification work is carried out synchronously with the task progress, without pausing the operation process or planning additional driving routes to achieve the positioning function. This allows the positioning process to be deeply integrated with the actual operation, without disrupting the established work rhythm or delaying the task progress, and without generating additional driving energy consumption and time loss, effectively ensuring the continuity of the operation process and the overall operating efficiency.
[0105] Simultaneously, by continuously collecting incremental environmental data in diverse task execution scenarios, rich environmental features under different spatial environments can be accumulated, further enriching the judgment criteria for positioning verification. This makes the verification process of candidate pose solutions more comprehensive and thorough, ensuring the orderly implementation of various daily services, industrial operations and maintenance, emergency assistance, and other operations. It also continuously improves the accuracy and stability of positioning verification in diverse operation scenarios, making this positioning method adaptable to various types of service robots, industrial operation robots, and emergency detection robots, significantly expanding the practical application scope of the technical solution.
[0106] Secondly, this application provides a robot positioning device, the device comprising:
[0107] The matching module is used to obtain the current map generated by the robot at the current position, and to match the current map with a preset global map to obtain the matching result; the matching result includes at least one candidate pose solution and the matching degree corresponding to at least one candidate pose solution;
[0108] The confirmation module is used to control the robot to execute subsequent tasks when the matching result meets the first preset condition, and to verify at least one candidate pose solution to obtain the target pose solution based on the updated current map during the execution of the subsequent tasks.
[0109] Thirdly, embodiments of this application provide a robot, including: a memory and a processor;
[0110] The memory stores instructions that the computer executes;
[0111] The processor executes computer execution instructions stored in memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect.
[0112] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the first aspect and / or various possible implementations of the first aspect.
[0113] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the first aspect and / or various possible implementations of the first aspect.
[0114] The robot positioning method, device, robot, medium, and product provided in this application obtain the current map of the robot's location and combine it with a preset global map to complete feature matching and generate candidate pose solutions with corresponding matching degrees. After the matching result meets the first preset condition, the robot is directly controlled to perform subsequent tasks such as cleaning, effectively avoiding the time wasted due to positioning waiting, ensuring continuous operation, and improving time utilization efficiency. At the same time, the robot can continuously collect information to generate a real-time current map during normal operation, without the need for additional movement scanning and special exploration. It can also adapt to changes in the on-site environment in a timely manner. Based on the continuously improving real-time map, the candidate pose solutions are verified to determine the target pose, which can effectively eliminate positioning ambiguity, avoid mismatch problems, and greatly improve positioning accuracy and pose stability. It can also realize the simultaneous performance of positioning verification and operation tasks. While ensuring the stable operation of the robot's autonomous walking, obstacle avoidance, and path planning, it comprehensively reduces operating costs, maximizes overall operation efficiency, and adapts to various complex application scenarios. Attached Figure Description
[0115] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0116] Figure 1 This is a schematic diagram of an application scenario provided by an embodiment of this application;
[0117] Figure 2 A flowchart illustrating the robot positioning method provided in an embodiment of this application;
[0118] Figure 3 A schematic diagram illustrating the relocation process of the application robot positioning method provided in this application embodiment;
[0119] Figure 4 A schematic diagram of the positioning device for the robot provided in this application;
[0120] Figure 5 This is a structural schematic diagram of the robot provided in this application.
[0121] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0122] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended summary of this application.
[0123] To facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with essentially the same function and purpose. For example, "first device" and "second device" are merely used to distinguish different devices and do not limit their order of execution. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" do not necessarily imply that they are different.
[0124] It should be noted that, in this application, the terms "exemplary" or "for example" are used to indicate that something is being described as an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0125] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0126] Autonomous localization and relocalization technology is a core function of mobile devices, widely used in robotic vacuum cleaners, service robots, and other equipment, particularly in homes, offices, apartments, hotels, and open-plan commercial settings. Robots pre-store a global map of their environment and, during tasks such as cleaning and inspection, use LiDAR and visual sensors to acquire local environmental data, matching it with the global map to achieve autonomous navigation.
[0127] In actual operation, robots are prone to losing their localization due to being moved, colliding, slipping, or shifting their posture, or dynamic changes in the environment (such as furniture movement, door opening and closing, or the addition of obstacles). It is necessary to re-establish the matching relationship between the local environment and the global map. In scenarios such as multiple rooms, connected corridors, repetitive office workstations, and similar furniture layouts, the environmental characteristics are highly similar, making it difficult for robots to quickly and uniquely determine their own position, resulting in prominent issues of mismatch and localization failure.
[0128] Therefore, after a loss of localization, the ability to quickly relocate using only current local environmental data without interrupting normal tasks has become a key industry requirement. The relevant system needs to include four main units: environmental perception, map storage, matching processing, and task execution. Through a seamless data and control flow encompassing local data acquisition, map matching, candidate pose output, and task integration, it can ensure the robot's autonomous and efficient recovery after a localization anomaly.
[0129] When a robotic vacuum cleaner loses its position, it primarily employs two relocalization methods: local scanning and matching, or expanding the exploration range. Local scanning, in the initial stage of relocalization, relies solely on matching environmental data from a small local area collected at the robot's current location with the global map to generate candidate localization results. However, the perception range of a small local area is limited, and its feature dimensions are singular, often lacking sufficient environmental uniqueness and global structural constraints. Especially in scenarios such as homes and offices, where room layouts are repetitive, furniture styles are similar, and corridors are long and symmetrical, the matching similarity between local areas and historical maps is high, but the distinguishability is insufficient. This easily leads to problems such as multiple solution confusion, false matching, and pose mismatch, severely impacting the continuity of the robot's tasks and operational reliability.
[0130] When the robot actively explores its surroundings, it needs to travel a significant amount of time to complete non-task-related movements and continuously perform high-frequency full-area scanning. This not only directly and significantly lengthens the overall relocation process, resulting in an excessively long positioning waiting period, but also continuously consumes the robot's stored power, significantly increasing the energy cost of the relocation process. In addition, the active exploration behavior forcibly interrupts the robot's established cleaning rhythm and disrupts the preset cleaning path planning. The originally orderly operation process is forced to stop, and a large amount of effective working time is squeezed out, directly reducing the whole-house cleaning coverage and overall cleaning efficiency. This drawback is even more pronounced in large residential homes and large commercial spaces, seriously affecting the continuity and practicality of the robot's routine autonomous operation.
[0131] In summary, existing technologies have significant shortcomings in terms of positioning accuracy, processing efficiency, energy consumption control, and adaptability to complex dynamic scenarios, making it difficult to meet users' demands for autonomous and reliable robot operation. Therefore, how to balance the accuracy, efficiency, and task continuity of relocation after robot positioning failure has become an urgent technical problem to be solved.
[0132] To address the aforementioned issues, a robot localization method is proposed that integrates the localization confirmation process with subsequent task processes. This allows the robot to gradually narrow down the candidate range and ultimately confirm its true location without interrupting task progress. Once the initial matching results meet the first preset coarse localization condition, the robot immediately resumes and continues to perform subsequent core tasks such as cleaning. It simultaneously performs refined verification and screening of candidate pose solutions based solely on the local map naturally collected during normal operation. This deeply integrates the localization verification process with the cleaning task, utilizing diverse information such as the real-world environment and obstacle distribution accumulated during operation to achieve accurate localization. It eliminates the need for interrupting operations or additional detours, completely saving the time and power consumption of dedicated exploration while ensuring a smooth and orderly cleaning process. This method efficiently completes accurate relocalization, eliminates localization ambiguities, maximizes robot cleaning efficiency, and effectively avoids various practical application defects of existing active exploration localization modes.
[0133] To better understand the robot positioning method provided in this application, the structure of the robot in this application will be briefly described below.
[0134] The robot provided in this application embodiment is equipped with a controller, which is used to execute any embodiment of the robot positioning method provided in this application embodiment.
[0135] Specifically, the robot can be a self-propelled robot capable of moving autonomously within a work area and completing tasks without external human input or control. The work area can include indoor and outdoor areas. Indoor areas can include family rooms, offices, shopping malls, factory workshops, etc. Outdoor areas can include lawns, gardens, roads, etc. Tasks can be autonomously performed service operations (guided tours, item delivery), cleaning operations (sweeping, mopping, combined sweeping and mopping, dust removal), inspection operations (environmental monitoring, security patrols, equipment inspection), and transportation operations (cargo handling, material distribution, material transfer), etc.
[0136] Robots include, but are not limited to: sweeping and mopping robots, home service robots, hotel delivery / guidance robots, office building / park inspection robots, and factory indoor inspection robots.
[0137] Specifically, a robot includes at least a controller. This controller may include a microcontroller unit (MCU). Of course, the controller may also include other devices capable of control functions.
[0138] Building upon this, the robot can also include various sensors to identify information about user-defined items and their environment. For example, the sensors can be one or more of the following: ultrasonic sensors, monocular vision sensors, binocular vision sensors, line laser sensors, area laser sensors, laser distance sensors (LDS), direct time-of-flight (Dtof) sensors, and indirect time-of-flight (Itof) sensors.
[0139] For example, Figure 1 This is a schematic diagram illustrating an application scenario provided by an embodiment of this application. For example... Figure 1 As shown, this scenario can be used in situations where robots execute localization methods. Taking a home vacuum cleaner as an example, with the home indoor environment as the application background, including indoor spaces such as the living room and corridor, in this scenario, the vacuum cleaner initially moves autonomously along the original task path A according to the preset cleaning plan. It normally travels to the corner of the living room. At this time, according to the established task logic, it should continue to complete the cleaning of the remaining area of the living room along path A.
[0140] During the operation of a robotic vacuum cleaner, user intervention, such as manually moving the robot from a corner of the living room along path B to the hallway, or picking it up and putting it down, results in the robot's internal control module being unable to match the actual displacement due to the human intervention. The original pose information becomes invalid, and the robot deviates from its original positioning coordinate system corresponding to the preset global map, leading to positioning failure. The robot controller monitors its positioning status in real time, identifying mismatches between the pose and the global map, and positioning drift exceeding a threshold. Upon determining that the current positioning has failed, it triggers a repositioning process and enters a repositioning preparation state.
[0141] At this point, the current map generated by the robot vacuum at its current location is obtained, and the current map is matched with a preset global map to obtain a matching result. The matching result includes at least one candidate pose solution and the matching degree corresponding to at least one candidate pose solution. If the matching result meets the first preset condition, the relocation is initially determined to be successful. Then, the robot vacuum is allowed to execute subsequent tasks first to shorten the time of the robot relocation process. The robot vacuum is controlled to execute subsequent tasks. During the execution of subsequent tasks, at least one candidate pose solution is verified based on the updated current map to obtain the target pose solution until the accurate relocation is successful.
[0142] Based on the determined target pose solution, the robot's location can be determined, relocalization can be completed, and the whole-house cleaning task can continue. Compared with traditional relocalization methods, the embodiments of this application combine the localization process with the normal operation of the machine, eliminating the need for additional exploration and movement, significantly shortening the relocalization time and reducing energy consumption. Incremental dynamic verification effectively distinguishes mismatches caused by similar layouts and dynamic environments, thus significantly improving the accuracy and stability of relocalization.
[0143] Based on this, the localization method of this robot can solve the problems in the existing technology where robot relocalization and mapping rely on large-scale scanning or backtracking exploration, and the task needs to be paused during the relocalization process to carry out the relocalization process. For similar rooms and repetitive layouts in a home, multiple solutions and mismatches are easily caused. Thus, the robot can achieve more efficient, stable and autonomous localization recovery in dynamic, repetitive and variable environments.
[0144] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0145] Figure 2 This is a flowchart illustrating a robot localization method provided in an embodiment of this application. Figure 2 As shown, the robot's localization method includes the following steps:
[0146] S201. Obtain the current map generated by the robot at its current location, and match the current map with the preset global map to obtain the matching result.
[0147] The matching result includes at least one candidate pose solution and the matching degree corresponding to at least one candidate pose solution. A candidate pose solution can be understood as a transformation relationship that converts the robot's pose data corresponding to its current position in the current coordinate system to the coordinate system corresponding to a preset global map. The current map refers to a map composed of local environmental data collected and preprocessed by the robot at its current position using its onboard environmental perception sensors. Specific local environmental data can include, for example, LiDAR point cloud data, visual feature data, 3D structural data, or multi-sensor fusion data. It can also be composed of one or more combinations of depth maps output by depth cameras, dense or sparse spatial features generated by binocular vision, ultrasonic ranging data, infrared sensing data, and collision sensing data. The current map is a local grid map / point cloud map generated by the robot in real-time at its current position based on real-time local environmental data. The map reflects the real-time environmental state of obstacles, empty areas, walls, furniture, terrain, etc., around the robot, possessing real-time and local characteristics. It can be used alone for short-term obstacle avoidance or subsequently stitched and fused into the global map. For example, local environmental data may be local point cloud data collected by LiDAR. The robot can perform multi-frame point cloud stitching, noise reduction, and filtering by scanning by rotating 360° in place or rotating 360° without moving the robot, to form a complete current map for feature matching with the global map.
[0148] A preset global map is used to indicate the environmental grid map, feature map, or topology map that the robot has built and stored locally or in the cloud during the historical mapping phase. This map can include information on walls, obstacle outlines, room boundaries, and access areas. For example, it can record global features of the indoor environment such as wall outlines, furniture positions, obstacle distribution, and area boundaries, serving as a reference for localization and matching. This preset global map can correspond to the robot's historical operating environment and can be stored using a unified representation from the robot's body coordinate system to the map coordinate system.
[0149] In one possible embodiment, the controller enters a relocation preparation state after detecting that the current positioning state has failed. At this time, the controller controls the robot to perform one frame or multiple consecutive frames of sampling at the current position, and performs time synchronization, coordinate unification, noise reduction and outlier removal on the sampling results to obtain a current map that can be used for matching.
[0150] In the specific implementation, the controller can first extract environmental features from the local environmental data. These environmental features may include information such as wall segments, corner points, edges, occupied grid distribution, local obstacle outlines, and passable spatial shapes. Then, it generates the current map. Based on similarity search, grid correlation matching, scan matching, particle sampling evaluation, or feature descriptor matching, the current map is compared with multiple regions in the preset global map. The system calculates indicators such as feature overlap, point cloud distance error, and matching score to form a matching result, which includes at least one candidate pose solution and its corresponding matching degree.
[0151] The candidate pose solution represents the transformation relationship between the robot's pose data in its current coordinate system and the preset global map coordinate system. During robot operation, there exists a robot local coordinate system with the robot's own center as the origin, and the controller stores a global map coordinate system with fixed points in the work environment as the origin. All feature points, obstacles, paths, etc., in the preset global map are represented in this coordinate system. The origins, heading angles, and spatial references of the two coordinate systems do not coincide. To accurately determine the robot's position on the global map and ensure the relocalization process, it is necessary to transform the robot's pose data (position and orientation) in the current coordinate system to the global coordinate system.
[0152] Furthermore, candidate pose solutions are sets of coordinate transformation parameters including translation vectors and rotation matrices. Through preset algorithms, such as coordinate space transformation algorithms or rigid body transformation solutions, the translation offsets and rotation angles between the two coordinate systems are calculated, establishing a mathematical mapping relationship between the current position and the global map position. Each set of candidate pose solutions represents a theoretically feasible position and posture for the robot in the global map. The matching degree characterizes the degree of conformity between the local environment data and the corresponding region of each candidate pose solution in the map. Specifically, it can be represented by normalized correlation coefficient, overlap rate, the reciprocal of the point-to-map distance error, feature consistency score, or comprehensive confidence score. The higher the matching degree value, the closer the current local environment is to that map region, and the greater the probability that the robot is in that candidate location. For example, a value range of 0-100 is used for quantization; only candidate pose solutions higher than a preset threshold are retained and included in subsequent processing.
[0153] Specifically, the robot's current coordinate system can be understood as a traveling coordinate system with the robot's center as the origin, the X-axis directly in front of the robot, the Y-axis to the left, and the Z-axis vertically upwards. This system changes position and angle synchronously with the robot's movement and turning, and only describes the robot's position and posture from its own perspective. The pose data in this coordinate system only reflects the robot's state relative to itself and cannot directly correspond to the entire work scenario. The coordinate system corresponding to the preset global map, on the other hand, can be understood as a globally fixed coordinate system established with fixed landmarks within the work environment (such as room corners, entrances / exits, and building reference points) as the origin. It is bound to the preset global map and serves as the sole spatial reference for the entire work area. All navigation, operation, and positioning results of the robot ultimately need to be unified under this coordinate system. Since the two coordinate systems are independent, data exchange must be achieved through coordinate transformation. After extracting the corresponding points of local environmental features and global map features, the translation vectors and rotation matrices between the two coordinate systems are calculated using an algorithm to obtain the complete transformation relationship, i.e., a set of candidate pose solutions.
[0154] For example, the robot collects local environmental data at its current location, extracts key information such as environmental contours, feature points, and inflection points, generates a current map, and performs feature similarity matching between the current map and a preset global map. Since indoor environments commonly feature repetitive corridors, symmetrical rooms, and similar furniture layouts, the same set of local features may match multiple similar regions in the global map. For each successfully matched region, the system calculates an independent set of coordinate transformation relationships, thereby generating multiple candidate pose solutions; simultaneously, it calculates the matching degree for each set of solutions to characterize the credibility of that pose.
[0155] In a specific embodiment, taking an indoor cleaning robot scenario as an example, this step is executed immediately after the robot unexpectedly loses its location in a home environment. The robot activates its LiDAR and depth camera in place, collecting local environmental data within a 3-meter radius, including the outlines and 3D point cloud information of objects such as living room walls, sofas, and coffee tables, and generating a current map. The controller retrieves the coordinate system corresponding to the pre-constructed whole-house preset global grid map, extracts features such as wall corners and furniture edges from the coordinate system corresponding to the current map, and matches them one by one with the global map. Due to the similar layout on both sides of the living room, this matching yields three sets of candidate pose solutions, and calculates matching degrees of 87, 72, and 51 for each set. The first set of candidate pose solutions corresponds to the main activity area of the living room, the second set corresponds to the side passage of the living room, and the third set corresponds to the entrance hall. All three sets of candidate pose solutions are calculated using a rigid body transformation algorithm, recording the translation and rotation parameters of the robot's local coordinate system to the global coordinate system. Finally, the controller integrates the three sets of candidate pose solutions and their corresponding matching degrees into a complete matching result, completing this step.
[0156] For example, the controller can first perform coarse matching at a lower resolution map level, filtering out several preliminary candidate regions by calculating the degree of consistency between the local point cloud contour and the global raster occupancy distribution; then, it can perform fine matching on the preliminary candidate regions at a higher resolution level, generating multiple candidate pose solutions by iterating through nearest point, raster correlation matching, feature descriptor comparison, or multi-source information joint scoring. Each candidate pose solution can be represented as a ternary pose parameter, including lateral position, longitudinal position, and heading angle. The processor further calculates the corresponding matching degree based on the degree of overlap between the current map and the global map, the degree of boundary fitting, the number of corresponding feature points, or the residual error under this pose parameter.
[0157] If a normalized scoring method is used, the overlap rate, edge consistency, and number of feature matches can be converted into individual scores, and then summed according to predetermined weights to generate the total matching degree. This allows data from different sensor sources to participate in candidate evaluation on a unified scale. If multiple regions have similar environmental structures, such as multiple rooms with similar corner layouts or similar furniture arrangement patterns, the matching results can simultaneously retain multiple candidate pose solutions with similar matching degrees, instead of directly selecting a single location.
[0158] Based on the above analysis, this step involves obtaining a generated current map of the robot's current location and matching it with a preset global map to obtain matching results containing candidate pose solutions and corresponding matching degrees. Using only the current map for matching reduces the amount of data collected and processed in a single step, lowering computational power consumption and processing time. Furthermore, by using the current map for directional matching of the global map, there is no need for blindly traversing the entire map, which quickly narrows the localization retrieval range, reduces redundant computation in the initial matching stage, and improves initial matching efficiency. The matching degree also directly reflects the reliability of candidate localizations, providing a priority basis for subsequent screening and verification.
[0159] S202. If the matching result meets the first preset condition, control the robot to execute subsequent tasks, and in the process of executing subsequent tasks, based on the updated current map, verify at least one candidate pose solution to obtain the target pose solution.
[0160] In this embodiment, the first preset condition serves as the criterion for initiating dynamic verification, distinguishing whether the process of performing tasks while verifying needs to be entered. The first preset condition can be set as follows: at least one candidate pose solution in the matching results has a matching degree higher than the basic confidence threshold; the matching degree difference of the first few candidate pose solutions is less than a preset difference threshold and is higher than the minimum acceptance threshold; or the number of candidate pose solutions is within a preset range, indicating that although the position cannot be uniquely determined yet, the initial candidate set has value for further screening. When the matching result meets any of the above conditions, it can be determined that the first preset condition is satisfied, and the dynamic verification process begins.
[0161] Subsequent tasks can include continuing along the current cleaning plan, performing spot cleaning in specific areas, moving to a preset target point, inspecting along a predetermined path, or continuing the original task after overcoming obstacles. The control here is not for additional exploration to specifically expand the relocation range; the robot does not need to pause its task to perform a dedicated relocation operation. Instead, it controls the robot to maintain normal task progress, simultaneously verifying its location during movement and work to avoid task interruption due to relocation, while also preventing additional exploratory movement.
[0162] Specifically, if the matching result meets the first preset condition, the robot can be controlled to execute subsequent tasks and announce that the initial relocation was successful. The first preset condition can be understood as the criterion for determining whether the initial relocation is effective. When the matching degree reaches the preset confidence threshold, the initial relocation is considered complete, thereby significantly shortening the overall relocation time, ensuring that the robot's operation process is not interrupted, and effectively optimizing the user experience. The first preset condition can be met in the following ways: the matching result contains only a single candidate pose solution, but the matching degree corresponding to the candidate pose solution is less than or equal to the preset confidence threshold, indicating that the confidence of a single local matching result is insufficient and cannot be directly used as the final positioning basis; or the matching result contains multiple candidate pose solutions, and the matching degree corresponding to each candidate pose solution is greater than the preset confidence threshold, indicating that there are multiple areas in the current local environment that are highly similar to the global map, resulting in obvious positioning ambiguity and making it impossible to uniquely lock the true pose. When any of the above conditions are met, the initial matching result is determined to have a valid candidate basis, and the user can be informed that the initial relocation was successful. The robot no longer needs to stay in place and wait for the precise positioning result, but instead enters the normal operation state. At the same time, the internal controller of the device automatically enters the dynamic verification process. Relying on the current map that is continuously updated during the operation, the dynamic verification process is used to conduct fine comparison, screening and verification of all candidate pose solutions. In this way, multiple rounds of dynamic verification are completed during the normal operation of the robot, invalid candidate pose solutions are gradually eliminated, and finally the target pose solution that meets the higher matching requirements is selected.
[0163] The controller can control the robot to announce that the initial relocation was successful. This announcement is a status prompt from the robot to the user or control application, indicating that the relocation initiation phase has been completed and a valid candidate location set has been generated. It can be achieved through voice prompts, light prompts, on-screen text prompts, or background log records. It is used to clearly inform the user that the robot has escaped the state of complete loss of location, has initially completed the matching and association with the global map, and can proceed with subsequent tasks normally. The robot then enters a relocation process of performing tasks and dynamically verifying the location, without user intervention.
[0164] Understandably, the current map is a real-time environmental map continuously generated by the robot during the execution of subsequent tasks. It can be formed by the robot scanning while moving, reflecting the environmental structure and obstacle distribution at the current stage of operation. Throughout the entire task execution process, the robot relies on its onboard environmental perception devices, such as LiDAR, vision acquisition modules, and millimeter-wave sensing components, to continuously collect real-time information about the surrounding environment. Simultaneously, it completes environmental data preprocessing, coordinate correction, and raster modeling, continuously generating and updating the current real-time environmental map. The current map is a local sub-map within the robot's path, which can include detailed environmental elements such as real-time obstacle size, obstacle distribution location, wall boundaries, landmark feature points, and open passage areas. Compared to a pre-stored global map, it has stronger real-time performance and scene adaptability.
[0165] Based on the real-time generated current map, the controller performs a detailed, item-by-item verification and comparison of at least one set of candidate pose solutions retained from the initial coarse screening. It employs core positioning verification technologies such as point cloud feature registration, grid map overlap calculation, landmark feature one-to-one mapping and matching, and pose coordinate difference iterative correction. The verification process can be achieved through methods such as frame-by-frame comparison of temporal features, feature trajectory association verification, semantic feature matching verification, Kalman filter pose correction verification, and heterogeneous feature cross-verification. This application does not impose any restrictions on these methods. Invalid candidate pose solutions with positioning deviations, scene adaptation errors, or abnormal coordinate mappings are gradually eliminated. Finally, valid data with accurate coordinates, satisfactory scene matching, and stable pose state are selected as the final confirmed target pose solution, thus completing the robot's accurate relocalization and pose correction.
[0166] This embodiment introduces the real-time local sub-map collected during the robot's task execution phase as the basis for secondary localization verification. It fully utilizes the continuously enriched and improved real-world environment information and complete obstacle distribution data during the task's progress to conduct in-depth secondary screening and verification of multiple candidate pose solutions retained from the coarse localization. This effectively solves common industry localization problems such as localization confusion, pose determination ambiguity, and multi-position matching conflicts that exist in homogeneous indoor scenes, similar layout areas, and scenes with missing features. It completely eliminates the problem of localization judgment ambiguity from the data comparison level, and significantly improves the accuracy and reliability of robot localization results.
[0167] Furthermore, the refined screening and verification process of candidate pose solutions is executed in parallel with the robot's daily subsequent tasks. These two processes do not occupy independent runtime slots. The robot does not need to deviate from its predetermined work route, nor does it need to plan additional exploration paths or conduct separate full-area environmental scanning and positioning operations. It can steadily complete the iterative verification and accurate positioning confirmation of candidate pose solutions simply by relying on the large amount of real-world environmental information naturally accumulated during its normal cleaning and inspection tasks. This operating mode significantly reduces the travel time, power consumption, and computing resources consumed by the robot's individual relocalization, simplifies the robot's positioning operation logic, and streamlines the positioning process. While ensuring the robot's positioning accuracy and stability, it comprehensively improves the overall operational efficiency of the robot, optimizes the smoothness and continuity of the robot's autonomous indoor movement, and is adaptable to various complex home environments, commercial offices, warehouses, and other practical application scenarios.
[0168] In one optional implementation, the first preset condition includes:
[0169] When there is only one candidate pose solution, and the matching degree corresponding to the candidate pose solution is less than or equal to the preset threshold;
[0170] Alternatively, when there are multiple candidate pose solutions, and the matching degree corresponding to the multiple candidate pose solutions is greater than a preset threshold.
[0171] Among them, the preset threshold is used to distinguish whether the candidate results are sufficient to directly enter the subsequent confirmation stage. For example, it can be set by historical pose solution statistics, map resolution and environmental repeatability, which can reduce the probability of misjudgment while ensuring positioning stability.
[0172] Understandably, after matching the local environment data with the global map, the controller statistically judges the number of candidate pose solutions and their corresponding matching degrees in the output results. When only one candidate pose solution is output, if the matching degree of the candidate pose solution is not higher than a preset threshold, it indicates that the single matching result still lacks sufficient determinism. The controller cannot directly determine the robot's current position based on this result, but should continue to verify it using the subsequently collected current map and its obstacle information. When multiple candidate pose solutions are output, and the matching degree of all candidate pose solutions is greater than the preset threshold, it indicates that there are multiple areas in the current environment that are highly similar to local features, forming a multi-solution scenario. The true pose cannot be uniquely determined by a single local matching, and it is also necessary to enter the dynamic verification stage to gradually eliminate erroneous solutions using the current map and its obstacle information.
[0173] Optionally, the threshold determination can compare the matching degree item by item based on the matching results cached by the controller and output the corresponding condition determination signal; in practical applications, other algorithm forms can also be used for this determination method, which is not limited in this embodiment.
[0174] This embodiment unifies the single-candidate low-match-degree scenario and the multi-candidate high-match-degree scenario into the first preset condition. When there is only one candidate but the match-degree is low, it indicates insufficient local information and low reliability, making direct positioning prone to errors. When there are multiple candidates and the match-degrees are all high, it indicates high scene similarity and the risk of multiple solutions, making it difficult to uniquely pinpoint the true location. This embodiment merges the two types of uncertainties into a unified trigger condition. The controller can promptly enter the map information verification process when information is insufficient or the scene is similar, avoiding prematurely locking the wrong location and improving the caution of the positioning judgment. At the same time, the clear trigger condition ensures that the verification process can be stably started, allowing the controller to continuously use incremental data to disambiguate during the robot's normal task, effectively improving the accuracy, robustness, and task continuity of relocalization.
[0175] This application provides a robot localization method. By using the robot's current map, it accurately acquires the real-world environmental features, effectively ensuring the authenticity and timeliness of the original localization data. This avoids judgment errors caused by outdated map information and lays a reliable data foundation for subsequent map matching. By performing feature matching between the current map and a preset global map to generate candidate pose solutions with corresponding matching degrees, it can quickly complete the initial location screening globally, eliminating invalid localization points with large deviations, significantly reducing the scope of subsequent localization verification, simplifying the data processing flow, shortening the time required for initial localization judgment, and intuitively distinguishing the quality of candidate locations based on matching degrees, making the overall initial localization process more efficient.
[0176] Once the matching result meets the first preset condition, the robot is immediately controlled to carry out subsequent tasks. This changes the traditional operating logic that requires precise positioning before subsequent tasks can be executed, effectively avoiding the waste of time resources caused by positioning waiting, ensuring a smooth and continuous robot operation process, making full use of equipment runtime to advance the task progress, and significantly improving the overall operation time utilization rate. During the movement of the robot to perform subsequent tasks, it continuously collects environmental information and generates a real-time updated current map. It naturally expands the environmental perception range along the normal operation path without the need for separate exploration route planning, additional movement, or special environmental scanning. While not disrupting the established operation plan, it promptly captures changes in the on-site environment, ensuring that the positioning reference data always matches the actual scene state.
[0177] Finally, the candidate pose solutions are deeply validated using the continuously updated map during the operation to determine the target pose solution. Leveraging the gradually enriched real-world environmental information, easily confused locations with similar layouts and features are effectively distinguished, eliminating localization ambiguity and mismatch issues, and steadily improving the robot's final localization accuracy and pose stability. This solution integrates precise localization verification with daily operational tasks, with localization optimization completed entirely within the workflow. It eliminates the need for independent relocalization operations that consume additional mileage, power, and computing resources, significantly reducing various operating costs during robot relocalization. While achieving efficient and accurate autonomous localization, ensuring subsequent path planning and stable autonomous obstacle avoidance, it maximizes and improves the robot's overall operational efficiency, making it well-suited for various complex and ever-changing real-world application scenarios.
[0178] It should be understood that the above examples are merely illustrative and not limiting. The specific implementation of each technical feature in the embodiments of this application can be further modified without departing from the technical solution defined in the original text of this application.
[0179] Next, in Figure 2 Based on the embodiments, the positioning method of this application will be described in detail. During the normal execution of autonomous tasks such as cleaning and inspection, the robot monitors its own pose status in real time. When a positioning failure signal is detected, it automatically enters repositioning.
[0180] When the robot enters the relocation state, it first acquires the local environmental data collected by the robot at its current location, and then generates the current map based on the local environmental data.
[0181] Local environmental data refers to the collection of raw environmental information gathered by various environmental perception sensors on the robot within its current physical location and limited detection range. The data range is centered on the robot itself and, limited by sensor detection distance and field of view, only covers a surrounding local area, unlike the complete global map accumulated over long-term robot operation. This data is not a single type of information but rather the result of a fusion of multi-dimensional perception data.
[0182] Understandably, after data acquisition, a current map can be generated based on local environmental data. For example, using a fusion-based visual-assisted mapping algorithm, the local environmental data is first preprocessed. This includes filtering and denoising the raw sensor data, using mean filtering and Kalman filtering to remove ranging noise from the LiDAR, noise from camera images, and abnormal data caused by vibration. Simultaneously, sensor extrinsic parameter calibration is performed based on IMU and odometry data to correct coordinate deviations between different sensors, achieving a unified coordinate system for multi-source data. Secondly, environmental features are extracted from the preprocessed local data, including reliably identifiable feature points and lines such as wall straight lines, obstacle corners, furniture outlines, and ground areas. Subsequently, the map is rasterized and modeled. For example, a raster map model is used to divide the physical space around the robot into uniformly sized square grid units. The attributes of each grid are determined based on the local environmental data: if an obstacle exists, it is marked as an obstacle grid; if there is no obstruction and it is passable, it is marked as an empty grid; and areas with missing data and undetected areas are marked as unknown grids. Finally, all grids are arranged and combined according to their spatial positions to form a complete local map corresponding to the robot's current position. The map data is synchronously stored on the robot's local machine for subsequent function calls.
[0183] The generated current map can be used for the robot to avoid obstacles in real time, preventing collisions with coffee tables and sofas; it can also be matched and verified with the robot's built whole-house global map to complete its own posture correction and ensure accurate execution of subsequent cleaning path planning.
[0184] In this embodiment, the robot simultaneously collects surrounding environmental information and its own pose data using multiple sensors, including LiDAR, depth camera, inertial measurement unit, odometry, and ultrasonic sensors. This allows for comprehensive recording of environmental details across different distance ranges, effectively compensating for the detection blind spots of single sensors. This results in richer and more complete raw data dimensions, ensuring accurate and comprehensive environmental perception from the source. This provides a solid data foundation for subsequent mapping, localization, and obstacle avoidance functions, reducing functional failures caused by missing or incomplete data. The local map can dynamically update in real-time, reflecting environmental changes such as temporary debris and moving obstacles. This frees the robot from dependence on static historical maps, significantly improving its adaptability to dynamic scenes.
[0185] In one alternative implementation, the local environmental data is sensor data collected and stitched together by the robot at its current location, or the local environmental data is sensor data collected after the robot moves to its current location.
[0186] The local environmental data refers to sensor data collected and stitched together by the robot at its current location. Specifically, local environmental data means that, while the robot remains stationary at its current location without any additional movement, it uses onboard sensors to perform multi-angle, multi-frame scans, collecting multiple sets of raw sensor data. This data is then synchronized, corrected, fused, and stitched together to form continuous, complete, and comprehensive local environmental perception data covering a certain range around the current location. Here, "current location" refers to the stationary point where the robot remains after losing its localization, excluding the location after actively moving to expand its perception range.
[0187] The robot remains stationary at its current position and continuously collects multiple frames of raw sensor data from multiple perspectives and directions by rotating slowly in place or scanning in multiple directions using sensors (such as 360° horizontal scanning with LiDAR, multi-angle shooting with depth cameras, and fan-shaped detection with ultrasonic arrays). Subsequently, the multiple frames of sensor data collected from different angles and times are processed by time synchronization, coordinate unification, noise reduction, filtering, and stitching to ultimately form continuous and complete local environmental data covering a certain range around the robot's current position. The sensors can be, for example, LiDAR, depth cameras, vision sensors, ultrasonic sensors, etc. This application does not limit the specific type of sensor.
[0188] In another embodiment, the local environmental data refers to sensor data collected after the robot moves to its current position. In this case, the local environmental data refers to the raw or pre-processed sensor data collected once during the robot's rest or brief stay at that position after arriving at its current position, which is distinct from data generated by in-situ rotation stitching, multi-frame fusion, or multi-position combination. The current position is the spatial point where the robot stabilizes after completing a short-distance autonomous movement, not the position after random stopping or passive relocation. The movement process may include normal operational movements such as straight-line travel, fine-tuning of steering, obstacle avoidance, and path following. This application does not limit the specific form of movement; the movement can be a routine movement during task execution, not an additional exploratory movement for localization.
[0189] Once the robot moves to its current location, it can acquire environmental perception information about the surrounding area in a small range using its onboard sensors, either in a single instance or continuously for a short period. The sensors used include, but are not limited to: LiDAR (LDS), depth cameras, monocular / binocular vision cameras, ultrasonic sensors, infrared sensors, and millimeter-wave radar. The acquisition method is fixed-point static acquisition, meaning the robot does not move or rotate at its current location; it acquires surrounding environmental data solely through fixed fields of view or small-angle scanning by the sensors, eliminating the need for multi-angle stitching, multi-frame overlay, or cross-location fusion.
[0190] In this embodiment, when the in-situ data acquisition and stitching method is adopted, the robot does not need to move additionally. It can generate complete local environmental data simply by scanning from multiple angles in place and fusing multiple frames of data. This can effectively avoid energy consumption and mechanical wear caused by displacement. At the same time, multi-view stitching reduces perception blind spots, enriches local features, improves the initial matching success rate, and reduces the probability of false matching.
[0191] The method of collecting data after moving to the current location can reuse the robot's normal movement process without additional exploration. This results in faster data collection, lower computational overhead, and the rapid generation of effective local features, shortening the initial matching time and improving response speed. Both methods are lightweight, small-scale data collection methods with small data volumes and high processing efficiency, effectively reducing computing power consumption and ensuring the real-time performance of initial matching. They can also flexibly adapt to various scenarios of misalignment, significantly improving positioning stability and robustness. This ensures that local environmental data for initial matching can be generated quickly and reliably under different working conditions, providing a solid data foundation for rapid relocation initiation.
[0192] Furthermore, local environmental data includes one or more of the following: local point cloud data, local image data, local depth data, local lidar data, local ultrasonic data, local infrared data, and local millimeter-wave radar data.
[0193] The local environmental data refers to sensor data collected by the robot through at least one environmental perception sensor, used to characterize the geometric or physical properties of the robot's surrounding environment. In this embodiment, the local environmental data used includes one or more of the following: local point cloud data, local image data, local depth data, local LiDAR data, local ultrasonic data, local infrared data, and local millimeter-wave radar data. The robot can flexibly select a single type of sensor data based on its hardware configuration, operational environment conditions, and actual positioning requirements, or it can fuse multiple types of sensor data to enrich the dimensions of environmental perception and improve the completeness and accuracy of environmental feature acquisition.
[0194] Specifically, local point cloud data refers to a dataset composed of a large number of discrete points in three-dimensional space, collected by LiDAR or depth cameras. It can accurately represent the three-dimensional contours and spatial distribution of walls, furniture, and obstacles around the current location, and is the core data for environmental geometric feature matching. Local image data consists of two-dimensional environmental images captured by monocular or binocular vision sensors, containing visual features such as texture, color, and object contours, which can help identify landmark structures such as furniture, walls, doors, and windows. Local depth data is output by depth cameras and time-of-flight sensors, recording the distance information from each point around the current location to the sensor, which can directly reflect the spatial depth of the environment and the distance relationship between objects. Local LiDAR data specifically refers to... Raw or pre-processed scanning data generated by LiDAR scanning features high ranging accuracy, strong resistance to light interference, and wide coverage, making it the mainstream sensing data for indoor positioning. Local ultrasonic data, generated by receiving echoes after ultrasonic sensors emit sound waves, is suitable for short-range obstacle detection and open area judgment, offering low cost and high reliability. Local infrared data, obtained by sensing environmental infrared radiation information through infrared sensors, can be used for obstacle detection and environmental contour recognition in dark environments, unaffected by lighting conditions. Local millimeter-wave radar data boasts strong penetration and good anti-interference capabilities, enabling stable acquisition of target distance and contour information in complex environments such as smoke and obstruction, adapting to dynamically changing scenarios.
[0195] The above-mentioned data can be collected and used individually, or multiple types can be combined and fused to form multimodal local environmental data, which fully complements the sensing advantages of different sensors. For example, LiDAR point clouds can provide accurate geometric contours, visual images can supplement texture features, ultrasonic and infrared data can enhance near-range blind zone detection capabilities, and millimeter-wave radar can improve stability in complex environments.
[0196] For example, suppose the robot is equipped with a LiDAR sensor. When the robot enters the repositioning process, it stays in place at its current position and performs a full rotation scan using its LiDAR sensor to continuously collect multiple frames of raw point cloud data. Then, the multiple frames of raw point cloud data are processed for denoising, filtering, distortion correction, and coordinate unification to stitch together the scattered point cloud fragments into local point cloud data that covers the complete view around the robot's current position.
[0197] This embodiment utilizes single or combined data from multiple types of sensors to characterize local environmental features from multiple dimensions, such as geometric contours, texture and color, distance and depth, illumination robustness, and occlusion penetration, forming a multimodal complementary perception system that significantly improves the comprehensiveness, accuracy, and robustness of environmental information.
[0198] Furthermore, after generating the current map, it can be matched with a preset global map to obtain a matching result. In one possible embodiment, the current map can be matched with the preset global map to determine at least one sub-region with a matching degree greater than a preset threshold; candidate pose data corresponding to at least one sub-region can be determined; and the coordinate transformation relationship between the pose data of the current position and the candidate pose data corresponding to each sub-region can be calculated to determine at least one corresponding candidate pose solution.
[0199] In this context, a sub-region is a local spatial unit divided within a single-level global map, serving as the smallest computational unit for feature matching and pose selection. The candidate pose data consists of the standard position and attitude parameters of each sub-region in the global map coordinate system.
[0200] It should be noted that the map in the embodiments of this application is not limited to a raster map. For example, it can also be a three-dimensional voxel map, a feature point map, a semantic map, and other map forms. Furthermore, a multi-level map architecture can be used to realize the hierarchical division of the candidate pose set, the step-by-step matching and filtering, and the pose solution. This application does not limit the map form.
[0201] Understandably, in each level of the hierarchical search strategy, the current map is first constructed using local environmental data collected by the robot. Then, the current map is matched with the preset global map of the corresponding level to select at least one sub-region with a matching degree greater than the preset threshold of the corresponding level. Subsequently, the candidate pose data corresponding to each effective sub-region is determined. Finally, the coordinate transformation relationship between the pose data of the robot's current position and the candidate pose data of each sub-region is calculated, thereby solving for at least one candidate pose solution corresponding to this level.
[0202] Specifically, during robot operation, the system first retrieves the global map of the current retrieval level and continuously collects surrounding local environmental data. Based on point cloud stitching and feature extraction algorithms, it generates a current map corresponding to the current viewpoint in real time. Then, it performs global feature matching between the current map and the preset global map for that level. The matching process can employ, for example, an iterative nearest-point algorithm combined with a visual feature point matching algorithm to calculate matching metrics such as overlap and feature coincidence rate between the two maps. When the overall matching degree of a certain local area exceeds the system's preset matching threshold, that area is determined to be a valid area, and at least one sub-region that meets the criteria is extracted.
[0203] After the effective sub-region selection is completed, the controller can retrieve the pre-stored candidate pose data corresponding to each sub-region. This set of data includes complete pose parameters such as X / Y axis coordinates, heading angle, and pitch angle in the global coordinate system. Subsequently, using the current position pose data obtained by the robot in real time as a reference, the coordinate transformation relationship between the current pose and the candidate pose data of each effective sub-region is calculated one by one, and the corresponding translation vector and rotation matrix are solved. If the transformation matrix converges and the coordinate deviation is within a reasonable range, the standard pose corresponding to that sub-region is determined as a candidate pose solution, completing this round of pose selection.
[0204] For example, taking a home robotic vacuum cleaner as an example, the device pre-divides the entire house map into three search levels: a coarse-level sub-region with a side length of 2m, a fine-level sub-region with a side length of 0.8m, and a preset map matching threshold of 75. After the robot returns to its charging dock, it starts localization, first entering the coarse-level map search. It uses LiDAR to collect data on the contours of surrounding walls and furniture to generate the current map. After matching with the coarse-level global map, it selects three valid sub-regions with matching degrees of 82, 86, and 79, respectively. The system reads the standard candidate pose data corresponding to the three sub-regions, calculates the coordinate transformation relationship between the robot's current pose and the three sets of data, and finally obtains three stable candidate pose solutions. Then, it enters the next level of the map for fine-grained verification. This implementation method, by using a layered map combined with sub-region matching, significantly reduces the computational workload of traversing the entire map. At the same time, it relies on standardized sub-region units to ensure the stability of pose selection. In indoor scenes with dense furniture and similar environmental characteristics, it can effectively reduce the proportion of invalid candidate pose solutions, improving the overall localization speed and reliability of the robot.
[0205] In this embodiment, the current map is generated based on local environmental data in each level of the map and then the overall matching is performed. The scattered sensor data is integrated into a complete regional map for comparison. Compared with single-point feature matching, it can comprehensively consider information such as the overall spatial structure and obstacle distribution in the region, effectively reducing the interference caused by noise in single sensor data and local occlusion, making the matching results more in line with the real environment and improving the accuracy of region selection.
[0206] By setting a matching threshold to filter qualified sub-regions, areas with large feature differences and no possibility of localization can be quickly filtered out. The search range is narrowed layer by layer, avoiding indiscriminate traversal of the entire candidate space, significantly reducing invalid calculations, and reducing the computing power consumption of each map level. Especially in low-resolution levels, it can quickly complete the screening of large areas, further improving the overall efficiency of hierarchical search.
[0207] After selecting valid sub-regions, the corresponding candidate pose data are directly associated to establish a one-to-one correspondence between the actual region and the theoretical pose, providing a clear spatial basis for pose selection and avoiding blind selection. Based on this, the coordinate transformation relationship between the current pose and candidate poses is calculated to solve for the candidate pose solution, completing the unified mapping between the robot's local coordinate system and the global map coordinate system, thus improving the standardization and verifiability of the pose results.
[0208] It should be noted that the following description is merely one specific exemplary implementation of the technical solution of this application and does not constitute a limitation on the technical solution of this application. In another optional embodiment, the matching process can also be carried out by the robot's controller using a hierarchical search strategy, utilizing the matching degree between the current map and the preset global map to determine at least one candidate pose solution from the candidate pose set.
[0209] The candidate pose set includes multiple candidate pose data points for the robot. The candidate pose set refers to the complete set of poses that the robot may have within a predefined global map. Each candidate pose data point can contain at least position coordinates and attitude information. The position coordinates can correspond to planar coordinates and height information, and the attitude information can correspond to at least one of the heading angle, pitch angle, and roll angle. A hierarchical search strategy is used to filter the candidate pose set in a coarse-to-fine manner to reduce the computational burden of exhaustively comparing all poses on the global map.
[0210] During relocation startup, the controller initializes and divides the global pose space based on the size range of the preset global map, the effective traversable area, and historical positioning information, forming a candidate pose set covering all possible areas, providing a complete search foundation for subsequent searching and filtering. In specific implementation, the preset global map can be composed of multiple layers of raster maps, with the resolution of each layer increasing progressively in hierarchical order. Different layers correspond to different raster sizes and resolutions; lower layers have lower resolution and a larger search range, while higher layers have higher resolution and finer search precision. Low-resolution layers are used to quickly eliminate large-scale mismatched areas, while high-resolution layers are used for fine-grained verification of the retained areas.
[0211] After receiving local environment data, the controller first generates a current map based on the local environment data. On the first-level map, it coarsely divides the candidate pose set and employs a hierarchical search strategy. Utilizing the matching degree between the current map and a preset global map, it determines at least one candidate pose from the candidate pose set. The hierarchical search strategy is a progressively converging search method from coarse to fine, from low resolution to high resolution. That is, it first quickly eliminates a large number of impossible areas using a low-precision map, and then refines the selection of high-confidence poses using a high-precision map, thereby improving matching efficiency and accuracy while reducing computational load.
[0212] Specifically, during the hierarchical search process, the controller sequentially divides the candidate pose set into several subsets on each level of the grid map, and performs matching calculations between the local environment data and the global map region corresponding to each subset to obtain the corresponding matching degree. Subsets that meet the threshold condition are retained. Subsets with matching degrees lower than the preset threshold are directly pruned and removed, and only subsets with higher matching degrees are retained to enter the next level for further fine-grained searching. On a higher resolution hierarchical map, the retained subsets are further subdivided and the matching degree is recalculated until at least one candidate pose data is obtained. This candidate pose data can be used as input results for subsequent verification or localization recovery. In practical applications, the number of levels and grid size can also be adjusted according to the environmental complexity, which is not limited in this embodiment.
[0213] This embodiment employs a hierarchical search strategy to search a candidate pose set containing multiple candidate pose data of the robot. The candidate pose set can uniformly define the effective range of localization retrieval during the search process. By combining the candidate pose set with a hierarchical grid map, unordered traversal search within a globally unbounded set is avoided, effectively limiting the data processing dimension, reducing the computational cost of invalid poses, and improving the overall targeting of the matching operation.
[0214] Furthermore, a hierarchical search strategy is adopted, combining the matching degree between the current map and the preset global map to filter candidate poses, enabling hierarchical matching verification from coarse to fine granular. First, the coarse-grained level quickly eliminates obviously mismatched pose solutions, significantly narrowing the initial search domain and reducing the computational load and time consumption of early matching. Then, the fine-grained level performs refined discrimination on the remaining candidate pose solutions, improving pose matching accuracy. Through the hierarchical iterative search method from coarse to fine, the search range can be quickly converged, thereby efficiently filtering out highly reliable candidate pose data from the candidate pose set, providing a reliable foundation for subsequent dynamic verification. At the same time, the entire matching process is completed based on existing local environment data, without requiring additional robot movement and exploration, ensuring matching efficiency while reducing energy consumption during the localization stage and quickly outputting initial candidate localization results.
[0215] Next, the process of hierarchical search and filtering of candidate pose data by the robot controller will be described in further detail. It should be noted that the following description is merely one specific exemplary implementation of the technical solution of this application and does not constitute a limitation on the technical solution of this application.
[0216] In an optional implementation, the hierarchical search strategy mentioned in this embodiment is a branch and bound algorithm. The process of using the branch and bound algorithm in this embodiment can be, for example, by iteratively searching on grid maps of different resolutions, gradually narrowing the search range, and using the matching degree to prune low-quality candidate solutions, and finally outputting at least one candidate pose solution that meets the requirements.
[0217] For example, the following describes in detail the process of hierarchical search in the branch and bound algorithm, which includes: constructing a grid map of multiple levels, including a first-level map to a Nth-level map, wherein the first-level map has the lowest resolution and the Nth-level map has the highest resolution, and the resolution of each level of grid map is arranged from low to high according to the hierarchical order; N is an integer greater than 1.
[0218] Starting from the first-level map, the candidate pose set is divided sequentially on the grid map of each level, and the matching degree between the current map and the preset global map corresponding to the divided candidate pose set is used to filter and obtain at least one candidate pose solution.
[0219] The candidate pose set can be defined by both translation and attitude parameters, and its range can be initialized based on the robot's current perception range, historical localization results, or preset search boundaries. The grid map can discretize the environment, with different levels of grid maps corresponding to different spatial resolutions. The first-level map has the lowest resolution, corresponding to larger grid cells, used for rapid coarse screening of a large range of candidate pose solutions. The Nth-level map has the highest resolution, corresponding to smaller grid cells, used for fine-tuning and matching of the remaining candidates. Local environment data can be LiDAR point clouds, depth maps, or local point cloud data formed by stitching together multiple frames of perception results, reflecting the local geometric features around the robot's current position.
[0220] Understandably, the controller can read a preset global map and construct multiple levels of raster maps based on stored map scale parameters. These raster maps can be represented in the same coordinate system to ensure consistent correspondence between different levels. The controller starts with the first level of the map and performs searches and filtering layer by layer, from low resolution to high resolution. Within the same physical space, the fewer the number of grid cells in a single map, the lower the map resolution and the coarser the granularity; conversely, the more grid cells, the higher the map resolution and the finer the granularity.
[0221] On the current level of the raster map, the candidate pose set is divided according to the raster scale of that level, splitting the overall set into multiple independent subsets, each corresponding to a set of candidate pose data. For each subset, the local environment data is matched with the preset global map region corresponding to that subset, and the matching degree between the two is calculated. Based on the comparison result of the matching degree and the preset threshold, the current subset is retained or removed, achieving layer-by-layer convergence of the candidate pose set. For subsets with a matching degree less than or equal to the preset threshold, the controller can directly remove them; for subsets that meet the threshold requirements, their corresponding candidate pose data are retained, and the system switches to the next level of the map to continue segmentation and matching, thereby narrowing the candidate range layer by layer.
[0222] When the search progresses to the Nth level map, if the retained subset still satisfies the matching degree being greater than the preset threshold, then the candidate pose data corresponding to that subset is used as the output result; if the number of candidate pose data in the retained subset has converged to a single one, then that candidate pose data is directly determined as the search result.
[0223] For example, using area as Taking the indoor work area as an example, a multi-level raster map is constructed. The first level is a low-resolution map, dividing the entire area into only [number] sections. There are a total of 25 grids, and the actual space size corresponding to each grid is... This grid level has a large coverage area, only showing the overall spatial outline of walls, large obstacles, etc., and cannot distinguish detailed features such as furniture corners and narrow passages. It is suitable for performing large-scale coarse screening. When searching at this level, most areas can be quickly eliminated, leaving only a few candidate areas with similar features. There is no need to perform detailed calculations on the entire area one by one, which significantly reduces computing power consumption.
[0224] Progressing upwards to intermediate map levels, the same area... The area is divided into There are a total of 100 grid cells, and the actual size of each grid cell is... Compared to low-resolution maps, this level has more grid cells and higher resolution, which can present more environmental details and is used to further filter the candidate areas retained from the previous level, thus further narrowing down the candidate range.
[0225] The highest level is the Nth level high-resolution map, still targeting The area is divided into There are a total of 400 grid cells, and each grid cell corresponds to only one The physical space. This layer has the largest number of grid cells and the highest resolution, accurately reproducing subtle environmental features such as obstacle edges, spatial inflection points, and small objects. It is specifically used for fine-tuning the small number of candidate poses remaining after the previous layer's screening, accurately distinguishing regions with similar layouts and features, and ensuring the credibility of the final pose results. In the hierarchical search process, the system first completes the initial filtering in a low-resolution coarse-grained map, quickly eliminating a large number of invalid regions; then it switches to medium and high-resolution maps step by step to perform fine-tuning matching for the continuously narrowing candidate range.
[0226] This embodiment constructs a multi-level raster map arranged from the first level to the Nth level with resolutions ranging from low to high, establishing a hierarchical matching framework from coarse to fine granular. This provides a standardized and structured matching carrier for the hierarchical search strategy, avoiding the problem of low efficiency or insufficient accuracy when matching with a single-resolution raster map, and achieving a balance between matching efficiency and positioning accuracy.
[0227] Starting from the first-level map with the lowest resolution, the candidate pose set is divided into regions level by level. For low-resolution levels, a large-scale and fast initial screening can be achieved, and invalid candidate regions with obviously unsatisfactory matching degree can be identified and eliminated in one go. The retrieval set of subsequent levels is directly compressed, reducing the traversal calculation of redundant poses from the source and effectively reducing the computational power consumption of the overall matching process.
[0228] A progressive screening mode is adopted instead of directly performing high-resolution global matching on the entire candidate set. High resolution is only used to perform fine-grained verification on a small number of candidate regions retained from previous levels, which greatly reduces redundant calculations under high resolution, significantly shortens the matching time of candidate poses, and speeds up the output of initial localization results.
[0229] Meanwhile, through multi-granularity level cross-matching verification, subtle differences in environmental features in scenarios with similar local environments and repetitive layouts can be accurately captured, reducing the problem of incorrect selection of candidate poses caused by homogenization of environmental features, improving the credibility of the final output candidate pose solution, and laying an accurate and reliable foundation for subsequent incremental data verification.
[0230] Furthermore, in order to clearly illustrate the process of selecting candidate pose solutions, this embodiment starts from the first level map and divides the candidate pose set into multiple subsets on the grid map of the current level, with each subset corresponding to a set of candidate pose solutions;
[0231] Calculate the matching degree between the current map and the preset global map corresponding to each subset to obtain the matching degree for each subset.
[0232] Remove subsets with a matching degree less than or equal to a preset threshold, and switch the retained subsets to the next level of raster map;
[0233] The retained subset is iteratively processed based on the grid map of the current level after the switch, until the Nth level map is reached and the matching degree corresponding to the retained subset is greater than the preset threshold, or the number of candidate pose solutions corresponding to the retained subset is a single one, thus obtaining at least one candidate pose solution.
[0234] The current level of raster map can be pre-built by map storage units. The resolution of multi-level maps gradually increases with each level, so that coarse-grained screening is performed first, followed by fine-grained discrimination.
[0235] Specifically, after receiving the updated current map, the controller first divides the candidate pose set into a grid on the first-level map and maps each subset to the corresponding area in the preset global map. Then, it calculates the matching degree based on point cloud overlap, contour consistency, or feature similarity.
[0236] For subsets with a matching degree lower than or equal to the threshold, the controller removes them from the candidate set. For the retained subsets, the system switches to a higher-resolution next-level map for further subdivision, repeating the matching and filtering process. This process continues until the Nth-level map is reached. If the matching degree of the retained subset is still higher than the threshold, or if only a single candidate pose remains in the subset, then that candidate pose is output as the relocalization result. In practical applications, the number of raster map levels, the threshold value, and the matching feature type can all be set according to the complexity of the environment; this embodiment does not limit these settings.
[0237] For example, in a home application scenario, the robot loses its localization after being moved in the secondary bedroom. Since the wall outlines and furniture heights of the secondary bedroom and master bedroom are similar, relying solely on a single-layer map for matching would result in two candidate poses with similar heights. In this case, a hierarchical search strategy is employed: first, a low-resolution raster map (e.g., 10cm) is used for rapid filtering, eliminating obviously mismatched areas such as the living room and kitchen, retaining only the master bedroom and secondary bedroom subsets; then, a medium-resolution map (e.g., 5cm) is used for further matching, eliminating areas with significant feature differences; finally, a high-resolution map (e.g., 2.5cm) is used for fine-grained registration, distinguishing based on subtle features such as corners, sockets, and furniture edges, retaining only the single correct candidate pose. Through this coarse-to-fine hierarchical search, the robot quickly eliminates interference from similar areas without moving to explore, achieving accurate relocalization.
[0238] This embodiment starts with the lowest-resolution first-level map, splitting the candidate pose set into multiple subsets and degrouping them. This breaks down the large-scale global search into independent matching of smaller subsets, effectively reducing the data computation scale of a single matching operation and lowering the computational load for each round of matching. This provides a standardized processing foundation for subsequent layer-by-layer refined filtering. By calculating the matching degree between the current map and the corresponding global map region in each subset, the positioning matching degree of each subset can be quantified, achieving an objective and standardized filtering criterion. This avoids erroneous elimination of candidate sets or redundant retention of invalid sets due to subjective judgment based on experience, thus improving the rigor of the filtering process.
[0239] By promptly removing invalid subsets whose matching degree does not reach the preset threshold and iterating only the subsets with higher credibility to a higher resolution level, a large number of obviously mismatched candidate regions can be filtered out at the early level, continuously compressing the search range of subsequent levels, reducing invalid computation from the source, and effectively reducing the computational power consumption of the overall matching process.
[0240] The process iteratively processes the retained subset layer by layer until it reaches the highest resolution level and the matching degree meets the standard, or the candidate pose solution converges to a uniqueness, achieving a step-by-step verification from coarse to fine. The high-resolution level only performs fine matching on a small number of retained subsets, avoiding the huge computational overhead of traversing the entire set at high resolution. While ensuring the accuracy of positioning and matching, it significantly shortens the overall matching time and accelerates the convergence speed of candidate poses. At the same time, through multi-level and multi-round matching verification, it can accurately identify interference caused by repetitive indoor layouts and similar local environmental features, effectively distinguish subtle environmental differences, reduce the probability of misselection of candidate pose solutions in homogeneous scenarios, and further improve the accuracy and stability of the final output candidate pose solution, providing a high-quality candidate foundation for subsequent map information verification.
[0241] Based on the above screening process, at least one candidate pose solution can be determined. Next, the obtained candidate pose solutions will be further classified and processed. It should be noted that the following description is merely an exemplary implementation of the technical solution of this application and does not constitute a limitation on the technical solution of this application.
[0242] In this embodiment, when it is determined that the matching result meets the first preset condition, the robot is controlled to execute subsequent tasks. During the execution of the subsequent tasks, incremental environmental data is acquired, and the current map is updated based on the incremental environmental data. The target pose solution that meets the second preset condition is selected from at least one candidate pose solution using at least one obstacle information in the updated current map.
[0243] The obstacle information is used to represent information about at least one object, boundary, or partially occupied area in the current map. Specifically, it can include the obstacle's location, outline, size, orientation, occupied grid set, distance from the robot, and relative distribution relationship between multiple obstacles.
[0244] The second preset condition is used to constrain the final confirmation criteria of the target pose solution. It can be that the comprehensive consistency score obtained by a candidate pose solution after verification with the current map is greater than the confirmation threshold, or that only one candidate pose solution remains to be eliminated, or that the verification results at several consecutive times stably point to the same candidate pose solution.
[0245] Understandably, after obtaining the matching results, the controller can first perform conditional judgments on the matching results. If the highest matching degree is significantly higher than other candidates and exceeds the unique confirmation threshold, the relocation result output process can be directly entered. If the number of candidates is greater than or equal to the preset number, or if there is strong similarity among the candidates, it indicates that there is ambiguity in the current initial localization. In this case, the controller does not require the robot to stop the task and wait for supplementary scanning, but instead caches the candidate pose solutions in the localization candidate solution set, and controls the robot to continue to execute subsequent tasks according to the task plan, provided that the navigation module allows it. Subsequent tasks can be cleaning tasks, inspection tasks, delivery tasks, or return-to-charge path restoration tasks.
[0246] Specifically, as the robot continues to move, it can continuously collect environmental information and update the current map based on odometry data, inertial measurement data, and sensor scan results. For example, the current map can be maintained using a short-term sliding window approach or a local submap approach to ensure that computing resources are controlled and sufficient real-time environmental context is preserved.
[0247] Furthermore, when using obstacle information for filtering, the processor can first extract stable obstacle features from the current map. This extraction process may include, for example, performing clustering segmentation, occupied grid connectivity analysis, edge detection, or semantic recognition on real-time scan data to obtain the outline information of coffee tables, sofas, bed edges, cabinet edges, wall protrusions, door edges, or fixed furniture.
[0248] For short-lived moving obstacles, such as pedestrians, pets, or temporarily dragged objects, the controller can mark them as dynamic targets and reduce their weight in the selection process through multi-frame consistency detection, velocity threshold filtering, and lifecycle management strategies. Then, using each candidate pose as a hypothetical pose, the obstacle information in the current map is transformed to a preset global map coordinate system, and the consistency between the obstacle and the corresponding area of the global map under that candidate pose is calculated. This consistency can be characterized by obstacle center point deviation, contour overlap area, occupied grid intersection-over-union ratio, topological relationship preservation between obstacles, or distance variance similarity.
[0249] In one optional embodiment, the complexity of the current map can also be used to determine when to trigger the filtering process. The complexity of the current map can be determined based on the distance variance between at least one obstacle in the current map and the robot, or it can be calculated by combining the number of obstacles, their distribution density, and directional coverage. When the number of obstacles is small and concentrated in a single direction, the ability to distinguish different candidate pose solutions based on this information is insufficient, and the controller can continue to accumulate the current map during task execution. When the number of obstacles increases, the spatial distribution becomes more discrete, or the distance variance reaches a preset complexity threshold, it indicates that the current map has high discriminative power, and the controller triggers the candidate filtering process.
[0250] During the screening process, if a candidate pose solution meets the second preset condition in multiple consecutive time slices, such as the comprehensive verification score being continuously higher than the confirmation threshold and leading other candidates by more than the stable difference threshold, then the candidate pose solution is confirmed as the target pose solution. If multiple candidates still cannot be distinguished, the controller continues to retain these candidates and continuously updates the verification results as the robot performs subsequent tasks until a unique localization result that meets the second preset condition appears.
[0251] After the target pose solution is confirmed, the controller can relocalize the robot based on the target pose solution, that is, rebind the robot's current pose to the corresponding position and orientation in the preset global map, and the navigation module corrects the global path and local obstacle avoidance path accordingly, so that the robot can continue the original task without rebuilding the map or performing additional large-scale exploration.
[0252] This embodiment combines initial local matching with real-time map verification during task execution, enabling location confirmation and task advancement to proceed in parallel. By retaining multiple candidate pose solutions when the matching result meets the first preset condition, and using the current map and obstacle information naturally acquired during subsequent tasks for progressive filtering, the localization discrimination can be continuously improved without relying on specially added exploration actions. This reduces the risk of mismatches caused by local environmental similarities, while avoiding the time overhead and energy consumption of traditional extended scanning schemes, thus balancing relocalization speed, accuracy, and continuous task recovery capabilities.
[0253] Based on the above analysis, this embodiment allows for parallel execution of positioning verification and normal robot tasks, eliminating the need to pause operations or perform additional exploratory movements. This avoids situations where robots need to detour, turn back, or roam extensively for positioning, significantly reducing energy consumption, minimizing mechanical wear, and extending battery life. Simultaneously, it ensures uninterrupted task flow, improving operational continuity and overall efficiency. Secondly, the current map is naturally scanned and incrementally updated by the robot during normal movement, requiring no additional sensor actions or computing power. Data is updated in real-time, coverage gradually expands, and obstacle features are continuously enriched, reducing redundant data processing and ineffective computing power consumption. This makes the positioning judgment more closely resemble the real environment and the results more reliable.
[0254] Secondly, this embodiment utilizes stable and objective environmental features such as obstacle contours, distances, and distribution for dynamic comparison. This accurately reflects the local spatial structure, effectively distinguishes similar areas such as symmetrical rooms and repetitive corridors, replaces single geometric feature matching, reduces fuzzy judgments, significantly lowers the probability of mismatches in similar environments, improves candidate selection accuracy, and enhances localization robustness. Simultaneously, by continuously comparing candidate pose solutions with newly added obstacle information, erroneous candidates with low matching degrees are gradually eliminated, continuously narrowing the candidate set, increasing credibility, and gradually eliminating ambiguity. This avoids locking onto incorrect locations with initial single matching, effectively resolving the problem of multiple solutions and ambiguity, improving localization uniqueness, reducing localization drift, and enhancing relocalization stability.
[0255] In addition, the verification process can continuously accumulate environmental information as the task progresses. The larger the current map coverage and the richer the obstacle features, the more sufficient the matching basis, the stronger the discrimination ability, and the higher the screening accuracy. This realizes the upgrade from single static matching to continuous dynamic verification, effectively improving positioning accuracy, enhancing adaptability to complex and dynamic environments, and reducing the probability of positioning failure.
[0256] Furthermore, this embodiment integrates the verification process with the cleaning task, eliminating the need for additional time. Location confirmation is completed naturally during task execution, avoiding the inefficient "stop, then sweep, then wait" relocation pattern of traditional methods. This significantly shortens the overall relocation time, improves operational efficiency, and enhances the user experience. The real-time map update captures dynamic environmental changes such as furniture movement and temporary obstacles. The matching criteria are dynamically adjusted according to the environment, overcoming the limitations of static maps that cannot adapt to environmental changes. This improves positioning stability in dynamic environments and reduces positioning failures caused by environmental changes. Simultaneously, objective and quantifiable features such as obstacle distribution, distance, and contours are used as screening criteria. This approach is logically objective, standardized, and repeatable, avoiding misjudgments caused by relying on fuzzy features or subjective thresholds. This improves screening reliability, reduces the probability of misjudgments, and further enhances positioning credibility.
[0257] The following will detail the process of selecting and determining the target pose solution based on obstacle information. Specifically, this includes: calculating the complexity of the updated current map, which is determined based on the distance variance between at least one obstacle in the updated current map and the robot;
[0258] When the complexity of the updated current map reaches the preset complexity threshold, for each candidate pose solution, the updated current map is matched with the preset global map to obtain the matching result corresponding to each candidate pose solution.
[0259] The target pose solution that meets the second preset condition is selected from the matching results.
[0260] The distance variance quantifies the dispersion of distances between multiple obstacles and the robot. When obstacles are widely distributed and their distances vary significantly, the distance variance increases, reflecting richer information in the current map that can be used to determine location. The complexity of the updated map is calculated by the controller based on the distance variance and compared with a preset complexity threshold to determine whether to proceed to the matching confirmation stage for candidate pose solutions. If the variance is greater than the threshold, it indicates sufficient features and allows for precise matching; if the variance is less than the threshold, it indicates sparse features and a temporary mismatch, requiring continued movement to accumulate more map data.
[0261] Understandably, the robot can calculate the Euclidean distance between the grid center point or feature point corresponding to each obstacle in the updated map and the robot's reference point based on its current estimated pose. Then, it can statistically calculate the variance of multiple distance values and use this variance to form a complexity parameter. This complexity parameter can be further modified by considering the number of obstacles, their distribution range, or their clustering degree to improve the ability to represent complex environments. For example, in a family living room scenario, the current map contains three stable obstacles: a coffee table, a sofa, and a TV cabinet, with distances of 1.2m, 2.5m, and 3.1m from the robot, respectively. The calculated distance variance is large, resulting in high map complexity. In contrast, in an open corridor scenario, only a wall obstacle exists in the distance, resulting in a smaller distance variance and lower map complexity.
[0262] When the complexity reaches a preset complexity threshold, full candidate exact matching is initiated: for each candidate pose solution, the candidate pose is used to perform an exact matching process. Based on the baseline, the updated current map is projected and aligned to the corresponding area of the preset global map. The contour overlap, obstacle distribution similarity and feature matching rate of the updated current map and the global map in that area are calculated, and the matching results corresponding to each candidate are obtained by weighting.
[0263] After obtaining the matching results corresponding to each candidate pose solution, the controller further filters and confirms the target pose solution based on the second preset condition. The second preset condition may be reflected in the matching result reaching the preset scoring threshold, the overlap degree meeting the requirements, or multiple discrimination indicators simultaneously meeting the constraints.
[0264] This process allows for the re-verification of multiple candidate pose solutions when the updated map information is sufficiently rich, thereby further converging potentially ambiguous candidates from the initial matching into unique or a small number of reliable target pose solutions. This method enables the robot to complete location confirmation without relying on extensive additional movement, reducing the time consumption during the localization process and improving the reliability of localization in complex environments.
[0265] This embodiment quantifies map complexity by using distance variance to represent the density of obstacle distribution and spatial recognizability with objective numerical values, avoiding subjective experience judgments and making the complexity judgment standard unified and quantifiable. This enables accurate identification of invalid environments with sparse features, improves the reliability of environmental validity judgment, and reduces the interference of low-quality data on subsequent matching. At the same time, the dynamic update of complexity can better adapt to dynamic scenarios such as furniture movement and temporary obstacles, improving the adaptability of positioning to environmental changes.
[0266] Matching is performed only after the complexity reaches a threshold, directly skipping low-quality scenarios with sparse obstacles and low recognition, reducing a large number of invalid comparison operations, lowering processor load, saving energy, and shortening positioning time. It ensures sufficient environmental features and strong discriminative ability during matching, reducing the probability of false and fuzzy matching in similar environments from the source, and improving the reliability of matching results. For each candidate pose solution, a precise matching between the updated current map and the global map is performed separately, achieving one-to-one targeted verification, avoiding deviations caused by coarse matching, effectively distinguishing between true poses and erroneous candidates, resolving the ambiguity of multiple candidates, and improving the fineness of the selection process. Furthermore, it relies on real-time collected and updated current maps for comparison, conforming to the real operating environment, overcoming the limitations of static global maps, and enhancing positioning stability in dynamic environments.
[0267] Furthermore, by selecting target pose solutions based on objective matching results, subjective misjudgments by the algorithm can be avoided, improving the accuracy and uniqueness of the localization results and reducing localization drift. Through multiple verification processes, including complexity verification, precise matching, and optimal selection, invalid candidates are effectively eliminated, significantly improving localization fault tolerance and increasing the robot's relocalization success rate in complex environments such as symmetrical apartment layouts and repetitive corridors, ensuring continuous and stable operation of tasks.
[0268] Based on the above embodiments, this embodiment further details the process of judging based on the second preset condition. When the complexity of the current map is determined and reaches a preset complexity threshold, for each candidate pose solution, the updated current map is projected onto a preset global map based on the candidate pose solution. The overlap or similarity between the current map and the corresponding region in the preset global map is calculated as the matching result corresponding to the candidate pose solution.
[0269] Among them, overlap refers to the proportion of grid and obstacle outlines that overlap in the corresponding areas of the current map and the global map; similarity refers to the degree of matching between the two outline shapes and obstacle distribution features, which can be calculated based on feature point matching, outline distance error or structural similarity. The higher the value, the higher the credibility of the matching result.
[0270] Specifically, after obtaining multiple candidate pose solutions, the controller can first establish the pose transformation relationship of the updated current map in the global map coordinate system based on each candidate pose solution, and then map the point cloud, raster, or contour information in the current map to the corresponding area in the preset global map. For raster map scenarios, the updated current map and the global map can be discretized into raster cells of the same resolution, and the translation and rotation amounts can be determined based on the candidate pose solutions to align the current map and the global map in the same coordinate system. For image-based or feature-based map scenarios, affine transformation or rigid body transformation can be performed on the current map based on the candidate pose solutions before local region comparison.
[0271] Subsequently, within the overlapping area after projection, the current map and the global map are compared grid by grid to determine their occupancy status, obstacle outline boundaries, and spatial distribution features, and the degree of overlap between them is calculated. At the same time, information such as outline key points and edge features is extracted to calculate structural similarity.
[0272] Furthermore, the overlap and similarity can be weighted and fused to obtain the matching result corresponding to the candidate pose solution, which can be used as the basis for subsequent selection of target pose solutions.
[0273] Optionally, to improve computational stability, an effective comparison window can be set during matching, evaluating only local areas of the global map within the current map coverage area, thereby avoiding interference from irrelevant areas.
[0274] This matching method uses candidate pose solutions as the core index data. After projecting the current map onto the corresponding position on the global map, it performs local region evaluation, ensuring that each candidate pose solution receives an independent matching result. The controller then compares the matching results of different candidate pose solutions based on the degree of overlap or similarity, thus providing a basis for subsequently determining the target pose solution. Because the comparison object is limited to the corresponding region, and the projection relationship is directly determined by the candidate pose solutions, it can quickly distinguish multiple candidate results without expanding the search range, reducing the probability of false matches.
[0275] In this embodiment, for each candidate pose solution, the updated current map is precisely projected onto a preset global map based on its pose. This achieves strict alignment of the spatial coordinate systems of the two maps, avoiding comparison errors caused by coordinate deviations, ensuring spatial consistency in matching comparisons, and improving matching accuracy. By calculating overlap or similarity, the degree of map matching can be quantified into an objective value, avoiding vague qualitative judgments and making the matching results intuitive, quantifiable, comparable, and sortable, providing a more objective selection criterion. Measuring the matching results based on overlap or similarity can accurately reflect the degree of conformity between the current map and the global map in terms of obstacles and passable areas, accurately identifying valid and invalid matches and reducing the probability of misjudgment. Furthermore, this calculation logic is simple, computationally intensive, requires low hardware computing power, has high execution efficiency, and is compatible with various devices, enabling rapid completion of matching calculations for each candidate and providing a reliable basis for subsequent selection.
[0276] For example, in order to enable the controller to lock the current position of the robot in a timely manner when the local environmental features are clear enough, and output the target pose solution to the path planning module, the candidate pose solution can be determined as the target pose solution if the matching degree between the updated current map corresponding to only one candidate pose solution and the preset global map is greater than a preset threshold.
[0277] If it is determined that there are multiple candidate pose solutions whose updated current map matches the preset global map with a degree greater than a preset threshold, then the robot's movement continues to be controlled, and the current map is obtained to filter the target pose solution until the preset termination condition is met.
[0278] After completing the matching process, the robot establishes a corresponding map alignment relationship for each candidate pose and calculates the matching degree between the updated current map corresponding to the candidate pose and the preset global map. When only one candidate pose has a matching degree greater than a preset threshold, the controller directly outputs that candidate pose as the target pose to complete the relocalization confirmation.
[0279] Furthermore, when the matching degree of multiple candidate pose solutions is greater than a preset threshold, it indicates that there are still ambiguities in similar regions and insufficient feature discrimination in the current environment, making it impossible to uniquely determine the true pose. At this point, the controller does not immediately terminate the screening process but continues to control the robot to perform subsequent tasks such as cleaning and inspection along the predetermined path, while continuously collecting environmental information and updating the current map, allowing newly acquired obstacle information to participate in subsequent comparisons. As the coverage area of the current map increases, some candidate pose solutions are eliminated due to inconsistencies with the features of the newly added map. The remaining candidate pose solutions are then recalculated with the updated current map until only one candidate pose solution meets the threshold, or until preset termination conditions such as preset time or preset distance are reached. Based on the currently retained results, the target pose solution is then determined. During this process, the robot can use LiDAR, a depth camera, or a vision sensor to construct the current map. The matching calculation can be completed by the controller combining stored global map features. Other sensor and computing unit models can be selected in practical applications, and this embodiment does not limit this.
[0280] For example, in a home environment, the initial matching yields two candidate pose solutions with high matching degree: the center of the living room and the entrance to the bedroom. The robot continues to clean and update the current map. After adding obstacle features such as sofas and wardrobes, the candidate matching degree of the bedroom entrance drops below the threshold, leaving only the candidate matching degree of the center of the living room that meets the standard, thus satisfying the termination condition and confirming the center of the living room as the target pose solution.
[0281] In this embodiment, when the matching degree between the updated current map corresponding to only one candidate pose solution and the preset global map is greater than a preset threshold, the candidate pose solution is directly determined as the target pose solution. No additional verification process is required, which can quickly lock the reliable pose, reduce unnecessary computing power consumption and time waste, significantly shorten the positioning time, improve the positioning response efficiency, and ensure the efficient progress of the repositioning process.
[0282] When the matching degree of multiple candidate pose solutions is greater than the preset threshold, the robot does not blindly lock the result, but continues to control the robot's movement and acquire and update the current map in real time, and continuously carries out target pose solution screening, so as to effectively avoid localization failure caused by premature confirmation of incorrect pose, reduce the risk of mismatch, and enhance localization robustness.
[0283] During continuous robot movement, new environmental features are accumulated, enriching the obstacle information on the current map and enhancing its discriminative power. This allows for the gradual elimination of erroneous candidates with low matching scores, driving the candidate set to converge to a unique and reliable solution, effectively resolving the problem of multiple solutions and ambiguity. The entire selection process only stops when a preset termination condition is met, ensuring the controllability of the selection process, avoiding infinite loops, and achieving a balance between positioning accuracy and efficiency. This significantly improves the stability and reliability of robot relocalization in complex and similar environments.
[0284] In an optional embodiment, the preset termination condition in the above embodiment can be specifically set as follows: if after the robot has traveled a preset time or a preset distance, it is still determined that there are multiple candidate pose solutions with matching degrees greater than a preset threshold, then the candidate pose solution with the highest matching degree is selected as the target pose solution from among the multiple candidate pose solutions.
[0285] Alternatively, if it is determined that only one candidate pose solution has a matching degree greater than a preset threshold, then the candidate pose solution is determined as the target pose solution.
[0286] The preset termination condition standardizes the termination rules of the dynamic screening process, preventing it from falling into an invalid loop due to prolonged non-convergence and ensuring the positioning process is controllable and efficient. The preset duration is the pre-set maximum verification time limit, used to limit the upper limit of continuous verification time; the preset distance is the pre-set maximum verification movement distance, used to limit the upper limit of the movement range for continuous verification. The preset threshold is the matching reliability judgment standard, used to distinguish between valid and invalid candidate results; candidate pose solutions that reach this threshold can participate in subsequent confirmation.
[0287] After entering the candidate pose solution screening stage, the robot can accumulate statistics on the elapsed time and displacement based on the continuous update results of the wheel speed meter, inertial measurement unit and the current map, and recalculate the matching degree corresponding to each candidate pose solution when the preset time or preset distance is reached.
[0288] Understandably, when the matching degree of multiple candidate pose solutions is still greater than the preset threshold, it means that the current environment cannot provide enough features to eliminate ambiguity in the long term. Continuing to verify will cause a waste of resources. The controller compares the matching degree values and selects the one with the largest value as the target pose solution to avoid continuing to extend the verification process and increase the localization time. When only one candidate pose solution has a matching degree greater than the preset threshold after recalculation, the candidate pose solution is directly determined as the target pose solution.
[0289] If, at any point during the verification process, it is determined that the matching degree of only one candidate pose solution is greater than the preset threshold, it means that the environmental features are sufficient to uniquely lock the true pose. There is no need to continue verification, and the candidate pose solution is directly determined as the target pose solution, thus quickly completing the relocalization confirmation.
[0290] For example, if the preset duration is set to 30 seconds, the preset distance is 5 meters, and the preset threshold is 0.8, after the robot verifies for 25 seconds and moves 4.8 meters, there are still two candidate matching degrees of 0.85 and 0.88 respectively. The candidate with the higher matching degree, i.e., 0.88, is selected as the target. If only one candidate matching degree meets the standard in subsequent cleaning, the candidate is directly confirmed.
[0291] This embodiment sets preset termination conditions, constraining the candidate result confirmation process through time or distance thresholds, and implementing termination judgments based on the number of candidate pose solutions and matching degree status. This allows the robot to converge to the optimal candidate result in a timely manner when ambiguity still exists, and to directly end the confirmation process when the candidate result is unique. Therefore, the robot can complete the localization result determination without prolonged verification, reducing energy and time consumption from additional movement, and improving relocalization response efficiency and result stability.
[0292] It should be noted that the above implementation method is only one optional implementation method. In another optional embodiment, the process of obtaining the target pose solution that meets the second preset condition through comparison and verification can also be achieved by matching the updated current map with a preset global map, and filtering and confirming the target pose solution that meets the second preset condition from at least one candidate pose solution based on the matching result.
[0293] This embodiment uses incremental updates of the current map combined with global updates. Figure 2 The method of multiple matching is used to verify the consistency of candidate pose solutions, thereby gradually converging and confirming the unique and reliable target pose solution during task execution, thus achieving dynamic verification.
[0294] Understandably, during the robot's subsequent tasks and normal movement, the controller can continuously collect incremental environmental data. This incremental environmental data expands with increasing distance traveled, gradually increasing the perception range and enriching the features. The controller stitches, fuses, denoises, and unifies the coordinates of the real-time collected incremental environmental data, dynamically updating the current map. This current map, centered on the robot's current position, expands continuously as the robot moves, representing a real-time reconstruction of the environmental features of the areas the robot has traversed. It is a locally dynamically updated map, distinct from a pre-built, fixed global map.
[0295] Specifically, after updating the current map, the controller performs feature matching between the updated current map and the preset global map, rather than comparing incremental data frame by frame. The matching process can employ methods such as raster matching, feature point matching, contour matching, and point cloud registration to calculate the matching degree between the updated current map and each candidate region of the global map. Subsequently, combining at least one candidate pose obtained from the initial matching, the updated current map matching result is correlated and verified with each candidate pose: if the updated current map has a high matching degree and good consistency with the global map region corresponding to a certain candidate pose, the credibility of that candidate pose is increased; otherwise, the credibility is decreased, and invalid candidates with low matching degree and poor consistency are gradually eliminated.
[0296] As the robot continues to move and the current map expands, the matching features become richer and more discriminative, effectively distinguishing localization ambiguities caused by similar layouts and repetitive structures. For example, when a candidate pose solution consistently maintains a high matching degree in the updated current map matching multiple times and meets the second preset condition (such as multiple consecutive matching degree standards, the highest unique matching degree, and stable matching consistency), the candidate pose solution is selected and confirmed as the target pose solution.
[0297] In this embodiment, during the process of updating the current map based on incremental environmental data, the controller integrates and stitches together various scattered perception data collected during the robot's movement, unifies coordinates, and fuses features to form a complete and coherent current map. This embodiment differs from the previous mode of using single-frame scattered data for verification. By integrating and forming environmental information with complete spatial correlation, it can effectively fill the blind spots and information gaps in local perception, thereby improving the integrity of the data used for positioning verification and effectively resisting data anomalies caused by temporary occlusion, dynamic obstacles, and instantaneous sensor errors, thus improving the reliability of verification results from the data source.
[0298] Simultaneously, the updated map can continuously expand outwards along the robot's operational path, enriching core features such as environmental structure and obstacle distribution based on the normal operational path. It eliminates the need for manually defining fixed data collection areas, sustainably accumulating highly recognizable environmental information and effectively overcoming the challenges of distinguishing between weakly textured scenes and homogeneous spaces. Furthermore, while updating the map, preprocessing tasks such as data denoising, distortion correction, and invalid data removal are performed, unifying the format and coordinate standards of various sensing data. This not only filters out external environmental interference and simplifies redundant data, but also effectively reduces the computational burden of subsequent map matching stages, minimizing unnecessary computational consumption and ensuring the smooth and efficient operation of the overall positioning and verification process.
[0299] When matching the updated current map with the preset global map and selecting the target pose solution accordingly, a global map-based verification method is adopted. This method overcomes the limitations of traditional single-point feature comparison and completes location verification from macroscopic dimensions such as overall spatial layout and environmental contour structure. It can quickly identify scenarios that are prone to location confusion, such as similar layouts, repetitive corridors, and similar apartment types, effectively eliminating location ambiguity. At the same time, combined with the fit results obtained from map matching, all candidate pose solutions are verified and compared one by one. Invalid candidate data with large positional deviations and low feature matching degrees are systematically eliminated, establishing a rigorous correspondence between map matching results and candidate location positions. This not only quickly narrows down the effective location range and saves system discrimination resources, but also significantly accelerates the location convergence speed.
[0300] Furthermore, the map matching process in the above embodiments may include: detecting the size of the updated current map; if the size of the updated current map meets a preset size condition, downsampling the map to obtain downsampled environmental data; and matching the downsampled environmental data with a preset global map.
[0301] Before matching the updated current map with the preset global map, the controller can detect the size of the updated current map in real time, including data indicators such as the effective coverage area of the map, the number of pixels / grids, and the number of data point clouds, in order to determine whether the updated current map meets the preset matching conditions.
[0302] Understandably, the preset size conditions can be pre-defined map size thresholds used to trigger the downsampling process. For example, the updated current map coverage may reach a preset area threshold, the number of rasters may reach a preset number threshold, and the number of point cloud points may reach a preset number threshold. Therefore, when the map is small, the original data can be used directly for matching to ensure accuracy; when the map expands to a certain size, downsampling reduces the data volume, avoiding high computational consumption.
[0303] Specifically, when the updated current map size meets the preset size conditions, the system automatically performs downsampling processing to generate downsampled environmental data. Downsampling refers to the sparse extraction of the original high-density data according to preset intervals, proportions, or rules. For example, point cloud data can be sampled at spatial intervals, point cloud / raster maps can be scaled according to resolution proportions, or image data can be sampled at pixel intervals to preserve key features such as key contours, edges, corners, and obstacle boundaries, while significantly reducing the total amount of data without losing environmental structure and key feature information.
[0304] The processed downsampled environmental data is matched with a preset global map. Matching methods can include raster matching, contour matching, feature matching, point cloud registration, etc. At this time, due to the significant reduction in data volume, the matching speed is significantly improved and the computing power consumption is significantly reduced. Meanwhile, the core features are completely preserved, and the matching accuracy is basically unaffected.
[0305] In this embodiment, the size of the updated current map is detected to determine whether the updated current map meets the preset matching execution standard. The timing of matching can be flexibly controlled according to the actual coverage area and data volume of the map, avoiding blind matching operations when the map features are too few or the area is too small. This effectively reduces invalid matching operations, reasonably controls the overall operation rhythm, and makes the matching process more in line with the actual environment and data collection progress.
[0306] Once the updated map size meets the preset size conditions, downsampling is performed on the updated map to obtain simplified downsampled environmental data. Downsampling allows for the reasonable sparsification of redundant points, dense pixels, and repetitive environmental information within the map. While fully preserving core discriminative features such as wall outlines, obstacle boundaries, and spatial inflection points, it significantly reduces the overall volume of environmental data, streamlining data storage and transmission. This effectively alleviates the data processing pressure on the main control unit, reduces hardware computing resource consumption, and avoids problems such as computational lag and processing delays caused by the continuous increase in map data volume.
[0307] The processed downsampled environmental data is matched with a pre-set global map. This approach ensures the accuracy of spatial structure comparison by retaining core environmental features, avoiding feature loss and matching distortion caused by data simplification. Furthermore, the lightweight data significantly improves the speed of map matching, reducing the time required for each match and guaranteeing good real-time performance in the positioning verification process. This hierarchical control and data simplification matching mode achieves a high-efficiency balance between positioning verification accuracy and system operating efficiency. It meets the needs of precise positioning verification in complex scenarios while also being compatible with low-computing-power hardware platforms, effectively expanding the hardware adaptability of this positioning method. Simultaneously, it ensures that the positioning matching process remains efficient and stable during long-term, long-distance robot operations.
[0308] Based on the above embodiments, in another optional embodiment, if the matching result does not have a matching candidate pose solution, it indicates that the environmental features are missing, the features are occluded, or the observation angle is limited under the current view, which causes the local environmental data to be unable to establish an effective matching relationship with the global map, the initial matching of relocation fails, and directly repeating the in-situ scanning is prone to falling into an invalid loop. In order to solve such problems, this embodiment adjusts the pose of the robot at the current position and regenerates the current map when it is determined that there is no candidate pose solution, so as to match the regenerated current map with the preset global map.
[0309] Alternatively, if it is determined that there are no candidate pose solutions, the robot is controlled to move from the current position to the target position, and environmental information is acquired during the movement. The environmental information is compared with a preset global map to locate the target pose data of the robot in the preset global map; the target position is any boundary position of the robot in the process of executing subsequent tasks.
[0310] Here, candidate pose solutions represent the set of candidate locations that can be obtained after matching the current map with a preset global map. When this set is empty, it indicates that the current local features are insufficient to form a valid localization result. Target location indicates the boundary point that can be used as a position reference for the robot within the scope of subsequent task execution, while target pose data represents the robot's position and orientation information in the global map. The above terms are all functional data used to support the localization recovery process, and the embodiments of this application do not limit them.
[0311] In one specific implementation, the robot can be equipped with an attitude adjustment mechanism, an environment perception module, and a map matching module. The attitude adjustment mechanism can be used to fine-tune the heading angle, pitch angle, or roll angle in place, so that the sensors can be re-aligned with environmental features in different directions. The environment perception module can be used to acquire local environmental data to regenerate the current map. The map matching module can call a preset global map stored in the robot to perform feature extraction and similarity calculation on the re-acquired local environmental data.
[0312] Furthermore, if no valid candidate pose solutions are found, the robot adjusts its current pose and re-acquires local environmental data to regenerate the current map. This regenerated map is then re-matched with a preset global map. Specifically, adjusting the pose includes controlling the robot to perform small-angle rotations, slight translations, or in-situ turns to change the sensor's viewing angle, thereby avoiding areas with missing features, severe occlusion, or complete mismatch with the global map from the current perspective. The re-acquired local environmental data is then stitched, denoised, and filtered to generate the current map, which re-enters the hierarchical search process, performing feature matching with the preset global map until a valid candidate pose solution is generated.
[0313] For example, when the matching results show that there are no valid candidate pose solutions, the robot performs an in-place pose adjustment operation. A specific example is as follows:
[0314] The first step is to control the robot to keep its current planar position unchanged and only perform small-angle rotations in place. Rotate clockwise or counterclockwise according to a preset angle step (e.g., 15°-30°), with a single rotation angle not exceeding 60° to avoid large-scale posture changes; during the rotation, the LiDAR or depth camera can continuously scan the surrounding environment to supplement environmental features that are occluded or in blind spots, eliminating the problem of feature loss caused by a single orientation.
[0315] The second step involves controlling the robot to perform a small in-situ translation after a single rotation. The translation distance is a preset minimum (e.g., 5-15cm). The translation direction prioritizes open, passable areas, avoiding obstacles such as walls and furniture, and remaining within the current local area. By changing the sensor's observation position relative to the environment through this small displacement, a new local point cloud contour is obtained, and the current map is regenerated.
[0316] The third step is to repeat the combination of "small-angle rotation + small-amplitude translation" adjustment method, and change the robot's orientation and observation position in sequence according to the preset number of cycles. After each adjustment, local point cloud data is re-collected and stitched, and the data is denoised, distorted, and feature extracted to generate the current map again. The map is then matched with the preset global map through a hierarchical search strategy.
[0317] Fourth, if a valid candidate pose solution cannot be obtained after a preset number of pose adjustments, the system switches to a global positioning mode that moves along the task boundary to ensure that the positioning process is not interrupted.
[0318] In another implementation, the controller can control the robot to move from its current position to the target position if no candidate pose solution is found. During the movement, the controller continuously acquires environmental information and performs a global comparison with a preset global map to locate the robot's target pose data within the map. The target position can be any boundary location during subsequent tasks such as cleaning or inspection, such as room boundaries, wall positions, area corners, or marked feature points on the map, ensuring the robot's movement path aligns with the original task plan and avoids unnecessary travel. During movement, the controller continuously collects point cloud, visual, or structural features through sensors and performs real-time registration with the global map. Once a pose meeting the matching requirements is found, the positioning is immediately determined to be successful, and normal task resumption is initiated. In practical applications, this module can also employ different types of LiDAR or visual sensors; this embodiment does not limit the specific type used.
[0319] When no matching candidate pose solution exists, it indicates that environmental features are missing, features are occluded, or the observation angle is limited from the current viewpoint. This prevents the current map from establishing an effective matching relationship with the global map, causing the initial relocation matching to fail. Directly repeating the in-situ scan can easily lead to an invalid loop. Therefore, this embodiment adjusts the robot's current pose and regenerates the current map, which can change the environmental perception perspective, supplement the environmental features of the original blind spot, and avoid the matching failure problem caused by occlusion and single features under a fixed viewpoint. The regenerated current map is matched and associated with the global map, effectively improving the success probability of a single relocation matching. At the same time, it avoids the invalid loop caused by the robot repeatedly scanning the same angle in the in-situ, reducing meaningless data collection and computing power consumption.
[0320] In another approach, the robot is controlled to move towards the boundary position during the task execution process, and environmental information during the movement is collected and compared with the global map for positioning. This allows the robot to perceive environmental data while moving, continuously expand environmental feature information, and broaden the effective perception range. This overcomes the limitation of insufficient local environmental features at the current location, so that if the robot fails to locate, it does not need to repeatedly retry in place. It can quickly leave the positioning failure area, avoid the time loss and energy waste caused by wandering in place, and ensure the progress of the task.
[0321] The two strategies described above complement each other and adapt to different failure scenarios. They can flexibly address various issues that lead to matching failure, such as missing local features, environmental occlusion, and limited viewpoints, thereby significantly improving the robustness and fault tolerance of relocalization in complex environments. At the same time, they reduce invalid repetitive operations, shorten the recovery time after localization failure, and further ensure the continuity and stability of the robot's overall operation.
[0322] With this implementation, the robot can still recover its localization through local pose correction or boundary movement even when candidate pose solutions are empty. This enhances its adaptability in complex environments and enables subsequent tasks to be executed continuously. Compared to methods that rely on expanding the scanning range, this approach requires less additional movement distance, consumes less energy, and helps reduce task interruptions and path deviations caused by long-term relocalization.
[0323] Based on the above steps, in order to prevent the robot from being unable to select candidate pose solutions that meet the conditions and from getting stuck in a long-term ineffective loop, this embodiment will define a clear termination boundary for the robot's controller dynamic verification process based on the above steps. If the robot cannot select candidate pose solutions that meet the second preset conditions after a preset time or a preset distance, it will be determined that the localization has failed and a prompt message will be generated.
[0324] "Localization Failure" indicates an abnormal state where the robot fails to obtain a verifiable target pose solution within a specified time or distance. As the robot continuously receives newly acquired maps and obstacle information during subsequent tasks and compares and verifies multiple candidate pose solutions, if, after a preset time or distance, none of the candidate pose solutions meets the second preset condition, it indicates that the correspondence between the current map and the preset global map is insufficient for localization confirmation. In this case, the controller determines the state as localization failure. "Prompt Message" is used to output an abnormal prompt to the robot body, control terminal, or user interface after a localization failure, triggering subsequent processing such as re-localization, manual intervention, or environmental checks.
[0325] Understandably, the robot can be equipped with a timing module and a mileage statistics module. The controller can use these modules to constrain the relocalization process in terms of duration and distance. After entering the candidate pose verification state, the controller records the verification start time and the robot's cumulative travel distance in real time, and updates the corresponding count after each acquisition of the current map. When the timing result reaches the preset duration or the cumulative travel distance reaches the preset distance, if the number of successful matching of candidate pose solutions has not reached the preset threshold, or if multiple candidate pose solutions do not meet the final confirmation conditions, the controller immediately stops incremental data acquisition, coordinate transformation, comparison verification, and other localization-related operations, and no longer performs candidate pose iteration and screening. It directly determines that the relocalization has failed and generates a prompt message.
[0326] Specific scenarios of positioning failure include: the robot being in a corridor or open hall with a highly similar environment, where the collected local point cloud and grid features have extremely low recognition accuracy. After comparing all candidate pose solutions for a long time, it still cannot meet the second preset matching accuracy and confidence requirements, and positioning failure is determined after the preset repositioning time is exceeded; or, for example, a significant change occurs in the indoor environment, such as the addition of large obstacles, the movement of cabinets and furniture, or the obstruction of original landmark positioning features. The real-time collected environmental data deviates too much from the pre-stored global map, and the robot travels to a preset distance, but still no candidate pose data is effectively matched and confirmed; or, for example, the robot slips or spins in place, and the mileage statistics module records that the travel distance has reached the preset limit, but the actual effective environmental sampling range is extremely small. Repeated iterations and screenings of candidate pose solutions fail to meet the positioning verification conditions, the positioning process is terminated and a failure is determined; or, the robot leaves the designated working area and enters an unfamiliar area not recorded in the global map. It continues to receive new environmental information and compare candidate pose solutions until either the time or distance constraint is triggered, but still cannot establish an environmental coordinate mapping relationship, and repositioning is determined to have failed.
[0327] Optionally, the prompt information may include voice prompts, on-screen text prompts, status light flashing information, application push notifications, or abnormal status information uploaded to the cloud. The prompt information can be generated by the main control chip calling the message output unit based on a failure flag. In practical applications, other models of this message output unit can also be selected, and this embodiment does not limit this choice.
[0328] This embodiment sets preset time or preset distance limits for the comparison and verification process of candidate pose solutions, and defines a clear termination boundary for the dynamic verification process. This can effectively prevent the verification process from running indefinitely, prevent the robot from falling into a long-term, non-converging, invalid loop state, and ensure that the overall positioning process is orderly and controllable.
[0329] When the robot fails to find a candidate pose solution that meets the second preset condition within a preset time or distance, it promptly determines that the localization has failed. This proactively terminates the uncertain localization verification, avoiding unnecessary energy consumption and wasted task time caused by continuously collecting map and obstacle information and repeatedly comparing and verifying data, thus ensuring the overall operational efficiency of the robot. Simultaneously, a prompt message is generated to clearly feed back the localization failure status to the controller or user, facilitating timely troubleshooting, relocation and restart, path adjustment, or manual intervention for rapid problem response. By setting hard termination conditions and a status feedback mechanism, the controllability and fault tolerance of the robot's localization process are enhanced, preventing localization logic from freezing in abnormal environments and improving the overall system's operational stability and scenario adaptability.
[0330] Based on the aforementioned embodiments, an accurate target pose solution can be determined. At this point, the robot's target positioning data can be determined based on the target pose solution.
[0331] In this embodiment, the target pose solution is the optimal pose parameters retained after multi-level map matching, threshold filtering, and coordinate transformation verification. It includes parameters such as two-dimensional / three-dimensional coordinates and attitude angles in the global coordinate system, serving as the baseline value for relocalization calculation. The target localization data characterizes the robot pose information finally determined after matching verification. It corresponds to the robot's correct position and orientation in the preset global map and is the standardized localization result output by the robot. In addition to the basic pose, it also includes auxiliary parameters such as coordinate deviation, localization confidence, effective area number, and map type identifier, which can be used by modules such as motion control, path planning, and navigation scheduling.
[0332] Specifically, based on the coordinates and attitude parameters in the target pose solution, and combined with the robot's own sensor calibration parameters and coordinate system transformation rules, a complete set of target localization data is generated. For example, if a two-dimensional feature point map / grid map is used, the target localization data includes the global coordinate system X and Y axis plane coordinates, heading angle, and also includes positioning confidence and matching deviation values; if a three-dimensional voxel map is used, the Z-axis height coordinates, pitch angle, and roll angle are added to form a complete six-degree-of-freedom localization data; if a semantic map is used, it is necessary to additionally bind the semantic labels (channels, obstacles, functional areas, etc.) corresponding to the current position to achieve integrated output of localization and scene recognition.
[0333] Relocalization is the process by which the controller recovers its own pose relationship based on the target localization data. Once the target localization data is confirmed, the controller can write the localization result into the localization status module, so that the current localization coordinates, heading angle, and spatial correspondence with the global map are updated synchronously, thereby enabling the robot to re-establish an accurate mapping with the preset global map. After relocalization is completed, the navigation module can continue to plan the travel path, perform cleaning coverage, or return to the charging station based on the updated pose information.
[0334] Understandably, robots can be equipped with inertial measurement units, wheel speedometers, lidar, or visual odometry to acquire their current motion state and fuse it with the pose parameters corresponding to the target localization data for correction. When the robot completes relocalization, it can use the target localization data as the initial state input to the localization filter, recalculate the robot's current pose estimate, and switch the localization system from a candidate state to a determined state.
[0335] In practical applications, target localization data can further include position coordinates, attitude angles, and corresponding map level information to improve the consistency of the recovered localization. If the robot adopts different types of localization frameworks, it can also use particle filtering, graph optimization, or state estimation updates to complete pose reconstruction. This application does not limit this.
[0336] Specifically, when a robot loses its location due to being moved, signal interference, or temporary sensor obstruction, the target pose solution can be obtained through the aforementioned hierarchical search and matching, map information verification and filtering, and the target location data can be determined. This allows for rapid and accurate global relocation, freeing the robot from the location loss state.
[0337] This embodiment obtains candidate pose solutions through initial local environment data matching, then dynamically verifies and filters the target pose solution using newly acquired map information, and confirms the robot's target positioning data, thereby achieving precise locking of the robot's true pose. Based on this, repositioning using this highly reliable target positioning data can directly and accurately restore the robot's position and posture in the preset global map, eliminating pose uncertainty after positioning loss and providing a precise coordinate reference for task recovery. After repositioning based on the target positioning data, the robot does not need to rebuild the global map or traverse the entire room environment; it can directly continue to perform subsequent tasks such as cleaning and inspection using the original planned path, thus avoiding task interruptions and repetitive work caused by positioning failure, significantly improving task continuity and work efficiency. Relying on the pose data fed back from the target positioning data can also effectively avoid path deviations, missed scans, collisions, and other problems caused by positioning drift, reducing energy consumption from repeated sensing and additional searches, and further improving the accuracy, stability, and execution efficiency of mobile operations.
[0338] It should be noted that, in this embodiment of the application, after obtaining the matching result, the robot will perform subsequent tasks, which include one or more of the following: cleaning tasks, patrol tasks, inspection tasks, security tasks, guidance tasks, transportation tasks, and rescue and detection tasks.
[0339] After completing the initial matching and obtaining the matching result, the robot can directly enter the normal working process without stopping or waiting or moving to explore. The embodiments of this application can flexibly use various types of robots to perform various types of cross-scenario and multi-functional subsequent tasks. The task types can cover multiple fields such as daily household use, public services, industrial management, security protection, and emergency operations, and have versatility and scenario adaptability.
[0340] The cleaning tasks include sweeping, mopping, combined sweeping and mopping, vacuuming, dusting, wiping, and polishing for both residential and commercial environments; patrol tasks cover routine inspections, route checks, and environmental patrols of areas such as parks, buildings, warehouses, communities, and parking lots; inspection tasks include fixed-point and scheduled special inspections of industrial equipment, computer rooms, pipelines, instruments, facilities, and construction sites; security tasks involve anomaly monitoring, intrusion warnings, night duty, video transmission, smoke / open flame identification, and environmental safety monitoring; guidance tasks include indoor navigation, visitor guidance, venue tours, route guidance, fixed-point pick-up and drop-off, and service guidance; transportation tasks cover short-distance indoor and outdoor delivery and transfer of small items, documents, meals, luggage, materials, and samples; and rescue and detection tasks are used for emergency auxiliary operations such as post-disaster reconnaissance, dangerous area detection, life sign detection, obstacle surveying, and on-site information transmission.
[0341] The aforementioned tasks can be executed independently or in combination, time-sharing, or in parallel, depending on the robot's functions. The robot can flexibly switch between tasks based on the actual scenario, user instructions, preset programs, or environmental requirements. The repositioning verification process is embedded in the task execution flow, verifying as the task progresses. This ensures successful repositioning of the robot without interrupting the task or adding extra movement, thus guaranteeing stable, efficient, and continuous operation of the robot in various scenarios and tasks.
[0342] This embodiment can be executed independently or in combination as needed, depending on the actual application scenario, and can be fully adapted to different usage environments such as residential homes, office buildings, commercial venues, industrial parks, warehouses, medical facilities, and various emergency operation sites, greatly improving the scenario versatility and functional adaptability of the overall positioning solution.
[0343] After completing the initial matching and entering the positioning verification stage, the robot can seamlessly start the corresponding task. The positioning verification work is carried out synchronously with the task progress, without pausing the operation process or planning additional driving routes to achieve the positioning function. This allows the positioning process to be deeply integrated with the actual operation, without disrupting the established work rhythm or delaying the task progress, and without generating additional driving energy consumption and time loss, effectively ensuring the continuity of the operation process and the overall operating efficiency.
[0344] Simultaneously, by continuously collecting incremental environmental data in diverse task execution scenarios, rich environmental features under different spatial environments can be accumulated, further enriching the judgment criteria for positioning verification. This makes the verification process of candidate pose solutions more comprehensive and thorough, ensuring the orderly implementation of various daily services, industrial operations and maintenance, emergency assistance, and other operations. It also continuously improves the accuracy and stability of positioning verification in diverse operation scenarios, making this positioning method adaptable to various types of service robots, industrial operation robots, and emergency detection robots, significantly expanding the practical application scope of the technical solution.
[0345] The robot localization method provided in this application generates a current map by in-situ acquisition and stitching of local point cloud data, and constructs a candidate pose set. It employs a hierarchical search using a layered grid map from low to high resolution, combining coarse and fine screening to quickly obtain candidate pose solutions. Based on preset conditions, it distinguishes between high-confidence single solutions for direct localization, low-confidence single solutions or multiple solutions for dynamic verification, and pose adjustment or boundary movement localization when no candidate solution is found. During the verification phase, the map and obstacle information are continuously acquired as the robot operates and compared with the global map. The number of successful matches is counted, and target pose solutions are filtered according to rules. If the timeout fails to meet the criteria, localization is deemed a failure and a notification is issued. Finally, based on the target pose solution, the robot's target localization data is determined, completing the robot's global relocalization. This method reduces computational load through hierarchical search and improves robustness through an anomaly fallback mechanism, achieving fast, accurate, and stable relocalization, thus ensuring the continuity of the robot's autonomous operation.
[0346] For example, Figure 3 This is a schematic diagram illustrating the relocation process of the application robot's localization method provided in this embodiment of the application. For example... Figure 3 As shown, taking a cleaning robot as the application object, the preset threshold for matching accuracy is 0.8, and the preset number of times threshold can be set according to the actual usage scenario. When the robot loses its location, the robot localization process is initiated. The robot collects raw point cloud data of the surrounding environment at the current location, stitches it together to form local point cloud data, and continuously collects and stitches local point cloud data within a preset time threshold or within the travel distance range to generate the current map.
[0347] Subsequently, a candidate pose set is constructed, and a hierarchical search strategy is used to match it against a preset global map. A multi-level grid map, ranging from low to high resolution, is constructed. Starting from the lowest resolution level, candidate pose subsets are divided layer by layer. The matching degree of each subset is calculated, and subsets with unsatisfactory matching degrees are removed. This process is iterated up to the highest resolution level, ultimately yielding candidate pose solutions and their corresponding matching degrees. Based on the matching results, a judgment is made: if no valid candidate pose solution exists, localization is deemed a failure, the robot's current pose is adjusted, local environmental data is re-acquired, and hierarchical matching is performed again; if only a single candidate pose solution exists with a matching degree greater than 0.8, this candidate pose solution is directly identified as the target pose solution; if only a single candidate pose solution exists with a matching degree less than or equal to 0.8, or if multiple candidate pose solutions exist with a matching degree greater than 0.8, the process of comparing and verifying the current map and its obstacle information with the global map begins.
[0348] In the map information comparison and verification process, while the robot is moving, it acquires real-time map data of its current location while performing the cleaning task. The robot compares the stable features of obstacles with the preset global map and counts the number of successful matches of each candidate pose solution.
[0349] Furthermore, if the preset termination condition is not met, the current map is continuously collected and compared in a loop; if no candidate pose solution that meets the conditions is selected within the preset time or preset distance, the positioning is determined to be unsuccessful and a prompt message is generated; if only a single candidate pose solution has a sufficient number of successful matches, it is determined as the target pose solution; if multiple candidate pose solutions have a sufficient number of successful matches, the candidate pose solution with the highest matching degree is selected as the target pose solution.
[0350] Once the target pose solution is determined, the robot's target localization data is determined, the robot is relocalized, and the robot enters the cleaning state to perform subsequent tasks such as cleaning. If the initial matching of the localization state fails, or the localization fails during the map verification stage, the controller determines that the relocalization has failed, performs a remapping operation, and restarts the localization process.
[0351] Based on the same inventive concept, this application also provides a robot positioning device for implementing the robot positioning method described above. The solution provided by this robot positioning device is similar to the solution described in the robot positioning method above. Therefore, the specific limitations in one or more device embodiments provided below can be found in the limitations of the robot positioning method described above, and will not be repeated here.
[0352] Figure 4 This is a structural schematic diagram of the positioning device for the robot provided in this application. Figure 4 As shown, the robot positioning device 40 provided in this embodiment includes:
[0353] The matching module 401 is used to obtain the current map generated by the robot at the current position, and to match the current map with a preset global map to obtain the matching result; the matching result includes at least one candidate pose solution and the matching degree corresponding to at least one candidate pose solution;
[0354] The control module 402 is used to control the robot to perform subsequent tasks when the matching result meets the first preset condition, and to verify at least one candidate pose solution to obtain the target pose solution based on the updated current map obtained during the execution of the subsequent tasks.
[0355] In one possible implementation, the control module 402 is specifically used for:
[0356] Acquire incremental environmental data and update the current map based on the incremental environmental data;
[0357] Using information about at least one obstacle in the updated current map, a target pose solution that meets the second preset condition is selected from at least one candidate pose solution.
[0358] In one possible implementation, the control module 402 is further specifically used for:
[0359] Calculate the complexity of the updated current map, which is determined based on the distance variance between at least one obstacle in the updated current map and the robot.
[0360] When the complexity of the updated current map reaches the preset complexity threshold, for each candidate pose solution, the updated current map is matched with the preset global map to obtain the matching result corresponding to each candidate pose solution.
[0361] The target pose solution that meets the second preset condition is selected from the matching results.
[0362] In one possible implementation, the control module 402 is further configured to:
[0363] If it is determined that only one candidate pose solution corresponds to an updated current map with a matching degree greater than a preset global map, then the candidate pose solution is determined as the target pose solution.
[0364] If it is determined that there are multiple candidate pose solutions whose updated current map matches the preset global map with a degree greater than a preset threshold, then the robot continues to move and the updated current map is obtained to filter the target pose solution until the preset termination condition is met.
[0365] In one possible implementation, the preset termination condition includes:
[0366] If, after the robot has traveled a preset time or a preset distance, it is still determined that there are multiple candidate pose solutions with matching degrees greater than a preset threshold, then the candidate pose solution with the highest matching degree among the multiple candidate pose solutions is selected as the target pose solution.
[0367] Alternatively, if it is determined that only one candidate pose solution has a matching degree greater than a preset threshold, then the candidate pose solution is determined as the target pose solution.
[0368] In one possible implementation, the control module 402 is further configured to:
[0369] For each candidate pose solution, the updated current map is projected onto the preset global map based on the candidate pose solution. The overlap or similarity between the updated current map and the corresponding region in the preset global map is calculated and used as the matching result corresponding to the candidate pose solution.
[0370] In one possible implementation, the matching module 401 is specifically used for:
[0371] Acquire local environmental data collected by the robot at its current location, and generate the current map based on the local environmental data.
[0372] In one possible implementation, the local environmental data is sensor data collected and stitched together by the robot at its current location, or the local environmental data is sensor data collected after the robot moves to its current location.
[0373] In one possible implementation, the local environmental data includes one or more of the following: local point cloud data, local image data, local depth data, local lidar data, local ultrasonic data, local infrared data, and local millimeter-wave radar data.
[0374] In one possible implementation, the matching module 401 is specifically used for:
[0375] Match the current map with the preset global map to identify at least one sub-region with a matching degree greater than a preset threshold;
[0376] Determine candidate pose data for at least one sub-region;
[0377] Calculate the coordinate transformation relationship between the pose data at the current position and the candidate pose data corresponding to each sub-region, in order to determine at least one corresponding candidate pose solution.
[0378] In one possible implementation, the matching module 401 is specifically used for:
[0379] A hierarchical search strategy is adopted, which utilizes the matching degree between the current map and the preset global map to determine at least one corresponding candidate pose solution from the candidate pose set; the candidate pose set includes multiple candidate pose data of the robot.
[0380] In one possible implementation, the matching module 401 is further specifically used for:
[0381] Construct a multi-level raster map, which includes a first-level map to an Nth-level map, where the first-level map has the lowest resolution and the Nth-level map has the highest resolution. The resolutions of the raster maps at each level are arranged in ascending order of level. N is an integer greater than 1.
[0382] Starting from the first-level map, the candidate pose set is divided sequentially on the grid map of each level, and the matching degree between the current map and the preset global map corresponding to the divided candidate pose set is used to filter and obtain at least one candidate pose solution.
[0383] In one possible implementation, the matching module 401 is further specifically used for:
[0384] Starting from the first level map, on the grid map of the current level, the candidate pose set is divided into multiple subsets, and each subset corresponds to a set of candidate pose data;
[0385] Calculate the matching degree between the current map and the preset global map corresponding to each subset to obtain the matching degree for each subset.
[0386] Remove subsets with a matching degree less than or equal to a preset threshold, and switch the retained subsets to the next level of raster map;
[0387] The retained subset is iteratively processed based on the grid map of the current level after the switch, until the Nth level map is reached and the matching degree corresponding to the retained subset is greater than the preset threshold, or the number of candidate pose solutions corresponding to the retained subset is a single one, thus obtaining at least one candidate pose solution.
[0388] In one possible implementation, the first preset condition includes:
[0389] When there is only one candidate pose solution, and the matching degree corresponding to the candidate pose solution is less than or equal to the preset threshold;
[0390] Alternatively, when there are multiple candidate pose solutions, and the matching degree corresponding to the multiple candidate pose solutions is greater than a preset threshold.
[0391] In one possible implementation, the matching result further includes: there are no mutually matching candidate pose solutions, and the device 40 is further used to:
[0392] If no candidate pose solution is found, adjust the robot's pose at the current position and regenerate the current map, so as to match the regenerated current map with the preset global map.
[0393] Alternatively, if it is determined that there are no candidate pose solutions, the robot is controlled to move from the current position to the target position, and environmental information is acquired during the movement. The environmental information is compared with a preset global map to locate the target pose data of the robot in the preset global map; the target position is any boundary position of the robot in the process of executing subsequent tasks.
[0394] In one possible implementation, the control module 402 is further specifically used for:
[0395] The updated current map is matched with the preset global map, and the target pose solution that meets the second preset condition is selected from at least one candidate pose solution based on the matching result.
[0396] In one possible implementation, the control module 402 is further specifically used for:
[0397] Detect the size of the updated current map;
[0398] If the size of the updated current map meets the preset size condition, downsample the updated current map to obtain downsampled environmental data.
[0399] The downsampled environmental data is matched with a preset global map.
[0400] In one possible implementation, the device 40 is also used for:
[0401] If the robot fails to find a candidate pose solution that meets the second preset condition after traveling a preset time or distance, the localization is deemed to have failed, and a prompt message is generated.
[0402] In one possible implementation, the device 40 is also used for:
[0403] Based on the target pose solution, the robot target localization data is determined.
[0404] In one possible implementation, the follow-up tasks include one or more of the following: cleaning tasks, patrol tasks, inspection tasks, security tasks, guidance tasks, transportation tasks, and rescue and detection tasks.
[0405] Each module in the above-mentioned device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0406] Figure 5 This is a structural diagram of the robot provided in this application. Figure 5 As shown, the robot 50 provided in this embodiment includes at least one processor 501 and a memory 502. Optionally, the robot 50 also includes a communication component 503. The processor 501, memory 502, and communication component 503 are connected via a bus 504.
[0407] In a specific implementation, at least one processor 501 executes computer execution instructions stored in memory 1002, causing at least one processor 501 to perform the above-described method.
[0408] The specific implementation process of processor 501 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0409] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0410] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.
[0411] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0412] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0413] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.
[0414] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0415] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.
[0416] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0417] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0418] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0419] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0420] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0421] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope.
Claims
1. A robot localization method, characterized in that, The method includes: Obtain the current map generated by the robot at its current location, and match the current map with a preset global map to obtain a matching result; the matching result includes at least one candidate pose solution and the matching degree corresponding to the at least one candidate pose solution; If the matching result satisfies the first preset condition, the robot is controlled to perform subsequent tasks. During the execution of the subsequent tasks, the at least one candidate pose solution is verified based on the updated current map to obtain the target pose solution.
2. The method according to claim 1, characterized in that, The step of verifying the at least one candidate pose solution to obtain the target pose solution based on the acquired updated current map includes: Acquire incremental environmental data and update the current map based on the incremental environmental data; Using information about at least one obstacle in the updated current map, a target pose solution that meets the second preset condition is selected and confirmed from the at least one candidate pose solution.
3. The method according to claim 2, characterized in that, The step of filtering and confirming the target pose solution that meets the second preset condition from the at least one candidate pose solution using at least one obstacle information in the updated current map includes: Calculate the complexity of the updated current map, the complexity being determined based on the distance variance between at least one obstacle in the updated current map and the robot; When the complexity of the updated current map reaches a preset complexity threshold, the updated current map is matched with the preset global map for each candidate pose solution to obtain the matching result corresponding to each candidate pose solution. The target pose solution that meets the second preset condition is selected and confirmed from the matching results.
4. The method according to claim 3, characterized in that, The step of filtering and confirming the target pose solution that meets the second preset condition from the matching results includes: If it is determined that only one candidate pose solution corresponds to an updated current map with a matching degree greater than a preset threshold with the preset global map, then the candidate pose solution is determined as the target pose solution. If it is determined that the matching degree between the updated current map corresponding to multiple candidate pose solutions and the preset global map is greater than a preset threshold, then the robot's movement is controlled to continue, and the updated current map is obtained to filter the target pose solution until the preset termination condition is met.
5. The method according to claim 4, characterized in that, The preset termination conditions include: If, after the robot has traveled a preset time or a preset distance, it is still determined that there are multiple candidate pose solutions with matching degrees greater than a preset threshold, then the candidate pose solution with the highest matching degree among the multiple candidate pose solutions is selected as the target pose solution. Alternatively, if it is determined that only one candidate pose solution has a matching degree greater than a preset threshold, then the candidate pose solution is determined as the target pose solution.
6. The method according to claim 3, characterized in that, The step of matching the updated current map with the preset global map for each candidate pose solution to obtain the matching result corresponding to each candidate pose solution includes: For each candidate pose solution, the updated current map is projected onto the preset global map based on the candidate pose solution, and the overlap or similarity between the updated current map and the corresponding region in the preset global map is calculated as the matching result corresponding to the candidate pose solution.
7. The method according to claim 1, characterized in that, The acquisition of the current map generated by the robot at its current location includes: Acquire local environmental data collected by the robot at its current location, and generate the current map based on the local environmental data.
8. The method according to claim 7, characterized in that, The local environmental data is sensor data collected and stitched together by the robot at its current position, or the local environmental data is sensor data collected by the robot after it moves to its current position.
9. The method according to claim 7, characterized in that, The local environmental data includes one or more of the following: local point cloud data, local image data, local depth data, local lidar data, local ultrasonic data, local infrared data, and local millimeter-wave radar data.
10. The method according to claim 1, characterized in that, The matching process based on the current map and the preset global map to obtain the matching result includes: The current map is matched with the preset global map to determine at least one sub-region with a matching degree greater than a preset threshold. Determine candidate pose data corresponding to the at least one sub-region; Calculate the coordinate transformation relationship between the pose data of the current position and the candidate pose data corresponding to each sub-region, so as to determine the corresponding at least one candidate pose solution.
11. The method according to claim 1, characterized in that, The matching process based on the current map and the preset global map to obtain the matching result includes: A hierarchical search strategy is adopted, and the matching degree between the current map and the preset global map is used to determine at least one corresponding candidate pose solution from the candidate pose set; the candidate pose set includes multiple candidate pose data of the robot.
12. The method according to claim 11, characterized in that, The hierarchical search strategy, utilizing the matching degree between the current map and the preset global map, determines at least one corresponding candidate pose solution from the candidate pose set, including: Construct a multi-level raster map, which includes a first-level map to an Nth-level map, wherein the first-level map has the lowest resolution and the Nth-level map has the highest resolution, and the resolutions of each level of raster map are arranged from low to high in hierarchical order; N is an integer greater than 1. Starting from the first level map, the candidate pose set is divided sequentially on the grid map of each level, and filtered according to the matching degree between the current map and the preset global map corresponding to the divided candidate pose set to obtain at least one candidate pose solution.
13. The method according to claim 12, characterized in that, Starting from the first-level map, the candidate pose set is sequentially divided on the grid maps of each level, and filtered according to the matching degree between the current map and the preset global map corresponding to the divided candidate pose set to obtain at least one candidate pose solution, including: Starting from the first level map, on the grid map of the current level, the candidate pose set is divided into multiple subsets, each subset corresponding to a set of candidate pose data; The matching degree between the current map and the preset global map corresponding to each subset is calculated to obtain the matching degree corresponding to each subset. Remove subsets with a matching degree less than or equal to a preset threshold, and switch the retained subsets to the next level of raster map; The retained subset is iteratively processed based on the grid map of the current level after the switch until the Nth level map is reached and the matching degree corresponding to the retained subset is greater than a preset threshold, or the number of candidate pose solutions corresponding to the retained subset is a single one, thus obtaining at least one candidate pose solution.
14. The method according to claim 1, characterized in that, The first preset conditions include: When there is only one candidate pose solution, and the matching degree corresponding to the candidate pose solution is less than or equal to a preset threshold; Alternatively, when there are multiple candidate pose solutions, and the matching degree corresponding to the multiple candidate pose solutions is greater than a preset threshold.
15. The method according to claim 1, characterized in that, The matching result also includes: there are no mutually matching candidate pose solutions, and the method further includes: If it is determined that there is no candidate pose solution, the robot's pose at the current position is adjusted, and the current map is regenerated so as to match the regenerated current map with the preset global map. Alternatively, if it is determined that no candidate pose solution exists, the robot is controlled to move from the current position to the target position, and environmental information during the movement is acquired. The environmental information is then compared with the preset global map to locate the target pose data of the robot in the preset global map; the target position is any boundary position of the robot during the execution of subsequent tasks.
16. The method according to claim 1, characterized in that, The step of verifying the at least one candidate pose solution to obtain the target pose solution based on the acquired updated current map includes: The updated current map is matched with a preset global map, and the target pose solution that meets the second preset condition is selected from the at least one candidate pose solution based on the matching result.
17. The method according to claim 16, characterized in that, The matching process using the updated current map and the preset global map includes: Detect the size of the updated current map; If the size of the updated current map meets the preset size condition, downsample the updated current map to obtain downsampled environmental data. The downsampled environmental data is matched with a preset global map.
18. The method according to claim 2 or 16, characterized in that, The method further includes: If the robot fails to find a candidate pose solution that meets the second preset condition after traveling a preset time or a preset distance, the localization is deemed to have failed, and a prompt message is generated.
19. The method according to claim 1, characterized in that, The method further includes: Based on the target pose solution, the robot target localization data is determined.
20. The method according to claim 1, characterized in that, The subsequent tasks include one or more of the following: cleaning tasks, patrol tasks, inspection tasks, security tasks, guidance tasks, transportation tasks, and rescue and detection tasks.
21. A positioning device for a robot, characterized in that, The device includes: The matching module is used to obtain the current map generated by the robot at the current position, and to match the current map with a preset global map to obtain a matching result; the matching result includes at least one candidate pose solution and the matching degree corresponding to the at least one candidate pose solution; The control module is used to control the robot to perform subsequent tasks when the matching result meets the first preset condition, and to verify the at least one candidate pose solution to obtain the target pose solution based on the updated current map during the execution of the subsequent tasks.
22. A robot, characterized in that, include: Memory, processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1-20.
23. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-20.
24. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method as described in any one of claims 1-20.