Path planning method, apparatus and system
By receiving the autonomous navigation area and determining whether the path is within the autonomous navigation area, the robot autonomously decides whether to bypass or wait for obstacles, solving the problem of robot waiting and congestion caused by obstacles in smart warehousing and improving operational efficiency.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-25
- Publication Date
- 2026-04-02
AI Technical Summary
In smart warehousing, robots often wait when they encounter obstacles, causing congestion and reducing operational efficiency. In particular, when materials fall, the obstacles need to be manually removed before the robots can continue moving.
A path planning method is provided, which receives an autonomous navigation area, determines whether the initial path is within the autonomous navigation area, and if so, activates the autonomous navigation function to autonomously decide whether to bypass or wait for obstacles, thereby improving operational efficiency.
Robots can make autonomous decisions when obstacles appear, avoiding waiting, improving operational efficiency, reducing congestion, and enhancing task execution efficiency.
Smart Images

Figure CN2025123864_02042026_PF_FP_ABST
Abstract
Description
Path planning method, device and system
[0001] This application claims priority to Chinese Patent Application No. 202411377755.3, filed September 29, 2024, and Chinese Patent Application No. 202411377747.9, filed September 29, 2024, the contents of which are incorporated herein by reference in their entirety. TECHNICAL FIELD
[0002] Embodiments of the present disclosure relate to the technical field of logistics warehousing, and in particular to a path planning method, device and system. BACKGROUND
[0003] In intelligent warehousing, when a robot encounters an obstacle on a driving path, the main solution strategy is usually to wait, which causes a large number of robots to queue and cause congestion. In the case of an obstacle being a material that has fallen in the warehouse, the robot can continue to drive only after the obstacle is manually removed, which reduces the efficiency of the robot operation. SUMMARY
[0004] Embodiments of the present disclosure provide a path planning method, device and system, and the following technical solutions are disclosed by the embodiments of the present disclosure:
[0005] A first aspect of the embodiments of the present disclosure provides a path planning method applied to a first device, and the method includes: receiving an autonomous navigation area sent by a second device; determining whether an initial path is in the autonomous navigation area, the initial path being a path planned by the second device for the first device to perform a first movement task; in the case that the initial path is in the autonomous navigation area, starting an autonomous navigation function and performing autonomous navigation, the end position of the autonomous navigation being a destination of the first movement task.
[0006] A second aspect of the embodiments of the present disclosure provides a path planning method applied to a second device, and the method includes: sending an autonomous navigation area to a first device, the autonomous navigation area being used by the first device to determine whether an initial path is in the autonomous navigation area, the initial path being a path planned by the second device for the first device to perform a first movement task, and in the case that the initial path is in the autonomous navigation area, the first device starts an autonomous navigation function and performs autonomous navigation, the end position of the autonomous navigation being a destination of the first movement task.
[0007] In a third aspect, an embodiment of the present disclosure provides a path planning device, applied to a first device, the device comprising: a receiving unit, a determining unit and a navigation unit. The receiving unit is configured to receive an autonomous navigation area sent by a second device. The determining unit is configured to determine whether an initial path is in the autonomous navigation area, the initial path being a path planned by the second device for the first device to perform a first movement task. The navigation unit is configured to start an autonomous navigation function and perform autonomous navigation when the initial path is in the autonomous navigation area, the end position of the autonomous navigation being a destination of the first movement task.
[0008] In a fourth aspect, an embodiment of the present disclosure provides a path planning device, applied to a second device, comprising a sending unit configured to send an autonomous navigation area to a first device. The autonomous navigation area is used by the first device to determine whether an initial path is in the autonomous navigation area, the initial path being a path planned by the second device for the first device to perform a first movement task. When the initial path is in the autonomous navigation area, the first device starts an autonomous navigation function and performs autonomous navigation, the end position of the autonomous navigation being a destination of the first movement task.
[0009] In a fifth aspect, an embodiment of the present disclosure provides a path planning system, comprising a first device and a second device. The first device is configured to perform the method in any of the implementations of the first aspect. The second device is configured to perform the method in any of the implementations of the second aspect.
[0010] In a sixth aspect, an embodiment of the present disclosure provides an electronic device, comprising: a processor and a memory, the memory being configured to store computer executable instructions; the processor being configured to read the instructions from the memory and execute the instructions to implement the method in any of the implementations of the first aspect and the second aspect.
[0011] In a seventh aspect, an embodiment of the present disclosure provides a computer readable storage medium, the computer readable storage medium storing computer instructions, the computer instructions being configured to cause the computer to perform the method in any of the implementations of the first aspect and the second aspect.
[0012] In an eighth aspect, an embodiment of the present disclosure provides a computer program product, the computer program product comprising a computer program stored on a computer readable storage medium, the computer program comprising program instructions, the program instructions being configured to cause a computer to perform the method in any of the implementations of the first aspect and the second aspect when the program instructions are executed by the computer. BRIEF DESCRIPTION OF DRAWINGS
[0013] FIG. 1A shows a schematic diagram of a path planning system according to an embodiment of the present disclosure;
[0014] FIG. 1B is an application scenario diagram according to an embodiment of the present disclosure.
[0015] FIG. 2 is a schematic diagram of a path planning method according to an embodiment of the present disclosure;
[0016] FIG. 3 is a schematic diagram of a path planning method for static obstacles according to an embodiment of the present disclosure;
[0017] FIG. 4A is a schematic diagram of a multi-directional road map according to an embodiment of the present disclosure;
[0018] FIG. 4B is a schematic diagram of a path planning method for dynamic obstacles according to an embodiment of the present disclosure;
[0019] FIG. 4C is a schematic diagram of a detour path scenario according to an embodiment of the present disclosure;
[0020] FIG. 5 is a schematic diagram of another path planning method according to an embodiment of the present disclosure;
[0021] FIG. 6 is a schematic diagram of a sampling process according to an embodiment of the present disclosure;
[0022] FIG. 7 is a schematic diagram of another sampling process according to an embodiment of the present disclosure;
[0023] FIG. 8 is a schematic diagram of another path planning method according to an embodiment of the present disclosure;
[0024] FIG. 9 is a schematic diagram of another path planning method according to an embodiment of the present disclosure;
[0025] FIG. 10 is a schematic diagram of a smoothing process for a re-planned path according to an embodiment of the present disclosure;
[0026] FIG. 11 is a schematic diagram of another path planning method according to an embodiment of the present disclosure;
[0027] FIG. 12 is a schematic diagram of a path re-planning process according to an embodiment of the present disclosure;
[0028] FIG. 13 is a schematic diagram of another path re-planning process according to an embodiment of the present disclosure;
[0029] FIG. 14 is a schematic diagram of another path planning method according to an embodiment of the present disclosure;
[0030] FIG. 15 is a schematic diagram of another path planning method according to an embodiment of the present disclosure;
[0031] FIG. 16 is a schematic diagram of another path planning method according to an embodiment of the present disclosure;
[0032] FIG. 17 is an interaction diagram of a path planning method according to an embodiment of the present disclosure;
[0033] FIG. 18 is a schematic diagram of a path planning device according to an embodiment of the present disclosure;
[0034] FIG. 19 is a schematic diagram of another path planning device according to an embodiment of the present disclosure;
[0035] FIG. 20 is a schematic diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0036] In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, the present disclosure can be practiced without the specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to obscure the present disclosure. Some embodiments of the present disclosure can be practiced in a variety of ways, and the present disclosure is not limited to the embodiments described below.
[0037] The schemes of the embodiments of the present disclosure are described below with reference to the drawings.
[0038] FIG. 1A is a schematic diagram of a path planning system according to an embodiment of the present disclosure.
[0039] In some embodiments, as shown in FIG. 1A, the path planning system 100 includes a first device 101 and a second device 102.
[0040] In some examples, the first device can be an intelligent warehouse device in a warehouse, for example, the first device can be an automated guided vehicle (AGV) or a picking and carrying device, i.e., a robot. The second device 102 can be a robot management system (RMS).
[0041] FIG. 1B is a schematic diagram of an application scenario according to an embodiment of the present disclosure.
[0042] As shown in FIG. 1B, the first device 101 can encounter an obstacle or other situations requiring path planning during movement according to an initial path.
[0043] In the related art, when the first device needs to plan a path, the RMS re-plans a path for the first device 101 and sends it to the first device to control the first device to continue driving according to the re-planned path. The path planning method provided by the present disclosure can enable the first device located in an autonomous navigation area to autonomously decide to avoid obstacles when the autonomous navigation function is turned on, thereby improving the operation efficiency of the first device.
[0044] In some embodiments, the first device 101 can be a device that needs to plan a path and avoid obstacles, for example, a carrying device (such as a robot) in a warehouse.
[0045] In some examples, the first device 101 can be a robot for carrying a box and / or goods, such as a RoboShuttle (RS) robot. In this case, the RS robot carries target goods and / or a target box at a target location on a fixed shelf to another location, or carries target goods and / or a target box at another location to a target location on the fixed shelf.
[0046] In some examples, the first device 101 can also be a robot for carrying a shelf, for example, the first device 101 can be a P robot. In this case, the P robot is used to carry a mobile shelf (also referred to as a portable shelf). In this case, the P robot can carry the mobile shelf to a picking area or a location under the fixed shelf or other locations according to a carrying task sent by a server (such as a RMS).
[0047] In some examples, the first device 101 can also be a sorting robot, such as an S robot. In this case, the S robot is used to sort different types of boxes / goods.
[0048] In some examples, the first device 101 can also be a forklift robot, such as an F robot, or a mobile carrying robot, such as an M robot, and the like. The specific type of the first device 101 is not limited in the embodiments of the present disclosure.
[0049] In some examples, different functional modules can be deployed on the first device 101 according to different types of robots. For example, the first device 101 can include a communication module for communication, a power supply module for power supply, a camera module for identifying road conditions and identifying a two-dimensional code of a box / shelf / landmark, a PNC module for planning a control map, and a clock module, and the like.
[0050] In some embodiments, the path planning method provided by the embodiments of the present disclosure can be applied to the first device 101 in the path planning system 100. The path planning system 100 further includes a second device 102, which has the function of planning and issuing a path for the first device 101. For example, the second device 102 can be deployed with a robot management system (RMS) or an autonomous mobile robot (AMR) control system, and the like.
[0051] In some examples, the second device 102 can be a terminal or a server. For example, in the case that the second device 102 is a terminal, the second device 102 can include various personal computers, notebook computers, smart phones, tablet computers, and portable wearable devices. In the case that the second device is a server, the second device 102 can be a standalone server or a server cluster composed of multiple servers, and the embodiments of the present disclosure do not limit this.
[0052] In some examples, the second device 102 and the first device 101 can communicate, the second device can control or manage the first device 101, the second device can plan and issue a path for the first device 101, the first device 101 can feed back real-time position, task execution, abnormal situation, etc. in the process of moving along the issued path to the second device 102, the first device 101 can have an autonomous navigation function, and the first device 101 can report the result of autonomous navigation, position information, etc. to the second device after autonomous navigation, and the present disclosure does not limit this.
[0053] FIG. 2 is a schematic diagram of a path planning method according to an embodiment of the present disclosure. It should be noted that the path planning method shown in FIG. 2 can be applied to the first device 101. As shown in FIG. 2, the method includes the following steps:
[0054] Step 201, receiving an autonomous navigation area sent by the second device.
[0055] In some embodiments, the autonomous navigation area is a range of an area determined by the second device based on historical data fed back by the first device, in which the first device can perform autonomous navigation. The historical data can include congestion information of the first device.
[0056] In some embodiments, the autonomous navigation area can be determined by the second device according to congestion information of a plurality of first devices in a first area, using a density clustering algorithm to identify congestion heat, determining congestion probabilities of a plurality of sub-areas in the first area, and determining a sub-area with a congestion probability meeting a preset threshold as the autonomous navigation area.
[0057] In some examples, the autonomous navigation area is an area in which the first device can make autonomous decisions based on current congestion.
[0058] For example, in the case that the first device encounters an obstacle block in the autonomous navigation area, the first device can select a route such as detouring or waiting to stop. The first device can determine a detouring route within the scope of autonomous decision-making authority, or the first device can send a decision to detour to the second device, and the second device can plan a detouring route for the first device, or in the case that the first device appears in a situation in which the second device cannot provide a decision in the autonomous navigation area, the first device can perform autonomous navigation.
[0059] In some embodiments, receiving the autonomous navigation area sent by the second device includes: receiving the autonomous navigation area sent by the second device at the same time when the initial path is sent; or sending an autonomous navigation request to the second device, and receiving the autonomous navigation area sent by the second device in response to the autonomous navigation request.
[0060] In some examples, the autonomous navigation area sent by the second device can be sent together with the initial path planned by the second device for the first device, or can be sent separately. That is, the timing of sending the autonomous navigation area by the second device is optional. The second device can send the autonomous navigation area at the same time when the initial path is sent, or can send the autonomous navigation area separately in response to the autonomous navigation request sent by the first device, and the embodiments of the present disclosure do not limit this.
[0061] In some examples, the first device sends an autonomous navigation request to the second device, and the second device sends the autonomous navigation area to the first device based on the request sent by the first device. For example, the robot receives the autonomous navigation area and / or the initial path sent by the RMS system, and the initial path is the path planned by the RMS system for the robot to perform the first movement task.
[0062] In step 202, it is determined whether the initial path is in the autonomous navigation area.
[0063] In some embodiments, the initial path is a path planned by the second device for the first device to perform the first movement task.
[0064] In some embodiments, determining whether the initial path is in the autonomous navigation area can be that the second device cannot currently provide path planning for the first device, and the first device determines whether the current position is in the area in which autonomous navigation can be performed and which is sent by the second device.
[0065] In some embodiments, the first device determining whether the initial path is in the autonomous navigation area can be used to determine whether the first device determines to start the autonomous navigation function.
[0066] In some embodiments, the first device can determine whether the initial path is in the autonomous navigation area in the case of encountering an obstacle.
[0067] In some embodiments, the first device can determine whether the initial path is in the autonomous navigation area in the case of insufficient computing power of the RMS system.
[0068] In some embodiments, the first device can also determine whether it is in the autonomous navigation area at any time during the execution of the first movement task.
[0069] In some examples, in a case where the first device determines that the initial path is not in the autonomous navigation area, the first device can send a request to the second device to request the second device to make a decision for the first device when encountering an obstacle or needing to re-plan a path.
[0070] In some examples, in a case where the first device determines that the initial path is in the autonomous navigation area, the first device can select to turn on the autonomous navigation function so that autonomous decision can be made when encountering an obstacle or needing to re-plan a path.
[0071] In some embodiments, determining whether the initial path is in the autonomous navigation area comprises: determining whether the initial path is blocked by an obstacle; and in a case where the initial path is blocked by the obstacle, determining whether the initial path is in the autonomous navigation area.
[0072] In some embodiments, the obstacle can be other devices or other objects in the warehouse that are not used to perform the first mobile task, such as dropped goods in the warehouse, workers, other terminal devices, etc., which are not limited by the present disclosure. That is, the obstacle can be a device, object or person that blocks the first device from continuing to travel along the initial path during movement of the first device along the initial path.
[0073] In some examples, the initial path of the robot is blocked by an obstacle, and the robot can determine whether the initial path is in the autonomous navigation area based on the autonomous navigation area issued by the RMS to determine whether the autonomous navigation function can be turned on.
[0074] In some embodiments, determining whether the initial path is blocked by an obstacle comprises: obtaining point cloud data from a sensor device of the first device and transforming the point cloud data into a grid cost map; projecting the initial path into the grid cost map to determine whether there is an obstacle at a first path point on the initial path, the first path point being any path point from a current position of the first device to an end position; and determining that the initial path is blocked by the obstacle at the first path point in a case where the obstacle continuously exists at the first path point or the obstacle exists at the first path point when the first device moves to the first path point along the initial path.
[0075] In some embodiments, the grid cost map can be generated by the first device or obtained by the first device from other devices (such as the second device), and is a data structure that can be used for robot navigation and path planning. The grid cost map divides the warehouse environment into a series of grid units, and each grid unit is assigned a certain cost value to represent information such as accessibility, safety or feasibility of the position.
[0076] In some examples, the sensor of the first device (e.g., a robot) can be used to perceive the surrounding environment of the first device. For example, the sensor device of the terminal device can be a radar sensor device, and the first device can obtain radar point cloud data from the radar sensor device and transform the radar point cloud data into a grid cost map, thereby assisting the robot in identifying obstacles.
[0077] In some embodiments, the first device can project the initial path into the grid cost map to determine whether there is an obstacle on the initial path.
[0078] In some embodiments, the first device determines whether there is an obstacle on the initial path through the grid cost map, including: using the characteristics of the grid cost map, determining the occupancy situation (e.g., occupied or unoccupied) of a certain grid on the initial path through the projection of the initial path on the grid cost map. In the case that at least one grid on the initial path is occupied, it indicates that the position of the at least one grid is blocked by an obstacle.
[0079] For example, it can be determined whether there is an obstacle on a first path point on the initial path, the first path point being any path point from the current position of the first device to the terminal position on the initial path. That is, in the grid cost map, in the case that the grid corresponding to the first path point is occupied, it is determined that there is an obstacle on the first path point, i.e., there is an obstacle on the initial path.
[0080] In some embodiments, projecting the initial path into the grid cost map to determine whether there is an obstacle on the first path point on the initial path can be to predict whether there is an obstacle on the first path point when the first device moves along the initial path to the first path point. That is, it can be predicted whether there is an obstacle on the first path point at the moment when the first device reaches the first path point.
[0081] In some embodiments, in the case that the grid corresponding to the first path point is occupied, it indicates that there is a continuous obstacle on the first path point or there is an obstacle on the first path point when the first device moves along the initial path to the first path point, so that it can be determined that the initial path is blocked by an obstacle at the first path point.
[0082] For example, the occupancy situation of the grid can be represented using binary values 0 and 1, where 0 can represent unoccupied and 1 can represent occupied. For another example, the occupancy situation of the grid can also be represented using probability, such as the probability value between 0 and 1 can be used to represent the possibility of the grid being occupied, and when the probability value falls within a certain range, it indicates that the grid is occupied, otherwise it indicates that the grid is unoccupied. The determination method of the occupancy situation is not limited by the present disclosure.
[0083] In some examples, after the first device projects the initial path into the grid cost map, the initial path can occupy a plurality of grids (referred to as initial grids) in the grid cost map. In the process of the first device driving along the initial path, the first device can obtain a point cloud of the surrounding environment from the sensor device, and map the point cloud into the grid cost map to obtain a plurality of grids (referred to as obstacle grids) occupied by obstacles in the current environment. The first device compares the positions of the plurality of initial grids occupied by the initial path and the positions of the plurality of obstacle grids occupied by the obstacles in the warehouse environment to determine whether the plurality of initial grids are occupied by any obstacle grid. In the case that at least one initial grid is occupied, it is determined that the initial path is blocked by the obstacles, that is, there is at least one obstacle on the initial path; in the case that at least one initial grid is not occupied, it is determined that the initial path is not blocked by the obstacles, that is, there is no obstacle on the initial path. Wherein, in the case that the initial path is blocked, the number of obstacles can be one or more.
[0084] In some embodiments, in the case that the first device determines that there is no obstacle on the initial path, the first device can walk along the initial path. For example, the first device can calculate control instructions according to the initial path and issue the control instructions to the execution controller, so as to continue path pure tracking of the initial path. That is, in the case that there is no obstacle on the initial path, or in the case that there is no obstacle on a section of the initial path, the first device can continue to travel according to the initial path.
[0085] The path planning method provided by the embodiments of the present disclosure can be used to determine whether the initial path is in the autonomous navigation region in the case that the initial path is blocked by obstacles, so as to prepare for subsequent obstacle avoidance. In the case that the first device encounters obstacles, by determining whether it is in the autonomous navigation region, it can be determined whether autonomous navigation is possible when obstacles are encountered, so as to improve the efficiency of the robot.
[0086] In the above embodiments, the first device can also determine whether the initial path is in the autonomous navigation region based on other reasons, for example, the RMS system has insufficient computing power and cannot provide decisions to the first device, so it is necessary to determine whether the initial path is in the autonomous navigation region to prepare for subsequent autonomous decision-making. That is, the robot can perform autonomous navigation in time to avoid delaying the execution of the mobile task of the robot due to the RMS system, thereby further improving the efficiency of the robot.
[0087] In the above embodiments, the prerequisite for the first device to determine whether the initial path is in the autonomous navigation region is not limited, for example, the first device can always determine whether it is in the autonomous decision-making region in the process of executing the first mobile task, so that it can determine whether to start the autonomous navigation function at any time, thereby further improving the execution efficiency of the first device.
[0088] That is, the embodiments of the present disclosure can trigger the first device to determine whether the initial path is in the autonomous navigation area in the case that the initial path is blocked by an obstacle, or can trigger the first device to determine whether the initial path is in the autonomous navigation area in the case that the RMS computing power is insufficient to provide a decision to the first device, or the first device can dynamically determine whether it is currently in the autonomous navigation area during movement along the initial path, and start autonomous navigation in the case that it is in the navigation area.
[0089] In step 203, the autonomous navigation function is started in the case that the initial path is in the autonomous navigation area.
[0090] In some embodiments, in the case that the initial path is in the autonomous navigation area, i.e., the first device meets the conditions for autonomous navigation, the first device can select to start the autonomous navigation function to make autonomous decisions and autonomous navigation.
[0091] In some embodiments, the autonomous navigation function can be an autonomous decision behavior of the first device to determine whether to continue to travel along the initial path, or to change the travel route, or to stop and wait, etc., based on the current position and the surrounding environment.
[0092] In some embodiments, in the case that the initial path is in the autonomous navigation area, the autonomous navigation function is started and autonomous navigation is performed, including: automatically starting the autonomous navigation function and performing autonomous navigation in the case that the initial path is in the autonomous navigation area; or sending a start request to the second device in the case that the initial path is in the autonomous navigation area; and starting the autonomous navigation function and performing autonomous navigation in response to a start instruction sent by the second device.
[0093] In some embodiments, the first device can start the autonomous navigation function by itself, or can request the second device to start the autonomous navigation function of the first device. In other words, in the case that the robot is in the autonomous navigation area, the robot can autonomously decide to start the autonomous navigation function to realize the autonomous decision-making capability of the robot, or the RMS can control whether to start the autonomous navigation function of the robot to realize the purpose of controlling the robot by the RMS.
[0094] In some examples, the robot determines whether it is blocked by an obstacle during walking, determines whether it is in the autonomous decision-making navigation area in the case that it is blocked by an obstacle, starts the autonomous decision-making navigation function in the case that it is in the autonomous decision-making navigation area, or sends a start instruction of the autonomous decision-making navigation function to the RMS and starts the autonomous decision-making navigation function after receiving a start instruction sent by the RMS.
[0095] In some embodiments, after the first device starts the autonomous navigation function, the first device can make autonomous decisions, and make autonomous judgments and decisions based on the current situation during the execution of the first movement task to reach the end position.
[0096] In some embodiments, when the initial path is in the autonomous navigation area, the autonomous navigation function is started, and the autonomous navigation is executed, including: determining the type of the obstacle blocking the initial path, the type of the obstacle including static obstacles and dynamic obstacles; determining a strategy for executing autonomous navigation according to the type of the obstacle; the strategy including at least one of stopping and waiting, a waiting time, and an autonomous navigation path, the autonomous navigation path being a path bypassing the obstacle and reaching the end position, the autonomous navigation path including at least one of a bypass path and a re-planning path.
[0097] In some embodiments, after the first device starts the autonomous navigation function, the first device can determine a strategy for executing autonomous navigation based on the current environment, including: determining the type of the obstacle blocking the initial path, and making autonomous decisions according to the type of the obstacle, wherein the content of the autonomous decisions is the way to avoid the obstacle.
[0098] In some examples, the strategy for the first device to avoid the obstacle (i.e., the autonomous navigation strategy) can be a waiting strategy or an autonomous navigation path strategy. For example, the waiting strategy is used to instruct the first device to wait at a path point before the obstacle, and continue to travel according to the initial path after the obstacle is handled. Wherein the obstacle being handled can include a person or a device leaving, or an article being handled, etc. For another example, the autonomous navigation path strategy is used to instruct the first device to switch from the initial path to the autonomous navigation path, and continue to travel according to the autonomous navigation path, thereby avoiding the obstacle, and the autonomous navigation path strategy does not require the first device to wait for the obstacle to be handled.
[0099] In some examples, when the first device makes autonomous decisions, the type of the obstacle can be considered, and the corresponding autonomous navigation strategy can be different for different types of obstacles.
[0100] In some embodiments, determining the type of the obstacle blocking the initial path can include: determining a first confidence that the obstacle is a static obstacle or a second confidence that the obstacle is a dynamic obstacle at multiple time points in a preset time period; in a case where the first confidence reaches a first preset threshold, determining that the type of the obstacle is a static obstacle, otherwise, determining that the type of the obstacle is a dynamic obstacle; or, in a case where the second confidence reaches a second preset threshold, determining that the type of the obstacle is a dynamic obstacle, otherwise, determining that the type of the obstacle is a static obstacle.
[0101] In some embodiments, the first preset threshold is a threshold of the preset confidence corresponding to the type of static obstacle. The second preset threshold is a threshold of the preset confidence corresponding to the type of dynamic obstacle. When either of the confidences reaches the corresponding threshold, the type of the obstacle can be determined as the type corresponding to the threshold.
[0102] In some examples, the first preset threshold can be set, i.e., the first confidence that the obstacle is a static obstacle can be determined at multiple time points in a preset time period, and the first confidence is compared with the first preset threshold, so as to determine whether the obstacle type is static or dynamic.
[0103] In some other examples, the second preset threshold can also be set, i.e., the second confidence that the obstacle is a dynamic obstacle can be determined at multiple time points in a preset time period, and the second confidence is compared with the second preset threshold, so as to determine whether the obstacle type is dynamic or static.
[0104] That is, the first device can determine the type of the obstacle by determining the first confidence of the obstacle and comparing the first confidence with the first preset threshold. In the case where the first confidence reaches the first preset threshold, the obstacle is determined as a static obstacle, and in the case where the first confidence does not reach the first preset threshold, the obstacle is determined as a dynamic obstacle. Alternatively, the first device can also determine the type of the obstacle by determining the second confidence of the obstacle and comparing the second confidence with the second preset threshold. In the case where the second confidence reaches the second preset threshold, the obstacle is determined as a dynamic obstacle, and in the case where the second confidence does not reach the second preset threshold, the obstacle is determined as a static obstacle. Alternatively, the first device can also determine the first confidence and the second confidence corresponding to the obstacle, compare the first confidence with the first preset threshold to determine the type of the obstacle, and then compare the second confidence with the second preset threshold to further verify the type of the obstacle, which is not limited in the embodiments of the present disclosure.
[0105] In some embodiments, the type of the obstacle can be determined by planning a reference path for the first device to predict the passability at a future time, so as to determine the type of the obstacle. For example, the initial likelihoods of the obstacle being dynamic and static are both 50%, the confidences of the obstacle being dynamic and static are determined at multiple time points, the likelihoods of the obstacle being dynamic and static are changed through the changes of the confidences, and then the type of the obstacle is determined.
[0106] In some examples, the obstacle motion probability estimation is performed on the local perception map of the obstacle within a predetermined time period. For example, a POMDP (partially observable Markov decision process) algorithm can be employed to analyze the motion trend of the obstacle within a continuous time period, and a particle sampling / selection / expansion / simulation and back propagation method can be used to predict the motion trend of the obstacle and perform result statistics, so as to determine the type of the obstacle, and a detour path can be determined based on the motion trajectory of the obstacle.
[0107] In some embodiments, the first confidence that the obstacle is a static obstacle or the second confidence that the obstacle is a dynamic obstacle is determined at multiple time points within a predetermined time period, including: determining a reference path for the first device to bypass the obstacle; determining a first initial confidence and a second initial confidence at a first time point of the multiple time points within the predetermined time period; determining whether the first device can pass through the reference path at a second time point of the multiple time points within the predetermined time period, the second time point being located after the first time point in a time sequence; in a case where the first device can pass through the reference path at the second time point, increasing the first initial confidence by a preset value and decreasing the second initial confidence by the preset value; in a case where the first device cannot pass through the reference path at the second time point, decreasing the first initial confidence by the preset value, increasing the second initial confidence by the preset value, and re-performing path planning until the multiple time points are traversed.
[0108] In some embodiments, the reference path can be a travel path planned for the first device to bypass the obstacle.
[0109] In some embodiments, the first device can pass through the reference path at the first time point and can still pass through the reference path at the second time point, indicating that the current scene is more likely to be a static scene, so that the first confidence that the obstacle is a static obstacle can be increased and the second confidence that the obstacle is a dynamic obstacle can be decreased, and the next time point whether the reference path can be passed through is determined.
[0110] In some embodiments, the first device can pass through the reference path at the first time point but cannot pass through the reference path at the second time point, indicating that the current scene is more likely to be a dynamic scene, so that the second confidence that the obstacle is a dynamic obstacle can be increased and the first confidence that the obstacle is a static obstacle can be decreased, and the reference path is re-planned for bypassing.
[0111] That is, the first confidence or the second confidence of the obstacle can be dynamically adjusted by the first device passing the reference path at any two adjacent time points among multiple time points during travel, so as to improve the judgment of the type of the obstacle. The first device passes the reference path at the two adjacent time points, indicating that the obstacle is more likely to be a static obstacle, thereby increasing the first confidence and reducing the second confidence; the first device passes the reference path at the previous time point and does not pass the reference path at the next time point, indicating that the obstacle is more likely to be a dynamic obstacle, thereby the first confidence can be reduced and the second confidence can be increased.
[0112] In some examples, a plurality of time points in a preset time period are traversed, and in a case where the first device can pass the reference path at any two adjacent time points among the plurality of time points, the first device can perform the first movement task according to the reference path; in a case where the first device passes the reference path at a previous time point and cannot pass the reference path at a next time point, after adjusting the first confidence and the second confidence, the first device re-plans the path, and the first device continues to traverse subsequent time points during travel according to the re-planned path, and so on, to complete the first movement task.
[0113] In some embodiments, when the plurality of time points are traversed, it is determined whether the time points on the path of the first device passing the obstacle can be passed, thereby obtaining the first confidence and the second confidence, and by determining that the first confidence reaches a first preset threshold or the second confidence reaches a second preset threshold, the type of the obstacle is determined to be a static obstacle or a dynamic obstacle.
[0114] In some embodiments, the type of the obstacle blocking the initial path can be determined by a prediction model. The prediction model can be trained based on historical data on an initial model. The historical data can include the state of the obstacle, the behavior of the first device, and the reward value. The historical data can include the strategy of the robot encountering the obstacle collected, and the corresponding reward value added for different behaviors. For example, the reward values added for different behaviors can be: the reward value of pure tracking is 5, the reward value of stopping and waiting is -5, the reward value of static bypassing is 2, and the reward value of dynamic interaction is 1. 250 data are collected for each state on a path, thereby forming training data, the reward values on a path are weighted and calculated to obtain a final reward value, and the state with the maximum reward value is the final decision. The initial model is trained using the training data, thereby obtaining the prediction model which can predict the type of the obstacle.
[0115] The path planning method provided in the embodiments of the present disclosure can enable the first device to autonomously determine and make a travel path to cope with different situations, so as to reach the destination of the first mobile task and implement efficient task execution.
[0116] The process in which the first device performs autonomous navigation in the case where the type of the obstacle is a static obstacle will be described below with reference to FIG. 3.
[0117] FIG. 3 is a schematic diagram of a path planning method for a static obstacle according to an embodiment of the present disclosure. As shown in FIG. 3, the strategy for performing autonomous navigation is determined according to the type of the obstacle, including the following steps.
[0118] In step 301, the occlusion ratio of the obstacle to the initial path and the road width of the initial path are obtained.
[0119] In some embodiments, in the case where the type of the obstacle is a static obstacle, the position of the obstacle is unchanged relative to the initial path, that is, the first device needs to change the travel path or detour through the position where the obstacle is located to achieve the purpose of avoiding the obstacle.
[0120] In some embodiments, the occlusion ratio is the area ratio of the initial path occupied by the static obstacle, that is, the range of the travel path blocked by the first device.
[0121] In some embodiments, the road width of the initial path can be the minimum path width when the first device travels. For example, the road width of the initial path can be the road width in the actual scene configured by the system.
[0122] In some embodiments, the first device can identify the area of the initial path blocked by the obstacle through a sensor, so as to determine the occlusion ratio.
[0123] In step 302, whether the first device can bypass the obstacle without changing the initial path is determined based on the occlusion ratio and the road width.
[0124] In some embodiments, determining whether the first device can bypass the obstacle without changing the initial path can be that the occlusion ratio is less than the ratio of the difference between the width of the first device and the road width to the initial path, that is, the road width allows the first device to avoid the obstacle by detouring, and then it is determined that the first device can bypass the obstacle without changing the initial path.
[0125] In some embodiments, the determining whether the first device can bypass the obstacle without changing the initial path can be that the blocking ratio is greater than or equal to a ratio of a difference between the width of the first device and the width of the road to the initial path, that is, the width of the road does not allow the first device to bypass the obstacle by detouring, and it is determined that the first device cannot bypass the obstacle without changing the initial path.
[0126] That is, in the case of determining the width of the road of the initial path, the difference between the width of the first device and the width of the road can be further determined, and the ratio of the difference to the initial path (which can be referred to as a difference ratio) is determined. After determining the difference ratio, the blocking ratio is compared with the difference ratio. For example, in the case where the blocking ratio is less than the difference ratio, it indicates that the passable width corresponding to the current width of the road (such as the width of the road excluding the blocking of the obstacle, which can satisfy the passing of the first device) can allow the first device to bypass the obstacle by detouring, that is, the first device can bypass the obstacle without changing the initial path. In the case where the blocking ratio is greater than or equal to the difference ratio, it indicates that the passable width corresponding to the current width of the road does not allow the first device to bypass the obstacle by detouring, that is, the first device cannot bypass the obstacle without changing the initial path.
[0127] The path planning method provided by the embodiments of the present disclosure can determine whether the first device can bypass the obstacle by detouring based on the blocking ratio of the static obstacle occupying the initial path and the width of the road, so that the first device determines the detouring path by autonomous decision, and further determines an efficient strategy for avoiding the obstacle.
[0128] Step 303, in the case where it is determined that the first device can bypass the obstacle without changing the initial path, a detouring path is determined according to the surrounding environment of the obstacle, the detouring is performed according to the detouring path, and after the detouring, the first device continues to travel according to the initial path.
[0129] In some embodiments, the surrounding environment of the obstacle can be the vacancy condition of the road around the obstacle, that is, the range that can be passed around the obstacle.
[0130] In some embodiments, the detouring path can be a path in which the first device changes the traveling direction to bypass the obstacle.
[0131] For example, the robot can determine the detouring path according to the range that can be passed around the obstacle, and after the detouring according to the detouring path, the robot continues to travel according to the original path.
[0132] Step 304, in the case where it is determined that the first device cannot bypass the obstacle without changing the initial path, a re-planned path is determined, and the first device travels according to the re-planned path.
[0133] In some embodiments, the first device cannot bypass the obstacle without changing the initial path, indicating that the road width does not allow the first device to bypass the obstacle, and the first device needs to re-determine the path for performing the first movement task.
[0134] In some examples, the first device (such as a robot) cannot bypass the obstacle on the current section in the case that the initial path is blocked by a static obstacle and the blocking area is greater than the difference between the width of the robot and the road width, and needs to re-plan the path to reach the destination.
[0135] It should be noted that the initial path is not changed in the embodiments of the present disclosure refers to the overall initial path is not changed, and only the path blocked by the obstacle on the initial path is adjusted, that is, the first device travels according to the initial path, moves from the initial path to the bypass path in the case of encountering an obstacle, and then continues to perform the first movement task on the initial path after bypassing the obstacle through the bypass path. The initial path is changed in the embodiments of the present disclosure refers to the path of the first device after bypassing the obstacle is completely different from the initial path, that is, the first device travels according to the initial path, moves from the initial path to the re-planned path in the case of encountering an obstacle, and continues to perform the first movement task along the re-planned path.
[0136] In some embodiments, determining the re-planned path comprises: sending feedback information to the second device, the feedback information being used to inform the first device that at least one of the following exists on the initial path: an obstacle that cannot be bypassed, and path re-planning is required for performing the first movement task; receiving a re-planning indication sent by the second device, the re-planning indication being used to instruct the first device to autonomously generate a re-planned path; in response to the re-planning indication, autonomously generating the re-planned path; or receiving a re-planned path sent by the second device, the re-planned path being a path re-planned by the second device for the first device, and the re-planned path being generated by the second device based on the multi-directional road map.
[0137] FIG. 4A is a schematic diagram of a multi-directional road map provided by an embodiment of the present disclosure. As shown in FIG. 4A, the probabilities of each travel direction of the robot at any point in the multi-directional road map are generally different, and the second device can change the direction of the travel path according to the congestion condition in front and the current drivable direction.
[0138] In some examples, there are positions in the multi-directional road map where four directions are drivable, and there are also positions where only one direction, only two directions, or only three directions are drivable, and in the re-planning process, the second device can determine the path re-planned for the robot according to the probabilities of each direction that can be selected at each position.
[0139] The path planning method provided by the embodiments of the present disclosure increases the number of schemes for the second device to re-plan the path for the first device by setting the multi-directional road map, avoids the phenomenon of queuing through the same location when multiple first devices re-plan the path, causes congestion of the first device, and reduces the working efficiency of the first device.
[0140] In some embodiments, the first device can send feedback to the second device in the case that the initial path cannot bypass the obstacle, the second device can re-plan the travel path for the first device and issue it to the first device, or the first device can receive an indication sent by the second device to autonomously re-plan the travel path.
[0141] In some embodiments, the first device can also send feedback information to the second device in the process of performing the first mobile task when encountering other situations that need to re-plan the path, for example, the power of the first device is insufficient and needs to reach the destination faster, the second device can instruct the first device to autonomously generate a re-planned path, or the second device can re-plan and send the re-planned path to the first device to achieve the purpose of changing the travel path.
[0142] That is, the first device can autonomously re-plan the path in the case of needing to re-plan the path, or can receive the re-planned path issued by the second device. For example, the first device can send feedback information that the obstacle cannot bypass to the second device, the second device sends a re-planning instruction to the first device based on the feedback information, and the first device autonomously generates a re-planned path in response to the re-planning instruction; or the second device generates a re-planned path for the first device based on the feedback information and sends the re-planned path to the first device.
[0143] In some embodiments, the first device autonomously re-planning the path can include: sampling the initial path; determining the re-planned path according to the plurality of first sampling points, the plurality of second sampling points, the position of the obstacle, and the grid cost map.
[0144] In some examples, the way to determine the re-planned path can be to determine the distance between each sampling point in the plurality of first sampling points and the plurality of second sampling points and the position center point of the obstacle by using the grid cost map; determining the sampling point with a distance greater than or equal to a preset distance threshold as an effective sampling point; determining the safety cost value of each effective sampling point according to the distance between each effective sampling point and the position center point of the obstacle; and determining the re-planned path according to the distance between each effective sampling point and the position center point of the obstacle and the safety cost value.
[0145] In some examples, the way for the first device to autonomously re-plan the path can also be other ways, which are not limited by the present disclosure.
[0146] In the above embodiment, when the obstacle blocking the initial path of the first device is a static obstacle, the first device can autonomously decide to bypass the obstacle to pass through the blocked path segment, and in the case where bypassing is not possible, the first device can autonomously decide to re-plan the path based on the indication of the second device, achieving autonomy and efficiency of the first device.
[0147] The process of the first device performing autonomous navigation in the case where the type of the obstacle is a dynamic obstacle in the embodiments of the present disclosure will be described below in conjunction with FIG. 4B.
[0148] FIG. 4B is a schematic diagram of a path planning method for a dynamic obstacle according to an embodiment of the present disclosure, applied to the first device. As shown in FIG. 4B, according to the type of the obstacle, the strategy for performing autonomous navigation can include the following steps:
[0149] Step 401: Determine the correlation between the travel trajectory of the obstacle and the initial path.
[0150] In some embodiments, the correlation includes: same direction travel, opposite direction travel, cross travel, and no correlation.
[0151] In some embodiments, in the case where the travel trajectory of the obstacle is in the same direction as the initial path, the correlation is same direction travel, which means that the first device and the dynamic obstacle travel in the same direction. The travel speed of the first device and the dynamic obstacle can be the same or different.
[0152] In some embodiments, in the case where the first device and the dynamic obstacle travel in the same direction and at the same speed, the first device needs to maintain a certain distance from the dynamic obstacle for safety considerations. In the case where the distance between the dynamic obstacle and the first device is less than the safety distance, the dynamic obstacle forms an obstacle to the first device, and the first device can stop and wait until the distance to the dynamic obstacle satisfies the safety distance, and then maintain the same speed as the dynamic obstacle and travel along the initial path, or re-plan the path.
[0153] In some embodiments, in the case where the first device and the dynamic obstacle travel in the same direction and at the same speed, the dynamic obstacle and the first device maintain the same speed between them, and the distance between them is much greater than the safety distance, so the dynamic obstacle does not form an obstacle to the first device, and the first device can continue to travel along the initial path. The dynamic obstacle is always in a region outside the safety distance in front of the first device and does not hinder the travel of the first device.
[0154] In some embodiments, in the case where the travel trajectory of the obstacle is in the opposite direction of the initial path, the correlation is opposite direction travel, which means that the first device and the dynamic obstacle travel in opposite directions.
[0155] In some embodiments, in the case that the travel trajectory of the obstacle intersects with the initial path, the correlation is intersecting travel.
[0156] In some embodiments, in the case that the travel trajectory of the obstacle has no correlation with the initial path, it indicates that the first device cannot determine the travel trajectory of the obstacle, which can be a foreign object of different attributes from the first device or a person.
[0157] That is, the first device can determine the correlation between the obstacle and the first device based on the travel trajectory of the dynamic obstacle during the process of traveling along the initial path. For example, in the case that the dynamic obstacle is another automated device in the warehouse (e.g., the dynamic obstacle is another robot different from the first device), the first device can obtain the travel trajectory of the dynamic obstacle from the RMS, and determine, based on the travel trajectory of the dynamic obstacle, that the correlation between the travel trajectory and the initial path corresponding thereto is co-directional travel, reverse travel, or intersecting travel. For another example, in the case that the dynamic obstacle is a person or a foreign object of other attributes, the first device cannot obtain the travel trajectory of the dynamic obstacle, and in this case, the first device can determine that the correlation between the travel trajectory of the dynamic obstacle and the initial path is no correlation.
[0158] At step 402, a strategy for performing autonomous navigation is determined according to the correlation.
[0159] In some examples, the first device can determine different strategies based on the autonomous navigation function according to different correlations, and the following embodiments describe the strategies for autonomous navigation corresponding to different correlations respectively.
[0160] The strategy for the first device to perform autonomous navigation in the case that the correlation is co-directional travel is described below.
[0161] In some embodiments, determining the strategy for performing autonomous navigation according to the correlation comprises: in the case that the correlation is co-directional travel, obtaining the travel speed of the obstacle, the occlusion ratio of the obstacle to the initial path, and the road width of the initial path; in the case that the travel speed of the obstacle is greater than or equal to the travel speed of the first device, continuing to travel along the initial path; in the case that the travel speed of the obstacle is less than the travel speed of the first device, determining whether the first device can bypass the obstacle without changing the initial path based on the occlusion ratio and the road width; in the case that it is determined that the first device can bypass the obstacle without changing the initial path, determining a bypass path according to the surrounding environment of the obstacle, performing bypassing according to the bypass path, and continuing to travel along the initial path after the bypassing; in the case that it is determined that the first device cannot bypass the obstacle without changing the initial path, determining a re-planned path, and traveling according to the re-planned path.
[0162] In some embodiments, in the case of the relative relationship being forward movement, the movement trajectory of the obstacle is the same as the movement direction of the initial path of the first device, and the movement speed of the obstacle is greater than or equal to the movement speed of the first device, which indicates that the obstacle is always moving in front of the first device, and thus the first device will not collide with the obstacle as long as it continues to move according to the initial path.
[0163] In some embodiments, in the case of the movement speed of the obstacle being less than the movement speed of the first device, it indicates that the first device is likely to overtake the obstacle, and thus the first device is likely to collide with the obstacle. In this case, the first device can determine whether it can bypass the obstacle without changing the initial path according to the blocking ratio of the obstacle and the road width.
[0164] In some examples, in the case that the first device can bypass the obstacle without changing the initial path, the first device can autonomously plan a bypass path. The bypass path includes a bypass direction and a bypass distance.
[0165] In some examples, in the case that the first device cannot bypass the obstacle without changing the initial path, the first device determines a re-planned path and moves according to the re-planned path.
[0166] In some embodiments, the first device can autonomously re-plan the movement path, or can feed back to the second device, which re-plans the path for the first device and sends the re-planned path to the first device.
[0167] The planning path method provided by the embodiments of the present disclosure can determine whether the first device can bypass or needs to re-plan a path in the case of the dynamic obstacle moving in the same direction, so as to ensure that the first device will not collide with the dynamic obstacle.
[0168] The strategy of the first device performing autonomous navigation in the case of the relative relationship being reverse movement is described below.
[0169] In some embodiments, the strategy of performing autonomous navigation is determined according to the relative relationship, including: in the case of the relative relationship being reverse movement, obtaining a blocking ratio of the initial path by the obstacle and a road width of the initial path; determining whether the first device can bypass the obstacle without changing the initial path based on the blocking ratio and the road width; in the case that the first device can bypass the obstacle without changing the initial path, determining a bypass path according to the instruction of the second device, performing bypassing according to the bypass path, and continuing to move according to the initial path after bypassing; and in the case that the first device cannot bypass the obstacle without changing the initial path, determining a re-planned path and moving according to the re-planned path.
[0170] In some embodiments, the first device determines whether the first device can bypass the obstacle without changing the initial path based on the proportion of the initial path blocked by the obstacle and the road width of the initial path, in the manner described in the embodiment of FIG. 3, which will not be repeated here.
[0171] FIG. 4C is a schematic diagram of a scenario of a bypass path according to an embodiment of the present disclosure.
[0172] As shown in FIG. 4C, when the robot and the obstacle are moving in opposite directions, the robot can determine whether the robot can bypass the obstacle without changing the initial path based on the proportion of the initial path blocked by the obstacle and the road width of the initial path. When it is determined that the robot needs to bypass the obstacle, the robot determines a bypass path and continues to move along the initial path after passing through the bypass path.
[0173] In some embodiments, when it is determined that the first device can bypass the obstacle without changing the initial path, the first device determines the bypass path according to the instruction of the second device, including: determining a first bypass direction and a first bypass distance of the first device; sending a bypass request to the second device, the bypass request including the first bypass direction and the first bypass distance; receiving a bypass instruction sent by the second device, the bypass instruction being used to indicate whether the first bypass direction and the first bypass distance are agreed to be used by the first device to perform the bypass; when the bypass instruction indicates agreement, determining the bypass path according to the first bypass direction and the first bypass distance; when the bypass instruction indicates disagreement, stopping moving and waiting, or re-requesting the bypass path from the second device.
[0174] In some embodiments, the first device sends the first bypass direction and the first bypass distance determined by autonomous decision to the second device, and the second device can determine whether to agree to the bypass request of the first device based on the moving trajectory of the obstacle and send a bypass instruction to the first device.
[0175] In some examples, the indication of agreement in the bypass instruction means that the first bypass direction and the first bypass distance do not overlap with the moving trajectory of the obstacle, and thus the first device can perform the bypass according to the first bypass direction and the first bypass distance.
[0176] In some examples, the indication of disagreement in the bypass instruction means that the first bypass direction and the first bypass distance overlap with the moving trajectory of the obstacle, and thus the first device cannot perform the bypass according to the first bypass direction and the first bypass distance, needs to stop moving and wait, or re-send information requesting the bypass path to the second device.
[0177] In some embodiments, when the bypass instruction indicates disagreement, the first device stopping moving and waiting can be stopping moving and waiting until the obstacle passes through the blocked road segment, and then continuing to move along the initial path.
[0178] In some embodiments, the first device can re-request a detour path from the second device in the case that the detour instruction indicates disagreement. The second device determines the detour path of the first device based on the initial path of the first device and the travel trajectory of the obstacle, and the detour path includes a detour direction and a detour distance.
[0179] In some embodiments, in the case that the first device can detour the obstacle without changing the initial path, the detour path is determined according to the instruction of the second device, including: sending a detour request to the second device, the detour request being used to request the second device to determine a detour direction and a detour distance of the obstacle; obtaining the second detour direction and the second detour distance of the obstacle sent by the second device; determining a first detour direction and a first detour distance of the first device according to the second detour direction and the second detour distance; and determining the detour path according to the first detour direction and the first detour distance.
[0180] In some embodiments, the second detour direction and the second detour distance of the obstacle sent by the second device can be a detour path of the obstacle determined by the second device based on the travel trajectory of the obstacle (including the departure location and the destination), the initial path of the first device, the blocking position, the blocking ratio and the road width, and the detour path includes the second detour direction and the second detour distance.
[0181] In some embodiments, the second device sends the second detour direction and the second detour distance of the obstacle to the first device for the first device to determine the detour path of the first device.
[0182] For example, the robot sends a detour request to the RMS system to request the RMS system to make a detour scheme for the obstacle, and the RMS system sends the detour scheme of the obstacle to the robot, and the robot determines its own detour direction and detour distance through the autonomous navigation function.
[0183] In some embodiments, in the case that the first device can detour the obstacle without changing the initial path, the detour path is determined according to the instruction of the second device, including: sending a detour request to the second device, the detour request being used to request the second device to issue a detour path; and receiving the detour path sent by the second device, the detour path including a first detour direction and a first detour distance of the first device detouring the obstacle.
[0184] In some embodiments, the first device sends a detour request to the second device in the case that it is determined that it can detour, and the second device determines a detour scheme of the first device and the obstacle and issues it to the first device.
[0185] In some examples, the robot determines that the dynamic obstacle can be bypassed, and sends a request to the RMS system, which determines a bypassing scheme for the robot and the obstacle according to the initial path of the robot, the action trajectory of the obstacle, the blocking ratio of the obstacle, and the road width, including a bypassing direction and a bypassing distance of the robot, and a bypassing direction and a bypassing distance of the obstacle.
[0186] The path planning method provided by the embodiments of the present disclosure can be used for the first device to autonomously decide to bypass the obstacle or request the second device to plan a bypassing path when the first device and the dynamic obstacle are in a reverse relationship.
[0187] The strategy of the first device performing autonomous navigation when the relative relationship is cross travel is described below.
[0188] In some embodiments, the strategy of performing autonomous navigation is determined according to the relative relationship, including: when the relative relationship is cross travel, determining whether the obstacle can pass through the initial path within a preset time period; when it is determined that the obstacle can pass through the initial path within the preset time period, determining a waiting time, stopping and waiting for the obstacle to pass; when it is determined that the obstacle cannot pass through the initial path within the preset time period, determining whether the first device can bypass the obstacle without changing the initial path; when it is determined that the first device can bypass the obstacle without changing the initial path, determining a bypassing path, performing bypassing according to the bypassing path, and continuing to travel according to the initial path after bypassing; when it is determined that the first device cannot bypass the obstacle without changing the initial path, determining a re-planned path, and traveling according to the re-planned path.
[0189] In some embodiments, when the first device and the obstacle are in cross travel, it means that the initial path of the first device intersects with the travel trajectory of the obstacle, and in order to avoid conflict, the first device can stop and wait for the obstacle to pass through the initial path before continuing to travel. The travel directions of the first device and the obstacle can be the same or different.
[0190] In some embodiments, the first device stopping and waiting can include: determining a duration for the obstacle to pass through the initial path, the duration being within a preset time period, and the first device continuing to travel according to the initial path after the duration; the duration being not within the preset time period, indicating that the time for the obstacle to pass through the initial path is too long and will affect the efficiency of the first device in performing the first mobile task, and the first device can make a decision to bypass or request the second device to re-plan a path.
[0191] In some embodiments, the preset time period is a preset longest stopping and waiting duration of the first device, and the value of the preset time period can be set according to different application scenarios, which is not limited by the present disclosure.
[0192] In some examples, the robot travels on a cross path with a dynamic obstacle, and the robot determines, according to the surrounding environment, that the obstacle can pass within a predetermined time threshold, and then performs a stop and wait, and after the obstacle passes, the robot continues to travel according to the original path; determines that the obstacle cannot pass within the predetermined time threshold, and determines whether to bypass according to the surrounding environment; determines that the obstacle can bypass, determines a bypass path, and performs the bypass path; determines that the obstacle cannot bypass, feeds back to the RMS system that the travel path is blocked by the obstacle and cannot bypass, and requests to re-plan the travel path, and after receiving the re-planned travel path issued by the RMS system, performs the new travel path.
[0193] The strategy of the first device performing autonomous navigation in the case of no correlation between the correlation is described below.
[0194] In some embodiments, according to the correlation, the strategy of performing autonomous navigation is determined, including: in the case of no correlation between the correlation, stopping traveling and waiting, and sending a request message to the second device, the request message being used to request the second device to make a decision; receiving a decision message sent by the second device, the decision message being used to indicate any one of the first device continuing to wait and a first time length of the waiting, and resuming traveling.
[0195] In some embodiments, in the case of no correlation between the initial path of the first device and the travel trajectory of the obstacle, there can be a worker or other movable object in the environment where the first device is currently located, and the second device cannot control the travel trajectory of the worker or other movable object, so that the first device needs to stop traveling and wait, and the second device determines the waiting time of the first device and controls the first device to resume traveling.
[0196] The path planning method provided by the embodiments of the present disclosure can be used when the obstacle blocking the travel path of the robot is a dynamic obstacle. The robot can determine different strategies based on the correlation to pass the current section and continue to perform the first mobile task, thereby realizing the function of autonomous decision-making.
[0197] In some examples, the above embodiments describe the autonomous navigation of the first device (i.e., the robot) when the robot encounters an obstacle in the autonomous navigation area. The autonomous navigation strategy of the robot includes path re-planning, which can enable the robot to avoid the obstacle.
[0198] The path re-planning process of the first device in the above embodiments is further described below with reference to the accompanying drawings.
[0199] FIG. 5 is a schematic diagram of a path planning method according to an embodiment of the present disclosure, applied to a first device. The first device can be the first device 101 described in FIG. 1. As shown in FIG. 5, the method includes the following steps:
[0200] In step 501, it is determined whether the initial path is blocked by an obstacle in the grid cost map.
[0201] In some examples, the first device can determine whether the initial path is blocked by an obstacle based on the grid cost map, in a case where the initial path and the grid cost map are obtained.
[0202] In some embodiments, the first device determines whether the initial path is blocked by an obstacle in the grid cost map, including: obtaining the initial path from a management device, the initial path being a path from a task starting point to a task ending point planned by the management device for the first device, the management device being in communication connection with the first device; obtaining point cloud data from a sensor device in the first device, and transforming the point cloud data into the grid cost map; projecting the initial path into the grid cost map, and determining whether there is an obstacle on the initial path according to an occupancy situation of a grid through which the initial path passes; and in a case where there is an obstacle on the initial path, determining that the initial path is blocked by the obstacle.
[0203] It should be noted that the determination of whether the initial path of the first device is blocked by an obstacle through the grid cost map has been described in detail in the above embodiments (such as step 202), and thus will not be described again here to avoid repetition.
[0204] In some embodiments, in a case where the first device determines that there is no obstacle on the initial path, the first device can perform path pure tracking along the reference path; and in a case where the first device determines that there is an obstacle on the initial path, step 502 is performed.
[0205] In step 502, the initial path is sampled in a case where there is an obstacle on the initial path.
[0206] In some embodiments, in a case where there is an obstacle on the initial path, the first device can sample the initial path to obtain a plurality of first sampling points in a longitudinal direction of the initial path, and a plurality of second sampling points of each first sampling point in a transverse direction of the initial path, the longitudinal direction being a direction of travel through the first sampling point and tangent to the initial path, and the transverse direction being perpendicular to the longitudinal direction.
[0207] In some embodiments, sampling the initial path includes: according to a sampling interval, dispersing the initial path and its surrounding environment to form a set of sampling points with certain order and distribution rules. The sampling direction of the initial path can be multiple directions, for example, the initial path can be sampled in the longitudinal direction to form a set of sampling points with a point number less than the original point number of the initial path; the initial path can also be sampled in the transverse direction, and each sampling point in the longitudinal direction has a corresponding transverse sampling point within a certain range in the transverse direction; the initial path can also be sampled in the oblique direction, for example, the oblique direction can form a certain angle (for example, an acute angle) with the transverse or longitudinal direction, and the present disclosure does not limit this.
[0208] In some examples, the sampling points on the initial path are first sampling points, and the sampling points in the transverse direction of the initial path are second sampling points. By sampling in the longitudinal direction and the transverse direction according to a certain step size with the initial path as a reference, the first device can sample the initial path and its surrounding environment, and the first device does not need to re-plan the path according to the destination, but can plan the path after sampling in the longitudinal and transverse directions of the initial path, thereby achieving more accurate, efficient, and lower computational cost path planning.
[0209] In some examples, the number of transverse sampling points can be preset, and the sampling range can be determined according to the application scenario or the specific carrying task. For example, when the robot is between shelves, the number of transverse sampling points can be small; when the robot is in a warehouse area or there are fewer surrounding robots, the number of transverse sampling points can be large, and the present disclosure does not limit this.
[0210] In some examples, the transverse direction can include a transverse left direction and a transverse right direction, and sampling in the transverse direction can mean sampling in both the transverse left direction and the transverse right direction. The number of sampling points in the transverse left direction and the transverse right direction can be the same or different, and the present disclosure does not limit this.
[0211] That is, in the process of sampling the initial path corresponding to the first device, first sampling can be performed along the extension direction (i.e., the longitudinal direction) of the initial path to obtain a plurality of first sampling points. For example, the first sampling can be performed according to a first preset number of sampling points, or can also be performed according to a first preset step interval, wherein the first preset number of sampling points and the first preset step interval can be set according to requirements. After obtaining a plurality of first sampling points through first sampling, second sampling is performed along a direction perpendicular to the initial path to obtain a plurality of second sampling points corresponding to each first sampling point, respectively. For example, the second sampling can be performed according to a second preset number of sampling points, or can also be performed according to a second preset step interval. The first device can collect a first number of second sampling points on the left side of each first sampling point and a second number of second sampling points on the right side of each first sampling point along the transverse direction of each first sampling point to obtain a plurality of second sampling points corresponding to each first sampling point. Therefore, after the sampling processing of the initial path, a plurality of first sampling points in the longitudinal direction and a plurality of second sampling points in the transverse direction of each first sampling point can be obtained.
[0212] In some embodiments, the first device sampling the initial path to obtain a plurality of first sampling points on the initial path and a plurality of second sampling points in the transverse direction of each first sampling point can include: sampling on the initial path according to a first step to obtain a plurality of first sampling points; for each first sampling point, determining a heading angle of the first sampling point, the heading angle being an angle formed by counterclockwise rotation from a preset reference direction to the longitudinal direction; determining a plurality of second sampling points of the first sampling point in the transverse direction according to the coordinate heading angle of the first sampling point, a second step, and a transverse sampling range constraint.
[0213] In some examples, the preset reference direction can be a vertical direction, an X-axis positive direction, etc.
[0214] For example, the heading angle of any first sampling point is determined by establishing a plane coordinate system with the first sampling point as the origin, wherein the vertical direction is the X-axis, the vertical upward direction is the vertical positive direction, and the horizontal direction perpendicular to the X-axis is the Y-axis, and the horizontal left direction is the Y-axis positive direction. The angle formed by counterclockwise rotation from the vertical positive direction to the direction of travel through the first sampling point (i.e., the longitudinal direction through the first sampling point) is the heading angle of the first sampling point. In some examples, the heading angle can be expressed as The heading angle can be an obtuse angle.
[0215] In some examples, the first step can be the distance between two adjacent first sampling points on the initial path, i.e., the first step can be the longitudinal sampling interval of the first sampling point. For example, the first step can be expressed as Δs, i.e., the sampling interval between two adjacent first sampling points is Δs.
[0216] In some examples, the second step length can be the distance between the first sampling point and a second sampling point laterally adjacent to the first sampling point, or the distance between two adjacent second sampling points, i.e., the second step length can be the lateral sampling interval of the second sampling points. For example, the second step length can be denoted as Δ, i.e., the sampling interval between two adjacent second sampling points is Δ. In the case of taking the first sampling point as the reference, the interval between the first sampling point and the first second sampling point adjacent to the left of the first sampling point is Δ, the interval between the first sampling point and the second second sampling point adjacent to the left of the first sampling point is 2Δ, the interval between the first sampling point and the third second sampling point adjacent to the left of the first sampling point is 3Δ, and so on. The same applies to the right of the first sampling point, which will not be described here.
[0217] Exemplarily, the lateral sampling range constraint can be the maximum range of sampling in the lateral direction of each first sampling point. The lateral sampling constraint can be denoted as l limit , the value of which can be determined according to the specific carrying task or the environment in which the robot is located. The interval between a second sampling point in any lateral direction and the corresponding first sampling point can be denoted as l k , where l k ∈[Δ,2·Δ,…,l limit ].
[0218] That is, after the initial path is sampled to obtain the first sampling points, the first sampling points can be sampled in the lateral direction of each first sampling point according to the coordinate heading angle of the first sampling point, the second step length, and the lateral sampling range constraint, to obtain multiple second sampling points in the lateral direction of each first sampling point.
[0219] According to the first sampling points, the coordinates of the second sampling points obtained according to the coordinate heading angle of the first sampling point, the second step length, and the lateral sampling range constraint can be determined according to the following formula 1:
[0220] In the above formula 1, is the coordinate of the first sampling point, is the second sampling point (i.e., the lateral sampling point) generated according to the first sampling point, is the coordinate heading angle corresponding to the first sampling point, l k ∈[Δ,2·Δ,…,l limit ] is the lateral sampling interval (or the interval between any second sampling point and the corresponding first sampling point), and l limit is the lateral sampling range constraint.
[0221] FIG. 6 is a schematic diagram of a sampling process according to an embodiment of the present disclosure. As shown in FIG. 6, the initial path received by the first device from the RMS system is the black path, and the first device performs longitudinal sampling on the initial path to obtain longitudinal sampling points in the longitudinal direction (i.e., the black points in the figure). For each longitudinal sampling point, the first device performs sampling in the lateral direction to obtain lateral sampling points (i.e., the gray points in the figure).
[0222] At step 503, the first device determines a replanned path based on the plurality of first sampling points, the plurality of second sampling points, the positions of the obstacles, and the grid cost map.
[0223] In some embodiments, the first device determines the replanned path based on the first sampling points, the second sampling points, the positions of the obstacles, and the grid cost map, by determining the passability of each sampling point and the cost of reaching each sampling point based on the grid cost map, and then determining a replanned path that has the minimum cost and can safely pass through the obstacles.
[0224] In some examples, the first device can select sampling points from the set of sampling points (the first sampling points and the second sampling points) to form a new planned path. The first device can refer to the positions of the obstacles to achieve obstacle avoidance. The first device can use the grid cost map to determine a path that has the minimum cost.
[0225] In some examples, the first device can preprocess the set of sampling points before path replanning, for example, by screening out sampling points that are blocked by obstacles or are too close to obstacles.
[0226] In some examples, the first device can determine the distance between each sampling point and an obstacle, and determine the cost of passing through each sampling point to achieve obstacle avoidance based on the grid cost map, to finally determine a new path that has the minimum cost.
[0227] In some examples, the first device can use the grid cost map to determine the cost of each sampling point as a point on the new path. The cost can be multidimensional, for example, a safety dimension and a passability dimension. The safety dimension and the passability dimension can be related to the distance between each sampling point and an obstacle, and the present disclosure does not limit the calculation method of the evaluation value of the safety dimension and the passability dimension. The calculation method of the evaluation value of the safety dimension and the passability dimension can be to set different penalty values according to different distances between the sampling points and the obstacles.
[0228] In some examples, the first device can determine the replanned path that has the minimum cost by using a cost function. The parameters of the cost function can include the coordinates of the sampling points, the heading angles of the sampling points, the deviation between the heading angles of the sampling points and the heading angles of the corresponding sampling points on the initial planned path, and the like. The first device can determine a replanned path that has the minimum deviation from the initial planned path and can achieve obstacle avoidance by using the cost function.
[0229] FIG. 7 is a schematic diagram of another sampling process provided by an embodiment of the present disclosure. As shown in FIG. 7, the first device performs path replanning in the cost grid map according to the first sampling points in black, the second sampling points in gray, and the position of the obstacle, to obtain a gray replanned path.
[0230] The path planning method provided by the embodiment of the present disclosure determines the environment around the reference path by sampling the initial path and the lateral direction of the initial path when it is determined that the initial path has an obstacle, and comprehensively determines a replanned path that is safe to pass through and has a smaller cost by determining the passability and cost of the sampling points, so as to actively avoid the obstacle, and the efficiency of the first device can be improved. The present disclosure samples the path points in multiple directions based on the initial planning path as a reference, and replans a path that deviates from the original path by a small amount and has a low replanning cost according to the position of the obstacle and the cost grid map, so as to realize obstacle avoidance when the first device encounters an obstacle, and avoid the first device from being stuck and waiting when it executes a task according to the initial path.
[0231] FIG. 8 is a schematic diagram of another path planning method provided by an embodiment of the present disclosure, applied to a first device. As shown in FIG. 8, a replanned path is determined according to a plurality of first sampling points, a plurality of second sampling points, the position of an obstacle, and a grid cost map, including the following steps:
[0232] In step 801, the target distance between each sampling point in the plurality of first sampling points and the plurality of second sampling points and the position center point of the obstacle is determined by using the grid cost map.
[0233] In some embodiments, the distance between each sampling point and the position center point of the obstacle can be a straight line distance, an Euclidean distance, a Manhattan distance, etc., which is not limited by the present disclosure. Each sampling point involved in the present disclosure includes each first sampling point and each second sampling point.
[0234] In some embodiments, the distance between each sampling point and the position center point of the obstacle can be determined by using the grid cost map, so as to determine whether the first device can pass through each sampling point.
[0235] In some embodiments, the first device can determine the position of the position center point of the obstacle on the grid cost map, such as the coordinates of the grid, according to the grid cost map. After determining the sampling points, the first device can project the sampling points to the grid cost map, and determine the position of the sampling points on the grid cost map, such as the coordinates of the grid, according to the grid cost map. Then, the first device can determine the target distance between the sampling points and the position center of the obstacle according to the specific positions of the sampling points and the position center of the obstacle on the grid map.
[0236] That is, after the first device performs the sampling process on the initial path to obtain a plurality of sampling points (including a plurality of first sampling points and a plurality of second sampling points corresponding to each first sampling point), the first device can perform a screening process on the plurality of sampling points to remove noise points in the plurality of sampling points. Then, each sampling point is projected into the grid cost map, and the corresponding first position coordinates of each sampling point in the grid cost map are determined. The first device also projects the center point of the obstacle into the grid cost map based on the position of the obstacle, and determines the corresponding second position coordinates of the center point in the grid cost map. The first device determines the distance between each first position coordinate and the second position coordinate, thereby obtaining the target distance between each sampling point and the position center point of the obstacle.
[0237] In step 802, the sampling points with a target distance greater than or equal to a preset distance threshold are determined as valid sampling points.
[0238] In some embodiments, the preset distance threshold can be determined according to actual conditions, for example, the preset distance threshold can be set as the longest radius of the obstacle, that is, the distance from the center point of the obstacle to the most distant position on the edge of the obstacle; or the preset distance threshold can be set to be greater than the longest radius of the obstacle to improve the fault tolerance rate of the first device during operation. By determining the preset distance threshold, the first device can avoid collision with the obstacle when moving, and ensure safe driving of the first device.
[0239] In some examples, before determining the preset threshold, the first device can analyze the projection of the obstacle on the grid cost map, determine the edge position on the edge of the obstacle that is farthest from the center position of the obstacle, and determine the distance between the edge position and the center point position of the obstacle. The distance is determined as the radius of the obstacle.
[0240] In other examples, the first device can also determine the preset distance threshold according to an empirical value, for example, in a warehouse environment, the first device can determine the maximum value of the historical determined preset distances as the current preset distance threshold; or the preset distance threshold can be a fixed value, etc., which is not limited by the present disclosure.
[0241] In some embodiments, the valid sampling point is a sampling point through which the first device can safely pass, and the first device will not collide with the obstacle when passing through the valid sampling point.
[0242] In some examples, after determining the target distance between each sampling point and the obstacle in step 801, the sampling points with a distance greater than or equal to the preset distance threshold can be determined as valid sampling points, and the invalid sampling points through which the first device cannot safely pass are removed. The sampling points can be screened to re-plan a path through which the first device can safely pass based on the valid sampling points.
[0243] That is, the first device can perform screening processing on the plurality of sampling points obtained by sampling, to screen out invalid sampling points, to obtain valid sampling points. The number of valid sampling points is a plurality, and the valid sampling points are sampling points with a target distance greater than or equal to a preset distance threshold in the plurality of sampling points, and the valid sampling points can ensure that the first device can safely bypass the obstacle.
[0244] Step 803, determining the safety generation value of each valid sampling point according to the target distance between each valid sampling point and the position center point of the obstacle.
[0245] In some embodiments, the safety generation value of the sampling point can be used to indicate the cost required for the first device to safely pass through the sampling point. For example, in the case of a safety generation value of 0, it indicates that the first device can safely pass through the sampling point; in the case of a safety generation value not being 0, it indicates that the first device may collide with the obstacle when passing through the sampling point.
[0246] In some embodiments, determining the safety generation value of each valid sampling point according to the target distance between each valid sampling point and the position center point of the obstacle includes: determining the safety generation value according to the target distance between each valid sampling point and the position center point of the obstacle, a preset safety distance, and a safety cost weight.
[0247] For example, in the case of a target distance greater than or equal to a preset safety distance, the safety generation value is zero; in the case of a target distance less than a preset safety distance, the safety generation value is the product of a safety cost weight and a safety penalty value, and the safety penalty value can be the difference between the preset safety distance and the target distance.
[0248] In some examples, the safety penalty value is used to represent the degree of safety of a certain valid sampling point, and the penalty value of a sampling point with high safety is low, and the penalty value of a sampling point with low safety is high. For example, the safety penalty value can be the difference between the preset safety distance and the target distance between each valid sampling point and the position center point of the obstacle.
[0249] In some examples, the safety cost weight can be a weight corresponding to the safety cost; and the safety penalty value can be used to indicate the safety of the current sampling point. For example, the greater the safety penalty value, the lower the safety of the current sampling point, and the greater the corresponding safety cost.
[0250] For example, the safety generation value of the valid sampling point can be represented as the following formula 2: safe ·(d safe ≥Δ safe :0?(Δ safe -d safe )) Formula 2;
[0251] In the above formula 2, the preset safety distance is represented as Δ safe , the distance between the effective sampling point and the position center point of the obstacle is d safe , and d safe ≥ Δ safe is established (that is, the distance between the effective sampling point and the position center point of the obstacle is greater than or equal to the preset safety distance), the safety cost value is 0 (that is, the value in the above formula in the parentheses is 0, at this time, the safety cost value is equal to W safe ·0 is 0), and d safe ≥ Δ safe is not established (that is, the distance between the effective sampling point and the position center point of the obstacle is less than the preset safety distance), a safety penalty value is set, the safety penalty value is Δ safe -d safe , and the safety cost value is the product of the safety cost weight W safe and the safety penalty value W safe · (Δ safe -d safe ).
[0252] Step 804, determining a replanned path according to the distance between each effective sampling point and the position center point of the obstacle and the safety cost value.
[0253] In some embodiments, a target cost function can be determined according to the target distance between the effective sampling point and the position center point of the obstacle, the safety cost value, the cost weight, and the like, the cost required for the first device to pass through each effective sampling point to achieve obstacle avoidance is determined, a plurality of effective sampling points with the minimum cost required for safe obstacle avoidance are determined, and a replanned path is established according to the plurality of effective sampling points with the minimum cost, so as to realize autonomous obstacle avoidance of the first device.
[0254] In some embodiments, the re-planning path is determined according to a target distance between each valid sampling point and a position center point of the obstacle, and a safety cost value, including: determining, for a first valid sampling point (i, k), a deviation cost cost(k, j) of the first valid sampling point relative to a second valid sampling point (i+1, j) in a longitudinal direction, where the first valid sampling point is any one of the valid sampling points, the second valid sampling point is a next sampling point of the first valid sampling point in the longitudinal direction, i is a longitudinal index of the first sampling point, k is a transverse index of the first sampling point, i+1 is a longitudinal index of the second valid sampling point, and j is a transverse index of the second valid sampling point; determining a transverse cost of the first valid sampling point according to a transverse deviation between the first valid sampling point and a first sampling point corresponding to the first valid sampling point in a transverse direction and a transverse deviation weight; determining a total cost of the first valid sampling point according to the deviation cost, the transverse cost, the safety cost value, and a total cost of the second valid sampling point; determining a first valid sampling point set with a minimum total cost function value according to the total cost of the first valid sampling point; and determining the re-planning path according to the first valid sampling point set using a backtracking method.
[0255] In some examples, the deviation cost can be a cost required when the current valid sampling point moves to a next row of valid sampling points in the longitudinal direction; and the transverse deviation can be a deviation between the first valid sampling point and the first sampling point in the same row in the transverse direction. For example, when the first valid sampling point is the first sampling point, the transverse deviation is 0; the transverse deviation weight is a weight corresponding to the transverse deviation; and the transverse cost can be a cost value corresponding to the movement from the first sampling point to the first valid sampling point.
[0256] In some embodiments, the deviation cost of the first valid sampling point (i, k) relative to the second valid sampling point (i+1, j) in the longitudinal direction includes: determining, according to a coordinate of the first valid sampling point a coordinate of the second valid sampling point a reference heading angle of the first sampling point corresponding to the first valid sampling point, a heading change weight between the first valid sampling point and the corresponding first sampling point, a heading angle of the second valid sampling point, and an angle deviation weight between the heading angle of the first valid sampling point and the reference heading angle, to determine the deviation cost of the first valid sampling point.
[0257] Exemplarily, the deviation cost of the first valid sampling point can satisfy the formula 3 as shown below.
[0258] In the above formula 3, cost(k, j) is the deviation cost of the first valid sampling point, is a position coordinate of the first valid sampling point at the transverse position k, For the position coordinate of the second effective sampling point at the lateral position j, in some examples, when j=k, the deviation cost between the two sampling points longitudinally adjacent can be determined according to the above formula, For the reference heading angle of the first sampling point corresponding to the first effective sampling point, W dir For the heading change weight between the first effective sampling point and the corresponding first sampling point, For the heading angle of the second effective sampling point at the lateral position j, W dir-diff For the angle deviation weight between the heading angle of the first effective sampling point and the reference heading angle.
[0259] In some embodiments, the lateral cost of the first effective sampling point can be determined according to the lateral deviation between the first effective sampling point and the first sampling point corresponding to the first effective sampling point in the lateral direction, the lateral deviation weight.
[0260] Exemplarily, the lateral cost of the first effective sampling point can satisfy formula 4 as shown below. W Δ ·I Δ Formula 4;
[0261] In the above formula 4, I Δ is the lateral deviation distance between the first effective sampling point and the first sampling point corresponding to the first effective sampling point in the lateral direction, W Δ is the lateral deviation weight.
[0262] In some embodiments, the total cost C(i, k) of the first effective sampling point can be determined according to the deviation cost, the lateral cost, the safety cost, and the total cost of the second effective sampling point.
[0263] In some embodiments, the total cost of the first effective sampling point is determined according to the deviation cost, the lateral cost, the safety cost, and the total cost of the second effective sampling point, including: in the case that the longitudinal index i of the first effective sampling point is n-1, determining that the deviation cost is zero, the total cost of the second effective sampling point is zero, and the total cost of the first effective sampling point is the sum of the safety cost and the lateral cost, n being the maximum value of the sampling points in the longitudinal direction; in the case that the longitudinal index i of the first effective sampling point is less than n-1, determining the minimum value of the sum of the deviation cost and the total cost of the second effective sampling point, and determining that the total cost of the first effective sampling point is the sum of the minimum value, the safety cost, and the lateral cost.
[0264] In some embodiments, the total cost of the first effective sampling point can satisfy formula 5 as shown below. C(i, k) = min(C(i+1, j) + cost(k, j)) + W safe ·(d safe ≥ Δ safe : 0? (Δsafe -d safe ))+W Δ ·I Δ Formula 5
[0265] In the above Formula 5, C(i, k) is the total cost of the first valid sampling point, C(i+1, j) represents the total cost of the second valid sampling point, cost(k, j) represents the deviation cost, W safe ·(d safe ≥Δ safe :0?(Δ safe -d safe )) represents the security cost value, W Δ ·I Δ represents the horizontal cost.
[0266] In some examples, n can be the maximum number of sampling points in the longitudinal direction, i.e., there are n sampling points in total in the longitudinal direction, and the longitudinal index of the first valid sampling point can be from 0 to n-1, i.e., the longitudinal index of the first valid sampling point i = n-1, indicating that the current point is the sampling point in the last row in the longitudinal direction, at this time, since there is no second valid sampling point, the deviation cost is zero, and the total cost of the second valid sampling point is zero.
[0267] Exemplarily, according to the above formula, the total cost of the first valid sampling point can be determined as the sum of the security cost value and the horizontal cost. Wherein, the total cost of the first valid sampling point can satisfy the following Formula 6. C(i, k) = W safe ·(d safe ≥Δ safe :0?(Δ safe -d safe ))+W Δ ·I Δ Formula 6
[0268] In the above embodiment, when the longitudinal index of the first valid sampling point i < n-1, the deviation cost and the total cost of the second valid sampling point are not zero, at this time, the minimum value of the sum of the deviation cost and the total cost of the second valid sampling point can be determined, and the total cost of the first valid sampling point is determined as the sum of the minimum value, the security cost value, and the horizontal cost, which represents the same as the above Formula 5.
[0269] In some embodiments, according to the total cost of the first valid sampling point, a first valid sampling point set with the minimum total cost function value is determined.
[0270] In some examples, the total cost of the effective sampling points can be calculated from the end point to the start point, for example, the cost value between the end point and the plurality of sampling points in the n-2th row can be determined, the cost value required for moving from the end point to the plurality of sampling points can be determined, the sampling point with the minimum cost value in the n-2th row can be determined as the first effective sampling point with the minimum total cost function value according to the cost value, and then the cost value between the sampling point with the minimum cost value and the plurality of sampling points in the n-3th row can be calculated recursively until the start point, and the first effective sampling point set with the minimum total cost function value is obtained.
[0271] In some examples, the first effective sampling point set with the minimum total cost function value includes the sampling point with the minimum cost for safely reaching the end point from the start point.
[0272] In some embodiments, after the set is determined, the backtracking method can be used to determine the re-planned path according to the first effective sampling point set. For example, the path formed by directly connecting the sampling points can be used as the re-planned path, and the like.
[0273] The path planning method provided by the embodiments of the present disclosure can determine the safe passing range of the first device by determining the effective sampling points according to the distance from the sampling points to the center of the obstacle, determine the total cost of the effective sampling points by determining the safe cost value of the effective sampling points, determine the effective sampling point set with the minimum cost value according to the total cost value, and determine the re-planned path with the minimum cost and the safe passing of the first device according to the combination, so as to ensure that the first device can be adjusted in time when encountering an obstacle and can operate normally, and the efficiency and damage to the first device can be avoided.
[0274] In some examples, after the re-planned path corresponding to the first device is determined, in order to ensure that the first device travels along the re-planned path more smoothly, reduce the impact force of the first device, and reduce energy loss, the re-planned path can also be smoothed to obtain a smoothed path. The smoothing of the re-planned path will be described below with reference to FIG. 9.
[0275] FIG. 9 is a schematic diagram of another path planning method provided by the embodiments of the present disclosure, applied to the first device. As shown in FIG. 9, the method further includes the following steps:
[0276] In step 901, a target cost function and a constraint condition are established according to the lateral deviation between the re-planned path and the initial path.
[0277] In some embodiments, the target cost function can be used to indicate the cost required for the first device to change the initial path to the re-planned path, and the re-planned path can be optimized by the target cost function, so that the cost required for the first device to change the path is minimized.
[0278] In some embodiments, the target cost function and the constraint condition can be used to constrain and smooth the re-planned path, by limiting the constraint condition, the running path of the first device can be limited to be applicable to the actual application scenario, and the smoothness requirement is met, and the loss of the first device is reduced.
[0279] In some embodiments, the target cost function and the constraint condition are established according to the lateral deviation between the re-planned path and the initial path, including: determining a cost deviation smoothness according to the lateral deviation between the re-planned path and the initial path, the number of sampling points on the re-planned path, and the cost weight of each lateral deviation; determining a first-order smoothness according to the first-order derivative of the lateral deviation, the number of sampling points on the re-planned path, and the first-order cost weight of each lateral deviation; determining a second-order smoothness according to the second-order derivative of the lateral deviation, the number of sampling points on the re-planned path, and the second-order cost weight of each lateral deviation; determining a third-order smoothness according to the third-order derivative of the lateral deviation, the number of sampling points on the re-planned path, and the third-order cost weight of each lateral deviation; determining an obstacle avoidance smoothness according to the obstacle avoidance relaxation factor of each effective sampling point on the re-planned path and the obstacle avoidance cost weight corresponding to each obstacle avoidance factor; establishing a target cost function according to the cost deviation smoothness, the first-order smoothness, the second-order smoothness, the third-order smoothness, and the obstacle avoidance smoothness; and establishing a state transition equation, a lateral smoothness constraint, a safety range hard constraint, a lateral velocity constraint, a lateral acceleration constraint, and a safety range soft constraint according to the lateral deviation between the re-planned path and the initial path.
[0280] In some examples, the cost deviation smoothness is determined according to the lateral deviation between the re-planned path and the initial path, the number of sampling points on the re-planned path, and the cost weight of each lateral deviation. Wherein, the cost deviation smoothness can satisfy the formula 7 as shown below.
[0281] In the above formula 7, the lateral deviation between the re-planned path and the initial path is l i , the number of sampling points on the re-planned path is n, and the cost weight of each lateral deviation is w l .
[0282] In some examples, the first-order smoothness is determined according to the first-order derivative of the lateral deviation, the number of sampling points on the re-planned path, and the first-order cost weight of each lateral deviation. Wherein, the first-order smoothness can satisfy the formula 8 as shown below.
[0283] In the above formula 8, the first-order derivative of the lateral deviation is l i ', the number of sampling points on the re-planned path is n, and the first-order cost weight of each lateral deviation is w l′ .
[0284] In some examples, the second-order smoothing is determined according to a second-order derivative of the lateral deviation, a number of sampling points on the re-planned path, and a second-order cost weight of each lateral deviation. The second-order smoothing can satisfy formula 9 as shown below.
[0285] In formula 9, the second-order derivative of the lateral deviation is l i , the number of sampling points on the re-planned path is n, and the second-order cost weight of the lateral deviation is w l″ .
[0286] In some examples, the third-order smoothing is determined according to a third-order derivative of the lateral deviation, a number of sampling points on the re-planned path, and a third-order cost weight of each lateral deviation. The third-order smoothing can satisfy formula 10 as shown below.
[0287] In formula 10, the third-order derivative of the lateral deviation is l i , the number of sampling points on the re-planned path is n, and the third-order cost weight of the lateral deviation is w l″′ .
[0288] In some examples, the obstacle avoidance smoothing is determined according to an obstacle avoidance relaxation factor of each valid sampling point on the re-planned path and an obstacle avoidance cost weight corresponding to each obstacle avoidance factor. The obstacle avoidance smoothing can satisfy formula 11 as shown below.
[0289] In formula 11, s represents the relaxation factor of safe obstacle avoidance, used to balance path smoothing and traffic safety, and w s is the obstacle avoidance cost weight corresponding to each obstacle avoidance factor.
[0290] In some examples, the target cost function is established according to the cost deviation smoothing, the first-order smoothing, the second-order smoothing, the third-order smoothing, and the obstacle avoidance smoothing. The target cost function can satisfy formula 12 as shown below.
[0291] In some embodiments, a constraint condition can be established according to the lateral deviation between the re-planned path and the initial path. The constraint condition can include a state transition equation, a lateral smoothness constraint, a safety range hard constraint, a lateral velocity constraint, a lateral acceleration constraint, and a safety range soft constraint, etc.
[0292] At step 902, the path smoothing is performed on the re-planned path to obtain a smoothed path, with the function value of the target cost function being minimized as the target under the condition that the constraint condition is satisfied.
[0293] In some embodiments, the re-planned path can be constrained according to the constraint condition, and the function value of the target cost function is minimized as the target when the constraint condition is satisfied. The re-planned path is smoothed to obtain a more optimal smoothed path.
[0294] In some embodiments, the target cost function can be iterated, and the iteration can be stopped when the function value of the target cost function is less than a preset function value, or the iteration can be stopped when the variation range of the function value of the target cost function is less than a preset variation range, or the iteration can be stopped when the function value of the target cost function does not change, and a smoothed path corresponding to the current target cost function is obtained. The present disclosure is not limited thereto.
[0295] FIG. 10 is a schematic diagram of a method for smoothing a re-planned path according to an embodiment of the present disclosure. As shown in FIG. 10, the first device smoothes the re-planned path (e.g., the gray path in FIG. 7) according to the target cost function and the constraint condition to obtain a smoothed path in gray.
[0296] The path planning method provided by the embodiments of the present disclosure can smooth the re-planned path by establishing a target cost function and a constraint condition, so that a re-planned path with the minimum cost and smoothness can be obtained, and the movement of the first device can be more stable, the impact force can be reduced, and the energy consumption can be reduced.
[0297] FIG. 11 is a schematic diagram of another path planning method according to an embodiment of the present disclosure, which is applied to the first device. As shown in FIG. 11, the method includes the following steps:
[0298] In step 1101, the lateral deviation between each sampling point on the re-planned path and the corresponding sampling point on the initial path is taken as a variable of the Taylor formula to obtain a state transition equation and a lateral smoothness constraint.
[0299] In some embodiments, the relationship between the second derivative and the third derivative of the lateral deviation between each sampling point on the re-planned path and the corresponding sampling point on the initial path can satisfy formula 13 as follows.
[0300] In some embodiments, the Taylor formula 1 can be expressed as formula 14 and formula 15 as follows. R n (l)=o[(l-l0) n ] Formula 15
[0301] wherein R n (l)=o[(l-l0) n ] represents the remainder term.
[0302] The Taylor formula 2 can be expressed as formula 16 and formula 17 as follows. R n (l)=o[(l-l0) n ] Formula 17
[0303] The Taylor formula 3 can be expressed as the following formula 18 and formula 19. R n (l)=o[(l-l0) n ] Formula 19
[0304] According to the relationship between the above-mentioned lateral deviation derivatives and the Taylor formula 3 (formula 18 and formula 19), the lateral smoothness constraint formula 1 can be obtained, which is expressed as the following formula 20:
[0305] According to the above-mentioned Taylor formula 2 (formula 16 and formula 17), the derivation formula 1 can be obtained, which is expressed as the following formula 21:
[0306] Substituting the above-mentioned lateral smoothness constraint formula 1 (formula 20) into the above-mentioned derivation formula 1 (formula 21) and simplifying can obtain the lateral smoothness constraint formula 2, which is expressed as the following formula 22:
[0307] According to the above-mentioned Taylor formula 1 (formula 14 and formula 15), the derivation formula 2 can be obtained, which is expressed as the following formula 23:
[0308] Substituting the above-mentioned lateral smoothness constraint formula 1 (i.e. formula 20) into the above-mentioned derivation formula 2 (i.e. formula 23) and simplifying can obtain the state transition equation, which is expressed as the following formula 24:
[0309] In step 1102, the safety passing range of each sampling point on the re-planned path is determined, and the lateral deviation between the re-planned path and the initial path is within the safety passing range, to obtain a safety range hard constraint.
[0310] In some embodiments, determining the safety passing range of each sampling point on the re-planned path comprises: determining a safety upper boundary and a safety lower boundary of the safety passing range according to the coordinates of each valid sampling point on the re-planned path; wherein the safety upper boundary represents the left boundary in the lateral direction when the first device safely passes through the valid sampling point, and the safety lower boundary represents the right boundary in the lateral direction when the first device safely passes through the valid sampling point.
[0311] In some embodiments, determining the safety upper bound and the safety lower bound of the safety travel range according to the coordinates of each valid sampling point on the re-planned path comprises: for each valid sampling point (i, k), determining the safety lower bound of the valid sampling point (i, k) as the interval between adjacent sampling points in the lateral direction when k is equal to the lateral sampling range constraint, or the position of the valid sampling point (i, k) is occupied by an obstacle, or the position of the previous sampling point (i, k-1) of the valid sampling point in the lateral direction is occupied by an obstacle; otherwise, the safety lower bound is the safety lower bound of the previous sampling point (i, k-1); determining the safety upper bound of the valid sampling point (i, k) as the interval between adjacent sampling points in the lateral direction when k is equal to the lateral sampling range constraint, or the position of the valid sampling point (i, k) is occupied by an obstacle, or the position of the next sampling point (i, k+1) of the valid sampling point in the lateral direction is occupied by an obstacle; otherwise, the safety upper bound is the safety upper bound of the next sampling point (i, k+1).
[0312] Exemplarily, the safety upper bound and the safety lower bound of the safety travel range can satisfy the formula 25 and the formula 26 shown as follows respectively.
[0313] wherein, indicates the safety lower bound, and indicates the rightmost valid boundary that the k-th sampling step can extend to, i.e., the rightmost boundary within the lateral constraint range. indicates the safety upper bound, and indicates the leftmost valid boundary that the k-th sampling step can extend to, i.e., the leftmost boundary within the lateral constraint range.
[0314] In some examples, in the case of indicates that the k-th sampling point can extend to the right boundary of the lateral sampling range, i.e., the rightmost boundary within the lateral constraint range. In the case of indicates that the position of the current valid sampling point (i, k) is occupied by an obstacle; in the case of indicates that the previous adjacent sampling point in the lateral direction is occupied by an obstacle. For the above two cases, the right safety range of the k-th sampling point can be determined as the interval between adjacent sampling points in the lateral direction. For other cases, the safety lower bound can be determined as the safety lower bound of the previous sampling point (i, k-1).
[0315] In some examples, in the case of indicates that the k-th sampling point can extend to the left boundary of the lateral sampling range, i.e., the leftmost boundary within the lateral constraint range. In the case of indicates that the position of the current valid sampling point (i, k) is occupied by an obstacle; in the case of In the case of the first scenario, it indicates that the next adjacent sampling point in the lateral direction is occupied by an obstacle. For the above two scenarios, the left safety range of the Kth sampling point can be determined as the interval between the adjacent sampling points in the lateral direction. For other scenarios, the upper safety boundary can be determined as the upper safety boundary of the next sampling point (i, k+1).
[0316] In some embodiments, the lateral deviation between the re-planned path and the initial path is within the safety passing range, to obtain a safety range hard constraint. The safety range hard constraint can satisfy the following formula 27.
[0317] In the above formula 27, the lateral deviation l i is greater than or equal to the minimum value of the safety passing range and less than or equal to the maximum value of the safety passing range
[0318] Step 1103, the first derivative of the lateral deviation is within a preset first threshold range, to obtain a lateral velocity constraint.
[0319] In some embodiments, the first derivative of the lateral deviation can be constrained, and the first derivative of the lateral deviation is within a preset first threshold range, to obtain a lateral velocity constraint. The lateral velocity constraint can be represented as the following formula 28: L' lower ≤l i ′≤L′ upper Formula 28;
[0320] In the above formula 28, the lateral velocity constraint l i ′ is greater than or equal to the minimum value L' of the first threshold range lower , and less than or equal to the maximum value L' of the safety passing range upper .
[0321] Step 1104, the second derivative of the lateral deviation is within a preset second threshold range, to obtain a lateral acceleration constraint.
[0322] In some embodiments, the second derivative of the lateral deviation can be constrained, and the second derivative of the lateral deviation is within a preset second threshold range, to obtain a lateral acceleration constraint. The lateral acceleration constraint can be represented as the following formula 29: L" lower ≤l i ″≤L″ upper Formula 29.
[0323] Step 1105, the difference between the lateral deviation and the soft constraint factor is within the soft constraint range, to obtain a safety range soft constraint.
[0324] In some embodiments, the lower boundary of the soft constraint range can be the difference between the safe lower boundary of the safe passing range and the safe contraction margin, denoted as formula 30 below:
[0325] wherein, is the safe contraction margin determined based on safety considerations.
[0326] The upper boundary of the soft constraint range is the difference between the safe upper boundary of the safe passing range and the safe contraction margin, denoted as formula 31 below:
[0327] The difference between the lateral deviation and the soft constraint factor is within the soft constraint range, and the safe range soft constraint is obtained, denoted as formula 32 below:
[0328] wherein, s i is a soft constraint factor that satisfies the inequality constraint increase.
[0329] The path planning method provided by the embodiments of the present disclosure determines the constraint condition, constrains the re-planned path based on the constraint condition, so as to obtain a re-planned path with a minimum cost and good smoothness, realizes automatic obstacle avoidance of the first device when encountering an obstacle, improves the flexibility and intelligent processing of the first device operation, and can improve the work efficiency of the first device.
[0330] FIG. 12 is a schematic diagram of a path re-planning process provided by an embodiment of the present disclosure. As shown in FIG. 12, the method content involves reference path input, obstacle blocking road state monitoring, passing safety space calculation, path re-planning, path smoothing, and the like.
[0331] The path re-planning process provided by the embodiments of the present disclosure will be described below in combination with FIG. 12. The execution process in FIG. 12 is realized by a robot (i.e., the first device in the above embodiments).
[0332] Step 1: The robot receives a task reference path from a starting point to an ending point.
[0333] Step 2: The robot acquires a radar point cloud according to a radar sensor device carried by the robot, and transforms the radar point cloud to a grid cost map.
[0334] Step 3: Project the reference path to the grid cost map, and determine whether the path exists an obstacle.
[0335] In the case that the path exists an obstacle, it indicates that the path is blocked, and turn to step 5; in the case that the path does not exist an obstacle, it indicates that the reference path is safe, and turn to step 4.
[0336] Step 4: The robot performs path pure tracking along the reference path, calculates the control instructions, and sends them to the execution controller.
[0337] Step 5: Start path re-planning, generate a new planning path according to the reference path and the grid cost map, so as to bypass the obstacles.
[0338] Step 6: Smooth the new planning path by adding a series of constraints, and output the smooth path.
[0339] Step 7: Calculate the control instructions according to the smooth path, and send them to the execution controller.
[0340] For the above obstacle bypassing process, path re-planning is used to search for a safe re-planning path, and path smoothing takes the re-planning path as input to generate a smooth path according to a series of constraints.
[0341] In some examples, the path re-planning module uses the Bellman equation of dynamic programming to obtain a path that can bypass obstacles and achieve safe driving by sampling and dynamic calculation, based on a given reference path and a grid cost map of obstacle distribution.
[0342] FIG. 13 is a schematic diagram of another path re-planning process provided by an embodiment of the present disclosure. As shown in FIG. 13, the process can include the following steps:
[0343] Step 1: The robot receives a reference path.
[0344] Step 2: The robot uniformly samples the path along a fixed distance Δs within the lateral constraint range using the following formula (1) to generate sampling points. As shown in FIG. 6, the black dashed line is the given discrete reference path point, and the gray dashed line is the generated lateral sampling point;
[0345] wherein is the lateral sampling point generated according to the reference point, is the reference point, is the reference heading corresponding to the reference point, l k ∈[Δ,2·Δ,…,l limit ] is the lateral sampling interval, Δ is the fixed unit step, l limit is the lateral sampling range constraint.
[0346] Step 3: Calculate the passability of each lateral sampling point using the grid cost map, define the passable points as valid sampling points, and define the impassable points as invalid sampling points;
[0347] Step 4: Count the left and right boundary effective ranges of the sampling points at the same lateral position, as shown in formulas (2) and (3):
[0348] wherein, denotes the rightmost valid boundary that the k-th sampling step can extend to, denotes the leftmost valid boundary that the k-th sampling step can extend to, obs denotes that the position is occupied by an obstacle, and the safe passing range of each lateral sampling point, denoted as
[0349] Step 5: Define the Bellman equation as shown in equation (4) to solve the minimum cost path from the current position of the robot to the target point by using dynamic programming. C(i,k) = min(C(i+1,j) + cost(k,j)) + W safe ·(d safe ≥Δ safe :0?(Δ safe -d safe ))+W Δ ·I Δ (4);
[0350] wherein, C(i,k) denotes the total cost from the i-th path point at lateral position k to the target point along the reference path direction, d safe is the distance between the current position and the obstacle, Δ safe is the set safety distance, W safe is the safety cost weight, I Δ is the lateral deviation distance from the reference point, W Δ is the weight thereof, and cost(k,j) denotes the cost between the i-th path point at lateral position k and the i+1-th path point at lateral position j, which is calculated by weighting and accumulating a plurality of different consideration factors, as shown in equation (5):
[0351] wherein, is the position coordinate of the i-th path point at lateral position k, is the position coordinate of the i+1-th path point at lateral position j, is the reference heading corresponding to the reference point, W dir is the heading change weight between two points, is the heading of the i+1-th path point at lateral position j, W dir-diff is the angle deviation weight between the i-th path point at lateral position k and the reference heading.
[0352] By dynamic programming, the best connection relationship (minimum cost) between the sampling points along the reference line direction is found.
[0353] Step 6: Based on the minimum cost calculation, the re-planned path of the robot from the current position to the target point is obtained by backtracking (the gray path in FIG. 7).
[0354] Since the path obtained by path re-planning does not consider smoothness, it cannot be directly issued to the controller for execution, and needs to be processed by a path smoothing module, so that the final issued path meets the requirements of robot smooth and safe driving. Path smoothing adopts a quadratic convex optimization method, as shown in formulas (6) and (7). l≤Ax≤u (7);
[0355] Wherein, formula (6) is a cost function, formula (7) is a constraint condition, and the goal of quadratic convex optimization is to find the optimal variable that minimizes the value of the cost function on the basis of meeting the constraint condition.
[0356] According to formula (6), in combination with the actual optimization amount that needs to be considered in the path planning of the robot, the cost function is defined as shown in formula (8):
[0357] Define the third derivative jerk as a constant, and the following can be obtained:
[0358] Substitute formula (9) into formula (8), and formulas (8.1) and (8.2) can be derived:
[0359] Wherein, l i represents the lateral offset of the i-th smoothed path point in the direction of the reference path, w l is the cost weight thereof; l i ′ represents the first derivative (lateral velocity) of the lateral offset with respect to the reference path, w l′ is the cost weight thereof; l i represents the second derivative (lateral acceleration) of the lateral offset with respect to the reference path, w l″ is the cost weight thereof; s represents a relaxation factor for safety obstacle avoidance, used to balance path smoothing and traffic safety, w s is the cost weight thereof.
[0360] As can be seen from the definition of the cost function, the goal of quadratic convex optimization is to find a smoothed path that has as small lateral offset as possible with respect to the reference path and can ensure the safe passage of the robot on the basis of the given reference path.
[0361] The generation of the smoothed path is based on the constraint conditions that meet the robot motion. Since the re-planned path obtained by the foregoing is uniformly sampled along the reference path at a fixed distance Δs, the connection relationship of each point and its derivative in the direction of the reference path is as shown in formula (10):
[0362] According to Taylor formula (11) and formula (12): R n (l) = o[(l-l0 n ] (12); R n (l) = o[(l-l0 n ] (14); R n (l) = o[(l-l0 n ] (16);
[0363] According to Taylor formula, we can get:
[0364] According to formula (9) and formula (15), formula (17) can be derived:
[0365] According to formula (13), formula (18) can be derived:
[0366] According to formula (11), formula (19) can be derived:
[0367] Substituting formula (17) into formula (18) and simplifying, formula (20) can be derived:
[0368] Substituting formula (17) into formula (19) and simplifying, formula (21) can be derived:
[0369] At the same time, for each lateral offset l i , the safe passing range derived from the aforementioned path re-planning constrains it, as shown in formula (22):
[0370] The first-order derivative and the second-order derivative of the lateral offset are constrained, as shown in formula (23) and formula (24): lower ≤l i ′≤L′ upper (23);
[0371] L″ lower ≤l i ″≤L″ upper (24);
[0372] Wherein, L′ lower , L′ upper , L″ lower , L″upper are constants.
[0373] To ensure the safety of generating a smooth path, a soft obstacle avoidance constraint is added to the lateral offset, as shown in equation (25):
[0374] wherein, s represents the shrinkage margin of the safety range of each point according to safety considerations. i represents a soft constraint factor added to satisfy the inequality constraint.
[0375] Taking equation (21) as the state transition equation, equations (17), (20), (22), (23) and (24) as constraint conditions, and equation (8.2) as the objective of the quadratic convex optimization, the smooth path is obtained by using the OSQP optimization solver, as shown in the gray path in FIG. 10.
[0376] The path planning method provided by the embodiments of the present disclosure can improve the intelligent level of the picking robot, increase the flexibility of the robot operation, and realize the function of actively bypassing obstacles to improve efficiency.
[0377] FIG. 14 is a schematic diagram of another path planning method according to an embodiment of the present disclosure. It should be noted that the path planning method shown in FIG. 14 can be implemented by a second device. As shown in FIG. 14, the method comprises the following steps:
[0378] In step 1401, a self-navigation area is sent to a first device.
[0379] In some embodiments, the self-navigation area is used by the first device to determine whether an initial path is within the self-navigation area, the initial path being a path planned by the second device for the first device to perform a first movement task, and when the initial path is within the self-navigation area, the first device starts the self-navigation function and performs self-navigation, the end position of the self-navigation being the destination of the first movement task.
[0380] In some embodiments, the self-navigation area is a range of areas determined by the second device based on historical data fed back by the first device for the first device to perform self-navigation. The historical data can include congestion information of the first device.
[0381] In some embodiments, the self-navigation area can be determined by the second device using a density clustering algorithm to identify congestion heat based on congestion information of a plurality of first devices in a first area, to determine congestion probabilities of a plurality of sub-areas in the first area, and to determine a sub-area with a congestion probability meeting a preset threshold as the self-navigation area.
[0382] In some examples, the RMS system determines a congestion probability based on congestion information feedback of the robot, adopts density clustering for congestion heat identification, and determines an autonomous decision navigation area as an area where the robot can make autonomous decision navigation by meeting a predetermined threshold.
[0383] In some embodiments, the second device can issue the autonomous navigation area at the same time as issuing the initial path; or, issue the autonomous navigation area in response to the autonomous navigation request sent by the first device.
[0384] In some embodiments, the second device receives an opening request sent by the first device in a case where the initial path is in the autonomous navigation area, the opening request being used to request to open the autonomous navigation function; and sends an opening indication to the first device, the opening indication being used to instruct the first device to open the autonomous navigation function.
[0385] The path planning method provided by the embodiments of the present disclosure can determine an autonomous navigation area for the robot according to historical congestion data, so that the robot can autonomously determine whether to open the autonomous navigation function when it is needed, or determine whether to request the RMS system to open the function, and thus realize autonomous decision of the robot, and improve the efficiency of the robot in performing a mobile task.
[0386] FIG. 15 is a schematic diagram of another path planning method proposed by the embodiments of the present disclosure. It should be noted that the path planning method shown in FIG. 15 can be implemented by the second device. As shown in FIG. 15, the method includes the following steps:
[0387] Step 1501, receiving feedback information sent by the first device.
[0388] In some embodiments, the feedback information is used to inform the first device of at least one of the following: there is an obstacle on the initial path and it cannot be bypassed, and path re-planning is needed to perform the first mobile task.
[0389] In some embodiments, the sending of the feedback information can be that there is a static obstacle on the initial path of the first device, and the blocking ratio of the static obstacle to the initial path makes the first device determine that it cannot bypass the obstacle without changing the initial path, so as to send the feedback information to the second device to inform the second device to re-plan the path.
[0390] In some embodiments, the sending of the feedback information can be that there is a dynamic obstacle on the initial path of the first device, and the first device determines that it cannot bypass the obstacle without changing the initial path, so as to send the feedback information to the second device to inform the second device to re-plan the path.
[0391] Step 1502, determining a reference direction of the first device performing the first mobile task based on the multi-directional road map.
[0392] In some embodiments, the reference direction is different from the initial direction of the initial path.
[0393] In some embodiments, the reference direction is a travel direction that the second device re-determines for the first device based on the initial path, in other words, in the reference direction, the first device can avoid obstacles and continue to perform the first movement task to reach the destination of the first movement task.
[0394] As shown in FIG. 4A, in the multi-directional road map, the second device selects different probabilities for each direction at each location in the multi-directional road map, for example, at a location where four directions in the multi-directional road map can be walked, the selection probability of each direction is 25%; at a location where only one direction can be walked, the selection probability of the direction is 100%, and the selection probability of other directions is 0; at a location where two directions can be walked, the selection probability of each direction is 50%; at a location where three directions can be walked, the selection probability of each direction is 33.3%. The second device can select a reference direction for the first device based on the selection probability of the travel direction at each location. If the first determined reference direction reaches the destination with an obstacle or a too long path, the second device can replace the second reference direction, and the second reference direction can also reach the destination. The second reference direction is different from the initial direction of the initial path.
[0395] In some embodiments, in the case where the first reference direction determined by the second device for the first device overlaps with the travel direction of other devices, in order to avoid the first device queuing for passing, the second device can replace the reference direction and determine the second reference direction.
[0396] The path planning method provided by the embodiments of the present disclosure can continuously determine a plurality of continuous reference directions for the first device based on the first movement task by the second device, and the continuous plurality of reference directions can form a path from the current position to the destination.
[0397] In step 1503, a re-planned path for the first device to perform the first movement task is determined based on the reference direction.
[0398] In some embodiments, the second device determines a reference direction for the first device at each travel location, and the continuous plurality of reference directions are connected in a direction, so as to determine the re-planned path for the first device to perform the first movement task.
[0399] In step 1504, the re-planned path is sent to the first device.
[0400] In some embodiments, the second device sends the re-planned path determined for the first device to the first device, so that the first device executes the re-planned path to continue to complete the first movement task and reach the destination of the first movement task in the case that the first device encounters the obstacle and cannot pass through by detouring.
[0401] The path planning method provided by the embodiments of the present disclosure can determine the re-planned path of the first device based on the multi-directional road map, implement more optional paths, avoid the inefficient problem of queuing and waiting for the first device to pass through, and further improve the work efficiency of the first device.
[0402] FIG. 16 is a schematic diagram of another path planning method according to an embodiment of the present disclosure. It should be noted that the path planning method shown in FIG. 16 can be implemented by the second device. As shown in FIG. 16, the method includes the following steps:
[0403] In step 1601, a detour request sent by the first device in the case that the obstacle is determined to be a dynamic obstacle is received.
[0404] In some embodiments, the detour request sent by the first device in the case that the obstacle is determined to be a dynamic obstacle is received, and the first detour direction and the first detour distance determined by the first device are included in the detour request. Then, the specific decision process of the second device is as follows: determining whether the obstacle is a mobile device, and in the case that the obstacle is a mobile device, determining the second detour direction and the second detour distance of the obstacle according to the first detour direction and the first detour distance; sending a first detour instruction to the first device, the first detour instruction being used to instruct the first device to execute the detour according to the first detour direction and the first detour distance; and sending a second detour instruction to the obstacle, the second detour instruction being used to instruct the obstacle to execute the detour according to the second detour direction and the second detour distance.
[0405] In the above embodiments, the first device can determine the first detour direction and the first detour distance in the manner shown in the specific implementation manner of the embodiment of FIG. 4B, which will not be described herein again.
[0406] In the above embodiments, the second device can determine the detour scheme of the obstacle according to the type of the obstacle based on the detour scheme determined by the first device autonomously, and send the corresponding detour scheme to the first device and the obstacle respectively, so that the first device and the obstacle detour through the blocked road segment and avoid colliding with each other.
[0407] In some embodiments, the detour request sent by the first device in the case that the obstacle is determined to be a dynamic obstacle is received, and the detour request is used to request the second device to issue a detour path. Then, the detour path of the first device is determined according to the position and the travel speed of the obstacle, the detour path including the first detour direction and the first detour distance of the first device detouring around the obstacle, and the detour path is sent to the first device.
[0408] In the above embodiment, the second device can determine the detour path of the first device based on the request of the first device, and make a decision on the detour path by the second device to avoid the first device colliding with the obstacle.
[0409] In some embodiments, the request message sent by the first device in the case that the obstacle is determined to be a dynamic obstacle and the obstacle has no correlation with the first device is received, the request message is used to request the second device to make a decision; in the case that the position of the obstacle cannot be acquired, a first duration for the first device to continue waiting is determined, and a decision message is sent to the first device, the decision message comprising an instruction indicating the first device to continue waiting and the first duration; an alert instruction is sent, the alert instruction being used to notify a worker to check and remove the obstacle; after the obstacle is removed, a decision message is sent to the first device, the decision message comprising an instruction indicating the first device to resume traveling.
[0410] In the above embodiment, the second device can control the waiting duration and the resuming time of the first device when the position of the obstacle cannot be acquired, and notify the worker to remove the obstacle, so as to realize the decision control of the first device and avoid the first device colliding with the obstacle.
[0411] FIG. 17 is an interaction schematic diagram of a path planning method according to an embodiment of the present disclosure. It should be noted that the path planning method shown in FIG. 17 can be applied to a path planning system. The interaction process between the first device and the second device will be described below in combination with FIG. 17.
[0412] In step 1701, the second device sends an autonomous navigation area to the first device.
[0413] In some embodiments, the implementation manner of step 1701 can be as shown in the implementation manner in the embodiment of step 201 in FIG. 2 and step 501 in FIG. 5, and details are not described herein again to avoid repetition.
[0414] In step 1702, the first device determines whether the initial path is in the autonomous navigation area.
[0415] In some embodiments, the initial path is a path planned by the second device for the first device to perform a first moving task.
[0416] In some embodiments, the implementation manner of step 1702 can be as shown in the embodiment of step 202 in FIG. 2, and details are not described herein again to avoid repetition.
[0417] In step 1703, the first device starts the autonomous navigation function and performs autonomous navigation in the case that the initial path is in the autonomous navigation area.
[0418] In some embodiments, the end position of the autonomous navigation is the destination of the first moving task.
[0419] In some embodiments, the implementation of step 1703 has been described in the above embodiments, such as the implementation in the embodiments shown in step 203 of FIG. 2, FIG. 3, FIG. 4B, FIG. 14, FIG. 15, and FIG. 16, and thus will not be repeated here.
[0420] The path planning method provided by the present disclosure is described below with respect to RMS and robots, respectively.
[0421] In some embodiments, for the RMS system side, the RMS can perform congestion heat identification based on the congestion information feedback of the robot using density clustering, determine the congestion probability, and determine the area that meets the predetermined threshold as the autonomous decision navigation area in which the robot can perform autonomous decision navigation. The autonomous decision navigation area can be issued when issuing the walking path to the robot, or can be issued based on the request of the robot, and the specific issuing manner is not limited.
[0422] The RMS system receives the navigation state feedback of the robot for further use in trajectory planning. For example, the RMS system can perform trajectory planning based on the multi-directional road map as shown in FIG. 4A.
[0423] It should be noted that the process of the RMS system side performing the path planning method has been described in detail in the above embodiments, and thus will not be repeated here.
[0424] In some embodiments, for the robot side, during the walking process of the robot, it is determined whether the robot is blocked by an obstacle; if the robot is blocked by an obstacle, it is determined whether the robot is in the autonomous decision navigation area; in the autonomous decision navigation area, the autonomous navigation function is started, and the autonomous decision navigation is performed; if the robot is not in the autonomous decision navigation area, the robot sends a start autonomous decision navigation function to the RMS, and after receiving the start autonomous decision navigation function sent by the RMS, the autonomous decision function is started.
[0425] The autonomous decision navigation area is simultaneously issued by the RMS system when issuing the walking path to the robot, and the area identifier of the autonomous decision navigation area is issued. The autonomous decision navigation area is dynamically changed, and is determined by the RMS system based on the queuing waiting time and position feedback of the robot. The autonomous decision navigation area can be issued upon the request of the robot, and the specific issuing time is not limited.
[0426] Exemplarily, the autonomous decision of the traveling includes: identifying the type of the obstacle, whether it is a static type or a dynamic type. Wherein, based on the local perception map of the obstacle in a predetermined time period, the obstacle motion probability is estimated, the POMDP (partially observable Markov decision process) algorithm is used to analyze the motion trend of the obstacle in a continuous time period, the particle sampling / selection / expansion / simulation and back propagation method is used to predict and statistically analyze the motion trend of the obstacle, and it is determined whether the obstacle is regarded as a dynamic type or a static type; and based on the estimation of the motion trajectory, the bypass path is determined.
[0427] In some examples, in the case of being identified as a static type, the blocking ratio of the obstacle on the traveling route and the road width of the traveling path are obtained; it is determined whether the robot can pass through the obstacle by bypassing without changing the traveling path based on the blocking ratio and the road width; it is determined that the obstacle can be passed through by bypassing, the bypass path is determined based on the surrounding environment, and the bypassing is performed according to the bypass path, and after bypassing, the original path is continued to be traveled; it is determined that the obstacle cannot be passed through by bypassing, the RMS system is fed back that the traveling path is blocked by the obstacle, and the bypassing cannot be performed, and the traveling path is requested to be re-planned; the re-planned traveling path is received, and the new traveling path is performed.
[0428] In other examples, in the case of being identified as a dynamic type, the traveling trajectory of the obstacle is obtained, and the blocking treatment scheme is determined based on the traveling trajectory of the blocking object. Wherein, the blocking object can be a robot, a maintenance personnel or other moving object, and the specific embodiments are not limited in the present disclosure.
[0429] Exemplarily, the determination of the blocking treatment scheme based on the traveling trajectory of the blocking object specifically includes: determining whether the blocking object and the robot will travel on the same path based on the traveling trajectory of the robot.
[0430] In the case of traveling on the same path, it is determined whether the blocking object and the robot travel in the same direction. In the case of traveling in the same direction, it is determined whether the bypassing can be performed based on the surrounding environment; in the case of determining that the bypassing can be performed, the waiting or the RMS system is fed back that the traveling path is blocked by the obstacle, and the bypassing cannot be performed, and the traveling path is requested to be re-planned; the re-planned traveling path is received, and the new traveling path is performed. In the case of traveling in the opposite direction, it is determined whether the bypassing can be performed based on the surrounding environment, and the bypassing trajectory is determined and performed in the case of determining that the bypassing can be performed. As shown in the scene diagram of the bypassing path in FIG. 4C, in the case of determining that the robot can pass through the obstacle by bypassing without changing the traveling path, the bypass path is determined based on the surrounding environment, and the bypassing is performed according to the bypass path, and after bypassing, the original path is continued to be traveled; in the case of determining that the bypassing cannot be performed, the RMS system is fed back that the traveling path is blocked by the obstacle, and the bypassing cannot be performed, and the traveling path is requested to be re-planned; the re-planned traveling path is received, and the new traveling path is performed.
[0431] If the robot is not driving on the same path, such as driving on a cross path, it is determined whether to stop and wait for passing according to the surrounding environment. If it is determined that the robot can stop and wait for passing within a predetermined time threshold, the robot stops and waits for passing, and after the obstacle passes, the robot continues to drive according to the original path. If the robot cannot stop and wait for passing, it is determined whether to pass by detouring according to the surrounding environment: if it is determined that the robot can pass by detouring, a detour path is determined and the detour path is executed; if it is determined that the robot cannot pass by detouring, the robot feeds back to the RMS system that the driving path is blocked by an obstacle and cannot detour, and requests to re-plan the driving path; the re-planned driving path is received, and the new driving path is executed.
[0432] The path planning method provided by the embodiments of the present disclosure enables the robot to make autonomous decision navigation based on the surrounding environment, so that the utilization rate of the robot is improved. When the robot cannot pass the roadblock in the autonomous decision manner, the path can be re-planned based on the setting of the two-way road, so as to reduce the problem of low efficiency caused by queuing and waiting for passing. Due to the setting of the two-way road, the map can be re-planned for the robot based on the congestion of the robot, so that the robot does not need to be re-imported, the maintenance and delivery costs are reduced, and the working efficiency of the robot is improved.
[0433] FIG. 18 is a schematic diagram of a path planning device according to an embodiment of the present disclosure. The device is applied to a first device. As shown in FIG. 18, the path planning device 1800 includes:
[0434] The receiving unit 1801 is configured to receive an autonomous navigation area sent by a second device.
[0435] The determining unit 1802 is configured to determine whether an initial path is in the autonomous navigation area, the initial path being a path planned by the second device for the first device to perform a first moving task.
[0436] The navigation unit 1803 is configured to, in a case where the initial path is in the autonomous navigation area, start an autonomous navigation function and perform autonomous navigation, an end position of the autonomous navigation being a destination of the first moving task.
[0437] In some embodiments, the determining unit is further configured to determine whether the initial path is blocked by an obstacle; and in a case where the initial path is blocked by the obstacle, determine whether the initial path is in the autonomous navigation area.
[0438] In some embodiments, the determining unit is further configured to: acquire point cloud data from a sensor device in the first device, and transform the point cloud data into the grid cost map; project the initial path into the grid cost map, and determine whether an obstacle region exists at a first path point on the initial path, the first path point being any path point from a current position of the first device to the end position; and determine that the initial path is blocked by the obstacle at the first path point in a case that the obstacle continuously exists at the first path point or the obstacle exists at the first path point when the first device moves to the first path point along the initial path.
[0439] In some embodiments, the navigation unit is further configured to: automatically start the autonomous navigation function and perform autonomous navigation in a case that the initial path is in the autonomous navigation region; or send a start request to the second device in a case that the initial path is in the autonomous navigation region; and start the autonomous navigation function and perform autonomous navigation in response to a start instruction sent by the second device.
[0440] In some embodiments, the navigation unit is further configured to: determine a type of the obstacle blocking the initial path, the type of the obstacle including a static obstacle and a dynamic obstacle; and determine a strategy for performing autonomous navigation according to the type of the obstacle, the strategy including at least one of stopping and waiting, a waiting time length, and an autonomous navigation path, the autonomous navigation path being a path for bypassing the obstacle and reaching the end position, the autonomous navigation path including at least one of a detour path and a re-planning path.
[0441] In some embodiments, the navigation unit is further configured to: determine a first confidence that the obstacle is a static obstacle or a second confidence that the obstacle is a dynamic obstacle at a plurality of time points in a preset time period; determine that the type of the obstacle is the static obstacle in a case that the first confidence reaches a first preset threshold, or otherwise, determine that the type of the obstacle is the dynamic obstacle; or determine that the type of the obstacle is the dynamic obstacle in a case that the second confidence reaches a second preset threshold, or otherwise, determine that the type of the obstacle is the static obstacle.
[0442] In some embodiments, the navigation unit is further configured to: determine a reference path for the first device to bypass the obstacle; determine the first initial confidence and the second initial confidence at a first time point of a plurality of time points in a preset time period; determine whether the first device can pass through the reference path at a second time point of the plurality of time points, the second time point being located after the first time point in a time sequence; in a case where the first device can pass through the reference path at the second time point, increase the first initial confidence by a preset value and decrease the second initial confidence by the preset value; in a case where the first device cannot pass through the reference path at the second time point, decrease the first initial confidence by the preset value, increase the second initial confidence by the preset value, and re-plan the path until all the plurality of time points are traversed.
[0443] In some embodiments, the navigation unit is further configured to: in a case where the type is a static obstacle, obtain a blocking ratio of the obstacle to the initial path and a road width of the initial path; determine that the first device can bypass the obstacle without changing the initial path based on the blocking ratio and the road width; in a case where it is determined that the first device can bypass the obstacle without changing the initial path, determine a bypass path according to a surrounding environment of the obstacle, perform bypassing according to the bypass path, and continue to travel according to the initial path after the bypassing; in a case where it is determined that the first device cannot bypass the obstacle without changing the initial path, determine a re-planned path and travel according to the re-planned path.
[0444] In some embodiments, the navigation unit is further configured to: send feedback information to the second device, the feedback information being used to inform the first device of at least one of the following: there is an obstacle on the initial path and bypassing is not possible, path re-planning is required to perform the first movement task; receive a re-planning indication sent by the second device, the re-planning indication being used to instruct the first device to autonomously generate a re-planned path; in response to the re-planning indication, autonomously generate the re-planned path; or receive a re-planned path sent by the second device, the re-planned path being a path re-planned by the second device for the first device, the re-planned path being generated by the second device based on the multi-directional road map.
[0445] In some embodiments, the navigation unit is further configured to: in a case where the type is a dynamic obstacle, determine a correlation between a travel trajectory of the obstacle and the initial path, the correlation including: same-direction travel, opposite-direction travel, cross travel, and no correlation; and determine a strategy for performing autonomous navigation according to the correlation.
[0446] In some embodiments, the navigation unit is further configured to, in the case of the correlation being same-direction travel, acquire a travel speed of the obstacle, an occlusion ratio of the obstacle to the initial path, and a road width of the initial path; in the case that the travel speed of the obstacle is greater than or equal to a travel speed of the first device, determine whether the first device can bypass the obstacle without changing the initial path based on the occlusion ratio and the road width; in the case that it is determined that the first device can bypass the obstacle without changing the initial path, determine a bypass path according to a surrounding environment of the obstacle, perform bypassing according to the bypass path, and continue to travel according to the initial path after bypassing through; and in the case that it is determined that the first device cannot bypass the obstacle without changing the initial path, determine a re-planned path and travel according to the re-planned path.
[0447] In some embodiments, the navigation unit is further configured to, in the case of the correlation being reverse-direction travel, acquire an occlusion ratio of the obstacle to the initial path and a road width of the initial path; determine whether the first device can bypass the obstacle without changing the initial path based on the occlusion ratio and the road width; in the case that it is determined that the first device can bypass the obstacle without changing the initial path, determine a bypass path according to an instruction of the second device, perform bypassing according to the bypass path, and continue to travel according to the initial path after bypassing through; and in the case that it is determined that the first device cannot bypass the obstacle without changing the initial path, determine a re-planned path and travel according to the re-planned path.
[0448] In some embodiments, the navigation unit is further configured to determine a first bypass direction and a first bypass distance of the first device, send a bypass request to the second device, the bypass request including the first bypass direction and the first bypass distance, receive a bypass instruction sent by the second device, the bypass instruction being used to indicate whether to agree with the first device performing bypassing according to the first bypass direction and the first bypass distance, in the case that the bypass instruction indicates agreement, determine a bypass path according to the first bypass direction and the first bypass distance, and in the case that the bypass instruction indicates disagreement, stop traveling and wait, or re-request a bypass path from the second device.
[0449] In some embodiments, the navigation unit is further configured to send a bypass request to the second device, the bypass request being used to request the second device to determine a bypass direction and a bypass distance of the obstacle, acquire a second bypass direction and a second bypass distance of the obstacle sent by the second device, determine a first bypass direction and a first bypass distance of the first device according to the second bypass direction and the second bypass distance, and determine a bypass path according to the first bypass direction and the first bypass distance.
[0450] In some embodiments, the navigation unit is further configured to: send a detour request to the second device, the detour request being used to request the second device to issue a detour path; and receive the detour path sent by the second device, the detour path comprising a first detour direction and a first detour distance for the first device to detour around the obstacle.
[0451] In some embodiments, the navigation unit is further configured to: in a case where the correlation is cross travel, determine whether the obstacle can pass through the initial path within a preset time period; in a case where it is determined that the obstacle can pass through the initial path within the preset time period, determine a waiting time, stop and wait for the obstacle to pass; in a case where it is determined that the obstacle cannot pass through the initial path within the preset time period, determine whether the first device can detour around the obstacle without changing the initial path; in a case where it is determined that the first device can detour around the obstacle without changing the initial path, determine a detour path, perform detouring according to the detour path, and continue to travel according to the initial path after the detouring; and in a case where it is determined that the first device cannot detour around the obstacle without changing the initial path, determine a re-planned path, and travel according to the re-planned path.
[0452] In some embodiments, the navigation unit is further configured to: in a case where the correlation is no correlation, stop traveling and wait, and send a request message to the second device, the request message being used to request the second device to make a decision; and receive a decision message sent by the second device, the decision message being used to indicate any one of the first device to continue to wait and a first time length of the waiting, and to resume traveling.
[0453] In some embodiments, the navigation unit is further configured to: receive an autonomous navigation area issued by the second device at the same time as the initial path; or send an autonomous navigation request to the second device, and receive an autonomous navigation area issued by the second device in response to the autonomous navigation request.
[0454] In some embodiments, the navigation unit is configured to: in a case where the initial path is blocked by the obstacle, sample the initial path to obtain a plurality of first sampling points in a longitudinal direction of the initial path, and a plurality of second sampling points of each first sampling point in a transverse direction of the initial path, the longitudinal direction being a traveling direction passing through the first sampling point and tangent to the initial path, and the transverse direction being perpendicular to the longitudinal direction; and determine a re-planned path according to the plurality of first sampling points, the plurality of second sampling points, a position of the obstacle, and a grid cost map.
[0455] In some embodiments, the navigation unit is configured to: sample the initial path according to a first step length to obtain a plurality of first sampling points; for each first sampling point, determine a heading angle of the first sampling point, the heading angle being an angle formed by counterclockwise rotation from a preset reference direction to a longitudinal direction; and determine, according to the coordinates of the first sampling point, the heading angle, a second step length, and a transverse sampling range constraint, a plurality of second sampling points of the first sampling point in a transverse direction.
[0456] In some embodiments, the navigation unit is configured to: determine, using the grid cost map, a target distance between each sampling point in the plurality of first sampling points and the plurality of second sampling points and a position center point of the obstacle; determine, as valid sampling points, sampling points with a target distance greater than or equal to a preset distance threshold; determine, according to the target distance between each valid sampling point and the position center point of the obstacle, a safety cost value of each valid sampling point; and determine the replanned path according to the target distance between each valid sampling point and the position center point of the obstacle and the safety cost value of each valid sampling point.
[0457] In some embodiments, the navigation unit is configured to: determine, according to the target distance between each valid sampling point and the position center point of the obstacle, a preset safety distance, and a safety cost weight, the safety cost value; wherein, in a case where the target distance is greater than or equal to the preset safety distance, the safety cost value is zero; and in a case where the target distance is less than the preset safety distance, the safety cost value is a product of the safety cost weight and a safety penalty value, the safety penalty value being a difference between the preset safety distance and the target distance.
[0458] In some embodiments, the navigation unit is configured to: determine a deviation cost of a first valid sampling point (i, k) relative to a second valid sampling point (i+1, j) in the longitudinal direction, wherein the first valid sampling point is any valid sampling point, the second valid sampling point is a next sampling point of the first valid sampling point in the longitudinal direction, i is a longitudinal index of the first sampling point, k is a transverse index of the first sampling point, i+1 is a longitudinal index of the second valid sampling point, and j is a transverse index of the second valid sampling point; determine, according to a transverse deviation between the first valid sampling point and a first sampling point corresponding to the first valid sampling point in the transverse direction and a transverse deviation weight, a transverse cost of the first valid sampling point; determine, according to the deviation cost, the transverse cost, the safety cost value, and a total cost of the second valid sampling point, a total cost of the first valid sampling point; determine a first valid sampling point set with a minimum total cost function value according to the total cost of the first valid sampling point; and determine, using a backtracking method, the replanned path according to the first valid sampling point set.
[0459] In some embodiments, the navigation unit is configured to: determine, according to the coordinates of the first valid sampling point determine, according to the coordinates of the second valid sampling point The reference heading angle of the first sampling point corresponding to the first effective sampling point, the heading change weight between the first effective sampling point and the corresponding first sampling point, the heading angle of the second effective sampling point, the angle deviation weight between the heading angle of the first effective sampling point and the reference heading angle, determine the deviation cost of the first effective sampling point.
[0460] In some embodiments, the navigation unit is configured to: in the case of the longitudinal index i = n-1 of the first effective sampling point, determine that the deviation cost is zero, the total cost of the second effective sampling point is zero, and determine that the total cost of the first effective sampling point is the sum of the safety cost value and the lateral cost, n is the maximum value of the sampling point in the longitudinal direction; in the case of the longitudinal index i < n-1 of the first effective sampling point, determine the minimum value of the sum of the deviation cost and the total cost of the second effective sampling point, and determine that the total cost of the first effective sampling point is the sum of the minimum value, the safety cost value and the lateral cost.
[0461] In some embodiments, the path planning device further comprises a processing unit, and the processing unit is configured to: establish a target cost function and a constraint condition according to the lateral deviation between the re-planned path and the initial path; in the case of satisfying the constraint condition, perform path smoothing on the re-planned path to obtain a smoothed path, with the minimum function value of the target cost function as the target.
[0462] In some embodiments, the processing unit is further configured to: determine a cost deviation smoothing according to the lateral deviation between the re-planned path and the initial path, the number of sampling points on the re-planned path, and the cost weight of each lateral deviation; determine a first-order smoothing according to the first-order derivative of the lateral deviation, the number of sampling points on the re-planned path, and the first-order cost weight of each lateral deviation; determine a second-order smoothing according to the second-order derivative of the lateral deviation, the number of sampling points on the re-planned path, and the second-order cost weight of each lateral deviation; determine a third-order smoothing according to the third-order derivative of the lateral deviation, the number of sampling points on the re-planned path, and the third-order cost weight of each lateral deviation; determine an obstacle avoidance smoothing according to the obstacle avoidance relaxation factor of each effective sampling point on the re-planned path and the obstacle avoidance cost weight corresponding to each obstacle avoidance factor; establish a target cost function according to the cost deviation smoothing, the first-order smoothing, the second-order smoothing, the third-order smoothing, and the obstacle avoidance smoothing; establish a state transition equation, a lateral smoothness constraint, a safety range hard constraint, a lateral velocity constraint, a lateral acceleration constraint, and a safety range soft constraint according to the lateral deviation between the re-planned path and the initial path.
[0463] In some embodiments, the processing unit is further configured to: take the lateral deviation between each sampling point on the replanned path and the corresponding sampling point on the initial path as a variable of the Taylor formula to obtain a state transition equation and a lateral smoothness constraint; determine a safe passing range of each sampling point on the replanned path, and take the lateral deviation between the replanned path and the initial path within the safe passing range to obtain a safe range hard constraint; take the first derivative of the lateral deviation within a preset first threshold range to obtain a lateral velocity constraint; take the second derivative of the lateral deviation within a preset second threshold range to obtain a lateral acceleration constraint; and take the difference between the lateral deviation and a soft constraint factor within a soft constraint range to obtain a safe range soft constraint, wherein a lower boundary of the soft constraint range is a difference between a safe lower boundary of the safe passing range and a safety contraction margin, and an upper boundary of the soft constraint range is a difference between a safe upper boundary of the safe passing range and the safety contraction margin.
[0464] In some embodiments, the processing unit is further configured to: determine a safe upper boundary and a safe lower boundary of the safe passing range according to the coordinates of each valid sampling point on the replanned path, wherein the safe upper boundary represents a left boundary in the lateral direction when the terminal device safely passes through the valid sampling point, and the safe lower boundary represents a right boundary in the lateral direction when the terminal device safely passes through the valid sampling point.
[0465] In some embodiments, the processing unit is further configured to: for each valid sampling point (i, k), when k is equal to the lateral sampling range constraint, or the position of the valid sampling point (i, k) is occupied by an obstacle, or the position of a previous sampling point (i, k-1) of the valid sampling point in the lateral direction is occupied by an obstacle, determine that the safe lower boundary of the valid sampling point (i, k) is the interval between adjacent sampling points in the lateral direction; otherwise, the safe lower boundary is the safe lower boundary of the previous sampling point (i, k-1); when k is equal to the lateral sampling range constraint, or the position of the valid sampling point (i, k) is occupied by an obstacle, or the position of a next sampling point (i, k+1) of the valid sampling point in the lateral direction is occupied by an obstacle, determine that the safe upper boundary of the valid sampling point (i, k) is the interval between adjacent sampling points in the lateral direction; otherwise, the safe upper boundary is the safe upper boundary of the next sampling point (i, k+1).
[0466] The path planning device provided by the embodiments of the present disclosure can enable the first device to determine whether to start the autonomous navigation function based on whether the initial path is in the autonomous navigation area determined by the second device, to perform autonomous navigation and autonomous decision-making, and to further enable the first device to autonomously determine a detour scheme, stop and wait, or a path re-planning scheme when encountering an obstacle, thereby improving the utilization rate and work efficiency of the robot.
[0467] FIG. 19 is a schematic diagram of another path planning device according to an embodiment of the present disclosure, which is applied to a second device. As shown in FIG. 19, the path planning device 1900 includes:
[0468] The sending unit 1901 is configured to send, to the first device, an autonomous navigation area, the autonomous navigation area being used by the first device to determine whether an initial path is in the autonomous navigation area, the initial path being a path planned by the second device for the first device to perform a first movement task, and the first device starting an autonomous navigation function and performing autonomous navigation when the initial path is in the autonomous navigation area, a terminal position of the autonomous navigation being a destination of the first movement task.
[0469] In some embodiments, the device further includes a determining unit configured to: determine congestion probabilities of a plurality of sub-areas in the first area by using a density clustering algorithm to perform congestion heat identification according to congestion information of the plurality of first devices in the first area; and determine a sub-area whose congestion probability meets a preset threshold as the autonomous navigation area.
[0470] In some embodiments, the device further includes a receiving unit configured to receive a starting request sent by the first device when the initial path is in the autonomous navigation area, the starting request being used to request to start the autonomous navigation function; and the sending unit is further configured to send, to the first device, a starting instruction used to instruct the first device to start the autonomous navigation function.
[0471] In some embodiments, the receiving unit is further configured to receive feedback information sent by the first device, the feedback information being used to notify the first device that at least one of the following conditions is met: there is an obstacle on the initial path and the obstacle cannot be bypassed, and path re-planning needs to be performed for the first movement task; the determining unit is further configured to determine, based on the multi-directional map, a reference direction of the first device performing the first movement task, the reference direction being different from an initial direction of the initial path; determine a re-planned path of the first device performing the first movement task based on the reference direction; and the sending unit is further configured to send, to the first device, the re-planned path.
[0472] In some embodiments, the receiving unit is further configured to receive a bypass request sent by the first device when it is determined that the obstacle is a dynamic obstacle, the bypass request including a first bypass direction and a first bypass distance determined by the first device; the determining unit is further configured to determine whether the obstacle is a mobile device, and when the obstacle is a mobile device, determine a second bypass direction and a second bypass distance of the obstacle based on the first bypass direction and the first bypass distance; and the sending unit is further configured to send, to the first device, a first bypass instruction used to instruct the first device to perform bypassing according to the first bypass direction and the first bypass distance; and send, to the obstacle, a second bypass instruction used to instruct the obstacle to perform bypassing according to the second bypass direction and the second bypass distance.
[0473] In some embodiments, the receiving unit is further configured to receive a bypass request sent by the first device in a case that the obstacle is determined to be a dynamic obstacle, the bypass request being used to request the second device to issue a bypass path; the determining unit is further configured to determine the bypass path of the first device according to the position and the travel speed of the obstacle, the bypass path including a first bypass direction and a first bypass distance of the first device bypassing the obstacle; and the sending unit is further configured to send the bypass path to the first device.
[0474] In some embodiments, the receiving unit is further configured to receive a request message sent by the first device in a case that the obstacle is determined to be a dynamic obstacle and the obstacle has no correlation with the first device, the request message being used to request the second device to make a decision; the determining unit is further configured to determine a first time length for the first device to continue waiting if the position of the obstacle cannot be acquired, and send a decision message to the first device, the decision message including an instruction indicating the first device to continue waiting and the first time length; the sending unit is further configured to send an alert instruction, the alert instruction being used to notify a staff to check and remove the obstacle; and after the obstacle is removed, send a decision message to the first device, the decision message including an instruction indicating the first device to resume travel.
[0475] In the above embodiments, the path planning device applied to the second device determines the area in which the first device can perform autonomous navigation through the information fed back by the first device, and can plan a path for the first device based on the feedback of the first device and the multi-directional road map, so as to realize multi-path path planning, reduce the low-efficiency problem that the robots need to queue and wait to pass, and further improve the working efficiency of the robots.
[0476] FIG. 20 is a schematic diagram of an electronic device according to an embodiment of the present disclosure. As shown in FIG. 20, the components of the electronic device 2000 include, but are not limited to, a memory 2010 and a processor 2020. The processor 2020 and the memory 2010 are connected through a bus 2030, and a database 2050 is used to save data.
[0477] The electronic device 2000 also includes an access device 2040 that enables the electronic device 2000 to communicate via one or more networks 2060. Examples of these networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or combinations of these and / or other types of networks, such as the Internet. The access device 2240 can include one or more of any type of network interface (for example, a network interface card (NIC)), wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface, and so on.
[0478] In one embodiment of the present disclosure, the above-mentioned components of the electronic device 2000 and other components not shown in FIG. 20 can also be connected to each other, such as through a bus. Among them, the electronic device structure block diagram shown in FIG. 20 is only for the purpose of example, not a limitation on the scope of the present disclosure. Those skilled in the art can add or replace other components as needed.
[0479] The electronic device 2000 can be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (for example, a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook, and so on), a mobile phone (for example, a smartphone), a wearable computing device (for example, a smart watch, smart glasses, and so on), or other type of mobile device, or a stationary computing device such as a desktop computer or a personal computer (PC). The electronic device 2000 can also be a mobile or stationary server.
[0480] Among them, the processor 2020 implements the steps of the path planning method when executing the computer instructions.
[0481] The above is a schematic scheme of the electronic device of the embodiment. It should be noted that the technical scheme of the electronic device and the technical scheme of the path planning method described above belong to the same concept, and the details of the technical scheme of the computing electronic device that are not described in detail can be seen from the description of the technical scheme of the path planning method.
[0482] The embodiment of the present disclosure also provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to make a computer execute the path planning method described in the above embodiment of the present disclosure.
[0483] The embodiment of the present disclosure also provides a computer program product, comprising a computer program, wherein the computer program is used to make a processor execute the path planning method described in the above embodiment of the present disclosure.
[0484] The above describes specific embodiments of the present disclosure. Other embodiments are within the scope of the appended claims. In some cases, the acts or steps recited in the claims can be performed in a different order than those described in the embodiments and still achieve desirable results. In addition, the processes depicted in the figures do not necessarily require the particular order shown or sequential order to achieve the desired results. In certain implementations, multitasking and parallel processing can be advantageous.
[0485] The computer instructions include computer program code, which can be in the form of source code, object code, executable code, or some intermediate form. The computer-readable medium can include any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium, etc.
[0486] It should be noted that, for each of the above method embodiments, in order to facilitate description, each is described as a combination of a series of actions, but those skilled in the art should know that the present disclosure is not limited to the order of the actions described, because according to the present disclosure, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification all belong to preferred embodiments, and the actions and modules involved are not necessarily essential to the present disclosure.
[0487] In the above embodiments, the description of each embodiment has its own focus, and the parts not described in detail in a certain embodiment can be seen from the related description of other embodiments.
[0488] The preferred embodiments of the present disclosure disclosed above are only used to illustrate the present disclosure. The alternative embodiments do not describe all the details and do not limit the present disclosure to the specific embodiments described. Obviously, according to the content of the present disclosure, many modifications and changes can be made. The present disclosure selects and specifically describes these embodiments in order to better explain the principles and practical applications of the present disclosure, so that those skilled in the art can well understand and utilize the present disclosure. The present disclosure is limited only by the claims and their full scope and equivalents.
Claims
1. A path planning method applied to a first device, the method comprising: receiving an autonomous navigation area sent by a second device; determining whether an initial path is in the autonomous navigation area; wherein the initial path is a path planned by the second device for the first device to perform a first movement task; in a case where the initial path is in the autonomous navigation area, starting an autonomous navigation function and performing autonomous navigation; wherein a terminal position of the autonomous navigation is a destination of the first movement task.
2. The method of claim 1, wherein, The determination of whether the initial path is in the autonomous navigation area comprises: determining whether the initial path is blocked by an obstacle; in a case where the initial path is blocked by the obstacle, determining whether the initial path is in the autonomous navigation area.
3. The method of claim 2, wherein, The determination of whether the initial path is blocked by the obstacle comprises: obtaining point cloud data from a sensor device in the first device and transforming the point cloud data into a grid cost map; projecting the initial path into the grid cost map to determine whether there is an obstacle on a first path point on the initial path; wherein the first path point is any path point from a current position of the first device to the terminal position; in a case where there is an obstacle on the first path point continuously or there is an obstacle on the first path point when the first device moves to the first path point along the initial path, determining that the initial path is blocked by the obstacle at the first path point.
4. The method of any one of claims 1-3, wherein, The starting of the autonomous navigation function and the performing of the autonomous navigation in the case where the initial path is in the autonomous navigation area comprises: in the case where the initial path is in the autonomous navigation area, automatically starting the autonomous navigation function and performing autonomous navigation; or in the case where the initial path is in the autonomous navigation area, sending a starting request to the second device; and in response to a starting instruction sent by the second device, starting the autonomous navigation function and performing autonomous navigation.
5. The method of any one of claims 2-4, wherein, The starting of the autonomous navigation function and the performing of the autonomous navigation in the case where the initial path is in the autonomous navigation area comprises: determining a type of the obstacle blocking the initial path; wherein the type of the obstacle comprises a static obstacle and a dynamic obstacle; determining a strategy for performing the autonomous navigation according to the type of the obstacle; wherein the strategy comprises at least one of stopping and waiting, a waiting time length, and an autonomous navigation path, the autonomous navigation path being a path for bypassing the obstacle and reaching the terminal position, the autonomous navigation path comprising at least one of a bypass path and a re-planned path.
6. The method of claim 5, wherein, The determination of the type of the obstacle blocking the initial path comprises: determining a first confidence that the obstacle is the static obstacle or a second confidence that the obstacle is the dynamic obstacle at multiple time points in a preset time period; in a case where the first confidence reaches a first preset threshold, determining that the obstacle is the static obstacle, otherwise, determining that the type of the obstacle is the dynamic obstacle; or in a case where the second confidence reaches a second preset threshold, determining that the obstacle is the dynamic obstacle, otherwise, determining that the type of the obstacle is the static obstacle. In a case where the second confidence reaches a second preset threshold, the obstacle is determined as the dynamic obstacle, otherwise, the type of the obstacle is determined as the static obstacle.
7. The method of claim 6, wherein, The determining the first confidence that the obstacle is the static obstacle or the second confidence that the obstacle is the dynamic obstacle at the multiple time points in the preset time period comprises: determining a reference path of the first device bypassing the obstacle; at a first time point of the multiple time points in the preset time period, determining a first initial confidence and a second initial confidence; wherein the first device passes through the reference path at the first time point; at a second time point of the multiple time points in the preset time period, determining whether the first device can pass through the reference path; wherein the second time point is located after the first time point in a time sequence; in a case where the first device can pass through the reference path at the second time point, increasing the first initial confidence by a preset value and decreasing the second initial confidence by the preset value; in a case where the first device cannot pass through the reference path at the second time point, decreasing the first initial confidence by a preset value, increasing the second initial confidence by the preset value, and re-performing path planning until the multiple time points are traversed.
8. The method of claim 5, wherein, The determining the strategy of performing the autonomous navigation according to the type comprises: in a case where the type of the obstacle is the static obstacle, obtaining an occlusion ratio of the obstacle to the initial path and a road width of the initial path; based on the occlusion ratio and the road width, determining whether the first device can bypass the obstacle without changing the initial path; in a case where it is determined that the first device can bypass the obstacle without changing the initial path, determining the bypass path according to a surrounding environment of the obstacle, performing bypassing according to the bypass path, and continuing to travel according to the initial path after bypassing; in a case where it is determined that the first device cannot bypass the obstacle without changing the initial path, determining the re-planned path and traveling according to the re-planned path.
9. The method of claim 8, wherein, The determining the re-planned path comprises: sending feedback information to the second device; wherein the feedback information is used to indicate that the first device has at least one of the following: there is an obstacle on the initial path and bypassing is not possible, path re-planning is needed to perform the first moving task; receiving a re-planning indication sent by the second device, and in response to the re-planning indication, autonomously generating the re-planned path; or receiving the re-planned path sent by the second device; wherein the re-planned path is a path re-planned by the second device for the first device, and the re-planned path is generated by the second device based on a multi-directional road map.
10. The method of claim 5, wherein, The determining the strategy of performing the autonomous navigation according to the type comprises: In a case where the type of the dynamic obstacle is determined, a correlation between a running track of the obstacle and the initial path is determined; wherein the correlation includes: same direction running, opposite direction running, crossing running, and no correlation; According to the correlation, a strategy for performing the autonomous navigation is determined.
11. The method of claim 10, wherein, The strategy for performing the autonomous navigation according to the correlation includes: In a case where the correlation is the same direction running, a running speed of the obstacle, an occlusion ratio of the obstacle to the initial path, and a road width of the initial path are obtained; In a case where the running speed of the obstacle is greater than or equal to a running speed of the first device, the initial path is continued to be run along; In a case where the running speed of the obstacle is less than the running speed of the first device, whether the first device can bypass the obstacle without changing the initial path is determined based on the occlusion ratio and the road width; In a case where it is determined that the first device can bypass the obstacle without changing the initial path, the bypass path is determined according to a surrounding environment of the obstacle, the bypass is performed along the bypass path, and after the bypass is passed, the initial path is continued to be run along; In a case where it is determined that the first device cannot bypass the obstacle without changing the initial path, the re-planned path is determined, and the re-planned path is run along.
12. The method of claim 10, wherein, The strategy for performing the autonomous navigation according to the correlation includes: In a case where the correlation is the opposite direction running, an occlusion ratio of the obstacle to the initial path and a road width of the initial path are obtained; Based on the occlusion ratio and the road width, whether the first device can bypass the obstacle without changing the initial path is determined; In a case where it is determined that the first device can bypass the obstacle without changing the initial path, a bypass path is determined according to an instruction of the second device, the bypass is performed along the bypass path, and after the bypass is passed, the initial path is continued to be run along; In a case where it is determined that the first device cannot bypass the obstacle without changing the initial path, the re-planned path is determined, and the re-planned path is run along.
13. The method of claim 12, wherein, The bypass path is determined according to the instruction of the second device, including: A first bypass direction and a first bypass distance of the first device are determined; A bypass request is sent to the second device; wherein the first bypass direction and the first bypass distance are included in the bypass request; A bypass instruction sent by the second device is received; wherein the bypass instruction is used to indicate whether to agree that the first device performs the bypass along the first bypass direction and the first bypass distance; In a case where the bypass instruction indicates agreement, the bypass path is determined according to the first bypass direction and the first bypass distance; In a case where the bypass instruction indicates disagreement, the running is stopped and waiting, or the bypass path is re-requested to the second device.
14. The method of claim 12, wherein, The bypass path is determined according to the instruction of the second device, including: sending a detour request to the second device, wherein the detour request is used to request the second device to determine a detour direction and a detour distance of the obstacle; obtaining a second detour direction and a second detour distance of the obstacle sent by the second device; determining a first detour direction and a first detour distance of the first device according to the second detour direction and the second detour distance; determining the detour path according to the first detour direction and the first detour distance.
15. The method of claim 12, wherein, The determining the detour path according to the instruction of the second device comprises: sending a detour request to the second device, wherein the detour request is used to request the second device to issue a detour path; receiving the detour path sent by the second device, wherein the detour path comprises a first detour direction and a first detour distance of the first device detouring the obstacle.
16. The method of claim 10, wherein, The determining the strategy of performing the autonomous navigation according to the correlation comprises: in the case that the correlation is the cross travel, determining whether the obstacle can pass through the initial path within a preset time period; in the case that it is determined that the obstacle can pass through the initial path within a preset time period, determining a waiting time, stopping and waiting for the obstacle to pass through; in the case that it is determined that the obstacle cannot pass through the initial path within a preset time period, determining whether the first device can detour the obstacle without changing the initial path; in the case that it is determined that the first device can detour the obstacle without changing the initial path, determining a detour path, performing detouring according to the detour path, and continuing to travel according to the initial path after detouring through; in the case that it is determined that the first device cannot detour the obstacle without changing the initial path, determining the re-planned path and traveling according to the re-planned path.
17. The method of claim 10, wherein, The determining the strategy of performing the autonomous navigation according to the correlation comprises: in the case that the correlation is no correlation, stopping traveling and waiting, and sending a request message to the second device; wherein the request message is used to request the second device to make a decision; receiving a decision message sent by the second device; wherein the decision message is used to instruct the first device to continue waiting and a first time length of waiting, or to resume traveling.
18. The method of claim 1, wherein, The receiving the autonomous navigation area sent by the second device comprises: receiving the autonomous navigation area sent by the second device at the same time when the initial path is issued; or, sending an autonomous navigation request to the second device, and receiving the autonomous navigation area issued by the second device in response to the autonomous navigation request.
19. The method of any one of claims 1-18, the performing autonomous navigation comprises: In the case that the initial path is blocked by an obstacle, the initial path is sampled to obtain a plurality of first sampling points in a longitudinal direction of the initial path and a plurality of second sampling points in a transverse direction of the initial path for each first sampling point, wherein the longitudinal direction is a direction of travel through the first sampling point and tangent to the initial path, and the transverse direction is perpendicular to the longitudinal direction; A replanned path is determined according to the plurality of first sampling points, the plurality of second sampling points, a position of the obstacle, and the grid cost map.
20. The method of claim 19, wherein, The sampling of the initial path to obtain a plurality of first sampling points on the initial path and a plurality of second sampling points in a transverse direction for each first sampling point includes: The initial path is sampled at a first step length to obtain the plurality of first sampling points; For each first sampling point, a heading angle of the first sampling point is determined, wherein the heading angle is an angle formed by counterclockwise rotation of a preset reference direction to the longitudinal direction; A plurality of second sampling points in the transverse direction for the first sampling point are determined according to a coordinate of the first sampling point, the heading angle, a second step length, and a transverse sampling range constraint.
21. The method of claim 19, wherein, The determination of the replanned path according to the plurality of first sampling points, the plurality of second sampling points, the position of the obstacle, and the grid cost map includes: A target distance between each sampling point of the plurality of first sampling points and the plurality of second sampling points and a position center point of the obstacle is determined using the grid cost map; A sampling point with a target distance greater than or equal to a preset distance threshold is determined as an effective sampling point; A safety cost value of each effective sampling point is determined according to a target distance between each effective sampling point and the position center point of the obstacle; The replanned path is determined according to the target distance between each effective sampling point and the position center point of the obstacle and the safety cost value.
22. The method of claim 21, wherein, The determination of the safety cost value of each effective sampling point according to the target distance between each effective sampling point and the position center point of the obstacle includes: The safety cost value is determined according to the target distance between each effective sampling point and the position center point of the obstacle, a preset safety distance, and a safety cost weight; In the case that the target distance is greater than or equal to the preset safety distance, the safety cost value is zero; in the case that the target distance is less than the preset safety distance, the safety cost value is a product of the safety cost weight and a safety penalty value, and the safety penalty value is a difference between the preset safety distance and the target distance.
23. The method of claim 22, wherein, The determination of the replanned path according to the target distance between each effective sampling point and the position center point of the obstacle and the safety cost value includes: determining a deviation cost of a first valid sampling point (i, k) relative to a second valid sampling point (i+1, j) in the longitudinal direction, wherein the first valid sampling point is any one valid sampling point, the second valid sampling point is a next sampling point of the first valid sampling point in the longitudinal direction, i is a longitudinal index of the first sampling point, k is a transverse index of the first sampling point, i+1 is a longitudinal index of the second valid sampling point, and j is a transverse index of the second valid sampling point; determining a transverse cost of the first valid sampling point according to a transverse deviation between the first valid sampling point and a first sampling point corresponding to the first valid sampling point in a transverse direction, and a transverse deviation weight; determining a total cost of the first valid sampling point according to the deviation cost, the transverse cost, the safety cost value, and a total cost of the second valid sampling point; determining a first valid sampling point set with a minimum total cost function value according to the total cost of the first valid sampling point; determining the re-planned path according to the first valid sampling point set using a backtracking method.
24. The method of claim 23, wherein, The determination of the deviation cost of the first valid sampling point (i, k) relative to the second valid sampling point (i+1, j) in the longitudinal direction includes: According to the coordinates of the first effective sampling point coordinates of the second effective sampling point The reference heading angle of the first sampling point corresponding to the first valid sampling point, the heading change weight between the first valid sampling point and the corresponding first sampling point, the heading angle of the second valid sampling point, and the angle deviation weight between the heading angle of the first valid sampling point and the reference heading angle are used to determine the deviation cost of the first valid sampling point.
25. The method of claim 23, wherein, The determination of the total cost of the first valid sampling point according to the deviation cost, the transverse cost, the safety cost value, and the total cost of the second valid sampling point includes: In the case that the longitudinal index i of the first valid sampling point is n-1, the deviation cost is determined to be zero, the total cost of the second valid sampling point is determined to be zero, and the total cost of the first valid sampling point is determined to be the sum of the safety cost value and the transverse cost; wherein n is the maximum value of the sampling points in the longitudinal direction; In the case that the longitudinal index i of the first valid sampling point is less than n-1, the minimum value of the sum of the deviation cost and the total cost of the second valid sampling point is determined, and the total cost of the first valid sampling point is determined to be the sum of the minimum value, the safety cost value, and the transverse cost.
26. The method of any one of claims 19-25, further comprising: establishing a target cost function and a constraint condition according to a transverse deviation between the re-planned path and the initial path; performing path smoothing on the re-planned path to obtain a smoothed path with a minimum function value of the target cost function as the target under the condition that the constraint condition is met.
27. The method of claim 26, wherein, The establishment of the target cost function and the constraint condition according to the transverse deviation between the re-planned path and the initial path includes: determine a cost deviation smoothness according to a lateral deviation between the replanned path and the initial path, a number of sampling points on the replanned path, and a cost weight of each lateral deviation; determine a first-order smoothness according to a first-order derivative of the lateral deviation, the number of sampling points on the replanned path, and a first-order cost weight of each lateral deviation; determine a second-order smoothness according to a second-order derivative of the lateral deviation, the number of sampling points on the replanned path, and a second-order cost weight of each lateral deviation; determine a third-order smoothness according to a third-order derivative of the lateral deviation, the number of sampling points on the replanned path, and a third-order cost weight of each lateral deviation; determine an obstacle avoidance smoothness according to an obstacle avoidance relaxation factor of each valid sampling point on the replanned path and an obstacle avoidance cost weight corresponding to each obstacle avoidance factor; establish the target cost function according to the cost deviation smoothness, the first-order smoothness, the second-order smoothness, the third-order smoothness, and the obstacle avoidance smoothness; establish a state transition equation, a lateral smoothness constraint, a safety range hard constraint, a lateral velocity constraint, a lateral acceleration constraint, and a safety range soft constraint according to the lateral deviation between the replanned path and the initial path.
28. The method of claim 27, wherein, The establishing the state transition equation, the lateral smoothness constraint, the safety range hard constraint, the lateral velocity constraint, the lateral acceleration constraint, and the safety range soft constraint according to the lateral deviation between the replanned path and the initial path comprises: obtain the state transition equation and the lateral smoothness constraint by taking the lateral deviation between each sampling point on the replanned path and a corresponding sampling point on the initial path as a variable of a Taylor formula; obtain the safety range hard constraint by determining a safety passing range of each sampling point on the replanned path and taking the lateral deviation between the replanned path and the initial path to be within the safety passing range; obtain the lateral velocity constraint by taking a first-order derivative of the lateral deviation to be within a preset first threshold range; obtain the lateral acceleration constraint by taking a second-order derivative of the lateral deviation to be within a preset second threshold range; obtain the safety range soft constraint by taking a difference between the lateral deviation and a soft constraint factor to be within a soft constraint range; wherein a lower boundary of the soft constraint range is a difference between a safety lower boundary of the safety passing range and a safety contraction margin, and an upper boundary of the soft constraint range is a difference between a safety upper boundary of the safety passing range and the safety contraction margin.
29. The method of claim 28, wherein, The determining the safety passing range of each sampling point on the replanned path comprises: determine a safety upper boundary and a safety lower boundary of the safety passing range according to coordinates of each valid sampling point on the replanned path; wherein the safety upper boundary represents a left boundary in a lateral direction when the terminal device safely passes through the valid sampling point, and the safety lower boundary represents a right boundary in the lateral direction when the terminal device safely passes through the valid sampling point.
30. The method of claim 29, wherein, The determining the safety upper boundary and the safety lower boundary of the safety passing range according to the coordinates of each valid sampling point on the replanned path comprises: For each valid sampling point (i, k), if k is equal to the transverse sampling range constraint, or the position of the valid sampling point (i, k) is occupied by an obstacle, or the position of a previous sampling point (i, k-1) in the transverse direction of the valid sampling point is occupied by an obstacle, the safe lower boundary of the valid sampling point (i, k) is determined as the interval between adjacent sampling points in the transverse direction; otherwise, the safe lower boundary is the safe lower boundary of the previous sampling point (i, k-1); If k is equal to the transverse sampling range constraint, or the position of the valid sampling point (i, k) is occupied by an obstacle, or the position of a next sampling point (i, k+1) in the transverse direction of the valid sampling point is occupied by an obstacle, the safe upper boundary of the valid sampling point (i, k) is determined as the interval between adjacent sampling points in the transverse direction; otherwise, the safe upper boundary is the safe upper boundary of the next sampling point (i, k+1).
31. A path planning method applied to a second device, comprising: sending an autonomous navigation area to a first device; wherein the autonomous navigation area is used by the first device to determine whether an initial path is within the autonomous navigation area, the initial path being a path planned by the second device for the first device to perform a first movement task; in a case where the initial path is within the autonomous navigation area, the first device starts an autonomous navigation function and performs autonomous navigation, an end position of the autonomous navigation being a destination of the first movement task.
32. The method of claim 31, further comprising: performing congestion heat identification using a density clustering algorithm according to congestion information of a plurality of first devices in a first area to determine congestion probabilities of a plurality of sub-areas in the first area; determining a sub-area whose congestion probability meets a preset threshold as the autonomous navigation area.
33. The method of claim 31, further comprising: receiving a start request sent by the first device in a case where the initial path is within the autonomous navigation area; wherein the start request is used to request starting the autonomous navigation function; sending a start instruction to the first device; wherein the start instruction is used to instruct the first device to start the autonomous navigation function.
34. The method of claim 31, further comprising: receiving feedback information sent by the first device; wherein the feedback information is used to notify the first device of at least one of the following: there is an obstacle on the initial path and it cannot be bypassed, path re-planning is needed to perform the first movement task; determining a reference direction for the first device to perform the first movement task based on a multi-directional map; wherein the reference direction is different from an initial direction of the initial path; determining a re-planned path for the first device to perform the first movement task based on the reference direction; sending the re-planned path to the first device.
35. The method of claim 31, further comprising: receive a detour request sent by the first device in a case where the first device determines that the obstacle is a dynamic obstacle, the detour request including a first detour direction and a first detour distance determined by the first device; determine whether the obstacle is a mobile device, and in a case where the obstacle is a mobile device, determine a second detour direction and a second detour distance of the obstacle according to the first detour direction and the first detour distance; send a first detour instruction to the first device, the first detour instruction being used to instruct the first device to perform detouring according to the first detour direction and the first detour distance; send a second detour instruction to the obstacle, the second detour instruction being used to instruct the obstacle to perform detouring according to the second detour direction and the second detour distance.
36. The method of claim 31, further comprising: receiving a detour request sent by the first device in a case where the first device determines that the obstacle is a dynamic obstacle, the detour request being used to request the second device to issue a detour path; determining a detour path of the first device according to a position and a travel speed of the obstacle, the detour path including a first detour direction and a first detour distance of the first device detouring around the obstacle; sending the detour path to the first device.
37. The method of claim 31, further comprising: receiving a request message sent by the first device in a case where the first device determines that the obstacle is a dynamic obstacle and the obstacle has no correlation with the first device, the request message being used to request the second device to make a decision; in a case where the position of the obstacle cannot be acquired, determining a first time length for the first device to continue waiting, and sending a decision message to the first device, the decision message including an instruction instructing the first device to continue waiting and the first time length; sending an alert instruction, the alert instruction being used to notify a worker to check and remove the obstacle; after the obstacle is removed, sending a decision message to the first device, the decision message including an instruction instructing the first device to resume traveling.
38. A path planning apparatus applied to a first device, comprising: a receiving unit configured to receive an autonomous navigation area sent by a second device; a determining unit configured to determine whether an initial path is within the autonomous navigation area, the initial path being a path planned by the second device for the first device to perform a first mobile task; a navigation unit configured to, in a case where the initial path is within the autonomous navigation area, start an autonomous navigation function and perform autonomous navigation, an end position of the autonomous navigation being a destination of the first mobile task.
39. A path planning apparatus applied to a second device, comprising: a sending unit configured to send an autonomous navigation area to a first device; The autonomous navigation area is used by the first device to determine whether an initial path is within the autonomous navigation area, the initial path being a path planned by the second device for the first device to perform a first movement task, and when the initial path is within the autonomous navigation area, the first device starts an autonomous navigation function and performs autonomous navigation, a terminal position of the autonomous navigation being a destination of the first movement task.
40. A path planning system, comprising: a first device configured to perform the path planning method according to any one of claims 1 to 30; a second device configured to perform the path planning method according to any one of claims 31 to 37.
41. An electronic device, comprising: a processor and a memory, wherein the memory is configured to store computer executable instructions; the processor is configured to read the instructions from the memory and execute the instructions to implement the path planning method according to any one of claims 1 to 37.
42. A computer readable storage medium, wherein, The storage medium stores computer program instructions, when a computer reads the instructions, the path planning method according to any one of claims 1 to 37 is executed.
43. A computer program product comprising a computer program, wherein, The computer program is executed by the processor to implement the path planning method according to any one of claims 1 to 37.
Citation Information
Patent Citations
Method for estimating dynamic obstacle speed in mobile robot using cost map
CN111966089A
Dynamic full-coverage path planning method and device, cleaning equipment and storage medium
CN115032993A
Robot path autonomous navigation method and system based on BIM
CN115855068A
Collision detection method and device, autonomous mobile device and storage medium
CN116719318A
Intelligent switching control method and system of AGV control mode for hospital
CN118534822A
Cited By
A multi-target dynamic path planning method and system for a tunnel environment
CN122192338A