Path planning method and apparatus, and device and storage medium

By utilizing spatial feature information in the robotic system to determine the passage detection results of parallel roads, and controlling the robot to select an appropriate driving strategy, the problem of the robot being unable to reach its destination due to obstacles is solved, thus improving driving efficiency and stability.

WO2026032012A1PCT designated stage Publication Date: 2026-02-12HANGZHOU HIKROBOT TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/109787
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-09
Filing Date
2025-07-22
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

The robot may be blocked by obstacles during its journey, preventing it from reaching its original destination. This is especially true when changing lanes, where it may fail to reach its intended target.

Method used

Based on the spatial feature information of the second robot and the third robot on the parallel road, the passage detection results of the parallel road are determined, and the first robot is controlled to choose to wait or switch to the parallel road to avoid being blocked.

Benefits of technology

It improves the robot's driving efficiency, avoids the risk of being unable to reach the original destination due to obstacles, and enhances the stability and efficiency of path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025109787_12022026_PF_FP_ABST
    Figure CN2025109787_12022026_PF_FP_ABST
Patent Text Reader

Abstract

A path planning method and apparatus, and a device and a storage medium. The method comprises: when the road ahead on the current path of a first robot is blocked by a second robot, on the basis of spatial feature information of the second robot and spatial feature information of a third robot on a parallel road of the road ahead, determining a passability detection result of the parallel road (S201), wherein the passability detection result is used for indicating whether the parallel road is passable; and controlling the first robot to execute a traveling policy corresponding to the passability detection result (S202), wherein the traveling policy comprises waiting until the road ahead is passable or switching to the parallel road for travelling, thus effectively avoiding the problem of a robot being prone to failing to travel to an original destination when changing a lane for travelling.
Need to check novelty before this filing date? Find Prior Art

Description

Path planning method and device, equipment and storage medium

[0001] The present application claims priority to Chinese Patent Application No. 202411099189.4, filed on August 9, 2024, entitled "Path planning method, device, equipment and storage medium" and Chinese Patent Application No. 202411095983.1, filed on August 9, 2024, entitled "Path planning method, device, equipment and storage medium", the contents of which are incorporated herein by reference in their entirety. TECHNICAL FIELD

[0002] The present application relates to the technical field of intelligent control, in particular to a path planning method, device, equipment and storage medium. BACKGROUND

[0003] At present, in scenarios such as warehouses and industrial plants, robots can be used to automatically transport materials. However, the robot may be blocked by an obstacle during driving and need to change lanes to avoid the blockage. Moreover, the robot may face new obstacles during lane changing, which can easily lead to the problem of being unable to drive to the original destination. SUMMARY

[0004] Embodiments of the present application provide a path planning method, device, equipment and storage medium, at least for effectively avoiding the problem that the robot cannot drive to the original destination when changing lanes.

[0005] To achieve the above-mentioned purpose, the embodiments of the present application provide the following technical solutions:

[0006] In a first aspect, a path planning method is provided, comprising: in a case where a front road of a first robot's current path is blocked by a second robot, determining a pass detection result of a parallel road of the front road based on spatial feature information of the second robot and a third robot on the parallel road; the pass detection result is used to indicate whether the parallel road is passable; controlling the first robot to execute a driving strategy corresponding to the pass detection result; the driving strategy includes waiting to pass the front road or switching to drive on the parallel road.

[0007] In the technical solution, in the case that the road in front of the current path of the first robot is blocked, the space feature information of the robot on the front road and the parallel road can be used to accurately determine whether the parallel road is passable. Furthermore, if it is determined that the parallel road is passable, the server can control the first robot to drive to the end point of the current path through the parallel road to avoid the blockage caused by the second robot and improve the driving efficiency. If the passable detection result indicates that the parallel road is not passable, the server can control the first robot to wait to drive to the end point of the current path through the front road, so as to avoid being blocked after switching to the parallel road of the front road. Therefore, the application can be used to effectively avoid the problem that the robot cannot drive to the original destination when changing lanes.

[0008] In a possible embodiment, the space feature information includes at least one of the following: the device size and position of the second robot, the state and position of the third robot; the state of the third robot includes a stop state and a driving state; the method for determining the passable detection result of the parallel road based on the space feature information of the second robot and the third robot on the parallel road of the front road specifically includes: determining the lane-changing path information of the first robot based on the position and device size of the second robot and the device size of the first robot; the lane-changing path information is used to indicate the path planning information of the first robot on the parallel road; determining the passable detection result of the parallel road based on the lane-changing path information, the position and state of the third robot.

[0009] In a possible embodiment, the lane-changing path information includes at least one of the following: the parallel distance of the first robot relative to the second robot when the first robot is in the parallel driving position of the second robot, the lane-changing overtaking interval of the first robot on the parallel road, and the lane-changing path planning result; the method for determining the lane-changing path information of the first robot based on the position and device size of the second robot and the device size of the first robot specifically includes: determining the parallel distance based on the device width of the second robot, the device width of the first robot, and the position interval between the parallel driving position and the position of the second robot; determining the lane-changing overtaking interval based on the position of the second robot and the device length of the first robot; the start end of the lane-changing overtaking interval is located at a position that is a first safety distance before the position of the second robot, and the end of the lane-changing overtaking interval is located at a position that is a first safety distance after the position of the second robot; the first safety distance is determined based on the device length of the first robot; determining the lane-changing end position of the first robot on the parallel road based on the device length and position of the second robot and the device length of the first robot, and determining the lane-changing path planning result based on the lane-changing end position; the lane-changing path planning result is used to indicate whether the lane-changing end position is drivable to the end point of the current path.

[0010] In a possible embodiment, the method for determining the passing detection result of the parallel road based on the post-lane-changing path information, the position and state of the third robot, specifically comprises: determining that the passing detection result is that the parallel road is passable in the case that the parallel distance is greater than or equal to the second safety distance, and / or there is no third robot in the stop state in the lane-changing overtaking interval, and / or the post-lane-changing path planning result indicates that it is possible to drive from the lane-changing end position to the end point of the current path; determining that the passing detection result is that the parallel road is impassable in the case that the parallel distance is less than the second safety distance, and / or there is a third robot in the stop state in the lane-changing overtaking interval, and / or the post-lane-changing path planning result indicates that it is not possible to drive from the lane-changing end position to the end point of the current path.

[0011] In a possible embodiment, in the case that the driving strategy is to switch to driving on the parallel road, the method for controlling the first robot to execute the driving strategy corresponding to the passing detection result, specifically comprises: planning a post-lane-changing path based on the spatial feature information of the second robot; in the case that the parallel road is applied by the fourth robot, controlling the first robot to drive to the end point of the current path according to the post-lane-changing path after the fourth robot drives away from the parallel road, and adjusting the parallel road to be in the forbidden entry state during the waiting of the first robot, to prohibit the robots that do not apply for using the parallel road from driving into the parallel road; in the case that the parallel road is not applied, controlling the first robot to drive to the end point of the current path according to the post-lane-changing path.

[0012] In a possible embodiment, the spatial feature information of the second robot comprises the device length and position of the second robot; the method for planning the post-lane-changing path based on the spatial feature information of the second robot, specifically comprises: determining the lane-changing start position on the front road and the lane-changing end position on the parallel road based on the device length and position of the second robot and the device length of the first robot; determining the post-lane-changing path for driving to the end point of the current path based on the lane-changing end position on the parallel road.

[0013] In a possible embodiment, before determining the passing detection result of the parallel road based on the spatial feature information of the second robot and the third robot on the parallel road of the front road, the method further comprises: obtaining the end point of the path driven by the second robot and / or the remaining width on both sides of the second robot; the remaining width on both sides of the second robot comprises the road width remaining on the left side of the second robot and the road width remaining on the right side of the second robot; determining whether to change lanes based on the size relationship between the distance between the end point of the path driven by the second robot and the end point of the current path and the preset distance, and / or the size relationship between the remaining width on both sides of the second robot and the device width of the first robot.

[0014] In a second aspect, a path planning apparatus is provided, comprising: a processing unit and a control unit; the processing unit is configured to determine a passability detection result of a parallel road based on spatial feature information of a second robot and a third robot on the parallel road in a case that a front road of a current path of a first robot is blocked by the second robot; the passability detection result is used to indicate whether the parallel road is passable; and the control unit is configured to control the first robot to execute a driving strategy corresponding to the passability detection result; the driving strategy comprises waiting to pass the front road or switching to drive on the parallel road.

[0015] In a possible implementation, the spatial feature information comprises at least one of: a device size and a position of the second robot, a state and a position of the third robot; the state of the third robot comprises a stop state and a driving state; and the processing unit is specifically configured to: determine post-lane-changing path information of the first robot based on the position and the device size of the second robot, and a device size of the first robot; the post-lane-changing path information is used to indicate path planning information of the first robot on the parallel road; and determine the passability detection result of the parallel road based on the post-lane-changing path information, the position and the state of the third robot.

[0016] In a possible implementation, the post-lane-changing path information comprises at least one of: a parallel distance of the first robot relative to the second robot when the first robot is in a parallel driving position of the second robot, a lane-changing and overtaking interval of the first robot on the parallel road, and a post-lane-changing path planning result; and the processing unit is specifically configured to: determine the parallel distance based on a device width of the second robot, a device width of the first robot, and a position distance between the parallel driving position and the position of the second robot; determine the lane-changing and overtaking interval based on the position of the second robot and a device length of the first robot; a start end of the lane-changing and overtaking interval is located at a position that is a first safety distance before the position of the second robot, and an end of the lane-changing and overtaking interval is located at a position that is the first safety distance after the position of the second robot; the first safety distance is determined based on the device length of the first robot; determine a lane-changing end position of the first robot on the parallel road based on the device length and the position of the second robot and the device length of the first robot, and determine the post-lane-changing path planning result based on the lane-changing end position; and the post-lane-changing path planning result is used to indicate whether the lane-changing end position is drivable to an end point of the current path.

[0017] In a possible embodiment, the processing unit is specifically configured to: determine that the passing detection result is that the parallel road is passable in a case that the parallel distance is greater than or equal to the second safety distance, and / or there is no third robot in a state of a stop driving state in the overtaking section, and / or the path planning result after the lane change indicates that it is possible to drive from the lane change end position to the end point of the current path; and determine that the passing detection result is that the parallel road is impassable in a case that the parallel distance is less than the second safety distance, and / or there is a third robot in a state of a stop driving state in the overtaking section, and / or the path planning result after the lane change indicates that it is not possible to drive from the lane change end position to the end point of the current path.

[0018] In a possible embodiment, the control unit is specifically configured to: plan a path after the lane change based on the spatial feature information of the second robot; in a case that the parallel road is applied for use by the fourth robot, control the first robot to drive to the end point of the current path according to the path after the lane change after the fourth robot drives away from the parallel road, and adjust the parallel road to be in a forbidden driving-in state during the waiting of the first robot, to prohibit robots that do not apply for use of the parallel road from driving into the parallel road; and in a case that the parallel road is not applied for use, control the first robot to drive to the end point of the current path according to the path after the lane change.

[0019] In a possible embodiment, the spatial feature information of the second robot includes a device length and a position of the second robot; and the control unit is specifically configured to: determine the lane change start position on the front road and the lane change end position on the parallel road based on the device length and the position of the second robot and the device length of the first robot; and determine the path after the lane change to drive to the end point of the current path based on the lane change end position on the parallel road.

[0020] In a possible embodiment, the apparatus further includes an acquisition unit; and the acquisition unit is configured to acquire an end point of a path driven by the second robot and / or a remaining width on both sides of the second robot; the remaining width on both sides of the second robot includes a remaining road width on a left side of the second robot and a remaining road width on a right side of the second robot; and the processing unit is further configured to determine whether to change lanes based on a size relationship between a distance between the end point of the path driven by the second robot and the end point of the current path and a preset distance and / or a size relationship between the remaining width on both sides of the second robot and a device width of the first robot.

[0021] In a third aspect, a server is provided, including a processor and a memory. The processor is connected with the memory, and the memory is configured to store computer execution instructions, and the processor executes the computer execution instructions stored in the memory, so as to implement any one of the methods provided in the first aspect.

[0022] In a fourth aspect, a readable storage medium is provided, including computer-executable instructions, which, when executed on a server, cause the server to perform any of the methods provided in the first aspect.

[0023] In a fifth aspect, a computer program product including instructions is provided, which, when executed on a server, cause the server to perform any of the methods provided in the first aspect.

[0024] The technical effects brought by any of the implementation manners of the second aspect to the fifth aspect can be referred to the technical effects brought by the corresponding implementation manners in the first aspect, which will not be described here.

[0025] In a sixth aspect, a path planning method is provided, including: in a case where a current path of a robot is blocked by a front obstacle, obtaining a plurality of detour paths for detouring the front obstacle; start and end positions of the detour paths are on the current path; determining a detour path planning result based on respective corresponding travel space information of the plurality of detour paths; the travel space information is used to indicate a positional relationship of the robot relative to surrounding objects when the robot travels according to the detour path; the detour path planning result is used to indicate a target detour path allowing the robot to detour the front obstacle, or to indicate that there is no target detour path; controlling the robot to perform a travel strategy corresponding to the detour path planning result; the travel strategy includes traveling according to the target detour path to detour the front obstacle, or waiting on the current path.

