A navigation method, chip and robot for a robot to pass through a narrow path
By fitting and positioning the contour segment and adjusting the walking direction after the sweeping robot enters the narrow path, the problem of poor navigation in the narrow path is solved, and precise obstacle avoidance and efficient passage in the narrow path is achieved.
Patent Information
- Application Number
- CN202210982509.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-16
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2042-08-16
AI Technical Summary
Sweeping robots find it difficult to pass smoothly when encountering narrow paths, resulting in poor navigation paths or repeated navigation.
By fitting the positioning contour segment after the robot enters the narrow lane, adjusting the walking direction to avoid obstacles, and tentatively advancing within the narrow lane until the narrow lane entrance is identified and the direction is adjusted to pass.
The robot can accurately avoid obstacles in the narrow channel, improve the smoothness and success rate of passing through the narrow channel, and can smoothly pass through the narrow channel opening with a width of 1cm larger than the width of the fuselage.
Smart Images

Figure CN117629205B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of mobile robot navigation, and in particular to a navigation method, a chip and a robot for a robot to pass through a narrow path. Background Art
[0002] When cleaning, if the sweeping robot comes to a narrow passage between two walls or two low obstacles with a width slightly larger than the width of the robot, it will actively avoid it when it touches the obstacle, and avoid it by turning sharply to bypass the obstacle or narrow passage; however, this narrow passage is a more convenient passage to the target location; generally speaking, the two sides of the narrow passage are the outlines of two obstacles; and when setting the moving path, the sweeping robot is generally set as a point. In order to facilitate the sweeping robot to move to the target location in another room area, the set moving path may need to pass through a narrow passage. Due to the requirements of calculation error and exploration efficiency, the navigation path planned by the robot is not suitable for narrow passage environments, and it is not smooth enough or navigates repeatedly in narrow passages. Summary of the invention
[0003] In order to solve the problem of a robot passing through a narrow road, the present invention provides a navigation method, a chip and a robot for a robot passing through a narrow road. The specific technical solution is as follows:
[0004] A navigation method for a robot to pass through a narrow path, the navigation method comprising: step S1, after the robot enters the narrow path, if the robot collides with an obstacle, a positioning contour segment is fitted for the obstacle, and then the robot is rotated until the current walking direction of the robot is the same as the preset passing direction of the currently fitted positioning contour segment, or the current walking direction of the robot is deflected by a preset angle relative to the currently fitted positioning contour segment toward a passable area, so that the robot is not currently blocked by obstacles and then step S2 is executed; step S2, the robot walks in a straight line according to the current walking direction until it collides with an obstacle, and then step S1 is executed; when the robot walks to the preset target position, step S1 is stopped, and it is determined that the robot passes through the narrow path.
[0005] Furthermore, in the step S1, the robot sets the endpoint that forms the shortest navigable path relative to the preset target position in the positioning contour segment it fits as the target endpoint of the positioning contour segment, wherein the shortest navigable path is located in the navigable area of the narrow road entered by the robot; the robot configures the direction of the endpoints other than the target endpoint in the positioning contour segment pointing to the target endpoint as the preset navigable direction of the positioning contour segment.
[0006] Furthermore, the robot configures the channel where the target endpoint of each positioning contour segment is located as a narrow road; the robot sets the positioning contour segment as the boundary line of the narrow road; whenever the robot collides with a new obstacle, it fits a positioning contour segment for the new obstacle, then obtains the target endpoint of the positioning contour segment of the new obstacle, and identifies the opening of the channel where the target endpoint is located as the opening of the narrow road.
[0007] Further, in step S2, before the robot walks to the preset target position, if the robot recognizes a narrow entrance, it recognizes the narrow entrance as the exit of the narrow road, and then the robot adjusts its current walking direction to the preset passing direction of the currently fitted positioning contour segment, or deflects to the passable area by a preset angle relative to the currently fitted positioning contour segment; then the robot walks in a straight line in the current walking direction to leave the narrow road.
[0008] Furthermore, the navigation method also includes: before the robot enters the narrow road, if the robot recognizes the narrow road entrance, the narrow road entrance is recognized as the entrance of the narrow road, and then the robot adjusts its current walking direction to the preset passing direction of the currently fitted positioning contour segment, or the current walking direction of the robot is deflected by a preset angle toward the passable area relative to the currently fitted positioning contour segment; then the robot walks in a straight line according to the current walking direction to enter the entrance of the narrow road, and then executes step S1.
[0009] Furthermore, before the robot starts to identify the narrow crossing, if the robot collides with an obstacle, the obstacle is marked as the most recently detected obstacle before the robot starts to identify the narrow crossing, and then a positioning contour segment is fitted for the obstacle. Then the robot adjusts its current walking direction to be the same as the preset travel direction of the currently fitted positioning contour segment, so that the robot walks along the currently fitted positioning contour segment until it collides with a new obstacle and fits the corresponding positioning contour segment for the new obstacle, and then starts to identify the narrow crossing.
[0010] Furthermore, whenever the robot rotates to a point where its current walking direction is the same as the preset travel direction of the currently fitted positioning contour segment, or rotates to a point where its current walking direction is deflected toward the passable area by the preset angle relative to the currently fitted positioning contour segment, the robot walks in a straight line in the current walking direction for a preset safety distance, and detects whether it collides with an obstacle during the straight-line walking process. If so, step S1 is executed; otherwise, it is determined that the robot has passed through a narrow road, and then a heuristic search algorithm is used to plan a path to the preset target position, or a path to the position closest to the obstacle detected in the current walking direction, and then the robot walks along the currently planned path until the robot recognizes the entrance to another narrow road and enters the narrow road, and then step S1 is executed.
[0011] Furthermore, the method for the robot to identify a narrow passage includes: the robot first fits a positioning contour segment for the obstacle most recently collided with, and then the robot extracts two obstacle avoidance points in the search direction of the positioning contour segment; if it is detected that the distance between the two obstacle avoidance points is within a preset distance range, the channel where the two obstacle avoidance points are located is identified as a narrow passage, and the gap formed between the obstacles where the two obstacle avoidance points are located is identified as a narrow passage.
[0012] Furthermore, after the robot recognizes a narrow passage, if it is detected that the robot's walking direction changes from a reference obstacle avoidance direction to a preset passing direction of a currently fitted positioning contour segment or is deflected toward a passable area by the preset angle relative to the currently fitted positioning contour segment, and the robot walks in a straight line in the changed walking direction, the robot recognizes that it has entered a narrow passage; wherein the changed walking direction is configured to point from the current position of the robot to a direction of a passable area inside the channel where the two obstacle avoidance points are located; wherein the reference obstacle avoidance direction is the preset passing direction of the last fitted positioning contour segment or is deflected toward the passable area by the preset angle relative to the last fitted positioning contour segment; wherein the last fitted positioning contour segment is a positioning contour segment fitted for the most recently collided obstacle before the robot starts to recognize the narrow passage.
[0013] Furthermore, before starting to identify the narrow crossing, the robot collides with an obstacle and fits a corresponding positioning contour segment; then, when the robot collides with another obstacle, it starts to identify the narrow crossing; the positioning contour segment fitted by the robot for an obstacle that it collides with first is the positioning contour segment fitted last time, and the positioning contour segment fitted by the robot for an obstacle that it collides with later is the positioning contour segment fitted currently, so that the preset travel direction of the positioning contour segment fitted last time is different from the preset travel direction of the positioning contour segment fitted currently.
[0014] Furthermore, the robot sets the search direction of the positioning contour segment to the vertical direction of the positioning contour segment to form the width direction of the channel where the two obstacle avoidance points are located; the two obstacle avoidance points are distributed along the search direction of the positioning contour segment: among the obstacles most recently collided before the robot starts to identify the narrow opening and among the obstacles collided when the robot starts to identify the narrow opening.
[0015] Furthermore, the preset distance range is set to be greater than or equal to the body width of the robot; the preset safety distance is set to be equal to the body width of the robot; the preset angle is set to guide the robot to leave the obstacle currently collided with, or to bypass any endpoint of the positioning contour segment of the obstacle currently collided with, so as to walk to a passable area connected to the preset target position; the shortest passable path is a path with the shortest path length among the paths leading to the preset target position planned by the robot using a heuristic search algorithm with the two endpoints of the positioning contour segment as search starting points.
[0016] A chip stores program codes, and when the program codes are executed, the steps of the navigation method are implemented.
[0017] A robot is equipped with a distance sensor. The robot is provided with the chip for controlling the robot to use the distance sensor to detect point cloud data of obstacles and fit corresponding positioning contour segments from the point cloud data, so as to facilitate the robot to pass through a narrow road by executing the navigation method.
[0018] The beneficial technical effect of the present invention is that, in a narrow passage, the robot disclosed in the present invention tentatively moves forward along a specific direction indicated by a fitted positioning contour segment (the direction of the shortest path to a preset target position in the narrow passage), identifies the narrow passage opening by colliding with obstacles and adjusts the direction in time to avoid obstacles, repeats the process, walks out a route from a starting position to a preset target position, and achieves alternating twisting and advancing through the narrow passage toward the preset target position; thereby controlling the robot to accurately avoid obstacles in the narrow passage, allowing the navigation to smoothly pass through narrow passage openings whose width is 1 cm larger than the body width and other complex narrow passage scenes, thereby improving the fluency and success rate of the robot passing through narrow passages.
[0019] As long as the walking direction of the robot changes from the reference obstacle avoidance direction to the preset passing direction of the currently fitted positioning contour segment or is deflected by the preset angle toward the passable area relative to the currently fitted positioning contour segment, and the robot walks in a straight line according to the changed walking direction, and the distance between the two obstacle avoidance points is within the preset distance range, the robot will identify the channel where the two obstacle avoidance points are located as a narrow road and determine that it has entered the narrow road.
[0020] The present invention adjusts the walking direction of the robot according to the collision situation between the robot and the obstacle and the fitting situation of the obstacle contour before starting to identify the narrow road entrance, when starting to identify the narrow road entrance, before and after identifying the narrow road entrance, before entering the narrow road, and in the corresponding stages of entering the narrow road, and then walks in a straight line in the narrow road to tend to walk to the preset target position; and identifies the narrow road entrance based on the collision situation between the robot and two obstacles in succession and the fitting situation of the contours of each obstacle, so as to distinguish the three recognition states before starting to identify the narrow road entrance, when starting to identify the narrow road entrance, and identifying the narrow road entrance, thereby promoting the process of the robot entering the narrow road and re-entering the narrow road. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 The present invention discloses a flowchart of a navigation method for a robot passing through a narrow passage according to an embodiment of the present invention.
[0022] Figure 2 Another embodiment of the present invention discloses a schematic diagram of the motion trajectory of a robot passing through a narrow path. DETAILED DESCRIPTION
[0023] The technical scheme in the embodiment of the present invention will be described in detail below in conjunction with the drawings in the embodiment of the present invention. To further illustrate each embodiment, the present invention provides drawings. These drawings are part of the disclosure of the present invention, which are mainly used to illustrate the embodiment, and can be used in conjunction with the relevant description of the specification to explain the operating principle of the embodiment. With reference to these contents, a person of ordinary skill in the art should be able to understand other possible implementation methods and the advantages of the present invention. Processing or method depicted as a flow chart. Although the flow chart describes each step as a sequential process, many of the steps can be implemented in parallel, concurrently or simultaneously. In addition, the order of each step can be rearranged. The process can be terminated when its operation is completed, but it can also have additional steps not included in the drawings. The process can correspond to a method, a function, a procedure, a subroutine, a subprogram, etc.
[0024] When a robot passes through a narrow road, in order to overcome the excessive calculation error generated in the process of fitting contour segments and the sensor error introduced by the planned walking direction, so that the robot's navigation can smoothly pass through the narrow road, the present invention discloses a navigation method for a robot passing through a narrow road; the execution subject of the navigation method is a robot equipped with a ranging sensor. In this application, the navigation method is automatically executed by the robot, which can accept human input instructions, run pre-programmed program instructions, and independently formulate and execute tasks based on artificial intelligence technology. The robot can be a cylinder, at least integrated with a collision sensor and a ranging sensor. Among them, the distance measuring sensor can be a line laser sensor, which obtains the position information reflected by the obstacle by emitting a line laser to the outside, and constructs a two-dimensional point cloud map in time by detecting the two-dimensional point cloud data of the surrounding environment, and the number of sensors installed on the robot body can be one line laser sensor or multiple line laser sensors; the line laser sensor includes a multi-line laser radar and a single-line laser radar. The single-line laser radar refers to a radar whose beam emitted by the laser source is a single line. It is applied in the field of robots, mostly service robots, and can help robots avoid obstacles. It has fast scanning speed, high resolution, and high reliability. Compared with multi-line laser radars, single-line laser radars react faster in angular frequency and sensitivity, so they are more accurate in testing the distance and accuracy of surrounding obstacles. In particular, cleaning robots walking on the ground surface, lawn mowing robots walking in lawn areas with narrow passages demarcated by boundary lines, floor scrubbers, and security patrol robots, etc. This embodiment does not limit the types of applicable subjects of the navigation method. The robot may also be equipped with inertial sensors (including but not limited to odometers for measuring walking distance, collision sensors for detecting collision with obstacles, and gyroscopes for measuring body rotation angles), or visual sensors (any type of depth information acquisition equipment may be used, including but not limited to monocular cameras, binocular cameras and other cameras).
[0025] See also Figure 1It can be seen that the navigation method includes: step S1, after the robot enters the narrow road, if the robot collides with an obstacle, a positioning contour segment is fitted for the obstacle as the positioning contour segment currently fitted by the robot, and the currently fitted positioning contour segment is characterized as the contour segment of the obstacle most recently detected by the robot; then the robot rotates, specifically rotates in situ until the current walking direction of the robot is the same as the preset passing direction of the currently fitted positioning contour segment, or the current walking direction of the robot is deflected by a preset angle toward the passable area relative to the currently fitted positioning contour segment, so that the robot is not currently blocked by obstacles and moves forward; wherein, when the current walking direction of the robot is the same as the preset passing direction of the currently fitted positioning contour segment, the current walking direction of the robot is parallel to the currently fitted positioning contour segment and the machine The current walking direction of the person is the extension direction of the shortest path pointing to the preset target position in the narrow road; in addition, the implementation method of deflecting the preset angle to the passable area includes: when there is a passable area (not occupied by obstacles) on the left side of the currently fitted positioning contour segment or the left side of the obstacle where the positioning contour segment is located, the robot deflects to the left relative to the extension direction of the currently fitted positioning contour segment; when there is a passable area (not occupied by obstacles) on the right side of the currently fitted positioning contour segment or the right side of the obstacle where the positioning contour segment is located, the robot deflects to the right relative to the extension direction of the currently fitted positioning contour segment; the preset angle is associated with the accuracy of the fitting calculation, the higher the accuracy, the closer the currently fitted positioning contour segment is to the obstacle, and the smaller the preset angle is set, otherwise the larger it is. The preset angle is preferably within 0 to 30 degrees. Then the robot executes step S2.
[0026] It should be noted that the method for the robot to fit the positioning contour line segment includes: for narrow roads, the point cloud data (radar points) collected by the line laser sensor disclosed in this embodiment are all represented by discrete coordinates, and these discrete coordinates are specifically used to represent the position of obstacles. Most of them need to be screened and grouped, and then the grouped point cloud data are fitted to obtain a fitting line or a fitting curve, and then according to the proportional conversion relationship between the world coordinates and the image coordinates, the obstacle envelope is obtained through the coordinate points of the fitting curve or the fitting line; preferably, in order to ensure the efficiency of the path planning algorithm, a simple robot particle model is used in the path search stage, preferably, the fitting curve or the fitting line is virtually expanded, and its expansion radius is set to the radius of the inscribed circle or the radius of the circumscribed circle of the robot contour projection, forming a fitting circle surrounding the obstacle, corresponding to the obstacle envelope; thereby the obstacle envelope is displayed in real time in the grid map (the point cloud data is discretely distributed around the obstacle in a surrounding shape), which not only corresponds to the laser detection distance from the obstacle to the edge of the robot, but also can be used to represent the obstacle position.
[0027] Step S2, the robot walks in a straight line in the current walking direction until it collides with an obstacle, and then executes step S1; in the process of repeatedly executing step S1 and the aforementioned straight-line walking operation, if the robot walks to the preset target position, stop executing step S1 and determine that the robot passes through the narrow road; preferably, the preset target position is located outside the narrow road and is connected to the passable area inside the narrow road to support the robot inside the narrow road to walk in a straight line to the preset target position.
[0028] Specifically, for step S2, whenever the robot rotates to a point where its current walking direction is the same as the preset passing direction of the currently fitted positioning contour segment, or rotates to a point where its current walking direction is deflected toward the passable area by the preset angle relative to the currently fitted positioning contour segment, the robot walks in a straight line in the current walking direction for a preset safety distance, and detects whether it collides with an obstacle during the straight-line walking process. If so, step S1 is executed to achieve precise obstacle avoidance by the robot; otherwise, it is determined that the robot has passed through a narrow road, and that the robot is currently exiting the narrow road. The preset safety distance is preferably the robot's body width to meet the width setting requirements in the narrow road environment, and then a heuristic search algorithm is used to plan the path to the preset safety distance. Assume that the path of the target position, or the path leading to the position closest to the obstacle detected in the current walking direction (which may be an obstacle closest to the current position of the robot), may be the path of the local target position closest to the contour line of the corresponding obstacle; then walk along the planned path, if the robot is in an area close to the preset target position, then walk along the path leading to the preset target position; if the robot is in a local area far from the preset target position and surrounded by obstacles on three sides, then walk along the path leading to the local target position; until the robot recognizes the entrance to another narrow road and enters the narrow road, then execute the step S1 to enter the new narrow road along the new direction.
[0029] Preferably, the prerequisite for the robot to identify the entrance to another narrow passage includes: in the process of walking along the planned path, the robot has detected or collided with a new obstacle and started to identify the narrow passage. Figure 2In the figure, the robot navigates from the start position to the target position (preset target position), encounters an obstacle at position R, uses point cloud data to fit the line segment A0B0, and then selects whether the current walking direction is A0 to B0 or B0 to A0 according to the local target position R1 or the preset target position target. Then the robot chooses the direction of B0 to A0 and moves to the local target position R1. It may collide with the obstacle on its right and starts to identify the narrow crossing. When the robot recognizes that the gap between position B1 and position A0 is a narrow crossing at position R1, the robot enters and passes through the narrow crossing and moves to the preset target position target. Among them, when the robot walks to position R5, it selects the direction of B5 pointing to A5 as the current walking direction, and then walks to position R6 along the current walking direction, so as to control the robot to rotate to a direction without obstacles, and does not collide with the obstacles where the positioning contour segment B5A5 is located and the obstacles where the positioning contour segment B4A4 is located. The robot just passes through the corresponding narrow road opening (that is, the exit of the narrow road), and then uses the heuristic search algorithm to plan the path to the preset target position, and then walks in a straight line along the planned path or navigation direction to the preset target position target.
[0030] Preferably, the range and field of view of the point cloud data describing the environment of the ranging sensor are limited, and it is impossible to describe the environmental information around the robot in detail. Then, based on the global path of the navigation task, the local target position of the local plan is selected within the local map range. The specific method is to start from the current position and search along the global path for a track point closest to the edge in the local map, which is used as the local target position. The global path is the path to the preset target position planned using the heuristic search algorithm disclosed in the above embodiment.
[0031] In summary, in a narrow passage, the robot disclosed in the present invention tentatively moves forward along the specific direction indicated by the fitted positioning contour segment (the direction of the shortest path to the preset target position in the narrow passage), identifies the narrow passage opening by colliding with obstacles and adjusts the direction in time to avoid obstacles, and repeats this process to walk out a route from the starting position to the preset target position, so as to achieve alternating twisting and moving forward through the narrow passage toward the preset target position; thereby controlling the robot to accurately avoid obstacles in the narrow passage, allowing the navigation to smoothly pass through narrow passage openings whose width is 1 cm larger than the body width and other complex narrow passage scenes, thereby improving the fluency and success rate of the robot passing through narrow passages.
[0032] In the above embodiment, in step S1, the robot sets the endpoint of the shortest traversable path relative to the preset target position in the positioning contour segment it fits as the target endpoint of the positioning contour segment. According to the time change of the robot passing through the narrow road, the target endpoint is Figure 2The distribution positions within are position A0, position B1, position B2, position B3, position B4, and position A5, which correspond to the endpoints of the positioning contour segment A0B0, the endpoints of the positioning contour segment A1B1, the endpoints of the positioning contour segment A2B2, the endpoints of the positioning contour segment A3B3, the endpoints of the positioning contour segment A4B4, and the endpoints of the positioning contour segment A5B5; wherein the shortest navigable path is located within the navigable area of the narrow road entered by the robot; the robot configures the direction of the endpoints of the positioning contour segment other than the target endpoint pointing to the target endpoint as the preset pass direction of the positioning contour segment, Figure 2 The corresponding directions are B0 pointing to A0, the arrows marked by index number ①, the arrows marked by index number ②, the arrows marked by index number ③, the arrows marked by index number ④, and B5 pointing to A5. After the robot recognizes the narrow passage and enters it, the precise angle that the robot needs to turn is calculated to avoid obstacles and turn the robot's walking direction to a direction that points to the front without obstacles.
[0033] As an embodiment, the robot configures the channel where the target endpoint of each positioning contour segment is located as a narrow road; the robot sets the positioning contour segment as the boundary line of the narrow road; whenever the robot collides with a new obstacle, it fits the positioning contour segment for the new obstacle, and then obtains the target endpoint of the positioning contour segment of the new obstacle, which is equivalent to a boundary point of the channel, and identifies the opening of the channel where the target endpoint is located as the narrow road opening. In this embodiment, before and after executing the step S1, the robot detects whether there is an obstacle on its path during the movement through the collision sensor, and combines the distance measuring sensor to detect whether there is a narrow road on the path. For example, if the body width (outer diameter) of the robot is D, the channel with a width in the range of (1-ɑ)D to (1+ɑ)D can be determined as a narrow road, wherein the coefficient ɑ can be set in combination with the shape and material of the robot, for example, the value of ɑ is 0.03.
[0034] It should be noted that due to the accumulated errors of the robot's sensors, different obstacle materials, and different lighting environment interference, the obstacle envelope (the outer envelope contour of the obstacle, a fitting curve or the connection of multiple fitting curves) obtained using the point cloud data collected by the laser sensor may not fit the actual obstacle position. The robot may exclude narrow openings from the robot's passable area when searching for paths. Therefore, the error of the obstacle envelope can easily cause the robot to misjudge the narrow openings. In this application, it is necessary to fit the positioning contour segments of the obstacle at the right time through robot collision, obtain the corresponding guidance direction, and take the opportunity to enter the narrow passage.
[0035] As an embodiment, the navigation method also includes: before the robot enters the narrow road, if the robot recognizes the narrow road entrance, the narrow road entrance is recognized as the entrance of the narrow road, and then the robot adjusts its current walking direction to the preset travel direction of the currently fitted positioning contour segment, or the current walking direction of the robot is deflected toward the passable area by a preset angle relative to the currently fitted positioning contour segment; then the robot walks in a straight line according to the current walking direction to bypass the target endpoint of the positioning contour segment of the obstacle most recently detected before it starts to recognize the narrow road, and then enters the entrance of the narrow road to recognize that it has entered the narrow road, and then executes step S1.
[0036] On the basis of the above embodiment, before the robot starts to identify the narrow passage, if the robot collides with an obstacle, the obstacle is marked as the obstacle most recently detected before the robot starts to identify the narrow passage, and then a positioning contour segment is fitted for the obstacle. Then the robot adjusts its current walking direction to be the same as the preset travel direction of the currently fitted positioning contour segment, so that the robot walks along the currently fitted positioning contour segment until it collides with a new obstacle and fits a corresponding positioning contour segment for the new obstacle, and then starts to identify the narrow passage. Specifically, the robot initially collides with an obstacle at position R (the nearest black rectangle to the right of the start position), which is used as the obstacle most recently detected before the robot starts to identify the narrow passage, that is, the target endpoint of the positioning contour segment of the obstacle most recently detected before starting to identify the narrow passage corresponds to Figure 2 The target endpoint A0 of the positioning contour segment A0B0; then the robot adjusts its walking direction and Figure 2 In the figure, the robot starts from position R and walks along the direction from position B0 to position A0 to position R1, then collides with a new obstacle at position R1 (the nearest black rectangle at the upper right of position R1), and then adjusts the current walking direction to the direction of the arrow marked by index number ① at position R1, which can be regarded as parallel to the positioning contour segment A1B1 fitted for the new obstacle. When the robot starts from position R1 and walks along the direction of the arrow marked by index number ①, it is recognized that the robot enters a narrow path and also bypasses position A0.
[0037] Based on the aforementioned embodiment before entering the narrow passage, preferably, for a non-temporary fixed narrow passage, after the robot faces the direction of the narrow passage, it may identify a narrow passage opening, and then deflect to the left or right by a first preset angle (for example, 30 degrees) and move in a straight line to enter the narrow passage opening. If the robot collides, it means that it has reached the boundary of one side of the narrow passage, and may exit the narrow passage at the gap at the current position and identify a new narrow passage opening, and then deflect to the opposite direction by a second preset angle (for example, 60 degrees) and move in a straight line to enter the new narrow passage opening. If the robot collides again, it means that it has reached the boundary of the other side of the narrow passage, and repeats the process. The positions that have been walked correspond to R1 -> R2 -> R3 -> R4 -> R5 -> R6 in sequence, so as to pass through the corresponding narrow passage, and it can achieve alternating left and right twisting to advance through the narrow passage. Specifically, corresponding to Figure 2 In the example, the robot walks from position R1 to position R2 (before starting to identify a new narrow passage), encounters an obstacle on the right side of the position, and uses the point cloud data to fit the positioning contour segment A2B2 (triggering the robot to start identifying a new narrow passage). Then, the robot identifies the first narrow passage between position B2 and position A0, and then rotates the body to change the current walking direction to Figure 2 The robot points to the direction indicated by the arrow marked by the index number ② of the robot, and then the robot chooses the direction from A2 to B2 and walks straight to position R3 to pass through the first narrow passage in the corresponding section of the narrow passage (equivalent to entering the first narrow passage); similarly, if it collides with an obstacle in front of it at position R3, the point cloud data of the obstacle is used to fit the positioning contour line segment A3B3, and then the second narrow passage between position B2 and position A3 is identified, and then the body is turned so that the current walking direction becomes Figure 2 The robot then walks in a straight line along the arrow pointed by index number ③ to position R4 to pass through the second narrow passage, and then collides with an obstacle in front of it on the right at position R4. The point cloud data of the obstacle is used to fit the positioning contour line segment A4B4, and then the third narrow passage between position B2 and position A4 is identified, and then the body is turned so that the current walking direction becomes Figure 2 The robot then walks in a straight line along the arrow pointed by index number ④ to position R5 to pass through the third narrow passage, and then collides with an obstacle in front of it on the right at position R5. The point cloud data of the obstacle is used to fit the positioning contour line segment B5A5, and then the fourth narrow passage between position B5 and position B4 is identified. The robot then turns the body to change the current walking direction from position B5 to position A5, and then the robot walks in a straight line along the direction from position B5 to position A5 to position R6 to pass through the fourth narrow passage. Figure 2As shown, before the robot walks to the preset target position target, if the robot recognizes the narrow passage between position B5 and position B4, the narrow passage is recognized as the exit of the narrow passage, specifically the narrow passage closest to the preset target position target, and then the robot adjusts its current walking direction to the preset passing direction of the currently fitted positioning contour segment, or deflects the preset angle relative to the currently fitted positioning contour segment to the passable area, and then the robot walks in a straight line according to the current walking direction to bypass the target endpoint B4 of the positioning contour segment of the obstacle that it has recently collided with before it starts to identify the exit of the narrow passage, and after walking in a straight line without obstacles for a preset safety distance, it reaches position R6 to realize the exit of the narrow passage; preferably, the preset target position target is set outside the narrow passage. ; Then the robot uses a heuristic search algorithm at position R6 to plan a path to the preset target position target, and then walks in a straight line from position R6 along the planned path or navigation direction to the preset target position target. Therefore, whenever the robot collides with a new obstacle, a positioning contour segment is fitted for the new obstacle, a target endpoint of the positioning contour segment of the new obstacle is obtained, and the opening of the channel where the target endpoint is located is identified as a narrow passage.
[0038] In summary of the above embodiments, the present invention adjusts the walking direction of the robot according to the collision between the robot and the obstacle and the fitting of the obstacle contour before starting to identify the narrow road entrance, when starting to identify the narrow road entrance, before and after identifying the narrow road entrance, before entering the narrow road, and in the corresponding stages of entering the narrow road, and then walks in a straight line in the narrow road to tend to walk to the preset target position; and identifies the narrow road entrance based on the collision between the robot and two obstacles in succession and the fitting of the contours of each obstacle, so as to distinguish the three recognition states before starting to identify the narrow road entrance, when starting to identify the narrow road entrance, and identifying the narrow road entrance, thereby promoting the process of the robot entering the narrow road and re-entering the narrow road.
[0039] In the aforementioned embodiment, the method for the robot to identify a narrow passage includes: when the robot is triggered to start identifying the narrow passage, the robot first fits a positioning contour line segment to the obstacle that has been collided with the most recently, and then the robot extracts two obstacle bypassing points in the search direction of the positioning contour line segment, and if it is detected that the distance between the two obstacle bypassing points is within a preset distance range, the passage where the two obstacle bypassing points are located is identified as a narrow passage; and the gap formed between the obstacles where the two obstacle bypassing points are located is identified as a narrow passage, preferably an opening between the two obstacle bypassing points. Further, after the robot identifies the narrow passage, if it is detected that the robot's walking direction changes from the reference obstacle bypassing direction to the preset passing direction of the currently fitted positioning contour line segment or deflects the preset angle to the passable area relative to the currently fitted positioning contour line segment, and the robot walks in a straight line according to the changed walking direction, the robot recognizes that it has entered the narrow passage; wherein the changed walking direction is configured to point from the current position of the robot to the direction of the passable area inside the passage where the two obstacle bypassing points are located, preferably parallel to the currently fitted positioning contour line segment. The reference obstacle bypassing direction is the preset passing direction of the positioning contour segment fitted last time or the preset angle deflected to the passable area relative to the positioning contour segment fitted last time; wherein, the positioning contour segment fitted last time is the positioning contour segment fitted for the latest obstacle collided before the robot starts to identify the narrow passage. Specifically, before starting to identify the narrow passage, the robot collides with an obstacle and fits the corresponding positioning contour segment; then, when the robot collides with another obstacle, it starts to identify the narrow passage; the positioning contour segment fitted by the robot for the obstacle collided with first is the positioning contour segment fitted last time, and the positioning contour segment fitted by the robot for the obstacle collided with later is the positioning contour segment fitted currently, so that the preset passing direction of the positioning contour segment fitted last time is different from the preset passing direction of the positioning contour segment fitted currently. Therefore, the robot uses the orientation and endpoints of the positioning contour segments of the obstacles collided with twice to identify the narrow passage and enter the narrow passage.
[0040] As an embodiment, when the robot extracts two obstacle avoidance points in the search direction of the positioning contour segment, if it is detected that the robot's walking direction changes from the reference obstacle avoidance direction to the preset passing direction of the currently fitted positioning contour segment or deflects to the passable area by the preset angle relative to the currently fitted positioning contour segment, and it is detected that the distance between the two obstacle avoidance points is within the preset distance range, and the robot walks in a straight line in the changed walking direction, then the robot identifies its behavior as entering a narrow road, or has a tendency to enter the narrow road by identifying the narrow road entrance. At this time, the robot is at the moment of entering the entrance of the narrow road from the outside of the narrow road, or the robot is in front of the entrance of the channel where the two obstacle avoidance points are located and its walking direction is to the passable area inside the channel where the two obstacle avoidance points are located, and the robot may twist left and right. Among them, after the robot obtains the positioning contour line segment in step S1, the robot extracts two obstacle bypassing points in the search direction of the positioning contour line segment, which may be based on the selection of one obstacle bypassing point and then extracting another obstacle bypassing point along the search direction. These obstacle bypassing points are the endpoints of the fitted contour line segment and are the two endpoints on the two positioning contour line segments that are closest to each other, forming obstacle bypassing points on the left and right sides of the robot. Specifically, the robot determines that it begins to enter a narrow passage, which is a gap formed between the obstacles where the two obstacle bypassing points are located. The gap is located in the passable area. The boundary line of the channel where the gap is located can be the actual contour of the obstacle or the fitted positioning contour line segment. The spacing of the boundary lines is within the preset distance range to improve the judgment accuracy. Preferably, the width of the gap is the distance between the grids where the two endpoints of the gap on the robot's travel plane are located, and the two endpoints of the gap are respectively located on the contour line of the corresponding obstacle or the fitted contour line segment. No matter how frequently the robot collides with the obstacle before entering the channel where the two obstacle avoidance points are located, as long as the robot's walking direction is changed from the reference obstacle avoidance direction to the preset travel direction of the currently fitted positioning contour segment or is deflected by the preset angle toward the passable area relative to the currently fitted positioning contour segment, and the distance between the two obstacle avoidance points is within the preset distance range, the robot will identify the channel where the two obstacle avoidance points are located as a narrow road, so that the robot can navigate from the current position to the preset target position more smoothly and with a shorter navigation path, thereby improving the robot's navigation efficiency.
[0041] Preferably, the preset distance range is greater than or equal to the body width of the robot; preferably, the preset distance range is greater than the body width of the robot, and when the robot is circular, the body width of the robot is its body diameter. When the width of the entrance of the channel where the two obstacle bypassing points are located (i.e., the gap formed between the two obstacle bypassing points) is greater than or equal to the body width of the robot, it is determined that the channel where the two obstacle bypassing points are located allows the robot to enter, and then the robot can adjust its walking direction to be parallel to the corresponding positioning contour line segment, or to form a preset angle with respect to the positioning contour line segment when walking to one of the obstacle bypassing points or its vicinity to collide with a new obstacle. The adjusted direction can be a direction that points straight to the preset target position, or a direction that zigzags through the channel where the two obstacle bypassing points are located to extend to the preset target position.
[0042] As an embodiment, when the robot walks in a straight line for a preset safety distance in the current walking direction, if there is no collision with an obstacle, the robot maintains obstacle-free walking for the preset safety distance in the narrow road, and then starts to use a heuristic search algorithm to plan a navigation path. The preset target position is the end point of the navigation path. As for the specific search starting point, it can be the position where the robot first collides with the obstacle, or a position selected near the obstacle, or the obstacle avoidance point or the nearby area. Between the aforementioned step S1 and the aforementioned step S2, it also includes: after the robot detects an obstacle (it may collide with it), and before searching for two obstacle avoidance points in the search direction of the positioning contour segment of another obstacle (the detected new obstacle may be relatively close to the previously detected obstacle in position and is considered to be adjacent in position), the robot keeps walking in the same direction, which corresponds to Figure 2 The direction marked by each index number in the cost map. To a certain extent, the robot is guaranteed to pass through narrow passage areas. The traversability information of the terrain is stored as the cost value of each grid in the cost map. In the path search stage, the traversability cost is considered, that is, the cost function of the search algorithm is added with the traversability cost value, and the algorithm will tend to find a path to a low traversability cost area.
[0043] In the aforementioned embodiments, the robot generally takes the position where it first collides with an obstacle as the search starting point. Then, when the robot collides with another obstacle while walking along the obstacle-avoiding path planned at the search starting point, it can also be regarded as the robot detecting another obstacle. Then, a positioning contour segment is obtained through the point cloud data collected by the ranging sensor. The positioning contour segment is a fitting result reflected from the point cloud data of the other obstacle (derived from a partial segment of the envelope of the other obstacle and can overlap with the current position of the robot), so as to explore the gap or channel formed between the two detected obstacles. In some embodiments, the positioning contour segment can be a fitting segment calculated based on the point cloud data collected in advance by the robot (such as a contour derived from the first collision with the obstacle) or parallel to the fitting segment. The robot may not collide with the other obstacle, but the robot can predict the gap that may be formed between two different obstacles; therefore, the robot regards the positioning contour segment as the boundary line where one end of the gap is located or the boundary line where one side of the channel is located. Preferably, the narrow passage is a passage formed by the contour lines (fitting results) of the two obstacles as boundary lines; the minimum distance between the obstacle bypassing points extracted from the contour lines of the two obstacles is greater than or equal to the minimum value of the preset distance range; the minimum value of the preset distance range is greater than the body width of the robot; the width of the narrow passage is within the preset distance range, and the entrance of the narrow passage is also within the preset distance range. The narrow passage entrance can be a small door opening in a room, and the obstacles on both sides of the door opening are four walls in the same room, and the four walls are continuous and integrated. In addition, the walls on the left and right sides of the passage where the obstacle bypassing point is located can also be approximately parallel.
[0044] It should be noted that the robot will use a heuristic search algorithm to plan a navigation path, and the preset target position is the end point of the navigation path; after planning the navigation path, the robot walks along the navigation path. When the robot detects an obstacle using a range sensor, such as when it detects an obstacle for the first time, or even when it collides with an obstacle, the robot starts from its current position and uses a heuristic search algorithm to plan a navigation path that bypasses the currently detected obstacle and marks the navigation path as an obstacle bypassing path. The preset target position is the end point of the obstacle bypassing path. Specifically, when the robot starts to search with its current position or the preset starting position as the starting point, the direction from the starting point to the preset target position corresponds to Figure 2The search starting point start in the robot points to the direction of the preset target position target. In the process of planning the path using the heuristic search algorithm, the robot searches for free grids (grid areas representing the passable area in the grid map) as path nodes in the neighborhood of the search starting point so that the path nodes are not located in the obstacle occupied area. The robot searches for multiple path nodes in the neighborhood of the search starting point, wherein these path nodes are all free grids, and each path node corresponds to an initial search direction; then each path node continues to be updated to a new search starting point, and then the free grids are searched in the neighborhood of each search starting point in the direction of the search starting point pointing to the same preset target position, and this is repeated until the preset target position is searched in the grid map, and the searched grids are simultaneously connected into multiple navigation paths or the obstacle avoidance paths in the order of the search; wherein the robot searches for a navigation path or the obstacle avoidance path corresponding to each initial search direction.
[0045] Preferably, when the robot detects the first obstacle using a line laser sensor, the robot has collided with the first obstacle; when the robot walks to the gap formed between the first obstacle and the second obstacle, the robot has collided with the second obstacle; the robot sets the preset distance range to be greater than or equal to the robot's body width, so that when the distance between the two obstacle bypassing points is greater than or equal to the robot's body width, it is determined that the gap formed between the obstacles where the two obstacle bypassing points are located is a narrow passage allowing the robot to enter. The upper limit of the preset distance range is the sum of the robot's body width and the preset redundancy. Since the width of the narrow passage is only slightly greater than the robot's body width, in order to reduce the error interference of the calculated contour line in the process of identifying the narrow passage, the preset distance range is set for judgment; specifically, the minimum value (lower limit value) of the preset distance range is greater than the robot's body width, and the maximum value (upper limit value) of the preset distance range is only slightly greater than the robot's body width, and does not exceed twice the body width. Among them, the preset distance range can be determined according to the robot's body width and the preset fitting error, and the setting of the preset redundancy can refer to the passage that is relatively close to the robot's body width as the narrow passage. For example, if the width of the sweeping robot is 30 cm, the preset distance range can be 32 cm to 35 cm, that is, when the center of the robot is located at the center position of the entrance of the channel where the two obstacle bypassing points are located in the width direction, the setting of the preset redundancy is manifested as the gap between the left and right sides of the robot and the channel being between 1 cm and 2 cm. Correspondingly, the center position of the robot can be represented by position R1, position R2, position R3, position R4, position R5, and position R6 in sequence. In summary, the aforementioned embodiment utilizes the change in walking direction before entering the gap formed between the two bypassed obstacles and the distance between the obstacle bypassing points corresponding to the two bypassed obstacles to identify whether the robot has begun to enter the narrow road, overcome the error caused by the obstacle contour fitting calculation in identifying the narrow road, and improve the accuracy of narrow road identification and the success rate of the robot entering the narrow road.
[0046] As an embodiment, the robot sets the search direction of the positioning contour segment to the vertical direction of the positioning contour segment to form the width direction of the channel where the two obstacle avoidance points are located; the two obstacle avoidance points are distributed along the search direction of the positioning contour segment: the obstacles that the robot has recently collided with before it starts to identify the narrow passage and the obstacles that the robot has collided with when it starts to identify the narrow passage. In this embodiment, the positioning contour segment corresponds to the obstacle where one of the obstacle avoidance points is located, corresponding to Figure 2 The top obstacle, line segment AB is its positioning contour segment, which belongs to the Figure 2The fitted line segment of the lower left corner point of the uppermost obstacle, but not necessarily the actual contour line of the obstacle, can form one of the boundary lines of the channel where the two obstacle bypassing points are located, that is, the boundary line of the narrow road identified in the above embodiment, wherein the vertical line formed in the search direction of the line segment A1B1 can be a line passing through Figure 2 The two obstacle bypassing points are points on the positioning contour line segment of the obstacles closest to the left and right sides of the robot; they can also be understood as the two endpoints with the smallest distance between the endpoints of the two positioning contour lines and there is a gap between the two endpoints; in some embodiments, the distance between the two obstacle bypassing points can also be the minimum distance between the endpoints of the positioning contour line segment where the two obstacle bypassing points are located, so as to judge the passability of the gap between the two obstacle bypassing points.
[0047] Preferably, the preset distance range is set to be greater than or equal to the body width of the robot; the preset safety distance is set to be equal to the body width of the robot; the preset angle is set to guide the robot to leave the obstacle currently collided with, or to bypass any endpoint of the positioning contour segment of the obstacle currently collided with, so as to walk to a passable area connected to the preset target position; the shortest passable path is a path with the shortest path length among the paths leading to the preset target position planned by the robot using a heuristic search algorithm with the two endpoints of the positioning contour segment as the search starting points.
[0048] Preferably, when the robot walks inside the narrow passage, the shortest distance between the boundary lines on both sides of the entrance of the narrow passage and the corresponding side of the robot is equal to half of the preset redundancy; for example, when the robot enters the narrow passage along the center line of the narrow passage, the vertical distance between the left side of the robot and its left obstacle avoidance point is equal to half of the preset redundancy, and the vertical distance between the right side of the robot and its right obstacle avoidance point is also equal to half of the preset redundancy. In this embodiment, half of the preset redundancy is preferably 1 cm to 2 cm, so as to avoid the fitting calculation error of the contour line.
[0049] In some embodiments, in the working area of the robot, there may be a working area defined by a boundary line, and a non-working area may be formed between obstacles, or between working areas defined by boundary lines. The non-working area may be formed between corresponding boundary lines of two working areas, or may be formed by a gap channel between two wall obstacles. The non-working area here generally refers to a narrow channel, referred to as a narrow lane. The entrance and exit of the narrow lane are both set as narrow lane openings, wherein the two sides of the narrow lane are the contour lines of two obstacles respectively. When setting the moving path, the sweeping robot is generally set as a circle. In order to facilitate the sweeping robot to move to the preset target position, the set moving path may pass through Passing through narrow passages; generally, the gap area between two or more obstacles (such as a passage between two walls) is displayed in the grid map as a free passage; a free passage refers to a passage connecting two different working areas, which can be a passable road for the robot as long as its width is greater than the width of the robot's body. Then, the narrow passages and narrow passages that allow the robot to pass are identified by detecting the entrance of the passage, the exit of the passage, the length of the passage, and the width of the passage, and the position information covered by the narrow passage is determined, such as identifying the grid area of a doorway under a wall, a passage between two walls, and a passage surrounded by three walls with only one gap to be identified; the passages in the actual working scenes of the robot have certain characteristics, including three-dimensional shape characteristics and size characteristics.
[0050] It should be added that, for the aforementioned narrow passages, narrow passages or gaps, in the area where the robot is located, there are door openings set on the horizontal ground that penetrate two adjacent room areas, gaps between two parallel walls, and gaps formed between two low obstacles. The entrance of the door opening or the entrance of the gap can be set as an opening formed between two obstacles, which is an opening formed between the contours of at least two obstacles. These obstacles can be isolated from each other; when the robot uses a line laser sensor to scan the surrounding environment, the two endpoints and the width of the opening are scanned by the robot's laser sensor and converted into point cloud coordinates in the corresponding coordinate system, and then the two endpoints of the opening are scanned as corresponding point clouds and converted to the corresponding grids of the raster map. In some embodiments, when the robot senses the surrounding environment by collision, each time the robot's collision sensor contacts the two end points of the opening, the contour point of the obstacle it collides with or the positioning contour segment is marked on the corresponding grid of the grid map; in some implementations, an evaluation quantity is introduced to indicate the degree of passability of the robot at the gap formed between obstacles or its corresponding grid (the number of free grids between the two end points or its proportion within the width of the opening), which can indicate the passability probability at the corresponding grid area. Generally, the credibility assigned when the robot uses a ranging sensor to scan a gap is higher than the credibility assigned when the robot detects a gap by collision, because the positioning accuracy of the ranging sensor is higher than the positioning accuracy generated by physical contact of the robot.
[0051] In the aforementioned embodiment, the robot collects point cloud data through a ranging sensor. The point cloud data is configured to reflect the position information of the obstacle detected by the ranging sensor. It is a collection of a series of discrete points and may carry environmental noise (feedback of the ambient light interference or the influence of the obstacle surface material); the robot then fits the collected point cloud data into the contour line of the obstacle to represent the local contour of the detected obstacle or the obstacle envelope; the fitting process here specifically goes through sorting, grouping (to distinguish different types of obstacles), screening, piecewise interpolation fitting, and then connecting each group of fitting curve coordinate points to obtain the obstacle envelope or contour line, specifically a fitting line segment, a fitting curve and a combination thereof. Preferably, the robot controls the contour line obtained by the aforementioned fitting process to perform a virtual expansion process, and its expansion radius is set to the radius of the inscribed circle or the radius of the circumscribed circle of the robot contour projection to form a fitting circle surrounding the obstacle, corresponding to the obstacle envelope, and the aforementioned positioning contour line segment belongs to the obstacle envelope.
[0052] Based on the aforementioned embodiments, the present invention further discloses a chip storing a program code, which implements the steps disclosed in the aforementioned embodiments when executed. When the program code corresponding to the steps of the robot navigation method through a narrow passage is stored in a chip, it is regarded as a computer program product, and the computer program can be operated to cause the computer to execute part or all of the steps of any method recorded in the above-mentioned robot navigation method through a narrow passage embodiment. Before and after identifying the narrow passage entrance and before entering the narrow passage, the robot with the aforementioned chip installed inside obtains the positioning contour line segment using point cloud data and searches for related obstacle avoidance points, identifies a narrow passage with a width slightly larger than the width of the robot's body, and determines that it can just enter the narrow passage and can continuously enter multiple narrow passage entrances, pass through the narrow passage, and can continuously pass through multiple narrow passages, which is also convenient for real-time planning of a navigation path with stronger environmental adaptability and smoother travel.
[0053] The present invention also discloses a robot equipped with a distance sensor, the robot is provided with the chip, which is used to control the robot to detect the point cloud data of the obstacle using the distance sensor, and fit the corresponding positioning contour line segment from the point cloud data, so as to facilitate passing through the narrow road by executing the navigation method robot navigation method. The robot adjusts the walking direction of the robot according to the collision between the robot and the obstacle and the fitting of the obstacle contour before starting to identify the narrow road entrance, when starting to identify the narrow road entrance, before and after identifying the narrow road entrance, before entering the narrow road, and in the corresponding stages of entering the narrow road, and then walks in a straight line in the narrow road to tend to the preset target position; and identifies the narrow road entrance based on the collision between the robot and two obstacles and the fitting of the contours of each obstacle, so as to distinguish the three recognition states before starting to identify the narrow road entrance, when starting to identify the narrow road entrance, and when identifying the narrow road entrance, so as to promote the process of the robot entering the narrow road and re-entering the narrow road.
[0054] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0055] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0056] In the several embodiments provided in the present application, it should be understood that the disclosed device can be implemented in other ways. For example, the device embodiments described above are only schematic, such as the division of the units, which is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the device or unit can be electrical or other forms.
[0057] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0058] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0059] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable memory. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a memory and includes several instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned memory includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, disk or optical disk and other media that can store program codes.
[0060] A person of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable memory, which can include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0061] The above is a detailed introduction to an embodiment of the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for general technical personnel in this field, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A navigation method for a robot through a narrow path, characterized in that: The navigation method comprises: Step S1: After the robot enters the narrow path, if the robot collides with an obstacle, a positioning contour segment is fitted for the obstacle, and then the robot rotates until the current walking direction of the robot is the same as the preset passing direction of the currently fitted positioning contour segment, or the current walking direction of the robot is deflected by a preset angle relative to the currently fitted positioning contour segment toward the passable area, so that the robot is not currently blocked by the obstacle and then executes step S2; Step S2: the robot walks in a straight line in the current walking direction until it collides with an obstacle, and then executes step S1; when the robot walks to the preset target position, step S1 is stopped, and it is determined that the robot has passed through the narrow road; Whenever the robot rotates to a point where its current walking direction is the same as the preset travel direction of the currently fitted positioning contour segment, or rotates to a point where its current walking direction is deflected toward the passable area by the preset angle relative to the currently fitted positioning contour segment, the robot walks in a straight line in the current walking direction for a preset safety distance, and detects whether it collides with an obstacle during the straight-line walking process. If so, step S1 is executed; otherwise, it is determined that the robot has passed through a narrow road, and then a heuristic search algorithm is used to plan a path to the preset target position, or a path to the position closest to the obstacle detected in the current walking direction, and then the robot walks along the currently planned path until the robot recognizes the entrance to another narrow road and enters the narrow road, and then step S1 is executed.
2. The navigation method according to claim 1, characterized in that: In step S1, the robot sets the endpoint that forms the shortest navigable path relative to the preset target position as the target endpoint of the positioning contour segment in the positioning contour segment it fits, wherein the shortest navigable path is located in the navigable area of the narrow road entered by the robot; the robot configures the direction of the endpoints other than the target endpoint in the positioning contour segment pointing to the target endpoint as the preset navigable direction of the positioning contour segment.
3. The navigation method according to claim 2, characterized in that: The robot configures the passage where the target endpoint of each positioning contour line segment is located as a narrow road; the robot sets the positioning contour line segment as the boundary line of the narrow road; Whenever the robot collides with a new obstacle, a positioning contour segment is fitted for the new obstacle, a target endpoint of the positioning contour segment of the new obstacle is obtained, and the opening of the channel where the target endpoint is located is identified as a narrow passage.
4. The navigation method according to claim 2, characterized in that: In step S2, before the robot walks to the preset target position, if the robot recognizes a narrow entrance, it will recognize the narrow entrance as the exit of the narrow road, and then the robot adjusts its current walking direction to the preset travel direction of the currently fitted positioning contour segment, or deflects to the passable area by a preset angle relative to the currently fitted positioning contour segment; then the robot walks in a straight line in the current walking direction to leave the narrow road.
5. The navigation method according to claim 2, characterized in that: The navigation method also includes: before the robot enters the narrow road, if the robot recognizes the narrow road entrance, the narrow road entrance is recognized as the entrance of the narrow road, and then the robot adjusts its current walking direction to the preset passing direction of the currently fitted positioning contour segment, or the current walking direction of the robot is deflected by a preset angle toward the passable area relative to the currently fitted positioning contour segment; then the robot walks in a straight line according to the current walking direction to enter the entrance of the narrow road, and then executes step S1.
6. The navigation method according to claim 5, characterized in that: Before the robot starts to identify the narrow crossing, if the robot collides with an obstacle, the obstacle will be marked as the most recently detected obstacle before the robot starts to identify the narrow crossing, and then a positioning contour segment will be fitted for the obstacle. Then the robot will adjust its current walking direction to be the same as the preset travel direction of the currently fitted positioning contour segment, so that the robot walks along the currently fitted positioning contour segment until it collides with a new obstacle and fits the corresponding positioning contour segment for the new obstacle, and then starts to identify the narrow crossing.
7. The navigation method according to any one of claims 4 to 5, characterized in that: The robot's methods for identifying narrow passages include: The robot first fits a positioning contour segment for the most recently collided obstacle, and then extracts two obstacle avoidance points in the search direction of the positioning contour segment. If it is detected that the distance between the two obstacle avoidance points is within a preset distance range, the channel where the two obstacle avoidance points are located is identified as a narrow passage, and the gap formed between the obstacles where the two obstacle avoidance points are located is identified as a narrow passage opening.
8. The navigation method according to claim 7, characterized in that: After the robot recognizes the narrow passage, if it is detected that the walking direction of the robot changes from the reference obstacle avoidance direction to the preset passing direction of the currently fitted positioning contour segment or deflects the preset angle toward the passable area relative to the currently fitted positioning contour segment, and the robot walks in a straight line according to the changed walking direction, the robot recognizes that it has entered the narrow passage; The changed walking direction is configured to point from the current position of the robot to the direction of the passable area inside the passage where the two obstacle avoidance points are located; The reference obstacle avoidance direction is the preset passing direction of the positioning contour segment fitted last time or the preset angle deflected toward the passable area relative to the positioning contour segment fitted last time; The last fitted positioning contour segment is a positioning contour segment fitted for the latest obstacle collided with before the robot starts to identify the narrow road entrance.
9. The navigation method according to claim 8, characterized in that: Before starting to identify the narrow passage, the robot collides with an obstacle and fits the corresponding positioning contour segment; then, the robot starts to identify the narrow passage when it collides with another obstacle; The positioning contour segment fitted by the robot for an obstacle that the robot collides with first is the positioning contour segment fitted last time, and the positioning contour segment fitted by the robot for an obstacle that the robot collides with later is the positioning contour segment fitted currently, so that the preset passage direction of the positioning contour segment fitted last time is different from the preset passage direction of the positioning contour segment fitted currently.
10. The navigation method according to claim 9, characterized in that: The robot sets the search direction of the positioning contour line segment to the vertical direction of the positioning contour line segment to form the width direction of the channel where the two obstacle circumvention points are located; The two obstacle circumvention points are distributed along the search direction of the positioning contour segment: in the obstacle most recently collided before the robot starts to identify the narrow road opening and in the obstacle collided when the robot starts to identify the narrow road opening.
11. The navigation method according to claim 7, characterized in that: The preset distance range is set to be greater than or equal to the body width of the robot; the preset safety distance is set to be equal to the body width of the robot; The preset angle is set to guide the robot to leave the obstacle currently collided with, or to bypass any end point of the positioning contour line segment of the obstacle currently collided with, so as to walk to a passable area connected to the preset target position; The shortest navigable path is a path with the shortest path length among the paths leading to the preset target position planned by the robot using a heuristic search algorithm with the two endpoints of the positioning contour segment as the search starting points.
12. A chip storing program code, characterized in that: When the program code is executed, the steps of the navigation method according to any one of claims 1 to 11 are implemented.
13. A robot equipped with a distance sensor, characterized in that: The robot is provided with the chip described in claim 12, which is used to control the robot to use the distance sensor to detect the point cloud data of the obstacle, and fit the corresponding positioning contour line segment from the point cloud data, so as to facilitate passing through the narrow road by executing the navigation method described in any one of claims 1 to 11.
Citation Information
Patent Citations
Narrow lane passage method and device for mobile robot, mower and storage medium
CN112099488A
Map contour correction method, chip and mobile robot
CN113190007A
Method and equipment for enabling mobile robot to pass through narrow way
CN113219967A