Map optimization method and device, equipment and storage medium

CN116774688BActive Publication Date: 2026-09-25SUZHOU CLEVA PRECISION MACHINERY & TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210237886.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-10
Publication Date
2026-09-25
Estimated Expiration
2042-03-10

AI Technical Summary

Technical Problem

[0002]现有技术中,智能割草机器人通常采用对工作草坪创建栅格地图指导机器人行走,在栅格地图中,由于定位系统的精度影响,割草机器人获取到的定位数据有时会产生漂移,造成部分位置会出现离散的栅格区域,但正常情况下,机器人行走的路径是连续的,而离散的栅格区域会影响后续的算法逻辑,变成干扰信息

Benefits of technology

[0039]本申请提供了一种地图优化方法、装置、设备及存储介质,包括根据机器人的实时位置在栅格地图中生成采样栅格;遍历栅格地图中的采样栅格,直至满足预设条件时,确定与已遍历的各采样栅格对应的邻近栅格的总量;将邻近栅格的总量与第一阈值进行比较;在邻近栅格的总量小于第一阈值的情况下,确定已遍历的各采样栅格及其对应的邻近栅格为离散栅格;清除离散栅格。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116774688B_ABST
    Figure CN116774688B_ABST
Patent Text Reader

Abstract

The application discloses a map optimization method and device, equipment and storage medium, including generating a sampling grid in a grid map according to the real-time position of a robot; traversing the sampling grid in the grid map until a preset condition is met, determining the total quantity of adjacent grids corresponding to each traversed sampling grid; comparing the total quantity of adjacent grids with a first threshold; in the case that the total quantity of adjacent grids is less than the first threshold, determining that each traversed sampling grid and the corresponding adjacent grid are discrete grids; and removing the discrete grids. Through filtering processing on the sampling grid in the grid map, the grid data of the discrete area in the sampling grid is removed, and the accuracy of subsequent analysis of the grid map can be improved without improving the accuracy of the positioning system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robot path planning technology, and in particular to map optimization methods, apparatus, devices, and storage media. Background Technology

[0002] In existing technologies, intelligent lawnmower robots typically use a grid map created on the lawn to guide their movement. However, due to the accuracy of the positioning system, the positioning data acquired by the lawnmower robot can sometimes drift within this grid map, resulting in discrete grid areas in some locations. Normally, the robot's path is continuous, and these discrete grid areas can interfere with subsequent algorithmic logic, becoming noise. Previous approaches either involved the robot carrying its own high-precision positioning system, which was costly, or performing weight calculations on the grid, which involved significant computational load and complex logical operations. Summary of the Invention

[0003] The technical problem to be solved by the embodiments of the present invention is to provide a map optimization method, apparatus, device and storage medium that can filter discrete regions of sampled grids in a grid map to improve the accuracy of subsequent analysis of the grid map.

[0004] To address the aforementioned technical problems, this invention provides a map optimization method, comprising:

[0005] Generate sampling grids in the grid map based on the robot's real-time position;

[0006] Traverse the sampling grids in the grid map until a preset condition is met, and then determine the total number of neighboring grids corresponding to each traversed sampling grid.

[0007] The total number of neighboring grid cells is compared with a first threshold.

[0008] If the total number of neighboring grids is less than the first threshold, each sampled grid that has been traversed and its corresponding neighboring grids are determined to be a discrete grid.

[0009] Clear the discrete grid.

[0010] In one feasible implementation, the step of traversing the sampling graticles in the raster map until a preset condition is met, and then determining the total number of neighboring graticles corresponding to each traversed sampling graticle, includes:

[0011] The sampling grids in the grid map are traversed one by one, and the number of neighboring grids of each traversed sampling grid within a preset range is determined until the number of neighboring grids of the traversed sampling grid reaches the second threshold. Then, the total number of neighboring grids corresponding to each traversed sampling grid is determined.

[0012] In one feasible implementation, the step of traversing the sampling graticles in the raster map one by one, determining the number of neighboring graticles of each traversed sampling graticle within a preset range, until the number of neighboring graticles of the traversed sampling graticle reaches a second threshold includes:

[0013] Select any sampling grid as the traversal target;