[0026] In this technical solution, after obtaining a plurality of detour paths for detouring the front obstacle, whether there is a target detour path allowing the robot to detour the front obstacle can be accurately determined based on the distance of the robot relative to the surrounding objects when the robot travels according to each detour path. Further, in a case where there is a target detour path allowing the robot to detour the front obstacle, the robot can be controlled to travel according to the target detour path to detour the front obstacle, improving travel efficiency and reducing the risk of collision with the obstacle. Alternatively, in a case where there is no target detour path allowing the robot to detour the front obstacle, the robot can be controlled to wait on the current path to avoid the problem of being unable to return to the current path when detouring the front obstacle. Therefore, the present application can be used to support effective path planning when the robot is blocked by an obstacle, reduce the risk of collision between the robot and the obstacle, and improve the stability of the robot during travel.

[0027] In a possible embodiment, the travel space information includes at least one of the following: a first distance between the space occupied by the robot and an edge of a road involved in the detour path, a second distance between the space occupied by the robot and the space occupied by the front obstacle when the robot is parallel to the front obstacle; the method for determining the detour path planning result based on the travel space information corresponding to each of the plurality of detour paths specifically includes: in the case where the first distance corresponding to each of the plurality of detour paths is less than or equal to a first distance, determining that there is no target detour path; in the case where there is at least one candidate detour path with a first distance greater than the first distance in the plurality of detour paths, determining the target detour path based on the second distance corresponding to each of the candidate detour paths; when the second distance corresponding to the candidate detour path is less than or equal to a second distance, the probability that the candidate detour path is determined as the target detour path is positively correlated with the second distance corresponding to the candidate detour path; when the second distance corresponding to the candidate detour path is greater than the second distance, the probability that the candidate detour path is determined as the target detour path is negatively correlated with the second distance corresponding to the candidate detour path.

[0028] In a possible embodiment, the travel space information further includes at least one of the following: a third distance between the space occupied by the robot and the space occupied by another obstacle around the detour path, a fourth distance between the space occupied by the robot and the space occupied by another robot passing through the detour path; the method for determining the detour path planning result based on the travel space information corresponding to each of the plurality of detour paths specifically includes: in the case where the third distance corresponding to each of the at least one candidate detour path is less than or equal to a first distance, determining that there is no target detour path; in the case where there is at least one candidate detour path with a first distance greater than the first distance and a third distance greater than the first distance in the plurality of detour paths, determining the target detour path based on the second distance and the fourth distance corresponding to each of the candidate detour paths; the probability that the candidate detour path is determined as the target detour path is negatively correlated with the fourth distance corresponding to the candidate detour path.

[0029] In a possible embodiment, before the plurality of detour paths around the front obstacle are obtained, the method further includes: obtaining identification information of a front road on a current path; the identification information includes at least one of the following: a position of the front obstacle, a number of obstacles with a distance less than or equal to a third distance relative to the front obstacle, and a state of a path behind the front obstacle on the current path; the state of the path includes a passing state or a congested state; based on the identification information of the front road, it is determined whether the detour condition is met; the detour condition includes at least one of the following: the distance between the position of the front obstacle and the end of the current path is greater than a fourth distance, the number of obstacles is less than or equal to a preset number, and the state of the path is the passing state.

[0030] In a possible embodiment, the method for obtaining the multiple detour paths around the front obstacle includes: determining the start position and the end position for detouring around the front obstacle based on the length of the robot and the length and position of the front obstacle; the start position is the current position of the robot or the interval between the start position and the position of the front obstacle is equal to the weighted sum of the length of the robot and the length of the front obstacle; the interval between the end position and the position of the front obstacle is equal to the weighted sum of the length of the robot and the length of the front obstacle; determining the multiple detour paths from the start position to the end position by detouring around the side of the front obstacle; the detour paths include a sub-path from the start position to a first intermediate position, a sub-path from the first intermediate position to a second intermediate position, and a sub-path from the second intermediate position to the end position; the first intermediate position is between the start position and the position of the front obstacle, and the second intermediate position is between the position of the front obstacle and the end position; the first intermediate positions of the sub-paths included in different detour paths are different, and / or the second intermediate positions of the sub-paths included in different detour paths are different.

[0031] In a possible embodiment, when the interval between the start position and the position of the front obstacle is greater than the length of the robot, the sub-path from the start position to the first intermediate position is a curved path; when the interval between the start position and the position of the front obstacle is less than or equal to the length of the robot, the sub-path from the start position to the first intermediate position is a straight path.

[0032] In a possible embodiment, when the travel strategy is to travel along the target detour path to bypass the front obstacle, the method for controlling the robot to execute the travel strategy corresponding to the detour path planning result includes: when the target detour path conflicts with the travel path of another robot, controlling the robot to wait for the other robot to drive away from the target detour path and then travel along the target detour path, so that the robot continues to travel along the current path after bypassing the front obstacle, and adjusting the target detour path to be in a forbidden driving-in state during the waiting of the robot, to prohibit other robots that do not conflict with the target detour path from driving into the target detour path; when the target detour path does not conflict with the travel path of another robot, controlling the robot to travel along the target detour path, so that the robot continues to travel along the current path after bypassing the front obstacle.

[0033] In a seventh aspect, a path planning apparatus is provided, which includes an obtaining unit, a processing unit, and a control unit.

[0034] The obtaining unit is configured to, when the current path of the robot is blocked by a front obstacle, obtain multiple detour paths around the front obstacle; the start position and the end position of the detour paths are on the current path.

[0035] The processing unit is configured to determine a bypass path planning result based on the travel space information corresponding to each of the bypass paths, wherein the travel space information is used to indicate a positional relationship of the robot relative to the surrounding objects when the robot travels along the bypass path, and the bypass path planning result is used to indicate a target bypass path that allows the robot to bypass the front obstacle, or is used to indicate that there is no target bypass path.

[0036] The control unit is configured to control the robot to perform a travel strategy corresponding to the bypass path planning result, wherein the travel strategy comprises traveling along the target bypass path to bypass the front obstacle, or waiting on the current path.

[0037] In a possible embodiment, the travel space information comprises at least one of the following: a first distance between the space occupied by the robot and an edge of a road involved in the bypass path, and a second distance between the space occupied by the robot and the space occupied by the front obstacle when the robot travels in parallel with the front obstacle; and the processing unit is specifically configured to: in a case where the first distance corresponding to each of the bypass paths is less than or equal to a first distance, determine that there is no target bypass path; in a case where there is at least one candidate bypass path with a first distance greater than the first distance among the bypass paths, determine the target bypass path based on the second distance corresponding to each of the candidate bypass paths; when the second distance corresponding to a candidate bypass path is less than or equal to a second distance, a probability that the candidate bypass path is determined as the target bypass path is positively correlated with the second distance corresponding to the candidate bypass path; and when the second distance corresponding to the candidate bypass path is greater than the second distance, the probability that the candidate bypass path is determined as the target bypass path is negatively correlated with the second distance corresponding to the candidate bypass path.

[0038] In a possible embodiment, the travel space information further comprises at least one of the following: a third distance between the space occupied by the robot and the space occupied by other obstacles around the bypass path, and a fourth distance between the space occupied by the robot and the space occupied by other robots traveling along the bypass path; and the processing unit is specifically configured to: in a case where the third distance corresponding to each of the at least one candidate bypass path is less than or equal to a first distance, determine that there is no target bypass path; in a case where there is at least one candidate bypass path with a first distance greater than the first distance and a third distance greater than the first distance among the bypass paths, determine the target bypass path based on the second distance and the fourth distance corresponding to each of the candidate bypass paths; and the probability that the candidate bypass path is determined as the target bypass path is negatively correlated with the fourth distance corresponding to the candidate bypass path.

[0039] In a possible embodiment, the acquisition unit is further configured to acquire identification information of the road ahead on the current path, the identification information comprising at least one of the following: a position of the front obstacle, a number of obstacles with a distance to the front obstacle less than or equal to a third distance, and a state of the path behind the front obstacle on the current path; the state of the path comprises a passing state or a congestion state; and the processing unit is further configured to determine whether the detour condition is met based on the identification information of the road ahead, the detour condition comprising at least one of the following: the position of the front obstacle is at a distance greater than a fourth distance from an end point of the current path, the number of obstacles is less than or equal to a preset number, and the state of the path is the passing state.

[0040] In a possible embodiment, the acquisition unit is specifically configured to: determine a start position and an end position for detouring the front obstacle based on a length of the robot and a length and a position of the front obstacle; the start position is a current position of the robot, or the start position is at a distance from the position of the front obstacle equal to a weighted sum of the length of the robot and the length of the front obstacle; the end position is at a distance from the position of the front obstacle equal to the weighted sum of the length of the robot and the length of the front obstacle; determine a plurality of detour paths from the start position to the end position via the side of the front obstacle; the detour paths comprise a sub-path from the start position to a first intermediate position, a sub-path from the first intermediate position to a second intermediate position, and a sub-path from the second intermediate position to the end position; the first intermediate position is between the start position and the position of the front obstacle, and the second intermediate position is between the position of the front obstacle and the end position; the first intermediate positions and / or the second intermediate positions of the sub-paths included in different detour paths are different.

[0041] In a possible embodiment, when the start position is at a distance greater than the length of the robot from the position of the front obstacle, the sub-path from the start position to the first intermediate position is a curved path; and when the start position is at a distance less than or equal to the length of the robot from the position of the front obstacle, the sub-path from the start position to the first intermediate position is a straight path.

[0042] In a possible implementation, the control unit is specifically configured to: in a case where the target bypass path conflicts with the driving path of the other robot, control the robot to wait for the other robot to drive away from the target bypass path and then drive according to the target bypass path, so that the robot continues to drive according to the current path after bypassing the front obstacle, and adjust the target bypass path to be in the forbidden driving-in state during the waiting of the robot, so as to prohibit the other robot, which does not conflict with the target bypass path, from driving into the target bypass path; in a case where the target bypass path does not conflict with the driving path of the other robot, control the robot to drive according to the target bypass path, so that the robot continues to drive according to the current path after bypassing the front obstacle.

[0043] In an eighth aspect, a server is provided, including a processor and a memory. The processor is connected with the memory, and the memory is configured to store computer-executed instructions. The processor executes the computer-executed instructions stored in the memory, so as to implement any one of the methods provided in the sixth aspect.

[0044] In a ninth aspect, a readable storage medium is provided, including computer-executed instructions. When the computer-executed instructions run on a server, the server executes any one of the methods provided in the sixth aspect.

[0045] In a tenth aspect, a computer program product including instructions is provided, including computer-executed instructions. When the computer-executed instructions run on a server, the server executes any one of the methods provided in the sixth aspect.

[0046] The technical effects brought by any one of the implementation manners in the seventh aspect to the tenth aspect can refer to the technical effects brought by the corresponding implementation manners in the sixth aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS

[0047] The accompanying drawings, which are included to provide a further understanding of the application, illustrate embodiments of the application and together with the description serve to explain the application. The drawings are not intended to be an undue limitation on the application, and it is to be understood that the drawings are for illustration only.

[0048] FIG. 1 is a structural schematic diagram of an electronic device according to an embodiment of the present application;

[0049] FIG. 2 is a flowchart of a path planning method according to an embodiment of the present application;

[0050] FIG. 3 is a schematic diagram of a path scenario according to an embodiment of the present application;

[0051] FIG. 4 is a schematic diagram of another path scenario according to an embodiment of the present application;

[0052] FIG. 5 is a schematic diagram of another path scenario according to an embodiment of the present application;

[0053] FIG. 6 is a flow diagram of another path planning method according to an embodiment of the present application;

[0054] FIG. 7 is a diagram of another path scenario according to an embodiment of the present application;

[0055] FIG. 8 is a diagram of a path planning device according to an embodiment of the present application;

[0056] FIG. 9 is a flow diagram of another path planning method according to an embodiment of the present application;

[0057] FIG. 10 is a diagram of another path scenario according to an embodiment of the present application;

[0058] FIG. 11 is a diagram of another path scenario according to an embodiment of the present application;

[0059] FIG. 12 is a diagram of another path scenario according to an embodiment of the present application;

[0060] FIG. 13 is a diagram of another path scenario according to an embodiment of the present application;

[0061] FIG. 14 is a flow diagram of another path planning method according to an embodiment of the present application;

[0062] FIG. 15 is a diagram of another path planning device according to an embodiment of the present application. DETAILED DESCRIPTION

[0063] To make the objectives, technical solutions, and advantages of the present application clearer, further detailed descriptions will be made to the present application with reference to the accompanying drawings and embodiments. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art belong to the scope of protection of the present application.

[0064] In the description of the present application, unless otherwise specified, " / " means "or", for example, A / B can mean A or B. "And / or" in the present application is only a description of the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which can mean that A exists alone, A and B exist together, and B exists alone. In addition, "at least one" means one or more, and "multiple" means two or more. "First", "second", and the like do not limit the quantity and execution order, and "first", "second", and the like do not necessarily mean different.

[0065] It should be noted that the words "exemplary" or "for example" in this application are used to mean an example or illustration. Any embodiment or design presented as "exemplary" or "for example" in this application should not be interpreted as being more advantageous or superior to other embodiments or designs. Rather, the use of "exemplary" or "for example" is intended to present related concepts in a concrete manner.

[0066] Firstly, the application scenario involved in this application is briefly introduced.

[0067] Currently, robots can realize autonomous driving through autonomous path planning and other functions, complete automatic material handling, etc. And when the robot detects an obstacle blocking during driving, and the blocking duration reaches the set duration, it can plan a detour path to bypass the obstacle.

