Obstacle avoidance method and device
By using the second raster map in the robot navigation system to record obstacle information and set threshold judgment marks, the problem that static maps cannot accurately reflect temporary obstacles is solved, and the accuracy of navigation paths and the efficiency of robot navigation is improved.
Patent Information
- Application Number
- CN202411450425.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-17
- Publication Date
- 2024-12-13
AI Technical Summary
When a robot encounters temporary or messy obstacles during navigation, the static map cannot accurately reflect the actual situation, resulting in misdetection and path planning failure, and the robot may be trapped.
By obtaining detection data from the robot sensor, recording obstacle information is used using the second grid map, and determining whether to mark it to the first grid map based on the threshold, independently managing dynamic and static obstacles, reducing mislabeling, and improving the accuracy of navigation paths .
It improves the accuracy of obstacle marking and feasibility of navigation paths, reduces the risk of robots being trapped, and enhances the accuracy of navigation control.
Smart Images

Figure CN119126811A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of robotics technology, and more particularly relates to an obstacle avoidance method and device. Background Art
[0002] At present, after receiving a task, the robot uses a static map to perform global path planning based on the current position and the target position to obtain a global path. Because the static map obtained during map construction only includes static obstacles, and the robot may encounter temporary or cluttered obstacles during movement. When these temporary or cluttered obstacles are in the robot's blind spot, the robot will not consider these obstacles when performing navigation planning to escape, causing the robot to rotate and repeatedly plan the path, but cannot escape. Therefore, the robot will record these temporary or cluttered obstacles to generate an obstacle map to guide the robot's movement.
[0003] If these temporary or cluttered obstacles are recorded in the obstacle map as soon as they are detected, the robot's sensors may make false detections. The obstacles may also change, such as dynamic obstacles moving. This may easily lead to the robot being trapped because it cannot find a suitable path based on the obstacle map even though it can escape. Summary of the invention
[0004] The embodiments of the present application provide an obstacle avoidance method, device, robot, computer-readable storage medium, and computer program product, which can solve the problem of the robot being trapped due to inaccurate obstacle maps.
[0005] In a first aspect, an embodiment of the present application provides a robot navigation method, comprising:
[0006] Acquire detection data of the robot's sensors at a preset frequency;
[0007] If the detection data includes an obstacle, and the obstacle is not marked in the first grid map, then increasing the value of a first target grid in the second grid map to obtain a first new grid value, where the first target grid is a grid occupied by the obstacle in the detection data in the second grid map;
[0008] If the first new grid value is greater than or equal to a first threshold, marking the obstacle to the first grid map according to the first target grid, and initializing the first target grid;
[0009] The robot is navigated and controlled according to the detection data, the first grid map and the static map.
[0010] In a second aspect, an embodiment of the present application provides a robot navigation device, comprising:
[0011] An acquisition module, used to acquire detection data of the robot's sensors at a preset frequency;
[0012] A grid map updating module, configured to increase the value of a first target grid in a second grid map to obtain a first new grid value if the detection data includes an obstacle and the obstacle is not marked in the first grid map, wherein the first target grid is a grid occupied by the obstacle in the detection data in the second grid map;
[0013] and further configured to mark the obstacle to the first grid map according to the first target grid and initialize the first target grid if the first new grid value is greater than or equal to a first threshold;
[0014] A navigation module is used to perform navigation control on the robot according to the detection data, the first grid map and the static map.
[0015] In a third aspect, an embodiment of the present application provides a robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements a method as described in any one of the above-mentioned first aspects when executing the computer program.
[0016] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method as described in any one of the above-mentioned first aspects is implemented.
[0017] In a fifth aspect, an embodiment of the present application provides a computer program product, which, when executed on a robot, enables the robot to execute any of the methods described in the first aspect.
[0018] Compared with the prior art, the embodiments of the present invention have the following beneficial effects:
[0019] The embodiment of the present application obtains detection data of the robot's sensor at a preset frequency; if the detection data includes an obstacle, and the obstacle is not marked on the first grid map, the value of the first target grid in the second grid map is increased to obtain a first new grid value, where the first target grid is the grid occupied by the obstacle in the detection data on the second grid map; if the first new grid value is greater than or equal to a first threshold, the obstacle is marked on the first grid map according to the first target grid, and the first target grid is initialized; the robot is navigated and controlled according to the detection data, the first grid map and the static map; by setting the first threshold, it is possible to achieve multiple commands on the first target grid. When encountering obstacles, they are recorded in the first grid map to improve the accuracy of obstacle marking; independently setting the first grid map to record obstacle information first, rather than directly modifying the static map, can reduce the erroneous marking of dynamic obstacles to the static map, reduce the impact on the subsequent navigation of the robot, and improve the accuracy of the static map; when the robot performs navigation control, it performs navigation planning based on the first grid map, real-time detection data, and static map, which can fully consider dynamic and static obstacle data, reduce the impact of obstacles in blind spots on robot navigation, so as to more accurately control the movement of the robot, improve the path feasibility of navigation control, and improve the efficiency of the robot to escape from trouble.
[0020] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0022] Figure 1 This is a first flow chart of a robot navigation method provided by an embodiment of the present application;
[0023] Figure 2 This is a first example diagram of detection data provided by an embodiment of the present application;
[0024] Figure 3 This is a first example diagram of updating the second grid map provided in an embodiment of the present application;
[0025] Figure 4 This is a second example diagram of updating the second grid map provided in an embodiment of the present application;
[0026] Figure 5 is a second example diagram of detection data provided by an embodiment of the present application;
[0027] Figure 6 This is a third example diagram of updating the second grid map provided in an embodiment of the present application;
[0028] Figure 7 This is a second flow chart of the robot navigation method provided by an embodiment of the present application;
[0029] Figure 8 is a third example diagram of detection data provided by an embodiment of the present application;
[0030] Fig. 9 This is a first example diagram of updating a first grid map provided in an embodiment of the present application;
[0031] Fig.10 This is a second example diagram of updating the first grid map provided in an embodiment of the present application;
[0032] Fig.11 is a third example diagram of a robot navigation method provided by an embodiment of the present application;
[0033] Fig.12 is a schematic diagram of the structure of a robot navigation device provided by an embodiment of the present application;
[0034] Fig.13 It is a schematic diagram of the structure of a robot provided in one embodiment of the present application. DETAILED DESCRIPTION
[0035] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.
[0036] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.
[0037] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0038] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.
[0039] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.
[0040] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0041] After receiving the task, the robot can use the static map to perform global path planning based on the current position and the target position to obtain the global path. For example, a delivery robot is performing a delivery task, and a cleaning robot is performing a cleaning task. Because the static map obtained during map construction only includes static obstacles, and the robot will encounter temporary or messy obstacles during movement. When these temporary or messy obstacles are in the robot's blind spot, the robot will not consider these obstacles when performing navigation planning to escape, which will cause the robot to rotate and repeatedly plan the path, but there are obstacles on the planned path, so it cannot escape. Therefore, the robot can record these temporary or messy obstacles to generate an obstacle map to guide the robot's movement.
[0042] Obstacles include temporary large exhibition stands, tables, and randomly placed objects. The robot blind spot is caused by the fact that the robot sensor's detection range is not 360°, and the area outside the current sensor detection range forms a blind spot, or when the robot moves, part of the object is out of the sensor's range, and the sensor cannot effectively recognize the full appearance of the object, or one object is blocked by another object, and the sensor cannot effectively recognize the full appearance of the blocked object.
[0043] If these temporary or cluttered obstacles are recorded in the obstacle map as soon as they are detected, the robot's sensors may make false detections. The obstacles may also change. For example, dynamic obstacles such as pedestrians will move and not exist continuously in one location. This may easily lead to the robot being trapped because it cannot find a suitable path based on the obstacle map even though it can escape.
[0044] The embodiments of the present application provide a robot and a robot navigation method, device, readable storage medium and computer program product to solve the problem of the robot being trapped due to inaccurate obstacle maps.
[0045] In one embodiment, Figure 1 This is a schematic diagram of the first flow chart of the robot navigation method provided by an embodiment of the present application. Figure 1 As shown, the method is applied to a robot.
[0046] In application, the method can be specifically executed by a robot navigation device, which can be implemented using software and / or hardware, and can be configured in the above-mentioned robot or in a background server.
[0047] The specific steps include:
[0048] S11: Acquire detection data of the robot's sensor at a preset frequency.
[0049] The robot's sensor may be a monocular camera, binocular stereo vision and / or laser radar, etc. The sensor collects environmental information of the area in front of the robot's forward direction to obtain detection data.
[0050] In the application, the sensor collects environmental information according to the detection frequency and obtains detection data. Then the detection data is obtained according to the preset frequency. The preset frequency is less than or equal to the detection frequency. Every time the detection data is obtained, the latest detection data is processed, and the first grid map and the second grid map are updated according to the obstacle situation of the detection data, providing a basis for obtaining an accurate obstacle map and accurately controlling the movement of the robot.
[0051] S12: If the detection data includes an obstacle, and the obstacle is not marked in the first grid map, then the value of the first target grid in the second grid map is increased to obtain a first new grid value.
[0052] The size of the first grid map and the second grid map can be a fixed size centered on the robot, or can be set to expand as the robot moves. The memory size of the first grid map and the second grid map can be the same as the memory size of the static map to fully record obstacle information. The first grid map is an obstacle map, which is used to record obstacles that affect the movement of the robot. The second grid map is used to record the detection of obstacles to determine whether the obstacles are marked on the first grid map.
[0053] The first target grid is the grid occupied by the obstacle of the detection data in the second grid map. The obstacle of the detection data can be the entire object or a part of the object. If it is the entire object, the first target grid is the grid occupied by the entire object. If it is a part of the object, the first target grid is the grid occupied by the part of the object. The first target grid can represent the size information of the obstacle of the detection data. The obstacle of the detection data can also include multiple objects. If it is multiple objects, the first target grid is the grid occupied by multiple objects.
[0054] In the application, if the obstacle is not marked on the first grid map, it means that the obstacle is still in the process of determining whether it needs to be retained, that is, it is in the stage before determining to mark the obstacle on the first grid map, which specifically includes the process from marking the obstacle to deleting the obstacle on the second grid map. At this time, if the sensor detects an obstacle, only the grid corresponding to the obstacle will be processed in the second grid map. In the second grid map, the grid corresponding to the obstacle according to the detection data is marked to obtain the first target grid. Then the value of the first target grid is increased.
[0055] In a possible implementation, the value of the first target grid is a time value, which can represent the duration of time the robot detects the obstacle. In a possible implementation, the value of the first target grid can also be a value positively correlated with the number of detections.
[0056] In a possible implementation, the obstacle passes through the obstacle retention process multiple times and / or is detected by the sensor multiple times, which reflects that the obstacle is not easy to change in a short period of time and is likely to affect the movement of the robot.
[0057] Correspondingly, step S12 includes:
[0058] S121: Determine the increase value of the first target grid according to the number of detections and the number of retentions of the obstacle.
[0059] The number of detections is the number of times an obstacle is detected in the process from marking the obstacle to deleting the obstacle in the second grid map, and the first threshold is greater than the increase value.
[0060] In the application, when an obstacle is detected for the first time, the obstacle is marked on the second grid map, and the obstacle is marked on the second grid map. After the obstacle is marked on the first grid map, the first target grid is initialized, and the obstacle is deleted from the second grid map. The corresponding number of detections can be the number of times the obstacle is detected between the first detection of the obstacle and the initialization of the first target grid, or the number of times the obstacle is detected between the two initializations of the first target grid.
[0061] The number of retention times is the number of times the obstacle undergoes the obstacle retention process, and the obstacle retention process is the process from marking the obstacle to deleting the obstacle in the first grid map.
[0062] Wherein, step S121 includes:
[0063] S21: If both the detection times and the retention times are the first time, the increase value is set to the first preset value.
[0064] The detection times of the first time indicates that the obstacle is detected for the first time, and the retention times of the first time indicates that the obstacle has never been marked on the first grid map and has not yet gone through the obstacle retention process. When both the detection times and the retention times are the first time, the increase value is directly set to the first preset value.
[0065] S22: If the number of detections is not the first time, determine a first increment according to the number of detections.
[0066] In a possible implementation, the first increment may be determined by exponential growth according to the number of detections. The first increment may also be determined by linear growth according to the number of detections. Other growth modes may also be set so that the first increment increases as the number of detections increases.
[0067] In a possible implementation, when the value of the first target grid is a time value, the first preset value is a map refresh time. The first increment is a time increment.
[0068] S23: If the number of retention times is not the first time, determine the second increment according to the number of retention times.
[0069] For example, if the number of retention times is the second time, it means that the obstacle has gone through the obstacle retention process once. If the number of retention times is the third time, it means that the obstacle has gone through the obstacle retention process twice.
[0070] In a possible implementation, the number of reservations may be multiplied by the ratio value to obtain the second increment. The second increment may also be determined in a linear growth manner according to the number of reservations. Other growth methods may also be set so that the second increment increases as the number of reservations increases.
[0071] In a possible implementation, if both the number of detections and the number of retentions are not the first time, the first increment is determined by exponential growth according to the number of detections, and the second increment is obtained by multiplying the number of retentions by the ratio value. When the number of retentions is not the first time, it means that the position has gone through the obstacle retention process many times and has existed for a long time. Then, the probability that the obstacle at this position is a fixed obstacle is high. The second increment is multiplied by the number of retentions by the ratio value, and the second increment is multiplied by the first preset value as the base. When the number of detections is not the first time, it means that there are obstacles at this position many times in a short period of time, which may have a greater impact on the navigation control of the current robot. Therefore, the first increment is determined by exponential growth of the number of detections so that it can quickly reach the first threshold and perform obstacle retention or refresh the retention time.
[0072] In a possible implementation manner, when the value of the first target grid is a time value, the second increment is a time increment.
[0073] S24: Add the first preset value, the first increment and the second increment to obtain a first amplitude, and set the increment value to the first amplitude.
[0074] S122: Add the value of the first target grid and the added value to obtain a first new grid value.
[0075] By determining the increase value of the first target grid according to the number of retention times and the number of detection times, the growth rate of the value of the first target grid of obstacles that have been detected and retained multiple times can be accelerated, so that obstacles that have been detected and retained multiple times can be marked on the first grid map more quickly, and the static obstacle data can be fully considered to improve the accuracy of the map, so as to more accurately control the movement of the robot, improve the path feasibility of navigation control, and improve the efficiency of the robot's escape.
[0076] S13: If the first new grid value is greater than or equal to the first threshold, the obstacle is marked on the first grid map according to the first target grid, and the first target grid is initialized.
[0077] In the application, if the first new grid value is greater than or equal to the first threshold, it means that the sensor has detected the obstacle of the first target grid multiple times within a period of time, that is, it has hit the obstacle multiple times; and it means that the probability of the sensor misdetecting the obstacle is low, and the probability of the obstacle changing in a short period of time is low. At this time, the obstacle is not only considered as a route planning factor when the sensor detects it, but also needs to be considered as a route planning factor when it is in the blind spot of the sensor, so as to reduce the path planned by the robot navigation, and the robot cannot pass, that is, the probability of navigation failure. According to the first target grid, the corresponding grid is marked in the first grid map to realize the marking of the obstacle to the first grid map. Because the obstacle has been retained in the first grid map, the first target grid is initialized to delete the obstacle in the second grid map, so as to facilitate the subsequent tracking of the obstacle through the second grid map.
[0078] Specifically, the data of the first target grid may be reset to an initial state, that is, a state where no obstacles are marked, and the grid value may be 0, so as to initialize the first target grid.
[0079] S14: Navigation control of the robot is performed according to the detection data, the first grid map and the static map.
[0080] In the application, the detection data, the first grid map, and the static map can be mapped onto the same navigation grid map to obtain an overlay map, and the robot can be navigated and controlled according to the obstacle conditions of the navigation grid map.
[0081] For example, Figure 2 is a first example diagram of detection data provided by an embodiment of the present application, such as Figure 2 As shown, the black area represents the obstacle of the most recently acquired detection data, and the obstacle is detected by the sensor for the first time. Figure 3 This is a first example diagram of updating the second grid map provided by an embodiment of the present application. Figure 3 As shown, based on the fact that the obstacle is not marked in the first grid map, in the second grid map, at least one corresponding grid is marked according to the obstacle in the detection data to obtain the first target grid. Then the value of the first target grid is increased, and the first new grid value is 1.
[0082] Figure 4 is a second example diagram of updating the second grid map provided by an embodiment of the present application. Figure 4 As shown, based on the latest acquired detection data Figure 2 As shown. Correspondingly, the obstacle of the detection data is not marked in the first grid map. In the second grid map, the first target grid is determined according to the obstacle of the detection data. Then the value of the first target grid is increased, and the first new grid value is 3.
[0083] Figure 5 This is a second example diagram of the detection data provided by an embodiment of the present application. Figure 5 As shown, the black area represents the obstacle of the latest acquired detection data. Figure 6 This is a third example diagram of updating the second grid map provided in an embodiment of the present application. Figure 6 As shown, correspondingly, the obstacle in the detection data is not marked in the first grid map. In the second grid map, the first target grid is determined according to the obstacle in the detection data. Then the value of the first target grid is increased, and the first new grid value is 6.
[0084] By analogy, when the value of the first target grid is greater than or equal to the first threshold, the corresponding grid is marked in the first grid map according to the first target grid, so as to mark the obstacle of the detection data to the first grid map. The first threshold can be 15, 20, etc.
[0085] It is understandable that when the robot is trapped, for example, after entering the obstacle avoidance state, the local planning fails according to the sensor data and cannot be successfully escaped, the global route planning can be re-performed according to the detection data, the first grid map and the static map. Alternatively, when the robot is trapped, for example, after entering the obstacle avoidance state, the local path planning is performed according to the detection data, the first grid map and the static map, and then the global path is returned after escaping.
[0086] This embodiment obtains detection data of the robot's sensor at a preset frequency; if the detection data includes an obstacle, and the obstacle is not marked on the first grid map, the value of the first target grid in the second grid map is increased to obtain a first new grid value, and the first target grid is the grid occupied by the obstacle in the detection data in the second grid map; if the first new grid value is greater than or equal to the first threshold, the obstacle is marked on the first grid map according to the first target grid, and the first target grid is initialized; the robot is navigated and controlled according to the detection data, the first grid map and the static map; by setting the first threshold, multiple hits on the first target grid can be achieved. When obstacles are encountered, they are recorded in the first grid map to improve the accuracy of obstacle marking; the first grid map is independently set to record obstacle information first, rather than directly modifying the static map, which can reduce the erroneous marking of dynamic obstacles to the static map, reduce the impact on the subsequent navigation of the robot, and improve the accuracy of the static map; when the robot performs navigation control, it performs navigation planning based on the first grid map, real-time detection data, and static map, which can fully consider dynamic and static obstacle data, reduce the impact of obstacles in blind spots on robot navigation, so as to more accurately control the movement of the robot, improve the path feasibility of navigation control, and improve the efficiency of the robot in getting out of trouble.
[0087] In one embodiment, the type of obstacle also reflects whether the obstacle is changeable. Correspondingly, step S12 includes:
[0088] S121: Determine the increase value of the first target grid according to the number of detections and the number of retentions of the obstacle.
[0089] The number of detections is the number of times an obstacle is detected in the process from marking the obstacle to deleting the obstacle in the second grid map, and the first threshold is greater than the increase value;
[0090] Step S121 includes:
[0091] S21`: If the detection times and retention times are both the first time, the increase value is set to the first preset value.
[0092] S22`: If the number of detections is not the first time, determine a first increment according to the number of detections.
[0093] S23`: If the number of retention times is not the first time, determine the second increment based on the number of retention times.
[0094] S24`: Add the first preset value, the first increment, and the second increment to obtain a first amplitude.
[0095] S25`: If the obstacle is a static obstacle, the first amplitude is added to the second preset value to obtain a second amplitude, and the added value is set as the second amplitude.
[0096] In the application, the obstacle is a static obstacle, which means that the obstacle is not easy to change. According to the static obstacle, the second preset value is determined. The first amplitude is added to the second preset value to obtain the second amplitude.
[0097] S26`: If the obstacle is a dynamic obstacle, subtract the first amplitude from the third preset value to obtain a third amplitude, and set the added value to the third amplitude.
[0098] In the application, the obstacle is a dynamic obstacle, which means that the obstacle is prone to change. According to the dynamic obstacle, a third preset value is determined, and the first amplitude is subtracted from the third preset value to obtain the third amplitude.
[0099] S122: Add the value of the first target grid and the added value to obtain a first new grid value.
[0100] This embodiment adjusts the increase value by considering the type of obstacle to speed up the marking of static obstacles that are not easy to change to the first grid map, and slows down the marking of dynamic obstacles that are easy to change to the first grid map, so that the first grid map can more accurately reflect the obstacle situation, can more accurately control the movement of the robot, and reduce the possibility of the robot being trapped.
[0101] The obstacle type can be determined based on the position change relationship of multiple continuous grids representing the same obstacle on the second grid map over time. Exemplarily, when the positions of multiple continuous grids representing the same obstacle on the second grid map do not change over time, it is determined to be a static obstacle.
[0102] In one embodiment, a value attenuation process of the second target grid in the first grid map is set to process the retention of the first grid map and reduce the erroneous impact on the robot route planning after the obstacle changes.
[0103] Figure 7 1 is a second flow chart of the robot navigation method provided by an embodiment of the present application. Figure 7 After step S11, the following steps are also included:
[0104] S15: If the detection data includes an obstacle, and the obstacle has been marked on the first grid map, the value of the second target grid in the first grid map is set as a second threshold.
[0105] The second target grid is the grid occupied by the obstacle of the detection data in the first grid map. The obstacle of the detection data may be the entire object, a part of the object, or multiple objects.
[0106] In the application, the obstacle has been marked in the first grid map, which means that the obstacle has been hit many times in the process of continuously acquiring detection data, and the obstacle is likely to affect the movement of the robot. Then the detection data is acquired again. At this time, the latest detection data includes the obstacle, which means that the obstacle has not changed and will still affect the robot's progress. The attenuation speed of the obstacle in the first grid map needs to be slowed down. The second target grid is determined based on the obstacle in the detection data. Then the value of the second target grid in the first grid map is set as the second threshold.
[0107] For example, Figure 8 This is a third example diagram of the detection data provided by an embodiment of the present application. Figure 8 As shown, the black area represents the obstacle of the latest acquired detection data, and the obstacle has been marked on the first grid map. Fig. 9 is a first example diagram of updating the first grid map provided by an embodiment of the present application, such as Fig. 9 As shown, in the first grid map, the second target grid is determined according to the obstacles in the detection data. The value of the second target grid in the first grid map can be set to a second threshold of 50, which can slow down the disappearance of obstacles on the map and increase the time required for the obstacles to disappear.
[0108] In a possible implementation, the value of the second target grid may be set to represent time, and the second threshold may be the retention time, so as to better implement attenuation processing of obstacles.
[0109] Correspondingly, before step S15, the following steps are also included:
[0110] S31: If the obstacle is retained for the first time, the second threshold is set to the first retention time.
[0111] The obstacle retention process is the process from marking the obstacle to deleting the obstacle in the first grid map. That is, during the robot's mission, the obstacle has been hit many times, and it is clear that the obstacle is likely to affect the robot's movement, and the obstacle is marked in the first grid map. However, during the retention time decay process, the obstacle has not been detected, and it is determined that the obstacle has changed, and the obstacle is deleted. At this time, the obstacle undergoes an obstacle retention process.
[0112] S32: If the number of times the obstacle is retained is not the first time, the first retention time is added to the extension time to obtain a second retention time, and the second threshold is set as the second retention time.
[0113] Among them, the extension time is determined according to the number of retentions.
[0114] Specifically, the extension time may be set to increase with an increase in the number of retention times, that is, the more the number of retention times, the longer the extension time.
[0115] For example, if the number of retention times is the first time, the first retention time is 50s, and the second threshold is set to 50s. If the number of retention times is one time, the extension time is determined to be 50s, the second retention time is 100s, and the second threshold is set to 100s. If the number of retention times is two times, the extension time is determined to be 60s, the second retention time is 110s, and the second threshold is set to 110s. And so on.
[0116] If an obstacle undergoes multiple obstacle retention processes, it means that the obstacle is not likely to change in a short period of time. If the second threshold value does not change, the number of times the obstacle undergoes the obstacle retention process may increase, thereby placing higher requirements on computing power. If the number of times the obstacle is retained is not the first time, the first retention time is added to the extension time to obtain the second retention time, and the second threshold value is set to the second retention time; wherein the extension time is determined based on the number of retentions, so as to extend the obstacle retention time, reduce the number of times the obstacle undergoes the obstacle retention process, reduce the requirements on computing power, and make the first grid map better reflect the situation of the obstacle.
[0117] S16: If the detection data does not include an obstacle, and the obstacle has been marked on the first grid map, then the value of the second target grid in the first grid map is reduced to obtain a second new grid value.
[0118] In the application, the obstacle has been marked on the first grid map, indicating that the obstacle has been hit multiple times in the process of continuously acquiring detection data, and it has been determined that the obstacle is located in the detection blind area and will affect the movement of the robot. Then the detection data is acquired again. At this time, the latest detection data does not include the obstacle, indicating that the obstacle located in the second target grid may have been moved away, or the obstacle may be blocked by other obstacles, or the robot may be away from the obstacle, etc. Then reduce the value of the second target grid corresponding to the obstacle to achieve the attenuation of the obstacle mark.
[0119] S17: If the second new grid value is less than the third threshold, initialize the second target grid to delete obstacles in the first grid map.
[0120] In the application, if the second new grid value is less than the third threshold, it means that the sensor has not detected the obstacle of the second target grid for a period of time. It can be determined that the obstacle has been removed or the robot has moved away from the obstacle. At this time, the obstacle is unlikely to hinder the robot from performing the task. The data of the second target grid is reset to the initial state to initialize the second target grid and delete the obstacle in the second grid map.
[0121] In a possible implementation, the value of the second target grid is set to represent time, and the value decay logic of the second target grid is that when the obstacle is marked on the first grid map, the recording time is t0. In the next frame, the sensor does not detect the obstacle, and the recording time is t1. The second new grid value of the second target grid is the second threshold value - (t1-t0). That is, the remaining retention time is the second threshold value - (t1-t0).
[0122] For example, the latest detection data is also Figure 8 As shown, Fig.10 This is a second example diagram of updating the first grid map provided by an embodiment of the present application. Fig.10 As shown, combined Figure 8 It can be seen that there are obstacles that have been marked in the first grid map and have not been detected by the sensor. In the first grid map, the value of the second target grid corresponding to the obstacle is reduced, and the second new grid value of the second target grid is 0. At this time, the second new grid value is less than the third threshold 1, and the second target grid is initialized to delete the obstacle in the first grid map.
[0123] In this embodiment, if the detection data includes an obstacle and the obstacle has been marked on the first grid map, the value of the second target grid in the first grid map is set to the second threshold value; the value of the second target grid is reset to prevent the obstacle from still existing but the obstacle has been deleted from the first grid map, causing the obstacle to affect the movement of the robot when it is in a blind spot, thereby achieving more precise control of the robot's movement.
[0124] And if the detection data does not include an obstacle and the obstacle has been marked on the first grid map, the value of the second target grid in the first grid map is reduced to obtain a second new grid value; if the second new grid value is less than a third threshold, the second target grid is initialized to delete the obstacle in the first grid map; the value of the second target grid is attenuated to prevent the obstacle from changing but still existing in the first grid map, resulting in path planning errors and affecting robot movement.
[0125] In one embodiment, the type of obstacle also reflects whether the obstacle is changeable. Correspondingly, step S15 also includes:
[0126] S31`: When the obstacle is a static obstacle, if the number of times the obstacle is retained is the first time, the second threshold is set to the third retention time; if the number of times the obstacle is retained is not the first time, the third retention time is added to the extension time to obtain a fourth retention time, and the second threshold is set to the fourth retention time;
[0127] The number of retention times is the number of times the obstacle undergoes the obstacle retention process, the obstacle retention process is the process from marking the obstacle to deleting the obstacle in the first grid map, and the extension time is determined according to the number of retention times.
[0128] S32`: When the obstacle is a dynamic obstacle, if the number of times the obstacle is retained is the first time, the second threshold is set to the fifth retention time; if the number of times the obstacle is retained is not the first time, the fifth retention time is added to the extension time to obtain the sixth retention time, and the second threshold is set to the sixth retention time.
[0129] Among them, the third retention time is greater than the fifth retention time.
[0130] In the application, if the obstacle is a static obstacle, it means that the obstacle is not easy to change. If the obstacle is a dynamic obstacle, it means that the obstacle is easy to change. The retention time of static obstacles is set longer than that of dynamic obstacles.
[0131] For example, if the obstacle is a static obstacle, the third retention time is 150s, and the second threshold is set to 150s. If the obstacle is a dynamic obstacle, the fifth retention time is 30s, and the second threshold is set to 30s. If the retention number is once, the extension time is determined to be 50s. If the retention number is twice, the extension time is determined to be 60s.
[0132] This embodiment adjusts the second threshold according to the type of obstacle, fully considers dynamic and static obstacle data, increases the retention time of static obstacles, and reduces the retention time of static obstacles, so that the first grid map can better reflect the situation of obstacles, reduce the impact of obstacles in blind spots on robot navigation, and more accurately control the movement of the robot.
[0133] In one embodiment, Fig.11 FIG. 1 is a third example diagram of a robot navigation method provided by an embodiment of the present application. Fig.11 After step S11, the following steps are also included:
[0134] S18: If the detection data does not include an obstacle, and the obstacle has been marked on the second grid map, then the value of the first target grid in the second grid map is reduced to obtain a first new grid value.
[0135] The obstacle that has been marked on the second grid map but is not included in the detection data may be a whole object, a part of an object, or may include multiple objects.
[0136] In the application, the obstacle in the detection data has been marked on the first grid map, indicating that the obstacle is in the process of being retained, that is, in the stage before determining whether to mark the obstacle on the first grid map. At this time, the sensor does not detect the obstacle, indicating that the obstacle located in the first target grid may change, or the obstacle may be removed, or the obstacle may be covered by other obstacles, etc. According to the obstacle in the detection data, the first target grid is determined. Then the value of the first target grid is reduced.
[0137] S19: If the first new grid value is less than the fourth threshold, the first target grid is initialized to delete obstacles in the second grid map.
[0138] Among them, the fourth threshold can be set to 1.
[0139] In the application, if the first new grid value is less than the fourth threshold, it means that the sensor has not detected the obstacle of the first target grid for a period of time. It also means that the obstacle has been removed, or the robot has moved away from the obstacle. At this time, the obstacle will not hinder the robot from performing the task. The data of the first target grid is reset to the initial state to initialize the first target grid, so as to delete the obstacle of the second grid map.
[0140] Please continue to refer to Figure 5 and Figure 6 , combined with Figure 5 and Figure 6 It can be obtained that there is an obstacle that has been marked in the second grid map and has not been detected by the sensor. In the second grid map, the value of the first target grid corresponding to the obstacle is reduced, and the first new grid value of the first target grid is 1.
[0141] By analogy, when the first new grid value is less than the fourth threshold, the first target grid is initialized to delete obstacles in the second grid map.
[0142] In this embodiment, if the detection data does not include an obstacle and the obstacle has been marked on the second grid map, the value of the first target grid in the second grid map is reduced to obtain a first new grid value. If the first new grid value is less than a fourth threshold value, the first target grid is initialized to delete the obstacle in the second grid map, thereby achieving grid value attenuation, so that the speed at which the grid value reaches the first threshold is slowed down, thereby reducing the occurrence of erroneous retention of obstacles; so that it can be known that an obstacle located in the first target grid has not been detected for a period of time, and it is determined that the obstacle will not hinder the robot from moving forward, thereby accurately handling the obstacle.
[0143] It should be understood that the order of execution of the steps in the above embodiments does not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. In addition, the data collection in the above embodiments is compliant, and its use or implementation does not involve any infringement on the public interest.
[0144] Corresponding to the method described in the above embodiment, for the sake of convenience of explanation, only the part related to the embodiment of the present application is shown.
[0145] In one embodiment, Fig.12 Schematic diagram of the structure of a robot navigation device provided by an embodiment of the present application. Fig.12 As shown, the device comprises:
[0146] An acquisition module 10 is used to acquire detection data of the robot's sensors at a preset frequency;
[0147] The grid map updating module 11 is used to increase the value of the first target grid in the second grid map to obtain a first new grid value if the detection data includes an obstacle and the obstacle is not marked in the first grid map, where the first target grid is the grid occupied by the obstacle in the detection data in the second grid map;
[0148] It is also used for marking the obstacle to the first grid map according to the first target grid and initializing the first target grid if the first new grid value is greater than or equal to the first threshold value;
[0149] The navigation module is used to control the navigation of the robot according to the detection data, the first grid map and the static map.
[0150] In one embodiment, the grid map updating module is further used to set the value of the second target grid in the first grid map to a second threshold if the detection data includes an obstacle and the obstacle has been marked on the first grid map, and the second target grid is the grid occupied by the obstacle in the detection data on the first grid map; if the detection data does not include an obstacle and the obstacle has been marked on the first grid map, reduce the value of the second target grid in the first grid map to obtain a second new grid value; if the second new grid value is less than a third threshold, initialize the second target grid to delete the obstacle in the first grid map.
[0151] In one embodiment, the grid map updating module is further used to set the second threshold value to the first retention time if the number of times the obstacle is retained is the first time; if the number of times the obstacle is retained is not the first time, add the first retention time to the extension time to obtain the second retention time, and set the second threshold value to the second retention time;
[0152] The extension time is determined according to the number of retention times, where the number of retention times is the number of times the obstacle undergoes the obstacle retention process, and the obstacle retention process is the process from marking the obstacle to deleting the obstacle in the first grid map.
[0153] In one embodiment, the grid map update module is further used for, when the obstacle is a static obstacle, if the number of times the obstacle is retained is the first time, setting the second threshold value to the third retention time; if the number of times the obstacle is retained is not the first time, adding the third retention time to the extension time to obtain a fourth retention time, and setting the second threshold value to the fourth retention time; when the obstacle is a dynamic obstacle, if the number of times the obstacle is retained is the first time, setting the second threshold value to the fifth retention time; if the number of times the obstacle is retained is not the first time, adding the fifth retention time to the extension time to obtain a sixth retention time, and setting the second threshold value to the sixth retention time;
[0154] Among them, the third retention time is greater than the fifth retention time, and the extension time is determined according to the number of retention times, the number of retention times is the number of times the obstacle undergoes the obstacle retention process, and the obstacle retention process is the process from marking the obstacle to deleting the obstacle in the second grid map.
[0155] In one embodiment, the grid map update module is specifically used to determine the increase value of the first target grid according to the number of detections and retentions of the obstacle, the number of detections being the number of times the obstacle is detected in the process from marking the obstacle to deleting the obstacle in the second grid map, and the first threshold is greater than the increase value; the value of the first target grid is added to the increase value to obtain the first new grid value.
[0156] Among them, the increase value of the first target grid is determined according to the number of detection times and the number of retention times of the obstacle, including: if the number of detection times and the number of retention times are both the first time, the increase value is set to a first preset value; if the number of detection times is not the first time, the first increment is determined according to the number of detection times; if the number of retention times is not the first time, the second increment is determined according to the number of retention times; the first preset value, the first increment and the second increment are added to obtain a first amplitude, and the increase value is set to the first amplitude.
[0157] In one embodiment, the grid map updating module is specifically used to determine the increase value of the first target grid according to the number of detections and the number of retentions of the obstacle, the number of detections being the number of times the obstacle is detected in the process from marking the obstacle to deleting the obstacle in the first grid map, and the first threshold being greater than the increase value; adding the value of the first target grid to the increase value to obtain a first new grid value;
[0158] Among them, the increase value of the first target grid is determined according to the number of detections and the number of retentions of the obstacle, including: if the number of detections and the number of retentions are both the first time, the increase value is set to a first preset value; if the number of detections is not the first time, the first increment is determined according to the number of detections; if the number of retentions is not the first time, the second increment is determined according to the number of retentions; the first preset value, the first increment, and the second increment are added to obtain a first amplitude; if the obstacle is a static obstacle, the first amplitude is added to the second preset value to obtain a second amplitude, and the increase value is set to the second amplitude; if the obstacle is a dynamic obstacle, the first amplitude is subtracted from the third preset value to obtain a third amplitude, and the increase value is set to the third amplitude.
[0159] In one embodiment, the grid map update module is further used to reduce the value of the first target grid in the second grid map to obtain a first new grid value if the detection data does not include an obstacle and the obstacle has been marked on the second grid map; if the first new grid value is less than a fourth threshold, initialize the first target grid to delete the obstacle in the second grid map.
[0160] Fig.13 This is a schematic diagram of the structure of a robot provided in one embodiment of the present application. Fig.13 As shown, the robot 2 of this embodiment includes: at least one processor 20 ( Fig.13 Only one is shown in the figure), a memory 21, and a computer program 22 stored in the memory 21 and executable on the at least one processor 20, wherein the processor 20 implements the steps of any of the above-mentioned method embodiments when executing the computer program 22.
[0161] The robot 2 may be a computing device such as a desktop computer, a notebook, a PDA, or a cloud server. The robot 2 may include, but is not limited to, a processor 20 and a memory 21. Those skilled in the art will appreciate that Fig.13 This is only an example of the robot 2 and does not constitute a limitation on the robot 2. The robot 2 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot may also include input and output devices, network access devices, etc.
[0162] The processor 20 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0163] In some embodiments, the memory 21 may be an internal storage unit of the robot 2, such as a hard disk or memory of the robot 2. In other embodiments, the memory 21 may also be an external storage device of the robot 2, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the robot 2. Further, the memory 21 may also include both an internal storage unit and an external storage device of the robot 2. The memory 21 is used to store an operating system, an application program, a boot loader (BootLoader), data, and other programs, such as the program code of the computer program. The memory 21 may also be used to temporarily store data that has been output or is to be output.
[0164] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.
[0165] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.
[0166] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.
[0167] An embodiment of the present application provides a computer program product. When the computer program product runs on an electronic device, the electronic device can implement the steps in the above-mentioned method embodiments when executing the computer program product.
[0168] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the camera / terminal device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, RandomAccess Memory), electric carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some cases, the computer-readable medium cannot be an electric carrier signal and a telecommunication signal.
[0169] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0170] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0171] In the embodiments provided in the present application, it should be understood that the disclosed devices / network equipment and methods can be implemented in other ways. For example, the device / network equipment embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0172] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0173] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A robot navigation method, characterized in that: include: Acquire detection data of the robot's sensors at a preset frequency; If the detection data includes an obstacle, and the obstacle is not marked in the first grid map, then increasing the value of a first target grid in the second grid map to obtain a first new grid value, where the first target grid is a grid occupied by the obstacle in the detection data in the second grid map; If the first new grid value is greater than or equal to a first threshold, marking the obstacle to the first grid map according to the first target grid, and initializing the first target grid; The robot is navigated and controlled according to the detection data, the first grid map and the static map.
2. The method according to claim 1, characterized in that After obtaining the detection data of the robot's sensor at a preset frequency, the method further includes: If the detection data includes the obstacle, and the obstacle has been marked on the first grid map, setting the value of a second target grid in the first grid map to a second threshold, the second target grid being the grid occupied by the obstacle in the detection data in the first grid map; If the detection data does not include the obstacle, and the obstacle has been marked in the first grid map, reducing the value of the second target grid in the first grid map to obtain a second new grid value; If the second new grid value is less than a third threshold, the second target grid is initialized to delete the obstacle in the first grid map.
3. The method according to claim 2, characterized in that Before setting the value of the second target grid in the first grid map to the second threshold, the method further includes: If the obstacle is retained for the first time, the second threshold is set to the first retention time; If the number of times the obstacle is retained is not the first time, the first retention time is added to the extension time to obtain a second retention time, and the second threshold is set to the second retention time; The extension time is determined according to the number of retention times, where the number of retention times is the number of times the obstacle undergoes an obstacle retention process, and the obstacle retention process is a process from marking the obstacle to deleting the obstacle in the first grid map.
4. The method according to claim 2, characterized in that: Before setting the value of the second target grid in the first grid map to the second threshold, the method further includes: When the obstacle is a static obstacle, if the number of times the obstacle is retained is the first time, the second threshold is set to the third retention time; if the number of times the obstacle is retained is not the first time, the third retention time is added to the extension time to obtain a fourth retention time, and the second threshold is set to the fourth retention time; When the obstacle is a dynamic obstacle, if the number of times the obstacle is retained is the first time, the second threshold is set to the fifth retention time; if the number of times the obstacle is retained is not the first time, the fifth retention time is added to the extension time to obtain a sixth retention time, and the second threshold is set to the sixth retention time; Among them, the third retention time is greater than the fifth retention time, and the extension time is determined according to the number of retention times, the number of retention times is the number of times the obstacle undergoes an obstacle retention process, and the obstacle retention process is the process from marking the obstacle to deleting the obstacle in the second grid map.
5. The method according to claim 2, characterized in that: The step of increasing the value of the first target grid in the second grid map to obtain a first new grid value includes: Determine the increase value of the first target grid according to the number of detections and the number of retentions of the obstacle, the number of detections being the number of times the obstacle is detected in the process from marking the obstacle to deleting the obstacle in the second grid map, and the first threshold being greater than the increase value; Adding the value of the first target grid to the added value to obtain the first new grid value; The step of determining the increase value of the first target grid according to the number of detections and the number of retentions of the obstacle includes: If both the detection times and the retention times are the first time, the increase value is set to a first preset value; If the detection number is not the first time, determining a first increment according to the detection number; If the number of retention times is not the first time, determining a second increment according to the number of retention times; The first preset value, the first increment, and the second increment are added to obtain a first amplitude, and the added value is set to the first amplitude.
6. The method according to claim 2, characterized in that The step of increasing the value of the first target grid in the second grid map to obtain a first new grid value includes: Determine the increase value of the first target grid according to the number of detections and the number of retentions of the obstacle, the number of detections being the number of times the obstacle is detected in the process from marking the obstacle to deleting the obstacle in the second grid map, and the first threshold being greater than the increase value; Adding the value of the first target grid to the added value to obtain the first new grid value; The step of determining the increase value of the first target grid according to the number of detections and the number of retentions of the obstacle includes: If both the detection times and the retention times are the first time, the increase value is set to a first preset value; If the detection number is not the first time, determining a first increment according to the detection number; If the number of retention times is not the first time, determining a second increment according to the number of retention times; Adding the first preset value, the first increment, and the second increment to obtain a first amplitude; If the obstacle is a static obstacle, the first amplitude is added to a second preset value to obtain a second amplitude, and the added value is set to the second amplitude; If the obstacle is a dynamic obstacle, the first amplitude is subtracted from a third preset value to obtain a third amplitude, and the added value is set to the third amplitude.
7. The method according to any one of claims 1 to 6, characterized in that: After obtaining the detection data of the robot's sensor at a preset frequency, the method further includes: If the detection data does not include the obstacle, and the obstacle has been marked in the second grid map, reducing the value of the first target grid in the second grid map to obtain the first new grid value; If the first new grid value is less than a fourth threshold, the first target grid is initialized to delete the obstacle in the second grid map.
8. A robot navigation device, characterized in that: include: An acquisition module, used to acquire detection data of the robot's sensors at a preset frequency; A grid map updating module, configured to increase the value of a first target grid in a second grid map to obtain a first new grid value if the detection data includes an obstacle and the obstacle is not marked in the first grid map, wherein the first target grid is a grid occupied by the obstacle in the detection data in the second grid map; and further configured to mark the obstacle to the first grid map according to the first target grid and initialize the first target grid if the first new grid value is greater than or equal to a first threshold; A navigation module is used to perform navigation control on the robot according to the detection data, the first grid map and the static map.
9. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Obstacle map construction method, device and equipment and storage medium
CN112729320A
Dynamic obstacle elimination method in laser radar positioning and related method and device
CN114325759A
Map construction method, control method, robot and computer readable storage medium
CN114510028A
Raster map updating system and method, computer equipment and storage medium
CN115143951A
Obstacle detection method, robot and computer readable storage medium
CN116661468A