[0014] The inspection range is defined with the traversed target as the center;

[0015] The sampling grids that have not been traversed within the inspection range and do not belong to other traversed sampling grids are taken as the neighboring grids of the traversal target.

[0016] Count the number of neighboring grid cells of the traversed target;

[0017] Select any one of the neighboring grids of the traversed target as the next traversed target, and return to perform the step of defining the inspection range centered on the traversed target until the number of neighboring grids of the current traversed target reaches the second threshold.

[0018] In one feasible implementation, the step of defining the inspection range centered on the traversal target includes:

[0019] The inspection range is defined as the adjacent grid cells around the traversed target.

[0020] In one feasible implementation, the step of determining the total number of neighboring grids corresponding to each of the traversed sampling grids includes:

[0021] The total number of neighboring grids is obtained by summing the number of neighboring grids corresponding to each sampled grid that has been traversed.

[0022] In one feasible implementation, the grid map includes target grids indicating the location of the target;

[0023] Before the step of comparing the total number of neighboring grid cells with a first threshold, the method further includes:

[0024] Obtain the number of times the sampling grid overlaps with the target grid;

[0025] The first threshold is determined based on the number of overlaps.

[0026] In one feasible implementation, the step of determining the first threshold based on the number of overlaps includes:

[0027] When the number of overlaps exceeds a preset number, the first threshold is increased;

[0028] When the number of overlaps is not greater than a preset number, the first threshold is lowered;

[0029] The preset number of times is determined based on the size of the raster map.

[0030] A second aspect of this application provides a map optimization apparatus, comprising:

[0031] The generation module is used to generate sampling grids in the grid map based on the robot's real-time position;

[0032] The statistics module is used to traverse the sampled grids in the grid map until a preset condition is met, and then determine the total number of neighboring grids corresponding to each traversed sampled grid.

[0033] A comparison module is used to compare the total number of neighboring grid cells with a first threshold.

[0034] The determination module is used to determine each traversed sampling grid and its corresponding neighboring grid as discrete grids when the total number of neighboring grids is less than the first threshold.

[0035] A processing module for clearing the discrete grid.

[0036] A third aspect of this application provides an apparatus including a memory and a processor, the memory storing a computer program, characterized in that the processor executes the computer program to implement the steps of the map optimization method described above.

[0037] A fourth aspect of this application provides a readable storage medium having a computer program stored thereon, characterized in that the computer program, when executed by a processor, implements the steps of the map optimization method described above.

[0038] Implementing this invention has the following beneficial effects:

[0039] This application provides a map optimization method, apparatus, device, and storage medium, including generating sampling grids in a grid map based on the robot's real-time position; traversing the sampling grids in the grid map until a preset condition is met, determining the total number of neighboring grids corresponding to each traversed sampling grid; comparing the total number of neighboring grids with a first threshold; if the total number of neighboring grids is less than the first threshold, determining each traversed sampling grid and its corresponding neighboring grids as discrete grids; and clearing the discrete grids.

[0040] By filtering the sampled graticules in the raster map and removing the raster data from discrete areas, the accuracy of subsequent raster map analysis can be improved without increasing the precision of the positioning system.

[0041] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0042] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application, and do not constitute an undue limitation of this application.

[0043] Figure 1 This is a flowchart illustrating a map optimization method provided in one embodiment of the present invention;

[0044] Figure 2 This is a schematic diagram of an unfiltered raster map, a specific example of the present invention;

[0045] Figure 3 yes Figure 2 The diagram shows a raster map obtained after filtering.

[0046] Figure 4 yes Figure 1 A flowchart illustrating the specific implementation process of one of the steps;

[0047] Figure 5 This is a schematic diagram of the module of the map optimization device provided by the present invention.

[0048] Figure 6 This is a schematic diagram of the structure of the terminal device provided by the present invention;

[0049] Figure 7 This is a schematic diagram of the server structure provided by the present invention. Detailed Implementation

[0050] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Many specific details are set forth in the following description to provide a thorough understanding of the present invention. However, the present invention can be practiced in many other ways different from those described herein, and those skilled in the art can make similar modifications without departing from the spirit of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below.

[0051] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0052] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.

[0053] Example 1