[0068] However, the robot may face new obstacle blocking and trigger new lane changing planning during lane changing, which can easily lead to the problem of not being able to drive to the original destination. Moreover, the robot generally plans a path based on a topological map, but the topological map usually does not include road width information, etc., making it difficult to effectively support the identification of whether it can bypass the obstacle on the side, and easily leading to the problem of bypassing a long road or identifying that the obstacle cannot be bypassed.

[0069] Next, the implementation environment (implementation architecture) involved in this application is briefly introduced.

[0070] The embodiment of the present application provides a path planning method, which can be applied to the device of a robot system.

[0071] Optionally, a server for central scheduling can be deployed in the robot system, or a server for central scheduling can not be deployed.

[0072] In the case that a server for central scheduling is deployed in the robot system, the robot system can include multiple robots and the server. In this case, the device that executes the path planning method provided by the embodiment of the present application can be the server. The server can establish a connection with each robot in the robot system to obtain the size information of each robot, as well as the position information, obstacle information, etc. measured by each robot. Moreover, the server can also be used to manage the use state of resources such as roads and charging piles, etc. Furthermore, the server can plan the driving path of each robot based on the information measured by the robot and the use state of the resources, etc., and instruct the robot to drive according to the planned path through interaction with the robot.

[0073] In the case where no central scheduling device is deployed in the robot system, the robot system can include a plurality of robots. In this case, the device performing the path planning method provided by the embodiments of the present application can be any one of the plurality of robots. Different robots in the robot system can establish a connection directly. For example, different robots can establish a connection through a communication protocol such as ZigBee or Bluetooth. In this case, the robots can interact through broadcasting or the like to achieve sharing of information such as position, size, and travel path, and negotiation of use of roads, charging piles, and other resources.

[0074] For ease of understanding, the embodiments of the present application take the server performing the path planning method as an example for description. It should be understood that when the robot performs the path planning method, the specific implementation logic can be understood with reference to the process of the server performing the path planning method.

[0075] Optionally, the server can be a separate physical or logical server, or can also be a server cluster. The server cluster can achieve the functions of the server through two or more physical or logical servers sharing different responsibilities and cooperating with each other. Optionally, the server cluster can also be referred to as a cluster of computing devices. In some embodiments, the server cluster can also be a distributed cluster. The form of the server is not limited in the present application.

[0076] The robot can be a device with functions such as environment perception, obstacle avoidance, and path planning, and can realize autonomous movement. The specific form of the robot is not limited in the embodiments of the present application. For example, the robot can be an intelligent sweeping robot, an intelligent car, a material handling robot, or the like.

[0077] Optionally, the robot can be configured with a sensor. The sensor can obtain information such as the travel speed, travel direction, and distance from surrounding objects of the robot. Exemplarily, the sensor can include a vision sensor, a gyroscope sensor, a speed sensor, an acceleration sensor, a distance sensor, and the like.

[0078] The vision sensor can be a monocular camera or a binocular camera, and is used to collect images of the environment around the robot.

[0079] The gyroscope sensor can be used to determine the motion posture of the robot. In some embodiments, the angular velocity of the robot around three axes (i.e., x, y, and z axes) can be determined through the gyroscope sensor. The gyroscope sensor can also be used for navigation, to determine whether the robot is blocked, and the like.

[0080] The speed sensor is used to measure the speed of the robot. In some embodiments, the robot measures the speed at the current time through the speed sensor, which can be combined with the distance sensor to predict the environment of the robot at the next time.

[0081] The acceleration sensor can detect the magnitude of the acceleration of the robot in each direction (generally three axes). When the robot is stationary, the magnitude and direction of gravity can be detected.

[0082] The distance sensor is used to measure the distance between the robot and the surrounding objects, etc. For example, the distance sensor can be an infrared distance sensor, a laser distance sensor, an ultrasonic distance sensor, etc.

[0083] In hardware implementation, the server or robot described above can be implemented by an electronic device as shown in FIG. 1. As shown in FIG. 1, it is a structural schematic diagram of an electronic device 10 provided by an embodiment of the present application. The electronic device 10 can be used to implement the functions of the server or robot described above.

[0084] The electronic device 10 shown in FIG. 1 can include a processor 101, a memory 102, a communication interface 103 and a bus 104. The processor 101, the memory 102 and the communication interface 103 can be connected through the bus 104.

[0085] The processor 101 is the control center of the electronic device 10, which can be a general central processing unit (CPU), or other general-purpose processors, etc. Among them, the general-purpose processor can be a microprocessor or any conventional processor, etc.

[0086] As an example, the processor 101 can include one or more CPUs, such as CPU 0 and CPU 1 shown in FIG. 1.

[0087] The memory 102 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but not limited to this.

[0088] In a possible implementation, the memory 102 can exist independently of the processor 101. The memory 102 can be connected to the processor 101 through the bus 104, and used to store data, instructions or program codes. When the processor 101 invokes and executes the instructions or program codes stored in the memory 102, the state detection method provided in the embodiments of the present application can be implemented.

[0089] In another possible implementation, the memory 102 can also be integrated with the processor 101.

[0090] The communication interface 103 is configured to connect the electronic device 10 to other robots or central scheduling devices through a communication network, which can be an Ethernet, a radio access network (RAN), a wireless local area network (WLAN) or the like. The communication interface 103 can include a receiving unit configured to receive data, and a sending unit configured to send data.

[0091] The bus 104 can be an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus or the like. The bus can be divided into an address bus, a data bus, a control bus and the like. For ease of representation, only one thick line is used in FIG. 1, but it does not mean that there is only one bus or only one type of bus.

[0092] It should be noted that the structure shown in FIG. 1 does not limit the electronic device 10, and the electronic device 10 can include more or fewer components than those shown in the figure, or combine certain components, or different component arrangements.

[0093] For ease of understanding, the path planning method provided in the present application is specifically introduced below in combination with the accompanying drawings.

[0094] As shown in FIG. 2, it is a flowchart of a path planning method provided in the present application. The method includes S201-S202.

[0095] S201: In the case that the front road of the current path of the first robot is blocked by the second robot, a passing detection result of the parallel road is determined based on the spatial feature information of the second robot and a third robot on the parallel road of the front road.

[0096] The passage detection result is used to indicate whether the parallel road is passable. In other words, the passage detection result can be used to indicate whether the first robot can normally pass through the parallel road without being blocked after switching to the parallel road.

[0097] The current path is a path planned by the server for the first robot to travel from the starting point to the ending point via one or more roads. For example, in a case where the first robot needs to carry materials from a storage location (i.e., the starting point) to a material processing location (i.e., the ending point), the server can plan a path for the first robot to travel from the material storage location to the material processing location via one or more roads. For another example, in a case where the first robot needs to travel from a current parking location (i.e., the starting point) to a location where a charging pile is located (i.e., the ending point) for charging, the server can plan a path for the first robot to travel from the current parking location to the location where the charging pile is located via one or more roads.

[0098] The front road of the current path is a road in front of the first robot in the travel direction on the current path during the travel of the first robot according to the current path. The parallel road of the front road can be a road on the left side and / or the right side of the front road. Moreover, the parallel road of the front road can be one or more roads. It should be understood that the road described in the present application can be alternatively described as a passage, a lane, or other names without limitation. The road can be a road that has been divided in the current scene where the first robot is located and can be walked by the robot.

[0099] The first robot can be any robot in the robot system.

[0100] The second robot is a robot in the robot system that is on the front road of the current path of the first robot and causes obstruction to the first robot. For example, the second robot can be a robot that stops on the front road of the current path of the first robot. Moreover, the number of the second robots can be one or more. In other words, the front road of the current path of the first robot can be obstructed by one robot or a plurality of robots that form a congestion queue.

[0101] The third robot can be a robot in the robot system that is on the parallel road of the front road. The third robot can be in a travel state or a stop state. Moreover, the number of the third robots can be one or more. In other words, there can be one third robot traveling on the parallel road of the front road or a plurality of third robots traveling on the parallel road of the front road. Alternatively, there can be one third robot parked on the parallel road of the front road or a plurality of third robots parked on the parallel road of the front road.

[0102] In an implementable manner, in the process of driving along the current path, the first robot can detect, through the configured sensor, whether there is a second robot within a specific distance on the road ahead. In the case that there is a second robot within a specific distance on the road ahead, the first robot can detect, through the configured sensor, the state of the second robot, the distance relative to the second robot, etc. Wherein, the state of the second robot can be a driving state, a turning state, a braking state or a stop state, etc. In this way, in the case that the first robot detects that the second robot is in a stop state, the first robot can determine the duration of the second robot in the stop state by setting a timer, etc. If the duration of the second robot in the stop state is greater than or equal to a preset duration threshold, the first robot can determine that the road ahead of the current path is blocked by the second robot. Wherein, the preset duration threshold can be set according to actual needs. For example, it can be 5 seconds, 6 seconds, 8 seconds, etc.

[0103] In this case, the first robot can send the current location, the location of the second robot, etc. to the server. In this way, the server can determine the spatial feature information of the second robot and the third robot on the parallel road of the road ahead based on the information of each robot in the managed robot system.

[0104] In this way, the server can determine whether the first robot will be blocked when driving on the parallel road and whether the first robot can drive to the end point of the current path through the parallel road based on the information of the identified second robot and third robot, to obtain the passing detection result of the parallel road.

[0105] Optionally, the information of the second robot can include the device size, position and path information in driving of the second robot, etc. The information of the third robot can include the position and state of the third robot, etc. The state of the third robot can include a stop state and a driving state. The path information in driving of the second robot can include the end point of the path driven by the second robot, etc.

[0106] The device size of the second robot can include the device length and device width of the second robot. The device length of the second robot can be the length of the side of the minimum circumscribed rectangle of the second robot parallel to the driving direction of the first robot. The device width of the second robot can be the length of the side of the minimum circumscribed rectangle of the second robot perpendicular to the driving direction of the first robot.

[0107] S202: Control the first robot to execute a driving strategy corresponding to the passing detection result.

[0108] Wherein, the driving strategy includes waiting to drive through the road ahead, or switching to drive on the parallel road.

[0109] If the traffic detection result indicates that the parallel road is passable, it can be indicated that the first robot will not be blocked after switching to the parallel road and can pass normally. The server can instruct the first robot to drive through the parallel road to the end point of the current path to avoid the blockage caused by the second robot and improve driving efficiency.

[0110] If the traffic detection result indicates that the parallel road is not passable, it can be indicated that the first robot will be blocked after switching to the parallel road and cannot pass normally. The server can instruct the first robot to wait to drive through the front road to the end point of the current path to avoid the problem that the first robot cannot drive to the original destination after switching to the parallel road of the front road.

[0111] In an embodiment, in the above S201, when determining the traffic detection result of the parallel road based on the spatial feature information of the second robot and the third robot on the parallel road of the front road, the present embodiment provides an optional implementation manner, including: S2011-S2012.

[0112] S2011: determining the lane-changing path information of the first robot based on the position and device size of the second robot and the device size of the first robot.

[0113] It should be understood that the device size of the first robot can be understood with reference to the device size of the second robot described above, and will not be described again.

[0114] The lane-changing path information is used to indicate the path planning information of the first robot on the parallel road.

[0115] The lane-changing path information can include at least one of the following: the parallel distance of the first robot relative to the second robot when the first robot is in the parallel driving position of the second robot, the lane-changing overtaking interval of the first robot on the parallel road, and the lane-changing path planning result.

[0116] In an implementation manner, the parallel driving position of the second robot can be a position on the parallel road where the second robot drives in parallel. When the server determines the parallel distance of the first robot relative to the second robot when the first robot is in the parallel driving position of the second robot, the server can determine the parallel distance according to the device width of the second robot, the device width of the first robot, and the position distance between the parallel driving position and the position of the second robot. For example, the server can subtract the device width of the second robot and the device width of the first robot from the position distance between the parallel driving position and the position of the second robot to obtain the parallel distance.

[0117] It should be noted that the robot in the robot system can travel based on the topological map. The roads in the topological map generally do not have a width. For example, the robot can travel in such a manner that the axis of the device coincides with the road in the topological map. In order to facilitate path planning of the robot, the distance between the roads in the topological map can be marked. In this case, the position distance between the parallel travel position and the position of the second robot can be the distance between the front road and the parallel road. In this way, the server can determine the distance between the front road and the parallel road of the first robot marked in the topological map as the position distance between the parallel travel position and the position of the second robot.

[0118] In an implementable manner, when the server determines the lane changing and overtaking interval of the first robot on the parallel road, the server can determine the first safety distance based on the device length of the first robot, determine a start end of the lane changing and overtaking interval as a position on the parallel road that is located before the position of the second robot and is located at a distance of the first safety distance from the position of the second robot, and determine an end of the lane changing and overtaking interval as a position on the parallel road that is located after the position of the second robot and is located at a distance of the first safety distance from the position of the second robot, to obtain the lane changing and overtaking interval.

[0119] That is, when the server determines the lane changing and overtaking interval of the first robot on the parallel road, the server can determine the first safety distance based on the device length of the first robot. Next, the server can determine a first position on the parallel road that is located at the same position as the second robot in the travel direction of the first robot, determine a position on the parallel road that is located at a distance of the first safety distance from the first position and is located in the opposite direction of the travel direction of the first robot relative to the first position as the start end of the lane changing and overtaking interval, and determine a position on the parallel road that is located at a distance of the first safety distance from the first position and is located in the travel direction of the first robot relative to the first position as the end of the lane changing and overtaking interval, to obtain the lane changing and overtaking interval. For example, the first safety distance can be 1 / 2, 3 / 2, 3 / 5, etc. of the device length of the first robot.

