WO2024037262A1 - Narrow passage navigation method for robot, chip, and robot - Google Patents

Narrow passage navigation method for robot, chip, and robot Download PDF

Info

Publication number
WO2024037262A1
WO2024037262A1 PCT/CN2023/107352 CN2023107352W WO2024037262A1 WO 2024037262 A1 WO2024037262 A1 WO 2024037262A1 CN 2023107352 W CN2023107352 W CN 2023107352W WO 2024037262 A1 WO2024037262 A1 WO 2024037262A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
obstacle
narrow
positioning contour
line segment
Prior art date
Application number
PCT/CN2023/107352
Other languages
French (fr)
Chinese (zh)
Inventor
徐松舟
欧兆锐
周和文
黄惠保
孙明
陈卓标
Original Assignee
珠海一微半导体股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 珠海一微半导体股份有限公司 filed Critical 珠海一微半导体股份有限公司
Publication of WO2024037262A1 publication Critical patent/WO2024037262A1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/24Floor-sweeping machines, motor-driven
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations

Definitions

  • 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 passage.
  • the sweeping robot When the sweeping robot is cleaning, if it travels between two walls or a narrow path formed by two low obstacles that is slightly larger than the width of the robot's body, it will actively avoid the obstacle when it touches it, and pass through a large area. Turn to avoid obstacles and avoid obstacles or narrow passages; however, this narrow passage is a more convenient passage to the target location; generally speaking, there are two outlines of obstacles on both sides of the narrow passage; And when setting the movement 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 movement 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 channel environments, and navigation in narrow channels is not smooth enough or repetitive.
  • the present invention provides a navigation method, chip and robot for robots to pass through narrow passages.
  • the specific technical solutions are as follows:
  • a navigation method for a robot passing through a narrow passage includes: step S1. After the robot enters the narrow passage, if the robot collides with an obstacle, a positioning contour line segment is fitted to the obstacle, and then rotates until the robot The current walking direction is the same as the preset traffic direction of the currently fitted positioning contour line segment, or the current walking direction of the robot is deflected to the passable area by a preset angle relative to the currently fitted positioning contour line segment, so that the robot cannot currently If the robot is blocked by an obstacle, then execute step S2; in step S2, the robot walks in a straight line according to the current walking direction until it collides with an obstacle, and then executes step S1; when the robot walks to the preset target position, it stops executing step S1, and Make sure the robot passes through the narrow passage.
  • step S1 among the positioning contour segments it has fitted, the robot sets the endpoint that forms the shortest traversable path relative to the preset target position as the target endpoint of the positioning contour segment, where the shortest The passable path is located within the passable area of the narrow road that the robot enters; the robot configures the endpoints of the positioning contour line segment except the target endpoint in the direction pointing to the target endpoint as the preset passing direction of the positioning contour line segment.
  • the robot configures the channel where the target endpoint of each positioning contour segment is located as a narrow channel; the robot sets the positioning contour segment as the boundary line of the narrow channel; whenever the robot collides with a new obstacle, the robot will The obstacle is fitted to a positioning contour segment, and then the target endpoint of the new obstacle's positioning contour segment is obtained, and the opening of the channel where the target endpoint is located is identified as a narrow crossing.
  • step S2 before the robot walks to the preset target position, if the robot recognizes a narrow crossing, it will recognize the narrow crossing as the exit of the narrow crossing, and then the robot will adjust its current walking direction to the current The preset travel direction of the fitted positioning contour line segment, or the deflection to the passable area by a preset angle relative to the currently fitted positioning contour line segment; then the robot walks straight in accordance with the current walking direction to leave the narrow road.
  • the navigation method also includes: before the robot enters the narrow passage, if the robot recognizes the narrow passage, then recognize the narrow passage as the entrance of the narrow passage, and then the robot adjusts its current walking direction to the current fitted
  • the preset travel direction of the positioning contour line segment, or the current walking direction of the robot deflects to the passable area by a preset angle relative to the currently fitted positioning contour line segment; then the robot walks in a straight line according to the current walking direction to enter the entrance of the narrow passage , and then perform step S1.
  • the robot collides with an obstacle before the robot starts to recognize the narrow crossing
  • the obstacle will be marked as the latest obstacle detected before the robot starts to recognize the narrow crossing
  • a positioning contour will be fitted to the obstacle. line segment
  • the robot adjusts its current walking direction to be the same as the preset 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 Fit the corresponding positioning contour line segment for the new obstacle, and then start to identify the narrow crossing.
  • step S1 is executed.
  • the heuristic search algorithm plans 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 walks along the currently planned path until the robot Identify the entrance to another narrow passage and enter the narrow passage, and then perform step S1.
  • the method for the robot to identify a narrow crossing includes: the robot first fits a positioning contour segment to the latest obstacle it collides with, and then the robot extracts two obstacle bypass points in the search direction of the positioning contour segment. If the robot detects the obstacle, If the distance between the two obstacle bypassing points is within the preset distance range, the channel where the two obstacle bypassing points are located is identified as a narrow channel, and the gap formed between the obstacles where the two obstacle bypassing points are located is identified. It is a narrow crossing.
  • the robot recognizes the narrow crossing, if it is detected that the robot's walking direction changes from the reference obstacle bypassing direction to the preset traveling direction of the currently fitted positioning contour line segment or relative to the direction of the currently fitted positioning contour line segment.
  • the passable area is deflected by the preset angle, and the robot walks in a straight line according to the changed walking direction, then 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 the The direction of the passable area inside the channel where the two obstacle bypassing points are located; where the reference obstacle bypassing direction is the preset passing direction of the positioning contour line segment fitted last time or the direction relative to the positioning contour line segment fitted last time.
  • the traversable area is deflected by the preset angle; wherein, the last fitted positioning contour line segment is the positioning contour line segment fitted for the latest obstacle encountered before the robot starts to recognize the narrow crossing.
  • the robot collides with an obstacle and fits the corresponding positioning contour line segment; then, when the robot collides with another obstacle, it starts to recognize the narrow crossing; the robot first collides with the one it collides with.
  • the positioning contour line segment fitted by the obstacle is the positioning contour line segment fitted last time, and the positioning contour line segment fitted by the robot for an obstacle it collides with later is the positioning contour line segment fitted currently. , making the preset travel direction of the last fitted positioning contour segment different from the preset travel direction of the currently fitted positioning contour segment.
  • the robot sets the search direction of the positioning contour line segment in the vertical direction of the positioning contour line segment to form the width direction of the channel where the two obstacle bypassing points are located; the two obstacle bypassing points are along the positioning contour
  • the search directions of line segments are distributed among: the latest obstacles that the robot collides with before it starts to recognize the narrow crossing, and the obstacles that the robot collides with when it starts to recognize the narrow crossing.
  • 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; and the preset angle is set to guide the robot away from the current collision area.
  • the two endpoints of the line segment are the starting point of the search, and the path with the shortest path length among the paths leading to the preset target location planned using a heuristic search algorithm is used.
  • a chip stores program code, and when the program code is executed, the steps of the navigation method are implemented.
  • a robot is equipped with a distance sensor.
  • the robot is equipped with the chip to control 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 to facilitate passage. Execute the navigation method robot navigation method to pass through the narrow passage.
  • the beneficial technical effect of the present invention is that in a narrow channel, the robot disclosed in the present invention tentatively moves forward along the specific direction indicated by the fitted positioning contour line segment (the direction of the shortest path to the preset target position in the narrow channel), Identify narrow crossings by hitting obstacles and adjust the direction in time to avoid obstacles. Repeat the process to walk a route from the starting position to the preset target position, so as to achieve alternate twisting and advancement towards the preset target position.
  • the said narrow passage thereby controlling the robot to accurately avoid obstacles in the narrow passage, enabling the navigation to smoothly pass through narrow passages with a width 1cm larger than the body width and other complex narrow passage scenes, improving the smoothness and success rate of the robot passing through narrow passages.
  • the walking direction of the robot only needs to change from the reference obstacle bypassing direction to the preset passing direction of the currently fitted positioning contour line segment or deflect to the passable area by the preset angle relative to the currently fitted positioning contour line segment, and the robot will follow the
  • the robot will identify the passage where the two obstacle bypassing points are located as a narrow passage and determine that it has entered the narrow passage. road.
  • the invention starts to identify the narrow crossing, before and after the narrow crossing, before entering the narrow crossing and in the corresponding stages of entering the narrow crossing, according to the collision situation between the robot and the obstacle and the simulation of the outline of the obstacle.
  • adjust the walking direction of the robot and then walk in a straight line in the narrow channel to tend to walk towards the preset target position; and based on the collision of the robot with two obstacles and the fitting of the outline of each obstacle Recognize narrow crossings to distinguish between three recognition states before starting to recognize narrow crossings, when starting to recognize narrow crossings, and recognizing narrow crossings, thereby advancing the process of the robot entering the narrow crossing and entering the narrow crossing again.
  • Figure 1 is a flow chart of a method for robot navigation through a narrow passage disclosed in an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of the movement trajectory of a robot passing through a narrow passage according to another embodiment of the present invention.
  • the invention discloses a navigation method for a robot to pass through a narrow passage; the execution subject of the navigation method is a robot equipped with a ranging sensor.
  • the navigation method is automatically executed by the robot, which can accept human input instructions or Run pre-programmed program instructions, and can also independently formulate and execute tasks based on artificial intelligence technology.
  • the robot may be a cylinder, integrating at least a collision sensor and a ranging sensor.
  • the ranging sensor can be a line laser sensor, which emits a line laser to the outside to obtain the position information reflected by the obstacle.
  • a two-dimensional point cloud map can be constructed in a timely manner, and the robot can
  • the number of sensors installed on the body can be one line laser sensor or multiple line laser sensors; line laser sensors include multi-line lidar and single-line lidar.
  • Single-line lidar refers to a radar whose line beam emitted by the laser source is a single line. It is used in In the field of robots, most are service robots, which can help robots avoid obstacles. They have fast scanning speed, strong resolution, and high reliability.
  • the robot can also be equipped with inertial sensors (including but not limited to odometers for measuring walking distance, collision sensors for detecting collisions with obstacles, and gyroscopes for measuring body rotation angles), or visual sensors ( Any type of depth information collection device can be used, including but not limited to monocular cameras, binocular cameras and other cameras).
  • inertial sensors including but not limited to odometers for measuring walking distance, collision sensors for detecting collisions with obstacles, and gyroscopes for measuring body rotation angles
  • visual sensors Any type of depth information collection device can be used, including but not limited to monocular cameras, binocular cameras and other cameras).
  • the navigation method includes: Step S1. After the robot enters the narrow channel, if the robot collides with an obstacle, a positioning contour line segment is fitted to the obstacle as the positioning contour line segment currently fitted by the robot. , the currently fitted positioning contour line segment is characterized as the contour line segment of the latest obstacle detected by the robot; then the robot rotates, specifically rotating on the spot until the current walking direction of the robot matches the preset value of the currently fitted positioning contour line segment
  • the traffic direction is the same, or the current walking direction of the robot is deflected to the passable area by a preset angle relative to the currently fitted positioning contour line segment, so that the robot is not blocked by obstacles; where, the current walking direction of the robot is different from the current
  • the robot's current walking direction is parallel to the currently fitted positioning contour segment and the robot's current walking direction points to the preset target position in the narrow channel where it is located.
  • the implementation of deflecting the preset angle to the passable area includes: there is a passable area on the left side of the currently fitted positioning contour line segment or on the left side of the obstacle where the positioning contour line segment is located (not occupied by an obstacle), the robot deflects to the left relative to the extension direction of the currently fitted positioning contour segment; to the right of the currently fitted positioning contour segment or to the right of the obstacle where the positioning contour segment is located
  • the preset angle is related to the accuracy of the fitting calculation, the higher the accuracy, the The closer the currently fitted positioning contour line segment is to the obstacle, the smaller the preset angle is set, otherwise the larger it is.
  • the preset angle is preferably within 0 to 30 degrees.
  • 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 expressed in discrete coordinates, and these discrete coordinates are specifically expressed in To represent the position of obstacles, most of them need to be filtered and grouped, and then the grouped point cloud data are fitted to obtain a fitting straight line or a fitting curve, and then based on the proportional conversion relationship between world coordinates and image coordinates, through fitting The coordinate points of the curve or the fitted straight line are used to obtain the obstacle envelope; preferably, in order to ensure the efficiency of the path planning algorithm, a simple robot particle model is used in the path search stage.
  • the fitted curve or the fitted straight line is virtualized Expansion processing
  • the expansion radius is set to the radius of the inscribed circle or the radius of the circumscribed circle of the robot outline projection, forming a fitted circle surrounding the obstacle, corresponding to the obstacle envelope; thereby enveloping the obstacle Lines are displayed in a grid map in real time (point cloud data is discretely distributed around obstacles), which not only corresponds to the laser detection distance from the obstacle to the edge of the robot, but can also be used to indicate the location of the obstacle.
  • 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; during the process of repeating step S1 and the aforementioned straight-line walking operation, if the robot walks to the preset target position, it stops executing step S1. , and determine that the robot passes through the narrow passage; preferably, the preset target position is located outside the narrow passage and is connected to the passable area inside the narrow passage to support the robot inside the narrow passage to walk straight to the preset target position.
  • step S2 whenever the robot rotates to the point where its current walking direction is the same as the preset direction of the currently fitted positioning contour line segment, or when the robot rotates to the direction where its current walking direction is relative to the direction of the currently fitted positioning contour line segment,
  • the passable area deflects to the preset angle
  • the robot walks in a straight line according to the current walking direction at a preset safe distance, and detects whether it collides with an obstacle during the straight walking process. If so, step S1 is executed to achieve accurate obstacle avoidance for the robot; otherwise, Determine that the robot has passed through a narrow passage, and determine that the robot is currently exiting the narrow passage.
  • the preset safety distance is preferably the width of the robot's body to comply with the width setting requirements in the narrow passage environment, and then uses a heuristic search algorithm to plan the path leading to the narrow passage.
  • the path to the preset target position, or the path leading to the closest position to the obstacle detected in the current walking direction (which can be the obstacle closest to the current position of the robot), can be the contour of the corresponding obstacle. path to the nearest local target position; then walk along the planned path. If the robot is in an area close to the preset target position, it will walk along the path leading to the preset target position. If the robot is far away from the preset target position, it will walk along the path to the preset target position.
  • the prerequisite for the robot to recognize the entrance of another narrow passage includes: while walking along the planned path, the robot has detected or collided with a new obstacle and started to identify the entrance of the narrow passage.
  • the robot navigates from the start position to the target position (preset target position), encounters an obstacle at the R position, uses point cloud data to fit the line segment A0B0, and then based on the local target position R1 or the preset target position target Choose whether the current walking direction is A0 pointing to B0 or B0 pointing to A0, and then the robot chooses the direction of B0 pointing to A0 to move to the local target position R1.
  • the robot may collide with the obstacle on its right side and start to identify the narrow crossing; the robot is at position R1 When it is recognized that the gap between position B1 and position A0 is a narrow crossing, the robot enters and passes through the narrow crossing and moves until it reaches the preset target position target. Among them, when the robot walks to position R5, it selects the direction in which B5 points to A5 as the current walking direction, and then walks along the current walking direction to position R6 to control the robot to rotate to a direction without obstacles and does not conflict with the positioning contour line segment.
  • the obstacle where B5A5 is located collides with the obstacle where the positioning contour line segment B4A4 is located.
  • the robot just passes through the corresponding narrow passage (i.e., the exit of the narrow passage), and then uses a heuristic search algorithm to plan a path to the preset target position. , and then walk straight along the planned path or navigation direction to the preset target location target.
  • the point cloud data of the ranging sensor describing the environment has a limited sensing range and field of view, and cannot describe the environmental information around the robot in detail. Then, based on the global path of the navigation task, the local target location of the local plan is selected within the local map range, in a specific manner. In order to find the track point closest to the edge in the local map along the global path starting from the current position, this is used as the local target position.
  • the global path is a path planned to the preset target location using the heuristic search algorithm disclosed in the aforementioned embodiments.
  • the robot disclosed in the present invention tentatively moves forward along the specific direction indicated by the fitted positioning contour line segment (the direction of the shortest path to the preset target position in the narrow passage), and passes the collision with the obstacle.
  • the method identifies the narrow passage and adjusts the direction in time to avoid obstacles, repeats the process, and walks a route from the starting position to the preset target position, so as to achieve alternate twisting and advancement toward the preset target position through the narrow passage; This controls the robot to accurately avoid obstacles in narrow passages, allowing the navigation to smoothly pass through narrow crossings with a width 1cm larger than the body width and other complex narrow passage scenes, improving the smoothness and success rate of the robot passing through narrow passages.
  • step S1 among the positioning contour segments it has fitted, the robot sets the endpoint that forms the shortest accessible path relative to the preset target position as the target endpoint of the positioning contour segment, according to As the robot passes through the narrow passage, the distribution positions of the target endpoints in Figure 2 are position A0, position B1, position B2, position B3, position B4, and position A5, which in turn correspond to the endpoints of the positioning contour line segment A0B0 and the positioning contour.
  • the corresponding directions are B0 pointing to A0
  • the arrow marked by index number 1 points to the direction
  • the arrow marked by index number 2 points
  • the arrow marked by index number 3 points
  • the arrow marked by index number 4 points and B5 points in the direction of A5. Therefore, after the robot recognizes the narrow crossing and enters it, it calculates the precise angle at which the robot needs to turn to avoid obstacles, so as to turn the robot's walking direction to a direction pointing forward without obstacles.
  • the robot configures the channel where the target endpoint of each positioning contour segment is located as a narrow lane; the robot sets the positioning contour segment as the boundary line of the narrow lane; whenever the robot collides with a new obstacle, Then fit a positioning contour line segment for the new obstacle, and then obtain the target endpoint of the positioning contour line segment of the new obstacle, which is equivalent to a boundary point of the channel, and identify the opening of the channel where the target endpoint is located as Narrow crossing.
  • the robot uses a collision sensor to detect whether there are obstacles on its traveling path during the traveling process, and combines with the ranging sensor to detect whether there is a narrow road on its traveling path, for example , if the robot's body width (outline diameter) is D, then the channel with a width in the range of (1- ⁇ )D to (1+ ⁇ )D can be determined as a narrow channel, where the coefficient ⁇ can be combined with the robot's shape and material are set, for example, the value of ⁇ is 0.03.
  • the obstacle envelope (the peripheral envelope of the obstacle) obtained by using the point cloud data collected by the laser sensor Contour, a fitting curve or the connection of multiple fitting curves) may not necessarily fit the actual obstacle location, so the robot may exclude narrow crossings from the robot's passable area when searching for a path, so the obstacle envelope Line errors can easily cause the robot to misjudge the narrow crossing; in this application, it is necessary to use robot collision to fit the positioning contour line segment of the obstacle at the right time and obtain the corresponding guidance direction and take the opportunity to enter the narrow crossing.
  • the navigation method further includes: before the robot enters the narrow passage, if the robot recognizes the narrow passage, it identifies the narrow passage as the entrance to the narrow passage, and then the robot adjusts its current walking direction to the current
  • the preset travel direction of the fitted positioning contour line segment, or the current walking direction of the robot is deflected to the passable area by a preset angle relative to the currently fitted positioning contour line segment; then the robot walks in a straight line according to the current walking direction to bypass It begins to identify the target endpoint of the positioning contour line segment of the latest obstacle detected before the narrow channel, and then enters the entrance of the narrow channel to realize that it has entered the narrow channel, and then performs step S1.
  • the obstacle will be marked as the latest obstacle detected before the robot starts to recognize the narrow crossing, and then the obstacle will be targeted.
  • the positioning contour segment is fitted, and then the robot adjusts its current walking direction to be the same as the preset direction of the currently fitted positioning contour segment, so that the robot walks along the currently fitted positioning contour segment until it collides with New obstacles are found and corresponding positioning contour line segments are fitted to the new obstacles, and then narrow crossings are identified.
  • the robot first collides with an obstacle at the R position (the nearest black rectangle to the right of the start position)
  • it is the latest obstacle detected before the robot starts to recognize the narrow crossing that is: the latest detection before it starts to recognize the narrow crossing.
  • the target endpoint of the positioning contour segment of the obstacle corresponds to the target endpoint A0 of the positioning contour segment A0B0 in Figure 2; then the robot adjusts its walking direction, starting from the R position in Figure 2, and points in the direction of position A0 along position B0 Walk to position R1, then collide with a new obstacle at position R1 (the nearest black rectangle on the upper right side of position R1), and then adjust the current walking direction at position R1 to the direction of the arrow marked by index number 1, which can be regarded as Parallel to the positioning contour segment A1B1 fitted for the new obstacle, when the robot starts walking from position R1 along the arrow marked by index number 1, it is recognized that the robot has entered a narrow channel and also bypassed position A0.
  • the robot may identify a narrow passage entrance and then deflect to the left or right for the first predetermined time. Set an angle (for example, 30 degrees) and then move in a straight line to enter the narrow crossing. If the robot collides, it means that it has reached the boundary of one side of the narrow crossing. It may exit the narrow crossing at the gap at the current position and recognize a new narrow crossing. , then deflect again in the opposite direction by a second preset angle (such as 60 degrees) and then move in a straight line to enter a new narrow crossing.
  • a second preset angle such as 60 degrees
  • the walking positions correspond to R1 -> R2 -> R3 -> R4 -> R5 -> R6, so that through the corresponding narrow passage, the left and right twists and turns can be realized to advance through the narrow passage.
  • the robot walks from position R1 to position R2 (executed before starting to identify a new narrow crossing), encounters an obstacle on the right side at the position, and uses point cloud data to fit the positioning contour line segment A2B2 (triggering the robot to start identifying a new narrow crossing), then identify the first narrow crossing between position B2 and position A0, and then rotate the body so that the current walking direction becomes the arrow marked by index number 2 in Figure 2.
  • the robot chooses the direction A2 points to B2 and walks straight to position R3 to pass through the first narrow crossing in the corresponding narrow passage (equivalent to entering the first narrow crossing); similarly, it then collides with its front at position R3
  • If there is an obstacle use the point cloud data of the obstacle to fit the positioning contour line segment A3B3, then identify the second narrow intersection between position B2 and position A3, and then rotate the body so that the current walking direction becomes Figure 2
  • the arrow marked by index number 3 points and then the robot walks straight along the arrow marked by index number 3 to position R4 to pass through the second narrow crossing, and then collides with the obstacle in front of it on the right at position R4, then Use the point cloud data of the obstacle to fit the positioning contour segment A4B4, then identify the third narrow intersection between position B2 and position A4, and then rotate the body so that the current walking direction changes to the index number 4 in Figure 2
  • the robot before the robot walks to the preset target position target, if the robot recognizes the narrow crossing between position B5 and position B4, it will identify the narrow crossing as the exit of the narrow crossing. Specifically, the narrow crossing is the exit of the narrow crossing.
  • the robot then adjusts its current walking direction to the preset passing direction of the currently fitted positioning contour line segment, or to the passable area relative to the currently fitted positioning contour line segment.
  • the robot Deflect to the preset angle, and then the robot walks in a straight line in the current walking direction to bypass the target end point B4 of the positioning contour segment of the latest obstacle it collided with before it started to identify the exit of the narrow channel, and walks in a straight line without any obstacles to the preset
  • the exit from the narrow passage is achieved at position R6; preferably, the preset target position target is set outside the narrow passage. ;Then the robot uses a heuristic search algorithm to plan a path to the preset target position target at position R6, and then starts from position R6 and walks straight along the planned path or navigation direction to the preset target position target.
  • a positioning contour line segment is fitted to the new obstacle, and the target endpoint of the positioning contour line segment of the new obstacle is obtained, and the channel where the target endpoint is located is The opening is identified as a narrow crossing.
  • the present invention starts to recognize the narrow crossing before starting to recognize the narrow crossing, before and after recognizing the narrow crossing, before entering the narrow crossing, and in the corresponding stages of entering the narrow crossing, according to the collision situation and the collision between the robot and the obstacle.
  • the fitting of the obstacle contour adjust the walking direction of the robot, and then walk in a straight line in the narrow channel to tend to walk towards the preset target position; and based on the collision of the robot with two obstacles and the evaluation of each obstacle
  • the fitting situation of the contour identifies the narrow crossing to distinguish the three recognition states before starting to recognize the narrow crossing, when starting to recognize the narrow crossing, and recognizing the narrow crossing, thereby promoting the process of the robot entering the narrow crossing and entering the narrow crossing again.
  • the method for the robot to identify the narrow crossing includes: while triggering the robot to start identifying the narrow crossing, the robot first fits a positioning contour segment to the latest obstacle it collides with, and then the robot searches in the direction of the positioning contour segment.
  • Two obstacle bypass points are extracted from above. If it is detected that the distance between the two obstacle bypass points is within the preset distance range, the channel where the two obstacle bypass points are located is identified as a narrow channel; and the two obstacle bypass points are The gap formed between the obstacles where each obstacle point is located is identified as a narrow crossing, preferably an opening between the two obstacle bypassing points.
  • the robot recognizes the narrow crossing, if it is detected that the robot's walking direction changes from the reference obstacle bypassing direction to the preset traveling direction of the currently fitted positioning contour line segment or relative to the direction of the currently fitted positioning contour line segment.
  • the passable area is deflected by the preset angle, and the robot walks in a straight line according to the changed walking direction, then 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 the
  • the direction of the passable area inside the channel where the two obstacle bypass points are located is preferably parallel to the currently fitted positioning contour line segment.
  • the reference obstacle bypassing direction is the preset passing direction of the positioning contour line segment fitted last time or the preset angle deflected to the passable area relative to the positioning contour line segment fitted last time; wherein, the positioning contour line segment fitted last time is deflected to the passable area by the preset angle;
  • the positioning contour line segment is the positioning contour line segment fitted to the latest obstacle encountered before the robot starts to recognize the narrow crossing.
  • the robot collides with an obstacle and fits the corresponding positioning contour line segment; then, when the robot collides with another obstacle, it starts to recognize the narrow crossing; the robot first collides with a
  • the positioning contour line segment fitted by the obstacle is the positioning contour line segment fitted last time
  • the positioning contour line segment fitted by the robot for an obstacle it collides with later is the positioning contour line segment fitted currently. , making the preset travel direction of the last fitted positioning contour segment different from the preset travel direction of the currently fitted positioning contour segment. Therefore, the robot uses the orientation and endpoints of the positioning contour segments of the obstacles it collides with twice to identify the narrow crossing and enter the narrow passage.
  • the robot when the robot extracts two obstacle avoidance points in the search direction of the positioning contour line segment, if it is detected that the robot's walking direction changes from the reference obstacle avoidance direction to the predetermined positioning contour line segment currently fitted, Assume that the direction of travel or the preset angle is deflected to the passable area relative to the currently fitted positioning contour line segment, and it is detected that the distance between the two obstacle avoidance points is within the preset distance range, and the robot follows the changed If the walking direction is straight, the robot will recognize its behavior as entering a narrow passage, or have a tendency to enter a narrow passage by identifying the entrance of a narrow passage.
  • the robot enters the entrance of the narrow passage from the outside of the narrow passage, or
  • the robot is located in front of the entrance of the passage where the two obstacle bypass points are located, and its walking direction is leading to the passable area inside the passage where the two obstacle bypass points are located, and the robot may twist left and right.
  • the robot extracts two obstacle bypassing points in the search direction of the positioning contour line segment. It may be based on selecting one obstacle bypassing point and then searching along the The direction extracts another obstacle avoidance point.
  • These obstacle avoidance points are the endpoints of the fitted contour line segments and are the two closest endpoints on the two positioning contour line segments, forming the obstacle avoidance points on the left and right sides of the robot.
  • the robot determines that it has started to enter a narrow crossing, which is a gap formed between the obstacles where the two obstacle bypass points are respectively 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 distance between the boundary lines is within the preset distance range to improve the judgment accuracy.
  • the width of the gap is the distance between the grids where the two endpoints of the gap are located on the robot's traveling plane. The two endpoints of the gap are respectively located on the contour line of the corresponding obstacle or the fitted one. on the contour segment.
  • the robot's walking direction only needs to change from the reference obstacle avoidance direction to the preset passage of the currently fitted positioning contour line segment. direction or the preset angle relative to the currently fitted positioning contour line segment toward the traversable area, and the distance between the two obstacle avoidance points is within the preset distance range, the robot will
  • the channel where each obstacle detour point is located is identified as a narrow channel, which makes the robot's navigation from the current position to the preset target position smoother and the navigation path shorter, improving the robot's navigation efficiency.
  • 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.
  • the body width of the robot is its Body diameter.
  • the width of the entrance of the channel where the two obstacle bypass points are located i.e., the gap formed between the two obstacle bypass points
  • it is determined that the channel where the two obstacle bypass points are located allows the robot to enter,
  • the robot walks to one of the obstacle bypassing points or its vicinity to collide with a new obstacle, it can adjust its walking direction to be parallel to the corresponding positioning contour line segment, or to a direction that forms a preset angle relative to the positioning contour line segment.
  • the latter direction may be a straight line pointing to the preset target position, or a direction that meanders through the passage where the two obstacle bypass points are located to extend to the preset target position.
  • the robot will maintain barrier-free walking in the narrow passage at a preset safe distance and then start using the heuristic search algorithm.
  • the preset target position is the end point of the navigation path.
  • the specific search starting point it can be the position where the robot first collides with the obstacle, or it can be a position selected near the obstacle, or it can be all Describe the obstacle avoidance point or nearby area.
  • step S1 and the aforementioned step S2 it also includes: after the robot detects an obstacle (which can collide with it), and after the robot detects another obstacle (the new obstacle detected can be the same as the previously detected obstacle).
  • the obstacles are relatively close in position and are considered to be adjacent in position.
  • Before searching for two obstacle bypass points in the search direction of the positioning contour line segment keep walking in the same direction, corresponding to each index number in Figure 2. The direction of the marker. To a certain extent, the robot is guaranteed to pass through narrow passage areas.
  • Terrain traversability information is stored as the cost value of each raster in the cost map.
  • the trafficability cost is considered in the path search stage, that is, the trafficability cost value is added to the cost function of the search algorithm, and the algorithm will tend to find a path to a low trafficability cost area.
  • the robot generally uses the location where it collides with an obstacle for the first time as the search starting point. Then, while walking along the planned obstacle path starting from the search starting point, the robot collides with another obstacle.
  • an object it can also be regarded as that the robot detects another obstacle, and then obtains the positioning contour line segment through the point cloud data collected by the ranging sensor.
  • the positioning contour line segment is a fitting of the point cloud data reflected from the other obstacle.
  • the result (a partial line segment derived from the envelope of the other obstacle and capable of overlapping with the current position of the robot) is used to explore the gap or channel formed between the two detected obstacles.
  • the positioning contour line segment may be a fitting line segment calculated based on point cloud data pre-collected by the robot (such as the contour derived from the first collision with an obstacle) or may be parallel to the fitting line segment.
  • the robot may not have Collision with the other obstacle, but the robot can predict the gap that may form 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 where one side of the channel is located Wire.
  • the narrow passage is a passage composed of the contour lines (fitting results) of the two obstacles as the boundary line; the minimum distance between the obstacle bypass 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 width of the robot's body; the width of the narrow channel is within the preset distance range, and the entrance of the narrow channel is also within the preset distance range. distance range.
  • the narrow entrance can be a small door opening in a room.
  • the obstacles on both sides of the door opening are the four walls in the same room.
  • the four walls are continuous and integrated.
  • the walls on the left and right sides of the passage where the obstacle bypass point is located are It can also be approximately parallel.
  • 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 will walk along the navigation path.
  • the robot uses the ranging sensor to detect
  • an obstacle such as when it is detected 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 around the currently detected obstacle and
  • the navigation path is marked as an obstacle avoidance path
  • the preset target position is the end point of the obstacle avoidance path.
  • the search starting point points to the direction of the preset target position, which corresponds to the search starting point start in Figure 2 pointing to the direction of the preset target position target.
  • the robot uses a heuristic search algorithm to plan its path, it searches for free rasters (grid areas that represent passable areas in a raster map) in the neighborhood of the search starting point as path nodes so that the path nodes are not located at obstacles. On the occupied area, the robot searches for multiple path nodes in the neighborhood of the search starting point.
  • path nodes are all free grids, and each path node corresponds to an initial search direction; then it continues to update each path node as A new search starting point, and then search free grids in the neighborhood of each search starting point in the direction of the search starting point pointing to the same preset target position. Repeat this until the preset target position is searched in the grid map, and follow the The search sequence connects the searched grids into multiple navigation paths or obstacle avoidance paths at the same time; wherein, the robot searches for one navigation path or obstacle avoidance path in each initial search direction.
  • the robot when the robot first 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 third obstacle.
  • Two obstacles when the robot sets the preset distance range to be greater than or equal to the width of the robot's body, so that the distance between the two obstacle bypass points is greater than or equal to the width of the robot's body, the two obstacles are determined.
  • the gap formed between the obstacles where the obstacle detour points are located is a narrow crossing that allows 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.
  • a preset distance range is set for judgment; specifically, the minimum value of the preset distance range (Lower limit value) is larger than the robot's body width, and the maximum value (upper limit value) of the preset distance range is only slightly larger than the robot's body width, not exceeding twice the body width.
  • the preset distance range can be determined according to the width of the robot's body and the preset fitting error.
  • the setting of the preset redundancy can call the channel that is closer to the width of the robot's body the narrow channel.
  • the preset distance range may be 32 cm to 35 cm. That is, when the center of the robot is located at the center of the width direction of the entrance of the channel where the two obstacle bypass points are located, the The setting of the preset redundancy shows that the gap size between the left and right sides of the robot and the channel is between 1 cm and 2 cm.
  • the center position of the robot can use position R1, position R2, position R3, and position in sequence. R4, position R5, and position R6 are represented.
  • the foregoing embodiment uses the change in the walking direction before entering the gap formed between the two obstacles and the distance between the obstacle avoidance points corresponding to the two obstacles to identify whether the robot has started. Entering a narrow passage, overcoming the error caused by the contour fitting calculation of obstacles in identifying the narrow passage, improving the accuracy of narrow passage identification and the success rate of the robot entering the narrow passage.
  • the robot sets the search direction of the positioning contour line segment in the vertical direction of the positioning contour line segment to form the width direction of the channel where the two obstacle bypassing points are located; the two obstacle bypassing points are along the
  • the search directions of the positioning contour line segments are distributed among: the latest obstacles that the robot collides with before it starts to recognize the narrow crossing and the obstacles that the robot collides with when it starts to recognize the narrow crossing.
  • the positioning contour line segment corresponds to the obstacle where one of the obstacle bypass points is located, corresponding to the uppermost obstacle in Figure 2.
  • the line segment AB is its positioning contour line segment, which belongs to the topmost obstacle passing through Figure 2.
  • the fitted line segment of the lower left corner of the obstacle can form one of the boundary lines of the channel where the two obstacle bypass points are located, that is, the narrow channel identified in the previous embodiment.
  • the boundary line where the vertical line formed in the search direction of line segment A1B1 can pass through a corner point of the uppermost obstacle (black rectangle) shown in Figure 2 to fit the outline and distribution position of the obstacle.
  • the two obstacle bypassing points are points on the positioning contour line segment of the obstacle closest to the left and right sides of the robot; it can also be understood as the two endpoints with the smallest distance among the endpoints of the two positioning contour line segments and the two endpoints are the smallest.
  • 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; and the preset angle is set to guide the robot away from the current collision area.
  • the two endpoints of the line segment are the starting point of the search, and the path with the shortest path length among the paths leading to the preset target location planned using a heuristic search algorithm is used.
  • 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 amount; for example, the robot moves along When entering a narrow crossing along the center line of a narrow passage, the vertical distance between the robot's left side and its left side around the obstacle point is equal to half of the preset redundancy, and the vertical distance between the robot's right side and its right side around the obstacle is also equal to half of the preset redundancy amount.
  • half of the preset redundancy is preferably 1 cm to 2 cm, so as to avoid fitting calculation errors of the contour line.
  • the working area of the robot there will be a working area framed by a boundary line, and a non-working area will also be formed between obstacles, or a non-working area will be formed between the working areas framed by the boundary line.
  • the non-working area is formed between the corresponding boundary lines of two working areas, or the non-working area is formed by the gap channel between two wall obstacles; the non-working area here generally refers to a channel with a narrow width. Referred to as a narrow passage, the entrance and exit of the narrow passage are both set as narrow passages.
  • the set movement path may pass through a narrow passage; generally, the gap area between two or more obstacles (such as the passage between two walls) ) is displayed in the grid map in the form of a free channel; a free channel refers to connecting two different working areas.
  • the width is greater than the width of the robot's body, and then specifically passes through the entrance of the detection channel , the exit of the passage, the length of the passage and the width of the passage to identify the narrow entrance and narrow passage that allow the robot to pass, and determine the location information covered by the narrow passage, such as identifying the grid area of a door opening under a wall, two
  • the passage between walls and three walls form a passage with only one gap to be identified; the passage in the actual working scene of the robot has certain characteristics, including three-dimensional shape characteristics and size characteristics.
  • the gap formed between two low obstacles, the entrance of the doorway or the entrance of the gap can be set as the opening formed between the two obstacles, which is the opening formed between the outlines of at least two obstacles, these Obstacles can exist isolated from each other; when the robot uses a line laser sensor to scan the surrounding environment, the two endpoints and 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 opening is The two endpoints are scanned into corresponding point clouds and converted to the corresponding raster of the raster map.
  • the contour point of the obstacle or the positioning contour line segment mark that it collides with is to the corresponding grid of the grid map; an evaluation quantity is also introduced in some implementations to represent the gap formed by the robot between obstacles or its corresponding grid (the number of free grids between two endpoints) or its proportion within the opening width range), which can represent the passability probability at the corresponding grid area.
  • an evaluation quantity is also introduced in some implementations to represent the gap formed by the robot between obstacles or its corresponding grid (the number of free grids between two endpoints) or its proportion within the opening width range), which can represent the passability probability at the corresponding grid area.
  • a robot uses a ranging sensor to scan a gap, it is given a higher degree of credibility than the robot. Collisions are given confidence when detecting a gap because the positioning accuracy of the ranging sensor is higher than that resulting from physical contact with the robot.
  • the robot collects point cloud data through the ranging sensor.
  • the point cloud data is configured to reflect the position information of the obstacles detected by the ranging sensor. It is a collection of a series of discrete points and will carry environmental noise points (feedback The ambient light interference or the influence of the obstacle's material); the robot then fits the collected point cloud data into the outline of the obstacle to represent the local outline of the detected obstacle or the envelope of the obstacle. ;
  • the fitting process here will specifically go through sorting, grouping (to distinguish different types of obstacles), filtering, piecewise interpolation fitting, and then fitting the curve coordinate points of each group of connections to obtain the obstacle envelope. Or a contour line, specifically a fitting line segment, a fitting curve and a combination thereof.
  • the robot controls the contour line obtained by the aforementioned fitting process to perform virtual expansion processing, and its expansion radius is set to the radius of the inscribed circle of the robot contour projection.
  • the present invention also discloses a chip that stores program code.
  • the program code When the program code is executed, the steps disclosed in the foregoing embodiments are implemented.
  • the program code corresponding to the steps of the method for navigating a robot through a narrow passage is stored in a chip, it is regarded as a computer program product.
  • the computer program is operable to cause the computer to perform the navigation of the robot through a narrow passage.
  • the narrow passage with a width slightly larger than the robot's body width and determines its width. Being able to enter the narrow passage and continuously enter multiple narrow passages and pass through the narrow passage and continuously pass through multiple narrow passages will also facilitate real-time planning of a navigation path with stronger environmental adaptability and smoother traffic.
  • the invention also discloses a robot equipped with a distance sensor.
  • the robot is equipped with the chip, which is used to control the robot to use the distance sensor to detect point cloud data of obstacles and fit the corresponding positioning from the point cloud data.
  • Contour line segments facilitate the passage of narrow passages by executing the robot navigation method.
  • Narrow crossings are used to distinguish three recognition states before starting to recognize narrow crossings, when starting to recognize narrow crossings, and recognizing narrow crossings, thereby promoting the process of the robot entering and re-entering narrow crossings.
  • the disclosed device can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or may be Integrated into another system, or some features can be ignored, or not implemented.
  • the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, and the indirect coupling or communication connection of the devices or units may be in electrical or other forms.
  • 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 they may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit.
  • the above integrated units can be implemented in the form of hardware or software functional units.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable memory.
  • the technical solution of the present application is essentially or contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a memory, It includes several instructions to cause a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application.
  • the aforementioned memory includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.
  • the program can be stored in a computer-readable memory.
  • the memory can include: a flash disk. , Read-Only Memory (ROM), Random Access Memory (RAM), magnetic disk or optical disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

A narrow passage navigation method for a robot, a chip, and a robot. The navigation method comprises: step S1, after a robot enters a narrow passage, if the robot collides with an obstacle, fitting a positioning contour line segment for the obstacle, then turning until a current travel direction of the robot is the same as a preset passage direction of the currently fitted positioning contour line segment, or a current travel direction of the robot is deflected by a preset angle to a passable area relative to the currently fitted positioning contour line segment, so that the robot is currently not blocked by the obstacle, and then executing step S2; and step S2, the robot linearly traveling according to the current travel direction until the robot collides with an obstacle, and then executing step S1; and when the robot travels to a preset target position, stopping executing step S1, and determining that the robot has passed through the narrow passage.

Description

一种机器人通过窄道的导航方法、芯片及机器人A navigation method, chip and robot for a robot to pass through a narrow passage 技术领域Technical field
本发明涉及移动机器人导航技术领域,尤其涉及一种机器人通过窄道的导航方法、芯片及机器人。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 passage.
背景技术Background technique
扫地机器人在清扫时,若行进至两个墙体之间或两个低矮障碍物形成的宽度略大于机器人的机身宽度的窄道情况,在触碰到障碍时会主动避开,通过大幅度转向来进行避障,绕开障碍物或窄道;然而这一窄道却是通往目标位置的较为便捷的通道;一般而言,窄道的两侧分别是两条障碍物的轮廓线;并且在设置移动路径时,一般将扫地机器人设置为一个点来看待。为了方便扫地机器人移动至另一个房间区域内目标位置,设置的移动路径可能需要通过窄道。由于计算误差和探索效率的要求,所以机器人规划的导航路径不适用于窄道环境,在狭窄通道不够流畅或者重复导航。When the sweeping robot is cleaning, if it travels between two walls or a narrow path formed by two low obstacles that is slightly larger than the width of the robot's body, it will actively avoid the obstacle when it touches it, and pass through a large area. Turn to avoid obstacles and avoid obstacles or narrow passages; however, this narrow passage is a more convenient passage to the target location; generally speaking, there are two outlines of obstacles on both sides of the narrow passage; And when setting the movement 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 movement 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 channel environments, and navigation in narrow channels is not smooth enough or repetitive.
发明内容Contents of the invention
为了解决机器人通行窄道的问题,本发明提供一种机器人通过窄道的导航方法、芯片及机器人,具体的技术方案如下:In order to solve the problem of robots passing through narrow passages, the present invention provides a navigation method, chip and robot for robots to pass through narrow passages. The specific technical solutions are as follows:
一种机器人通过窄道的导航方法,所述导航方法包括:步骤S1、在机器人进入窄道后,若机器人碰撞到障碍物,则针对该障碍物拟合出定位轮廓线段,再转动,直至机器人的当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度,以使机器人当前不被障碍物阻挡前行,再执行步骤S2;步骤S2、机器人按照当前行走方向直线行走,直至碰撞到障碍物,再执行步骤S1;当机器人行走至预设目标位置时,停止执行步骤S1,并确定机器人通过窄道。A navigation method for a robot passing through a narrow passage. The navigation method includes: step S1. After the robot enters the narrow passage, if the robot collides with an obstacle, a positioning contour line segment is fitted to the obstacle, and then rotates until the robot The current walking direction is the same as the preset traffic direction of the currently fitted positioning contour line segment, or the current walking direction of the robot is deflected to the passable area by a preset angle relative to the currently fitted positioning contour line segment, so that the robot cannot currently If the robot is blocked by an obstacle, then execute step S2; in step S2, the robot walks in a straight line according to the current walking direction until it collides with an obstacle, and then executes step S1; when the robot walks to the preset target position, it stops executing step S1, and Make sure the robot passes through the narrow passage.
进一步地,在所述步骤S1中,机器人在其拟合出的定位轮廓线段当中,将相对于预设目标位置形成最短可通行路径的端点设置为该定位轮廓线段的目标端点,其中,该最短可通行路径是位于机器人所进入的窄道的可通行区域内;机器人将定位轮廓线段当中除了目标端点之外的端点指向目标端点的方向配置为该定位轮廓线段的预设通行方向。Further, in step S1, among the positioning contour segments it has fitted, the robot sets the endpoint that forms the shortest traversable path relative to the preset target position as the target endpoint of the positioning contour segment, where the shortest The passable path is located within the passable area of the narrow road that the robot enters; the robot configures the endpoints of the positioning contour line segment except the target endpoint in the direction pointing to the target endpoint as the preset passing direction of the positioning contour line segment.
进一步地,机器人将每个定位轮廓线段的目标端点所在的通道都配置为窄道;机器人将定位轮廓线段设置为窄道的边界线;每当机器人碰撞到新的障碍物,则针对该新的障碍物拟合出定位轮廓线段,再获取该新的障碍物的定位轮廓线段的目标端点,并将该目标端点所在的通道的开口识别为窄道口。Further, the robot configures the channel where the target endpoint of each positioning contour segment is located as a narrow channel; the robot sets the positioning contour segment as the boundary line of the narrow channel; whenever the robot collides with a new obstacle, the robot will The obstacle is fitted to a positioning contour segment, and then the target endpoint of the new obstacle's positioning contour segment is obtained, and the opening of the channel where the target endpoint is located is identified as a narrow crossing.
进一步地,在步骤S2中,在机器人行走至所述预设目标位置之前,若机器人识别到窄道口,则将该窄道口识别为该窄道的出口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度;然后机器人按照当前行走方向直线行走以离开窄道。Further, in step S2, before the robot walks to the preset target position, if the robot recognizes a narrow crossing, it will recognize the narrow crossing as the exit of the narrow crossing, and then the robot will adjust its current walking direction to the current The preset travel direction of the fitted positioning contour line segment, or the deflection to the passable area by a preset angle relative to the currently fitted positioning contour line segment; then the robot walks straight in accordance with the current walking direction to leave the narrow road.
进一步地,所述导航方法还包括:在机器人进入窄道之前,若机器人识别到窄道口,则将该窄道口识别为该窄道的入口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度;然后机器人按照当前行走方向直线行走以进入该窄道的入口,再执行步骤S1。Further, the navigation method also includes: before the robot enters the narrow passage, if the robot recognizes the narrow passage, then recognize the narrow passage as the entrance of the narrow passage, and then the robot adjusts its current walking direction to the current fitted The preset travel direction of the positioning contour line segment, or the current walking direction of the robot deflects to the passable area by a preset angle relative to the currently fitted positioning contour line segment; then the robot walks in a straight line according to the current walking direction to enter the entrance of the narrow passage , and then perform step S1.
进一步地,在机器人开始识别窄道口之前,若机器人碰撞到障碍物,则将该障碍物标记为机器人开始识别所述窄道口之前最新探测到的障碍物,再针对该障碍物拟合出定位轮廓线段,然后机器人将其当前行走方向调整为与当前拟合出的定位轮廓线段的预设通行方向相同,以使机器人沿着当前拟合出的定位轮廓线段行走,直至碰撞到新的障碍物并针对该新的障碍物拟合出对应的定位轮廓线段,再开始识别窄道口。Furthermore, if the robot collides with an obstacle before the robot starts to recognize the narrow crossing, the obstacle will be marked as the latest obstacle detected before the robot starts to recognize the narrow crossing, and a positioning contour will be fitted to the obstacle. line segment, and then the robot adjusts its current walking direction to be the same as the preset 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 Fit the corresponding positioning contour line segment for the new obstacle, and then start to identify the narrow crossing.
进一步地,每当机器人转动至其当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或转动至其当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度时,机器人按照当前行走方向直线行走预设安全距离,并在直线行走的过程中检测是否碰撞到障碍物,是则执行步骤S1,否则确定机器人已经通过一条窄道,然后使用启发式搜索算法规划出通向所述预设目标位置的路径、或通向距离当前行走方向上所探测到的障碍物最近的位置的路径,再沿着当前规划出的的路径行走,直至机器人识别到另一条窄道的入口并进入该窄道,再执行所述步骤S1。Furthermore, whenever the robot rotates to the point where its current walking direction is the same as the preset travel direction of the currently fitted positioning contour line segment, or when the robot rotates to the point where its current walking direction deflects toward the passable area relative to the currently fitted positioning contour line segment, At the preset angle, the robot walks in a straight line according to the current walking direction to a preset safe distance, and detects whether it collides with an obstacle during the straight walking process. If so, step S1 is executed. Otherwise, it is determined that the robot has passed through a narrow road, and then uses The heuristic search algorithm plans 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 walks along the currently planned path until the robot Identify the entrance to another narrow passage and enter the narrow passage, and then perform step S1.
进一步地,机器人识别窄道口的方法包括:机器人先对最新碰撞到的障碍物拟合出定位轮廓线段,然后机器人在该定位轮廓线段的搜索方向上提取出两个绕障点,若检测到该两个绕障点之间的距离处于预设距离范围,则将所述两个绕障点所在通道识别为窄道,并将该两个绕障点各自所在的障碍物之间形成的缺口识别为窄道口。Further, the method for the robot to identify a narrow crossing includes: the robot first fits a positioning contour segment to the latest obstacle it collides with, and then the robot extracts two obstacle bypass points in the search direction of the positioning contour segment. If the robot detects the obstacle, If the distance between the two obstacle bypassing points is within the preset distance range, the channel where the two obstacle bypassing points are located is identified as a narrow channel, and the gap formed between the obstacles where the two obstacle bypassing points are located is identified. It is a narrow crossing.
进一步地,在机器人识别到窄道口后,若检测到机器人的行走方向从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且机器人按照变化后的行走方向直线行走,则机器人识别为其进入窄道;其中,所述变化后的行走方向是配置为由机器人的当前位置指向所述两个绕障点所在通道的内部的可通行区域的方向;其中,参考绕障方向是上一次拟合出的定位轮廓线段的预设通行方向或相对于上一次拟合出的定位轮廓线段向可通行区域偏转所述预设角度;其中,上一次拟合出的定位轮廓线段是在机器人开始识别窄道口之前,针对最新碰撞到的障碍物拟合出的定位轮廓线段。Further, after the robot recognizes the narrow crossing, if it is detected that the robot's walking direction changes from the reference obstacle bypassing direction to the preset traveling direction of the currently fitted positioning contour line segment or relative to the direction of the currently fitted positioning contour line segment. The passable area is deflected by the preset angle, and the robot walks in a straight line according to the changed walking direction, then 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 the The direction of the passable area inside the channel where the two obstacle bypassing points are located; where the reference obstacle bypassing direction is the preset passing direction of the positioning contour line segment fitted last time or the direction relative to the positioning contour line segment fitted last time. The traversable area is deflected by the preset angle; wherein, the last fitted positioning contour line segment is the positioning contour line segment fitted for the latest obstacle encountered before the robot starts to recognize the narrow crossing.
进一步地,在开始识别窄道口之前,机器人碰撞到一个障碍物并拟合出对应的定位轮廓线段;然后,在机器人碰撞到另一个障碍物时开始识别窄道口;机器人针对在先碰撞到的一个障碍物拟合出的定位轮廓线段是所述上一次拟合出的定位轮廓线段,机器人针对在后碰撞到的一个障碍物拟合出的定位轮廓线段是所述当前拟合出的定位轮廓线段,使上一次拟合出的定位轮廓线段的预设通行方向与当前拟合出的定位轮廓线段的预设通行方向不同。Furthermore, before starting to recognize the narrow crossing, the robot collides with an obstacle and fits the corresponding positioning contour line segment; then, when the robot collides with another obstacle, it starts to recognize the narrow crossing; the robot first collides with the one it collides with. The positioning contour line segment fitted by the obstacle is the positioning contour line segment fitted last time, and the positioning contour line segment fitted by the robot for an obstacle it collides with later is the positioning contour line segment fitted currently. , making the preset travel direction of the last fitted positioning contour segment different from the preset travel direction of the currently fitted positioning contour segment.
进一步地,机器人将所述定位轮廓线段的搜索方向设置为该定位轮廓线段的垂直方向以形成所述两个绕障点所在通道的宽度方向;所述两个绕障点沿着所述定位轮廓线段的搜索方向分布于:机器人开始识别窄道口之前最新碰撞到的障碍物中和机器人开始识别该窄道口时所碰撞到的障碍物中。Further, the robot sets the search direction of the positioning contour line segment in the vertical direction of the positioning contour line segment to form the width direction of the channel where the two obstacle bypassing points are located; the two obstacle bypassing points are along the positioning contour The search directions of line segments are distributed among: the latest obstacles that the robot collides with before it starts to recognize the narrow crossing, and the obstacles that the robot collides with when it starts to recognize the narrow crossing.
进一步地,所述预设距离范围是设置为大于或等于机器人的机身宽度;预设安全距离是设置为等于机器人的机身宽度;所述预设角度被设置为引导机器人离开当前碰撞到的障碍物、或绕过当前碰撞到的障碍物的定位轮廓线段的任一个端点,以行走至与所述预设目标位置相连通的可通行区域;所述最短可通行路径是机器人分别以定位轮廓线段的两个端点为搜索起点,使用启发式搜索算法规划出的通向所述预设目标位置的路径当中路径长度最短的一条路径。Further, 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; and the preset angle is set to guide the robot away from the current collision area. Obstacle, or any endpoint of the positioning contour line segment that bypasses the currently collided obstacle, in order to walk to the passable area connected to the preset target position; the shortest passable path is the positioning contour of the robot respectively. The two endpoints of the line segment are the starting point of the search, and the path with the shortest path length among the paths leading to the preset target location planned using a heuristic search algorithm is used.
一种芯片,存储有程序代码,程序代码被执行时实现如所述导航方法的步骤。A chip stores program code, and when the program code is executed, the steps of the navigation method are implemented.
一种机器人,装配有距离传感器,所述机器人设置所述的芯片,用于控制机器人使用距离传感器探测到障碍物的点云数据,并从点云数据中拟合对应的定位轮廓线段,便于通过执行所述导航方法机器人导航方法来通过窄道。A robot is equipped with a distance sensor. The robot is equipped with the chip to control 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 to facilitate passage. Execute the navigation method robot navigation method to pass through the narrow passage.
本发明的有益技术效果在于,在窄道内,本发明公开的机器人沿着拟合出的定位轮廓线段指示的特定方向(在窄道内通往预设目标位置的最短路径的方向)试探性前进,通过碰撞障碍物的方式识别出窄道口并及时调整方向以避开障碍物,重复进行,行走出从起始位置通往预设目标位置的路线,以实现朝着预设目标位置交替扭转前进通过所述窄道;从而控制机器人在窄道内精准避障,使导航能流畅通过宽度比机身宽度大1cm的窄道口和其余复杂的狭窄通道场景,提升机器人通过狭窄通道的流畅度和成功率。The beneficial technical effect of the present invention is that in a narrow channel, the robot disclosed in the present invention tentatively moves forward along the specific direction indicated by the fitted positioning contour line segment (the direction of the shortest path to the preset target position in the narrow channel), Identify narrow crossings by hitting obstacles and adjust the direction in time to avoid obstacles. Repeat the process to walk a route from the starting position to the preset target position, so as to achieve alternate twisting and advancement towards the preset target position. The said narrow passage; thereby controlling the robot to accurately avoid obstacles in the narrow passage, enabling the navigation to smoothly pass through narrow passages with a width 1cm larger than the body width and other complex narrow passage scenes, improving the smoothness and success rate of the robot passing through narrow passages.
机器人的行走方向只要从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且机器人按照变化后的行走方向直线行走,且所述两个绕障点之间的距离处于所述预设距离范围时,机器人都将所述两个绕障点所在通道识别为窄道并确定其进入窄道。The walking direction of the robot only needs to change from the reference obstacle bypassing direction to the preset passing direction of the currently fitted positioning contour line segment or deflect to the passable area by the preset angle relative to the currently fitted positioning contour line segment, and the robot will follow the When the changed walking direction walks in a straight line and the distance between the two obstacle bypassing points is within the preset distance range, the robot will identify the passage where the two obstacle bypassing points are located as a narrow passage and determine that it has entered the narrow passage. road.
本发明分别在开始识别窄道口之前、开始识别窄道口时、识别到窄道口前后、进入窄道之前以及进入窄道的对应阶段内,根据机器人与障碍物的碰撞情况以及对障碍物轮廓的拟合情况,调整机器人的行走方向,再在窄道内做直线行走,以趋向于行走向该预设目标位置;并基于机器人先后与两个障碍物的碰撞情况以及对各个障碍物轮廓的拟合情况识别窄道口,以区分开始识别窄道口之前、开始识别窄道口时、以及识别到窄道口这三种识别状态,进而推进机器人进入窄道以及再次进入窄道的进程。The invention starts to identify the narrow crossing, before and after the narrow crossing, before entering the narrow crossing and in the corresponding stages of entering the narrow crossing, according to the collision situation between the robot and the obstacle and the simulation of the outline of the obstacle. According to the matching situation, adjust the walking direction of the robot, and then walk in a straight line in the narrow channel to tend to walk towards the preset target position; and based on the collision of the robot with two obstacles and the fitting of the outline of each obstacle Recognize narrow crossings to distinguish between three recognition states before starting to recognize narrow crossings, when starting to recognize narrow crossings, and recognizing narrow crossings, thereby advancing the process of the robot entering the narrow crossing and entering the narrow crossing again.
附图说明Description of drawings
图1是本发明一种实施例公开的一种机器人通过窄道的导航方法的流程图。Figure 1 is a flow chart of a method for robot navigation through a narrow passage disclosed in an embodiment of the present invention.
图2是本发明的另一种实施例公开机器人通过窄道的运动轨迹示意图。FIG. 2 is a schematic diagram of the movement trajectory of a robot passing through a narrow passage according to another embodiment of the present invention.
实施方式Implementation
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。The technical solutions in the embodiments of the present invention will be described in detail below with reference to the accompanying drawings in the embodiments of the present invention. To further explain various embodiments, the present invention provides drawings. These drawings are part of the disclosure of the present invention, and are mainly used to illustrate the embodiments, and can be used to explain the operating principles of the embodiments in conjunction with the relevant descriptions in the specification. With reference to these contents, those of ordinary skill in the art will be able to understand other possible implementations and advantages of the present invention. A process or method depicted as a flowchart. Although the flowcharts depict steps as a sequential process, many of the steps may be performed in parallel, concurrently, or simultaneously. Additionally, the order of steps can be rearranged. The process may be terminated when its operation is completed, but may also have additional steps not included in the figures. The processing may correspond to a method, function, procedure, subroutine, subroutine, or the like.
在机器人通过窄道时,为了克服拟合轮廓线段的过程中产生过大的计算误差、以及规划出的行走方向引入的传感器误差,让机器人的导航能够流畅地在窄道内通行并通过窄道,本发明公开一种机器人通过窄道的导航方法;导航方法的执行主体是装配测距传感器的机器人,在本申请中,所述导航方法通过该机器人自动执行,既可以接受人类输入指令,也可以运行预先编排的程序指令,还可以基于人工智能技术自主制订任务并执行。所述机器人可以是圆柱体,至少集成了碰撞传感器和测距传感器。其中,测距传感器可以是线激光传感器,通过对外部发射线激光来获取障碍物反射回的位置信息,通过探测周围环境的二维点云数据,及时构建出二维点云地图,且在机器人的机体上的传感器安装数目可以是一个线激光传感器或多个线激光传感器;线激光传感器包括多线激光雷达和单线激光雷达,单线激光雷达是指激光源发出的线束是单线的雷达,应用于机器人领域,以服务机器人居多,可以帮助机器人规避障碍物,其扫描速度快、分辨率强、可靠性高,相比多线激光雷达,单线激光雷达在角频率及灵敏度上反应更快捷,所以,在测试周围障碍物的距离和精度上都更加精准。尤其是行走于地表面的清洁机器人、行走于由边界线划定的具有狭窄通道的草坪区域的割草机器人、洗地机、以及安防巡视机器人等,本实施例不作为对导航方法的适用主体的类型进行限定。机器人还可以安装有惯性传感器(包括但不限于用于测量行走距离的里程计、用于检测与障碍物的碰撞状态的碰撞传感器、以及用于测量机体旋转角度的陀螺仪)、或视觉传感器(可以采用任意类型的深度信息采集设备,包括但不限于单目相机、双目相机等摄像头)。When the robot passes through a narrow passage, in order to overcome the excessive calculation errors produced during the process of fitting contour line segments and the sensor errors introduced by the planned walking direction, so that the robot's navigation can smoothly travel in and through the narrow passage, The invention discloses a navigation method for a robot to pass through a narrow passage; 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 or Run pre-programmed program instructions, and can also independently formulate and execute tasks based on artificial intelligence technology. The robot may be a cylinder, integrating at least a collision sensor and a ranging sensor. Among them, the ranging sensor can be a line laser sensor, which emits a line laser to the outside to obtain the position information reflected by the obstacle. By detecting the two-dimensional point cloud data of the surrounding environment, a two-dimensional point cloud map can be constructed in a timely manner, and the robot can The number of sensors installed on the body can be one line laser sensor or multiple line laser sensors; line laser sensors include multi-line lidar and single-line lidar. Single-line lidar refers to a radar whose line beam emitted by the laser source is a single line. It is used in In the field of robots, most are service robots, which can help robots avoid obstacles. They have fast scanning speed, strong resolution, and high reliability. Compared with multi-line lidar, single-line lidar responds faster in terms of angular frequency and sensitivity. Therefore, It is more accurate in testing the distance and accuracy of surrounding obstacles. Especially for cleaning robots that walk on the ground surface, lawn mower robots that walk on lawn areas with narrow passages demarcated by boundary lines, floor washing machines, and security patrol robots, this embodiment is not applicable to the navigation method. type is limited. The robot can also be equipped with inertial sensors (including but not limited to odometers for measuring walking distance, collision sensors for detecting collisions with obstacles, and gyroscopes for measuring body rotation angles), or visual sensors ( Any type of depth information collection device can be used, including but not limited to monocular cameras, binocular cameras and other cameras).
参阅图1可知,所述导航方法包括:步骤S1、在机器人进入窄道后,若机器人碰撞到障碍物,则针对该障碍物拟合出定位轮廓线段,作为机器人当前拟合出的定位轮廓线段,该当前拟合出的定位轮廓线段表征为机器人最新探测到的障碍物的轮廓线段;然后机器人转动,具体是原地转动直至机器人的当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度,以使机器人当前不被障碍物阻挡前行;其中,机器人的当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同时,机器人的当前行走方向与当前拟合出的定位轮廓线段平行且机器人的当前行走方向在所处的窄道内是指向所述预设目标位置的最短路径的延伸方向;另外,向可通行区域偏转预设角度的实施方式包括:在当前拟合出的定位轮廓线段的左侧或该定位轮廓线段所在的障碍物的左侧存在可通行区域(没被障碍物占据)时,机器人相对于当前拟合出的定位轮廓线段的延伸方向向左偏转;在当前拟合出的定位轮廓线段的右侧或该定位轮廓线段所在的障碍物的右侧存在可通行区域(没被障碍物占据)时,机器人相对于当前拟合出的定位轮廓线段的延伸方向向右偏转;所述预设角度与拟合计算的精度关联,精度越高,则当前拟合出的定位轮廓线段越贴近障碍物,则所述预设角度被设置得越小,否则越大。所述预设角度优选为处于0至30度之内。然后机器人执行步骤S2。Referring to Figure 1, it can be seen that the navigation method includes: Step S1. After the robot enters the narrow channel, if the robot collides with an obstacle, a positioning contour line segment is fitted to the obstacle as the positioning contour line segment currently fitted by the robot. , the currently fitted positioning contour line segment is characterized as the contour line segment of the latest obstacle detected by the robot; then the robot rotates, specifically rotating on the spot until the current walking direction of the robot matches the preset value of the currently fitted positioning contour line segment The traffic direction is the same, or the current walking direction of the robot is deflected to the passable area by a preset angle relative to the currently fitted positioning contour line segment, so that the robot is not blocked by obstacles; where, the current walking direction of the robot is different from the current When the preset travel directions of the fitted positioning contour segments are the same, the robot's current walking direction is parallel to the currently fitted positioning contour segment and the robot's current walking direction points to the preset target position in the narrow channel where it is located. the extension direction of the shortest path; in addition, the implementation of deflecting the preset angle to the passable area includes: there is a passable area on the left side of the currently fitted positioning contour line segment or on the left side of the obstacle where the positioning contour line segment is located (not occupied by an obstacle), the robot deflects to the left relative to the extension direction of the currently fitted positioning contour segment; to the right of the currently fitted positioning contour segment or to the right of the obstacle where the positioning contour segment is located When there is a passable area (not occupied by obstacles) on the side, the robot deflects to the right relative to the extension direction of the currently fitted positioning contour segment; the preset angle is related to the accuracy of the fitting calculation, the higher the accuracy, the The closer the currently fitted positioning contour line segment is to the obstacle, the smaller the preset angle is set, otherwise the larger it is. The preset angle is preferably within 0 to 30 degrees. The robot then executes step S2.
需要说明的是,机器人拟合出定位轮廓线段的方法包括:对于窄道,本实施例公开的线激光传感器采集的点云数据(雷达点)都是以离散坐标表示,这些离散坐标具体是用来表示障碍物位置,大多是需要经筛选、分组,再对分组出来的点云数据进行拟合,获得拟合直线或拟合曲线,再依据世界坐标与图像坐标的比例转换关系,通过拟合曲线或拟合直线的坐标点得到障碍物包络线;优选地,为了保证路径规划算法的效率,在路径搜索阶段采用简单的机器人质点模型,优选地,对拟合曲线或拟合直线进行虚拟膨胀处理,其膨胀半径设定为机器人轮廓投影的内切圆的半径或外接圆的半径,形成包围该障碍物的拟合圆形,对应围出障碍物包络线;从而将障碍物包络线实时显示于栅格地图中(点云数据包围状离散分布在障碍物的周围),不仅对应障碍物到机器人的边缘的激光探测距离,还能用来表示障碍物位置。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 expressed in discrete coordinates, and these discrete coordinates are specifically expressed in To represent the position of obstacles, most of them need to be filtered and grouped, and then the grouped point cloud data are fitted to obtain a fitting straight line or a fitting curve, and then based on the proportional conversion relationship between world coordinates and image coordinates, through fitting The coordinate points of the curve or the fitted straight line are used to obtain the obstacle envelope; 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 fitted curve or the fitted straight line is virtualized Expansion processing, the expansion radius is set to the radius of the inscribed circle or the radius of the circumscribed circle of the robot outline projection, forming a fitted circle surrounding the obstacle, corresponding to the obstacle envelope; thereby enveloping the obstacle Lines are displayed in a grid map in real time (point cloud data is discretely distributed around obstacles), which not only corresponds to the laser detection distance from the obstacle to the edge of the robot, but can also be used to indicate the location of the obstacle.
步骤S2、机器人按照当前行走方向直线行走,直至碰撞到障碍物,再执行步骤S1;在重复执行步骤S1和前述直线行走操作的过程中,若机器人行走至预设目标位置,则停止执行步骤S1,并确定机器人通过窄道;优选地,预设目标位置是位于窄道的外部,且与窄道内部的可通行区域相连通以支持窄道内部的机器人直线行走至该预设目标位置处。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; during the process of repeating step S1 and the aforementioned straight-line walking operation, if the robot walks to the preset target position, it stops executing step S1. , and determine that the robot passes through the narrow passage; preferably, the preset target position is located outside the narrow passage and is connected to the passable area inside the narrow passage to support the robot inside the narrow passage to walk straight to the preset target position.
具体地,对于步骤S2,每当机器人转动至其当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或转动至其当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度时,机器人按照当前行走方向直线行走预设安全距离,并在直线行走的过程中检测是否碰撞到障碍物,是则执行步骤S1以实现机器人精准避障;否则确定机器人已经通过一条窄道,并确定机器人当前退出窄道,预设安全距离优选为机器人的机身宽度以符合窄道环境内的宽度设置要求,然后使用启发式搜索算法规划出通向所述预设目标位置的路径、或通向距离当前行走方向上所探测到的障碍物(可以是距离机器人的当前位置最近的一个障碍物)最近的位置的路径,可以是距离相应障碍物的轮廓线最近的局部目标位置的路径;再沿着规划出的路径行走,若机器人在接近所述预设目标位置的区域内则沿着通向所述预设目标位置的路径行走,若机器人在远离所述预设目标位置且被障碍物三面包围的局部区域内则沿着通向所述局部目标位置的路径行走;直至机器人识别到另一条窄道的入口并进入该窄道,再执行所述步骤S1以实现沿着新的方向进入新的窄道。Specifically, for step S2, whenever the robot rotates to the point where its current walking direction is the same as the preset direction of the currently fitted positioning contour line segment, or when the robot rotates to the direction where its current walking direction is relative to the direction of the currently fitted positioning contour line segment, When the passable area deflects to the preset angle, the robot walks in a straight line according to the current walking direction at a preset safe distance, and detects whether it collides with an obstacle during the straight walking process. If so, step S1 is executed to achieve accurate obstacle avoidance for the robot; otherwise, Determine that the robot has passed through a narrow passage, and determine that the robot is currently exiting the narrow passage. The preset safety distance is preferably the width of the robot's body to comply with the width setting requirements in the narrow passage environment, and then uses a heuristic search algorithm to plan the path leading to the narrow passage. The path to the preset target position, or the path leading to the closest position to the obstacle detected in the current walking direction (which can be the obstacle closest to the current position of the robot), can be the contour of the corresponding obstacle. path to the nearest local target position; then walk along the planned path. If the robot is in an area close to the preset target position, it will walk along the path leading to the preset target position. If the robot is far away from the preset target position, it will walk along the path to the preset target position. In the local area surrounded by obstacles on three sides of the preset target position, it walks along the path leading to the local target position; until the robot recognizes the entrance of another narrow lane and enters the narrow lane, it then performs the steps S1 to enable entry into a new narrow road in a new direction.
优选地,机器人识别到另一条窄道的入口的前提条件包括:在沿着规划出路径行走的过程中,机器人已经探测到或碰撞到新的障碍物,且开始去识别窄道口。对应到图2中,机器人从start位置导航到target位置(预设目标位置),在R位置遇到障碍物,使用点云数据拟合线段A0B0,再根据局部目标位置R1或预设目标位置target选择当前行走方向是A0指向B0还是B0指向A0,然后机器人选择B0指向A0的方向运动到局部目标位置R1,可能会碰撞到其右侧的障碍物,并开始识别窄道口;机器人在位置R1处识别到位置B1和位置A0之间的缺口为窄道口时,机器人进入通过窄道口,一直运动到预设目标位置target。其中,当机器人行走至位置R5时,选择B5指向A5的方向作为当前行走方向,再沿着所述当前行走方向行走至位置R6,实现控制机器人旋转到无障碍物的方向,不与定位轮廓线段B5A5所在的障碍物以及定位轮廓线段B4A4所在的障碍物相碰撞,机器人刚好通过相应的窄道口(即窄道的出口),然后使用启发式搜索算法规划出通向所述预设目标位置的路径,再沿着规划出的路径或导航方向直线行走至预设目标位置target。Preferably, the prerequisite for the robot to recognize the entrance of another narrow passage includes: while walking along the planned path, the robot has detected or collided with a new obstacle and started to identify the entrance of the narrow passage. Corresponding to Figure 2, the robot navigates from the start position to the target position (preset target position), encounters an obstacle at the R position, uses point cloud data to fit the line segment A0B0, and then based on the local target position R1 or the preset target position target Choose whether the current walking direction is A0 pointing to B0 or B0 pointing to A0, and then the robot chooses the direction of B0 pointing to A0 to move to the local target position R1. It may collide with the obstacle on its right side and start to identify the narrow crossing; the robot is at position R1 When it is recognized that the gap between position B1 and position A0 is a narrow crossing, the robot enters and passes through the narrow crossing and moves until it reaches the preset target position target. Among them, when the robot walks to position R5, it selects the direction in which B5 points to A5 as the current walking direction, and then walks along the current walking direction to position R6 to control the robot to rotate to a direction without obstacles and does not conflict with the positioning contour line segment. The obstacle where B5A5 is located collides with the obstacle where the positioning contour line segment B4A4 is located. The robot just passes through the corresponding narrow passage (i.e., the exit of the narrow passage), and then uses a heuristic search algorithm to plan a path to the preset target position. , and then walk straight along the planned path or navigation direction to the preset target location target.
优选地,测距传感器描述环境的点云数据感知范围和视野有限,无法详尽的描述机器人周围的环境信息,然后基于导航任务的全局路径在局部地图范围内选择局部规划的局部目标位置,具体方式为从当前位置开始沿着全局路径寻找局部地图内的最靠近边缘的一个航迹点,以此作为局部目标位置。全局路径是前述实施例公开的使用启发式搜索算法规划出通向所述预设目标位置的路径。Preferably, the point cloud data of the ranging sensor describing the environment has a limited sensing range and field of view, and cannot describe the environmental information around the robot in detail. Then, based on the global path of the navigation task, the local target location of the local plan is selected within the local map range, in a specific manner. In order to find the track point closest to the edge in the local map along the global path starting from the current position, this is used as the local target position. The global path is a path planned to the preset target location using the heuristic search algorithm disclosed in the aforementioned embodiments.
综上,在窄道内,本发明公开的机器人沿着拟合出的定位轮廓线段指示的特定方向(在窄道内通往预设目标位置的最短路径的方向)试探性前进,通过碰撞障碍物的方式识别出窄道口并及时调整方向以避开障碍物,重复进行,行走出从起始位置通往预设目标位置的路线,以实现朝着预设目标位置交替扭转前进通过所述窄道;从而控制机器人在窄道内精准避障,使导航能流畅通过宽度比机身宽度大1cm的窄道口和其余复杂的狭窄通道场景,提升机器人通过狭窄通道的流畅度和成功率。To sum up, in the narrow passage, the robot disclosed in the present invention tentatively moves forward along the specific direction indicated by the fitted positioning contour line segment (the direction of the shortest path to the preset target position in the narrow passage), and passes the collision with the obstacle. The method identifies the narrow passage and adjusts the direction in time to avoid obstacles, repeats the process, and walks a route from the starting position to the preset target position, so as to achieve alternate twisting and advancement toward the preset target position through the narrow passage; This controls the robot to accurately avoid obstacles in narrow passages, allowing the navigation to smoothly pass through narrow crossings with a width 1cm larger than the body width and other complex narrow passage scenes, improving the smoothness and success rate of the robot passing through narrow passages.
在上述实施例中,在所述步骤S1中,机器人在其拟合出的定位轮廓线段当中,将相对于预设目标位置形成最短可通行路径的端点设置为该定位轮廓线段的目标端点,按照机器人通过窄道的时间变化,目标端点在图2内的分布位置依次是位置A0、位置B1、位置B2、位置B3、位置B4、以及位置A5,依次对应为定位轮廓线段A0B0的端点、定位轮廓线段A1B1的端点、定位轮廓线段A2B2的端点、定位轮廓线段A3B3的端点、定位轮廓线段A4B4的端点、以及定位轮廓线段A5B5的端点;其中,所述最短可通行路径是位于机器人所进入的窄道的可通行区域内;机器人将定位轮廓线段当中除了目标端点之外的端点指向目标端点的方向配置为该定位轮廓线段的预设通行方向,在图2内的依次对应为B0指向A0的方向、索引号①所标记的箭头指向、索引号②所标记的箭头指向、索引号③所标记的箭头指向、索引号④所标记的箭头指向、以及B5指向A5的方向。从而在机器人识别到窄道口并进入其中后,计算出机器人需要转动的精确角度,避开障碍物,以将机器人的行走方向转动到指向前方无障碍物的方位。In the above embodiment, in step S1, among the positioning contour segments it has fitted, the robot sets the endpoint that forms the shortest accessible path relative to the preset target position as the target endpoint of the positioning contour segment, according to As the robot passes through the narrow passage, the distribution positions of the target endpoints in Figure 2 are position A0, position B1, position B2, position B3, position B4, and position A5, which in turn correspond to the endpoints of the positioning contour line segment A0B0 and the positioning contour. The endpoints of line segment A1B1, the endpoints of positioning contour line segment A2B2, the endpoints of positioning contour line segment A3B3, the endpoints of positioning contour line segment A4B4, and the endpoints of positioning contour line segment A5B5; wherein, the shortest accessible path is located in the narrow channel entered by the robot Within the passable area; the robot configures the endpoints of the positioning contour line segment except the target endpoint in the direction pointing to the target endpoint as the preset passing direction of the positioning contour line segment. In Figure 2, the corresponding directions are B0 pointing to A0, The arrow marked by index number ① points to the direction, the arrow marked by index number ② points, the arrow marked by index number ③ points, the arrow marked by index number ④ points, and B5 points in the direction of A5. Therefore, after the robot recognizes the narrow crossing and enters it, it calculates the precise angle at which the robot needs to turn to avoid obstacles, so as to turn the robot's walking direction to a direction pointing forward without obstacles.
作为一种实施例,机器人将每个所述定位轮廓线段的目标端点所在的通道都配置为窄道;机器人将定位轮廓线段设置为窄道的边界线;每当机器人碰撞到新的障碍物,则针对该新的障碍物拟合出定位轮廓线段,再获取该新的障碍物的定位轮廓线段的目标端点,相当于通道的一种边界点,并将该目标端点所在的通道的开口识别为窄道口。在该实施例中,在执行所述步骤S1前后,机器人在行进过程中通过碰撞传感器探测其在行进路径上是否存在障碍物,并结合测距传感器来探测在行进路径上是否存在窄道,例如,若机器人的机身宽度(外形直径)为D,则可以将宽度在(1-ɑ)D至(1+ɑ)D范围内的通道确定为窄道,其中,系数ɑ可以结合机器人的外形及材质进行设定,比如ɑ取值为0.03。As an embodiment, the robot configures the channel where the target endpoint of each positioning contour segment is located as a narrow lane; the robot sets the positioning contour segment as the boundary line of the narrow lane; whenever the robot collides with a new obstacle, Then fit a positioning contour line segment for the new obstacle, and then obtain the target endpoint of the positioning contour line segment of the new obstacle, which is equivalent to a boundary point of the channel, and identify the opening of the channel where the target endpoint is located as Narrow crossing. In this embodiment, before and after step S1 is executed, the robot uses a collision sensor to detect whether there are obstacles on its traveling path during the traveling process, and combines with the ranging sensor to detect whether there is a narrow road on its traveling path, for example , if the robot's body width (outline diameter) is D, then the channel with a width in the range of (1-ɑ)D to (1+ɑ)D can be determined as a narrow channel, where the coefficient ɑ can be combined with the robot's shape and material are set, for example, the value of ɑ is 0.03.
需要说明的是,由于机器人的传感器积累的误差、不同的障碍物材质、以及不同的光照环境干扰,所以,利用激光传感器采集的点云数据获得的障碍物包络线(障碍物的外围包络轮廓,一条拟合曲线或多条拟合曲线的连接)不一定能贴合实际障碍物位置,则机器人在搜索路径时可能将窄道口排除到机器人的可通行区域之外,因而障碍物包络线的误差容易引起机器人对窄道口的误判;则需要在本申请中通过机器人碰撞的方式来在恰当时机下拟合障碍物的定位轮廓线段并获得相应的指导方向并趁机进入窄道内。It should be noted that due to the errors accumulated by the robot's sensor, different obstacle materials, and different lighting environment interference, the obstacle envelope (the peripheral envelope of the obstacle) obtained by using the point cloud data collected by the laser sensor Contour, a fitting curve or the connection of multiple fitting curves) may not necessarily fit the actual obstacle location, so the robot may exclude narrow crossings from the robot's passable area when searching for a path, so the obstacle envelope Line errors can easily cause the robot to misjudge the narrow crossing; in this application, it is necessary to use robot collision to fit the positioning contour line segment of the obstacle at the right time and obtain the corresponding guidance direction and take the opportunity to enter the narrow crossing.
作为一种实施例,所述导航方法还包括:在机器人进入窄道之前,若机器人识别到窄道口,则将该窄道口识别为该窄道的入口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度;然后机器人按照当前行走方向直线行走,以绕过其开始识别窄道之前最新探测到的障碍物的定位轮廓线段的目标端点,再进入该窄道的入口,以实现识别到其进入窄道,再执行步骤S1。As an embodiment, the navigation method further includes: before the robot enters the narrow passage, if the robot recognizes the narrow passage, it identifies the narrow passage as the entrance to the narrow passage, and then the robot adjusts its current walking direction to the current The preset travel direction of the fitted positioning contour line segment, or the current walking direction of the robot, is deflected to the passable area by a preset angle relative to the currently fitted positioning contour line segment; then the robot walks in a straight line according to the current walking direction to bypass It begins to identify the target endpoint of the positioning contour line segment of the latest obstacle detected before the narrow channel, and then enters the entrance of the narrow channel to realize that it has entered the narrow channel, and then performs step S1.
在上述实施例的基础上,在机器人开始识别窄道口之前,若机器人碰撞到障碍物,则将该障碍物标记为机器人开始识别所述窄道口之前最新探测到的障碍物,再针对该障碍物拟合出定位轮廓线段,然后机器人将其当前行走方向调整为与当前拟合出的定位轮廓线段的预设通行方向相同,以使机器人沿着当前拟合出的定位轮廓线段行走,直至碰撞到新的障碍物并针对该新的障碍物拟合出对应的定位轮廓线段,再开始识别窄道口。具体地,机器人一开始在R位置处碰撞到障碍物(start位置右侧最近的黑色矩形),作为机器人开始识别所述窄道口之前最新探测到的障碍物,即:开始识别窄道之前最新探测到的障碍物的定位轮廓线段的目标端点对应为图2的定位轮廓线段A0B0的目标端点A0;然后机器人调整行走方向,再在图2中从R位置开始,沿着位置B0指向位置A0的方向行走至位置R1,然后在位置R1处碰撞到新的障碍物(R1位置右上方最近的黑色矩形),再在位置R1处将当前行走方向调整为索引号①所标记的箭头指向,可视为平行于针对该新的障碍物拟合出的定位轮廓线段A1B1,当机器人从位置R1开始沿着索引号①所标记的箭头指向行走时,识别为机器人进入窄道,也绕过位置A0。Based on the above embodiment, before the robot starts to recognize the narrow crossing, if the robot collides with an obstacle, the obstacle will be marked as the latest obstacle detected before the robot starts to recognize the narrow crossing, and then the obstacle will be targeted. The positioning contour segment is fitted, and then the robot adjusts its current walking direction to be the same as the preset direction of the currently fitted positioning contour segment, so that the robot walks along the currently fitted positioning contour segment until it collides with New obstacles are found and corresponding positioning contour line segments are fitted to the new obstacles, and then narrow crossings are identified. Specifically, when the robot first collides with an obstacle at the R position (the nearest black rectangle to the right of the start position), it is the latest obstacle detected before the robot starts to recognize the narrow crossing, that is: the latest detection before it starts to recognize the narrow crossing. The target endpoint of the positioning contour segment of the obstacle corresponds to the target endpoint A0 of the positioning contour segment A0B0 in Figure 2; then the robot adjusts its walking direction, starting from the R position in Figure 2, and points in the direction of position A0 along position B0 Walk to position R1, then collide with a new obstacle at position R1 (the nearest black rectangle on the upper right side of position R1), and then adjust the current walking direction at position R1 to the direction of the arrow marked by index number ①, which can be regarded as Parallel to the positioning contour segment A1B1 fitted for the new obstacle, when the robot starts walking from position R1 along the arrow marked by index number ①, it is recognized that the robot has entered a narrow channel and also bypassed position A0.
基于前述进入窄道之前的实施例,优选地,对于非临时形成的固定窄道,机器人正对窄道方向后,可能识别到一处的窄道口,则向左侧或右侧偏转第一预设角度(比如30度)后做直线移动以进入该窄道口,若机器人碰撞则说明已到达该窄道的一侧的边界,可能在当前位置的缺口处退出窄道并且识别到新的窄道口,则又一次向相反方向偏转第二预设角度(比如60度)后做直线移动以进入新的窄道口,若机器人又发生碰撞则说明已到达该窄道的另一侧的边界,重复进行,行走过的位置依次对应为R1 -> R2 ->R3 -> R4 -> R5 -> R6,以通过相应的窄道,可以实现左右交替扭转前进通过该窄道。具体地,对应到图2中,机器人从位置R1行走到位置R2(在开始识别新的窄道口之前执行),在位置处遇到右侧的障碍物,使用点云数据拟合出定位轮廓线段A2B2(触发机器人开始识别新的窄道口),再识别到位置B2与位置A0之间的第一窄道口,再转动机身以使当前行走方向变为图2的索引号②所标记的箭头指向,然后机器人选择A2指向B2的方向直线行走到位置R3以在相应一段的窄道内穿过第一窄道口(相当于进入第一窄道口);同理地,然后在位置R3处碰撞到其前方的障碍物,则使用该障碍物的点云数据拟合出定位轮廓线段A3B3,再识别到位置B2与位置A3之间的第二窄道口,然后转动机身以使当前行走方向变为图2的索引号③所标记的箭头指向,然后机器人沿着索引号③所标记的箭头指向直线行走到位置R4以穿过第二窄道口,然后在位置R4处碰撞到其右前方的障碍物,则使用该障碍物的点云数据拟合出定位轮廓线段A4B4,再识别到位置B2与位置A4之间的第三窄道口,然后转动机身以使当前行走方向变为图2的索引号④所标记的箭头指向,然后机器人沿着索引号④所标记的箭头指向直线行走到位置R5以穿过第三窄道口,然后在位置R5处碰撞到其右前方的障碍物,则使用该障碍物的点云数据拟合出定位轮廓线段B5A5,再识别到位置B5与位置B4之间的第四窄道口,然后转动机身以使当前行走方向变为从位置B5指向位置A5的方向,然后机器人沿着位置B5指向位置A5的方向直线行走到位置R6以穿过第四窄道口。如图2所示,在机器人行走至所述预设目标位置target之前,若机器人识别到位置B5与位置B4之间的窄道口,则将该窄道口识别为该窄道的出口,具体是最接近所述预设目标位置target的窄道口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度,然后机器人按照当前行走方向直线行走,以绕过其开始识别该窄道的出口之前最新碰撞到的障碍物的定位轮廓线段的目标端点B4,并在无障碍地直线行走预设安全距离后,到达位置R6实现离开该窄道的出口;优选地,预设目标位置target是设置在窄道的外部。;然后机器人在位置R6处使用启发式搜索算法规划出通向所述预设目标位置target的路径,再从位置R6开始沿着规划出的路径或导航方向直线行走至预设目标位置target。因此,每当机器人碰撞到新的障碍物,则针对该新的障碍物拟合出定位轮廓线段,再获取该新的障碍物的定位轮廓线段的目标端点,并将该目标端点所在的通道的开口识别为窄道口。Based on the aforementioned embodiment before entering a narrow passage, preferably, for a non-temporarily formed fixed narrow passage, after the robot faces the direction of the narrow passage, it may identify a narrow passage entrance and then deflect to the left or right for the first predetermined time. Set an angle (for example, 30 degrees) and then move in a straight line to enter the narrow crossing. If the robot collides, it means that it has reached the boundary of one side of the narrow crossing. It may exit the narrow crossing at the gap at the current position and recognize a new narrow crossing. , then deflect again in the opposite direction by a second preset angle (such as 60 degrees) and then move in a straight line to enter a new narrow crossing. If the robot collides again, it means that it has reached the boundary on the other side of the narrow crossing, and repeats , the walking positions correspond to R1 -> R2 -> R3 -> R4 -> R5 -> R6, so that through the corresponding narrow passage, the left and right twists and turns can be realized to advance through the narrow passage. Specifically, corresponding to Figure 2, the robot walks from position R1 to position R2 (executed before starting to identify a new narrow crossing), encounters an obstacle on the right side at the position, and uses point cloud data to fit the positioning contour line segment A2B2 (triggering the robot to start identifying a new narrow crossing), then identify the first narrow crossing between position B2 and position A0, and then rotate the body so that the current walking direction becomes the arrow marked by index number ② in Figure 2. , then the robot chooses the direction A2 points to B2 and walks straight to position R3 to pass through the first narrow crossing in the corresponding narrow passage (equivalent to entering the first narrow crossing); similarly, it then collides with its front at position R3 If there is an obstacle, use the point cloud data of the obstacle to fit the positioning contour line segment A3B3, then identify the second narrow intersection between position B2 and position A3, and then rotate the body so that the current walking direction becomes Figure 2 The arrow marked by index number ③ points, and then the robot walks straight along the arrow marked by index number ③ to position R4 to pass through the second narrow crossing, and then collides with the obstacle in front of it on the right at position R4, then Use the point cloud data of the obstacle to fit the positioning contour segment A4B4, then identify the third narrow intersection between position B2 and position A4, and then rotate the body so that the current walking direction changes to the index number ④ in Figure 2 The marked arrow points, and then the robot walks straight along the arrow marked by index number ④ to position R5 to pass through the third narrow crossing, and then collides with the obstacle in front of it on the right at position R5, then the obstacle's The point cloud data fits the positioning contour line segment B5A5, and then identifies the fourth narrow crossing between position B5 and position B4, and then rotates the body so that the current walking direction changes from position B5 to position A5, and then the robot follows Landing position B5 points in the direction of position A5 and walks straight to position R6 to cross the fourth narrow crossing. As shown in Figure 2, before the robot walks to the preset target position target, if the robot recognizes the narrow crossing between position B5 and position B4, it will identify the narrow crossing as the exit of the narrow crossing. Specifically, the narrow crossing is the exit of the narrow crossing. Approaching the narrow crossing of the preset target position target, the robot then adjusts its current walking direction to the preset passing direction of the currently fitted positioning contour line segment, or to the passable area relative to the currently fitted positioning contour line segment. Deflect to the preset angle, and then the robot walks in a straight line in the current walking direction to bypass the target end point B4 of the positioning contour segment of the latest obstacle it collided with before it started to identify the exit of the narrow channel, and walks in a straight line without any obstacles to the preset After a safe distance, the exit from the narrow passage is achieved at position R6; preferably, the preset target position target is set outside the narrow passage. ;Then the robot uses a heuristic search algorithm to plan a path to the preset target position target at position R6, and then starts from position R6 and walks straight 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 line segment is fitted to the new obstacle, and the target endpoint of the positioning contour line segment of the new obstacle is obtained, and the channel where the target endpoint is located is The opening is identified as a narrow crossing.
综合上述实施例,本发明分别在开始识别窄道口之前、开始识别窄道口时、识别到窄道口前后、进入窄道之前以及进入窄道的对应阶段内,根据机器人与障碍物的碰撞情况以及对障碍物轮廓的拟合情况,调整机器人的行走方向,再在窄道内做直线行走,以趋向于行走向该预设目标位置;并基于机器人先后与两个障碍物的碰撞情况以及对各个障碍物轮廓的拟合情况识别窄道口,以区分开始识别窄道口之前、开始识别窄道口时、以及识别到窄道口这三种识别状态,进而推进机器人进入窄道以及再次进入窄道的进程。Based on the above embodiments, the present invention starts to recognize the narrow crossing before starting to recognize the narrow crossing, before and after recognizing the narrow crossing, before entering the narrow crossing, and in the corresponding stages of entering the narrow crossing, according to the collision situation and the collision between the robot and the obstacle. According to the fitting of the obstacle contour, adjust the walking direction of the robot, and then walk in a straight line in the narrow channel to tend to walk towards the preset target position; and based on the collision of the robot with two obstacles and the evaluation of each obstacle The fitting situation of the contour identifies the narrow crossing to distinguish the three recognition states before starting to recognize the narrow crossing, when starting to recognize the narrow crossing, and recognizing the narrow crossing, thereby promoting the process of the robot entering the narrow crossing and entering the narrow crossing again.
在前述实施例中,机器人识别窄道口的方法包括:在触发机器人开始识别窄道口的同时,机器人先对最新碰撞到的障碍物拟合出定位轮廓线段,然后机器人在该定位轮廓线段的搜索方向上提取出两个绕障点,若检测到该两个绕障点之间的距离处于预设距离范围,则将所述两个绕障点所在通道识别为窄道;并将该两个绕障点各自所在的障碍物之间形成的缺口识别为窄道口,优选为所述两个绕障点之间的开口。进一步地,在机器人识别到窄道口后,若检测到机器人的行走方向从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且机器人按照变化后的行走方向直线行走,则机器人识别为其进入窄道;其中,所述变化后的行走方向是配置为由机器人的当前位置指向所述两个绕障点所在通道的内部的可通行区域的方向,优选为平行于当前拟合出的定位轮廓线段。则参考绕障方向是上一次拟合出的定位轮廓线段的预设通行方向或相对于上一次拟合出的定位轮廓线段向可通行区域偏转所述预设角度;其中,上一次拟合出的定位轮廓线段是在机器人开始识别窄道口之前,针对最新碰撞到的障碍物拟合出的定位轮廓线段。具体地,在开始识别窄道口之前,机器人碰撞到一个障碍物并拟合出对应的定位轮廓线段;然后,在机器人碰撞到另一个障碍物时开始识别窄道口;机器人针对在先碰撞到的一个障碍物拟合出的定位轮廓线段是所述上一次拟合出的定位轮廓线段,机器人针对在后碰撞到的一个障碍物拟合出的定位轮廓线段是所述当前拟合出的定位轮廓线段,使上一次拟合出的定位轮廓线段的预设通行方向与当前拟合出的定位轮廓线段的预设通行方向不同。因此,机器人使用先后两次碰撞到的障碍物的定位轮廓线段的朝向及端点来识别窄道口和进入窄道。In the aforementioned embodiment, the method for the robot to identify the narrow crossing includes: while triggering the robot to start identifying the narrow crossing, the robot first fits a positioning contour segment to the latest obstacle it collides with, and then the robot searches in the direction of the positioning contour segment. Two obstacle bypass points are extracted from above. If it is detected that the distance between the two obstacle bypass points is within the preset distance range, the channel where the two obstacle bypass points are located is identified as a narrow channel; and the two obstacle bypass points are The gap formed between the obstacles where each obstacle point is located is identified as a narrow crossing, preferably an opening between the two obstacle bypassing points. Further, after the robot recognizes the narrow crossing, if it is detected that the robot's walking direction changes from the reference obstacle bypassing direction to the preset traveling direction of the currently fitted positioning contour line segment or relative to the direction of the currently fitted positioning contour line segment. The passable area is deflected by the preset angle, and the robot walks in a straight line according to the changed walking direction, then 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 the The direction of the passable area inside the channel where the two obstacle bypass points are located is preferably parallel to the currently fitted positioning contour line segment. Then the reference obstacle bypassing direction is the preset passing direction of the positioning contour line segment fitted last time or the preset angle deflected to the passable area relative to the positioning contour line segment fitted last time; wherein, the positioning contour line segment fitted last time is deflected to the passable area by the preset angle; The positioning contour line segment is the positioning contour line segment fitted to the latest obstacle encountered before the robot starts to recognize the narrow crossing. Specifically, before starting to recognize the narrow crossing, the robot collides with an obstacle and fits the corresponding positioning contour line segment; then, when the robot collides with another obstacle, it starts to recognize the narrow crossing; the robot first collides with a The positioning contour line segment fitted by the obstacle is the positioning contour line segment fitted last time, and the positioning contour line segment fitted by the robot for an obstacle it collides with later is the positioning contour line segment fitted currently. , making the preset travel direction of the last fitted positioning contour segment different from the preset travel direction of the currently fitted positioning contour segment. Therefore, the robot uses the orientation and endpoints of the positioning contour segments of the obstacles it collides with twice to identify the narrow crossing and enter the narrow passage.
作为一种实施例,机器人在定位轮廓线段的搜索方向上提取出两个绕障点的情况下,若检测到机器人的行走方向从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且检测到该两个绕障点之间的距离处于预设距离范围,且机器人按照变化后的行走方向直线行走,则机器人将其行为识别为进入窄道、或具有通过识别窄道口来进入窄道的趋势,此时,机器人是从窄道的外部开始进入窄道的入口的一瞬间、或机器人位于所述两个绕障点所在通道的入口的前方且其行走方向是通向所述两个绕障点所在通道内部的可通行区域,且机器人可能出现左右扭动。其中,机器人在步骤S1中获取所述定位轮廓线段后,机器人在定位轮廓线段的搜索方向上提取出两个绕障点,可以是在选定一个绕障点的基础上再沿着所述搜索方向提取另一个绕障点,这些绕障点是拟合出来的轮廓线段的端点且是距离最近的分居两个定位轮廓线段上的两个端点,形成机器人左右两侧的绕障点。具体地,机器人确定其开始进入一个窄道口,该窄道口是该两个绕障点各自所在的障碍物之间形成的缺口,该缺口位于可通行区域内,缺口所在的通道的边界线可以是障碍物的实际轮廓或拟合出来的定位轮廓线段,边界线的间距是处于所述预设距离范围内以提高判断精度。优选地,所述缺口的宽度是所述缺口在机器人行进平面上的两个端点所在的栅格之间的距离,所述缺口的两个端点分别位于对应障碍物的轮廓线或拟合出来的轮廓线段上。无论机器人在进入所述两个绕障点所在通道之前多么频繁地与所绕的障碍物发生碰撞,机器人的行走方向只要从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且所述两个绕障点之间的距离处于所述预设距离范围时,机器人都将所述两个绕障点所在通道识别为窄道,使得机器人从当前位置导航至预设目标位置的过程中更加顺畅、导航路径更短,提高机器人的导航效率。As an embodiment, when the robot extracts two obstacle avoidance points in the search direction of the positioning contour line segment, if it is detected that the robot's walking direction changes from the reference obstacle avoidance direction to the predetermined positioning contour line segment currently fitted, Assume that the direction of travel or the preset angle is deflected to the passable area relative to the currently fitted positioning contour line segment, and it is detected that the distance between the two obstacle avoidance points is within the preset distance range, and the robot follows the changed If the walking direction is straight, the robot will recognize its behavior as entering a narrow passage, or have a tendency to enter a narrow passage by identifying the entrance of a narrow passage. At this time, the robot enters the entrance of the narrow passage from the outside of the narrow passage, or The robot is located in front of the entrance of the passage where the two obstacle bypass points are located, and its walking direction is leading to the passable area inside the passage where the two obstacle bypass points are located, and the robot may twist left and right. Wherein, 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. It may be based on selecting one obstacle bypassing point and then searching along the The direction extracts another obstacle avoidance point. These obstacle avoidance points are the endpoints of the fitted contour line segments and are the two closest endpoints on the two positioning contour line segments, forming the obstacle avoidance points on the left and right sides of the robot. Specifically, the robot determines that it has started to enter a narrow crossing, which is a gap formed between the obstacles where the two obstacle bypass points are respectively 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 distance between 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 are located on the robot's traveling plane. The two endpoints of the gap are respectively located on the contour line of the corresponding obstacle or the fitted one. on the contour segment. No matter how frequently the robot collides with the obstacles around it before entering the channel where the two obstacle avoidance points are located, the robot's walking direction only needs to change from the reference obstacle avoidance direction to the preset passage of the currently fitted positioning contour line segment. direction or the preset angle relative to the currently fitted positioning contour line segment toward the traversable area, and the distance between the two obstacle avoidance points is within the preset distance range, the robot will The channel where each obstacle detour point is located is identified as a narrow channel, which makes the robot's navigation from the current position to the preset target position smoother and the navigation path shorter, improving the robot's navigation efficiency.
优选地,所述预设距离范围是大于或等于机器人的机身宽度;优选地,预设距离范围是大于机器人的机身宽度,当机器人的外形是圆形时,机器人的机身宽度是其机体直径。所述两个绕障点所在通道的入口(即两个绕障点之间形成的缺口)的宽度大于或等于机器人的机身宽度时,确定所述两个绕障点所在通道允许机器人进入,则机器人可以在行走至其中一个绕障点或其附近以碰撞新的障碍物时,将其行走方向调整为平行于相应的定位轮廓线段、或相对该定位轮廓线段形成预设角度的方向,调整后的方向可以是直线指向所述预设目标位置的方向、或曲折穿过所述两个绕障点所在通道以延伸至所述预设目标位置的方向。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. When the shape of 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 bypass points are located (i.e., the gap formed between the two obstacle bypass points) is greater than or equal to the width of the robot's body, it is determined that the channel where the two obstacle bypass points are located allows the robot to enter, Then, when the robot walks to one of the obstacle bypassing points or its vicinity to collide with a new obstacle, it can adjust its walking direction to be parallel to the corresponding positioning contour line segment, or to a direction that forms a preset angle relative to the positioning contour line segment. The latter direction may be a straight line pointing to the preset target position, or a direction that meanders through the passage where the two obstacle bypass points are located to extend to the preset target position.
作为一种实施例,机器人按照当前行走方向直线行走预设安全距离的过程中,若没有与障碍物发生碰撞,则机器人在窄道内保持无障碍行走预设安全距离后,开始使用启发式搜索算法规划导航路径,所述预设目标位置是导航路径的终点,至于具体的搜索起点可以是机器人与障碍物第一次碰撞的位置,也可以是在障碍物附近选择的一个位置、也可以是所述绕障点或附近区域。在前述步骤S1与前述步骤S2之间,还包括:在机器人探测到一个障碍物后(可以与之相碰撞),且在另一个障碍物(探测到的新障碍物,可以是与在先探测的障碍物在位置上比较接近,视为位置相邻)的所述定位轮廓线段的搜索方向上搜索出两个绕障点之前,保持沿着同一方向行走,对应为图2中各个索引号所标记的方向。在一定程度上,保证机器人通过狭窄的通道区域。地形的可穿越性信息被存储为代价地图中各栅格的代价值。在路径搜索阶段考虑可通行性代价,即搜索算法的代价函数加入通行性代价值,算法将倾向于找到一条通往低通行性代价区域的路径。As an embodiment, if the robot does not collide with an obstacle while walking in a straight line in the current walking direction at a preset safe distance, the robot will maintain barrier-free walking in the narrow passage at a preset safe distance and then start using the heuristic search algorithm. Plan the 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 it can be a position selected near the obstacle, or it can be all Describe the obstacle avoidance point or nearby area. Between the aforementioned step S1 and the aforementioned step S2, it also includes: after the robot detects an obstacle (which can collide with it), and after the robot detects another obstacle (the new obstacle detected can be the same as the previously detected obstacle). The obstacles are relatively close in position and are considered to be adjacent in position. Before searching for two obstacle bypass points in the search direction of the positioning contour line segment, keep walking in the same direction, corresponding to each index number in Figure 2. The direction of the marker. To a certain extent, the robot is guaranteed to pass through narrow passage areas. Terrain traversability information is stored as the cost value of each raster in the cost map. The trafficability cost is considered in the path search stage, that is, the trafficability cost value is added to the cost function of the search algorithm, and the algorithm will tend to find a path to a low trafficability cost area.
在前述实施例中,机器人一般将第一次碰撞到一个障碍物的位置作为搜索起点,然后,机器人在沿着该搜索起点处开始规划出的绕障路径行走的过程中,碰撞到另一个障碍物时,也可以视为机器人探测到另一个障碍物,则通过测距传感器采集的点云数据获取定位轮廓线段,该定位轮廓线段是反射自所述另一个障碍物的点云数据的拟合结果(来源于所述另一个障碍物的包络线的部分线段,且能够与机器人的当前位置相重叠),以便于探索出这两个探测到的障碍物之间形成的缺口或通道,在一些实施例中,该定位轮廓线段可以是基于机器人预先采集的点云数据计算出来的拟合线段(比如来源于第一次碰撞到障碍物的轮廓)或平行于该拟合线段,机器人可能没有碰撞到所述另一个障碍物,但是机器人可以预测出两个不同障碍物之间可能形成的缺口;因而,机器人将定位轮廓线段视为该缺口的一端所在的边界线或通道一侧所在的边界线。优选地,所述窄道是以该两个障碍物的轮廓线(拟合的结果)为边界线组成的通道;两个障碍物的轮廓线上提取出来的绕障点之间的最小距离大于或等于所述预设距离范围的最小值;预设距离范围的最小值是大于机器人的机身宽度;所述窄道的宽度是处于预设距离范围,所述窄道的入口也是处于预设距离范围。所述窄道口可以是房间的小门洞,门洞两侧的障碍物是同一房间内的四面墙壁,四面墙壁是连续的、一体的,另外,所述绕障点所在通道的左右两侧的墙体也可以近似为平行。In the foregoing embodiments, the robot generally uses the location where it collides with an obstacle for the first time as the search starting point. Then, while walking along the planned obstacle path starting from the search starting point, the robot collides with another obstacle. When an object is detected, it can also be regarded as that the robot detects another obstacle, and then obtains the positioning contour line segment through the point cloud data collected by the ranging sensor. The positioning contour line segment is a fitting of the point cloud data reflected from the other obstacle. The result (a partial line segment derived from the envelope of the other obstacle and capable of overlapping with the current position of the robot) is used to explore the gap or channel formed between the two detected obstacles. In some embodiments, the positioning contour line segment may be a fitting line segment calculated based on point cloud data pre-collected by the robot (such as the contour derived from the first collision with an obstacle) or may be parallel to the fitting line segment. The robot may not have Collision with the other obstacle, but the robot can predict the gap that may form 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 where one side of the channel is located Wire. Preferably, the narrow passage is a passage composed of the contour lines (fitting results) of the two obstacles as the boundary line; the minimum distance between the obstacle bypass 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 width of the robot's body; the width of the narrow channel is within the preset distance range, and the entrance of the narrow channel is also within the preset distance range. distance range. The narrow entrance can be a small door opening in a room. The obstacles on both sides of the door opening are the four walls in the same room. The four walls are continuous and integrated. In addition, the walls on the left and right sides of the passage where the obstacle bypass point is located are It can also be approximately parallel.
需要说明的是,机器人会使用启发式搜索算法规划出导航路径,预设目标位置是该导航路径的终点;在规划出导航路径后,机器人沿着该导航路径行走,当机器人使用测距传感器探测到障碍物时,比如第一次探测到障碍物时,甚至是碰撞上障碍物时,机器人从其当前位置开始使用启发式搜索算法规划出绕开当前探测到的障碍物的导航路径并将该导航路径标记为绕障路径,预设目标位置是该绕障路径的终点。具体地,在机器人开始以其当前位置或预设起始位置为搜索起点,按照搜索起点指向所述预设目标位置的方向,对应为图2中的搜索起点start指向预设目标位置target的方向,机器人使用启发式搜索算法规划路径的过程中,在该搜索起点的邻域内搜索自由栅格(在栅格地图内表示可通行区域的栅格区域)作为路径节点以使路径节点不位于障碍物占据区域上,其中,机器人在搜索起点的邻域内搜索出多个路径节点,其中,这些路径节点都是自由栅格,每个路径节点对应一个初始搜索方向;然后继续将每个路径节点更新为新的搜索起点,再按照搜索起点指向同一预设目标位置的方向在每个搜索起点的邻域内搜索自由栅格,如此重复,直至在栅格地图内搜索出所述预设目标位置,并按照搜索先后的顺序将搜索出的栅格同时连接成多条导航路径或所述绕障路径;其中,机器人在每个初始搜索方向上对应搜索出一条导航路径或所述绕障路径。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 will walk along the navigation path. When the robot uses the ranging sensor to detect When an obstacle is detected, such as when it is detected 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 around the currently detected obstacle and The navigation path is marked as an obstacle avoidance path, and the preset target position is the end point of the obstacle avoidance path. Specifically, when the robot starts to use its current position or the preset starting position as the search starting point, the search starting point points to the direction of the preset target position, which corresponds to the search starting point start in Figure 2 pointing to the direction of the preset target position target. , when the robot uses a heuristic search algorithm to plan its path, it searches for free rasters (grid areas that represent passable areas in a raster map) in the neighborhood of the search starting point as path nodes so that the path nodes are not located at obstacles. On the occupied area, the robot searches for multiple path nodes in the neighborhood of the search starting point. These path nodes are all free grids, and each path node corresponds to an initial search direction; then it continues to update each path node as A new search starting point, and then search free grids in the neighborhood of each search starting point in the direction of the search starting point pointing to the same preset target position. Repeat this until the preset target position is searched in the grid map, and follow the The search sequence connects the searched grids into multiple navigation paths or obstacle avoidance paths at the same time; wherein, the robot searches for one navigation path or obstacle avoidance path in each initial search direction.
优选地,机器人使用线激光传感器先探测到第一障碍物时,机器人已经碰撞到第一障碍物;机器人行走至第一障碍物与第二障碍物之间形成的缺口时,机器人已经碰撞到第二障碍物;机器人将所述预设距离范围设置为大于或等于机器人的机身宽度,以使所述两个绕障点之间的距离大于或等于机器人的机身宽度时,确定该两个绕障点各自所在的障碍物之间形成的缺口是窄道口允许机器人进入。所述预设距离范围的上限值是机器人的机身宽度与预设冗余量的和值。由于窄道的宽度只是稍微大于机器人的机身宽度,为了在识别窄道的过程中减少计算出来的轮廓线的误差干扰,设置预设距离范围进行判断;具体地,预设距离范围的最小值(下限值)是大于机器人的机身宽度,预设距离范围的最大值(上限值)只是稍微大于机器人的机身宽度,不超出两倍的机身宽度。其中,预设距离范围可根据机器人的机身宽度以及预设的拟合误差来确定,预设冗余量的设置能够将与机器人的机身宽度较为接近的通道称为所述窄道。例如,扫地机器人的宽度为30厘米,则预设距离范围可取32厘米至35厘米,即机器人的中心位于所述两个绕障点所在通道的入口在其宽度方向上的中心位置时,所述预设冗余量的设置表现为机器人的左右两侧与通道之间的间隙大小处于1厘米至2厘米之间,对应地,机器人的中心位置可以依次使用位置R1、位置R2、位置R3、位置R4、位置R5、以及位置R6表示。综上,前述实施例利用进入两个所绕的障碍物之间形成的缺口前的行走方向的变化,以及两个所绕的障碍物对应的绕障点之间距离,来识别出机器人是否开始进入窄道,克服障碍物的轮廓线拟合计算对识别窄道所带来的误差,提高窄道识别的准确性和机器人进入窄道的成功率。Preferably, when the robot first 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 third obstacle. Two obstacles; when the robot sets the preset distance range to be greater than or equal to the width of the robot's body, so that the distance between the two obstacle bypass points is greater than or equal to the width of the robot's body, the two obstacles are determined. The gap formed between the obstacles where the obstacle detour points are located is a narrow crossing that allows 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 channel is only slightly larger than the width of the robot's body, in order to reduce the error interference of the calculated contour line in the process of identifying the narrow channel, a preset distance range is set for judgment; specifically, the minimum value of the preset distance range (Lower limit value) is larger than the robot's body width, and the maximum value (upper limit value) of the preset distance range is only slightly larger than the robot's body width, not exceeding twice the body width. The preset distance range can be determined according to the width of the robot's body and the preset fitting error. The setting of the preset redundancy can call the channel that is closer to the width of the robot's body the narrow channel. For example, if the width of the sweeping robot is 30 cm, the preset distance range may be 32 cm to 35 cm. That is, when the center of the robot is located at the center of the width direction of the entrance of the channel where the two obstacle bypass points are located, the The setting of the preset redundancy shows that the gap size between the left and right sides of the robot and the channel is between 1 cm and 2 cm. Correspondingly, the center position of the robot can use position R1, position R2, position R3, and position in sequence. R4, position R5, and position R6 are represented. To sum up, the foregoing embodiment uses the change in the walking direction before entering the gap formed between the two obstacles and the distance between the obstacle avoidance points corresponding to the two obstacles to identify whether the robot has started. Entering a narrow passage, overcoming the error caused by the contour fitting calculation of obstacles in identifying the narrow passage, improving the accuracy of narrow passage identification and the success rate of the robot entering the narrow passage.
作为一种实施例,机器人将所述定位轮廓线段的搜索方向设置为该定位轮廓线段的垂直方向以形成所述两个绕障点所在通道的宽度方向;所述两个绕障点沿着所述定位轮廓线段的搜索方向分布于:机器人开始识别窄道口之前最新碰撞到的障碍物中和机器人开始识别该窄道口时所碰撞到的障碍物中。在本实施例中,所述定位轮廓线段是对应于其中一个绕障点所在的障碍物,对应到图2的最上方的障碍物,线段AB是其定位轮廓线段,属于经过图2的最上方的障碍物的左下方的角点的拟合线段,但不一定属于障碍物实际轮廓线,能够形成所述两个绕障点所在通道的其中一条边界线,即前述实施例识别出的窄道的边界线,其中,线段A1B1的搜索方向上形成的垂线可以是经过图2所示的最上方障碍物(黑色矩形)的一个角点,以贴合该障碍物的轮廓和分布位置。所述两个绕障点是距离机器人的左右两侧最近的障碍物的定位轮廓线段上的点;也可以理解为在两条定位轮廓线段的端点当中,距离最小的两个端点且该两个端点之间存在缺口;在一些实施例中,所述两个绕障点之间的距离也可以是所述两个绕障点各自所在的定位轮廓线段的端点之间的最小距离,用以判断所述两个绕障点之间的缺口的可通行性。As an embodiment, the robot sets the search direction of the positioning contour line segment in the vertical direction of the positioning contour line segment to form the width direction of the channel where the two obstacle bypassing points are located; the two obstacle bypassing points are along the The search directions of the positioning contour line segments are distributed among: the latest obstacles that the robot collides with before it starts to recognize the narrow crossing and the obstacles that the robot collides with when it starts to recognize the narrow crossing. In this embodiment, the positioning contour line segment corresponds to the obstacle where one of the obstacle bypass points is located, corresponding to the uppermost obstacle in Figure 2. The line segment AB is its positioning contour line segment, which belongs to the topmost obstacle passing through Figure 2. The fitted line segment of the lower left corner of the obstacle, but does not necessarily belong to the actual contour line of the obstacle, can form one of the boundary lines of the channel where the two obstacle bypass points are located, that is, the narrow channel identified in the previous embodiment. The boundary line, where the vertical line formed in the search direction of line segment A1B1 can pass through a corner point of the uppermost obstacle (black rectangle) shown in Figure 2 to fit the outline and distribution position of the obstacle. The two obstacle bypassing points are points on the positioning contour line segment of the obstacle closest to the left and right sides of the robot; it can also be understood as the two endpoints with the smallest distance among the endpoints of the two positioning contour line segments and the two endpoints are the smallest. There is a gap between the end points; in some embodiments, the distance between the two obstacle bypass points can also be the minimum distance between the end points of the positioning contour segments where the two obstacle bypass points are located, to determine The passability of the gap between the two obstacle bypass points.
优选地,所述预设距离范围是设置为大于或等于机器人的机身宽度;预设安全距离是设置为等于机器人的机身宽度;所述预设角度被设置为引导机器人离开当前碰撞到的障碍物、或绕过当前碰撞到的障碍物的定位轮廓线段的任一个端点,以行走至与所述预设目标位置相连通的可通行区域;所述最短可通行路径是机器人分别以定位轮廓线段的两个端点为搜索起点,使用启发式搜索算法规划出的通向所述预设目标位置的路径当中路径长度最短的一条路径。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; and the preset angle is set to guide the robot away from the current collision area. Obstacle, or any endpoint of the positioning contour line segment that bypasses the currently collided obstacle, in order to walk to the passable area connected to the preset target position; the shortest passable path is the positioning contour of the robot respectively. The two endpoints of the line segment are the starting point of the search, and the path with the shortest path length among the paths leading to the preset target location planned using a heuristic search algorithm is used.
优选地,当机器人行走在所述窄道的内部时,所述窄道的入口的两侧边界线与机器人对应一侧的最短距离都等于所述预设冗余量的一半;比如,机器人沿着窄道的中心线进入窄道口时,机器人的左侧与其左侧绕障点的垂直距离等于所述预设冗余量的一半,且机器人的右侧与其右侧绕障的垂直距离也是等于所述预设冗余量的一半。在本实施例中,所述预设冗余量的一半优选为1厘米至2厘米,从而规避轮廓线的拟合计算误差。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 amount; for example, the robot moves along When entering a narrow crossing along the center line of a narrow passage, the vertical distance between the robot's left side and its left side around the obstacle point is equal to half of the preset redundancy, and the vertical distance between the robot's right side and its right side around the obstacle is also equal to half of the preset redundancy amount. In this embodiment, half of the preset redundancy is preferably 1 cm to 2 cm, so as to avoid fitting calculation errors of the contour line.
在一些实施例中,机器人的工作区域中,会存在由边界线框定的工作区,也会在障碍物之间组成非工作区域,或者在边界线框定的工作区域之间构成非工作区域,可以是两个工作区域的相应一条边界线之间形成非工作区域,也可以是两个墙体障碍物之间的空隙通道形成非工作区域;这里的非工作区域一般是指宽度较窄的通道,简称窄道,窄道的入口和窄道的出口都设置为窄道口,其中,窄道的两侧分别是两条障碍物的轮廓线;并且在设置移动路径时,一般将扫地机器人设置为一个圆来看待,为了方便扫地机器人移动至预设目标位置,设置的移动路径可能会经过窄道;一般地,两个或多个障碍物之间的缝隙区域(比如两个墙体之间的通道)以自由通道的形式显示在栅格地图内;自由通道是指连通两个不同工作区域,在宽度大于机器人的机身宽度的前提下可以是机器人的可通行道路,然后具体通过检测通道的入口、通道的出口、通道的长度以及通道的宽度来识别出允许机器人通行的窄道口及窄道,并确定窄道覆盖的位置信息,比如识别出一个墙体下方的门洞的栅格区域、两个墙体之间的通道、三个墙体围成只有一个待识别缺口的通道;机器人实际工作场景中的通道具有一定特征,包括三维形状特征及尺寸特征等。In some embodiments, in the working area of the robot, there will be a working area framed by a boundary line, and a non-working area will also be formed between obstacles, or a non-working area will be formed between the working areas framed by the boundary line. The non-working area is formed between the corresponding boundary lines of two working areas, or the non-working area is formed by the gap channel between two wall obstacles; the non-working area here generally refers to a channel with a narrow width. Referred to as a narrow passage, the entrance and exit of the narrow passage are both set as narrow passages. On both sides of the narrow passage are the outlines of two obstacles; and when setting the moving path, the sweeping robot is generally set to a Viewed in a circle, in order to facilitate the sweeping robot to move to the preset target position, the set movement path may pass through a narrow passage; generally, the gap area between two or more obstacles (such as the passage between two walls) ) is displayed in the grid map in the form of a free channel; a free channel refers to connecting two different working areas. It can be a passable road for the robot on the premise that the width is greater than the width of the robot's body, and then specifically passes through the entrance of the detection channel , the exit of the passage, the length of the passage and the width of the passage to identify the narrow entrance and narrow passage that allow the robot to pass, and determine the location information covered by the narrow passage, such as identifying the grid area of a door opening under a wall, two The passage between walls and three walls form a passage with only one gap to be identified; the passage in the actual working scene of the robot has certain characteristics, including three-dimensional shape characteristics and size characteristics.
需要补充的是,对于前述的窄道口、窄道或缺口,在机器人所处的区域内,存在水平地面上设置穿透相邻两个房间区域的门洞、两个平行的墙体之间的缝隙、两个低矮的障碍物之间形成的缺口,可以将门洞的入口或缝隙的入口设置为两个障碍物之间形成的开口,是至少两个障碍物的轮廓之间形成的开口,这些障碍物可以是相互孤立存在;机器人使用线激光传感器扫描周围环境时,该开口的两个端点以及宽度都被机器人的激光传感器扫描出来并转换到相应坐标系下的点云坐标,进而将该开口的两个端点扫描为对应的点云并转换到栅格地图的对应栅格处。在一些实施例中,机器人通过碰撞的方式感测周围环境时,每当机器人的碰撞传感器接触到该开口的两个端点后,将其碰撞到的障碍物的轮廓点或所述定位轮廓线段标记到栅格地图的对应栅格处;还在一些实施中引入评估量,用以表示机器人在障碍物之间形成的缺口处或其对应的栅格(两个端点之间的自由栅格的数量或其在开口宽度范围内的占比)处的可通行程度,可以表示在相应栅格区域处的通行概率,一般地,机器人使用测距传感器扫描出缺口时被赋予的可信度高于机器人碰撞检测出缺口时被赋予的可信度,因为测距传感器的定位精度高于机器人物理接触产生的定位精度。It should be added that for the aforementioned narrow crossings, narrow passages or gaps, in the area where the robot is located, there are door openings on the horizontal ground that penetrate two adjacent room areas, and a gap between two parallel walls. , the gap formed between two low obstacles, the entrance of the doorway or the entrance of the gap can be set as the opening formed between the two obstacles, which is the opening formed between the outlines of at least two obstacles, these Obstacles can exist isolated from each other; when the robot uses a line laser sensor to scan the surrounding environment, the two endpoints and 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 opening is The two endpoints are scanned into corresponding point clouds and converted to the corresponding raster of the raster map. In some embodiments, when the robot senses the surrounding environment through collision, whenever the robot's collision sensor contacts the two endpoints of the opening, the contour point of the obstacle or the positioning contour line segment mark that it collides with is to the corresponding grid of the grid map; an evaluation quantity is also introduced in some implementations to represent the gap formed by the robot between obstacles or its corresponding grid (the number of free grids between two endpoints) or its proportion within the opening width range), which can represent the passability probability at the corresponding grid area. Generally speaking, when a robot uses a ranging sensor to scan a gap, it is given a higher degree of credibility than the robot. Collisions are given confidence when detecting a gap because the positioning accuracy of the ranging sensor is higher than that resulting from physical contact with the robot.
在前述实施例中,机器人通过测距传感器采集点云数据,点云数据是配置为反射自测距传感器探测到的障碍物的位置信息,是一系列离散点的集合,会携带环境噪点(反馈其环境光干扰或障碍物表明材质的影响);机器人再将采集到的点云数据拟合处理为障碍物的轮廓线,以表示所探测到的障碍物的局部轮廓或该障碍物包络线;这里的拟合处理具体会先后经过排序、分组(以区分不同类型的障碍物)、筛选、分段插值拟合、再对每组连线各个拟合曲线坐标点,得到障碍物包络线或轮廓线,具体是拟合线段、拟合曲线及其组合,优选地,机器人控制前述拟合处理出来的轮廓线进行虚拟膨胀处理,其膨胀半径设定为机器人轮廓投影的内切圆的半径或外接圆的半径,形成包围该障碍物的拟合圆形,对应围出障碍物包络线,则前述所述定位轮廓线段是属于所述障碍物包络线。In the aforementioned embodiment, the robot collects point cloud data through the ranging sensor. The point cloud data is configured to reflect the position information of the obstacles detected by the ranging sensor. It is a collection of a series of discrete points and will carry environmental noise points (feedback The ambient light interference or the influence of the obstacle's material); the robot then fits the collected point cloud data into the outline of the obstacle to represent the local outline of the detected obstacle or the envelope of the obstacle. ; The fitting process here will specifically go through sorting, grouping (to distinguish different types of obstacles), filtering, piecewise interpolation fitting, and then fitting the curve coordinate points of each group of connections to obtain the obstacle envelope. Or a 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 virtual expansion processing, and its expansion radius is set to the radius of the inscribed circle of the robot contour projection. Or the radius of the circumscribed circle, forming a fitted circle surrounding the obstacle, corresponding to the obstacle envelope, then the aforementioned positioning contour line segment belongs to the obstacle envelope.
基于前述实施例,本发明还公开一种芯片,存储有程序代码,程序代码被执行时实现如前述实施例公开的步骤。所述的机器人通过窄道的导航方法的步骤对应的程序代码存储于一种芯片内时,被当成一种计算机程序产品,所述计算机程序可操作来使计算机执行如上述机器人通过窄道的导航方法实施例中记载的任一方法的部分或全部步骤。内部设置前述芯片的机器人在识别窄道口前后和进入窄道前方,机器人利用点云数据获得定位轮廓线段并搜索相关的绕障点,识别出宽度略大于机器人的机身宽度的窄道并确定其恰好能够进入该窄道且能够连续进入多个窄道口、通过该窄道且能够连续经过多个窄道,也便于实时规划出环境适应性更强、更加顺畅通行的导航路径。Based on the foregoing embodiments, the present invention also discloses a chip that stores program code. When the program code is executed, the steps disclosed in the foregoing embodiments are implemented. When the program code corresponding to the steps of the method for navigating a robot through a narrow passage is stored in a chip, it is regarded as a computer program product. The computer program is operable to cause the computer to perform the navigation of the robot through a narrow passage. Some or all steps of any method described in the method examples. The robot equipped with the aforementioned chip inside identifies the narrow passage before and after the intersection and before entering the narrow passage. The robot uses point cloud data to obtain the positioning contour line segment and searches for relevant obstacle avoidance points. It identifies the narrow passage with a width slightly larger than the robot's body width and determines its width. Being able to enter the narrow passage and continuously enter multiple narrow passages and pass through the narrow passage and continuously pass through multiple narrow passages will also facilitate real-time planning of a navigation path with stronger environmental adaptability and smoother traffic.
本发明还公开一种机器人,装配有距离传感器,所述机器人设置有所述的芯片,用于控制机器人使用距离传感器探测到障碍物的点云数据,并从点云数据中拟合对应的定位轮廓线段,便于通过执行所述导航方法机器人导航方法来通过窄道。机器人分别在开始识别窄道口之前、开始识别窄道口时、识别到窄道口前后、进入窄道之前以及进入窄道的对应阶段内,根据机器人与障碍物的碰撞情况以及对障碍物轮廓的拟合情况,调整机器人的行走方向,再在窄道内做直线行走,以趋向于行走向该预设目标位置;并基于机器人先后与两个障碍物的碰撞情况以及对各个障碍物轮廓的拟合情况识别窄道口,以区分开始识别窄道口之前、开始识别窄道口时、以及识别到窄道口这三种识别状态,进而推进机器人进入窄道以及再次进入窄道的进程。The invention also discloses a robot equipped with a distance sensor. The robot is equipped with the chip, which is used to control the robot to use the distance sensor to detect point cloud data of obstacles and fit the corresponding positioning from the point cloud data. Contour line segments facilitate the passage of narrow passages by executing the robot navigation method. Before the robot starts to recognize the narrow crossing, when it starts to recognize the narrow crossing, before and after recognizing the narrow crossing, before entering the narrow crossing, and in the corresponding stages of entering the narrow crossing, the robot determines the collision between the robot and the obstacle and the fitting of the outline of the obstacle. situation, adjust the walking direction of the robot, and then walk in a straight line in the narrow channel to tend to walk towards the preset target position; and identify based on the collision of the robot with two obstacles and the fitting of the contours of each obstacle. Narrow crossings are used to distinguish three recognition states before starting to recognize narrow crossings, when starting to recognize narrow crossings, and recognizing narrow crossings, thereby promoting the process of the robot entering and re-entering narrow crossings.
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。It should be noted that for the sake of simple description, the foregoing method embodiments are expressed as a series of action combinations. However, those skilled in the art should know that the present application is not limited by the described action sequence. Because in accordance with this application, certain steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily necessary for this application.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。In the above embodiments, each embodiment is described with its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed device can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or may be Integrated into another system, or some features can be ignored, or not implemented. On the other hand, the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, and the indirect coupling or communication connection of the devices or units may be in electrical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。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 they may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated units can be implemented in the form of hardware or software functional units.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable memory. Based on this understanding, the technical solution of the present application is essentially or contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a memory, It includes several instructions to cause a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application. The aforementioned memory includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。Those 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 relevant hardware through a program. The program can be stored in a computer-readable memory. The memory can include: a flash disk. , Read-Only Memory (ROM), Random Access Memory (RAM), magnetic disk or optical disk, etc.
以上对本申请一实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。An embodiment of the present application has been introduced in detail above. 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 those of ordinary skill in the art, there will be changes in the specific implementation and application scope based on the ideas of the present application. In summary, the content of this description should not be understood as a limitation of the present application.

Claims (14)

  1. 一种机器人通过窄道的导航方法,其特征在于,所述导航方法包括:A navigation method for a robot through a narrow passage, characterized in that the navigation method includes:
    步骤S1、在机器人进入窄道后,若机器人碰撞到障碍物,则针对该障碍物拟合出定位轮廓线段,再转动,直至机器人的当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度,以使机器人当前不被障碍物阻挡前行,再执行步骤S2;Step S1. After the robot enters the narrow passage, if the robot collides with an obstacle, it will fit a positioning contour segment to the obstacle, and then rotate until the current walking direction of the robot matches the preset positioning contour segment currently fitted. If the traffic direction is the same, or the current walking direction of the robot is deflected to the trafficable area by a preset angle relative to the currently fitted positioning contour line segment, so that the robot is not blocked by obstacles, then step S2 is executed;
    步骤S2、机器人按照当前行走方向直线行走,直至碰撞到障碍物,再执行步骤S1;当机器人行走至预设目标位置时,停止执行步骤S1,并确定机器人通过窄道。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, it stops executing step S1 and determines that the robot passes through the narrow passage.
  2. 根据权利要求1所述导航方法,其特征在于,在所述步骤S1中,机器人在其拟合出的定位轮廓线段当中,将相对于预设目标位置形成最短可通行路径的端点设置为该定位轮廓线段的目标端点,其中,该最短可通行路径是位于机器人所进入的窄道的可通行区域内;机器人将定位轮廓线段当中除了目标端点之外的端点指向目标端点的方向配置为该定位轮廓线段的预设通行方向。The navigation method according to claim 1, characterized in that, in the step S1, the robot sets the end point of the shortest accessible path relative to the preset target position among the positioning contour segments it fits as the positioning The target endpoint of the contour line segment, where the shortest passable path is located within the passable area of the narrow channel entered by the robot; the robot configures the positioning contour with the endpoints other than the target endpoint of the positioning contour line segment pointing in the direction of the target endpoint. The default travel direction of the line segment.
  3. 根据权利要求2所述导航方法,其特征在于,机器人将每个定位轮廓线段的目标端点所在的通道都配置为窄道;机器人将定位轮廓线段设置为窄道的边界线;The navigation method according to claim 2, characterized in that the robot configures the channel where the target endpoint of each positioning contour segment is located as a narrow channel; the robot sets the positioning contour segment as the boundary line of the narrow channel;
    每当机器人碰撞到新的障碍物,则针对该新的障碍物拟合出定位轮廓线段,再获取该新的障碍物的定位轮廓线段的目标端点,并将该目标端点所在的通道的开口识别为窄道口。Whenever the robot collides with a new obstacle, it will fit a positioning contour segment for the new obstacle, obtain the target endpoint of the positioning contour segment of the new obstacle, and identify the opening of the channel where the target endpoint is located. It is a narrow crossing.
  4. 根据权利要求2所述导航方法,其特征在于,在步骤S2中,在机器人行走至所述预设目标位置之前,若机器人识别到窄道口,则将该窄道口识别为该窄道的出口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度;然后机器人按照当前行走方向直线行走以离开窄道。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 crossing, it will identify the narrow crossing as the exit of the narrow crossing, Then the robot adjusts its current walking direction to the preset traffic direction of the currently fitted positioning contour line segment, or deflects it at a preset angle to the passable area relative to the currently fitted positioning contour line segment; then the robot follows the current walking direction in a straight line Walk to get out of the narrow path.
  5. 根据权利要求2所述导航方法,其特征在于,所述导航方法还包括:在机器人进入窄道之前,若机器人识别到窄道口,则将该窄道口识别为该窄道的入口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度;然后机器人按照当前行走方向直线行走以进入该窄道的入口,再执行步骤S1。The navigation method according to claim 2, characterized in that the navigation method further includes: before the robot enters the narrow passage, if the robot recognizes the narrow passage entrance, then the robot identifies the narrow crossing as the entrance of the narrow passage, and then the robot Its current walking direction is adjusted to the preset traffic direction of the currently fitted positioning contour line segment, or the current walking direction of the robot is deflected to the passable area by a preset angle relative to the currently fitted positioning contour line segment; then the robot walks according to the current Walk straight in the direction to enter the entrance of the narrow passage, and then perform step S1.
  6. 根据权利要求5所述导航方法,其特征在于,在机器人开始识别窄道口之前,若机器人碰撞到障碍物,则将该障碍物标记为机器人开始识别所述窄道口之前最新探测到的障碍物,再针对该障碍物拟合出定位轮廓线段,然后机器人将其当前行走方向调整为与当前拟合出的定位轮廓线段的预设通行方向相同,以使机器人沿着当前拟合出的定位轮廓线段行走,直至碰撞到新的障碍物并针对该新的障碍物拟合出对应的定位轮廓线段,再开始识别窄道口。The navigation method according to claim 5, characterized in that, before the robot starts to recognize the narrow crossing, if the robot collides with an obstacle, the obstacle is marked as the latest obstacle detected before the robot starts to recognize the narrow crossing, Then, a positioning contour segment is fitted to the obstacle, and then the robot adjusts its current walking direction to be the same as the preset direction of the currently fitted positioning contour segment, so that the robot follows the currently fitted positioning contour segment. Walk until you collide with a new obstacle and fit the corresponding positioning contour line segment for the new obstacle, and then start to identify the narrow intersection.
  7. 根据权利要求2所述导航方法,其特征在于,每当机器人转动至其当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或转动至其当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度时,机器人按照当前行走方向直线行走预设安全距离,并在直线行走的过程中检测是否碰撞到障碍物,是则执行步骤S1,否则确定机器人已经通过一条窄道,然后使用启发式搜索算法规划出通向所述预设目标位置的路径、或通向距离当前行走方向上所探测到的障碍物最近的位置的路径,再沿着当前规划出的的路径行走,直至机器人识别到另一条窄道的入口并进入该窄道,再执行所述步骤S1。The navigation method according to claim 2, characterized in that whenever the robot rotates to its current walking direction which is the same as the preset traveling direction of the currently fitted positioning contour segment, or when it rotates to its current walking direction which is relative to the current fitted positioning contour segment, When the positioning contour line segment deflects to the passable area by the preset angle, the robot walks straight in the current walking direction at a preset safe distance, and detects whether it collides with an obstacle during the straight walking. If so, step S1 is executed, otherwise Determine that the robot has passed through a narrow passage, and then use a heuristic search algorithm 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 follow The currently planned path is walked until the robot recognizes the entrance of another narrow lane and enters the narrow lane, and then executes step S1.
  8. 根据权利要求4至5任一项所述导航方法,其特征在于,机器人识别窄道口的方法包括:The navigation method according to any one of claims 4 to 5, characterized in that the method for the robot to identify a narrow crossing includes:
    机器人先对最新碰撞到的障碍物拟合出定位轮廓线段,然后机器人在该定位轮廓线段的搜索方向上提取出两个绕障点,若检测到该两个绕障点之间的距离处于预设距离范围,则将所述两个绕障点所在通道识别为窄道,并将该两个绕障点各自所在的障碍物之间形成的缺口识别为窄道口。The robot first fits the positioning contour segment to the latest obstacle it collides with, and then extracts two obstacle bypass points in the search direction of the positioning contour segment. If it is detected that the distance between the two obstacle bypass points is within the preset Assuming a 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 crossing.
  9. 根据权利要求8所述导航方法,其特征在于,在机器人识别到窄道口后,若检测到机器人的行走方向从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且机器人按照变化后的行走方向直线行走,则机器人识别为其进入窄道;The navigation method according to claim 8, characterized in that after the robot recognizes the narrow crossing, if it is detected that the walking direction of the robot changes from the reference obstacle bypassing direction to the preset passing direction or relative direction of the currently fitted positioning contour line segment, When the currently fitted positioning contour line segment is deflected to the passable area by the preset angle, and the robot walks in a straight line according to the changed walking direction, the robot recognizes that it has entered a narrow road;
    其中,所述变化后的行走方向是配置为由机器人的当前位置指向所述两个绕障点所在通道的内部的可通行区域的方向;Wherein, the changed walking direction is configured such that the current position of the robot points to the direction of the passable area inside the channel where the two obstacle bypass points are located;
    其中,参考绕障方向是上一次拟合出的定位轮廓线段的预设通行方向或相对于上一次拟合出的定位轮廓线段向可通行区域偏转所述预设角度;Wherein, the reference obstacle bypassing direction is the preset passing direction of the positioning contour line segment fitted last time or the preset angle deflected to the passable area relative to the positioning contour line segment fitted last time;
    其中,上一次拟合出的定位轮廓线段是在机器人开始识别窄道口之前,针对最新碰撞到的障碍物拟合出的定位轮廓线段。Among them, the last fitted positioning contour line segment is the positioning contour line segment fitted for the latest obstacle encountered before the robot starts to recognize the narrow crossing.
  10. 根据权利要求9所述导航方法,其特征在于,在开始识别窄道口之前,机器人碰撞到一个障碍物并拟合出对应的定位轮廓线段;然后,在机器人碰撞到另一个障碍物时开始识别窄道口;The navigation method according to claim 9, characterized in that, before starting to identify a narrow crossing, 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 crossing. crossing; crossing
    机器人针对在先碰撞到的一个障碍物拟合出的定位轮廓线段是所述上一次拟合出的定位轮廓线段,机器人针对在后碰撞到的一个障碍物拟合出的定位轮廓线段是所述当前拟合出的定位轮廓线段,使上一次拟合出的定位轮廓线段的预设通行方向与当前拟合出的定位轮廓线段的预设通行方向不同。The positioning contour line segment fitted by the robot for an obstacle it collided with previously is the positioning contour line segment fitted last time, and the positioning contour line segment fitted by the robot for an obstacle it collided with later is the positioning contour line segment fitted by the robot. The currently fitted positioning contour segment makes the preset traveling direction of the last fitted positioning contour segment different from the preset traveling direction of the currently fitted positioning contour segment.
  11. 根据权利要求10所述导航方法,其特征在于,机器人将所述定位轮廓线段的搜索方向设置为该定位轮廓线段的垂直方向,以形成所述两个绕障点所在通道的宽度方向;The navigation method according to claim 10, characterized in that the robot sets the search direction of the positioning contour line segment in the vertical direction of the positioning contour line segment to form the width direction of the channel where the two obstacle bypass points are located;
    所述两个绕障点沿着所述定位轮廓线段的搜索方向分布于:机器人开始识别窄道口之前最新碰撞到的障碍物中和机器人开始识别该窄道口时所碰撞到的障碍物中。The two obstacle bypass points are distributed along the search direction of the positioning contour line segment in: the latest obstacle that the robot collides with before it starts to recognize the narrow crossing, and the obstacle that the robot collides with when it starts to recognize the narrow crossing.
  12. 根据权利要求8所述导航方法,其特征在于,所述预设距离范围是设置为大于或等于机器人的机身宽度;预设安全距离是设置为等于机器人的机身宽度;The navigation method according to claim 8, 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 away from the obstacle it currently collides with, or around any end point of the positioning contour segment of the obstacle it currently collides with, so as to walk to a possible location connected to the preset target position. access area;
    所述最短可通行路径是机器人分别以定位轮廓线段的两个端点为搜索起点,使用启发式搜索算法规划出的通向所述预设目标位置的路径当中路径长度最短的一条路径。The shortest traversable path is the path with the shortest path length among the paths leading to the preset target position planned by the robot using a heuristic search algorithm using the two endpoints of the positioning contour line segment as the starting point of the search.
  13. 一种芯片,存储有程序代码,其特征在于,程序代码被执行时实现如权利要求1至12中任一项所述导航方法的步骤。A chip stores 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 12 are implemented.
  14. 一种机器人,装配有距离传感器,其特征在于,所述机器人设置权利要求13所述的芯片,用于控制机器人使用距离传感器探测到障碍物的点云数据,并从点云数据中拟合对应的定位轮廓线段,便于通过执行权利要求1至12中任一项所述导航方法机器人导航方法来通过窄道。A robot equipped with a distance sensor, characterized in that the robot is equipped with the chip according to claim 13 for controlling the robot to use the distance sensor to detect point cloud data of obstacles, and to fit the corresponding point cloud data from the point cloud data The positioning contour line segment facilitates passing through the narrow passage by executing the navigation method robot navigation method according to any one of claims 1 to 12.
PCT/CN2023/107352 2022-08-16 2023-07-14 Narrow passage navigation method for robot, chip, and robot WO2024037262A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210982509.5 2022-08-16
CN202210982509.5A CN117629205A (en) 2022-08-16 2022-08-16 Navigation method for robot to pass through narrow channel, chip and robot

Publications (1)

Publication Number Publication Date
WO2024037262A1 true WO2024037262A1 (en) 2024-02-22

Family

ID=89940674

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/107352 WO2024037262A1 (en) 2022-08-16 2023-07-14 Narrow passage navigation method for robot, chip, and robot

Country Status (2)

Country Link
CN (1) CN117629205A (en)
WO (1) WO2024037262A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110378919A (en) * 2019-06-14 2019-10-25 江苏裕兰信息科技有限公司 A kind of current obstacle detection method of the arrow path based on SLAM
CN113190007A (en) * 2021-05-08 2021-07-30 珠海市一微半导体有限公司 Map contour correction method, chip and mobile robot
CN113190010A (en) * 2021-05-08 2021-07-30 珠海市一微半导体有限公司 Edge obstacle-detouring path planning method, chip and robot
CN113219967A (en) * 2021-04-15 2021-08-06 上海岚豹智能科技有限公司 Method and equipment for mobile robot to pass through narrow road
US20210252707A1 (en) * 2020-02-19 2021-08-19 Fanuc Corporation Collision avoidance motion planning method for industrial robot
CN114326711A (en) * 2021-12-03 2022-04-12 云鲸智能(深圳)有限公司 Narrow passage passing method, device, robot and computer readable storage medium
CN114661054A (en) * 2022-04-15 2022-06-24 浙江大学 Mobile robot path planning and optimizing method based on image processing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110378919A (en) * 2019-06-14 2019-10-25 江苏裕兰信息科技有限公司 A kind of current obstacle detection method of the arrow path based on SLAM
US20210252707A1 (en) * 2020-02-19 2021-08-19 Fanuc Corporation Collision avoidance motion planning method for industrial robot
CN113219967A (en) * 2021-04-15 2021-08-06 上海岚豹智能科技有限公司 Method and equipment for mobile robot to pass through narrow road
CN113190007A (en) * 2021-05-08 2021-07-30 珠海市一微半导体有限公司 Map contour correction method, chip and mobile robot
CN113190010A (en) * 2021-05-08 2021-07-30 珠海市一微半导体有限公司 Edge obstacle-detouring path planning method, chip and robot
CN114326711A (en) * 2021-12-03 2022-04-12 云鲸智能(深圳)有限公司 Narrow passage passing method, device, robot and computer readable storage medium
CN114661054A (en) * 2022-04-15 2022-06-24 浙江大学 Mobile robot path planning and optimizing method based on image processing

Also Published As

Publication number Publication date
CN117629205A (en) 2024-03-01

Similar Documents

Publication Publication Date Title
CN110262518B (en) Vehicle navigation method, system and medium based on track topological map and obstacle avoidance
CN111830970B (en) Regional cleaning planning method for robot walking along edge, chip and robot
CN111857127B (en) Clean partition planning method for robot walking along edge, chip and robot
CN109984689B (en) Cleaning robot and path optimization method thereof
CN112327878B (en) Obstacle classification and obstacle avoidance control method based on TOF camera
CN113190010B (en) Edge obstacle detouring path planning method, chip and robot
JPH05257533A (en) Method and device for sweeping floor surface by moving robot
CN113110497A (en) Navigation path-based edge obstacle-detouring path selection method, chip and robot
CN113741438A (en) Path planning method and device, storage medium, chip and robot
US11519737B2 (en) Path planning within a traversed area
CN110879596A (en) Autonomous operation system and autonomous operation method of low-cost automatic mower
CN112445212A (en) Path planning method, system, robot and readable storage medium
CN111897335A (en) Obstacle avoidance control method and control system for robot walking in Chinese character' gong
US20220101534A1 (en) Sidewalk edge finder device, system and method
CN112393737A (en) Obstacle map creation method, obstacle map creation system, robot, and readable storage medium
CN112327879A (en) Edge obstacle avoidance method based on depth information
CN115268443A (en) Robot obstacle avoidance path planning method
WO2024037262A1 (en) Narrow passage navigation method for robot, chip, and robot
US11795719B1 (en) Control method of an underwater robot based on ultrasonic radar, underwater robot and non-volatile storage medium
Varga et al. Developing an autonomous valet parking system in simulated environment
CN111240322A (en) Method for determining working starting point of robot movement limiting frame and motion control method
US20220100197A1 (en) Self-propelled device and method for controlling the same
Gao et al. Design and Implementation of an Autonomous Driving Delivery Robot
CN117666547A (en) Recognition method for entering narrow channel of robot, chip and robot
Dong et al. Path Planning Research for Outdoor Mobile Robot

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23854167

Country of ref document: EP

Kind code of ref document: A1