[0054] The method provided by this invention can be implemented within a map optimization system, which includes a mobile service robot, a computing device, and a charging dock. The computing device is wirelessly connected to the mobile service robot and sends control information to the mobile service robot to move it towards the charging dock.

[0055] The computing device can be a single server, a server cluster consisting of multiple servers, or any of the following: a cloud computing platform or a virtualization center. This application embodiment does not limit this. The server can communicate with the terminal device via a wired or wireless network. The server can have functions such as data processing, data storage, and data transmission and reception, which are not limited in this application embodiment.

[0056] Mobile service robots can be equipped with terminal devices, which can be at least one of smartphones, game consoles, desktop computers, tablets, e-book readers, MP3 (Moving Picture Experts Group Audio Layer III) players, MP4 (Moving Picture Experts Group Audio Layer IV) players, and laptop computers.

[0057] Mobile service robots can be lawn mowing robots, sweeping robots, snow sweepers, leaf vacuumers, golf ball retrievers, etc. Each robot can automatically move in the work area and perform corresponding tasks. In a specific example of this invention, a lawn mowing robot is used as an example for detailed explanation. Accordingly, the work area can be a lawn.

[0058] The lawnmower robot includes: a main body, a walking unit and a control unit mounted on the main body. The walking unit is used to control the robot's walking and turning; the control unit is used to plan the robot's walking direction and route, store the external parameters obtained by the robot, process and analyze the obtained parameters, and specifically control the robot based on the processing and analysis results; the control unit is, for example, an MCU or a DSP.

[0059] In addition, the robot also includes various sensors, storage modules such as EPROM, Flash or SD card, working mechanism for operation, and power supply; in this embodiment, the working mechanism is a lawnmower blade, and various sensors for sensing the walking status of the robot, such as tilting, lifting off the ground, collision sensors, geomagnetic sensors, gyroscopes, etc., are not described in detail here.

[0060] The map optimization method in this application embodiment can be executed by a terminal device or a server.

[0061] Example 2

[0062] Reference Figure 1 , Figure 1 This is a schematic flowchart of an embodiment of the map optimization method of the present invention. It should be noted that although a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than that shown here. In this embodiment, the map optimization method includes steps S101 to S109, wherein:

[0063] S101. Generate sampling grids in the grid map based on the robot's real-time position.

[0064] The machine uses real-time acquired GPS data to create a grid map based on the charging dock. The grid map includes sampled grids of the traversed path and blank grids of the untraversed path.

[0065] In a specific embodiment of the present invention, the working area of ​​the lawnmower robot, i.e., the lawn, is divided into grids to obtain real-time GPS data. This data is then converted and used to create a grid map based on the charging dock. Due to the influence of the positioning system's accuracy, the obtained positioning coordinates in the grid map may sometimes be offset, resulting in the appearance of some discrete areas. However, under normal circumstances, the robot's walking path should be continuous. The appearance of discrete areas will affect the logic of subsequent algorithms. Therefore, the present invention performs filtering processing on the grid map, treating the grid map as an image, with each grid cell equivalent to a pixel, and removing some small connected regions in the grid map.

[0066] S103. Traverse the sampling grids in the grid map until the preset conditions are met, and determine the total number of neighboring grids corresponding to each traversed sampling grid.

[0067] In one feasible implementation, the total number of neighboring rasters corresponding to each traversed sampled raster can be determined by summing the number of neighboring rasters corresponding to each traversed sampled raster. A neighboring raster is a sampled raster that is adjacent to an traversed raster but is not counted as a neighboring raster of other traversed rasters. Untraversed sampled rasters in the raster map can only be counted as neighboring rasters once.

[0068] In one feasible implementation, the sampling graticles in the raster map are traversed until a preset condition is met. The total number of neighboring graticles corresponding to each traversed sampling graticle can be determined in the following way:

[0069] The sampling grids in the grid map are traversed one by one, and the number of neighboring grids of each traversed sampling grid within a preset range is determined until the number of neighboring grids of the traversed sampling grid reaches the second threshold. Then, the total number of neighboring grids corresponding to each traversed sampling grid is determined.