[0120] In an implementable manner, the post-lane-changing path planning result is used to indicate whether the second robot can travel from the lane changing end position to the end point of the current path. Specifically, the server can determine the lane changing end position of the first robot on the parallel road based on the device length and position of the second robot and the device length of the first robot, and determine whether the second robot can travel from the lane changing end position to the end point of the current path based on the lane changing end position, to obtain the post-lane-changing path planning result.

[0121] S2012: Determine a traffic detection result of the parallel road based on the post-lane-changing path information, the position and state of the third robot.

[0122] If the parallel distance is greater than or equal to the second safety distance, and there is no third robot in the lane-changing and overtaking interval in a stop state, and the path planning result after lane changing indicates that the first robot can drive from the lane-changing end position to the end of the current path, it can be indicated that the first robot can drive to the original destination through the parallel road. The server can determine that the traffic detection result is that the parallel road is passable. The second safety distance can be the minimum distance between the first robot and the second robot in the case that the first robot is allowed to drive through the parallel road. For example, it can be 0.3 meters, 0.4 meters, 0.5 meters, etc.

[0123] If the parallel distance is less than the second safety distance, it can be indicated that the first robot is still blocked by the second robot when the first robot can drive through the parallel road. The server can determine that the traffic detection result is that the parallel road is not passable. That is, if the parallel distance is less than the second safety distance, it can be indicated that the first robot wants to drive through the parallel road, but is blocked by the second robot. The server can determine that the traffic detection result is that the parallel road is not passable.

[0124] Exemplarily, as shown in FIG. 3, a schematic diagram of a path scenario provided by the present application is shown. The first robot is still blocked by the second robot after switching from road 1 to road 2 parallel to road 1. The first robot is not blocked by the second robot after switching from road 1 to road 3 parallel to road 1. The second robots A, B, C and D are in front of the current path of the first robot. The left path width can be used to measure whether the first robot can successfully change lanes and overtake from the left side of the driving direction.

[0125] If there is a third robot in the lane-changing and overtaking interval in a stop state, it can be indicated that the first robot can be blocked by the third robot when the first robot can drive through the parallel road. The server can determine that the traffic detection result is that the parallel road is not passable.

[0126] Exemplarily, as shown in FIG. 4, a schematic diagram of another path scenario provided by the present application is shown. The first robot will still be blocked by the third robots E and F in the lane-changing and overtaking interval after switching from road 1 to road 3 parallel to road 1. The second robots A, B, C and D are in front of the current path of the first robot.

[0127] If the path planning result after lane changing indicates that the first robot cannot drive from the lane-changing end position to the end of the current path, it can be indicated that the first robot cannot drive to the original destination through the parallel road. The server can determine that the traffic detection result is that the parallel road is not passable.

[0128] In one embodiment, in the above S2011, when determining the path information of the first robot after changing lanes based on the position of the second robot, the device size of the second robot, and the device size of the first robot, the present embodiment provides an optional implementation manner, including: S2011a-S2011c.

[0129] S2011a: determining a parallel distance based on the device width of the second robot, the device width of the first robot, and the position distance between the parallel driving position and the position of the second robot.

[0130] The parallel distance can be the distance between the first robot and the second robot when the first robot is in the parallel driving position of the second robot. In order to determine whether the first robot can successfully reach the parallel driving position, the server can determine the parallel distance based on the device width of the second robot, the device width of the first robot, and the position distance between the parallel driving position and the position of the second robot.

[0131] For example, the server can subtract 1 / 2 of the device width of the second robot and 1 / 2 of the device width of the first robot from the position distance between the parallel driving position and the position of the second robot to obtain the parallel distance.

[0132] S2011b: determining a lane-changing overtaking interval based on the position of the second robot and the device length of the first robot.

[0133] In order to avoid collision when changing lanes and overtaking, the first robot with different device lengths needs to maintain different first safety distances with the second robot when changing lanes and overtaking. The server can determine the first safety distance based on the device length of the first robot, and determine a position on the parallel road that is first safety distance away from the first position and opposite to the driving direction of the first robot relative to the first position as the start of the lane-changing overtaking interval. And a position on the parallel road that is first safety distance away from the first position and in the driving direction of the first robot relative to the first position as the end of the lane-changing overtaking interval, to obtain the lane-changing overtaking interval.

[0134] For example, assuming that the device length of the first robot is L and the first safety distance is L / 2, the start of the lane-changing overtaking interval can be determined to be a position opposite to the driving direction of the first robot relative to the second robot and L / 2 away from the second robot, and the end of the lane-changing overtaking interval can be determined to be a position in the driving direction of the first robot relative to the second robot and L / 2 away from the second robot, to obtain the lane-changing overtaking interval.

[0135] S2011c: determining a lane-changing end position of the first robot on the parallel road based on the device length and position of the second robot, and the device length of the first robot, and determining a post-lane-changing path planning result based on the lane-changing end position.

[0136] To determine whether the first robot can successfully travel to the original destination after lane changing, the server can determine a lane-changing end position of the first robot on the parallel road, and perform path planning with the lane-changing end position as the path starting point and the end point of the current path as the path ending point, to determine whether the first robot can travel from the lane-changing end position to the end point of the current path, and obtain a post-lane-changing path planning result.

[0137] The lane-changing end position is the position of the first robot after lane changing. Since the first robot needs to maintain a certain distance from the second robot to successfully complete lane changing, and the larger the device length of the first robot, the larger the distance that needs to be maintained from the second robot, the first safety distance can be determined based on the device length of the first robot.

[0138] If the distance between the lane-changing end position and the position of the second robot in the direction of travel of the first robot is too small, the first robot may tip over or collide when changing lanes. To avoid the first robot tipping over or colliding, the lane-changing end position of the first robot on the parallel road can be determined based on the device length and position of the second robot, and the device length of the first robot.

[0139] For example, the distance between the lane-changing end position and the position of the second robot in the direction of travel of the first robot can be 2 / 3 of the sum of the device lengths of the first robot and the second robot.

[0140] In one embodiment, in the above S2012, i.e., based on the post-lane-changing path information, the position and state of the third robot, the server determines a passing detection result of the parallel road, and the present embodiment provides an optional implementation manner, including S2012a-S2012b.

[0141] S2012a: in a case where the parallel distance is greater than or equal to the second safety distance, and / or there is no third robot in a stop state in the lane-changing overtaking interval, and / or the post-lane-changing path planning result indicates that the first robot can travel from the lane-changing end position to the end point of the current path, the server determines that the passing detection result is that the parallel road is passable.

[0142] In a case where at least one of the following conditions is met, the server can determine that the passing detection result is that the parallel road is passable: the parallel distance is greater than or equal to the second safety distance, there is no third robot in a stop state in the lane-changing overtaking interval, and the post-lane-changing path planning result indicates that the first robot can travel from the lane-changing end position to the end point of the current path.

[0143] The above conditions are described below. For the case where the parallel distance is greater than or equal to the second safety distance, since the distance between the first robot and the second robot will not be too close in the case of satisfying the condition, i.e., there is no risk of collision between the first robot and the second robot after the first robot changes lanes, it can be determined that the parallel road is passable.

[0144] For the case where there is no third robot in the state of stop driving in the lane-changing overtaking interval, since the first robot can normally drive on the parallel road in the case of satisfying the condition, it can also be determined that the parallel road is passable.

[0145] For the case where the lane-changing path planning result indicates that it is drivable from the lane-changing end position to the end point of the current path, since the first robot can successfully drive from the lane-changing end position to the original destination in the case of satisfying the condition, it can also be determined that the parallel road is passable.

[0146] S2012b: In the case where the parallel distance is less than the second safety distance, and / or there is a third robot in the state of stop driving in the lane-changing overtaking interval, and / or the lane-changing path planning result indicates that it is not drivable from the lane-changing end position to the end point of the current path, the pass detection result is determined to be that the parallel road is not passable.

[0147] In the case where at least one of the following conditions is satisfied, the server can determine that the pass detection result is that the parallel road is not passable: the parallel distance is less than the second safety distance, there is a third robot in the state of stop driving in the lane-changing overtaking interval, and the lane-changing path planning result indicates that it is not drivable from the lane-changing end position to the end point of the current path. Since the conditions here correspond to the conditions in S2012a, they will not be described again here.

[0148] In an embodiment, in S202, i.e., when the first robot is controlled to switch to driving on the parallel road, the present embodiment provides an optional implementation, which further includes S2021-S2023.

[0149] S2021: planning a lane-changing path after the lane-changing based on the spatial feature information of the second robot.

[0150] The lane-changing path after the lane-changing can be a path with the lane-changing end position on the parallel road as the starting point and the end point of the current path of the first robot as the end point.

[0151] S2022: In the case where the parallel road is applied by a fourth robot, the first robot is controlled to wait for the fourth robot to drive away from the parallel road and then drive to the end point of the current path according to the lane-changing path after the lane-changing, and the parallel road is adjusted to be in the forbidden driving-in state during the waiting of the first robot to prohibit robots that have not applied for the use of the parallel road from driving into the parallel road.

[0152] Before instructing the first robot to switch to the parallel road, the server can determine whether the parallel road has been applied for use. If the fourth robot has applied for use of the parallel road, the server can instruct the first robot to wait for the fourth robot to drive off the parallel road and then travel along the post-lane-changing path to the end of the current path, so as to avoid a conflict with the fourth robot. In addition, the first robot can adjust the parallel road to be in the no-entry state during the waiting period of the first robot, so as to prohibit robots that have not applied for use of the parallel road from entering the parallel road, so as to avoid the first robot waiting for other robots to drive off the parallel road again, so as to facilitate the first robot to pass through the parallel road in a timely manner. The waiting period of the first robot is a period during which the first robot waits for the fourth robot to drive off the parallel road.

[0153] S2023: In the case where the parallel road is not applied for use, the first robot is controlled to travel along the post-lane-changing path to the end of the current path.

[0154] If the parallel road is not applied for use, it can be indicated that the first robot currently switching to the parallel road will not conflict with other robots. The server can instruct the first robot to travel along the post-lane-changing path to the end of the current path.

[0155] In an embodiment, in S2022, that is, when the post-lane-changing path is planned based on the spatial feature information of the second robot, an optional implementation manner provided by the embodiment of the application further includes S2022a-S2022b.

[0156] S2022a: Based on the device length and position of the second robot and the device length of the first robot, a lane-changing start position on the front road and a lane-changing end position on the parallel road are determined.

[0157] In an implementable manner, the distance between the lane-changing start position on the front road and the position of the second robot, the device length of the first robot, and the device length of the second robot can satisfy the following expression:

[0158] Wherein, D1 is the distance between the lane-changing start position on the front road and the position of the second robot. rbt len is the device length of the first robot. obs len is the device length of the second robot. k1 is a positive coefficient, used to make D1 increase with the increase of rbt len . In addition, k1 can make the leading edge of the first robot in the travel direction maintain at least a first safety distance from the tail of the second robot. For example, the value of k1 can be 1.2, 1, 0.9, etc.

[0159] The distance between the lane-changing end position on the parallel road and the lane-changing start position on the front road in the first robot travel direction, the device length of the first robot, and the device length of the second robot can satisfy the following expression:

[0160] D2 is the distance between the lane-changing end position on the parallel road and the lane-changing start position on the front road in the first robot travel direction. k2 is a positive coefficient for increasing D2 as rb increases. In addition, k2 can be less than k1. Since the lane-changing end position is on the parallel road, the second robot does not belong to the same road, so the risk of collision between the first robot and the second robot at the lane-changing end position is lower than that at the lane-changing start position, so k2 can be less than k1. For example, the value of k2 can be 1, 0.9, 0.8, etc. len

[0161] In this way, the server can make the travel path of the lane change at the lane-changing start position on the front road and the lane-changing end position on the parallel road smoother, reducing the risk of rollover, etc.

[0162] S2022b: determining a post-lane-changing path from the lane-changing end position on the parallel road to the end point of the current path.

[0163] Optionally, the server can use A-star algorithm, breadth first search (BFS) or depth first search (DFS) algorithm, etc. to determine the post-lane-changing path from the lane-changing end position on the parallel road to the end point of the current path on the topological map.

[0164] In one embodiment, before S201 described above, i.e. before determining the passing detection result of the parallel road based on the spatial feature information of the second robot and the third robot on the parallel road of the front road, the path planning method provided by the embodiment of the application further comprises S301-S302.

[0165] S301: obtaining the end point of the travel path of the second robot and / or the remaining width on both sides of the second robot.

[0166] The remaining width on both sides includes the remaining road width on the left side of the second robot and the remaining road width on the right side of the second robot.

[0167] Exemplarily, as shown in FIG. 5, it is a schematic diagram of another path scenario provided by the application. The remaining width on both sides can be the remaining road width on the left side and the remaining road width on the right side of the second robot in the travel direction.​

[0168] It should be noted that determining the passing detection result of the parallel road can consume more time and occupy more computing resources of the first robot. Before determining the passing detection result of the parallel road, the server can determine whether the first robot needs to change lanes.

[0169] For example, in the case that the second robot exists a planned path being executed and waits to pass the front road, if the destination of the first robot is the same as or close to the destination of the second robot, it can be indicated that the second robot can have determined that the parallel road of the front road is impassable. Then the first robot does not need to determine the passing detection result of the parallel road of the front road. The server can determine not to change lanes.

