Robot positioning method, robot, equipment and storage medium
By judging the distance between the current position and the unknown area when the home robot reaches the crossable object, and predicting the position on the other side, the problem of wrong positioning when the robot climbs over the crossable object is solved, and positioning accuracy is improved.
Patent Information
- Application Number
- CN202411976049.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2044-12-26
AI Technical Summary
Household robots can lead to mislocalization when crossing objects, because the information of these objects is not usually included in the robot map, resulting in the lack of recognizable information.
When the robot reaches one side of the object that can be crossed, the current position is determined based on the preset map, and it is determined whether the distance between the current position and the unknown area is less than the preset distance. If the distance is less than the preset distance, obtain the driving distance and predict the predicted position of the robot to reach the other side.
It avoids positioning loss when the robot reaches unknown areas and improves the positioning accuracy of the robot.
Smart Images

Figure CN119826852A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot technology, and in particular to a robot positioning method, a robot, a device and a storage medium. Background Art
[0002] Household robots generally build robot maps based on the data returned by the LiDAR. When the laser shines on obstacles such as walls and returns data, the location of the obstacle will be marked in the grid map. If there is no obstacle, no signal will be returned. However, there may be various objects that can be climbed in the robot's working environment, such as door thresholds, electric fan bases, daily necessities, etc. The information of climbable objects is usually not included in the map information. When a household robot climbs over a more complex climbable object and reaches the other side of the climbable object, if the other side of the climbable object is a place where no map has been established, the robot may be mispositioned due to insufficient identifiable information. Summary of the invention
[0003] The embodiments of the present application provide a robot positioning method, a robot, a device, and a storage medium to solve the problem that the robot may be mispositioned when climbing over a traversable object.
[0004] In a first aspect, the present application provides a robot positioning method, comprising:
[0005] When the robot reaches a side of the traversable object, determining the current position of the robot according to a preset map of the robot;
[0006] Determine whether the distance between the current position and an unknown area is less than a preset distance; the unknown area is an area that has not been explored on a preset map of the robot and exists on the other side of the traversable object;
[0007] If the distance between the current position and the unknown area is less than the preset distance, the travel distance when the robot reaches the other side of the traversable object is obtained, and the predicted position of the robot when it reaches the other side of the traversable object is predicted based on the travel distance.
[0008] In one embodiment, the method of constructing the preset map of the robot includes:
[0009] Constructing a grid map according to the current environment where the robot is located, and controlling the robot to scan the current environment by laser;
[0010] If the reflection information of the laser is received, it is determined that the laser scans an obstacle, and the area where the obstacle is located is marked as an obstacle area on the grid map;
[0011] If the reflection information of the laser is not received, it is determined that the laser has not scanned an obstacle, and the area where the obstacle does not exist is marked on the grid map as a blank area; the area where the traversable object is located is the blank area;
[0012] The area not scanned by the laser is marked as the unknown area on the grid map.
[0013] In one implementation, determining whether the distance between the current location and the unknown area is less than a preset distance includes:
[0014] Determine, according to the current position, a neighboring area of the robot on the grid map;
[0015] Select a target grid from the adjacent area, and determine whether there is a target path between the target grid and the current position that meets preset requirements;
[0016] If so, determining that the distance is less than a preset distance;
[0017] If not, it is determined that the distance is greater than or equal to the preset distance.
[0018] In one implementation, the determining whether there is a target path between the target grid and the current position that meets preset requirements includes:
[0019] Expanding the obstacle area by a preset range on the grid map to obtain a target obstacle area; the expansion direction is the direction of the blank area, and the expansion area is an area in the blank area where no obstacles exist;
[0020] Performing a path search with the target grid as a starting point and the current position as an end point to obtain multiple initial paths;
[0021] It is determined whether there is a target path that meets the preset requirement among the multiple initial paths; the preset requirement includes that the initial path does not pass through the obstacle area and the blank area.
[0022] In one implementation, the number of the initial paths is multiple, and the method further includes:
[0023] If a target path is found, the path search is stopped, and it is determined that the distance is less than a preset distance;
[0024] If the target path does not exist in the plurality of initial paths, it is determined that the distance is greater than or equal to the preset distance.
[0025] In one implementation, there are multiple target grids, each of which corresponds to at least one initial path, and the method further includes:
[0026] When the target path does not exist in all the initial paths corresponding to any of the target grids, the target grid is marked as a searched grid.
[0027] In one embodiment, the predicting the predicted position of the robot when it reaches the other side of the traversable object according to the travel distance includes:
[0028] predicting, based on the travel distance, that the robot will be located at a preset position on a preset map of the robot when it reaches the other side of the traversable object;
[0029] Controlling the robot to collect real-time map information when reaching the other side of the traversable object;
[0030] The real-time map information is matched with the map information of the preset position to obtain a matching result, and the predicted position of the robot is determined according to the matching result.
[0031] In a second aspect, the present application provides a robot, comprising:
[0032] A determination module, used to determine the current position of the robot according to a preset map of the robot when the robot reaches one side of the traversable object;
[0033] A judgment module, used to judge whether the distance between the current position and the unknown area is less than a preset distance; the unknown area is an area that has not been explored on the preset map of the robot and exists on the other side of the traversable object;
[0034] A positioning module is used to obtain the travel distance of the robot when it reaches the other side of the traversable object if the distance between the current position and the unknown area is less than the preset distance, and predict the predicted position of the robot when it reaches the other side of the traversable object based on the travel distance.
[0035] In a third aspect, the present application provides a computer device, comprising a processor and a memory, wherein the memory stores a computer program, and the processor is used to execute the computer program to implement the robot positioning method described in the first aspect.
[0036] In a fourth aspect, the present application provides a computer storage medium storing a computer program, which, when executed on a processor, implements the robot positioning method according to the first aspect.
[0037] The embodiments of the present application have the following beneficial effects:
[0038] A robot positioning method provided in an embodiment of the present application obtains the current position of the robot when it reaches one side of a traversable object, and then determines whether the distance between the current position and an unknown area is less than a preset distance. If it is less than the preset distance, it means that the robot may reach an unknown area when climbing over the traversable object. In this way, the driving distance of the robot when climbing over the traversable object can be obtained, and then the predicted position of the robot is predicted based on the driving distance, thereby avoiding the loss of positioning of the robot when it reaches an unknown area and improving the positioning accuracy of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] In order to more clearly illustrate the technical solution of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only illustrate certain embodiments of the present application and should not be regarded as limiting the scope of protection of the present application. For ordinary technicians in this field, other related drawings can also be obtained based on these drawings without creative work.
[0040] Figure 1 A schematic diagram of a process flow of a robot positioning method provided in an embodiment of the present application is shown;
[0041] Figure 2 A first principle schematic diagram of robot positioning provided by an embodiment of the present application is shown;
[0042] Figure 3 A second principle schematic diagram of robot positioning provided by an embodiment of the present application is shown;
[0043] Figure 4 A third principle schematic diagram of robot positioning provided by an embodiment of the present application is shown;
[0044] Figure 5 A schematic diagram of the framework structure of a robot provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0045] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments.
[0046] The components of the embodiments of the present application generally described and shown in the drawings herein may be arranged and designed in various configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.
[0047] Hereinafter, the terms "including", "having" and their cognates, which may be used in various embodiments of the present application, are intended only to indicate specific features, numbers, steps, operations, elements, components, or combinations of the foregoing items, and should not be understood as first excluding the existence of one or more other features, numbers, steps, operations, elements, components, or combinations of the foregoing items or adding the possibility of one or more features, numbers, steps, operations, elements, components, or combinations of the foregoing items.
[0048] Furthermore, the terms “first”, “second”, “third”, etc. are merely used for distinguishing descriptions and are not to be understood as indicating or implying relative importance.
[0049] Unless otherwise defined, all terms (including technical terms and scientific terms) used herein have the same meanings as those generally understood by those skilled in the art to which the various embodiments of the present application belong. The terms (such as those defined in generally used dictionaries) will be interpreted as having the same meanings as the contextual meanings in the relevant technical field and will not be interpreted as having idealized meanings or overly formal meanings unless clearly defined in the various embodiments of the present application.
[0050] In conjunction with the accompanying drawings, some embodiments of the present application are described in detail below. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.
[0051] Reference Figure 1 , Figure 1 A schematic flow chart of a robot positioning method provided in this embodiment, which can be used to avoid the problem of positioning loss caused by the robot climbing over a traversable object, includes:
[0052] S101. When the robot reaches a side of a traversable object, the current position of the robot is determined according to a preset map of the robot.
[0053] Household robots, such as common cleaning robots, usually divide different rooms when performing cleaning tasks. For example, a cleaning robot's cleaning task is to clean the living room, while areas such as the kitchen and bathroom do not belong to the cleaning area of the cleaning robot. In this case, the map of the cleaning robot usually only contains information about the living room, which is a known area. The kitchen and bathroom are generally not built or marked on the map and are unknown areas in the map.
[0054] When the cleaning robot performs cleaning tasks in the living room, it may encounter various objects. Smaller objects such as garbage will be cleaned directly. Larger objects such as walls and table legs are defined as obstacles because the robot cannot climb over them. The robot will bypass these obstacles when working. Some medium-sized objects or objects that can be climbed over, such as socks, fan bases and some thresholds, will be climbed over by the robot when working.
[0055] For a traversable object, if it is at the edge of the living room, the robot may reach some unknown areas when climbing over the object. For example, the traversable object is the threshold between the living room and the kitchen. If the robot climbs over the threshold, it will enter the kitchen from the living room, and the kitchen is an unknown area. After the robot reaches the kitchen, it is likely to lose its positioning due to the lack of known positioning markers. Even if it is re-positioned, it may be positioned incorrectly, such as positioning the robot in other unknown areas such as the bathroom.
[0056] In order to avoid the situation where positioning is lost, the current position of the robot in the robot preset map can be determined when the robot reaches the side of a traversable obstacle or is preparing to climb or traverse an obstacle.
[0057] S102, determining whether the distance between the current position and the unknown area is less than a preset distance; the unknown area is an area that has not been explored on the preset map of the robot and exists on the other side of the traversable object.
[0058] Then, the distance between the current position and the unknown area is obtained to determine whether the distance is less than the preset distance. For example, if the robot is in the center of the living room and is far away from unknown areas such as the kitchen and bathroom, it means that the distance is greater than the preset distance. The preset distance can be set according to the model of the robot, the size of the known traversable object, or other factors.
[0059] S103. If the distance between the current position and the unknown area is less than the preset distance, obtain the travel distance when the robot reaches the other side of the traversable object, and predict the predicted position of the robot when it reaches the other side of the traversable object based on the travel distance.
[0060] If the robot is at the threshold between the living room and the kitchen and is about to cross the threshold, it means that the robot is close to the kitchen at this time, and the distance is judged to be less than or equal to the preset distance. Then when the robot crosses the threshold, it may have entered the kitchen area or may not have entered the kitchen area. In order to accurately locate the robot, the direction, driving distance and other parameters of the robot when crossing the threshold can be obtained to predict the predicted position of the robot after crossing the threshold. Then the predicted position can be verified to obtain the actual position of the robot. If the predicted position of the robot is still in the living room, since the living room belongs to the known area in the preset map of the robot, the corresponding map information or positioning mark in the living room can be re-obtained to determine the current position of the robot.
[0061] This embodiment obtains the current position of the robot when it reaches one side of the traversable object, and then determines whether the distance between the current position and the unknown area is less than a preset distance. If it is less than the preset distance, it means that the robot may reach the unknown area when climbing over the traversable object. The driving distance of the robot when climbing over the traversable object can be obtained, and then the predicted position of the robot is predicted based on the driving distance, thereby avoiding the loss of positioning of the robot when it reaches the unknown area and improving the positioning accuracy of the robot.
[0062] Reference Figure 2 , Figure 2 This is a schematic diagram of the first principle of the robot positioning method provided in this embodiment.
[0063] like Figure 2 As shown, the method of constructing the preset map of the robot includes:
[0064] A grid map is constructed according to the current environment where the robot is located, and the robot is controlled to scan the current environment through laser.
[0065] If the reflection information of the laser is received, it is determined that the laser scans an obstacle, and the area where the obstacle is located is marked as an obstacle area on the grid map.
[0066] The obstacle area is Figure 2 The B area in the figure is the area indicated by the black line.
[0067] If the reflection information of the laser is not received, it is determined that the laser has not scanned any obstacle, and the area where the obstacle does not exist is marked on the grid map as a blank area; the area where the traversable object is located is the blank area.
[0068] The blank area is Figure 2 Area A in the figure is the white area surrounded by black lines.
[0069] The area not scanned by the laser is marked as the unknown area on the grid map.
[0070] The unknown area is Figure 2 The C area in the figure is the gray area outside the black lines.
[0071] Among them, the scanned obstacles can also be used as positioning marks. Therefore, the scanned areas, whether blank areas or obstacle areas, can be regarded as known areas. Then, according to the above area definitions, they are marked and divided on the grid map to obtain the final robot preset map.
[0072] This embodiment improves the accuracy and convenience of robot positioning by constructing a grid map and pre-marking various types of objects on the grid map.
[0073] In one implementation, determining whether the distance between the current location and the unknown area is less than a preset distance includes:
[0074] Determine, according to the current position, a neighboring area of the robot on the grid map;
[0075] Select a target grid from the adjacent area, and determine whether there is a target path between the target grid and the current position that meets preset requirements;
[0076] If so, determining that the distance is less than a preset distance;
[0077] If not, it is determined that the distance is greater than or equal to the preset distance.
[0078] like Figure 2 As shown, the current position X of the robot is Figure 2 The triangle in the target grid Y is Figure 2 If the traversable object is known, the robot's proximity area can be determined based on the size, model, and other data of the traversable object. If the traversable object is unknown, the robot can collect data about the object, or the range of the proximity area can be set based on the largest object among the known traversable objects. Users can also divide the proximity area in other ways to improve positioning accuracy.
[0079] Then, one or more target grids are selected in the robot's vicinity. Figure 2Only one target grid Y is shown as an example, and the number of target grids is not limited. Then, it is determined whether there is a target path between the current position X and the target grid Y. The specific determination method can adopt a path planning method. If there is, it is determined that the distance between the current position and the unknown area is less than the preset distance, which means that the current position of the robot is close to the unknown area.
[0080] If not, it is determined that the distance between the current position and the unknown area is greater than or equal to the preset distance, indicating that the current position of the robot is far from the unknown area.
[0081] This embodiment determines the robot's neighboring area based on the robot's current position, then selects a target grid from the neighboring area, and uses a path planning method to determine whether there is a preset path that meets the conditions between the target grid and the current position. In this way, it is determined whether the robot's current position is close to an unknown area, which facilitates the subsequent positioning of the robot and improves the accuracy of the robot's positioning.
[0082] Reference Figure 3 , Figure 3 A second principle schematic diagram of the robot positioning method provided in this embodiment.
[0083] The determining whether there is a target path between the target grid and the current position that meets preset requirements includes:
[0084] Expanding the obstacle area by a preset range on the grid map to obtain a target obstacle area; the expansion direction is the direction of the blank area, and the expansion area is an area in the blank area where no obstacles exist;
[0085] Performing a path search with the target grid as a starting point and the current position as an end point to obtain multiple initial paths;
[0086] It is determined whether there is a target path that meets the preset requirement among the multiple initial paths; the preset requirement includes that the initial path does not pass through the obstacle area and the blank area.
[0087] like Figure 3 As shown in the figure, the obstacle area B is expanded in the direction of the blank area A by a preset range. Since the robot itself needs to occupy a certain area, expanding the obstacle area is equivalent to adding the robot's own area into the calculation during the operation of the robot, so as to filter out some areas that the robot cannot reach and areas that the laser misses, thereby improving the accuracy of path planning.
[0088] Reference Figure 4 , Figure 4 This is a schematic diagram of the third principle of the robot positioning method provided in this embodiment.
[0089] When planning the path between the robot's current position X and the target grid Y, you can use one of the current position X and the target grid Y as the starting point and the other as the end point for planning. You may get multiple initial paths, and you need to verify each path. Exclude the paths that need to pass through the obstacle area B or the unknown area C in the initial path. If a path only passes through the blank area A, it can be determined that the path is the target path that meets the preset conditions. At this time, you can stop verifying other paths and determine that the robot's current position X is near the unknown area C.
[0090] Since there may be multiple target grids, if all the paths of one target grid do not meet the preset conditions, the target grid will be marked as a searched grid to avoid repeated searches of the target grid in the subsequent search process, and then the initial path of the next target grid will be checked.
[0091] If all initial paths corresponding to all target grids are verified and no target path that meets the preset conditions is found, it means that the current position X of the robot is far from the unknown area C.
[0092] When the current position X of the robot is near the unknown area C, it means that the robot may enter the unknown area when climbing over the traversable object. When the current position X of the robot is far from the unknown area C, it means that the robot will not enter the unknown area when climbing over the traversable object.
[0093] This embodiment traverses the path between the target grid and the current position of the robot, and determines whether there is a target path. If there is a target path, it is determined that the current position of the robot is near the unknown area. If there is no target path, it is determined that the current position of the robot is far from the unknown area. Then, the corresponding positioning method is selected according to the situation to improve the positioning accuracy of the robot.
[0094] In one embodiment, the predicting the predicted position of the robot when it reaches the other side of the traversable object according to the travel distance includes:
[0095] predicting, based on the travel distance, that the robot will be located at a preset position on a preset map of the robot when it reaches the other side of the traversable object;
[0096] Controlling the robot to collect real-time map information when reaching the other side of the traversable object;
[0097] The real-time map information is matched with the map information of the preset position to obtain a matching result. The predicted position of the robot is determined according to the matching result.
[0098] If the direction and travel distance of the robot when climbing over the traversable object are known, the robot can be estimated to have a more accurate position when it reaches the other side of the traversable object based on the direction and travel distance, and then the robot can be controlled to collect real-time map information in the known area, and the final position of the robot can be determined based on the real-time map information of the known area. Since the height of the traversable object is usually not higher than the height of the robot itself, the robot can still collect at least a portion of the information in the known area when climbing over the traversable object, and then reposition itself based on this portion of information and the position of the robot.
[0099] If only the driving distance is known when the robot climbs over a traversable object, multiple possible positions of the robot when it reaches the other side of the traversable object can be calculated based on the driving distance. The robot can then be controlled to collect map information in the known area, and each possible position can be verified based on the map information of the known area to determine the final position of the robot.
[0100] When determining that the robot has reached the other side of the traversable object, this embodiment adopts different positioning methods to reposition the robot according to different parameters that the robot can obtain, thereby improving the positioning accuracy of the robot.
[0101] Reference Figure 5 , Figure 5 A schematic diagram of a robot frame structure provided in this embodiment includes:
[0102] The determination module 501 is used to determine the current position of the robot according to a preset map of the robot when the robot reaches a side of the traversable object.
[0103] The judgment module 502 is used to judge whether the distance between the current position and the unknown area is less than a preset distance; the unknown area is an area that has not been explored on the preset map of the robot and exists on the other side of the traversable object.
[0104] The positioning module 503 is used to obtain the travel distance of the robot when it reaches the other side of the traversable object if the distance between the current position and the unknown area is less than the preset distance, and predict the predicted position of the robot when it reaches the other side of the traversable object based on the travel distance.
[0105] It can be understood that the robot of this embodiment corresponds to the robot positioning method of the above embodiment, and the options in the above embodiment are also applicable to this embodiment, so they will not be described repeatedly here.
[0106] The present application also provides a computer device. Exemplarily, the computer device includes a processor and a memory, wherein the memory stores a computer program, and the processor runs the computer program, thereby enabling the computer device to execute the above-mentioned robot positioning method or the functions of each module in the above-mentioned robot.
[0107] Among them, the processor can be an integrated circuit chip with signal processing capabilities. The processor can be a general-purpose processor, including a central processing unit (CPU), a graphics processing unit (GPU) and a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or at least one of other programmable logic devices, discrete gates or transistor logic devices, and discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc., which can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present application.
[0108] The memory may be, but is not limited to, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc. The memory is used to store a computer program, and the processor may execute the computer program accordingly after receiving an execution instruction.
[0109] The present application also provides a computer storage medium for storing the computer program used in the above-mentioned computer device. The computer storage medium may be a readable storage medium, or a non-volatile storage medium or a volatile storage medium. For example, the computer storage medium may include, but is not limited to, various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0110] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and structure diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and the module, a program segment or a part of a code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in an alternative implementation, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the structure diagram and / or the flow diagram, and the combination of boxes in the structure diagram and / or the flow diagram, can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.
[0111] In addition, the functional modules or units in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
[0112] If the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a smart phone, a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the various embodiments of the present application.
[0113] The above description is only a specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application.
Claims
1. A robot positioning method, characterized in that: include: When the robot reaches a side of the traversable object, determining the current position of the robot according to a preset map of the robot; Determine whether the distance between the current position and an unknown area is less than a preset distance; the unknown area is an area that has not been explored on a preset map of the robot and exists on the other side of the traversable object; If the distance between the current position and the unknown area is less than the preset distance, the travel distance when the robot reaches the other side of the traversable object is obtained, and the predicted position of the robot when it reaches the other side of the traversable object is predicted based on the travel distance.
2. The robot positioning method according to claim 1, characterized in that: The method for constructing the preset map of the robot includes: Constructing a grid map according to the current environment where the robot is located, and controlling the robot to scan the current environment by laser; If the reflection information of the laser is received, it is determined that the laser scans an obstacle, and the area where the obstacle is located is marked as an obstacle area on the grid map; If the reflection information of the laser is not received, it is determined that the laser has not scanned an obstacle, and the area where the obstacle does not exist is marked on the grid map as a blank area; the area where the traversable object is located is the blank area; The area not scanned by the laser is marked as the unknown area on the grid map.
3. The robot positioning method according to claim 2, characterized in that: The determining whether the distance between the current position and the unknown area is less than a preset distance includes: Determine, according to the current position, a neighboring area of the robot on the grid map; Select a target grid from the adjacent area, and determine whether there is a target path between the target grid and the current position that meets preset requirements; If so, determining that the distance is less than a preset distance; If not, it is determined that the distance is greater than or equal to the preset distance.
4. The robot positioning method according to claim 3, characterized in that: The determining whether there is a target path between the target grid and the current position that meets preset requirements includes: Expanding the obstacle area by a preset range on the grid map to obtain a target obstacle area; the expansion direction is the direction of the blank area, and the expansion area is an area in the blank area where no obstacles exist; Performing a path search with the target grid as a starting point and the current position as an end point to obtain multiple initial paths; It is determined whether there is a target path that meets the preset requirement among the multiple initial paths; the preset requirement includes that the initial path does not pass through the obstacle area and the blank area.
5. The robot positioning method according to claim 4, characterized in that: The number of the initial paths is multiple, and the method further includes: If a target path is found, the path search is stopped, and it is determined that the distance is less than a preset distance; If the target path does not exist in the plurality of initial paths, it is determined that the distance is greater than or equal to the preset distance.
6. The robot positioning method according to claim 5, characterized in that: There are multiple target grids, each of which corresponds to at least one initial path, and the method further includes: When the target path does not exist in all the initial paths corresponding to any of the target grids, the target grid is marked as a searched grid.
7. The robot positioning method according to claim 1, characterized in that: The predicting, based on the travel distance, of the predicted position of the robot when it reaches the other side of the traversable object comprises: predicting, based on the travel distance, that the robot will be located at a preset position on a preset map of the robot when it reaches the other side of the traversable object; Controlling the robot to collect real-time map information when reaching the other side of the traversable object; The real-time map information is matched with the map information of the preset position to obtain a matching result, and the predicted position of the robot is determined according to the matching result.
8. A robot, characterized in that: include: A determination module, used to determine the current position of the robot according to a preset map of the robot when the robot reaches one side of the traversable object; A judgment module, used to judge whether the distance between the current position and the unknown area is less than a preset distance; the unknown area is an area that has not been explored on the preset map of the robot and exists on the other side of the traversable object; A positioning module is used to obtain the travel distance of the robot when it reaches the other side of the traversable object if the distance between the current position and the unknown area is less than the preset distance, and predict the predicted position of the robot when it reaches the other side of the traversable object based on the travel distance.
9. A computer device, characterized in that: The computer device comprises a processor and a memory, wherein the memory stores a computer program, and the processor is configured to execute the computer program to implement the robot positioning method according to any one of claims 1 to 7.
10. A computer storage medium, characterized in that: The computer program is stored therein, and when the computer program is executed on a processor, the robot positioning method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Robot motion control method, device and equipment
CN107807650A
Indoor robot autonomous exploration method and system based on boundary driving
CN113805590A
Map construction method and device, equipment and storage medium
CN116182840A
Topology map creation method and navigation method for mobile robot, programmable device, and computer readable medium
WO2018121448A1
Laser point-based robot suspension determining method, map update method, and chip
WO2023078318A1