[0070] In one possible implementation, combining Figure 4 As shown, the sampling graticles in the raster map are traversed one by one, and the number of neighboring graticles within a preset range for each traversed sampling graticle is determined until the number of neighboring graticles of the traversed sampling graticle reaches the second threshold. This can be determined in the following way:

[0071] S401. Select any sampling grid as the traversal target;

[0072] In one feasible implementation, when the machine traverses the sampled grids in the grid map, it does so one by one in a top-to-bottom, left-to-right order.

[0073] S403. Determine the inspection range centered on the traversal target;

[0074] In one feasible implementation, the inspection range is defined by traversing the adjacent grid cells around the target. Specifically, a nine-grid is defined centered on the target, and the inspection range is defined by 4, 6, or 8 grid cells surrounding the target; or a twenty-five-grid is defined centered on the target, and the inspection range is defined by traversing the adjacent grid cells surrounding the target.

[0075] S405. The sampling grids that have not been traversed within the inspection range and do not belong to other traversed sampling grids are taken as the neighboring grids of the traversal target.

[0076] S407. Count the number of neighboring grid cells of the traversed target;

[0077] S409. Select any one of the neighboring grids of the traversed target as the next traversed target, and return to the step of defining the inspection range centered on the traversed target until the number of neighboring grids of the current traversed target reaches the second threshold.

[0078] The total number of neighboring grids corresponding to each sampling grid is determined until there are no uncounted neighboring grids or no neighboring grids around a neighboring grid, that is, when the number of neighboring grids reaches the second threshold, the second threshold is 0.

[0079] by Figure 2 For example, the discrete sampling grids along the vertical axis from top to bottom in the grid map are numbered as A, B, C, D, E, F, and G. The sampling grids are traversed sequentially from top to bottom and from left to right. Taking grid D as an example, grid D is traversed first. Grid E is the neighboring grid of grid D. At this time, the first count is 1. Grid E is traversed again. Grids D and F are found to be the neighboring grids of grid E. At this time, the second count is 2. Grid F is traversed again. Although there are grids E around grid F, they are sampling grids that are neighboring grids of grid D. Therefore, grid F has no neighboring grids. At this time, the third count is 0, which means that the second threshold has been reached. The three counts are added together to determine that the total number of neighboring grids corresponding to grid D is 3.

[0080] S105. Compare the total number of neighboring grids with a first threshold.

[0081] In one feasible implementation, the grid map includes target grids that indicate the location of the target;

[0082] Before comparing the total number of neighboring grid cells with the first threshold, it can be determined as follows:

[0083] Obtain the number of times the sampling grid overlaps with the target grid;

[0084] The first threshold is determined based on the number of overlaps.

[0085] The number of times a sampling grid overlaps with a target grid is the number of times the machine goes from fully charged to low-charge return home, hereinafter referred to as the "return home count". The number of return home counts is directly proportional to the coverage of the machine's mowing. When the machine returns home more often, it works more often, and the coverage of the machine's mowing is also higher. At this time, the continuous sampling grids in the grid map are relatively dense. When discrete areas appear on the grid map, the discrete areas are more obvious than the continuous areas, and the first threshold can be appropriately increased. When the machine returns home less often, it works less often, and the coverage of the machine's mowing will be lower. The grid map is relatively sparse. When discrete areas appear on the grid map, the discrete sampling grids are often difficult to distinguish because their number is close to that of the continuous sampling grids. At this time, the first threshold can be appropriately decreased.

[0086] In a feasible implementation, the first threshold based on the number of overlaps can be determined in the following way:

[0087] Determine the relationship between the number of overlaps and the preset number;

[0088] When the number of overlaps exceeds a preset number, the first threshold is increased;

[0089] When the number of overlaps is not greater than a preset number, the first threshold is lowered;

[0090] The preset number of times is determined based on the size of the raster map.

[0091] When the machine is working, the preset number of operations is determined based on the size of the raster map. This means the number of times the machine needs to operate for the corresponding working area. When the raster map size is large, the preset number of operations is set higher; when the raster map size is small, the preset number of operations is set lower. The more times the machine actually operates (i.e., the more overlaps), the higher the actual mowing coverage will be compared to the preset coverage. The denser the continuous areas in the raster map, the higher the first threshold can be. Conversely, the fewer times the machine actually operates (i.e., the fewer overlaps), the lower the actual mowing coverage will be compared to the preset coverage. The sparser the raster map, the more likely the number of rasters in discrete and continuous areas will be similar. A higher first threshold may prevent accurate deletion of raster data in discrete areas, potentially leading to the accidental deletion of raster data in continuous areas. Lowering the first threshold can increase the accuracy of identifying discrete rasters in the raster map.