[0170] Based on this, after the first robot obtains the information of the second robot, the server can identify whether the second robot exists a planned path being executed. If the second robot does not exist a planned path being executed, it can be indicated that the second robot can be abnormally parked on the front road due to equipment failure or the like. Then the server can determine to change lanes to avoid the obstruction caused by the second robot. If the second robot exists a planned path being executed, it can be indicated that the second robot can be temporarily in a stop state due to obstruction. Then the server can determine the end point of the path traveled by the second robot, so as to determine whether the original destination of the first robot is the same as or close to the destination of the second robot, and thus determine whether the first robot needs to overtake the second robot.

[0171] For another example, although the front road exists a parallel road, the road width on both sides of the second robot is too narrow to be obviously impassable. Based on this, the server can determine whether the first robot needs to change lanes by judging the remaining width on both sides of the second robot. That is, although there is remaining width on both sides of the front road, the first robot cannot pass through the remaining width to realize lane changing. In this case, the server can quickly determine whether the first robot needs to change lanes by judging the size relationship between the remaining width on both sides of the second robot and the equipment width of the first robot.

[0172] S302: Determine whether to change lanes based on the size relationship between the distance between the end point of the path traveled by the second robot and the end point of the current path and the preset distance, and / or the size relationship between the remaining width on both sides of the second robot and the equipment width of the first robot.

[0173] Based on the foregoing, if the distance between the end point of the path traveled by the second robot and the end point of the current path is less than or equal to the preset distance, or the remaining width on both sides of the second robot is less than or equal to the equipment width of the first robot, the server can determine that the first robot does not change lanes and does not need to further determine the traffic detection result of the parallel road.

[0174] If the distance between the end point of the path traveled by the second robot and the end point of the current path is greater than the preset distance, or the remaining road width on the left side of the second robot is greater than the equipment width of the first robot, or the remaining road width on the right side of the second robot is greater than the equipment width of the first robot, the server can determine that the first robot changes lanes and further determines the traffic detection result of the parallel road.

[0175] In an embodiment, as shown in FIG. 6, a flowchart of another path planning method provided by the present application is shown. The method comprises S401-S413.

[0176] S401: Determine that the road in front of the first robot is blocked by the second robot.

[0177] S402: Obtain the spatial feature information of the second robot.

[0178] The server can obtain the information of each robot on the road in front of the first robot, and determine the closest robot among the robots on the road in front as the second robot, and the robot in front of the closest robot in a stopped state as the second robot. Further, the server can obtain the spatial feature information of the second robot.

[0179] S403: Whether to change lanes.

[0180] If yes, perform S404; if no, end.

[0181] S404: Determine the overtaking start position on the road in front.

[0182] Determine the overtaking start position on the road in front of the first robot.

[0183] S405: Determine whether there is a switchable parallel lane.

[0184] If yes, perform S406; if no, end.

[0185] S406: Determine the overtaking end position on the switchable parallel lane.

[0186] S407: Determine whether the first robot can travel to the end point of the current path after changing lanes.

[0187] If yes, perform S408; if no, end.

[0188] S408: planning a lane changing path.

[0189] Exemplarily, as shown in FIG. 7, a schematic diagram of another path scenario provided by the present application is shown. The lane changing path can be a path in which the first robot switches from road 1 to road 3.

[0190] S409: whether the planning is successful.

[0191] If yes, S410 is performed; if no, the process ends.

[0192] S410: whether there is a conflicting robot on the lane changing path.

[0193] If yes, S411 is performed; if no, S413 is performed.

[0194] S411: whether the conflicting robot can normally drive away.

[0195] If yes, S412 is performed; if no, the process ends.

[0196] S412: controlling the first robot to wait for the conflicting robot to drive away before performing the lane changing action, and adjusting the parallel road to be in a forbidden driving-in state during the waiting of the first robot.

[0197] S413: controlling the first robot to perform the lane changing action.

[0198] The above mainly describes the scheme of the embodiments of the present application from the perspective of the method. It can be understood that, in order to realize the above functions, the robot comprises at least one of the corresponding hardware structure and software module for executing each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of the examples described in the embodiments disclosed in the present application, the present application can be realized in the form of hardware or a combination of hardware and computer software. Whether a certain function is realized in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical scheme. Those skilled in the art can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0199] The embodiments of the present application can divide the functional units of the robot according to the above method examples. For example, each functional unit can be divided according to each function, or two or more functions can be integrated in one processing unit. The integrated unit can be realized in the form of hardware or software functional unit. It should be noted that the division of units in the embodiments of the present application is illustrative, and is only a logical functional division. When actually implemented, there can be another division manner.

[0200] Fig. 8 shows a structural schematic diagram of a path planning device. The path planning device 20 can be used to implement the method described in the above embodiments. The path planning device 20 comprises a processing unit 501 and a control unit 502. The processing unit 501 is configured to determine a passability detection result of a parallel road based on spatial feature information of a second robot and a third robot on the parallel road in a case that a front road of a current path of a first robot is blocked by the second robot. The passability detection result is used to indicate whether the parallel road is passable. The control unit 502 is configured to control the first robot to perform a driving strategy corresponding to the passability detection result. The driving strategy comprises waiting to pass the front road or switching to the parallel road to drive.

[0201] In a possible embodiment, the spatial feature information comprises at least one of the following: a device size and a position of the second robot, a state and a position of the third robot. The state of the third robot comprises a stop state and a driving state. The processing unit 501 is specifically configured to determine path information of the first robot after lane changing based on the position and the device size of the second robot, and a device size of the first robot. The path information after lane changing is used to indicate path planning information of the first robot on the parallel road. The processing unit 501 is specifically configured to determine the passability detection result of the parallel road based on the path information after lane changing, the position and the state of the third robot.

[0202] In a possible embodiment, the path information after lane changing comprises at least one of the following: a parallel distance of the first robot relative to the second robot when the first robot is in a parallel driving position of the second robot, a lane changing and overtaking interval of the first robot on the parallel road, and a path planning result after lane changing. The processing unit 501 is specifically configured to determine the parallel distance based on a device width of the second robot, a device width of the first robot, and a position distance between the parallel driving position and the position of the second robot. The processing unit 501 is specifically configured to determine the lane changing and overtaking interval based on the position of the second robot and a device length of the first robot. The start end of the lane changing and overtaking interval is located at a position before the first robot by a first safety distance, and the end of the lane changing and overtaking interval is located at a position after the second robot by the first safety distance. The first safety distance is determined based on the device length of the first robot. The processing unit 501 is specifically configured to determine a lane changing end position of the first robot on the parallel road based on a device length and the position of the second robot and the device length of the first robot, and determine the path planning result after lane changing based on the lane changing end position. The path planning result after lane changing is used to indicate whether the lane changing end position is drivable to an end point of the current path.

[0203] In a possible implementation, the processing unit 501 is specifically configured to: in a case where the parallel distance is greater than or equal to the second safety distance, and / or there is no third robot in a stop state in the overtaking and passing interval, and / or the path planning result after lane changing indicates that it is possible to drive from the lane changing end position to the end point of the current path, determine that the passing detection result is that the parallel road is passable; in a case where the parallel distance is less than the second safety distance, and / or there is a third robot in a stop state in the overtaking and passing interval, and / or the path planning result after lane changing indicates that it is not possible to drive from the lane changing end position to the end point of the current path, determine that the passing detection result is that the parallel road is impassable.

[0204] In a possible implementation, the control unit 502 is specifically configured to: plan a path after lane changing based on the spatial feature information of the second robot; in a case where the parallel road is applied for use by the fourth robot, control the first robot to drive to the end point of the current path according to the path after lane changing after the fourth robot drives away from the parallel road, and adjust the parallel road to be in a forbidden entry state during the waiting of the first robot, to prohibit robots that do not apply for use of the parallel road from driving into the parallel road; in a case where the parallel road is not applied for use, control the first robot to drive to the end point of the current path according to the path after lane changing.

[0205] In a possible implementation, the spatial feature information of the second robot includes a device length and a position of the second robot; and the control unit 502 is specifically configured to: determine the lane changing start position on the front road and the lane changing end position on the parallel road based on the device length and the position of the second robot and the device length of the first robot; and determine the path after lane changing for driving to the end point of the current path based on the lane changing end position on the parallel road.

[0206] In a possible implementation, the apparatus further includes an acquisition unit 503; and the acquisition unit 503 is configured to acquire an end point of a path driven by the second robot and / or a remaining width on both sides of the second robot. The remaining width on both sides of the second robot includes a road width remaining on the left side of the second robot and a road width remaining on the right side of the second robot. The processing unit 501 is further configured to determine whether to change lanes based on a size relationship between a distance between the end point of the path driven by the second robot and the end point of the current path and a preset distance, and / or a size relationship between the remaining width on both sides of the second robot and a device width of the first robot.

[0207] For specific descriptions of the optional manners described above, refer to the foregoing method embodiments, which will not be described herein again. In addition, the explanations and beneficial effect descriptions of any one of the path planning apparatuses 20 provided above can refer to the corresponding method embodiments described above, which will not be described herein again.

[0208] As an example, in combination with FIG. 1, the functions implemented by part or all of the processing unit 501, the control unit 502, and the acquisition unit 503 in the path planning apparatus 20 can be implemented by the processor 101 in FIG. 1 executing program code in the memory 102 in FIG. 1.

[0209] Another path planning method provided in the present application is introduced as follows:

[0210] Currently, when an obstacle is detected to block the robot during the robot driving process and the blocking duration reaches a set duration, a detour path can be planned to bypass the obstacle.

[0211] However, if the detour path is planned without considering the path space, the size of the obstacle, and the size of the robot, etc., the robot may still have a risk of collision with the obstacle during the detour process, and may not be able to detour back to the original path. Especially in a narrow channel scenario, the robot is easily limited by space, resulting in the inability to detour back to the original path, thereby becoming a new obstacle and affecting the passage of other robots.

[0212] In addition, the driving path of the robot is generally planned based on a topological map, but the topological map usually does not include information such as road width, and it is difficult to effectively support the identification of whether it can be detoured on the side of the obstacle, easily leading to the problems of detouring far or identifying as unable to bypass the obstacle.

[0213] For ease of understanding, the path planning method provided in the present application is specifically introduced as follows in combination with the drawings.

[0214] As shown in FIG. 9, it is a flowchart of a path planning method provided in the present application. The method includes S901-S903.

[0215] S901: In the case that the current path of the robot is blocked by a front obstacle, a plurality of detour paths for detouring the front obstacle are acquired.

[0216] Among the plurality of detour paths, the start position and the end position of each detour path are on the current path. In other words, the detour path can be from the start position on the current path to the end position on the current path via the side of the front obstacle. In addition, the start positions of different detour paths in the plurality of detour paths can be the same or different, and the end positions can also be the same or different.

[0217] Exemplarily, as shown in FIG. 10, it is a scene diagram of a path provided in an embodiment of the present application. The detour path can be from the start position on the current path of the robot to the end position on the current path of the robot via the left side of the front obstacle.

[0218] The current path is a path of the current planned robot from a starting point to a destination via one or more roads. For example, in the case where the robot needs to carry materials from a storage location (i.e., the starting point) to a material processing location (i.e., the destination), the server can plan a path for the robot to travel from the material storage location to the material processing location via one or more roads. For another example, in the case where the robot needs to travel from a current location (i.e., the starting point) to a location where a charging pile is located (i.e., the destination) for charging, the server can plan a path for the robot to travel from the current location to the location where the charging pile is located via one or more roads. It should be understood that the roads described in this application can be alternatively described as passages, lanes, or other names, without limitation.

[0219] Optionally, the front obstacle can be a robot parked on the front road in a non-working state, a robot temporarily stopped in a working state, a material box, or a cone-shaped roadblock, etc.

[0220] In an implementable manner, during the process of traveling according to the current path, the robot can detect whether there is an obstacle within a specific distance in front of the current path through the configured sensor. In the case where it is detected that there is an obstacle within a specific distance in front of the current path, the robot can determine that the current path is blocked by the front obstacle. For example, in the case where it is detected that there is an obstacle within a specific distance in front of the current path, the robot can determine the duration of the existence of the front obstacle by setting a timer or the like. If it is determined that the duration of the existence of the front obstacle is greater than or equal to a preset duration threshold, the robot can determine that the current path is blocked by the front obstacle.

[0221] In this case, the robot can send the current location and the location of the front obstacle to the server. In this way, the server can determine the start position and the end position of bypassing the front obstacle on the current path. Further, the server can sample from the start position to the end position, centering on the current path, along the traveling direction of the current path and the direction of both sides of the current path, to plan a plurality of bypass paths for the robot to bypass the front obstacle. The specific implementation of this process can be understood with reference to S2011-S2012 described below, which will not be described here.

[0222] Alternatively, the robot can determine the start position and the end position of bypassing the front obstacle on the current path based on the location of the front obstacle. Further, the robot can sample from the start position to the end position, centering on the current path, along the traveling direction of the current path and the direction of both sides of the current path, to plan a plurality of bypass paths for bypassing the front obstacle.

[0223] S902: Determine the bypass path planning result based on the travel space information corresponding to each of the plurality of bypass paths.

[0224] The travel space information corresponding to the detour path is used to indicate the positional relationship of the robot when traveling along the detour path relative to the surrounding object. The distance of the robot when traveling along the detour path relative to the surrounding object can be understood as the distance of the edge of the swept area when the robot travels along the detour path relative to the surrounding object. The swept area when the robot travels along the detour path is the space occupied by the robot when traveling along the detour path.

[0225] In one possible manner, the detour path planning result is used to indicate a target detour path that allows the robot to bypass the front obstacle, or to indicate that there is no target detour path that allows the robot to bypass the front obstacle.

