Cost map updating method and apparatus, intelligent device, and storage medium
By classifying and processing obstacle data from different types of sensors and configuring a cost value update interface, the problem of low update efficiency in traditional cost maps is solved, achieving efficient synchronous update of obstacle information and supporting accurate path planning for mobile robots.
Patent Information
- Application Number
- CN202211500980.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-28
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2042-11-28
AI Technical Summary
Traditional cost maps are inefficient in updating obstacle information, leading to delays in path planning for mobile robots.
By acquiring obstacle data collected by different types of sensors, processing and classifying the data, and configuring corresponding cost update interfaces, the synchronous update of various obstacle information can be achieved.
It improves the efficiency of obstacle information updates, reduces latency, and helps mobile robots perform accurate path planning.
Smart Images

Figure CN118089717B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of environmental map, and in particular, to a cost map updating method and device, an intelligent device and a computer readable storage medium. BACKGROUND
[0002] At present, mobile robots have been widely applied in many fields, such as warehousing, distribution, cleaning, disinfection and the like. In the path planning of the mobile robot, an environmental map of the activity range of the mobile robot is usually established, and then the mobile robot is navigated according to its positioning in the map. In actual application scenarios, there are usually obstacles in the activity range of the mobile robot, such as walls, tables and chairs, shelves, and moving obstacles or virtual walls and forbidden areas set by humans, and therefore, the obstacle information needs to be identified in the environmental map to enable the mobile robot to make accurate path planning, for example, the mobile robot can be path planned through a cost map.
[0003] The cost map refers to a grid map containing surrounding obstacle information and feasible region information constructed by scanning the environment through a laser radar and the like. The map provides environmental information for path planning of the mobile robot. In the process of path planning of the mobile robot, since the mobile robot is constantly moving and the surrounding obstacles can also be constantly moving, the obstacle information in the cost map needs to be updated in a timely manner to facilitate accurate path planning of the mobile robot.
[0004] However, the traditional obstacle information updating method of the cost map is usually as follows: data information collected by a plurality of sensors is obtained, the data information is uniformly processed to obtain obstacle information, and then the obstacle information is updated to the cost map through the same updating interface, which can cause delay in updating of the obstacle information on the cost map, i.e., the updating efficiency of the cost map is low, thereby affecting the path planning of the mobile robot. SUMMARY
[0005] To overcome the problems in the related art, the present disclosure provides a cost map updating method, device, intelligent device and computer readable storage medium, which can reduce the delay in updating of the obstacle information caused by the obstacle information updating method, improve the updating efficiency of the obstacle information in the cost map, and facilitate more accurate path planning of the mobile robot.
[0006] According to a first aspect of an embodiment of the present disclosure, a cost map updating method is provided, comprising the following steps:
[0007] obstacle data collected by different types of sensors is obtained;
[0008] The obstacle data is processed to obtain various types of obstacle information corresponding to the sensor types, wherein the obstacle information includes grid coordinates of an obstacle grid where an obstacle is located, and a plurality of grid cost values corresponding to the grid coordinates of the obstacle grid;
[0009] The various types of obstacle information are configured with corresponding cost value update interfaces, and the plurality of grid cost values are synchronously updated to the cost map through the corresponding cost value update interfaces based on the grid coordinates of the obstacle grid.
[0010] According to a second aspect of the embodiments of the present disclosure, a cost map updating device is provided, comprising:
[0011] A data acquisition module is configured to acquire obstacle data collected by different types of sensors;
[0012] An obstacle information acquisition module is configured to process the obstacle data to obtain various types of obstacle information corresponding to the sensor types, wherein the obstacle information includes grid coordinates of an obstacle grid where an obstacle is located, and a plurality of grid cost values corresponding to the grid coordinates of the obstacle grid.
[0013] An updating module is configured to configure the various types of obstacle information with corresponding cost value update interfaces, and synchronously update the plurality of grid cost values to the cost map through the corresponding cost value update interfaces based on the grid coordinates of the obstacle grid.
[0014] According to a third aspect of the embodiments of the present disclosure, an intelligent device is provided, comprising at least one processor and at least one memory; the memory is electrically connected with the processor;
[0015] The memory stores a computer program, and the computer program is adapted to be loaded and executed by the processor to implement the cost map updating method disclosed in the above embodiments.
[0016] In the technical solutions in the above embodiments of the present disclosure, the obstacle data is processed to obtain various types of obstacle information corresponding to the sensor types, thereby reducing the obstacle information updating delay caused by unified processing of sensor data; the various types of obstacle information are synchronously updated to the cost map through a plurality of cost value update interfaces by configuring the various types of obstacle information with corresponding cost value update interfaces, thereby reducing the obstacle information updating delay caused by data updating through the same update interface, further improving the updating efficiency of the obstacle information in the cost map, and facilitating accurate path planning of a mobile robot.
[0017] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure.
[0018] For a better understanding and implementation, the present disclosure is described in detail below in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS
[0019] Figure 1 Flowchart of the cost map updating method shown for an embodiment of the present disclosure;
[0020] Figure 2 Data flow diagram of the cost map updating method shown for an embodiment of the present disclosure;
[0021] Figure 3 Flowchart of step S2 of the cost map updating method shown for an embodiment of the present disclosure;
[0022] Figure 4 Flowchart of step S3 of the cost map updating method shown for an embodiment of the present disclosure;
[0023] Figure 5 Diagram of the obstacle grid linked list shown for an embodiment of the present disclosure;
[0024] Figure 6 Identification diagram of the laser sensor scanning to obtain obstacle information shown for an embodiment of the present disclosure;
[0025] Figure 7 Structural diagram of the cost map updating device shown for an embodiment of the present disclosure;
[0026] Figure 8 Structural diagram of the intelligent device shown for an optional embodiment of the present disclosure. DETAILED DESCRIPTION
[0027] The exemplary embodiments are described herein with reference to the accompanying drawings, in which examples are shown. The description of the exemplary embodiments is not meant to represent all embodiments in accordance with the present disclosure. Rather, they are merely examples in accordance with some aspects of the present disclosure as detailed in the appended claims.
[0028] The terminology used in the present disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the present disclosure. As used in the present disclosure and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
[0029] It should be understood that, although the terms first, second, third, etc. can be employed in this disclosure to describe various information, the information should not be limited to these terms. These terms are only used to differentiate one piece of information from another piece of information. For example, without departing from the scope of the disclosure, the first information can also be referred to as the second information, and similarly, the second information can also be referred to as the first information. Depending on the context, the word "if" / "if" as used herein can be interpreted as "when" or "upon determining" or "in response to determining".
[0030] According to a first aspect of an embodiment of the present disclosure, a cost map updating method is disclosed, which can be executed by a processor of a smart device when running a corresponding computer program. By obtaining classified obstacle information, the obstacle information of each type of obstacle information is updated into the cost map through a corresponding cost value updating interface, which can reduce the obstacle information update delay caused by the obstacle information update method, improve the update efficiency of the obstacle information in the cost map, and facilitate the accurate path planning of the mobile robot.
[0031] In applications, the smart device can be a mobile robot, a (cloud) server, a smart phone, a tablet computer, a wearable device, an augmented reality (AR) / virtual reality (VR) device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc. The mobile robot can be any type of robot with work and movement functions, such as a sweeping robot, a disinfection robot, a plant protection unmanned aerial vehicle, an automatic guided vehicle, an article delivery vehicle, etc.
[0032] The cost map updating method is applied to the obstacle information update of each grid in the cost map, so that the path planning of the mobile robot can be performed through the cost map.
[0033] The cost map updating method of the present disclosure will be described in detail below in conjunction with the accompanying drawings.
[0034] Please refer to Figure 1 and Figure 2 , Figure 1 a flowchart of the cost map updating method shown in an embodiment of the present disclosure; Figure 2 a data flow diagram of the cost map updating method shown in an embodiment of the present disclosure.
[0035] The cost map updating method comprises the following steps:
[0036] S1: Acquire obstacle data collected by different types of sensors.
[0037] Sensors are used to collect environmental data within the mobile robot's operating range, including obstacle data. For example... Figure 2 As shown, several types of sensors can collect several types of sensor data.
[0038] To improve obstacle recognition accuracy, a single mobile robot can be equipped with multiple sensors to scan and collect environmental data within its operating range. These sensors can be mounted on the mobile robot and oriented in various directions around it, or they can be installed at various locations within the robot's operating range; in other words, the sensor installation locations are not limited.
[0039] Different types of sensors may include at least two of the following types: lidar sensors, ultrasonic sensors, depth cameras, and infrared sensors, but are not limited to these sensor types.
[0040] S2: Perform data processing on the obstacle data to obtain various obstacle information corresponding to the sensor type, wherein the obstacle information includes the grid coordinates of the obstacle grid where the obstacle is located, and several grid values corresponding to the grid coordinates of the obstacle grid.
[0041] Because obstacle data collected by different types of sensors comes from different sources, has different data formats, and different sensor characteristics, while obstacle data collected by sensors of the same type comes from the same source, has the same data format, and has the same sensor characteristics, obstacle data can be classified according to sensor type. Then, the classified obstacle data can be processed, and the corresponding data processing model can be used to process the classified obstacle data, which can improve the efficiency and accuracy of obstacle information acquisition.
[0042] Grid cost value is used to characterize the distance between the location of a mobile robot and the location of an obstacle. A larger grid cost value indicates that the mobile robot is closer to the obstacle, and a smaller grid cost value indicates that the mobile robot is farther away from the obstacle. A grid in the cost map occupies one byte in computer memory and can represent any number from 0 to 255; this value is called the grid cost value. The grid cost value can be calculated from sensor data.
[0043] like Figure 2 As shown, the number of obstacle information categories is consistent with the number of sensor categories, including obstacle type 1, obstacle type 2, and obstacle type N.
[0044] Therefore, in an alternative embodiment, such as Figure 3 As shown, step S2 may include:
[0045] S21: classifying the obstacle data according to sensor types.
[0046] The obstacle data collected by different types of sensors have different source identifications, and / or different data formats, and / or different data characteristics, so the obstacle data can be classified according to sensor types, that is, the number of sensor categories installed on the mobile robot is consistent with the number of obstacle data classifications, and the same type of sensor can include a unique sensor or several sensors.
[0047] The obstacle information obtained after processing the obstacle data collected by each type of sensor can be updated to the same grid in the cost map for obstacle marking.
[0048] Classifying the obstacle data facilitates targeted classification and post-processing of sensor data of each type by corresponding data processing models, which helps to improve data processing efficiency and reduce obstacle information update delay.
[0049] S22: creating multiple data processing threads for each type of obstacle data, and performing parallel processing of corresponding obstacle data through the multiple data processing threads to obtain obstacle information of each type corresponding to the sensor types.
[0050] As shown in Figure 2 Parallel processing of corresponding obstacle data by multiple data processing threads can improve data processing efficiency and reduce delay. The number of data processing threads is consistent with the number of sensor types and corresponds one by one.
[0051] In an optional embodiment, a corresponding data processing model is also determined for each type of obstacle data based on the sensor types, and a corresponding data processing model is run in each data processing thread. In each data processing thread, the obstacle data is processed in parallel by the corresponding data processing model to obtain obstacle information of each type corresponding to the sensor types.
[0052] Among them, the data processing model can be created or pre-trained according to the data format, data characteristics, and corresponding probability algorithm collected by the sensor, and the obstacle data is processed by a dedicated data processing model, which helps to improve the efficiency and accuracy of obtaining obstacle information.
[0053] S23: storing each type of obstacle information in the database of the cost map according to the sensor types, wherein the database includes a plurality of data tables corresponding to the sensor types, and each data table is used to store the grid cost value derived from the same type of sensor.
[0054] The obstacle information includes grid coordinates of an obstacle grid where the obstacle is located and a plurality of grid values corresponding to the grid coordinates of the obstacle grid, and when the obstacle information is stored, only the grid values greater than or equal to a preset threshold are stored in a data table, and the grid values less than the preset threshold are discarded to reduce the memory usage.
[0055] Each of the data tables is used to store the grid values from the same type of sensor. For example, the sensor types include a first type of sensor, a second type of sensor and a third type of sensor, and therefore, the database includes a plurality of data tables, a data table 1, a data table 2 and a data table 3. The data table 1 can be used to store the first type of obstacle information from the first type of sensor, the data table 2 can be used to store the second type of obstacle information from the second type of sensor, and the data table 3 can be used to store the third type of obstacle information from the third type of sensor.
[0056] Step S3: configuring a corresponding grid value update interface for each type of the obstacle information, and synchronously updating a plurality of the grid values to the cost map based on the grid coordinates of the obstacle grid.
[0057] After obtaining each type of the obstacle information, a corresponding grid value update interface is configured for each type of the obstacle information, which is used to update the corresponding grid values to the cost map. Each type of the obstacle information can be synchronously updated to improve the obstacle marking efficiency.
[0058] In an optional embodiment, the cost map includes a grid value table used to store the maximum grid values of each of the obstacle grids to realize the obstacle marking.
[0059] As shown in FIG. 3, step S3 can include: Figure 4
[0060] S31: configuring a corresponding grid value update interface for each type of the obstacle information.
[0061] In the prior art cost map updating method, there is only one grid value update interface between the data processing model and the cost map, and the obstacle information is updated at a fixed time, and therefore, the traditional cost map updating method has the problems of low updating efficiency and serious delay. The technical solution of the embodiment can well solve the above problems by creating and configuring a corresponding grid value update interface for each type of the obstacle information.
[0062] The grid value update interface can be a data update channel for the same type of obstacle grid value on the cost map, and needs to be connected with the output end of the data processing model, and therefore, the grid value update interface can also correspond to the sensor type.
[0063] The generation cost updating interface can be created in real time or in advance.
[0064] Optionally, if the generation cost updating interface is created in real time, after the various types of obstacle information are obtained, the corresponding generation cost updating interface is created in real time according to the sensor types of the obstacle information, and then the various types of obstacle information are configured one by one with the various generation cost updating interfaces.
[0065] Optionally, if the generation cost updating interface is created in advance, the method for creating the generation cost updating interface in advance includes: obtaining initial obstacle data collected by different types of sensors, the initial obstacle data being used to analyze and obtain the corresponding sensor types; classifying the initial obstacle data to obtain various types of initial obstacle data corresponding to the sensor types; and creating the corresponding generation cost updating interface according to the sensor types of the various types of initial obstacle data. After the various types of obstacle information are obtained, the corresponding generation cost updating interface can be found and assigned to the various types of obstacle information according to the sensor types of the various types of obstacle information, so that the generation cost updating interface does not need to be created in real time, which helps to improve the updating efficiency of the obstacle information.
[0066] S32: In the various types of obstacle information, the grid generation cost greater than or equal to the corresponding preset cost threshold is determined as an obstacle grid generation cost.
[0067] The obstacle grid generation cost is stored in a database, and if obstacle information updating is needed, the corresponding obstacle grid generation cost can be obtained from the data table of the database.
[0068] S33: Based on the grid coordinates corresponding to the obstacle grid generation cost, the obstacle grid generation cost is written into the corresponding obstacle grid in the generation cost table through the corresponding generation cost updating interface to mark the obstacle.
[0069] Each obstacle grid generation cost to be updated corresponds to a unique grid, so the corresponding obstacle grid can be found in the cost table based on the grid coordinates corresponding to the obstacle grid generation cost, and then the obstacle grid generation cost is written into the corresponding obstacle grid to mark the obstacle.
[0070] Optionally, based on the grid coordinates of the same obstacle grid, if there are multiple obstacle grid generation costs to be updated, the obstacle grid generation cost with the largest value is updated into the corresponding obstacle grid. If the obstacle grid has been marked at the previous moment, the multiple obstacle grid generation costs to be updated and the obstacle grid generation cost previously written in the corresponding obstacle grid need to be compared, and the largest value of the multiple obstacle grid generation costs to be updated and the obstacle grid generation cost previously written in the corresponding obstacle grid is updated into the corresponding obstacle grid.
[0071] S34: For the obstacle grid which has been marked with an obstacle, if the current grid cost value is greater than the obstacle grid cost value of the corresponding obstacle grid in the cost value table, the current grid cost value is written as the new obstacle grid cost value in the corresponding obstacle grid in the cost value table.
[0072] During the movement of the mobile robot, the position of the mobile robot changes in real time, and the position of the obstacle may also change in real time. Therefore, the obstacle data collected by the sensor also changes in real time, and the cost value of each grid also changes in real time. Therefore, the obstacle information needs to be updated in time, which is beneficial to the effective and accurate path planning of the mobile robot.
[0073] In the cost map, the greater the cost value written on the grid, the closer the grid is to the position of the obstacle. When the mobile robot plans a path, it needs to avoid obstacles in time.
[0074] If the current grid cost value obtained by calculation is greater than the obstacle grid cost value of the corresponding obstacle grid in the cost value table, it indicates that the mobile robot is getting closer to the obstacle. Therefore, the current grid cost value is written as the new obstacle grid cost value in the corresponding obstacle grid in the cost value table to update the cost value table in time, which helps the mobile robot to avoid obstacle grids when planning a path.
[0075] S35: If all the current grid cost values are less than the corresponding preset cost threshold, the obstacle grid cost value of the corresponding obstacle grid in the cost value table is cleared.
[0076] If all the current grid cost values are less than the corresponding preset cost threshold, it indicates that the distance between the mobile robot and the obstacle is getting farther and farther, and the original part of the obstacle grid will no longer be an obstacle grid. Therefore, the obstacle grid cost value of the corresponding obstacle grid in the cost value table is cleared.
[0077] On the basis of the above embodiments, in an optional embodiment, the cost map further includes a grid cost value source table. In the grid cost value source table, for each obstacle grid, a plurality of grid cost value source flag bits are set based on a plurality of sensor types corresponding to the obstacle grid, and each grid cost value source flag bit corresponds to a unique sensor type.
[0078] When the obstacle grid cost value is written into the corresponding obstacle grid of the cost value table through the corresponding cost value updating interface to mark the obstacle, or the current grid cost value is written into the corresponding obstacle grid of the cost value table as a new obstacle grid cost value, the obstacle grid cost value source is also written into the corresponding grid cost value source mark bit of the corresponding grid coordinate in the grid cost value source table, and the obstacle grid cost value source is a sensor type identifier.
[0079] If all the current grid cost values are smaller than the corresponding preset cost threshold, the obstacle grid cost value of the corresponding obstacle grid in the cost value table is cleared, and if the source of the current grid cost value is different from the source of the obstacle grid cost value written in the cost value table at the last time, the obstacle grid cost value written in the cost value table at the last time is not cleared, and only the grid cost value source in the grid cost value source mark bit corresponding to the current grid cost value in the grid cost value source table is cleared.
[0080] If the source of the current grid cost value is the same as the source of the obstacle grid cost value written in the cost value table at the last time, and the grid cost value source in all the grid cost value source mark bits in the grid cost value source table is cleared, the obstacle grid cost value in the cost value table is cleared to clear the obstacle mark, thereby avoiding the conflict when different obstacle information clears the obstacle grid cost value in the cost value table.
[0081] The same grid corresponds to several types of sensors, and several grid cost values can be obtained. At this time, if one of the grid cost values is smaller than the preset cost threshold, the obstacle grid cost value in the cost value table will be cleared, and the other grid cost values are still greater than the preset cost threshold, and the obstacle grid cost value is not allowed to be cleared. At this time, a conflict occurs, and the above source mark method can well avoid the conflict when the obstacle mark is cleared.
[0082] On the basis of the above embodiment, in an optional embodiment, when the obstacle grid cost value is written into the corresponding obstacle grid of the cost value table through the corresponding cost value updating interface based on the grid coordinate corresponding to the obstacle grid cost value to mark the obstacle, a plurality of obstacle grids which have been marked are determined based on the grid coordinates of the obstacle grids, and an obstacle grid linked list is formed.
[0083] As shown in Figure 5 The corresponding obstacle grid cost value is stored in the obstacle grid linked list based on each grid coordinate.
[0084] If all the current grid costs are less than the corresponding preset cost threshold, the obstacle grid cost of the corresponding obstacle grid in the cost table is cleared,
[0085] The obstacle grid to be cleared is searched from the obstacle grid linked list according to the grid coordinates corresponding to the current grid cost, and then the obstacle grid cost in the obstacle grid to be cleared is cleared, so that when the obstacle marker is cleared, the grid to be cleared can be determined without traversing all the grids, and only the corresponding obstacle grid to be cleared needs to be searched in a limited number of obstacle grids, thereby further improving the updating efficiency of the cost map and reducing the delay.
[0086] The obstacle grid cost clearing is described by taking a laser sensor as an example.
[0087] As Figure 6 In the figure, there are several grids, and the laser sensor is located at the (0, 0) grid in the figure. The laser sensor emits laser rays around to scan obstacles. At the current time, the gray points in the figure are the positions of obstacles in the moving robot range. At this time, the grids occupied by the gray points are screened out, and the obstacle grid linked list is formed based on the grid coordinates. When the sensor data of the next time arrives, if part of the gray points disappear, it means that the obstacles corresponding to the grids have been removed. At this time, the obstacle markers of the previous obstacle grids need to be cleared, and only the grids of the obstacle markers to be cleared need to be determined in the obstacle grid linked list on the grids occupied by the gray points, without traversing all the grids in the figure to find the grids of the obstacle markers to be cleared, thereby improving the obstacle marker clearing efficiency and reducing the updating delay of the cost map.
[0088] The technical solutions in the above embodiments of the disclosure obtain various types of obstacle information corresponding to the sensor types by data processing on the obstacle data, thereby reducing the obstacle information updating delay caused by unified processing of the sensor data; by creating multiple cost value updating interfaces for various types of obstacle information, and synchronously updating various types of obstacle information to the cost map through the multiple cost value updating interfaces, the obstacle information updating delay caused by data updating through the same updating interface can be reduced, the updating efficiency of the obstacle information in the cost map is further improved, and the precise path planning of the mobile robot is facilitated.
[0089] According to a second aspect of the embodiments of the disclosure, a cost map updating device is disclosed, which can be used to execute the cost map updating method of the corresponding embodiments of the disclosure and has the corresponding functions and advantages. For details not disclosed in the embodiments of the cost map updating device of the disclosure, please refer to the content of the cost map updating method in the above embodiments of the disclosure.
[0090] AsFigure 7 As shown in the figure, the cost map updating apparatus 700 comprises:
[0091] A data acquisition module 701 is configured to acquire obstacle data collected by different types of sensors.
[0092] An obstacle information acquisition module 702 is configured to perform data processing on the obstacle data to obtain various types of obstacle information corresponding to the sensor types, wherein the obstacle information comprises grid coordinates of an obstacle grid where an obstacle is located and a plurality of grid cost values corresponding to the grid coordinates of the obstacle grid.
[0093] An updating module 703 is configured to configure a corresponding cost value updating interface for each type of obstacle information, and to synchronously update the plurality of grid cost values to the cost map through the corresponding cost value updating interface based on the grid coordinates of the obstacle grid.
[0094] The cost map updating apparatus of the embodiment reduces the obstacle information updating delay caused by unified processing of sensor data by performing data processing on the obstacle data to obtain various types of obstacle information corresponding to the sensor types, and reduces the obstacle information updating delay caused by data updating through the same updating interface by creating a plurality of cost value updating interfaces for each type of obstacle information and synchronously updating each type of obstacle information to the cost map through the plurality of cost value updating interfaces, thereby further improving the updating efficiency of the obstacle information in the cost map and facilitating accurate path planning of the mobile robot.
[0095] It is worth noting that the cost map updating apparatus provided by the above embodiments is only exemplified by the division of the above functional modules or functional units when performing the above cost map updating method, and in actual application, the above functions can be completed by different functional modules according to needs, i.e., the internal structure of the device is divided into different functional modules to complete all or part of the above described functions. In addition, the cost map updating apparatus and the cost map updating method embodiments provided by the above embodiments belong to the same concept, and the implementation process is detailed in the embodiments, which will not be repeated here.
[0096] According to a third aspect of the embodiments of the present disclosure, an intelligent device is provided, comprising at least one processor and at least one memory; the memory is electrically connected with the processor;
[0097] The memory stores a computer program, and the computer program is adapted to be loaded and executed by the processor to implement the cost map updating method disclosed in the above embodiments.
[0098] The intelligent device can be a mobile robot, or a (cloud) server, a smart phone, a tablet computer, a wearable device, an augmented reality (AR) / virtual reality (VR) device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), and the like, which can communicate with the mobile robot to control the mobile robot. The mobile robot can be any type of robot having a working and moving function, such as a sweeping robot, a disinfection robot, a plant protection unmanned aerial vehicle, an automatic guided vehicle, an article delivery vehicle, and the like.
[0099] Please refer to Figure 8 , Figure 8 A structural schematic diagram of an intelligent device according to an optional embodiment of the present disclosure is shown.
[0100] The intelligent device includes at least one processor 110, at least one memory 120, and at least one communication bus 130. The communication bus 130 is used to realize the connection and communication between the components, the memory 120 stores a computer program, and the computer program is adapted to be loaded and executed by the processor 110 to perform the cost map updating method according to any one of the above embodiments.
[0101] The processor 110 can include one or more processing cores. The processor 110 connects various parts in the entire intelligent device through various interfaces and lines, and performs various functions of the intelligent device and processes data by running or executing instructions, programs, code sets or instruction sets stored in the processor 110, and calling data stored in the memory 120.
[0102] The memory 120 can include a random access memory (RAM) and a read-only memory (ROM). Optionally, the memory 120 includes a non-transitory computer-readable storage medium. The memory 120 can be used to store instructions, programs, codes, code sets or instruction sets. The memory 120 can include a program storage area and a data storage area, wherein the program storage area can store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playing function, an image playing function, etc.), instructions for implementing the above various method embodiments, and the like; the data storage area can store data involved in the above various method embodiments, and the like. For example, Figure 8As shown, the memory 340 as a computer storage medium can include an operating system, a network communication module, a user interface module, and an operating application program of the intelligent device.
[0103] The processor 110 can be configured to invoke the operating application program of the intelligent device stored in the memory 120, and perform the related operations in the cost map updating method in the above embodiments.
[0104] The above intelligent device can be configured to perform the content of the cost map updating method of the corresponding embodiments of the present disclosure, and has the corresponding functions and advantages.
[0105] According to a fourth aspect of the embodiments of the present disclosure, a computer readable storage medium is provided, which stores a computer program adapted to be loaded and executed by a processor to perform the related operations of the cost map updating method as described in the above embodiments, and has the corresponding functions and advantages.
[0106] The computer readable storage medium includes permanent and non-permanent, removable and non-removable media, which can be implemented by any method or technology to store information. The information can be computer readable instructions, data structures, program modules or other data. Examples of computer readable storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device, or any other non-transmission medium that can be used to store information accessible by a computing device. According to the definition herein, computer readable storage media does not include transitory computer readable media, such as modulated data signals and carriers.
[0107] It should also be noted that the term "comprising" or "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitations, the element defined by the statement "including a" does not exclude the presence of another identical element in the process, method, article or device including the element.
[0108] Note that the above merely describes preferred embodiments of the present disclosure and the principles of the technology applied. Those skilled in the art will understand that the present disclosure is not limited to the specific embodiments described herein, and that various obvious changes, modifications and substitutions can be made thereto without departing from the scope of the present disclosure. Therefore, although the present disclosure has been described in detail through the above embodiments, the present disclosure is not limited to the above embodiments only, but can include more other equivalent embodiments without departing from the concept of the present disclosure, and the scope of the present disclosure is determined by the scope of the claims.
Claims
1. A cost map updating method characterized by comprising: The method comprises the following steps: Obtaining obstacle data collected by different types of sensors; Processing the obstacle data to obtain various types of obstacle information corresponding to the types of sensors, wherein the obstacle information comprises grid coordinates of an obstacle grid where an obstacle is located, and a plurality of grid cost values corresponding to the grid coordinates of the obstacle grid; Configuring a corresponding cost value updating interface for each type of obstacle information, and synchronously updating a plurality of grid cost values to a cost map through the corresponding cost value updating interface based on the grid coordinates of the obstacle grid, wherein the cost map comprises a cost value table used to store the maximum grid cost value of each obstacle grid to realize obstacle marking; The cost map further comprises a grid cost value source table, wherein, based on a plurality of types of sensors corresponding to the obstacle grid, each obstacle grid is provided with a plurality of grid cost value source marking bits in the grid cost value source table, and each grid cost value source marking bit corresponds to a unique type of sensor; When writing an obstacle grid cost value into a corresponding obstacle grid in the cost value table through the corresponding cost value updating interface to perform obstacle marking, or writing a current grid cost value as a new obstacle grid cost value into a corresponding obstacle grid in the cost value table, the obstacle grid cost value source is also written into the corresponding grid cost value source marking bit of the corresponding grid coordinates in the grid cost value source table, and the obstacle grid cost value source is a sensor type identifier; If all the current grid cost values are less than a corresponding preset cost threshold, the obstacle grid cost value of the corresponding obstacle grid in the cost value table is cleared, if the source of the current grid cost value is different from the source of the obstacle grid cost value written in the cost value table at the last moment, the obstacle grid cost value written in the cost value table at the last moment is not cleared, and only the grid cost value source in the grid cost value source marking bit corresponding to the current grid cost value in the grid cost value source table is cleared; If the source of the current grid cost value is the same as the source of the obstacle grid cost value written in the cost value table at the last moment, and the grid cost value sources in all grid cost value source marking bits in the grid cost value source table are cleared, the obstacle grid cost value in the cost value table is cleared to clear the obstacle marking.
2. The cost map updating method according to claim 1, wherein configuring a corresponding cost value updating interface for each type of obstacle information, and synchronously updating a plurality of grid cost values to a cost map through the corresponding cost value updating interface based on the grid coordinates of the obstacle grid comprises: Configuring a corresponding cost value updating interface for each type of obstacle information; In each type of obstacle information, a grid cost value greater than or equal to a corresponding preset cost threshold is determined as an obstacle grid cost value; Based on the grid coordinates corresponding to the obstacle grid cost value, the obstacle grid cost value is written into a corresponding obstacle grid in the cost value table through the corresponding cost value updating interface to perform obstacle marking; If the current grid cost value is greater than the obstacle grid cost value of the corresponding obstacle grid in the cost value table, the current grid cost value is written as a new obstacle grid cost value in the corresponding obstacle grid in the cost value table; If all the current grid cost values are less than the corresponding preset cost threshold, the obstacle grid cost values of the corresponding obstacle grids in the cost value table are cleared.
3. The cost map updating method according to claim 2, wherein, when the obstacle grid cost value is written in the corresponding obstacle grid in the cost value table based on the grid coordinates corresponding to the obstacle grid cost value through the corresponding cost value updating interface for obstacle marking, if there are multiple obstacle grid cost values to be updated based on the grid coordinates of the same obstacle grid, the obstacle grid cost value with the maximum value is updated to the corresponding obstacle grid.
4. The cost map updating method according to claim 1, wherein, when the obstacle grid cost value is written in the corresponding obstacle grid in the cost value table based on the grid coordinates corresponding to the obstacle grid cost value through the corresponding cost value updating interface for obstacle marking, a plurality of obstacle grids that have been marked with obstacles are determined based on the grid coordinates of the obstacle grid, and an obstacle grid linked list is formed, if all the current grid cost values are less than the corresponding preset cost threshold, the obstacle grid cost values of the corresponding obstacle grids in the cost value table are cleared, according to the grid coordinates corresponding to the current grid cost value, the obstacle grid to be cleared is searched from the obstacle grid linked list, and the obstacle grid cost value in the obstacle grid to be cleared is cleared.
5. The cost map updating method according to claim 1, characterized by, The data processing on the obstacle data obtains various types of obstacle information corresponding to sensor types, including: classifying the obstacle data according to sensor types; creating multiple data processing threads for various types of obstacle data, and performing parallel processing on the corresponding obstacle data through the multiple data processing threads to obtain various types of obstacle information corresponding to sensor types; storing various types of obstacle information in a database of a cost map according to the sensor types, wherein the database includes a plurality of data tables corresponding to sensor types, and each data table is used to store grid cost values from the same type of sensor.
6. The cost map updating method according to claim 5, characterized by, When creating multiple data processing threads for various types of obstacle data, and performing parallel processing on the corresponding obstacle data through the multiple data processing threads to obtain various types of obstacle information corresponding to sensor types, determining corresponding data processing models for various types of obstacle data based on sensor types, and each data processing thread runs a corresponding data processing model, and parallel processing of obstacle data is performed in each data processing thread through the corresponding data processing model to obtain various types of obstacle information corresponding to the sensor types.
7. The cost map updating method according to any one of claims 1 to 6, characterized by, The sensor types include at least two of the following types: laser radar sensor, ultrasonic sensor, depth camera, and infrared sensor.
8. A cost map updating apparatus characterized by comprising: The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device.
9. An intelligent device comprising at least one processor and at least one memory; the memory being electrically connected with the processor; wherein, The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating method and device. The application relates to a cost map updating
Citation Information
Patent Citations
Improved A* algorithm combining environmental information
CN112033413A