[0092] S107. If the total number of neighboring grids is less than the first threshold, determine that each sampled grid that has been traversed and its corresponding neighboring grids are discrete grids.

[0093] As the robot moves, it generates sampling grids based on the path it has traversed. It then traverses all sampling grids, determines the total number of neighboring grids corresponding to each traversed grid, and manually identifies the number of consecutive discrete grids with the largest discrete connectivity in the grid map. This determines the first threshold, which is then compared with the total number of neighboring grids. If the total number of neighboring grids is less than the first threshold, the corresponding sampling grid and its corresponding neighboring grids are identified as discrete grids.

[0094] by Figure 2 For example, the sampling grids of the raster map in the image are traversed one by one. The discrete sampling grids along the vertical axis from top to bottom in the raster map are numbered as A, B, C, D, E, F, and G. The sampling grids are traversed sequentially from top to bottom and from left to right. Taking grid A as an example, grid A is selected as the traversal target. The inspection range is defined with grid A as the center. A nine-square grid is formed with grid A as the center. The eight grids surrounding grid A are determined as the inspection range. The grids within the inspection range that have not been traversed and A sampling grid that is not a neighboring grid of other traversed sampling grids is taken as the neighboring target of grid A, resulting in grid B. At this time, the first count is 1. Grid B is then taken as the next traversal target, and the 8 grids around grid B are taken as the inspection range, resulting in grid A. Therefore, the second count is 1. Grid A is traversed again, and the third count is 0, reaching the second threshold. The three counts are added together and the result is 2, which is less than the first threshold of 4 set by the machine. Therefore, grid A and grid B are determined to be discrete grids.

[0095] S109. Clear the discrete grid.

[0096] When clearing raster data, you can delete discrete rasters as soon as they are identified, or you can delete discrete rasters only after identifying all discrete rasters in the raster map.

[0097] For ease of understanding, the present invention provides a specific example of the above-described embodiments for reference.

[0098] Figure 2 The diagram illustrates how the machine, based on real-time acquired GPS data, constructs a grid map with the charging dock as the reference point. The grid map includes sampled grids along the visited path and blank grids along the unvisited path. The diamonds in the diagram represent sampled grids. Some sampled grids are discretely distributed within the grid map. The maximum number of consecutive discrete grids with the largest discrete connectivity region in the grid map is manually determined to be 3. A first threshold of 4 is set. The sampled grids are traversed sequentially from left to right and top to bottom in the grid map shown in the diagram, and the total number of neighboring grids corresponding to each traversed grid is determined. It is found that... Figure 2Discrete sampling grates distributed from top to bottom along the vertical axis are numbered A, B, C, D, E, F, and G. The total number of neighboring grates for grate A is 2, which is less than the first threshold of 4, meaning grates A and B are both discrete grates. The total number of neighboring grates for grate C is 0, which is also less than the first threshold of 4, making grate C a discrete grate. Similarly, grates D, E, F, and G are also discrete grates. By identifying the sampling grates distributed along the vertical axis and their corresponding neighboring grates in the graticule map as discrete grates, and clearing the graticule data of the discrete grates, we obtain... Figure 3 The machine according to Figure 3 The raster map shown is then processed by subsequent algorithms. When clearing raster data, the raster can be deleted either when each discrete raster is identified, or when all discrete rasteres in the raster map are identified, at which point the discrete rasteres can be deleted.

[0099] Example 3

[0100] Figure 5 A block diagram of a map optimization apparatus according to an embodiment of the present disclosure is shown. Please refer to... Figure 5 The map optimization device 500 includes a generation module 501, a statistics module 503, a comparison module 505, a determination module 507, and a processing module 509.

[0101] The generation module 501 is used to generate sampling grids in the grid map based on the robot's real-time position;

