Cost map updating method and device and electronic equipment
By obtaining and monitoring the robot's global positioning data and cost map information in real time, automatically identifying and correcting positioning deviations, and updating the cost map, the cost map information is solved, and the cost map is improved, and navigation accuracy and environmental adaptability are improved.
Patent Information
- Application Number
- CN202510201631.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-24
- Publication Date
- 2025-03-21
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In a dynamic environment, the robot causes global positioning deviation due to factors such as obstacles, which in turn leads to inaccurate cost map information, affecting navigation efficiency and safety.
By obtaining the robot's global positioning data and cost map, determining the positioning deviation, and performing positioning calibration when the deviation is greater than the target threshold, the cost map is updated to ensure its accuracy.
It has achieved improvements in robot navigation accuracy and enhanced environmental adaptability, ensuring timely updates to cost maps and ensuring the accuracy of path planning and obstacle avoidance decisions.
Smart Images

Figure CN119665949A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of artificial intelligence, and in particular to the field of robot navigation and automatic control, and specifically to a cost map updating method, device and electronic equipment. Background Art
[0002] In the automatic navigation system, the cost map is a key part, which helps the robot avoid obstacles and navigate safely. In related technologies, the cost map often contains outdated obstacle information due to environmental changes or sensor errors. This information will mislead the robot's behavior, resulting in inefficient or erroneous navigation, and cannot effectively cope with the rapid changes after global positioning deviation. Therefore, when the robot is in a dynamic environment, the global positioning deviation of the robot caused by obstacles and other factors can easily lead to inaccurate cost map information.
[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0004] The embodiments of the present invention provide a cost map updating method, device and electronic device to at least solve the technical problem that the robot's global positioning deviation in a dynamic environment due to factors such as obstacles leads to inaccurate cost map information.
[0005] According to one aspect of an embodiment of the present invention, a cost map updating method is provided, comprising: in the process of controlling the operation of the robot based on the cost map, obtaining the global positioning data of the robot, wherein the cost map is used to control the robot's action decisions by quantifying the cost or difficulty of different positions in the environment for the robot's movement; based on the global positioning data and the cost map, determining the robot's positioning deviation; when the positioning deviation is greater than a target deviation threshold, performing positioning calibration on the robot to obtain a positioning calibration result; and updating the cost map according to the positioning calibration result.
[0006] According to another aspect of an embodiment of the present invention, a cost map updating device is also provided, including: a data acquisition module, used to acquire the global positioning data of the robot in the process of controlling the operation of the robot based on the cost map, wherein the cost map is used to control the robot's action decisions by quantifying the cost or difficulty of different positions in the environment for the robot's movement; a deviation determination module, used to determine the robot's positioning deviation based on the global positioning data and the cost map; a positioning calibration module, used to perform positioning calibration on the robot when the positioning deviation is greater than a target deviation threshold to obtain a positioning calibration result; a map update module, used to update the cost map according to the positioning calibration result.
[0007] According to another aspect of an embodiment of the present invention, there is also provided an electronic device, comprising one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by one or more processors, the one or more processors implement any one of the cost map update methods.
[0008] In an embodiment of the present invention, the global positioning data of the robot is obtained in the process of controlling the operation of the robot based on a cost map, wherein the cost map is used to control the robot's action decisions by quantifying the cost or difficulty of different positions in the environment for the robot's movement; the positioning deviation of the robot is determined based on the global positioning data and the cost map; when the positioning deviation is greater than the target deviation threshold, the robot is positioned and calibrated to obtain a positioning calibration result; the cost map is updated according to the positioning calibration result, thereby achieving the purpose of automatically identifying and correcting the positioning deviation by real-time acquisition and monitoring of the robot's global positioning data and cost map information, and then updating the cost map, thereby achieving the technical effect of improving the robot's navigation accuracy and environmental adaptability, as well as timely updating of the cost map, ensuring the accuracy of path planning and obstacle avoidance decisions, thereby solving the technical problem of the robot's global positioning deviation caused by obstacles and other factors in a dynamic environment, which in turn leads to inaccurate cost map information. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0010] Figure 1 is a flow chart of a cost map updating method according to an embodiment of the present invention;
[0011] Figure 2 is a schematic diagram of a costmap updating device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0012] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0013] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0014] In the automatic navigation system, the cost map is a key part, which helps the robot avoid obstacles and navigate safely. In related technologies, the cost map often contains outdated obstacle information due to environmental changes or sensor errors. This information will mislead the robot's behavior, resulting in inefficient or erroneous navigation, and cannot effectively cope with the rapid changes after global positioning deviation. Therefore, when the robot is in a dynamic environment, the global positioning of the robot may deviate due to obstacles and other factors, which may easily lead to inaccurate cost map information. The specific problems are as follows:
[0015] 1) Slow response: Static or periodic costmap updates cannot respond to rapid changes in the environment in a timely manner, especially in complex or changing environments such as public places or industrial sites, which can cause the robot’s navigation system to make decisions based on outdated information.
[0016] 2) High resource consumption: The methods in related technologies often need to process a large amount of data when updating the cost map, which not only consumes a lot of computing resources, but also may affect the real-time performance of the robot, especially in resource-constrained robot systems.
[0017] 3) Inefficiency: Without an explicit deviation trigger, periodic cleanup may result in unnecessary calculations, which not only reduces the efficiency of the system but also may clear valid navigation information at unnecessary times.
[0018] 4) Poor adaptability: The relevant technology lacks the ability to adapt to environmental changes and cannot flexibly adjust the map update strategy according to actual navigation needs and environmental conditions, which limits its application effect in different or extreme environments.
[0019] In response to the above problems, an embodiment of the present invention provides a method embodiment of a cost map update. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0020] Figure 1 is a flowchart of a cost map updating method according to an embodiment of the present invention. Figure 1 As shown, the method comprises the following steps:
[0021] Step S102, in the process of controlling the operation of the robot based on the cost map, obtaining the global positioning data of the robot, wherein the cost map is used to control the action decision of the robot by quantifying the cost or difficulty of different positions in the environment for the movement of the robot;
[0022] In step S102, the robot continuously collects its position information in three-dimensional space (i.e., global positioning data) through its equipped global positioning system. The global positioning system can provide coordinates relative to the global environment to help the robot establish its position cognition in a large-scale environment. By acquiring global positioning data in real time and building a cost map, the robot can accurately perceive its surrounding environment for subsequent path planning and obstacle avoidance based on quantified environmental information, ensuring the safe and efficient operation of the robot in complex and dynamic environments.
[0023] Optionally, a costmap is a two-dimensional or three-dimensional grid image that quantifies the cost or difficulty of different locations in the environment for the robot to move. The value of each grid cell can reflect the difficulty of the robot passing through that location. The higher the value, the greater the cost of passing, for example, where there are obstacles or complex terrain. Through the costmap, the robot can evaluate its surroundings and predict potential obstacles on the route, so as to make decisions to avoid obstacles and choose the best path.
[0024] Step S104, determining the positioning deviation of the robot based on the global positioning data and the cost map;
[0025] In step S104, based on the grid cell data and global positioning data of the cost map, a corresponding algorithm is used to calculate the deviation between the actual position of the robot (i.e., the global positioning data) and the expected position indicated by the cost map, and the positioning deviation of the robot is obtained. The positioning deviation is used to indicate the degree of deviation between the actual position of the robot and the expected position indicated by the cost map.
[0026] In an optional embodiment, based on the global positioning data and the cost map, the positioning deviation of the robot is determined, including: obtaining reference positioning data of the robot planned based on the cost map; comparing the global positioning data and the reference positioning data to obtain the positioning deviation.
[0027] Optionally, before the robot starts running or during the running process, a series of reference positioning data is generated by the path planning algorithm based on the current cost map data. These reference positioning data contain the position coordinates and time points where the robot should appear on the map under ideal conditions (i.e., without deviation and interference). The generation of reference positioning data is based on the quantified obstacle information and terrain cost values in the cost map to ensure that the path planned by the robot is both safe and efficient. During the operation of the robot, it will continue to receive its global positioning data, which contains the actual position information of the robot at any time. Then, these global positioning data are compared with the previously generated reference positioning data in real time, and the deviation between the actual position of the robot and the expected position is quantified by calculating the geometric distance between the two data sets. This comparison process is based on time series to ensure the accuracy of the comparison. The calculation of the deviation can be, but is not limited to, using a variety of mathematical methods, such as Euclidean distance calculation, Kalman filter, etc., to determine the difference between the actual position of the robot and the reference position. Assessing whether the deviation exceeds the target deviation threshold is another key part of this process, which helps to identify the severity of the positioning deviation and decide whether to start the positioning calibration process. If the deviation is less than the threshold, the positioning is considered acceptable and the robot can continue to navigate according to the current cost map; if the deviation is greater than the threshold, it is determined that there is a significant positioning deviation and corrective measures need to be taken immediately.
[0028] In the above method, by comparing the reference positioning data planned by the costmap with the actual global positioning data, the accuracy of the robot's positioning can be monitored and evaluated in real time. This method can not only detect positioning deviations, but also quantify the size and direction of the deviations, providing necessary information for subsequent positioning calibration and costmap updates. Through continuous deviation monitoring, the robot system can promptly detect and handle positioning problems, avoid navigation errors or reduced efficiency due to accumulated deviations, and thus improve the robot's safety and autonomous navigation capabilities in dynamic environments.
[0029] Step S106, when the positioning deviation is greater than the target deviation threshold, the robot is calibrated to obtain a positioning calibration result;
[0030] In step S106, the global positioning data of the robot is continuously monitored and compared with the position information in the cost map to evaluate the difference between the actual position of the robot and the expected position, which is quantified as the positioning deviation. The target deviation threshold can be a pre-set fixed value, or it can be dynamically determined based on factors such as the robot's task requirements, environmental complexity, and the accuracy of the positioning system. Once the size of the positioning deviation exceeds the target deviation threshold, it is determined that there is a significant positioning deviation and calibration is required to correct it. Once it is detected that the positioning deviation is greater than the target deviation threshold, the positioning calibration program is immediately started to calibrate the robot. The startup of this program can be an automated process that does not require human intervention. It relies on the algorithm and logical judgment inside the robot system.
[0031] Through the above step S106, the robot can automatically trigger the calibration process when encountering positioning deviation, correct the deviation in time, avoid navigation errors or inefficiencies caused by inaccurate positioning, and enhance the operation stability and safety of the robot in complex environments. Optionally, after the robot is calibrated, a corresponding positioning calibration result will be generated, which includes but is not limited to the correction of the precise position coordinates, attitude angle or speed information of the robot.
[0032] In an optional embodiment, when the positioning deviation is greater than the target deviation threshold, the robot is calibrated to obtain a positioning calibration result, including: when the positioning deviation is greater than the target deviation threshold, collecting environmental data within a predetermined neighborhood of the robot; performing feature matching based on the environmental data and the cost map to obtain a feature matching result, wherein the feature matching is used to identify common feature points in the environmental data and the cost map, and the feature points include at least landmarks and obstacles; based on the feature matching result, the robot is calibrated to obtain a positioning calibration result.
[0033] Optionally, once it is identified that the positioning deviation exceeds a preset threshold, the robot will immediately collect environmental data within its predetermined neighborhood. This neighborhood refers to an area within a certain distance around the current position of the robot, and the specific size is determined by the robot's perception ability and task requirements. The collection of environmental data can be achieved using a variety of sensors, such as lidar, visual cameras, ultrasonic sensors, etc. These sensors can provide detailed information about obstacles, terrain features, and landmarks within the neighborhood, which is the basis for feature matching and positioning calibration. The collected environmental data is compared and matched with the features in the cost map. The feature matching process may include, but is not limited to, identifying common feature points in the environmental data and the cost map. These feature points may include, but are not limited to, static landmarks, such as fixed structures such as walls, doors, and windows, or dynamic obstacles, such as moving people or objects. By identifying and matching these feature points, the actual position of the robot in the environment and the difference from the expected position in the cost map can be determined. The feature matching algorithms used in the feature matching process include, but are not limited to, visual feature point matching, lidar point cloud matching, or feature recognition technology based on machine learning. Based on the results obtained from feature matching, the robot is positioned and calibrated. This process involves adjusting the actual position information of the robot to make it consistent with the feature matching results in the environment data and the cost map. The calibration process can include, but is not limited to, updating the robot's position coordinates, attitude angle or speed information, and sensor parameter correction to ensure the accuracy of the global positioning data. The positioning calibration result is an important basis for the subsequent cost map update process, ensuring that the robot can navigate safely based on more accurate positioning information.
[0034] In the above way, when the robot is running in a dynamic environment and encounters positioning deviation, it can use the environmental data of the robot's neighborhood for feature matching, automatically correct the positioning information, and restore the accuracy of the robot's position. This process can not only enhance the robot's navigation performance in complex environments, but also improve its adaptability and response speed to environmental changes. It is a key technology to ensure the safe and efficient operation of the robot. In particular, through positioning calibration based on environmental characteristics, the positioning deviation can be refined, avoiding the excessive correction error that may exist in traditional positioning calibration methods, improving the robot's positioning accuracy and navigation stability, thereby solving the problem of inaccurate and inefficient positioning deviation calibration in related technologies.
[0035] In an optional embodiment, when the positioning deviation is greater than the target deviation threshold, the robot is calibrated, and before obtaining the positioning calibration result, the method also includes: determining the environmental complexity of the robot's working area based on the cost map; obtaining the robot's size information and the type of operation performed by the robot, wherein the operation type is divided according to the accuracy requirements of the operation task; and determining the target deviation threshold based on the environmental complexity, size information and operation type.
[0036] Optionally, the complexity of the environment in the robot's operating area is evaluated based on the cost map. The complexity of the environment can involve many aspects, such as the openness of the environment, the density and distribution of obstacles, the variability of the terrain, and lighting conditions or climate factors. The evaluation result of the complexity will directly affect the setting of the target deviation threshold, because in areas with high environmental complexity, the robot needs higher positioning accuracy to avoid collision or getting lost. Obtain the size information of the robot, including the height, width and length of the robot, as well as the type of operation performed by the robot. The type of operation is divided according to the accuracy requirements of the operation task, which can include but is not limited to high-precision operations or extensive operations. For example, high-precision operations such as precision parts assembly or surgical assistance may require extremely low positioning deviation thresholds, while extensive operations such as site cleaning or patrolling may allow higher deviations. Based on the complexity of the environment, the size of the robot and the type of operation, a reasonable target deviation threshold is determined. This threshold is the maximum value of the positioning deviation that the robot can tolerate under specific operating conditions. In the case of high environmental complexity, large robot size or high operation accuracy requirements, the target deviation threshold is usually set lower to ensure that the robot can accurately perceive and navigate the environment. On the contrary, when the environment is simple, the robot size is small, or the operation accuracy requirement is not high, the target deviation threshold can be set relatively high to reduce unnecessary positioning calibration operations and save resources.
[0037] By dynamically adjusting the target deviation threshold based on environmental complexity, size information, and job type, the robot can adapt to different job scenarios and requirements. By considering environmental complexity and job type, positioning deviations can be managed more intelligently, avoiding frequent positioning calibrations when unnecessary, thereby optimizing the robot's performance and operating efficiency.
[0038] In an optional embodiment, a target deviation threshold is determined based on environmental complexity, dimensional information, and job type, including: determining a first weight value corresponding to the environmental complexity, a second weight value corresponding to the dimensional information, and a third weight value corresponding to the job type; performing weighted calculation based on environmental complexity, dimensional information, job type, the first weight value, the second weight value, and the third weight value to obtain a target score value; determining a target score range to which the target score value belongs; and determining a target deviation threshold corresponding to the target score range based on the correspondence between the score range and the deviation threshold.
[0039] Optionally, different weight values corresponding to the environment complexity, robot size information, and operation type are determined. These weight values can reflect the importance of each factor in determining the target deviation threshold. For example, the environment complexity may have a higher first weight value because the complex environment has more stringent requirements on positioning accuracy; the robot size information may correspond to the second weight value, and a robot with a larger size may require a lower deviation threshold to avoid collision with obstacles; the operation type may correspond to the third weight value, and high-precision operations such as precision parts assembly may require extremely low deviation thresholds, while low-precision operations such as large-area patrols can tolerate higher deviations. Weighted calculations are performed based on the environment complexity, size information, operation type, and their corresponding weight values. This calculation can use a linear weighted average or other statistical models, such as a decision tree or a neural network, to quantify the positioning accuracy requirements of the robot in a specific operating environment. The calculation result is a target score value, which takes into account the above factors and can reflect the robot's sensitivity and tolerance to positioning deviation under current conditions. By presetting multiple target score ranges, each range corresponds to a different deviation threshold. These score ranges are set based on historical data and experience, and are intended to cover various operating environments and task types that the robot may encounter. For example, a low score range may correspond to a looser deviation threshold, which is suitable for simple environments and low operating precision requirements; while a high score range may correspond to a stricter deviation threshold, which is suitable for complex environments or scenarios with high operating precision requirements. Further, based on the calculated target score value, the target score range to which it belongs is determined, and based on the correspondence between the range and the preset score range and the deviation threshold, the specific target deviation threshold is determined. This process ensures that the setting of the deviation threshold can accurately match the robot's operating requirements and environmental conditions, avoiding problems that may be caused by setting the deviation threshold too wide or too narrow.
[0040] Through the above methods, the robot system can intelligently determine the target deviation threshold under different operating conditions, thereby reducing unnecessary positioning calibration operations and saving resources while ensuring the quality and safety of the operation. The above methods provide a dynamic and intelligent deviation management mechanism that can adapt to the robot's operating needs in a changing environment, optimize the robot's map cleaning strategy after global positioning deviation correction, and improve the overall navigation efficiency and operating performance.
[0041] Step S108, updating the costmap according to the positioning calibration result.
[0042] In step S108, based on the positioning calibration result, the robot system may formulate a costmap update strategy for updating the costmap. This strategy may include, but is not limited to, identifying erroneous obstacle information accumulated during the deviation period, updating the costmap data of the robot's neighborhood, re-evaluating the cost value of obstacles, and adjusting the path and obstacle model in the costmap according to the latest positioning data and environmental perception information.
[0043] Optionally, the robotic system can also identify and clean up areas or cells that were incorrectly marked as obstacles during the localization deviation, and correct the positions of known obstacles to reflect the robot's latest global localization state. This process is dynamic and aims to eliminate the impact of localization deviation on the accuracy of the cost map.
[0044] In an optional embodiment, the cost map is updated according to the positioning calibration results, including: determining target obstacle information based on the matching results, wherein the target obstacle information is obstacle information that needs to be added or deleted in the cost map; and updating the cost map based on the positioning calibration results and the target obstacle information.
[0045] Optionally, after positioning calibration, target obstacle information is determined based on feature matching results. This information refers to obstacle data that needs to be added or deleted in the costmap, and its identification is based on the precise matching of the robot's neighborhood environment features during the positioning calibration process. Specifically, compare the environmental data before and after positioning calibration to identify obstacles that are incorrectly marked due to positioning deviations, or discover newly emerged obstacles that were not previously recorded in the costmap. Determination of target obstacle information is the key to automated costmap updates, which can ensure the accuracy and timeliness of map information and prevent the robot from making navigation decisions based on outdated or erroneous information.
[0046] Optionally, in the process of updating the cost map based on the positioning calibration results and the target obstacle information, the process may include, but is not limited to, the correction of obstacle information and the updating of map units. Specifically, the correction of obstacle information is used to delete the obstacle information of those areas that were incorrectly marked as obstacles during the positioning deviation, and restore their correct status in the cost map. At the same time, for newly identified obstacles, their obstacle information will be added to the cost map to reflect the latest environmental changes. For the updated obstacle information, its cost value in the cost map is recalculated. This calculation is based on the type, size, shape and position of the obstacle, as well as the distance and movement direction between the robot and the obstacle. The re-evaluated cost value can ensure that the cost map can accurately reflect the degree of obstruction of the obstacle to the robot's movement, thereby optimizing the path planning. For the update of the map unit, each cell in the cost map will be updated according to the latest obstacle information and cost value, for example, the update process can be achieved by changing the cell state (such as from passable to impassable) or adjusting the cell cost value. The updated cost map unit can more accurately guide the robot's action decision-making, avoid entering the obstacle area by mistake or repeatedly cleaning the cleaned area.
[0047] The above method aims to eliminate the impact of positioning deviation on the cost map and ensure that the cost map always remains synchronized with the environment. Through this mechanism, the robot can quickly restore its correct understanding of the environment after encountering positioning deviation, avoid incorrect navigation and resource waste caused by positioning error, and improve the robot's adaptability and efficiency in dynamic environments. The above method can solve the problems of slow response speed, high resource consumption and low efficiency in cost map updates in related technologies, and can timely and accurately reflect the real state of the environment, provide more reliable navigation information for the robot, and ensure its smooth operation in complex and changing environments. Automated and intelligent update strategies reduce manual intervention and improve the overall intelligence level and operational safety of the robot system.
[0048] In an optional embodiment, the cost map is updated based on the positioning calibration results and the target obstacle information, including: determining the area to be updated in the cost map based on the positioning deviation; and updating the area to be updated in the cost map based on the positioning calibration results and the target obstacle information.
[0049] Optionally, after completing the positioning calibration of the robot, the scope and degree of the positioning deviation are analyzed to determine which areas in the costmap are affected by the positioning deviation, which are the areas to be updated. The determination of the areas to be updated is based on the size and direction of the positioning deviation, as well as the movement path of the robot during the deviation. Since the positioning deviation may cause the obstacle information of some areas in the costmap to be incorrectly marked or omitted, identifying these affected areas can ensure the accuracy of the costmap. The areas to be updated include the areas that the robot passed through or was adjacent to during the positioning deviation, and the areas where the obstacle information was found to be inconsistent during the feature matching process. Based on the positioning calibration results and the target obstacle information, the areas to be updated in the costmap will be updated. This process includes the identification, processing and correction of the target obstacle information and the map data. The obstacle information in the area to be updated is adjusted according to the positioning calibration results. For example, for those cells that were incorrectly marked as obstacles during the positioning deviation, their obstacle information will be deleted and their passability will be re-evaluated based on the latest sensor data; for newly identified obstacles, their information will be added to the costmap of the area to be updated and their cost values will be calculated. Updates may also involve corrections to cell states and recalculation of cost values to ensure that the cost map data for the area to be updated is closest to the actual environment state.
[0050] In the above method, only those areas directly affected by the positioning deviation are updated, rather than the entire cost map being updated indiscriminately. This not only reduces the consumption of computing resources and improves the efficiency of the update, but also avoids interference with unaffected areas and maintains the stability and reliability of the cost map.
[0051] In an optional embodiment, after updating the cost map according to the positioning calibration result, the method also includes: re-collecting environmental data within a predetermined neighborhood of the robot to obtain new environmental data; verifying whether the new environmental data matches the feature points in the updated cost map to obtain a verification result; when the verification result indicates that the new environmental data matches the feature points in the updated cost map, controlling the operation of the robot based on the cost map; or when the verification result indicates that the new environmental data does not match the feature points in the updated cost map, re-positioning and calibrating the robot based on the feature matching result between the new environmental data and the updated cost map, and re-updating the updated cost map.
[0052] Optionally, considering that the environment may continue to change after positioning calibration and map update, such as new obstacles or moving people, these changes may not be captured by the previous update. Therefore, after the cost map is updated, the environmental data within the predetermined neighborhood of the robot will be recollected to obtain the latest environmental information. Further verify whether the newly collected environmental data matches the feature points in the updated cost map. This verification process can be completed by comparing the consistency of landmarks, obstacles and other features in the environmental data with the corresponding information in the cost map to confirm whether the update of the cost map can accurately reflect the current environmental status. If the data matches, it means that the cost map has been updated successfully and can reliably guide the subsequent operation of the robot; conversely, if the data does not match, it may mean that there are still changes in the environment that have not been updated, or there are errors in the positioning calibration process.
[0053] Optionally, based on the verification results, the robot system can have two different response strategies: if the environmental data matches the cost map features, the robot operation will be controlled based on the updated cost map to ensure that the robot can navigate based on accurate map information and avoid collisions and entering obstacle areas. If the environmental data does not match the cost map features, the robot will be re-positioned and calibrated based on the feature matching results between the new environmental data and the cost map, and the cost map will be updated a second time based on the results of the recalibration. This process ensures that even if the environment continues to change or there are errors in the positioning calibration, the robot system can maintain the accuracy of the cost map and the navigation efficiency of the robot through continuous calibration and updating. The process of re-positioning and calibrating the robot and re-updating the updated cost map is the same as the aforementioned steps S106 and S108, and will not be repeated here.
[0054] Through the above methods, the robot system can continuously monitor and adapt to changes in the robot's environment, ensuring that the cost map always reflects the latest environmental status, thereby providing the robot with reliable and timely navigation information.
[0055] Through the above steps S102 to S108, the purpose of automatically identifying and correcting positioning deviations and updating the cost map can be achieved by acquiring and monitoring the robot's global positioning data and cost map information in real time, thereby improving the robot's navigation accuracy and environmental adaptability, as well as timely updating of the cost map, ensuring the accuracy of path planning and obstacle avoidance decisions, and thus solving the technical problem of inaccurate cost map information caused by global positioning deviations of the robot due to obstacles and other factors in a dynamic environment.
[0056] Based on the above embodiment and optional embodiment, the present invention proposes an optional implementation of a cost map updating method, the method comprising:
[0057] S1, Global Positioning Monitoring: The system continuously monitors the robot’s global positioning data to detect whether there is a positioning deviation exceeding a preset threshold.
[0058] S2, deviation trigger: Once it is detected that the global positioning deviation exceeds the preset threshold, the positioning calibration mechanism is immediately triggered to ensure that the robot's positioning information quickly returns to the correct state.
[0059] S3, automatic cleanup start: After positioning calibration is completed, recovery behavior is automatically performed, which includes clearing incorrect obstacle information that may have accumulated during the deviation.
[0060] S4, costmap update: As the recovery behavior is executed, the system clears old or erroneous obstacle data and updates the costmap based on the latest sensor data.
[0061] S5, Status Review: After the cleanup and update is complete, the system will re-evaluate the state of the environment to ensure the accuracy of the costmap, and if new deviations are detected, the process will start over.
[0062] It should be noted that in this embodiment, advanced sensor data analysis and processing technology is used to automatically detect deviations in the global positioning system, and automatically perform the cost map cleanup operation after the deviation is corrected. This automated process improves the intelligence level and response speed of the system. This embodiment develops a dynamic cost map management mechanism that can dynamically adjust the content of the cost map according to the real-time navigation status to ensure that the cost map always reflects the latest environmental status, thereby improving the accuracy and reliability of the navigation system. This embodiment designs a new recovery behavior execution strategy, which determines whether to trigger the recovery behavior to clean up the map based on the current navigation accuracy and consistency of the map data, which not only improves the timeliness of the cleanup operation, but also reduces unnecessary computing overhead. This embodiment proposes an intelligent algorithm for identifying and distinguishing errors and real obstacles in map data, which enables the robot to avoid mis-navigation while more effectively coping with actual obstacles in the environment. This embodiment also adjusts the navigation strategy in real time by integrating the robot's real-time sensor data and map information, optimizes the robot's action strategy in complex environments, and improves the flexibility and adaptability of navigation.
[0063] This embodiment can achieve at least one of the following effects: 1) Enhance navigation accuracy: By timely cleaning up the cost map data that has accumulated errors due to positioning deviations, the cost map is ensured to always be up to date, thereby improving the accuracy and reliability of robot navigation. 2) Improve system response speed: The automated deviation detection and map cleaning process reduces the need for manual intervention, allowing the system to respond quickly to environmental changes and reduce pauses and delays. 3) Optimize resource usage: By automatically cleaning up invalid or outdated obstacle information, computing resources are saved, the robot's operating efficiency is optimized, and it helps to extend the robot's operating time in complex environments. 4) Improve environmental adaptability: The solution can adapt to changing environmental conditions and maintain the stability and functionality of the navigation system even when there is a significant deviation in global positioning. 5) Reduce erroneous navigation events: By ensuring the accuracy of the cost map, navigation errors caused by map errors, such as entering a restricted area or collisions, are reduced, thereby improving the operational safety of the robot. 6) Easy to maintain and expand: The implementation of this embodiment does not rely on specific hardware or complex software, is easy to integrate and maintain in existing robot systems, and supports cross-platform expansion.
[0064] In this embodiment, a cost map updating device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and will not be repeated hereafter. As used below, the terms "module" and "device" can be a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0065] According to an embodiment of the present invention, a device embodiment for implementing the above cost map updating method is also provided. Figure 2 is a schematic diagram of the structure of a cost map updating device according to an embodiment of the present invention. Figure 2 As shown, the cost map updating device comprises: a data acquisition module 200, a deviation determination module 202, a positioning calibration module 204, and a map updating module 206, wherein:
[0066] The data acquisition module 200 is used to acquire the global positioning data of the robot in the process of controlling the operation of the robot based on the cost map, wherein the cost map is used to control the action decision of the robot by quantifying the cost or difficulty of different positions in the environment for the robot to move;
[0067] A deviation determination module 202, connected to the data acquisition module 200, for determining the positioning deviation of the robot based on the global positioning data and the cost map;
[0068] The positioning calibration module 204 is connected to the deviation determination module 202 and is used to perform positioning calibration on the robot to obtain a positioning calibration result when the positioning deviation is greater than the target deviation threshold;
[0069] The map updating module 206 is connected to the positioning calibration module 204 and is used to update the cost map according to the positioning calibration result.
[0070] It should be noted that the above modules can be implemented by software or hardware. For example, for the latter, it can be implemented in the following ways: the above modules can be located in the same processor; or the above modules can be located in different processors in any combination.
[0071] It should be noted that the data acquisition module 200, the deviation determination module 202, the positioning calibration module 204, and the map update module 206 correspond to steps S102 to S108 in the embodiment, and the examples and application scenarios implemented by the modules and the corresponding steps are the same, but are not limited to the contents disclosed in the above embodiments. It should be noted that the modules as part of the device can be run in a computer terminal.
[0072] It should be noted that the optional or preferred implementation of this embodiment can refer to the relevant description in the embodiment, which will not be repeated here.
[0073] The above-mentioned cost map updating device may also include a processor and a memory. The above-mentioned data acquisition module 200, deviation determination module 202, positioning calibration module 204, map update module 206, etc. are all stored in the memory as program modules, and the processor executes the above-mentioned program modules stored in the memory to realize corresponding functions.
[0074] The processor includes a kernel, which retrieves the corresponding program module from the memory. The kernel may be one or more. The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. The memory includes at least one memory chip.
[0075] According to an embodiment of the present application, an embodiment of a non-volatile storage medium is also provided. Optionally, in this embodiment, the non-volatile storage medium includes a stored program, wherein when the program is executed, the device where the non-volatile storage medium is located is controlled to execute any one of the cost map update methods.
[0076] Optionally, in this embodiment, the non-volatile storage medium may be located in any computer terminal in a computer terminal group in a computer network, or in any mobile terminal in a mobile terminal group, and the non-volatile storage medium includes a stored program.
[0077] Optionally, when the program is running, the device where the non-volatile storage medium is located is controlled to perform the following functions: in the process of controlling the operation of the robot based on the cost map, the global positioning data of the robot is obtained, wherein the cost map is used to control the robot's action decisions by quantifying the cost or difficulty of the robot's movement at different positions in the environment; based on the global positioning data and the cost map, the positioning deviation of the robot is determined; when the positioning deviation is greater than the target deviation threshold, the robot is calibrated to obtain a positioning calibration result; and the cost map is updated according to the positioning calibration result.
[0078] According to an embodiment of the present application, an embodiment of a processor is also provided. Optionally, in this embodiment, the processor is used to run a program, wherein the program executes any one of the cost map updating methods when running.
[0079] According to an embodiment of the present application, an embodiment of a computer program product is also provided, which, when executed on a data processing device, is suitable for executing a program that initializes any one of the above-mentioned cost map update method steps.
[0080] Optionally, the above-mentioned computer program product, when executed on a data processing device, is suitable for executing a program initialized with the following method steps: in the process of controlling the operation of the robot based on the cost map, obtaining the global positioning data of the robot, wherein the cost map is used to control the robot's action decisions by quantifying the cost or difficulty of the robot's movement at different positions in the environment; determining the robot's positioning deviation based on the global positioning data and the cost map; when the positioning deviation is greater than the target deviation threshold, performing positioning calibration on the robot to obtain a positioning calibration result; and updating the cost map according to the positioning calibration result.
[0081] An embodiment of the present invention provides an electronic device, which includes a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, the following steps are implemented: in the process of controlling the operation of the robot based on a cost map, the global positioning data of the robot is obtained, wherein the cost map is used to control the robot's action decisions by quantifying the cost or difficulty of the robot's movement at different positions in the environment; based on the global positioning data and the cost map, the positioning deviation of the robot is determined; when the positioning deviation is greater than a target deviation threshold, the robot is calibrated to obtain a positioning calibration result; and the cost map is updated according to the positioning calibration result.
[0082] The above sequence of the embodiments of the present invention is for description only and does not represent the superiority or inferiority of the embodiments.
[0083] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0084] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the above modules can be a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, modules or indirect coupling or communication connection of modules, which can be electrical or other forms.
[0085] The modules described above as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed on multiple modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment.
[0086] In addition, each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of software functional modules.
[0087] If the above-mentioned integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable non-volatile storage medium. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art or the whole or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a non-volatile storage medium, including several instructions to enable a computer device (which can be a personal computer, server or network device, etc.) to perform all or part of the steps of the various embodiments of the present invention. The aforementioned non-volatile storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, disk or optical disk and other media that can store program codes.
[0088] The above are only preferred embodiments of the present invention. It should be pointed out that, for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A cost map updating method, characterized in that: include: In the process of controlling the operation of the robot based on the cost map, obtaining the global positioning data of the robot, wherein the cost map is used to control the action decision of the robot by quantifying the cost or difficulty of different positions in the environment for the robot to move; Determining a positioning deviation of the robot based on the global positioning data and the cost map; When the positioning deviation is greater than a target deviation threshold, performing positioning calibration on the robot to obtain a positioning calibration result; The cost map is updated according to the positioning calibration result.
2. The method according to claim 1, characterized in that The determining the positioning deviation of the robot based on the global positioning data and the cost map includes: Acquire reference positioning data of the robot planned based on the cost map; The global positioning data and the reference positioning data are compared to obtain the positioning deviation.
3. The method according to claim 1, characterized in that When the positioning deviation is greater than the target deviation threshold, performing positioning calibration on the robot to obtain a positioning calibration result includes: When the positioning deviation is greater than the target deviation threshold, collecting environmental data within a predetermined neighborhood of the robot; Performing feature matching based on the environment data and the cost map to obtain a feature matching result, wherein the feature matching is used to identify common feature points in the environment data and the cost map, and the feature points include at least landmarks and obstacles; Based on the feature matching result, the robot is positioned and calibrated to obtain the positioning calibration result.
4. The method according to claim 3, characterized in that The updating of the cost map according to the positioning calibration result includes: Based on the matching result, determine target obstacle information, wherein the target obstacle information is obstacle information that needs to be added or deleted in the costmap; Based on the positioning calibration result and the target obstacle information, the cost map is updated.
5. The method according to claim 4, characterized in that The updating of the cost map based on the positioning calibration result and the target obstacle information includes: Based on the positioning deviation, determining an area to be updated in the cost map; Based on the positioning calibration result and the target obstacle information, the to-be-updated area in the cost map is updated.
6. The method according to claim 1, characterized in that When the positioning deviation is greater than the target deviation threshold, positioning calibration is performed on the robot. Before obtaining the positioning calibration result, the method further includes: Based on the cost map, determining the environmental complexity of the working area of the robot; Acquire size information of the robot and the type of operation performed by the robot, wherein the type of operation is divided according to the accuracy requirements of the operation task; The target deviation threshold is determined based on the environmental complexity, the size information and the operation type.
7. The method according to claim 6, characterized in that The determining the target deviation threshold based on the environmental complexity, the size information and the operation type includes: Determine a first weight value corresponding to the environmental complexity, a second weight value corresponding to the size information, and a third weight value corresponding to the operation type; Perform weighted calculation based on the environmental complexity, the size information, the operation type, the first weight value, the second weight value, and the third weight value to obtain a target score value; Determine a target score range to which the target score value belongs; Based on the correspondence between the scoring range and the deviation threshold, the target deviation threshold corresponding to the target scoring range is determined.
8. The method according to claim 2, characterized in that: After updating the cost map according to the positioning calibration result, the method further includes: Re-collecting environmental data within a predetermined neighborhood of the robot to obtain new environmental data; Verify whether the new environment data matches the feature points in the updated cost map to obtain a verification result; If the verification result indicates that the new environment data matches the feature points in the updated cost map, controlling the robot to operate based on the cost map; or When the verification result indicates that the new environment data does not match the feature points in the updated cost map, the robot is re-positioned and calibrated, and the updated cost map is re-updated based on the feature matching result between the new environment data and the updated cost map.
9. A cost map updating device, characterized in that: include: A data acquisition module, used to acquire the global positioning data of the robot in the process of controlling the operation of the robot based on a cost map, wherein the cost map is used to control the action decision of the robot by quantifying the cost or difficulty of different positions in the environment for the robot to move; a deviation determination module, configured to determine a positioning deviation of the robot based on the global positioning data and the cost map; A positioning calibration module, used for performing positioning calibration on the robot to obtain a positioning calibration result when the positioning deviation is greater than a target deviation threshold; A map updating module is used to update the cost map according to the positioning calibration result.
10. An electronic device, characterized in that: It includes one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the cost map updating method described in any one of claims 1 to 8.
Citation Information
Patent Citations
Method and device for costmap updating, robot and storage medium
CN111469127A
Local cost map updating method and device
CN116380037A
Multi-layer dynamic cost map construction method and device, medium and robot
CN118429466A
Global cost map updating method and device in mobile robot navigation
CN118640911A
Robot path planning method and apparatus and robot using the same
US20210154835A1