[0226] In one possible manner, after the server plans multiple detour paths for the robot to bypass the front obstacle, the server can determine the swept area of the robot when traveling along each detour path based on the device size of the robot. Then, the server can determine the distance of the swept area of the robot when traveling along each detour path relative to the surrounding object, and obtain the travel space information corresponding to each of the multiple detour paths. Further, the server can determine whether the robot will collide with the surrounding object when traveling along each detour path based on the travel space information corresponding to each of the multiple detour paths.

[0227] If the robot will collide with the surrounding object when traveling along each of the multiple detour paths, the server can determine that there is no target detour path that allows the robot to bypass the front obstacle.

[0228] If the robot will not collide with the surrounding object when traveling along one or more than two detour paths, the server can determine that there is a target detour path that allows the robot to bypass the front obstacle. In the case of more than two detour paths that will not collide with the surrounding object, the server can select a target detour path from the more than two detour paths. The specific implementation of this process can be understood with reference to S9021-S9022, or further understood in combination with S9023-S9024, which will not be repeated here.

[0229] Alternatively, after the robot plans multiple detour paths to bypass the front obstacle, the robot can determine the swept area of the robot when traveling along each detour path based on the device size of the robot. Then, the robot can determine the distance of the swept area of the robot when traveling along each detour path relative to the surrounding object, and obtain the travel space information corresponding to each of the multiple detour paths. Further, the robot can determine whether the robot will collide with the surrounding object when traveling along each detour path based on the travel space information corresponding to each of the multiple detour paths.

[0230] Optionally, the peripheral object can be a front obstacle, other obstacles around the detour path, other robots that exist conflict with the traveled path and the detour path, etc. The robot can identify the relevant information of the peripheral object through the configured sensor, or through the interaction with the central scheduling device, or through the interaction with other robots in the robot system.

[0231] For example, in the case that the front obstacle and / or other obstacles around the detour path are robots, material boxes or cone-shaped roadblocks in a non-working state, the server can identify the relevant information such as the position and size of the front obstacle and / or other obstacles around the detour path of the robot by obtaining the measurement results of the robot.

[0232] For another example, in the case that the front obstacle and / or other obstacles around the detour path are robots in a working state, the server can obtain the relevant information such as the device size, travel path and position of each robot in the robot system by interacting with the robot. Alternatively, the robot can obtain the relevant information such as the device size, travel path and position of each robot in the robot system by interacting with each robot in the robot system. Further, the robot identifies the robot stopped on the current path, and / or the robot stopped on the detour path, and / or other robots that exist conflict with the traveled path and the detour path.

[0233] S903: Control the robot to execute a travel strategy corresponding to the detour path planning result.

[0234] The travel strategy includes traveling according to the target detour path to bypass the front obstacle, or waiting on the current path.

[0235] If the detour path planning result indicates that there is a target detour path that allows the robot to bypass the front obstacle, it can be indicated that the robot can bypass the front obstacle and improve the travel efficiency. Then the server can instruct the robot to travel according to the target detour path and adjust the target detour path to a forbidden entry state to prohibit other robots from entering the target detour path, so as to avoid conflicts between robots. In this way, the robot can travel according to the target detour path to continue traveling according to the current path after bypassing the front obstacle.

[0236] Alternatively, the robot can send a message to the server to apply for using the target detour path, or can also broadcast a message to other robots in the robot system to apply for using the target detour path, so as to prohibit other robots from entering the target detour path and avoid conflicts with other robots during the process of traveling according to the target detour path. Further, the robot can travel according to the target detour path to continue traveling according to the current path after bypassing the front obstacle.

[0237] If the detour path planning result indicates that there is no target detour path allowing the robot to bypass the front obstacle, it can be indicated that the robot cannot bypass the front obstacle. The server can instruct the robot to wait on the current path, avoiding problems such as collision during the process of the robot bypassing the front obstacle.

[0238] In a possible embodiment, the driving space information of the detour path in the foregoing can include at least one of the following: a first distance of the space occupied by the robot relative to the edge of the road involved in the detour path, and a second distance of the space occupied by the robot when parallel to the front obstacle relative to the space occupied by the front obstacle.

[0239] The first distance can be used to determine whether the space occupied by the robot when driving according to the detour path is completely within the road width range, to determine whether the current passable road width of the front road can support the robot to pass.

[0240] In a possible manner, the server can determine the first distance based on the size of the robot and the size of the front obstacle, and the road width of the front road. The first distance can be the smallest distance in the dynamic distance relative to the edge of the road during the driving of the robot according to the detour path. The size of the robot can include the length and width of the robot. The length of the robot can be the length of the side parallel to the forward direction in the minimum circumscribed rectangle of the robot. The width of the robot can be the length of the side perpendicular to the forward direction in the minimum circumscribed rectangle of the robot. The size of the front obstacle can include the length and width of the front obstacle. The length of the front obstacle can be the length of the side parallel to the forward direction of the robot in the minimum circumscribed rectangle of the front obstacle. The width of the front obstacle can be the length of the side perpendicular to the forward direction of the robot in the minimum circumscribed rectangle of the front obstacle.

[0241] For example, the robot can measure the road width of the front road through the configured sensor, and send the measurement result to the server. In this way, the server can determine the first distance based on the measurement result of the robot.

[0242] For another example, the server can determine the road width of the front road of the robot based on the road width labeled in the pre-configured topological map, and then determine the first distance. Specifically, the robot in the robot system can drive based on the road in the topological map. The road in the topological map generally does not have a width. For example, the robot can drive in a manner that the axis of the device coincides with the road in the topological map. In order to facilitate the server to plan the path, the width between each road and the edge of the road in the topological map can be labeled. In this case, the server can determine the road width of the front road of the robot based on the road width labeled in the topological map.

[0243] Exemplarily, as shown in FIG. 11, a schematic diagram of another path scenario provided by the embodiment of the present application is shown. The server can determine the left road width between the road corresponding to the current path of the robot and the left edge of the road, and the right road width between the road corresponding to the current path of the robot and the right edge of the road based on the annotations in the topological map when the robot is driving according to the current path, and then determine the first distance. In FIG. 11, the first distance is the lateral distance between the space occupied by the robot and the left edge of the road when the robot passes from the left side of the front obstacle.

[0244] The second distance, i.e., the distance between the space occupied by the robot and the space occupied by the front obstacle when the robot passes from the side of the front obstacle, can be used to determine whether there is a sufficient safety distance when the robot is parallel to the front obstacle, so as to determine whether the robot will collide with the front obstacle. For example, in combination with FIG. 11, the second distance is the lateral distance between the space occupied by the robot and the space occupied by the front obstacle when the robot passes from the left side of the front obstacle.

[0245] Based on this, in the above S902, i.e., based on the driving space information corresponding to each of the plurality of detour paths, when determining the detour path planning result, the present application provides an optional implementation manner, including S9021-S9022.

[0246] S9021: In the case that the first distance of each of the plurality of detour paths is less than or equal to the first distance, it is determined that there is no target detour path.

[0247] If the first distance of each of the plurality of detour paths is less than or equal to the first distance, it can be indicated that the space occupied by the robot when driving according to each of the detour paths exceeds the road width range of the front road, and the current passable road width of the front road cannot support the robot to pass. Then the server can determine that there is no target detour path.

[0248] Optionally, the first distance can be flexibly set based on the needs of the actual deployment scene of the robot. For example, the first distance can be 0 meters or 0.1 meters.

[0249] S9022: In the case that there is at least one candidate detour path with a first distance greater than the first distance in the plurality of detour paths, the target detour path is determined based on the second distance corresponding to each of the candidate detour paths.

[0250] If there is at least one candidate detour path with a first distance greater than the first distance in the plurality of detour paths, it can be indicated that the space occupied by the robot when driving according to the at least one candidate detour path does not exceed the road width range of the front road. Then, the server can determine the target detour path based on the second distance corresponding to each of the candidate detour paths.

[0251] When the second distance of a candidate detour path is less than or equal to the second distance, the probability that the candidate detour path is determined as the target detour path is positively correlated with the second distance of the candidate detour path. When the second distance of a candidate detour path is greater than the second distance, the probability that the candidate detour path is determined as the target detour path is negatively correlated with the second distance of the candidate detour path. The second distance can be a safety distance for avoiding collision between the robot and the front obstacle when the robot is parallel to the front obstacle. For example, the second distance can be 0.2 meters or 0.4 meters.

[0252] In other words, in the case that the second distance of a candidate detour path is less than or equal to the second distance, the impact of the size of the second distance on the risk of collision between the robot and the front obstacle can be focused on, and the impact of the actual path length of the candidate detour path on the driving efficiency of the robot can not be considered. Specifically, the greater the second distance of a candidate detour path when the robot is parallel to the front obstacle, the smaller the risk of collision between the robot and the front obstacle, and the greater the probability that the candidate detour path is determined as the target detour path. The smaller the second distance of a candidate detour path when the robot is parallel to the front obstacle, the greater the risk of collision between the robot and the front obstacle, and the smaller the probability that the candidate detour path is determined as the target detour path.

[0253] In the case that the second distance of a candidate detour path is greater than the second distance, the impact of the actual path length of the candidate detour path on the driving efficiency of the robot can be focused on, and the impact of the size of the second distance on the risk of collision between the robot and the front obstacle can not be considered. Specifically, the greater the second distance of a candidate detour path when the robot is parallel to the front obstacle, the greater the actual path length of the candidate detour path, and the lower the driving efficiency, and the smaller the probability that the candidate detour path is determined as the target detour path. The smaller the second distance of a candidate detour path when the robot is parallel to the front obstacle, the smaller the actual path length of the candidate detour path, and the higher the driving efficiency, and the greater the probability that the candidate detour path is determined as the target detour path.

[0254] In one possible manner, the server can flexibly determine the target detour path from the at least one candidate detour path based on the second distance of each candidate detour path according to the correlation between the probability that the candidate detour path is determined as the target detour path and the second distance of the candidate detour path.

[0255] For example, the server can configure each of the at least one candidate detour path with a respective path cost according to a first expression, and then select a candidate detour path with a minimum path cost as the target detour path from the at least one candidate detour path. The first expression is as follows:

[0256] wherein C is the path cost corresponding to the candidate detour path, d is the second distance corresponding to the candidate detour path, ds is the second distance, and a, r1, r2 are coefficients greater than 0.

[0257] Further, the server can determine the second distance corresponding to the candidate detour path according to a second expression. The second expression is as follows: d = D - (rbt_wid + obs_wid) / 2.

[0258] wherein D is the distance between the center axis of the minimum bounding rectangle of the robot along the forward direction and the center axis of the minimum bounding rectangle of the front obstacle along the forward direction, rbt_wid is the width of the minimum bounding rectangle of the robot, i.e., the length of the side of the minimum bounding rectangle of the robot perpendicular to the forward direction, and obs_wid is the width of the minimum bounding rectangle of the front obstacle, i.e., the length of the side of the minimum bounding rectangle of the front obstacle perpendicular to the forward direction.

[0259] For another example, the server can first determine the difference between the second distance and the second distance corresponding to each of the candidate detour paths, and then determine the candidate detour path with the minimum difference between the second distance and the second distance as the target detour path.

[0260] In a possible embodiment, the aforementioned driving space information of the detour path can further include at least one of: a third distance between the occupied space of the robot and the occupied space of other obstacles around the detour path, and a fourth distance between the occupied space of the robot and the occupied space of other robots driving around the detour path.

[0261] wherein the third distance can be the minimum distance between the dynamic distances between the occupied space of the robot and the occupied space of other obstacles during driving of the robot along the detour path. The third distance can be used to determine whether the robot will collide with other obstacles around the detour path during driving of the robot along the detour path. That is, if the minimum distance between the dynamic distances between the occupied space of the robot and the occupied space of other obstacles during driving of the robot along the detour path is the third distance, the robot will not collide with other obstacles, and if the dynamic distance between the occupied space of the robot and the occupied space of other obstacles is other than the third distance, the robot will also not collide with other obstacles.

[0262] The other robots driving through the periphery of the detour path can be understood as the robots driving through the periphery of the detour path or the robots having an overlapping path section with the detour path. The fourth distance can be the distance between the space occupied by the robot and the other robots in the current path advancing direction. In order to avoid a conflict with the other robots driving through the periphery of the detour path, the robot needs to wait for the other robots to drive away from the overlapping path section with the detour path before driving into the detour path. In this case, the larger the fourth distance between the robot and the other robots, the longer the waiting time and the lower the driving efficiency. The smaller the fourth distance between the robot and the other robots, the shorter the waiting time and the higher the driving efficiency.

[0263] It should be understood that when the robot executes the above method, the driving path of the other robot can be obtained through interaction with the server performing central scheduling, or can also be obtained through interaction with the other robot, which is not described herein.

[0264] Based on this, in the above S902, that is, based on the driving space information corresponding to each of the plurality of detour paths, when determining the detour path planning result, the application provides another optional implementation manner, including: S9023-S9024.

[0265] S9023: In a case where the third distance corresponding to each of the at least one candidate detour path is less than or equal to the first distance, it is determined that there is no target detour path.

[0266] If the third distance corresponding to each of the at least one candidate detour path in the foregoing S9022 is less than or equal to the first distance, it can be indicated that the space occupied by the robot when driving according to each candidate detour path will collide with other obstacles. Then the server can determine that there is no target detour path.

[0267] It should be understood that the execution order of S9023 can also be before S9021, which is not limited.

[0268] S9024: In a case where there is at least one candidate detour path with a first distance greater than the first distance and a third distance greater than the first distance in the plurality of detour paths, the target detour path is determined based on the second distance and the fourth distance corresponding to each candidate detour path.