[0102] The statistics module 503 is used to traverse the sampling grids in the grid map until a preset condition is met, and then determine the total number of neighboring grids corresponding to each traversed sampling grid.

[0103] The comparison module 505 is used to compare the total number of the neighboring grid cells with a first threshold.

[0104] The determining module 507 is used to determine each traversed sampling grid and its corresponding neighboring grid as discrete grids when the total number of neighboring grids is less than the first threshold.

[0105] Processing module 509 is used to clear the discrete grid.

[0106] Furthermore, the generation module 501 implements S101, the statistics module 503 implements S103, the comparison module 505 implements S105, the determination module 507 implements S107, and the processing module 509 implements S109. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the device described above can be referred to the corresponding process in the above method implementation, and will not be elaborated upon here.

[0107] Example 4

[0108] Figure 6 A structural block diagram of a terminal device provided in an exemplary embodiment of this application is shown. The terminal device 600 may be a portable mobile terminal, such as a smartphone, tablet computer, MP3 (Moving Picture Experts Group Audio Layer III) player, MP4 (Moving Picture Experts Group Audio Layer IV) player, laptop computer, or desktop computer. The terminal device 700 may also be referred to as a user device, portable terminal, laptop terminal, desktop terminal, or other names.

[0109] Typically, terminal device 600 includes a processor 601 and a memory 602.

[0110] Processor 601 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 601 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). Processor 601 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 601 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 601 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.

[0111] The memory 602 may include one or more computer-readable storage media, which may be non-transitory. The memory 602 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 602 are used to store at least one instruction, which is executed by the processor 601 to implement the map optimization method provided in the method embodiments of this application.

[0112] In some embodiments, the terminal device 600 may also optionally include a peripheral device interface 603 and at least one peripheral device. The processor 601, memory 602, and peripheral device interface 603 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 603 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 604, a display screen 605, a camera assembly 606, an audio circuit 607, a positioning assembly 608, and a power supply 609.

[0113] Peripheral interface 603 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 601 and memory 602. In some embodiments, processor 601, memory 602 and peripheral interface 603 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 601, memory 602 and peripheral interface 603 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.

[0114] The radio frequency (RF) circuit 604 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 604 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 604 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 604 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 604 can communicate with other terminals through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 604 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.

[0115] Display screen 605 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. When display screen 605 is a touch display screen, it also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to processor 601 for processing. In this case, display screen 605 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one display screen 605, disposed on the front panel of terminal device 600; in other embodiments, there may be at least two display screens, disposed on different surfaces of terminal device 600 or in a folded design; in other embodiments, display screen 605 may be a flexible display screen, disposed on a curved or folded surface of terminal device 600. Furthermore, display screen 605 may be configured as a non-rectangular irregular shape, i.e., a non-rectangular screen. Display screen 605 may be made of materials such as LCD (Liquid Crystal Display) or OLED (Organic Light-Emitting Diode).

[0116] The camera assembly 606 is used to acquire images or videos. Optionally, the camera assembly 606 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is located on the front panel of the terminal, and the rear-facing camera is located on the back of the terminal. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, a wide-angle camera, and a telephoto camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, panoramic shooting by fusion of the main camera and the wide-angle camera, VR (Virtual Reality) shooting, or other fusion shooting functions. In some embodiments, the camera assembly 606 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cool light flash, which can be used for light compensation at different color temperatures.

[0117] The audio circuit 607 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to the processor 601 for processing, or input to the radio frequency circuit 604 to achieve voice communication. For stereo sound acquisition or noise reduction purposes, multiple microphones may be used, each located at a different part of the terminal device 600. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from the processor 601 or the radio frequency circuit 604 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, the audio circuit 607 may also include a headphone jack.

[0118] The positioning component 608 is used to locate the current geographical location of the terminal device 600 in order to enable navigation or LBS (Location Based Service). The positioning component 608 can be a positioning component based on the US GPS (Global Positioning System), China's BeiDou system, or Russia's Galileo system.

[0119] Power supply 609 is used to supply power to the various components in terminal device 600. Power supply 609 can be AC ​​power, DC power, a disposable battery, or a rechargeable battery. When power supply 609 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, and a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.

