Method for a robot to identify a narrow passage and narrow passage navigation method
By marking gaps to be identified in a grid map and using a back-and-forth coverage method to identify narrow paths, and combining sensor information to optimize path planning, the problem of difficult path searching for robotic vacuum cleaners in narrow paths has been solved, achieving efficient navigation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-20
- Publication Date
- 2026-03-10
AI Technical Summary
In existing technologies, when robotic vacuum cleaners identify and navigate narrow passages, improper settings of the grid map accuracy can lead to difficulties in path searching, making it easy to misjudge narrow passages as obstacles and prevent them from effectively passing through them.
By marking gaps to be identified in a grid map and repeatedly entering and exiting narrow passages using a preset back-and-forth coverage method, the narrow passage path is identified by combining ranging and collision sensors. Image erosion processing is used to optimize path planning and select the navigation path with the shortest trajectory length.
It improves the path recognition accuracy and navigation efficiency of robotic vacuum cleaners in narrow passages, reduces misjudgments and resource consumption, and ensures that the robot can efficiently pass through narrow passages to reach the target location.
Smart Images

Figure CN117292246B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot path planning, and more particularly to a method for robot to identify narrow passages and a method for navigation in narrow passages. Background Technology
[0002] In the working environment of a robotic vacuum cleaner, there is a working area defined by walls, and a non-working area between two walls. This non-working area generally refers to a narrow passageway, or simply a narrow passage. The entrance and exit of this narrow passageway are both designated as "narrow passage openings." Thus, within the robotic vacuum cleaner's working environment, wall obstacles divide the space into narrow passageways or multiple room areas with narrow passageways. The narrow passageway is flanked by the outlines of two obstacles. When setting the movement path, the robotic vacuum cleaner is generally considered as a single point. To facilitate the robotic vacuum cleaner's movement to a target location within another room area, the movement path may need to pass through a narrow passageway.
[0003] In the process of robot identification of narrow passages, dimensional features are analyzed using grids marked with corresponding environmental information. The size of the grid determines the accuracy of the grid map, and is also related to the resources consumed by memory and CPU computing power. Larger grids represent lower accuracy of environmental information, while smaller grids represent higher accuracy, which is reflected in details such as path search and map matching. A grid typically refers to a square, and the size of a grid is represented by its side length. Path search algorithms generally recursively search grids. The more grids in the search area, the more recursive the number of recursions increases exponentially. Therefore, while smaller grids offer an advantage in accuracy, they consume more memory and CPU computing power. On the other hand, if the grid side length is set large enough, when the robot collides with a narrow passage, all grids representing the entrance to the narrow passage will be marked as obstacle grids, causing the robot to fail to find a path through the narrow passage during path search. Summary of the Invention
[0004] To address the challenges of narrow passage recognition and navigation for robots, this invention discloses a method for robot narrow passage recognition and navigation. Under the premise of a moderate grid size (neither too large nor too small), it accurately identifies narrow passage information within a grid map, providing a foundation for the robot to plan efficient paths through narrow passages. The specific technical solution is as follows:
[0005] A method for a robot to identify narrow passages includes: marking openings formed between obstacles as gaps to be identified at corresponding grid points on a grid map pre-acquired by the robot; during the process of the robot repeatedly entering and exiting the passage containing the gaps according to a preset back-and-forth covering pattern, the robot identifies the unit back-and-forth path as a narrow passage path based on the distance between the inside and outside of the passage containing the gaps, and identifies the passage containing the gaps as a narrow passage, marking the narrow passage path and the narrow passage at corresponding grid points on the grid map; wherein, the unit back-and-forth path is a path formed by the robot entering the passage containing the gaps at least twice according to the preset back-and-forth covering pattern, such that the robot exits the passage containing the gaps once during the period between the two entries into the passage containing the gaps.
[0006] Furthermore, assuming the robot has not entered the channel containing the gap to be identified or has already traversed the channel containing the gap to be identified, when the robot detects that the width of the gap to be identified is within a preset width range, the robot marks the gap to be identified as a candidate narrow opening in the grid map and sets the confidence level of the candidate narrow opening to the first path confidence level. assuming the robot has not entered the channel containing the gap to be identified or has already traversed the channel containing the gap to be identified, when the robot comes into contact with the gap to be identified, the robot marks the gap to be identified as a candidate narrow opening in the grid map and sets the confidence level of the candidate narrow opening to the second path confidence level. The first path confidence level is greater than the second path confidence level. Both the first path confidence level and the second path confidence level are used to indicate the robot's passability at the corresponding candidate narrow opening.
[0007] Further, the gap to be identified is an opening between the outlines of two obstacles, and the channel containing the gap is a channel formed by the outlines of the two obstacles as boundary lines; wherein, the outlines of the two obstacles are marked at the corresponding grids on the grid map; the width of the gap to be identified is the distance between the grids containing the two endpoints of the gap on the robot's travel plane, the two endpoints of the gap to be identified are respectively located on the outlines of the corresponding obstacles, and the grids containing the two endpoints of the gap to be identified are obstacle grids, and the internal area of the gap to be identified is filled by free grids; when the width of the gap to be identified is greater than the width of the robot's body, it is determined that the gap to be identified allows the robot to enter; when the width of the gap to be identified is less than the width of the robot's body, it is determined that the gap to be identified does not allow the robot to enter; wherein, whenever the robot enters the channel containing the gap to be identified, the outline of the obstacle it collides with is marked as the boundary line of the channel containing the gap to be identified.
[0008] Further, the unit turnaround path includes a first unit turnaround path segment and a second unit turnaround path segment; the robot reciprocates inside the channel where the gap to be identified is located according to a preset turnaround coverage method to form the first unit turnaround path segment, wherein the first unit turnaround path segment includes two adjacent trajectories, and the robot marks the two adjacent trajectories included in the first unit turnaround path segment as a first trajectory pair; the robot reciprocates outside the channel where the gap to be identified is located according to a preset turnaround coverage method to form the second unit turnaround path segment, wherein the second unit turnaround path segment includes two adjacent trajectories, and the robot marks the two adjacent trajectories included in the second unit turnaround path segment as a second trajectory pair; when the spacing of the first trajectory pair is less than that of the second trajectory pair... When the spacing of the first trajectory pair or the spacing of the first trajectory pair is within a preset width range, the robot identifies the unit turnaround path as a narrow path and the channel where the gap to be identified is located as a narrow channel. The robot then sequentially marks the first unit turnaround path segment formed inside the narrow channel, the second unit turnaround path segment formed outside the narrow channel, and the narrow channel itself onto the corresponding grid cells of the grid map. The minimum value of the preset width range is greater than the robot's body width. The spacing of the first trajectory pair represents the displacement of the first unit turnaround path segment in the width direction inside the channel where the gap to be identified is located. The spacing of the second trajectory pair is the spacing between the two adjacent trajectories included in the second unit turnaround path segment.
[0009] Further, the first trajectory pair includes a first straight line segment trajectory and a first two straight line segment trajectory that are parallel to each other. The first straight line segment trajectory and the first two straight line segment trajectory are connected by a first bend line or a first preset line segment. The movement direction of the robot on each straight line segment trajectory in the first trajectory pair is configured to be the same as the movement direction of the robot on a corresponding trajectory in the second trajectory pair connected to that straight line segment trajectory. The walking direction of the robot on the first straight line segment trajectory is opposite to the walking direction of the robot on the first two straight line segment trajectory. Wherein, the smaller the width of the gap to be identified or the width of the channel where the gap to be identified is located, the smaller the spacing of the first trajectory pair is set. The spacing between the first straight line segment trajectory and the first two straight line segment trajectory is the spacing of the first trajectory pair. Wherein, during the process of the robot repeatedly entering and exiting the channel where the gap to be identified is located according to the preset folding and covering method, if the robot enters the channel where the gap to be identified is located from the first area and then returns to the first area from the channel where the gap to be identified is located, the first trajectory pair is connected to the second trajectory pair through a third bend line or a third preset line segment. The first area is located outside the channel where the gap to be identified is located.
[0010] Furthermore, the second trajectory pair includes a second straight line segment trajectory and a second double straight line segment trajectory that are parallel to each other. The second straight line segment trajectory and the second double straight line segment trajectory are connected by a second bend line or a second preset line segment. The distance between the second straight line segment trajectory and the second double straight line segment trajectory is greater than the maximum value of a preset width range. The distance between the second straight line segment trajectory and the second double straight line segment trajectory is the distance between the second trajectory pair. The second unit turnaround path segment and the first unit turnaround path segment both belong to the bow-shaped path, so that the unit turnaround path is formed by connecting multiple bow-shaped paths with different trajectory spacings end to end. The walking direction of the robot on each straight line segment trajectory in the second trajectory pair is configured to be the same as the walking direction of the robot on the corresponding trajectory in the first trajectory pair connected to that straight line segment trajectory. The robot's movement direction on the second first trajectory is opposite to the robot's movement direction on the second second trajectory.
[0011] Furthermore, when the robot walks inside the narrow passage, the shortest distance between the two boundary lines of the narrow passage and the corresponding side of the robot is within a preset gap distance range; or, when the robot enters the entrance of the narrow passage and the center of the robot is on the same straight line as the two endpoints of the entrance of the narrow passage, the shortest distance between the two endpoints of the entrance of the narrow passage and the corresponding side of the robot is within a preset gap distance range; wherein, the preset width range is equal to twice the preset gap distance range plus the robot's body width; the width of the entrance of the narrow passage or the width of the narrow passage is within a preset width range; wherein, the distance between the openings on both sides of the narrow passage is greater than or equal to the length of each trajectory in the first trajectory pair; the openings on both sides of the narrow passage are the entrance and the exit of the narrow passage, respectively; wherein, the side length of each grid corresponds to 5 cm, 10 cm, or 15 cm within the actual working area of the robot.
[0012] A narrow-path navigation method includes: after a robot executes the method for identifying narrow paths, the robot marks the narrow path and the narrow path at corresponding grid points in a grid map; then, starting from the current position, the robot searches for paths leading to a navigation target location within the grid map using a neighborhood search method to obtain a first set of paths to be navigated; the robot performs image erosion processing on the narrow path or the narrow path within the grid map to search for paths leading to the navigation target location, obtaining a second set of paths to be navigated; the robot selects the first path to be navigated with the shortest navigation trajectory from the first set of paths to be navigated as the first target navigation path, and then selects the second path to be navigated from the second set of paths to be navigated. The robot selects the second navigation path with the shortest navigation trajectory length from the set of navigation paths and sets it as the second target navigation path; wherein, the navigation trajectory length is the length of the trajectory extending from the current position to the navigation target position; based on the difference in trajectory length between the first target navigation path and the second target navigation path, the robot selects a target navigation path that does not pass through the narrow passage or does not contact the narrow passage as the final navigation path, or selects the target navigation path with the shortest trajectory length as the final navigation path; wherein, both the first target navigation path and the second target navigation path are target navigation paths; then the robot starts from the current position and walks along the final navigation path to the navigation target position.
[0013] Further, the method of selecting a target navigation path that does not pass through the narrow passage or does not contact the narrow passage as the final navigation path, or selecting the target navigation path with the shortest trajectory length as the final navigation path, based on the difference in trajectory length between the first target navigation path and the second target navigation path, includes: when the absolute value of the difference between the trajectory length of the first target navigation path and the trajectory length of the second target navigation path is greater than or equal to a preset distance threshold, selecting the target navigation path with the shortest trajectory length as the final navigation path; when the absolute value of the difference between the trajectory length of the first target navigation path and the trajectory length of the second target navigation path is less than the preset distance threshold, selecting a target navigation path that does not pass through the narrow passage or does not contact the narrow passage as the final navigation path; when... When neither the first nor the second target navigation path passes through the narrow passage, or neither contacts the narrow passage, the target navigation path with the shortest trajectory length is selected as the final navigation path. A target navigation path that does not pass through the narrow passage is located outside the narrow passage. A target navigation path that does not contact the narrow passage refers to a path where none of its grid cells overlap with any grid cell in the narrow passage, located outside the narrow passage. The path width of each target navigation path is set to be greater than the width of a robot's body. A target navigation path that passes through the narrow passage is one where a portion of the path lies between the boundary lines on both sides of the narrow passage, with the starting point of this portion located at the entrance of the narrow passage and the ending point located at the exit of the narrow passage.
[0014] Further, when the trajectory length of the first target navigation path is greater than the trajectory length of the second target navigation path, and when the absolute value of the difference between the trajectory lengths of the first and second target navigation paths is greater than or equal to a preset distance threshold, or when neither the first nor the second target navigation path passes through the narrow passage or contacts the narrow passage, the robot sets the second target navigation path as the final navigation path; wherein, the ratio of the preset distance threshold to the trajectory length of the first or second target navigation path is set to 20%. When the trajectory length of the first target navigation path is less than the trajectory length of the second target navigation path, and when the absolute value of the difference between the trajectory lengths of the first and second target navigation paths is less than a preset distance threshold, or when neither the first nor the second target navigation path passes through the narrow passage or contacts the narrow passage, the robot sets the first target navigation path as the final navigation path; wherein, the ratio of the preset distance threshold to the trajectory length of the first or second target navigation path is set to 20%.
[0015] Furthermore, if the first path to be navigated does not exist in the set of first paths to be navigated, then the second path to be navigated exists in the set of second paths to be navigated; wherein, the second path to be navigated through the narrow passage includes the narrow passage path and / or a second path to be navigated consisting of part or all of the narrow passage path.
[0016] Furthermore, during the robot's movement along the final navigation path, when the robot reaches or enters the narrow passage through the candidate narrow opening, if the robot detects that the number of collisions with the candidate narrow opening or the boundary line of the narrow passage exceeds a preset number within a preset time, then the robot is controlled to begin walking along one boundary line of the narrow passage where the candidate narrow opening is located, and stops continuing to walk along the final navigation path. Instead, the robot passes through the narrow passage where the candidate narrow opening is located by walking along the outline of the obstacle on the robot's corresponding side; wherein, the candidate narrow opening is a passage formed between two obstacles that allows the robot to pass through. The gap to be identified belongs to the entrance of the narrow passage; the narrow passage is a channel formed by the outlines of the two obstacles; the minimum distance between points on the outlines of the two obstacles is greater than or equal to the minimum value of a preset width range; wherein, during the process of the robot searching for each path leading to the navigation target location in the grid map, according to the direction from the current position to the navigation target location, the grid corresponding to the searched path is marked with an index number in an orderly manner, and the extension direction of the grid corresponding to the index number sorted from small to large is set as the walking direction of the robot on the searched path, so as to determine the walking direction of the robot on the final navigation path.
[0017] Furthermore, the robot's current position is in the first working area, and the navigation target position is in the second working area; the first working area and the second working area are different areas; the first working area is connected to the entrance of the narrow passage, and the second working area is connected to the exit of the narrow passage, so that the robot can enter the second working area from the first working area or return to the first working area from the second working area through the narrow passage; wherein, the left and right ends of the entrance of the narrow passage are respectively provided with walls to divide the first working area and the second working area.
[0018] Furthermore, the method for the robot to perform image erosion processing on the narrow passage or the narrow passage path within the grid map to search for paths leading to the navigation target location and obtain a set of second navigation paths includes: the robot eroding the grids on both sides of the narrow passage or all the grids in the narrow passage towards the four quadrants in the grid map, or the robot eroding the grids on both sides of the narrow passage path or all the grids in the narrow passage path towards the four quadrants in the grid map; by using the erosion image processing method, some free grids are set as obstacle grids, the free grid area connected to the narrow passage or the narrow passage path is reduced, at least one path leading to the navigation target location is retained, and each retained path leading to the navigation target location is set as a second navigation path, and then the set of second navigation paths is formed.
[0019] Furthermore, the method by which the robot searches for paths leading to the navigation target location within the grid map using a neighborhood search to obtain a first set of paths to be navigated includes: within the grid map, the robot uses its current position as the search starting point, and searches for free grids as path nodes in the neighborhood of the search starting point in the direction pointing from the current position to the navigation target location, ensuring that the path nodes are not located on the outline of obstacles. The robot finds multiple path nodes in the neighborhood of the search starting point; then, each path node is set as the search starting point, and free grids are searched again in the neighborhood of each search starting point in the direction pointing from the current position to the navigation target location. This process is repeated until the navigation target location is found, and the searched grids are connected in the order of the search to form a first set of paths to be navigated.
[0020] The beneficial technical effect of this invention is that, in order to identify a narrow passage, the robot is controlled to traverse a pre-determined passage containing a gap to be identified according to a preset back-and-forth covering pattern (completing at least one cycle of back-and-forth covering to repeatedly enter and exit the corresponding passage multiple times), or the robot is controlled to enter the passage containing the gap to be identified twice consecutively (repeated once) according to the preset back-and-forth covering pattern to pass through the passage containing the gap to be identified and to travel back and forth between the inside and outside of the passage containing the gap to be identified. During this back-and-forth movement, the preset back-and-forth covering pattern will change according to a predetermined time interval or the length of the straight trajectory, and will not maintain the same extension direction (same trajectory direction) for a long time. Therefore, the robot is less affected by the slippage error of the drive wheels. Thus, based on the change in the spacing of the back-and-forth path segments generated by the robot actually traversing the same passage containing the gap to be identified, it is determined whether the passage containing the gap to be identified is a narrow passage. The path actually generated by the robot passing through the narrow passage is then set as a narrow passage path with narrow passage information, which can be marked as a narrow passage path. The robot's working path through narrow passages can also be transformed into a navigation path through erosion processing. The design of the grid side length, channel width, width of the gap to be identified, and trajectory spacing takes into account the number of grid cells filling the map. This, combined with the robot's trajectory information from its actual traversal and the gap information formed by obstacle outlines, allows the robot to accurately identify narrow passages. This enables the robot to accurately distinguish narrow passages within the environment of a robotic vacuum cleaner, lawnmower, or other mobile toys, overcoming the influence of accumulated sensor positional offset errors. It avoids situations where the width of the narrow passage is so small that the grid area within the narrow passage or its opening is easily misjudged as a wall obstacle blocking the robot's passage, meeting the robot's real-time positioning requirements without increasing navigation and positioning costs. Regardless of how small the spacing of the robot's trajectory in the opposite direction within the passage containing the gap to be identified becomes, the shape of the bow-shaped path the robot relies on remains unchanged, improving the adaptability of the grid map constructed by the robot to the environment. The ability to accurately identify narrow passages in the working environment before the robot's path planning provides a foundation for planning an efficient path for the robot to pass through.
[0021] After marking narrow paths and passages on the grid map, the robot performs image erosion processing using the narrow paths. Under the constraint of the narrow path width, the erosion is performed in the direction of the narrow path to obtain a second navigable path that may pass through the narrow path. Alternatively, without relying on the narrow paths and passages, a first navigable path to the navigation target location is planned through neighborhood search using the A* or D* algorithm. The robot selects the second target navigation path and the first target navigation path with the shortest trajectory length from the two types of navigation paths. Then, after weighing the difference in trajectory length between the navigation paths planned under these two different search methods and the possibility of passing through the narrow path, the final target navigation path is selected. This makes the robot's navigation from the current position to the navigation target location smoother or the navigation path shorter, thus improving the robot's work efficiency. Attached Figure Description
[0022] Figure 1 This is a flowchart of a method for a robot to identify narrow passages, as disclosed in one embodiment of the present invention.
[0023] Figure 2 This is a flowchart of a narrow-channel navigation method disclosed in one embodiment of the present invention. Detailed Implementation
[0024] The technical solutions of the embodiments of the present invention will be described in detail below with reference to the accompanying drawings. To further illustrate the embodiments, the present invention provides accompanying drawings. These drawings are part of the disclosure of the present invention, mainly used to illustrate the embodiments, and can be used in conjunction with the relevant descriptions in the specification to explain the operating principles of the embodiments. With reference to these drawings, those skilled in the art should be able to understand other possible implementations and the advantages of the present invention. The flowchart depicts a process or method. Although the flowchart describes the steps as sequential processes, many of the steps can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the steps can be rearranged. The process can be terminated when its operation is complete, but may also have additional steps not included in the drawings. The process can correspond to a method, function, procedure, subroutine, subroutine, etc.
[0025] It should be noted that, as will be understood by those skilled in the art, the grid map marks the environmental information surrounding the robot's current position. The grid map area constructed by the robot includes three states: free, occupied, and unknown. In this embodiment, these grids can be represented by grid points, i.e., the center point of the grid. A free grid refers to a grid that is not occupied by obstacles, representing a grid position point that the robot can pass through. It is marked as a free grid in the grid map. Multiple free grids form an unoccupied area, allowing the robot to move freely within this unoccupied area. An occupied grid refers to a grid that is occupied by obstacles. It is marked as an obstacle grid in the grid map. Multiple obstacle grids can form an occupied area. An unknown grid refers to a grid that the robot marks in the grid map where its specific situation is unclear. Its actual location is often obscured by obstacles, and it can form an unknown area. Based on this, the robot completes the construction of the grid map by scanning the surrounding environment using relevant ranging sensors or vision sensors (marking environmental feature information on each grid within the map image area).
[0026] As one embodiment, a method for robot identification of narrow passages is disclosed. The robot identification method is executed by an autonomously moving robot, particularly a cleaning robot that walks on the ground surface, a lawnmower robot that walks in a lawn area with narrow passages defined by boundary lines, a floor scrubber, and a security patrol robot, etc., but this is not intended to limit the applicable subject of the robot identification method. The robot is equipped with inertial sensors (including but not limited to odometers for measuring walking distance, collision sensors for detecting collision states with obstacles, and gyroscopes for measuring the body rotation angle), ranging sensors (including but not limited to TOF sensors and lidar), or vision sensors (which can be any type of depth information acquisition device, including but not limited to monocular cameras, binocular cameras, etc.) to detect two-dimensional point cloud data of the surrounding environment and construct a two-dimensional point cloud map in a timely manner. The number of sensors installed on the robot body can be one or more. In some embodiments, the robot also includes a communication device for sending the map image corresponding to the constructed two-dimensional point cloud map to an electronic device, and then displaying the map image in a grid form on the display screen of a mobile terminal. The user can understand the robot's passable area by viewing the map image. The robot's internal controller reads images collected by sensors in real time, constructs a point cloud model to create a point cloud map, and then converts pixel coordinates into world coordinates. The point cloud map is then projected and converted into a two-dimensional grid map that can be used for robot navigation, referred to as a grid map. This grid map reflects the environmental information detected by the mobile robot on the travel plane. Then, the grid map can be used to construct the map by executing a preset image processing algorithm to generate a corresponding map image. This generates two-dimensional landmark information that corresponds one-to-one with the point cloud positions of the two-dimensional point cloud map, so as to facilitate related image processing operations within the map image, optimize the visualization effect of the channels distributed in the original map image, and search for map information that allows the robot to actually pass.
[0027] Within a robot's work area, there are work areas defined by boundary lines, and non-work areas formed between obstacles, or between work areas defined by boundary lines. A non-work area can be formed between corresponding boundary lines of two work areas, or between gaps and passages between two wall obstacles. These non-work areas generally refer to narrow passages, often called "narrow channels." The entrance and exit of a narrow channel are both designated as "narrow channel openings," with the outlines of two obstacles on either side. When setting the movement path, the robot is typically treated as a single point. To facilitate the robot's movement to the target location, the movement path may pass through narrow channels. Generally, gaps between two or more obstacles (such as passages between two walls) are displayed as free channels on the grid map. A free channel connects two different work areas and, provided its width is greater than the robot's body width, can be a passage for the robot to pass through. The system first identifies passable paths for humans, then specifically identifies narrow passages and entrances within a grid map by detecting the passage's entrance, exit, length, and width. It also determines the location of these narrow passages, such as identifying a grid area for a doorway beneath a wall, a passage between two walls, or a passage enclosed by three walls with only one gap to be identified. In the robot's actual working environment, passages have certain characteristics, including three-dimensional shape and size features. During the robot's identification process, the collected environmental information needs to be converted into a two-dimensional grid map, where it is recorded by corresponding grid cells. The size of the grid cell determines the accuracy of the grid map. The grid size is also related to memory and CPU resource consumption; larger grid cells indicate lower accuracy, while smaller grid cells indicate higher accuracy but consume more memory and CPU resources, which is reflected in details such as path search and map matching. A grid cell typically refers to a square; for example, a grid cell of 10cm means its side length is 10cm. Pathfinding algorithms typically employ a recursive grid-based search. The more grid cells within the search area, the more exponentially the number of recursions occurs. For narrow passages, theoretically, smaller grid cells improve the accuracy of their marking on the map. However, this significantly increases the number of grid cells needed to represent an obstacle, leading to substantial memory consumption. Furthermore, the computational processes for localization, matching, and path planning are time-consuming. Therefore, a compromise must be reached regarding grid size; it cannot be too large or too small.When marking grids, if the grid's side length is set too large, when the robot collides with one end of a narrow passage, the free passage area inside the narrow passage will be marked as an obstacle grid in the grid map. Here, the narrow passage is either the entrance or the exit of the narrow passage. Furthermore, if the grid's side length is set too large, the entire grid occupied by the narrow passage will be marked as an obstacle grid. As a result, the robot will exclude the narrow passage from its passable area when searching for a path. Therefore, the grid size causes the robot to misjudge the narrow passage, and the robot cannot find a path to enter the narrow passage, preventing the robot from reaching its destination through the narrow passage.
[0028] To avoid marking entrances to passages that are normally accessible to the robot as obstacle grids within the grid map and defining them as impassable areas by the robot, and to reduce the number of grids searched and the computational load, this embodiment discloses a method for robot identification of narrow passages to select those with higher passability, without setting the grid side length too small. Figure 1 As shown, it includes:
[0029] Step S101: The robot pre-acquires a grid map, which describes the area where the robot is located. Each grid cell in the grid map may not have been marked with environmental information, while some grid cells may have been marked with corresponding environmental information after the robot passes through gaps formed between obstacles. Within the area where the robot is located, there are doorways on the horizontal ground that penetrate two adjacent room areas, and gaps between two parallel walls. In this embodiment, the entrance of the doorway or the entrance of the gap is set as an opening formed between obstacles, which is an opening formed between the outlines of at least two obstacles. These obstacles may exist in isolation or be connected. When the robot uses a ranging sensor to scan the surrounding environment, the two endpoints and the width of the opening are scanned by the robot's ranging sensor, that is, the two endpoints of the opening are scanned as corresponding point clouds and converted to the corresponding grid cells in the grid map. Therefore, in step S101, the opening formed between obstacles is marked as a gap to be identified at the corresponding grid cell in the grid map pre-acquired by the robot, and then step S102 is executed. In some embodiments, when the robot senses its surroundings through collisions, it marks the outline points or outlines of obstacles it collides with onto the corresponding grid cell in the grid map whenever the robot's collision sensor contacts the two endpoints of the opening. In some embodiments, an evaluation quantity is also introduced to represent the robot's passability at the gap to be identified or its corresponding grid cell (the number of free grid cells between the two endpoints or their proportion within the opening width range). This quantity can represent the probability of passage in the corresponding grid area. Generally, the confidence level assigned to the robot when it scans the gap to be identified using a ranging sensor is higher than the confidence level assigned to the robot when it detects the gap through collision, because the positioning accuracy of the ranging sensor is higher than the positioning accuracy generated by the robot's physical contact.
[0030] Step S102: As the robot repeatedly enters and exits the channel where the gap to be identified is located according to the preset back-and-forth coverage method, the robot simultaneously records and marks the environmental information of the channel where the gap is located (including the entrance position, exit position, channel length and width) scanned or touched by the sensor into the corresponding grid cell of the grid map. Based on the distance between the inside and outside of the channel where the gap to be identified is located, the robot identifies the unit back-and-forth path as a narrow path. At the same time, the openings on both sides of the channel where the gap to be identified is located are set as candidate narrow openings, and the channel where the gap to be identified is identified as a narrow path is formed as the narrow path where the candidate narrow opening is located. The narrow path, the narrow path, and the candidate narrow opening are marked sequentially into the corresponding grid cell of the grid map. In step S102, the robot autonomously moves to the channel where the gap to be identified is located to verify whether the channel is the narrow channel. It distinguishes narrow channels that are prone to grid information marking errors. Then, the path that repeatedly enters and exits the channel where the gap to be identified is identified as a narrow channel path and marked in the grid map. The environmental information originally marked by the grid at the same position can be updated. Generally, the robot will also mark the first grid in the channel where the gap to be identified is located as the entrance point of the channel where the gap to be identified is located, and the robot will mark the last grid in the channel where the gap to be identified is located as the exit point of the channel where the gap to be identified is located. The marking can be updated to the corresponding grid in the grid map. A unit turnaround path is a path formed by the robot entering the channel containing the gap to be identified at least twice according to a preset turnaround coverage pattern. During the robot's movement according to the preset turnaround coverage pattern, there is a period between each two entries into the channel containing the gap to be identified, during which the robot exits the channel once. Preferably, the unit turnaround path is a unit path that repeatedly enters and exits the channel containing the gap to be identified. The unit turnaround path enters the channel containing the gap to be identified twice, and during each two consecutive entries into the channel containing the gap to be identified, there is a period between extending out of the channel. This causes the spacing between the two corresponding trajectories of the unit turnaround path to change with the width of the channel. Therefore, the narrow path, after verification by the narrow path, reduces the possibility of misidentifying the channel containing the gap to be identified as a narrow path due to changes in the actual environment and time. It can also be used for navigation path planning to facilitate smooth and efficient passage through the narrow path.
[0031] It should be noted that the width of the narrow passage is greater than the width of the robot's body, and the upper limit of the width of the narrow passage is slightly greater than the width of the robot's body. The gap to be identified in step S102 is a channel. The gap to be identified is the entrance of the channel, which is also equivalent to a gap between two wall obstacles. Its width allows the robot to pass freely, so that the robot can enter and exit the channel where the gap to be identified is located according to the planned path. In some embodiments, the robot may collide with the two ends of the gap to be identified or the boundary lines on both sides of the channel where the gap to be identified is located. However, the robot can enter and exit the channel where the gap to be identified is located and can also maintain a certain gap with the boundary lines on both sides of the channel where the gap to be identified is located to ensure the safety of the robot body.
[0032] Specifically, the unit turnaround path includes a first unit turnaround path segment and a second unit turnaround path segment. The first unit turnaround path segment is located inside the channel where the gap to be identified is located and consists of two adjacent trajectories extending in opposite directions. These two trajectories can both be straight lines or both be curves. The second unit turnaround path segment is located outside the channel where the gap to be identified is located and consists of two adjacent trajectories extending in opposite directions. These two trajectories can both be straight lines or both be curves. The first unit turnaround path segment can be directly connected to the second unit turnaround path segment or through other broken line segments. Preferably, the first unit turnaround path segment includes more than two trajectories. Correspondingly, the second unit turnaround path segment includes more than two trajectories, and the number of trajectories included in the second unit turnaround path segment can be equal to the number of trajectories included in the first unit turnaround path segment. The robot travels back and forth inside the channel where the gap to be identified is located according to a preset back-and-forth coverage pattern, forming a first unit back-and-forth path segment. The first unit back-and-forth path segment includes two adjacent trajectories, which can be parallel or intersecting. Correspondingly, the robot travels back and forth outside the channel where the gap to be identified is located according to a preset back-and-forth coverage pattern, forming a second unit back-and-forth path segment. The second unit back-and-forth path segment includes two adjacent trajectories, which can be set in parallel.
[0033] As an implementation of parallel trajectory, since the width of the narrow passage is only slightly larger than the robot's body width, in order to reduce the number of collisions with the sides of the passage containing the gap to be identified and the accumulated error of turning angles during the narrow passage identification process, the first unit turnaround path segment is generally not limited to consisting of two adjacent trajectories with intersecting turnarounds. Instead, the two adjacent trajectories included in the first unit turnaround path segment are set as two adjacent straight line segments that are parallel to each other, parallel to the boundary lines on both sides of the passage containing the gap to be identified, so as to form an arc-shaped path for the first unit turnaround path segment. Therefore, when the robot marks the two adjacent parallel straight line segments included in the first unit turnaround path segment as the first trajectory pair, the spacing of the first trajectory pair is the spacing of the two adjacent parallel straight line segments included in the first unit turnaround path segment; the spacing of the first trajectory pair also represents the spacing of the first unit turnaround path, specifically the displacement generated by the robot in the width direction inside the passage containing the gap to be identified during the first unit turnaround path segment. Based on the robot's designation of the two adjacent trajectories within the first unit turnaround path segment as two parallel adjacent straight line segments, the robot also designates the two adjacent trajectories within the second unit turnaround path segment as two parallel adjacent straight line segments, combining them with the first unit turnaround path segment to form a bow-shaped path. The robot marks the two parallel adjacent trajectories within the second unit turnaround path segment as the second trajectory pair. Since the second trajectory pair is formed outside the channel containing the gap to be identified, it is not constrained by the channel containing the gap to be identified relative to the first trajectory pair. Therefore, the spacing between the second trajectory pairs can be greater than or equal to the spacing between the first trajectory pairs, distinguishing whether the robot is moving inside or outside the channel containing the gap to be identified according to the preset turnaround coverage method. Specifically, the spacing of the second trajectory pair is the spacing between two adjacent parallel straight line segments included in the second unit turnaround path segment. It is also a spacing preset by the robot and will not change with the width of the channel where the gap to be identified is actually traversed by the robot. When the channel where the gap to be identified is located exceeds the width of the robot's body by a large distance, the spacing of the first trajectory pair may remain equal to the spacing of the second trajectory pair as the width of the channel where the gap to be identified is actually traversed by the robot increases, so as to form a complete bow-shaped path.
[0034] As an implementation of intersecting trajectories, if frequent turns and collisions are not considered, the two adjacent trajectories included in the first unit turnaround path segment can be set as two intersecting adjacent trajectories. These two intersecting adjacent trajectories can be curved trajectories, enabling crisscrossing forward movement and return to the channel containing the gap to be identified. Therefore, when the robot sets the two intersecting adjacent trajectories included in the first unit turnaround path segment as the first trajectory pair, the spacing of the first trajectory pair is the spacing of the two intersecting adjacent trajectories included in the first unit turnaround path segment. This spacing can represent the maximum displacement of the first unit turnaround path in the width direction within the channel containing the gap to be identified, allowing the robot to move within the channel containing the gap to be identified according to a preset turnaround coverage method. Similarly, to ensure the robot's movement within the first unit turnaround path segment... To ensure the continuity of the back-and-forth movement on the path segment and the second unit turnaround path segment, so as to smoothly move back and forth outside the channel where the gap to be identified is located and back and forth inside the channel where the gap to be identified is located according to the preset turnaround coverage method, the two adjacent trajectories included in the second unit turnaround path segment can be set as two intersecting adjacent trajectories. The two intersecting adjacent trajectories included in the second unit turnaround path segment can be two intersecting curved trajectories. When the robot sets the two intersecting adjacent trajectories included in the second unit turnaround path segment as the second trajectory pair, the spacing of the second trajectory pair is the spacing of the two intersecting adjacent trajectories included in the second unit turnaround path segment, which represents the maximum displacement of the second unit turnaround path in the width direction of the channel where the gap to be identified is located, but it occurs outside the channel where the gap to be identified is located.For example: the robot will move along the first curved trajectory to the left, away from the right boundary line of the channel where the gap to be identified is located (relative to the outline of the obstacle to the right of the robot's current position), to one end of the first curved trajectory. Then, from one end of the first curved trajectory, it will move to one end of the second curved trajectory. Then, along the second curved trajectory, it will move to the right, closer to the right boundary line of the channel where the gap to be identified is located (relative to the outline of the obstacle to the right of the robot's current position), to the other end of the second curved trajectory. This process is repeated until the gap to be identified is exited. Then, after the robot reaches the second trajectory pair, it will move along the second curved trajectory to the left, away from the gap to be identified, to one end of the second curved trajectory. Then, from one end of the second curved trajectory, it will move to one end of the second curved trajectory. Then, along the second curved trajectory, it will move to the right, closer to the gap to be identified, achieving a crisscrossing movement outside the channel where the gap to be identified is located. The robot moves to the second... After one trajectory pair, the robot will walk along the third first curve trajectory to the left, away from the left boundary line of the channel where the gap to be identified is located (relative to the outline of the obstacle on the right side of the robot's current position), to one endpoint of the third first curve trajectory. Then, from one endpoint of the third first curve trajectory, it will walk to one endpoint of the third second curve trajectory. Then, along the third second curve trajectory, it will walk to the right, closer to the left boundary line of the channel where the gap to be identified is located (relative to the outline of the obstacle on the right side of the robot's current position), to the other endpoint of the third second curve trajectory. The first second curve trajectory intersects with the third first curve trajectory to form a first trajectory pair, and the first first curve trajectory intersects with the third second curve trajectory to form another first trajectory pair, so that the robot walks inside the channel where the gap to be identified is located according to a preset back-and-forth covering method. The second first curve trajectory and the second second curve trajectory form a second trajectory pair. Preferably, the first trajectory pair and the second trajectory pair are symmetrical about the center line of the channel length direction of the channel where the gap to be identified is located.
[0035] It should be noted that the spacing between the two adjacent trajectories represents the real-time coverage width of the preset back-and-forth coverage method in a second unit back-and-forth path segment or a first unit back-and-forth path segment. Specifically, it is represented by the distance between the endpoints of the two adjacent trajectories in the same extension direction. The endpoints of the two adjacent trajectories in the same extension direction can be symmetrical about the central axis of the channel in the extension direction of the channel where the gap to be identified is located. The spacing of the first trajectory pair represents the coverage width of the preset back-and-forth coverage method in the width direction inside the channel where the gap to be identified is located. In some embodiments, the spacing of the first trajectory pair is equivalent to the maximum width that the robot can traverse inside the channel where the gap to be identified is located. The spacing of the first trajectory pair may decrease as the width of the channel where the gap to be identified is actually traversed by the robot decreases, and may increase as the width of the channel where the gap to be identified is actually traversed by the robot increases. When the width of the channel where the gap to be identified is actually traversed by the robot is sufficiently large, the spacing of the first trajectory pair may remain unchanged as the width of the channel where the gap to be identified is actually traversed by the robot increases. The spacing between the second trajectory pairs can be considered to be pre-set, and in some embodiments, it does not change with the width of the channel where the gap to be identified is actually traversed by the robot.
[0036] Based on the above embodiments, when the robot determines that the spacing of the first trajectory pair is less than the spacing of the second trajectory pair, the robot identifies the unit turnaround path as a narrow path and the channel where the gap to be identified is located as a narrow channel. The robot sets the entrance and exit of the channel where the gap to be identified is located, as well as the gap to be identified, as candidate narrow openings. The credibility of the candidate narrow openings is set as the first path credibility (equivalent to the credibility assigned when the ranging sensor scans out the candidate narrow openings). The robot then marks the first unit turnaround path segment formed inside the narrow channel, the second unit turnaround path segment formed outside the narrow channel, the narrow channel, and the candidate narrow openings sequentially onto the corresponding grids of the grid map. At the same time, it can also determine that the robot has entered the narrow channel where the gap to be identified is located. If necessary, the information originally marked on the corresponding grids needs to be updated. When the spacing of the second trajectory pair is set to be greater than the maximum value of the preset width range, since the spacing of the first trajectory pair is within the preset width range, when the robot determines that the spacing of the first trajectory pair is within the preset width range, the robot identifies the unit turnaround path as a narrow path and the channel where the gap to be identified is located as a narrow path. The robot sets the confidence level of the candidate narrow opening to the confidence level of the first path and marks the first unit turnaround path segment formed inside the narrow path, the second unit turnaround path segment formed outside the narrow path, the narrow path, and the candidate narrow opening sequentially to the corresponding grids in the grid map. Then, the narrow path and the candidate narrow opening are set as the narrow path information of the narrow path. At the same time, it can also be determined that the robot has entered the narrow path where it is located through the gap to be identified. The candidate narrow opening is a truly passable narrow opening marked in the grid map, which can overcome the influence of grid accuracy (grid side length). This ensures that the grid area where the candidate narrow opening is located is filled with free grids, without producing deviation in marking obstacle information. Specifically, in this embodiment, the narrow passage information is set to include at least one of the following: obstacle information constituting the narrow passage, the grid area occupied inside the narrow passage (the free grid area between the two boundaries of the narrow passage), the length of the narrow passage, the width of the narrow passage, and the extension direction of the narrow passage. This information is recorded in the grid map or directly calculated from the corresponding grid. In some embodiments, the weighted average of the obstacle information, the length of the narrow passage, the width of the narrow passage, and the extension direction of the narrow passage is used as the confidence level of the candidate narrow passage, corresponding to the confidence level of the first path. A higher value indicates better robot passage performance within the narrow passage. The positions of the two endpoints of the candidate narrow passage can be represented by the positions of the endpoints of two parallel trajectories included in the first trajectory pair along the same extension direction.
[0037] Preferably, when the width of the gap to be identified or the width of the channel containing the gap is within a preset width range, the robot is allowed to enter the gap and move freely within the channel. The minimum value (lower limit) of the preset width range is greater than the robot's body width, and the maximum value (upper limit) is only slightly greater than the robot's body width, not exceeding twice the body width. The preset width range can be determined based on the robot's body width, and the channel that is close to the robot's body width is referred to as the narrow passage. For example, if the width of the robotic vacuum cleaner is 30 cm, the preset width range can be 32 cm to 35 cm, meaning that when the center of the robot is located at the center of the channel containing the gap in its width direction, the gap between the robot's left and right sides and the channel is between 1 cm and 2 cm.
[0038] In some embodiments, when the spacing between the first trajectory pairs is greater than the maximum value of a preset width range, the channel containing the first trajectory pair is determined to be a normal channel, that is, the channel containing the gap to be identified is identified as a narrow channel or a channel with a sufficiently large width. During the process of the robot repeatedly entering and exiting the channel containing the gap to be identified according to a preset back-and-forth covering method, the spacing between the first trajectory pairs is equal to the spacing between the second trajectory pairs. When the width of the channel containing the gap to be identified is less than the minimum value of the preset width range, the channel containing the gap to be identified is determined to be a non-channel.
[0039] In summary, this embodiment determines the narrow passage by repeatedly moving the robot to the channel where the gap to be identified is located, repeatedly detecting the spacing of the first trajectory pair, analyzing the path through the narrow passage, and then marking the path, the narrow passage, and the candidate narrow opening sequentially after determining that the narrow passage has been passed. This avoids the occurrence of misjudgment of the narrow passage and its associated information due to errors in the free grid marked on the grid map, sensor accumulation errors, and changes in the actual working environment, thereby improving the accuracy of narrow passage identification.
[0040] Preferably, the unit turnaround path is a bow-shaped trajectory. The first and second unit turnaround path segments then become unit bow-shaped path segments, each possessing a long straight line segment and a short broken line segment of the bow-shaped trajectory. However, the spacing between the parallel long straight line segments can be different. Those skilled in the art will understand that when the robot is a cleaning robot, such as a sweeping robot, the parallel motion trajectory segments generated during the sweeping robot's movement along the unit turnaround path belong to the long side cleaning route of the bow-shaped cleaning path (i.e., the bow-shaped path). The resulting broken lines or short segments are the short side cleaning routes between two adjacent motion trajectory segments, ensuring that these parallel motion trajectory segments cover the reachable area of the sweeping robot. Therefore, the preset back-and-forth coverage method is to back-and-forth cover the channel where the gap to be identified is located in a manner of mutually parallel straight lines. When the two side boundary lines of the channel where the gap to be identified is located are straight, such as when it is a channel enclosed by two walls, the straight lines of the back-and-forth coverage can remain parallel to the two side boundary lines of the channel where the gap to be identified is located. This reduces the number of turns compared to back-and-forth coverage of the channel where the gap to be identified is located in a manner of intersecting lines (during the turning process, it is easy to come into contact with the sides of the channel, and the sides of the channel are generally the outlines of obstacles). This reduces the frequency of collisions between the robot and the sides of the channel where the gap to be identified is located when the robot repeatedly enters and exits the channel where the gap to be identified is located in accordance with the preset back-and-forth coverage method.
[0041] In one embodiment, the first trajectory pair includes a first straight line segment trajectory and a first two straight line segment trajectory that are parallel to each other. The first straight line segment trajectory and the first two straight line segment trajectories are connected by a first bend line or a first preset line segment, which can form a bow-shaped path, that is, the first unit turnaround path segments are combined into a bow-shaped path. In some embodiments, the first trajectory pair may include two intersecting trajectories, and the second trajectory pair includes two intersecting adjacent trajectories that are connected at one end by a first bend line or are not connected, forming a cross-shaped turnaround path. In this case, the robot's walking direction on the two intersecting adjacent trajectories is opposite, so that the robot walks back and forth in the interior of the channel where the gap to be identified is located according to a preset turnaround coverage method. The robot's walking direction on each straight line segment of the first trajectory pair (corresponding to the first straight line segment trajectory or the first two straight line segment trajectory) is configured to be the same as the robot's walking direction on the corresponding trajectory in the second trajectory pair connected to that straight line segment trajectory; the robot's movement direction on the first straight line segment trajectory is opposite to the robot's movement direction on the first two straight line segment trajectory; the smaller the width of the channel where the gap to be identified is located or the width of the gap to be identified (equivalent to the entrance or exit of the channel), the smaller the spacing of the first trajectory pair is set, that is, the smaller the spacing between the robot's first straight line segment trajectory and the first two straight line segment trajectory is set to accommodate the robot entering the gap to be identified and passing through the channel where the gap to be identified is located. In this embodiment, when the first unit turnaround path segment is a bow-shaped path, the extension direction of the short side of the bow-shaped path is perpendicular to the boundary line (outline of the obstacle) of the channel where the gap to be identified is located. The first preset line segment is preferably perpendicular to the boundary line (outline of the obstacle on the corresponding side) of the channel where the gap to be identified is located. The robot's walking direction in the first preset line segment rotates 90 degrees counterclockwise or clockwise relative to one of the tracks in the second track pair. The first bend line or the first preset line segment connects the endpoints of the first straight line segment track and the first two straight line segment tracks in the same extension direction (e.g., the upper ends of two adjacent straight line segment tracks). When the first preset line segment connects the first straight line segment track and the first two straight line segment tracks, the length of the first preset line segment is equal to the spacing of the first track pair. The spacing between the first straight line segment track and the first two straight line segment tracks is the spacing of the first track pair, which is also equivalent to the shortest distance between the points of two adjacent straight line segment tracks that are parallel to each other included in the first track pair.Furthermore, to ensure the continuity of the robot's back-and-forth movement on the unit turnaround path, in this embodiment, as the robot repeatedly enters and exits the channel where the gap to be identified is located according to the preset turnaround coverage method, if the robot enters the channel where the gap to be identified is located from the first area and then returns to the first area from the channel where the gap to be identified is located, then the first trajectory pair (first unit turnaround path segment) is connected to the second trajectory pair (second unit turnaround path segment) through a third bend line or a third preset line segment. Specifically, each trajectory included in the first trajectory pair is connected to the corresponding trajectory included in the second trajectory pair through a bend line or a preset line segment; the first area is located outside the channel where the gap to be identified is located.
[0042] In one embodiment, the second trajectory pair includes a second straight line segment trajectory and a second double straight line segment trajectory that are parallel to each other. The second straight line segment trajectory and the second double straight line segment trajectory are connected by a second bend line or a second preset line segment. In this embodiment, the two adjacent parallel straight line segment trajectories included in the second trajectory pair each have an endpoint connected by a first bend line or a first preset line segment, forming a unit bow-shaped path segment. The first bend line or the first preset line segment may belong to a second unit turnaround path segment. In other embodiments, the second trajectory pair may be regarded as including two adjacent intersecting trajectories, with an endpoint connected by a second bend line or a second preset line segment, forming a cross-shaped turnaround path, so that after moving away from the gap to be identified, it can approach the same gap to be identified again. In this embodiment, the robot's walking direction on the two adjacent intersecting trajectories is opposite, so that the robot can repeatedly walk outside the channel where the gap to be identified is located according to a preset turnaround coverage method and can repeatedly approach the gap to be identified. The robot's walking direction on each straight line segment of the first trajectory pair (corresponding to the first straight line segment trajectory or the first two straight line segment trajectories) is configured to be the same as the robot's walking direction on the corresponding trajectory in the first trajectory pair connected to that straight line segment trajectory. In this embodiment, the first unit turnaround path segment is a bow-shaped path, and the second unit turnaround path segment is a bow-shaped path. Both the second unit turnaround path segment and the first unit turnaround path segment belong to bow-shaped paths, and the trajectory shape of the first unit turnaround path segment is the same as that of the second unit turnaround path segment. The second bend line or the second preset line segment connects the mutually parallel lines included in the second trajectory pair. The endpoints of two adjacent straight line segments in the same extension direction (e.g., the upper ends of two adjacent straight line segments) are connected by a second preset line segment. When the second preset line segment connects the second straight line segment trajectory and the second straight line segment trajectory, the length of the second preset line segment is equal to the spacing of the second trajectory pair. The spacing between the second straight line segment trajectory and the second straight line segment trajectory is the spacing of the second trajectory pair. When the width of the channel where the gap to be identified is located or the width of the gap to be identified (equivalent to the entrance or exit of the channel) changes, the spacing of the second trajectory pair remains unchanged. The spacing of the second trajectory pair is preset and is greater than the maximum value of the preset width range.
[0043] Each trajectory in the first trajectory pair is connected to a corresponding trajectory in the second trajectory pair via a bend or a preset line segment. Specifically, the second straight line segment trajectory can be connected to the first straight line segment trajectory via a third bend or a third preset line segment. The robot's direction of travel on the second straight line segment trajectory is the same as that on the first straight line segment trajectory. Similarly, the second straight line segment trajectory can be connected to the first straight line segment trajectory via a third bend or a third preset line segment. The robot's direction of travel on the second straight line segment trajectory is the same as that on the first straight line segment trajectory, but opposite to that on the first straight line segment trajectory. The robot's direction of movement on the second straight line segment trajectory is opposite to that on the second straight line segment trajectory. Preferably, after the robot moves away from the channel containing the gap to be identified along the first straight line segment trajectory, the robot will travel through the third bend line or the third preset line segment to the second straight line segment trajectory, then through the second bend line or the second preset line segment to the second straight line segment trajectory, then along the second straight line segment trajectory to approach the gap to be identified, and then through the third bend line or the third preset line segment to the first straight line segment trajectory, entering the channel containing the gap to be identified. The robot will then travel along the first straight line segment trajectory within the channel containing the gap to be identified. Therefore, both the second unit turnaround path segment and the first unit turnaround path segment belong to the bow-shaped path, making the unit turnaround path formed by connecting multiple bow-shaped paths with different track spacing end to end.
[0044] In some embodiments, whether a range sensor (LiDAR) is used to scan point clouds to mark grids or collision sensing is used to mark grids, errors (positional deviations between the theoretical position calculated by the robot and the robot's actual position) will accumulate as the robot runs. Even if the side length of the grid remains constant, the environmental information represented by the grid will have errors. For example, the resulting positional deviations may mark free grids as obstacle grids. Therefore, under the premise that the robot identifies the unit turnaround path as a narrow path and the channel where the gap to be identified is located as a narrow channel, the openings on both sides of the channel where the gap to be identified is located are simply set as candidate narrow openings, rather than being directly determined as passable openings that are not constrained by time and space.
[0045] As one embodiment, if the robot has not entered the channel where the gap to be identified is located or has already walked through the channel where the gap to be identified is located, when the robot detects that the width of the gap to be identified is within the preset width range, the robot marks the gap to be identified as a candidate narrow opening in the grid map and sets the confidence level of the candidate narrow opening as the first path confidence level. Here, the gap to be identified is the opening location point detected by the robot in its working area in a non-contact manner, such as the two endpoints of the gap and the distance between them scanned by LiDAR, converted into grid position coordinates and marked, but the robot does not use the results of direct collision measurement for grid marking. On the other hand, assuming the robot has not entered the channel containing the gap to be identified or has already walked through the channel, when the robot comes into contact with the gap, it uses the collision sensor's sensing information to mark the gap as a candidate narrow passage in the grid map and sets the confidence level of the candidate narrow passage as the second path confidence level. The first path confidence level is greater than the second path confidence level because the accuracy of the ranging sensor's sensing position is higher than that of the collision sensor's sensing position. Both the first and second path confidence levels are used to indicate the passability of the corresponding candidate narrow passage. This is because as the robot's walking time increases, the sensors accumulate errors. Furthermore, the relationship between the grid's side length and the actual size of the obstacle's outline means that even if the grid's side length remains fixed or is set appropriately (neither too large nor too small), errors can accumulate. The obstacle information represented by the grid will also be offset, causing the robot's real-time marking result for the gap to be identified to change. Therefore, whether the robot uses a ranging sensor (LiDAR) to scan the point cloud to mark the grid or uses collision sensing to mark the grid, errors will accumulate as the robot runs longer (positional deviation between the theoretical position calculated by the robot and the robot's actual position). The robot only sets the openings on both sides of the channel where the gap to be identified is located as candidate narrow openings, rather than directly determining them as truly passable openings that are not constrained by time and space. The robot uses a first path confidence (evaluation value under non-contact sensing sensor) and a second path confidence (evaluation value under contact sensing sensor) to measure the robot's passability at the candidate narrow opening based on the sensors that actually collect environmental information.
[0046] In this embodiment, the gap to be identified can be a gap between two walls or a narrow doorway in the same wall. The width of the gap can be greater than the robot's body width to allow the robot to pass through, or it can be much smaller than the robot's body width to prevent the robot from entering. Moreover, a gap that allows the robot to pass through is not necessarily a very narrow gap and may not constitute the candidate narrow opening. Therefore, the robot needs to determine whether the width of the gap to be identified is within the preset width range. As for the width of the candidate narrow opening, it is close to the robot's body width. Since the robot's body shape is circular when projected on the ground, the width of the candidate narrow opening is close to the robot's body diameter. In this embodiment, the width of the candidate narrow opening falls within the preset width range. Specifically, the gap to be identified is an opening between the outlines of two obstacles. The two obstacles can be two opposing walls, and their outlines can be parallel wall lines. To facilitate the identification of the width information of the opening or gap, the channel where the gap to be identified is located, as disclosed in this embodiment, can be defined as a channel formed by the outlines of the two obstacles as boundary lines. The outlines of the two obstacles are marked at the corresponding grids on the grid map. The minimum distance between points on the outlines of the two obstacles is greater than or equal to the minimum value of a preset width range. Assuming the robot has already traversed the channel where the gap to be identified is located, the robot has traversed all boundary points in the entire channel, determined whether the channel where each boundary point is located is a narrow passage, and statistically analyzed the grid information of the boundary points of the narrow passage and the grid positions traversed by the narrow passage path. The grid position information of the channel where the gap to be identified is located is composed of the grid positions of the boundary points of the channel, thereby obtaining the grid position information of the channel marked as the channel where the gap to be identified is located in the grid map, including the channel length information, channel width, and the position of the channel opening.
[0047] It should be noted that the width of the gap to be identified is the distance between the grids containing the two boundary points of the gap on the robot's travel plane. The grids containing the two boundary points of the gap are obstacle grids, and the area between the grids containing the two boundary points of the gap is filled by free grids. The two boundary points of the gap are located on the outlines of the corresponding obstacles. When the robot detects the grid containing the gap and detects that the distance between the points on the outlines of the obstacles on both sides of the gap is within a preset width range, it determines that the robot has entered the channel containing the gap. Each time the robot enters the channel containing the gap, it marks the outlines of the obstacles it collides with in the channel onto the grid map and marks the outlines of the corresponding obstacles as the boundary lines of the channel containing the gap. Specifically mapped onto the grid map, the middle of the passage containing the gap to be identified is a white connected region filled with free grids. The left and right endpoints of the gap to be identified are respectively distributed with parallel wall boundary lines. The two parallel wall boundary lines are filled as continuous black line segments in the grid map. For example, the gap to be identified can be a doorway of a room. The obstacles on both sides of the doorway are the four walls of the same room. The four walls are continuous and integrated. The outlines of the obstacles on both sides become the boundaries of the passage or narrow passage containing the gap to be identified. The openings on both sides of the passage containing the gap to be identified also connect different work areas.
[0048] Based on the aforementioned embodiments, when the robot walks inside the narrow passage, the shortest distance between the two boundary lines of the narrow passage and the corresponding side of the robot is within a preset gap distance range; or, when the robot enters the entrance of the narrow passage and the center of the robot is on the same straight line as the two endpoints of the entrance of the narrow passage, the shortest distance between the two endpoints of the entrance of the narrow passage and the corresponding side of the robot is within a preset gap distance range. For example, when the robot walks along the center line of the narrow passage, the vertical distance between the left side of the robot and the outline of the obstacle (wall outline) detected on its left side is within the preset gap distance range, and the vertical distance between the right side of the robot and the outline of the obstacle (wall outline) detected on its right side is also within the preset gap distance range. In this embodiment, the preset gap distance is preferably between 1 cm and 2 cm, thereby reserving space for the robot to avoid collisions with obstacles in the narrow passage; the robot sets the preset width range to be equal to twice the preset gap distance range and the robot's body width, which can be set as a safe value for the robot to pass through narrow passages between walls, thereby constraining the robot's cross-area behavior; in some embodiments, when the robot's body width is 30 cm, the preset width range can be between 32 cm and 35 cm. If the width of the entrance to the narrow passage or the width of the narrow passage is within the preset width range; if the distance between the openings on both sides of the narrow passage is greater than or equal to the length of each trajectory in the first trajectory pair, and the openings on both sides of the narrow passage are marked in the grid map at the grid where the entrance of the narrow passage is located and the grid where the exit of the narrow passage is located, then the passage length of the narrow passage is set to be slightly greater than the trajectory length of the first unit turnaround path segment in the extension direction of the narrow passage. The passage length of the narrow passage is equal to the distance between the entrance and the exit of the narrow passage on the same passage boundary, so as to distinguish whether the trajectory actually walked by the robot is located inside the narrow passage (to determine whether the robot has passed through the narrow passage).
[0049] Preferably, in the grid map, in order to balance the obstacle position deviation and navigation calculation load caused by the grid side length setting, the side length of each grid is represented as 5 cm, 10 cm or 15 cm in the actual working area of the robot. This series of grid side lengths is moderate relative to the size of the obstacles that the robot can collide with, or the two endpoints of the gap to be identified, or the size of the two side boundaries of the channel where the gap to be identified is located, so as to ensure the accuracy of the robot marking the grid and reduce the probability of the robot misjudging the channel to be entered.
[0050] In summary, to identify a narrow passage, this invention controls a robot to traverse a pre-determined passage containing a gap to be identified according to a preset back-and-forth covering pattern (completing at least one cycle of back-and-forth covering to repeatedly enter and exit the corresponding passage multiple times), or controls the robot to enter the passage containing the gap to be identified twice consecutively (repeated once) according to the preset back-and-forth covering pattern to pass through the passage containing the gap and travel back and forth between the inside and outside of the passage containing the gap. During this back-and-forth movement, the preset back-and-forth covering pattern changes according to a predetermined time interval or the length of a straight trajectory, and does not maintain the same extension direction (same trajectory direction) for a long time. Therefore, the robot is less affected by the slippage error of the drive wheels. Thus, based on the change in the spacing of the back-and-forth path segments generated by the robot actually traversing the same passage containing the gap to be identified, it is determined whether the passage containing the gap to be identified is a narrow passage. The path actually generated by the robot traversing the narrow passage is then set as a narrow passage path with narrow passage information, which can be marked as a path available for the robot to use. Humans can navigate through narrow paths, which can also be processed into navigation paths through erosion. The design of grid side lengths, channel widths, the width of the gaps to be identified, and trajectory spacing takes into account the number of grid cells filling the map. This, combined with the robot's actual traversal trajectory information and the gap information formed by obstacle outlines, allows the robot to accurately identify narrow paths. This enables the robot to accurately distinguish passable narrow passages within the environment of a robotic vacuum cleaner, lawnmower, or other mobile toys, overcoming the influence of accumulated sensor positional offset errors. It avoids situations where the width of the narrow path is so small that the grid area within the narrow path or its opening is easily misjudged as a wall obstacle blocking the robot's passage, meeting the robot's real-time positioning requirements without increasing navigation and positioning costs. Regardless of how small the spacing of the robot's trajectory in the opposite direction within the channel containing the gap becomes, the shape of the robot's zigzag path remains unchanged, improving the adaptability of the grid map constructed by the robot to the environment. The ability to accurately identify narrow paths in the working environment before the robot's path planning provides a foundation for planning an efficient path for the robot.
[0051] It's important to note that when a robot uses a search algorithm to solve a problem, it needs to construct a data structure that represents the state characteristics of its own grid position and the relationships between the states of different grid positions. This data structure is called a node. Different problems require different data structures. Based on the conditions given in the search problem, starting from one node, one or more new nodes can be generated; this process is usually called expansion. The relationships between nodes can generally be represented as adjacent parent and child nodes. The search process of the search algorithm is actually the process of constructing paths based on initial conditions and expansion rules to find nodes that meet the target state and connecting them to form valid paths, including the shortest path.
[0052] Based on the foregoing embodiments, this invention also discloses a narrow-path navigation method. The executing entity of the narrow-path navigation method is the robot in the foregoing embodiments, particularly the robot executing any of the foregoing embodiments. The executing entity of the narrow-path navigation method is an autonomously moving robot, particularly a cleaning robot that walks on the ground surface, a lawnmower robot that walks in a lawn area with narrow passages defined by boundary lines, a floor scrubber, and a security patrol robot, etc., and this is not intended to limit the applicable subject of the robot's method for identifying narrow paths. The robot is equipped with inertial sensors (including but not limited to odometers for measuring walking distance, collision sensors for detecting collision states with obstacles, and gyroscopes for measuring the body's rotation angle), ranging sensors (including but not limited to TOF sensors and LiDAR), or visual sensors (which can be any type of depth information acquisition device, including but not limited to monocular cameras, binocular cameras, etc.) to detect two-dimensional point cloud data of the surrounding environment, and to construct a two-dimensional point cloud map in a timely manner. The number of sensors installed on the robot's body can be one or more. Figure 2 As shown, the narrow-channel navigation method specifically includes:
[0053] Step S201: After the robot executes the robot narrow passage identification method in the aforementioned embodiment, the robot marks the narrow passage path and the narrow passage itself at the corresponding grid cell in the grid map. This includes the entrance and exit location information of the narrow passage, the boundaries on both sides of the narrow passage (the outlines of the obstacles forming the narrow passage), and the length and width of the narrow passage. It also includes the size and location information of other detected or collided gaps to be identified and the passages they occupy. This determines various passable and impassable passages within the pre-acquired grid map. The passable passages include the narrow passage to be identified (one of the passages containing the gaps to be identified) and other passages containing the gaps to be identified. This can be understood as updating the marking information of the corresponding grid cells in the grid map, providing the basis for the robot to plan efficient passage through the narrow passage. Then, step S202 is executed.
[0054] Step S202: Starting from its current position, the robot searches for paths to the navigation target location within the grid map using a neighborhood search method, obtaining a set of first navigation paths. The robot's current position is known beforehand and marked on the grid map. This neighborhood search is marked as the first path search operation on the grid map described in step S201. The neighborhood search method includes, but is not limited to, the A* algorithm and the D* algorithm. Thus, without relying on narrow paths or narrow lanes, the robot plans the first navigation path to the navigation target location using a neighborhood search under the A* or D* algorithm. There can be multiple paths. The starting point of the first path to be navigated can be set to the robot's current position, and the ending point can be set to the navigation target position or other location points. However, it must be ensured that the first path to be navigated passes through this fixed navigation target position and can bypass narrow passages to reach the navigation target position. All first paths to be navigated obtained in the first path search operation are included in the set of first paths to be navigated. When connecting the searched grids into a first path to be navigated, the length of the first path to be navigated is calculated. Then, the length of the trajectory extending from the current position to the navigation target position is recorded as the navigation trajectory length of the first path to be navigated. In this embodiment, it can be understood that after the robot has traversed all grids and completed the operation of obtaining the set of first paths to be navigated, it stops continuing to search for paths to the navigation target position in the grid map through neighborhood search.
[0055] In step S202, for the same grid map, specifically the grid map described in step S201, the robot further performs image erosion processing on the narrow passage or the narrow passage path within the grid map to search for paths leading to the navigation target location in multiple directions of the narrow passage or the narrow passage path. Specifically, erosion operations can be performed on both sides of the narrow passage or the narrow passage path to obtain multiple second navigation paths, which are then added to the set of second navigation paths. Part of the second navigation paths pass through the narrow passage. The second navigation paths are extended from the first trajectory pair of the narrow passage path. A portion of the second navigation path includes the straight line segments and their extensions included in the first trajectory pair of the narrow passage path, thus carrying narrow passage information to allow the robot to traverse the narrow passage without obstruction to the navigation target location. Then, step S203 is executed. In this embodiment, the starting point of the second navigation path can be set to the robot's current position, and the ending point can be set to the navigation target position or other location points. However, it must be ensured that the second navigation path passes through this fixed navigation target position and can extend to the navigation target position via the narrow passage. The length of the second navigation path is calculated when connecting the searched grids into a single path, and the length of the trajectory extending from the current position to the navigation target position is recorded as the navigation trajectory length of the second navigation path. In this embodiment, it can be understood that after the robot has eroded all the grids in each corresponding direction of the narrow passage or the narrow passage path, and completed the operation of obtaining the set of second navigation paths, it stops continuing image erosion processing within the grid map. The navigation target position is a pre-set navigation position.
[0056] It should be noted that at any given time, the robot can only determine whether there is a passable path or a more reasonable navigation path by searching the grid map in advance. After obtaining the first set of paths to be navigated and the second set of paths to be navigated, the robot obtains two types of grid map information within the same grid map through the aforementioned path search. This allows it to distinguish whether there is narrow passage information, so as to select a more unobstructed target navigation path.
[0057] Step S203: The robot selects the first navigation path with the shortest navigation trajectory length from the set of first navigation paths to be navigated and sets it as the first target navigation path, and selects the second navigation path with the shortest navigation trajectory length from the set of second navigation paths to be navigated and sets it as the second target navigation path, and then executes step S204; wherein, the number of the first navigation paths with the shortest navigation trajectory length can be one or more, and the number of the second navigation paths with the shortest navigation trajectory length can be one or more.
[0058] Step S204: Based on the difference in trajectory length between the first target navigation path and the second target navigation path, select a target navigation path that does not pass through the narrow passage or does not contact the narrow passage as the final navigation path to make the robot walk more smoothly (reducing the number of collisions with obstacles on both sides of the narrow passage) but not necessarily to shorten the walking distance, or select the target navigation path with the shortest trajectory length as the final navigation path to make the robot navigation speed faster, so as to continue to filter the navigation path associated with the narrow passage from the shortest navigation path found in different forms. When the difference in trajectory length between the first target navigation path and the second target navigation path is not large, it tends to select the path that does not pass through the narrow passage or does not contact the narrow passage but is not necessarily the shortest path, or select the shortest path among the paths that do not pass through the narrow passage or do not contact the narrow passage, and also tends to select the shortest path that may pass through the narrow passage when the difference in trajectory length between the first target navigation path and the second target navigation path is large; then execute step S205. Among them, the first target navigation path and the second target navigation path are both target navigation paths; target navigation paths that do not pass through narrow passages or do not contact the narrow passages can be marked as paths that do not carry narrow passage information.
[0059] Step S205: Starting from its current position, the robot walks along the final navigation path to the navigation target position. The length and direction of the final navigation path are already determined. During its movement, the robot can identify the grid cells it actually traverses and determine whether it needs to enter the candidate narrow passage or pass through the narrow passage or the channel containing the gap to be identified. This minimizes the distance traveled by the robot or avoids the narrow passage, improving walking safety.
[0060] In summary, the beneficial technical effect of the narrow-path navigation method disclosed in this embodiment, after marking the narrow path and the narrow passage in the grid map, is that the robot performs image erosion processing using the narrow path. Under the constraint of the width of the narrow passage, erosion processing is performed in the direction of the narrow path or the narrow passage to obtain a second path to be navigated that may pass through the narrow passage. Also, without relying on the narrow path and the narrow passage, a first path to be navigated to the navigation target position is planned through neighborhood search under the A* or D* algorithm. The robot selects the second target navigation path and the first target navigation path with the shortest trajectory length from the two types of navigation paths, and then selects the final target navigation path after weighing the difference in trajectory length of the navigation paths planned under the two different search methods and the situation of passing through the narrow passage. This makes the robot's navigation from the current position to the navigation target position smoother or the navigation path shorter, thereby improving the robot's working efficiency.
[0061] Specifically, in step S204, the method of selecting the target navigation path that does not pass through the narrow passage as the final navigation path, or selecting the target navigation path with the shortest trajectory length as the final navigation path, based on the difference in trajectory length between the first target navigation path and the second target navigation path, includes: when the absolute value of the difference between the trajectory length of the first target navigation path and the trajectory length of the second target navigation path is greater than or equal to a preset distance threshold, selecting the target navigation path with the shortest trajectory length as the final navigation path, thereby selecting the shortest path that may pass through the narrow passage as the final navigation path when the difference in trajectory length between the first target navigation path and the second target navigation path is large; when the absolute value of the difference between the trajectory length of the first target navigation path and the trajectory length of the second target navigation path is less than the preset distance threshold, The system selects a target navigation path that does not pass through or contact the narrow passage as the final navigation path. This is done when the trajectory lengths of the first and second target navigation paths are not significantly different, choosing the path that does not pass through or contact the narrow passage, even if it is not the shortest. When neither the first nor the second target navigation path passes through or contacts the narrow passage, the target navigation path with the shortest trajectory length is selected as the final navigation path. This ensures that the shortest path is chosen from those that do not pass through the narrow passage. The path width of each target navigation path is set to be greater than the width of a robot's body, and the number of grid cells occupied by each target navigation path in its width direction is greater than the number of grid cells occupied by the width of a robot's body. This effectively shortens the robot's travel distance outside the narrow passage, improving the robot's working efficiency.
[0062] It should be noted that a target navigation path that does not pass through the narrow passage is located outside the narrow passage; a target navigation path that does not contact the narrow passage refers to a target navigation path located outside the narrow passage where none of its grids overlap with any grid in the narrow passage. Specifically, the grids in the narrow passage include grids occupied by obstacles that make up the narrow passage and free grids inside the narrow passage. The obstacles that make up the narrow passage can be obstacles on the left and right sides of the narrow passage (such as walls on both sides). The grids occupied by obstacles that make up the narrow passage include grids occupied by the outline of the obstacles. The boundary line can be divided into the inner boundary line and the outer boundary line of the narrow passage. The grid occupied by the outline of the obstacle forming the narrow passage on the outer side of the narrow passage is the grid occupied by the outer boundary line of the narrow passage. The grid occupied by the outline of the obstacle forming the narrow passage on the inner side of the narrow passage is the grid occupied by the inner boundary line of the narrow passage. When the target navigation path that does not contact the narrow passage is located outside the narrow passage, the grid in the target navigation path that does not contact the narrow passage does not overlap with the grid occupied by the outer boundary line of the narrow passage, so as to reduce the probability of the robot colliding with the narrow passage. Additionally, the target navigation path through the narrow passage is one in which a portion of the target navigation path lies between the boundary lines on both sides of the narrow passage. That is, either the first or second target navigation path has a portion of its path surrounded by obstacle grids on both sides of the narrow passage, but this portion of the path passes through the narrow passage. Alternatively, this portion of the path is composed of a first track pair or one of the first track pairs in the narrow passage path. The starting point of this portion of the path is located at the entrance of the narrow passage, and the ending point of this portion of the path is located at the exit of the narrow passage.
[0063] Preferably, when the trajectory length of the first target navigation path is greater than the trajectory length of the second target navigation path, and when the absolute value of the difference between the trajectory lengths of the first and second target navigation paths is greater than or equal to a preset distance threshold, or when neither the first nor the second target navigation path passes through the narrow passage or contacts the narrow passage, the robot sets the second target navigation path as the final navigation path; wherein, the ratio of the preset distance threshold to the trajectory length of the first target navigation path, or the ratio of the preset distance threshold to the trajectory length of the second target navigation path, is set to 20%.
[0064] Preferably, when the trajectory length of the first target navigation path is less than the trajectory length of the second target navigation path, and when the absolute value of the difference between the trajectory lengths of the first and second target navigation paths is less than the preset distance threshold, or when neither the first nor the second target navigation path passes through the narrow passage or contacts the narrow passage, the robot sets the first target navigation path as the final navigation path; wherein, the ratio of the preset distance threshold to the trajectory length of the first target navigation path, or the ratio of the preset distance threshold to the trajectory length of the second target navigation path, is set to 20%.
[0065] Preferably, if the first path to be navigated does not exist in the set of first paths to be navigated, then no first path to be navigated is found in step S202, but a second path to be navigated that passes through the narrow passage exists in the set of second paths to be navigated; wherein, the second path to be navigated that passes through the narrow passage includes the narrow passage path and / or a second path to be navigated composed of part or all of the narrow passage path.
[0066] As one embodiment, during the robot's journey along the final navigation path, the marking of the boundary lines, entrances, and exits of the narrow passage may deviate due to accumulated errors from individual inertial sensors. Even after implementing the robot's method for identifying narrow passages, grid marking errors still exist (marking normally passable grid positions as obstacle grids under the same grid side length). Therefore, the grids at the candidate narrow passages disclosed in the aforementioned embodiment may still be occupied by obstacle grids. Based on related embodiments, when the robot determines that the passage containing the gap to be identified is the narrow passage, it will identify the gap as the candidate narrow passage. Therefore, when the robot reaches the candidate narrow passage or enters the narrow passage through it, it is still relatively easy for the robot to encounter the walls of the narrow passage. If the robot detects a collision with the candidate narrow passage or the boundary line of the narrow passage within a preset time... If the number of collisions exceeds the preset number, it is determined that the robot cannot successfully pass through the narrow passage according to the final navigation path, proving that the robot is trapped in the narrow passage. The preset time and preset number of collisions are related to the width of the narrow passage. The narrower the passage, the longer the preset time and the more preset collisions. Of course, the robot's own rotation angle can be used for evaluation. Then, the robot is controlled to start walking along one of the boundary lines of the narrow passage where the candidate narrow passage is located, and stops walking along the final navigation path. It passes through the narrow passage where the candidate narrow passage is located by walking along the outline of the obstacle on the corresponding side of the robot. After passing through the narrow passage where the candidate narrow passage is located, the robot walks to the path of the final navigation path outside the narrow passage, specifically prioritizing walking to the shortest distance position, and then continuing to walk along the final navigation path. In this way, the robot attempts to pass through the narrow passage by following the wall, improving the robot's working efficiency.
[0067] It should be noted that when the robot enters the narrow passage from its entrance and exits from its exit, it is determined that the robot has passed through the narrow passage. Generally, the navigation target location is not set within the narrow passage. The candidate narrow opening is an unidentified gap formed between two obstacles, allowing the robot to pass, and is considered the entrance to the narrow passage. The narrow passage is a channel formed by the outlines of the two obstacles as its boundary lines. The minimum distance between points on the outlines of the two obstacles is greater than or equal to the minimum value of the preset width range. The minimum value of the preset width range is greater than the robot's body width. The width of the narrow passage is within the preset width range, and the entrance to the narrow passage is also within the preset width range.
[0068] In the above embodiments, during the process of the robot searching for each path leading to the navigation target location within the grid map, it sequentially marks the index number of the grid corresponding to the searched path according to the direction from the current position to the navigation target location. The extension direction of the grid corresponding to the index number, sorted from smallest to largest, is set as the robot's walking direction on the searched path, thus determining the robot's walking direction on the final navigation path. Preferably, when the robot needs to pass through the narrow passage while moving from the current position to the navigation target location, the robot's walking direction on the final navigation path can be from the entrance of the narrow passage to the exit of the narrow passage. If, in the aforementioned embodiments, it is determined that the robot cannot successfully pass through the narrow passage according to the final navigation path, the robot will be controlled to start walking along a boundary line of the narrow passage where the candidate narrow passage is located. At this time, the robot's walking direction through the narrow passage can be determined based on the index number of the grid closest to the entrance and exit of the narrow passage, respectively.
[0069] The final navigation path is planned to pass through the narrow passage, and each grid cell is marked with a corresponding index number. The following conditions apply: When the absolute value of the difference between the index number of the grid closest to the entrance and the index number of the current grid cell in the final navigation path is less than the absolute value of the difference between the index number of the grid closest to the exit and the index number of the current grid cell, the robot's current walking direction is adjusted to the opposite direction. That is, the opposite direction of the current walking direction is set as the direction the robot exits the narrow passage, and it walks along the boundary of the narrow passage in the opposite direction of the current walking direction to expedite its exit from the narrow passage. When the absolute value of the difference between the index number of the grid closest to the entrance and the index number of the current grid cell in the final navigation path is greater than the absolute value of the difference between the index number of the grid closest to the exit and the index number of the current grid cell, the robot walks along the boundary of the narrow passage in its current walking direction to expedite its exit from the narrow passage. This eliminates the need to replan the path to the navigation target location, saving path planning time and improving navigation efficiency.
[0070] In some embodiments, the robot's current position is in a first working area, and the navigation target position is in a second working area; the first working area and the second working area are different areas; the first working area is connected to the entrance of the narrow passage, and the second working area is connected to the exit of the narrow passage, allowing the robot to enter the second working area from the first working area or return to the first working area from the second working area via the narrow passage; wherein, the exit of the narrow passage is an opening / gap / candidate narrow passage opposite to the entrance of the narrow passage in the length / boundary extension direction of the narrow passage. Preferably, walls are distributed at the left and right ends of the entrance of the narrow passage to divide the first working area and the second working area. Both the first and second working areas are connected to the connected domain between two adjacent wall segments in two-dimensional space (corresponding to the channel where the gap to be identified is located). Preferably, the left and right endpoints of the gap to be identified within this connected domain are respectively distributed with parallel wall boundary lines. The two parallel wall boundary lines can be marked as continuous black line segments in the image corresponding to the grid map to delineate the first and second working areas. The gap to be identified or the candidate narrow opening can be a small doorway in a room, and the obstacles on both sides of the doorway are the four walls of the same room. The four walls are continuous and integral. In addition, the walls on the left and right sides of the channel where the gap to be identified is located can also be approximately parallel. Therefore, when the robot walks along either side of the wall to be identified to enter the gap, it is not easy to be trapped by the wall.
[0071] As one embodiment, the method for a robot to perform image erosion processing on the narrow passage or the narrow passage path within a grid map to search for paths leading to a navigation target location and obtain a set of second navigation paths includes: the robot eroding the grids on both sides of the narrow passage or all the grids in the narrow passage towards the four quadrants in the grid map, or the robot eroding the grids on both sides of the narrow passage path or all the grids in the narrow passage path towards the four quadrants in the grid map; then, through the erosion image processing method, some free grids are set as obstacle grids, the free grid area connected to the narrow passage or the narrow passage path is reduced, at least one path leading to the navigation target location is retained, and each retained path leading to the navigation target location is set as a second navigation path, and then a set of second navigation paths is formed; wherein, the width of the grid occupied by each second navigation path in the path width direction is greater than the width of the robot's body. Preferably, if the narrow path or the grid area occupied by the narrow path is a single grid, then after image erosion processing, the wall obstacle on the corresponding side of the narrow path can be transformed into a 3*3 grid area. If the narrow path or the grid area occupied by the narrow path is an N*M grid area, then after image erosion processing, the wall obstacle on the corresponding side of the narrow path becomes a (N+2) * (M+2) grid area. Preferably, within the narrow passage, the reduction in the free grid region connected to the narrow passage path is within a first preset grid number range, and the reduction in the free grid region connected to the narrow passage is within a second preset grid number range. The second preset grid number range encompasses the first preset grid number range. Therefore, when all grids in the narrow passage are eroded towards the four quadrants to meet preset conditions, more paths to the navigation target location are obtained. This preset grid number range is related to the width of the candidate narrow passage; the wider the candidate narrow passage, the larger the preset grid number range is set. The preset conditions here can be eroded layer by layer to a grid on one of the first or second trajectory pairs in the narrow passage path, or a specific grid position on that trajectory (belonging to a free grid). The width of the candidate narrow passage is the distance between points on the outlines of the two obstacles where the candidate narrow passage is located. Each second path to be navigated is planned as a passable path extending from the robot's current position to the navigation target location. Since the width of the grid occupied by each second path to be navigated is greater than the width of the robot's body in the path width direction, when selecting a template image to traverse the grid map to achieve image erosion processing, the coverage of the selected template image is related to the size of the robot. Preferably, the coverage diameter of the template image is equal to the width of the robot's body (the robot's body diameter), so as to eliminate connected areas inside and outside the narrow passage that are not suitable for the robot to pass through the gap width.The aforementioned image erosion processing can transform the small and scattered white connected regions inside and outside the narrow passage (even if the white connected region is a gap between two walls) into wall obstacle areas represented by black pixels. This is equivalent to deleting connected regions with unreasonable gap widths whose area is equal to a preset area threshold. As a result, the number of black pixels in the grid area occupied by the narrow passage or the narrow passage path after erosion processing increases by a preset number threshold compared to the number of black pixels before erosion processing. This reduces the free grid area connected to the narrow passage or the narrow passage path. Then, starting from the robot's current position, the relevant grids are connected so that the connected second path to be navigated passes through the narrow passage. The second path to be navigated is obtained by extending the first trajectory pair of the narrow passage path. A portion of the second path to be navigated includes the straight line segments and their extensions included in the first trajectory pair of the narrow passage path, so that the second path to be navigated carries narrow passage information, enabling the robot to walk through the narrow passage to the navigation target position without obstacles. Therefore, by leaving a path within the narrow passage that can pass through and extend towards the navigation target location, and marking it as the second navigation path, multiple second navigation paths can be searched. This is because the narrow passage path contains first and second trajectory pairs, and each of the first and second trajectory pairs contains multiple straight line segments that can connect to form a bow-shaped path, exhibiting the characteristic of repeatedly entering and exiting the narrow passage. Therefore, the robot will not walk towards these connected areas with unreasonable gap widths while walking along the second navigation path, thus keeping the robot away from these wall obstacles that hinder its progress and improving the robot's walking safety.
[0072] Preferably, in the grid map, the image of the narrow passage or the narrow passage path is first binarized to obtain a binary image; then, the binary image undergoes a preset number of erosion processes; during the preset number of erosion processes, pixels at discontinuous positions on both sides (or in the four quadrants) of the narrow passage or the narrow passage path are filled with black pixels one by one, until the number of black pixels on both sides (or in the four quadrants) of the narrow passage or the narrow passage path after the preset number of erosion processes increases by a preset threshold value compared to the number of black pixels before the erosion process. When both the number of erosion processes and the increase in the number of black pixels on both sides (or in the four quadrants) of the narrow passage or the narrow passage path satisfy the corresponding threshold, the minimum gap width between the two walls of the narrow passage is determined to be 0.4 cm larger than the width of the robot's body. Specifically, the binary image is stored in a computer storage device in the form of an integer matrix, with each pixel having a neighborhood of 8 pixels. In this embodiment, in order to perform image erosion processing, during the scanning of the binary image by the template image, for each pixel point bounded by the center of the template image, within the rectangular image area bounded by the template image, if the pixel point itself and one of its eight neighboring pixels have a non-1 value, then the pixel value is set to 0; otherwise, the pixel values of all pixels currently bounded by the template image remain unchanged. In this way, the white connected regions in the binary image can be reduced, and areas with relatively small image spacing (e.g., less than a preset spacing threshold) can be filled into obstacle areas or wall obstacle areas, thereby modifying white pixels into black pixels based on the aforementioned scanning results. The template image can be a rectangular image area that overlays a raster map.
[0073] As one embodiment, the method for the robot to search for paths to a navigation target location within a grid map using a neighborhood search to obtain a first set of paths to be navigated includes: within the grid map, the robot uses its current position as the search starting point, and searches for free grid cells as path nodes within the neighborhood of the search starting point, ensuring that the path nodes are not located on the outline of obstacles. In some embodiments, the direction from the current position to the navigation target location can be an exit direction from the entrance of the narrow passage to the exit of the narrow passage, or a direction parallel to the exit direction. In this search, the robot finds multiple path nodes within the neighborhood of the search starting point, where each path node is a free grid cell. An initial search direction is assigned; then each path node is set as the search starting point, and free grids are searched in the neighborhood of each search starting point in the direction pointing from the current position to the navigation target position. This process is repeated until the navigation target position is found in the grid map, and the searched grids are connected simultaneously in the order of the search to form multiple first navigation paths. Each first navigation path forms a set of first navigation paths. The robot searches for one first navigation path in each initial search direction. The width of the grid occupied by each first navigation path in the path width direction is greater than the width of the robot's body, and each first navigation path is a passable path extending from the robot's current position to the navigation target position. Preferably, the neighborhood can be a grid area consisting of 4, 8, or 12 neighborhoods centered on the grid where the robot's current position (the center position of the robot's body) is located, or it can be a range of 10, 15, 20, or 30 grids in the four directions of front, back, left, and right of the robot's center position. The number of grids of 10, 15, 20, or 30 is only an example.
[0074] It should be noted that, in the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.
Claims
1. A method of a robot identifying a narrow passage, characterized by, The method for the robot to identify a narrow lane comprises: Marking an opening formed between obstacles as a to-be-identified gap at a corresponding grid of a grid map pre-acquired by the robot; In the process of the robot repeatedly entering and exiting a channel where the to-be-identified gap is located according to a preset U-turn coverage mode, the robot identifies a unit U-turn path as a narrow lane path and the channel where the to-be-identified gap is located as a narrow lane according to a distance between the unit U-turn path inside and outside the channel where the to-be-identified gap is located, and marks the narrow lane path and the narrow lane to the corresponding grid of the grid map; The unit U-turn path is a path formed by the robot entering the channel where the to-be-identified gap is located at least twice according to the preset U-turn coverage mode, so that the robot comes out of the channel where the to-be-identified gap is located once during the two times of entering the channel.
2. The method of claim 1, wherein, On the premise that the robot does not enter the channel where the to-be-identified gap is located or the robot has walked through the channel where the to-be-identified gap is located, when the robot detects that a width of the to-be-identified gap is within a preset width range, the robot marks the to-be-identified gap as a candidate narrow gap in the grid map, and sets a confidence of the candidate narrow gap as a first path confidence; On the premise that the robot does not enter the channel where the to-be-identified gap is located or the robot has walked through the channel where the to-be-identified gap is located, when the robot contacts the to-be-identified gap, the robot marks the to-be-identified gap as a candidate narrow gap in the grid map, and sets a confidence of the candidate narrow gap as a second path confidence; The first path confidence is greater than the second path confidence; the first path confidence and the second path confidence are both used to indicate a passable degree of the robot at the corresponding candidate narrow gap.
3. The method of claim 2, wherein the robot identifies the narrow aisle by, The to-be-identified gap is an opening between profile lines of two obstacles, and the channel where the to-be-identified gap is located is a channel composed of the profile lines of the two obstacles as boundary lines; the profile lines of the two obstacles are both marked at corresponding grids of the grid map; The width of the to-be-identified gap is a distance between grids where two end points of the to-be-identified gap are located on a robot travel plane, the two end points of the to-be-identified gap are respectively located on the profile lines of the corresponding obstacles, the grids where the two end points of the to-be-identified gap are located are respectively obstacle grids, and an internal region of the to-be-identified gap is filled by free grids; When the width of the to-be-identified gap is greater than a body width of the robot, it is determined that the to-be-identified gap allows the robot to enter; when the width of the to-be-identified gap is less than the body width of the robot, it is determined that the to-be-identified gap does not allow the robot to enter; The profile line of the obstacle collided by the robot is marked as a boundary line of the channel where the to-be-identified gap is located each time the robot enters the channel.
4. The method of claim 1, wherein the robot identifies the narrow aisle by, The unit U-turn path comprises a first unit U-turn path segment and a second unit U-turn path segment; The robot reciprocally walks inside the channel where the to-be-identified gap is located to form the first unit U-turn path segment according to the preset U-turn coverage mode, the first unit U-turn path segment comprises two adjacent trajectories, and the robot marks the two adjacent trajectories comprised by the first unit U-turn path segment as a first trajectory pair; The second unit U-turn path segment comprises two adjacent trajectories, and the robot marks the two adjacent trajectories comprised by the second unit U-turn path segment as a second trajectory pair. The robot walks back and forth outside the channel where the gap to be identified according to a preset U-turn coverage mode to form a second unit U-turn path segment, wherein the second unit U-turn path segment includes two adjacent tracks, and the robot marks the two adjacent tracks included in the second unit U-turn path segment as a second track pair; When the interval of the first track pair is smaller than the interval of the second track pair, or the interval of the first track pair is within a preset width range, the robot identifies the unit U-turn path as a narrow path, and identifies the channel where the gap to be identified as a narrow channel, and marks the first unit U-turn path segment formed inside the narrow channel, the second unit U-turn path segment formed outside the narrow channel, and the narrow channel to the corresponding grid of the grid map in sequence; wherein the minimum value of the preset width range is greater than the body width of the robot. The interval of the first track pair represents the displacement of the first unit U-turn path segment in the width direction inside the channel where the gap to be identified; and the interval of the second track pair is the interval of the two adjacent tracks included in the second unit U-turn path segment.
5. The method of claim 4, wherein the robot identifies the narrow aisle by, The first track pair includes a first straight line segment track and a first two straight line segment tracks that are parallel to each other, and the first straight line segment track and the first two straight line segment tracks are connected by a first bending line or a first preset line segment; the movement direction of the robot on each straight line segment track in the first track pair is configured to be the same as the movement direction of the robot on a corresponding track in a second track pair connected to the straight line segment track; the walking direction of the robot on the first straight line segment track is opposite to the walking direction of the robot on the first two straight line segment tracks; wherein the smaller the width of the gap to be identified or the width of the channel where the gap to be identified is, the smaller the interval of the first track pair is set to be; the interval of the first straight line segment track and the first two straight line segment tracks is the interval of the first track pair; In the process of repeatedly entering and exiting the channel where the gap to be identified by the robot according to the preset U-turn coverage mode, if the robot enters the channel where the gap to be identified from a first area and returns to the first area from the channel where the gap to be identified, the first track pair is connected to the second track pair by a third bending line or a third preset line segment, and the first area is located outside the channel where the gap to be identified.
6. The method of claim 5, wherein the robot identifies the narrow aisle by, The second track pair includes a second straight line segment track and a second two straight line segment tracks that are parallel to each other, and the second straight line segment track and the second two straight line segment tracks are connected by a second bending line or a second preset line segment, wherein the interval of the second straight line segment track and the second two straight line segment tracks is greater than the maximum value of the preset width range, and the interval of the second straight line segment track and the second two straight line segment tracks is the interval of the second track pair; the second unit U-turn path segment and the first unit U-turn path segment both belong to an arch-shaped path, so that the unit U-turn path is formed by connecting a plurality of arch-shaped paths with different track intervals end to end; The walking direction of the robot on each straight line segment trajectory in the second pair of trajectories is configured to be the same as the walking direction of the robot on the corresponding trajectory in the first pair of trajectories connected to the straight line segment trajectory; wherein the movement direction of the robot on the first second trajectory is opposite to the movement direction of the robot on the second second trajectory.
7. The method of claim 6, wherein the robot identifies the narrow aisle by, When the robot walks inside the narrow passage, the shortest distance between the two side boundary lines of the narrow passage and the corresponding side of the robot is within a preset gap distance range; or when the center of the robot is on the same straight line as the two endpoints of the entrance of the narrow passage when the robot enters the entrance of the narrow passage, the shortest distance between the two endpoints of the entrance of the narrow passage and the corresponding side of the robot is within a preset gap distance range; Wherein, the preset width range is equal to the sum of twice the preset gap distance range and the body width of the robot; the width of the entrance of the narrow passage or the width of the narrow passage is within the preset width range. Wherein, the distance between the openings on the two sides of the narrow passage is greater than or equal to the length of each trajectory in the first pair of trajectories; the openings on the two sides of the narrow passage are the entrance of the narrow passage and the exit of the narrow passage, respectively. Wherein, the side length of each grid corresponds to 5cm, 10cm or 15cm in the actual working area of the robot.
8. A narrow passage navigation method characterized by, The narrow passage navigation method comprises: After the robot executes the method for identifying a narrow passage according to any one of claims 1 to 7, the robot marks the narrow passage path and the narrow passage at the corresponding grid of the grid map; Then, the robot first starts from the current position and searches for a path leading to the navigation target position in the grid map by means of neighborhood search to obtain a first set of to-be-navigated paths; the robot performs image erosion processing on the narrow passage or the narrow passage path in the grid map to search for a path leading to the navigation target position to obtain a second set of to-be-navigated paths; The first to-be-navigated path with the shortest navigation trajectory length is selected from the first set of to-be-navigated paths as a first target navigation path, and the second to-be-navigated path with the shortest navigation trajectory length is selected from the second set of to-be-navigated paths as a second target navigation path; wherein the navigation trajectory length is the length of the trajectory extending from the current position to the navigation target position. According to the difference in the trajectory length of the first target navigation path and the second target navigation path, a target navigation path that does not pass through the narrow passage or a target navigation path that does not contact the narrow passage is selected as the final navigation path, or a target navigation path with the shortest trajectory length is selected as the final navigation path; wherein the first target navigation path and the second target navigation path both belong to the target navigation path; Then the robot walks along the final navigation path from the current position to the navigation target position.
9. The method of claim 8, wherein, The method for selecting a target navigation path that does not pass through the narrow passage or a target navigation path that does not contact the narrow passage as the final navigation path, or selecting a target navigation path with the shortest trajectory length as the final navigation path according to the difference in the trajectory length of the first target navigation path and the second target navigation path comprises: When the absolute value of the difference between the trajectory length of the first target navigation path and the trajectory length of the second target navigation path is greater than or equal to the preset distance threshold, the target navigation path with the shortest trajectory length is selected as the final navigation path; When the absolute value of the difference between the trajectory length of the first target navigation path and the trajectory length of the second target navigation path is less than the preset distance threshold, the target navigation path that does not pass through the narrow lane or the target navigation path that does not contact the narrow lane is selected as the final navigation path; When neither the first target navigation path nor the second target navigation path passes through the narrow lane or contacts the narrow lane, the target navigation path with the shortest trajectory length is selected as the final navigation path; The target navigation path that does not pass through the narrow lane is located outside the narrow lane, and the target navigation path that does not contact the narrow lane refers to a target navigation path in which all grids are located outside the narrow lane without overlapping any grid in the narrow lane. The path width of each target navigation path is set to be greater than the body width of a robot. The target navigation path that passes through the narrow lane refers to a target navigation path in which a part of the path is located in the area between the boundary lines of the two sides of the narrow lane, and the starting point of the part of the path is located at the entrance of the narrow lane, and the end point of the part of the path is located at the exit of the narrow lane.
10. The method of claim 9, wherein, When the trajectory length of the first target navigation path is greater than the trajectory length of the second target navigation path, when the absolute value of the difference between the trajectory length of the first target navigation path and the trajectory length of the second target navigation path is greater than or equal to the preset distance threshold, or when neither the first target navigation path nor the second target navigation path passes through the narrow lane or contacts the narrow lane, the robot sets the second target navigation path as the final navigation path; wherein the ratio of the preset distance threshold to the trajectory length of the first target navigation path, or the ratio of the preset distance threshold to the trajectory length of the second target navigation path is set to 20%. When the trajectory length of the first target navigation path is less than the trajectory length of the second target navigation path, when the absolute value of the difference between the trajectory length of the first target navigation path and the trajectory length of the second target navigation path is less than the preset distance threshold, or when neither the first target navigation path nor the second target navigation path passes through the narrow lane or contacts the narrow lane, the robot sets the first target navigation path as the final navigation path; wherein the ratio of the preset distance threshold to the trajectory length of the first target navigation path, or the ratio of the preset distance threshold to the trajectory length of the second target navigation path is set to 20%.
11. The method of claim 9, wherein, When there is no first target navigation path in the set of first target navigation paths, there is a second target navigation path that passes through the narrow lane in the set of second target navigation paths; The second target navigation path that passes through the narrow lane includes the narrow lane path and / or is composed of part or all of the narrow lane path.
12. The method of claim 9, wherein, When the robot walks along the final navigation path, if the robot detects that the number of times of collision between the robot and the boundary line of the candidate narrow opening or the narrow lane where the candidate narrow opening is located exceeds the preset number of times of collision within a preset time when the robot walks to the candidate narrow opening or enters the narrow lane where the candidate narrow opening is located, the robot is controlled to start walking along a boundary line of the narrow lane where the candidate narrow opening is located, and stop continuing to walk along the final navigation path, so as to pass through the narrow lane where the candidate narrow opening is located in a manner of walking along the contour line of the obstacle on the side corresponding to the robot. The candidate narrow opening is a gap formed between two obstacles and available for the robot to pass through, and is an entrance of the narrow lane; the narrow lane is a passage with the contour lines of the two obstacles as boundary lines; and the minimum distance between points on the contour lines of the two obstacles is greater than or equal to the minimum value of the preset width range. In the process of searching for each path leading to the navigation target position in the grid map, the index number is sequentially marked for the grid corresponding to each searched path in the direction of the current position pointing to the navigation target position, and the extension direction of the grid corresponding to the index number in ascending order is set as the walking direction of the robot on the searched path, so as to determine the walking direction of the robot on the final navigation path.
13. The method of claim 8, wherein, The current position of the robot is located in a first working area, and the navigation target position is located in a second working area; and the first working area and the second working area are different areas. The first working area is connected to the entrance of the narrow lane, and the second working area is connected to the exit of the narrow lane, so that the robot passes through the narrow lane to enter the second working area from the first working area or returns to the first working area from the second working area. The left and right endpoints of the entrance of the narrow lane are respectively distributed with walls to divide the first working area and the second working area.
14. The method of claim 12, wherein, The method for the robot to perform image erosion processing on the narrow lane or the narrow lane path in the grid map to search for a path leading to the navigation target position and obtain a set of second to-be-navigated paths includes: The robot erodes the two side grids of the narrow lane or all the grids in the narrow lane towards four quadrants in the grid map, or the robot erodes the two side grids of the narrow lane path or all the grids in the narrow lane path towards four quadrants in the grid map; The image processing means of erosion is used to set part of the free grids as obstacle grids, reduce the free grid area connected to the narrow lane or the narrow lane path, retain at least one path leading to the navigation target position, set each retained path leading to the navigation target position as a second to-be-navigated path, and then compose a set of second to-be-navigated paths.
15. The method of claim 12, wherein, The method for the robot to search for a path leading to the navigation target position in the grid map by means of neighborhood search and obtain a set of first to-be-navigated paths includes: In the grid map, the robot takes its current position as a search starting point, searches free grids as path nodes in a neighborhood of the search starting point in a direction from the current position to the navigation target position, wherein the robot searches a plurality of path nodes in the neighborhood of the search starting point; then sets each path node as a search starting point, and searches free grids in a neighborhood of each search starting point in the direction from the current position to the navigation target position, and repeats the above process until the navigation target position is searched, and connects the searched grids in a search order to form a first to-be-navigated path, to form a first to-be-navigated path set.
Citation Information
Patent Citations
Method and device for determining movement trajectory, mobile robot and storage medium
CN107742304A
Narrow passage identification method and device, equipment and computer readable storage medium
CN111103886A