[0269] If there is at least one candidate detour path with a first distance greater than the first distance and a third distance greater than the first distance in the plurality of detour paths, it can be indicated that the space occupied by the robot when driving according to each candidate detour path does not exceed the road width range of the front road and will not collide with other obstacles. Then the server can determine the target detour path based on the second distance and the fourth distance corresponding to each candidate detour path.

[0270] In a possible implementation, the server can determine the target detour path from the at least one candidate detour path based on a correlation between a probability that the candidate detour path is determined as the target detour path and the second distance corresponding to the candidate detour path.

[0271] For example, the server can configure the at least one candidate detour path with a respective path cost according to a third expression, and select a candidate detour path with a minimum path cost as the target detour path from the at least one candidate detour path. The third expression is as follows:

[0272] wherein C is the path cost corresponding to the candidate detour path, d is the second distance corresponding to the candidate detour path, L is the fourth distance corresponding to the candidate detour path, ds is the second distance, and a, b, r1, and r2 are coefficients greater than 0.

[0273] For another example, the server can first determine a weighted sum of the second distance and the fourth distance corresponding to the candidate detour path, then determine a difference between the weighted sum and the second distance, and finally determine a candidate detour path with a minimum difference between the weighted sum and the second distance as the target detour path.

[0274] Based on this, the application can accurately determine whether the detour path is passable by determining whether the space occupied by the robot exceeds the road width limit, whether the space occupied by the robot collides with other obstacles, other robots, or whether the space occupied by the robot maintains a safe distance from the front obstacle.

[0275] In an embodiment, before obtaining the plurality of detour paths for detouring the front obstacle, the path planning method provided by the application further includes S1001-S1002, in the case that the current path of the robot is blocked by the front obstacle.

[0276] S1001: Obtain the identification information of the front road on the current path.

[0277] It should be noted that, considering that the detour path planning can consume more time and occupy more computing resources of the robot, in the case that the current path of the robot is blocked by the front obstacle, the server can first determine whether the detour condition is met.

[0278] For example, in a case where the position of the front obstacle is near the end point of the current path of the robot, the robot does not need to detour the front obstacle. For another example, in a case where the number of obstacles with a distance less than or equal to the third distance from the front obstacle is large, the robot may be blocked by a new obstacle in a short time after detouring the front obstacle, and may not be able to detour the new obstacle, so the robot does not need to detour the front obstacle. For another example, in a case where the path after the front obstacle on the current path is in a congested state, the robot cannot pass through after detouring the front obstacle, so the robot does not need to detour the front obstacle.

[0279] Based on this, the server can obtain the identification information of the front road on the current path of the robot in a case where the current path of the robot is blocked by the front obstacle, to determine whether the detour condition is met. It should be understood that the manner in which the server obtains the identification information of the front road on the current path of the robot can refer to the specific description of the foregoing S902 in which the server identifies the related information of the surrounding objects of the robot, and will not be described here.

[0280] The identification information includes at least one of the following: the position of the front obstacle, the number of obstacles with a distance less than or equal to the third distance from the front obstacle, and the state of the path after the front obstacle on the current path. The state of the path includes a passable state or a congested state.

[0281] The obstacles with a distance less than or equal to the third distance from the front obstacle are obstacles within the third distance after the front obstacle on the current path. The third distance can be flexibly set based on the actual deployment scene of the robot. For example, the third distance can be 10 meters or 20 meters.

[0282] S902: Determine whether the detour condition is met based on the identification information of the front road.

[0283] The detour condition includes at least one of the following: the position of the front obstacle is more than the fourth distance from the end point of the current path, the number of obstacles is less than or equal to a preset number, and the state of the path is a passable state.

[0284] If the position of the front obstacle is more than the fourth distance from the end point of the current path, the number of obstacles is less than or equal to a preset number, and the state of the path is a passable state, the server can determine that the detour condition is met, and plan a detour path.

[0285] If the distance between the position of the front obstacle and the end point of the current path is less than or equal to the fourth distance, the number of obstacles is greater than the preset number, and the state of the path is the congestion state, the server can determine that the bypass condition is not met, and wait on the current path. Based on this, the application can judge the path situation before and after the robot bypasses the obstacle, determine the feasibility of bypassing the front obstacle, and improve the stability of the bypass process.

[0286] In an embodiment, in the above S901, that is, when the multiple bypass paths for bypassing the front obstacle are obtained, the application provides an optional implementation, including S9011-S9012.

[0287] S9011: determining the start position and the end position for bypassing the front obstacle based on the length of the robot, and the length and position of the front obstacle.

[0288] The start position for bypassing the front obstacle can be the current position of the robot. Alternatively, the distance between the start position for bypassing the front obstacle and the position of the front obstacle is equal to the weighted sum of the length of the robot and the length of the front obstacle. The distance between the end position for bypassing the front obstacle and the position of the front obstacle is equal to the weighted sum of the length of the robot and the length of the front obstacle.

[0289] The length of the robot can be the length of the side of the minimum circumscribed rectangle of the robot that is parallel to the driving direction of the robot. The length of the front obstacle can be the length of the side of the minimum circumscribed rectangle of the front obstacle that is parallel to the driving direction of the robot.

[0290] In a possible manner, when the robot detects that it is blocked by the front obstacle, the distance relative to the front obstacle can be small. For example, the front obstacle can be a material box or other obstacle that suddenly falls in front of the robot. For another example, the front obstacle can be another robot that suddenly drives into the road in front of the robot from another road. In this case, the robot can stop to avoid collision with the front obstacle. Thus, the server can determine that the start position for the robot to bypass the front obstacle is the current position of the robot.

[0291] Alternatively, when the robot detects that it is blocked by the front obstacle, the distance relative to the front obstacle can be large. In this case, the server can determine the position before the front obstacle and the distance relative to the position of the front obstacle is equal to the weighted sum of the length of the robot and the length of the front obstacle as the start position for bypassing the front obstacle, so that the path for the robot to bypass the front obstacle is smoother, and side overturning and the like are avoided.

[0292] Further, the server can determine, as the end position of the detour around the front obstacle, a position behind the front obstacle and having a distance relative to the position of the front obstacle equal to a weighted sum between the length of the robot and the length of the front obstacle, so that the path of the robot around the front obstacle is smoother and the robot is prevented from tipping over, etc.

[0293] For example, the server can determine the weighted sum between the length of the robot and the length of the front obstacle according to a fourth expression. The fourth expression is as follows: dis=k*rbt_len+c*obs_len.

[0294] wherein dis is the weighted sum between the length of the robot and the length of the front obstacle, rbt_len is the length of the robot, obs_len is the length of the front obstacle, and k and c are weights greater than 0. For example, k and c can be 0.5.

[0295] Optionally, when the server determines the start position and the end position of the detour around the front obstacle based on the fourth expression, the value of k can be the same or different, which is not limited.

[0296] S9012: Determine a plurality of detour paths from the start position to the end position via the side of the front obstacle.

[0297] wherein the detour path includes a sub-path from the start position to a first intermediate position, a sub-path from the first intermediate position to a second intermediate position, and a sub-path from the second intermediate position to the end position. The first intermediate position is between the start position and the position of the front obstacle, and the second intermediate position is between the position of the front obstacle and the end position. The first intermediate positions and / or the second intermediate positions of the sub-paths included in different detour paths are different.

[0298] In an implementable manner, the server can divide the road in front of the robot into four layers in the driving direction, and divide the layers in the width direction perpendicular to the driving direction according to a fixed distance to obtain a plurality of intermediate position points. Further, the server can sample from the start position of the detour around the front obstacle to the end position of the detour around the front obstacle with the current path as the center to plan a plurality of detour paths around the front obstacle.

[0299] Exemplarily, as shown in FIG. 12, a schematic diagram of another path scenario provided by the embodiment of the present application is shown. The L1 path segment is a sub-path from the start position on the current path to a first intermediate position. The L2 path segment is a sub-path from the first intermediate position to a second intermediate position. The L3 path segment is a sub-path from the second intermediate position to the end position on the current path. The first intermediate position can be any one of a plurality of intermediate position points in the width direction between the L1 path segment and the L2 path segment. The second intermediate position can be any one of a plurality of intermediate position points in the width direction between the L2 path segment and the L3 path segment.

[0300] In one possible manner, in a case where the distance of the start position relative to the position of the front obstacle is greater than the length of the robot, the sub-path from the start position to the first intermediate position is a curved path, so that the robot can smoothly bypass the obstacle. In a case where the distance of the start position relative to the position of the front obstacle is less than or equal to the length of the robot, the sub-path from the start position to the first intermediate position can be a straight path, considering the problem of rollover and the like caused by a large slope of the curved path.

[0301] Exemplarily, as shown in FIG. 13, a schematic diagram of another path scenario provided by the embodiment of the present application is shown. In a case where the distance of the start position relative to the position of the front obstacle is less than or equal to the length of the robot, the robot can turn left from the start position and then drive straight to the first intermediate position, turn right from the first intermediate position and then drive straight to the second intermediate position, and then turn right from the second intermediate position and drive along a curved path to the end position. The L1 path segment is a sub-path from the start position on the current path to the first intermediate position. The L2 path segment is a sub-path from the first intermediate position to the second intermediate position. The L3 path segment is a sub-path from the second intermediate position to the end position on the current path.

[0302] In one embodiment, in the above S903, in a case where the driving strategy is to drive along the target bypass path to bypass the front obstacle, when the robot is controlled to execute the driving strategy corresponding to the bypass path planning result, the present application provides an optional implementation manner, including S9031-S9032.

[0303] S9031: in a case where the target bypass path conflicts with the driving path of another robot, the robot is controlled to wait for the other robot to drive away from the target bypass path and then drive along the target bypass path, so that the robot continues to drive along the current path after bypassing the front obstacle, and the target bypass path is adjusted to be in a forbidden driving-in state during the waiting of the robot, so as to prohibit other robots which do not conflict with the driving path and the target bypass path from driving into the target bypass path.

[0304] Optionally, the target detour path conflicts with the travel path of another robot, which can be located at the periphery of the target detour path, or the travel path of another robot overlaps with the target detour path.

[0305] When the server determines the robot to travel along the target detour path to bypass the front obstacle, the server can first determine whether the target detour path conflicts with the travel path of another robot. If the target detour path conflicts with the travel path of another robot, the server can instruct the robot to wait for the other robot to move away from the target detour path, and instruct the robot to travel along the target detour path after the other robot moves away from the target detour path, so that the robot continues to travel along the current path after bypassing the front obstacle, and avoids collision with the other robot. In addition, the server can adjust the use state of the target detour path to a no-entry state during the waiting period of the robot, to prohibit the other robot that does not conflict with the target detour path from entering the target detour path. The waiting period of the robot is the period during which the other robot that conflicts with the travel path of the robot moves away from the target detour path.

[0306] In one possible manner, in the case where the target detour path conflicts with the travel path of another robot, the server can further detect whether the other robot can normally move away from the target detour path. For example, the server determines whether the power system or other components of the other robot can normally work by interacting with the other robot. For another example, the server can determine whether the other robot is in a state of being unable to move due to being blocked by an obstacle.

[0307] If the other robot can normally move away from the target detour path, the server can instruct the robot to wait for the other robot to move away from the target detour path. If the other robot cannot normally move away from the target detour path, it can indicate that the robot cannot travel along the target detour path even if it waits. In this case, the server can re-plan the detour path of the robot to avoid collision with the other robot.

[0308] S9032: In the case where the target detour path does not conflict with the travel path of another robot, the robot is controlled to travel along the target detour path, so that the robot continues to travel along the current path after bypassing the front obstacle.

[0309] If the target detour path does not conflict with the travel path of another robot, the server can instruct the robot to travel along the target detour path, so that the robot continues to travel along the current path after bypassing the front obstacle, thereby improving the travel efficiency of the robot.

[0310] In an embodiment, as shown in FIG. 14, a flowchart of another path planning method provided by the present application is shown. The method comprises S1101-S1109.

[0311] S1101: Determine that the robot is blocked by a front obstacle.

[0312] S1102: Whether the detour condition is met.

[0313] If yes, execute S1103; if no, end.

[0314] S1103: Determine the start position and end position of the detour around the front obstacle.

[0315] S1104: Plan multiple detour paths.

[0316] S1105: Whether there is a target detour path.

[0317] If yes, execute S1106; if no, end.

[0318] S1106: Whether the target detour path conflicts with the travel path of other robots.

[0319] If yes, execute S1107; if no, execute S1109.

[0320] S1107: Whether the other robots can normally drive away from the target detour path.

[0321] If yes, execute S1108; if no, end.

[0322] S1108: Control the robot to wait for the other robots to drive away from the target detour path and adjust the target detour path to be in a forbidden entry state during the robot waiting period.

[0323] S1109: Control the robot to travel according to the target detour path.

[0324] It should be understood that the implementation of S1101-S1109 can refer to the specific description of the foregoing S901-S903 and S1001-S1002, which will not be repeated here.

[0325] The above describes the scheme of the embodiments of the present application mainly from the method aspect. It can be understood that the robot comprises at least one of the corresponding hardware structure and software module for executing each function in order to realize the above functions. Those skilled in the art should easily realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized in the form of hardware or the combination of hardware and computer software. Whether a certain function is realized in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. The skilled person can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0326] The embodiments of the present application can divide the functional units of the robot according to the above method examples. For example, each functional unit can be divided according to each function, or two or more functions can be integrated in one processing unit. The integrated unit can be realized in the form of hardware or software functional unit. It should be noted that the division of units in the embodiments of the present application is illustrative, and is only a logical functional division. There can be another division method in actual implementation.