[0120] In some embodiments, the terminal device 600 further includes one or more sensors 610. The one or more sensors 610 include, but are not limited to: an accelerometer 611, a gyroscope 612, a pressure sensor 613, a fingerprint sensor 614, an optical sensor 615, and a proximity sensor 616.

[0121] Accelerometer 611 can detect the magnitude of acceleration along the three coordinate axes of a coordinate system established by terminal device 600. For example, accelerometer 611 can be used to detect the components of gravitational acceleration along the three coordinate axes. Processor 601 can control display screen 605 to display the user interface in either a landscape or portrait view based on the gravitational acceleration signal acquired by accelerometer 611. Accelerometer 611 can also be used for games or for acquiring user motion data.

[0122] The gyroscope sensor 612 can detect the orientation and rotation angle of the terminal device 600. The gyroscope sensor 612, in conjunction with the accelerometer sensor 611, can collect 3D motion data from the user on the terminal device 600. Based on the data collected by the gyroscope sensor 612, the processor 601 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt), image stabilization during shooting, game control, and inertial navigation.

[0123] The pressure sensor 613 can be disposed on the side bezel of the terminal device 600 and / or on the lower layer of the display screen 605. When the pressure sensor 613 is disposed on the side bezel of the terminal device 600, it can detect the user's grip signal on the terminal device 600, and the processor 601 can perform left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 613. When the pressure sensor 613 is disposed on the lower layer of the display screen 605, the processor 601 can control the operable controls on the UI interface based on the user's pressure operation on the display screen 605. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.

[0124] The fingerprint sensor 614 is used to collect a user's fingerprint. The processor 601 identifies the user based on the fingerprint collected by the fingerprint sensor 614, or vice versa. When the user's identity is identified as trusted, the processor 601 authorizes the user to perform relevant sensitive operations, including unlocking the screen, viewing encrypted information, downloading software, making payments, and changing settings. The fingerprint sensor 614 can be located on the front, back, or side of the terminal device 600. When the terminal device 600 has a physical button or manufacturer logo, the fingerprint sensor 614 can be integrated with the physical button or manufacturer logo.

[0125] An optical sensor 615 is used to collect ambient light intensity. In one embodiment, the processor 601 can control the display brightness of the display screen 605 based on the ambient light intensity collected by the optical sensor 615. Specifically, when the ambient light intensity is high, the display brightness of the display screen 605 is increased; when the ambient light intensity is low, the display brightness of the display screen 605 is decreased. In another embodiment, the processor 601 can also dynamically adjust the shooting parameters of the camera assembly 606 based on the ambient light intensity collected by the optical sensor 615.

[0126] The proximity sensor 616, also known as a distance sensor, is typically mounted on the front panel of the terminal device 600. The proximity sensor 616 is used to detect the distance between the user and the front of the terminal device 600. In one embodiment, when the proximity sensor 616 detects that the distance between the user and the front of the terminal device 600 is gradually decreasing, the processor 601 controls the display screen 605 to switch from a screen-on state to a screen-off state; when the proximity sensor 616 detects that the distance between the user and the front of the terminal device 600 is gradually increasing, the processor 601 controls the display screen 605 to switch from a screen-off state to a screen-on state.

[0127] Those skilled in the art will understand that Figure 6 The structure shown does not constitute a limitation on the terminal device 600, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.

[0128] Figure 7 This is a schematic diagram of the server structure provided in the embodiments of this application. The server 700 can vary considerably due to different configurations or performance. It may include one or more processors 701 and one or more memories 702. The one or more memories 702 store at least one line of program code, which is loaded and executed by the one or more processors 701 to implement the map optimization method provided in the above-described method embodiments. For example, the processor 701 is a CPU. Of course, the server 700 may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input and output. The server 700 may also include other components for implementing device functions, which will not be elaborated here.

[0129] In an exemplary embodiment, a computer-readable storage medium is also provided, which stores at least one piece of program code that is loaded and executed by a processor to enable an electronic device to implement any of the map optimization methods described above.

[0130] Optionally, the aforementioned computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage device, etc.

[0131] In an exemplary embodiment, a computer program or computer program product is also provided, which stores at least one computer instruction, which is loaded and executed by a processor to enable the computer to implement any of the map optimization methods described above.

[0132] The map optimization method, apparatus, device, and storage medium provided by this invention generate sampling grids in a grid map based on the robot's real-time position; traverse the sampling grids in the grid map until a preset condition is met, and determine the total number of neighboring grids corresponding to each traversed sampling grid; compare the total number of neighboring grids with a first threshold; if the total number of neighboring grids is less than the first threshold, determine each traversed sampling grid and its corresponding neighboring grids as discrete grids; and clear the discrete grids. By filtering the sampling grids in the grid map and clearing grid data in discrete areas of the sampling grids, the accuracy of subsequent grid map analysis can be improved without increasing the accuracy of the positioning system.

[0133] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.

[0134] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

Claims

1. A map optimization method, characterized in that, include: Generate sampling grids in the grid map based on the robot's real-time position; Traversing the sampled grids in the grid map until a preset condition is met, and then determining the total number of neighboring grids corresponding to each traversed sampled grid; including: traversing the sampled grids in the grid map one by one, determining the number of neighboring grids of each traversed sampled grid within a preset range, until the number of neighboring grids of the traversed sampled grid reaches a second threshold, and then determining the total number of neighboring grids corresponding to each traversed sampled grid. The total number of neighboring grid cells is compared with a first threshold. If the total number of neighboring grids is less than the first threshold, each sampled grid that has been traversed and its corresponding neighboring grids are determined to be a discrete grid. Clear the discrete grid.

2. The map optimization method according to claim 1, characterized in that, The step of traversing the sampled graticles in the raster map one by one, determining the number of neighboring graticles of each traversed sampled graticle within a preset range, until the number of neighboring graticles of the traversed sampled graticle reaches a second threshold includes: Choose any sampling grid as the traversal target; The inspection range is defined with the traversed target as the center; The sampling grids that have not been traversed within the inspection range and do not belong to other traversed sampling grids are taken as the neighboring grids of the traversal target. Count the number of neighboring grid cells of the traversed target; Select any one of the neighboring grids of the traversed target as the next traversed target, and return to perform the step of defining the inspection range centered on the traversed target until the number of neighboring grids of the current traversed target reaches the second threshold.

3. The map optimization method according to claim 2, characterized in that, The steps of defining the inspection range centered on the traversed target include: The inspection range is defined as the adjacent grid cells around the traversed target.

4. The map optimization method according to claim 1, characterized in that, The step of determining the total number of neighboring grids corresponding to each of the traversed sampling grids includes: The total number of neighboring grids is obtained by summing the number of neighboring grids corresponding to each sampled grid that has been traversed.

5. The map optimization method according to claim 1, characterized in that, The grid map includes target grids that indicate the location of the target; Before the step of comparing the total number of neighboring grid cells with a first threshold, the method further includes: Obtain the number of times the sampling grid overlaps with the target grid; The first threshold is determined based on the number of overlaps.

6. The map optimization method according to claim 5, characterized in that, The step of determining the first threshold based on the number of overlaps includes: When the number of overlaps exceeds a preset number, the first threshold is increased; When the number of overlaps is not greater than a preset number, the first threshold is lowered; The preset number of times is determined based on the size of the raster map.

7. A map optimization device, characterized in that, include: The generation module is used to generate sampling grids in the grid map based on the robot's real-time position; The statistics module is used to traverse the sampled grids in the grid map until a preset condition is met, and then determine the total number of neighboring grids corresponding to each traversed sampled grid. This includes: traversing the sampled grids in the grid map one by one, determining the number of neighboring grids of each traversed sampled grid within a preset range, until the number of neighboring grids of the traversed sampled grid reaches a second threshold, and then determining the total number of neighboring grids corresponding to each traversed sampled grid. A comparison module is used to compare the total number of neighboring grid cells with a first threshold. The determination module is used to determine each traversed sampling grid and its corresponding neighboring grid as discrete grids when the total number of neighboring grids is less than the first threshold. A processing module for clearing the discrete grid.

8. A device comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the map optimization method according to any one of claims 1-6.

9. A readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the map optimization method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Method, medium, terminal and device for quickly searching nearest point based on point cloud matching

    CN111079801A