[0327] For example, FIG. 15 shows a structural schematic diagram of a path planning device. The path planning device 120 can be used to execute the method involved in the above embodiments. The path planning device 120 comprises an acquisition unit 1201, a processing unit 1202 and a control unit 1203;

[0328] The acquisition unit 1201 is configured to acquire a plurality of bypass paths bypassing the front obstacle when the current path of the robot is blocked by the front obstacle; the start position and the end position of the bypass path are on the current path.

[0329] The processing unit 1202 is configured to determine a bypass path planning result based on the respective travel space information of the plurality of bypass paths; the travel space information is used to indicate the positional relationship of the robot relative to the surrounding objects when the robot travels according to the bypass path; the bypass path planning result is used to indicate a target bypass path allowing the robot to bypass the front obstacle, or to indicate that there is no target bypass path.

[0330] The control unit 1203 is configured to control the robot to execute a travel strategy corresponding to the bypass path planning result; the travel strategy comprises traveling according to the target bypass path to bypass the front obstacle, or waiting on the current path.

[0331] In a possible embodiment, the travel space information includes at least one of the following: a first distance between the space occupied by the robot and an edge of a road involved in the detour path, a second distance between the space occupied by the robot and the space occupied by the front obstacle when the robot is parallel to the front obstacle; the processing unit 1202 is specifically configured to: determine that there is no target detour path when the first distance of each of the plurality of detour paths is less than or equal to the first distance; determine the target detour path based on the second distance corresponding to each of the candidate detour paths when there is at least one candidate detour path with a first distance greater than the first distance in the plurality of detour paths; when the second distance corresponding to the candidate detour path is less than or equal to the second distance, the probability that the candidate detour path is determined as the target detour path is positively correlated with the second distance corresponding to the candidate detour path; when the second distance corresponding to the candidate detour path is greater than the second distance, the probability that the candidate detour path is determined as the target detour path is negatively correlated with the second distance corresponding to the candidate detour path.

[0332] In a possible embodiment, the travel space information further includes at least one of the following: a third distance between the space occupied by the robot and the space occupied by other obstacles around the detour path, a fourth distance between the space occupied by the robot and the space occupied by other robots passing through the detour path; the processing unit 1202 is specifically configured to: determine that there is no target detour path when the third distance corresponding to each of the at least one candidate detour path is less than or equal to the first distance; determine the target detour path based on the second distance and the fourth distance corresponding to each of the candidate detour paths when there is at least one candidate detour path with a first distance greater than the first distance and a third distance greater than the first distance in the plurality of detour paths; the probability that the candidate detour path is determined as the target detour path is negatively correlated with the fourth distance corresponding to the candidate detour path.

[0333] In a possible embodiment, the acquisition unit 1201 is further configured to acquire identification information of a front road on the current path; the identification information includes at least one of the following: a position of the front obstacle, a number of obstacles with a distance less than or equal to a third distance relative to the front obstacle, a state of a path behind the front obstacle on the current path; the state of the path includes a passing state or a congested state; the processing unit 1202 is further configured to determine whether the detour condition is met based on the identification information of the front road; the detour condition includes at least one of the following: the distance between the position of the front obstacle and the end of the current path is greater than a fourth distance, the number of obstacles is less than or equal to a preset number, and the state of the path is the passing state.

[0334] In a possible implementation, the acquisition unit 1201 is specifically configured to: determine a start position and an end position of the bypassing the front obstacle based on the length of the robot and the length and position of the front obstacle; the start position is a current position of the robot, or a distance between the start position and the position of the front obstacle is equal to a weighted sum of the length of the robot and the length of the front obstacle; the end position is equal to a distance between the end position and the position of the front obstacle is equal to a weighted sum of the length of the robot and the length of the front obstacle; determine a plurality of bypassing paths from the start position to the end position via the side of the front obstacle; the bypassing path includes a sub-path from the start position to a first intermediate position, a sub-path from the first intermediate position to a second intermediate position, and a sub-path from the second intermediate position to the end position; the first intermediate position is between the start position and the position of the front obstacle, and the second intermediate position is between the position of the front obstacle and the end position; the first intermediate positions of the sub-paths included in different bypassing paths are different, and / or the second intermediate positions of the sub-paths included in different bypassing paths are different.

[0335] In a possible implementation, in a case where the distance between the start position and the position of the front obstacle is greater than the length of the robot, the sub-path from the start position to the first intermediate position is a curved path; in a case where the distance between the start position and the position of the front obstacle is less than or equal to the length of the robot, the sub-path from the start position to the first intermediate position is a straight path.

[0336] In a possible implementation, the control unit 1203 is specifically configured to: in a case where the target bypassing path conflicts with the driving path of the other robot, control the robot to wait for the other robot to drive away from the target bypassing path and then drive according to the target bypassing path, so that the robot continues to drive according to the current path after bypassing the front obstacle, and adjust the target bypassing path to be in a forbidden driving-in state during the waiting of the robot, so as to prohibit the other robot whose driving path does not conflict with the target bypassing path from driving into the target bypassing path; in a case where the target bypassing path does not conflict with the driving path of the other robot, control the robot to drive according to the target bypassing path, so that the robot continues to drive according to the current path after bypassing the front obstacle.

[0337] For specific descriptions of the above optional manners, refer to the foregoing method embodiments, which will not be described here again. In addition, the explanations and beneficial effect descriptions of any one of the above provided path planning apparatuses 120 can refer to the corresponding method embodiments described above, which will not be described here again.

[0338] As an example, in combination with FIG. 1, the functions implemented by part or all of the acquisition unit 1201, the processing unit 1202, and the control unit 1203 in the path planning apparatus 120 can be implemented by the processor 101 in FIG. 1 executing program codes in the memory 102 in FIG. 1.

[0339] The embodiment of the present application further provides a computer readable storage medium, which stores a computer program. When the computer program is run on a server, the server executes the method executed by any of the servers provided above.

[0340] The explanation and beneficial effects of the related content in any of the computer readable storage media provided above can refer to the corresponding embodiments described above, and will not be repeated here.

[0341] The embodiment of the present application further provides a computer program product containing instructions, which, when run on a server, causes the server to execute any of the methods in the above embodiments. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the server, the processes or functions according to the embodiments of the present application are generated in whole or in part.

[0342] It should be noted that the devices for storing computer instructions or computer programs provided by the embodiments of the present application, such as but not limited to the above-mentioned memories, computer readable storage media, etc., are all non-volatile (non-transitory).

[0343] In the above embodiments, all or part of them can be realized by software, hardware, firmware or any combination thereof. When realized by software, it can be realized in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the server, the processes or functions according to the embodiments of the present application are generated in whole or in part.

[0344] Although the present application is described herein in conjunction with various embodiments, other variations of the disclosed embodiments can be understood and implemented by those skilled in the art through viewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "one" does not exclude a plurality. A single processor or other unit can implement several functions listed in the claims. Some measures are described in mutually different dependent claims, but this does not mean that these measures cannot be combined to produce good results.

[0345] Although the present application has been described in connection with certain specific features and embodiments thereof, it is to be understood that it is intended to cover all modifications and alternative methods of operation falling within the spirit and scope of the application as defined by the appended claims. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present application. Obviously, many modifications and variations of the present application are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims and their equivalents, the application can be practiced otherwise than as specifically described.

[0346] The above description is merely illustrative of the application, and not restrictive. Since the application has been described with reference to particular embodiments, it will be apparent to those skilled in the art that various modifications and changes can be made without departing from the spirit and scope of the application. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, as it is intended to cover all such modifications, equivalents, and alternatives.

Claims

1. A path planning method characterized by, Comprise: In the case that the front road of the current path of the first robot is blocked by a second robot, based on the spatial feature information of the second robot and a third robot on a parallel road of the front road, determine a passage detection result of the parallel road; the passage detection result is used to indicate whether the parallel road is passable; Control the first robot to execute a driving strategy corresponding to the passage detection result; the driving strategy includes waiting to pass through the front road, or switching to the parallel road to drive.

2. The method of claim 1, wherein, The spatial feature information includes at least one of the following: the device size and position of the second robot, the state and position of the third robot; the state of the third robot includes a stop state and a driving state; the determination of the passage detection result of the parallel road based on the spatial feature information of the second robot and the third robot on the parallel road of the front road includes: Based on the position and device size of the second robot and the device size of the first robot, determine the post-lane-changing path information of the first robot; the post-lane-changing path information is used to indicate the path planning information of the first robot on the parallel road; Based on the post-lane-changing path information, the position and state of the third robot, determine the passage detection result of the parallel road.

3. The method of claim 2, wherein, The post-lane-changing path information includes at least one of the following: the parallel distance of the first robot relative to the second robot when the first robot is in the parallel driving position of the second robot, the lane-changing and overtaking interval of the first robot on the parallel road, and the post-lane-changing path planning result; the determination of the post-lane-changing path information of the first robot based on the position and device size of the second robot and the device size of the first robot includes: Based on the device width of the second robot, the device width of the first robot, and the position distance between the parallel driving position and the position of the second robot, determine the parallel distance; Based on the position of the second robot and the device length of the first robot, determine the lane-changing and overtaking interval; the start of the lane-changing and overtaking interval is at a position that is a first safety distance before the position of the second robot, and the end of the lane-changing and overtaking interval is at a position that is the first safety distance after the position of the second robot; the first safety distance is determined based on the device length of the first robot; Based on the device length and position of the second robot and the device length of the first robot, determine the lane-changing end position of the first robot on the parallel road, and based on the lane-changing end position, determine the post-lane-changing path planning result; the post-lane-changing path planning result is used to indicate whether the lane-changing end position is drivable to the end of the current path.

4. The method of claim 3, wherein, The determination of the passage detection result of the parallel road based on the post-lane-changing path information, the position and state of the third robot includes: In a case where the parallel distance is greater than or equal to the second safety distance, and / or there is no third robot in a stop state in the lane-changing and overtaking interval, and / or the lane-changing post-path planning result indicates that the current path can be driven from the lane-changing end position to the end point of the current path, the passage detection result is determined as that the parallel road is passable. In a case where the parallel distance is less than the second safety distance, and / or there is a third robot in a stop state in the lane-changing and overtaking interval, and / or the lane-changing post-path planning result indicates that the current path cannot be driven from the lane-changing end position to the end point of the current path, the passage detection result is determined as that the parallel road is impassable.

5. The method of claim 1, wherein, In a case where the driving strategy is to switch to driving on the parallel road, the control of the first robot to execute the driving strategy corresponding to the passage detection result comprises: planning a lane-changing post-path based on the spatial feature information of the second robot; in a case where the parallel road is applied for use by a fourth robot, controlling the first robot to wait for the fourth robot to drive off the parallel road and then drive to the end point of the current path according to the lane-changing post-path, and adjusting the parallel road to be in a no-entry state during the waiting of the first robot to prohibit robots that have not applied for use of the parallel road from entering the parallel road; in a case where the parallel road is not applied for use, controlling the first robot to drive to the end point of the current path according to the lane-changing post-path.

6. The method of claim 5, wherein, The spatial feature information of the second robot includes the device length and position of the second robot; the planning of the lane-changing post-path based on the spatial feature information of the second robot comprises: determining a lane-changing start position on the front road and a lane-changing end position on the parallel road based on the device length and position of the second robot and the device length of the first robot; determining a lane-changing post-path to the end point of the current path based on the lane-changing end position on the parallel road.

7. The method according to any one of claims 1 to 6, characterized in that, Before the determination of the passage detection result of the parallel road based on the spatial feature information of the second robot and a third robot on the parallel road of the front road, the method further comprises: obtaining the end point of the path driven by the second robot and / or the remaining width on both sides of the second robot; the remaining width on both sides of the second robot includes the road width remaining on the left side of the second robot and the road width remaining on the right side of the second robot; determining whether to control the first robot to change lanes based on the size relationship between the distance between the end point of the path driven by the second robot and the end point of the current path and the preset distance, and / or the size relationship between the remaining width on both sides of the second robot and the device width of the first robot.

8. A route planning apparatus characterized by comprising: comprise: a processing unit and a control unit; The processing unit is configured to, in a case where a front road of a current path of the first robot is blocked by a second robot, determine a passing detection result of a parallel road of the front road based on spatial feature information of the second robot and a third robot on the parallel road; and the passing detection result is used to indicate whether the parallel road is passable. The control unit is configured to control the first robot to execute a driving strategy corresponding to the passing detection result; and the driving strategy includes waiting to pass through the front road or switching to driving on the parallel road.

9. A server, characterized by Comprising: a processor; The processor is connected with a memory, and the memory is used to store computer execution instructions; the processor executes the computer execution instructions stored in the memory, so that the server implements the method in any one of claims 1-7.

10. A readable storage medium, characterized by, A computer program product for storing computer instructions, when the computer instructions are run on a server, so that the server executes the method in any one of claims 1-7.

11. A computer program product comprising instructions, characterized in that, When the computer program product is run on a server, the server executes the method in any one of claims 1-7.

Citation Information

Patent Citations

  • Path planning method and device. and computer readable storage medium

    CN112327828A

  • Robot control method, device and equipment and storage medium

    CN113386141A

  • Robot control method, robot and computer readable storage medium

    CN114237219A

  • Robot driving control method and device and robot

    CN118192602A

  • Path planning method and device, equipment and storage medium

    CN118999567A