Robot, path planning method, device and storage medium

By combining full coverage path information and obstacle distribution area re-planning local paths, the problem of poor path planning flexibility in traditional technology is solved, and more flexible and accurate cleaning path generation is achieved.

CN114594772BActive Publication Date: 2025-01-10SHENZHEN PUDU TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210230813.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-09
Publication Date
2025-01-10
Estimated Expiration
2042-03-09

AI Technical Summary

Technical Problem

Traditional robots have poor path planning flexibility in local path planning, making it difficult to adapt to dynamic environmental changes and real-time updates of obstacles.

Method used

By obtaining the full coverage path information of the robot's current location and target cleaning area, combining multiple global path index points and obstacle distribution areas, candidate local paths are determined, and re-planned according to the obstacle distribution area to generate target local paths.

Benefits of technology

It improves the flexibility and accuracy of local path planning, can more effectively adapt to changes in dynamic environments and obstacles, and ensures the safety and efficiency of cleaning paths.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114594772B_ABST
    Figure CN114594772B_ABST
Patent Text Reader

Abstract

The present application relates to a robot, a path planning method, a device and a storage medium. The robot includes a memory and a processor; the memory is used to store computer-readable instructions, and the processor is used to implement the following steps: obtain the current first position of the robot and the full coverage path information corresponding to the target cleaning area, the full coverage path information includes multiple global path index points and obstacle distribution areas; according to the first position and the multiple global path index points, determine the candidate local path between the first position and the second position, the first position and the second position are different positions in the target cleaning area, and the second position is determined according to the first position, the multiple global path index points and the path interception target; according to the obstacle distribution area, the candidate local path is replanned to obtain the target local path between the first position and the second position. The use of this method can improve the flexibility of path planning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics, and in particular to a robot, a path planning method, a device and a storage medium. Background Art

[0002] The robot needs to perform path planning when performing full coverage path cleaning in a set area. Usually, the robot first performs global full coverage path planning based on the map of the set area, and then performs local path planning during the actual cleaning process.

[0003] In traditional technology, when a robot performs local path planning, it usually determines the next path of the robot based on the robot's current state information (such as position information and environmental information) and the robot's dynamic model.

[0004] However, the above local path planning method has the problem of poor path planning flexibility. Summary of the invention

[0005] Based on this, it is necessary to provide a robot, a path planning method, a device and a computer-readable storage medium that can improve the flexibility of path planning in order to address the above technical problems.

[0006] In a first aspect, the present application provides a robot. The robot includes a memory and a processor, the memory is used to store computer-readable instructions that can be run on the processor, and the processor is used to implement the following steps when executing the computer-readable instructions:

[0007] Obtain the current first position of the robot and the full coverage path information corresponding to the target cleaning area, the full coverage path information including multiple global path index points and obstacle distribution areas;

[0008] Determine a candidate local path between the first position and the second position according to the first position and the plurality of global path index points, the first position and the second position being different positions in the target cleaning area, and the second position being determined according to the first position, the plurality of global path index points, and the path interception target;

[0009] According to the obstacle distribution area, the candidate local path is replanned to obtain the target local path between the first position and the second position.

[0010] In a second aspect, the present application also provides a path planning method. The path planning method includes:

[0011] Obtain the current first position of the robot and the full coverage path information corresponding to the target cleaning area, the full coverage path information including multiple global path index points and obstacle distribution areas;

[0012] Determine a candidate local path between the first position and the second position according to the first position and the plurality of global path index points, the first position and the second position being different positions in the target cleaning area, and the second position being determined according to the first position, the plurality of global path index points, and the path interception target;

[0013] According to the obstacle distribution area, the candidate local path is replanned to obtain the target local path between the first position and the second position.

[0014] In a third aspect, the present application also provides a path planning device. The device includes:

[0015] An acquisition module is used to acquire the current first position of the robot and the full coverage path information corresponding to the target cleaning area, where the full coverage path information includes multiple global path index points and obstacle distribution areas;

[0016] A candidate module, configured to determine a candidate local path between a first position and a second position according to a first position and a plurality of global path index points, wherein the first position and the second position are different positions in a target cleaning area, and the second position is determined according to the first position, the plurality of global path index points, and a path interception target;

[0017] The planning module is used to re-plan the candidate local paths according to the obstacle distribution area to obtain the target local path between the first position and the second position.

[0018] In a fourth aspect, the present application further provides a computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the path planning method according to the second aspect is implemented.

[0019] The robot, path planning method, device and computer-readable storage medium are as follows: the robot collects the full coverage path information corresponding to the current first position of the robot and the target cleaning area, and the full coverage path information includes multiple global path index points and obstacle distribution areas. According to the first position and the multiple global path index points, the candidate local path between the first position and the second position is determined, and according to the obstacle distribution area, the candidate local path is replanned to obtain the target local path between the first position and the second position, wherein the first position and the second position are different positions in the target cleaning area, and the collection time corresponding to the first position is located before the collection time corresponding to the second position in terms of timing, and the second position is determined according to the first position, the multiple global path index points and the path interception target. Since the collected obstacle distribution area is combined to replan the candidate local path when performing local path planning, the flexibility of local path planning is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 is a schematic structural diagram of a robot according to an embodiment;

[0021] Figure 2 A flowchart of steps implemented when a processor executes computer-readable instructions in one embodiment;

[0022] Figure 3 A schematic diagram of a full coverage path corresponding to “ox-plowing full coverage path planning” in an embodiment;

[0023] Figure 4 A schematic diagram of a full coverage path corresponding to a “U-shaped full coverage path planning” in an embodiment;

[0024] Figure 5 is a flow chart of step 102 in one embodiment;

[0025] Figure 6 is a schematic flow chart of a process for determining a second position in one embodiment;

[0026] Figure 7 is a flow chart of step 202 in one embodiment;

[0027] Figure 8 is a flow chart of step 402 in one embodiment;

[0028] Fig. 9 is a flow chart of step 503 in one embodiment;

[0029] Fig.10 is a flow chart of step 202 in another embodiment;

[0030] Fig.11 is a flow chart of step 103 in one embodiment;

[0031] Fig.12 is a flow chart of step 801 in one embodiment;

[0032] Fig.13 is a flow chart of step 801 in another embodiment;

[0033] Fig.14 is a flow chart of a path planning method in another embodiment;

[0034] Fig.15 is a flow chart of a path planning method in yet another embodiment;

[0035] Fig.16 is a flow chart of a path planning method in yet another embodiment;

[0036] Fig.17A schematic diagram of a flow chart of path status determination in one embodiment;

[0037] Fig.18 FIG. 4 is a structural block diagram of a path planning device in one embodiment. DETAILED DESCRIPTION

[0038] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0039] See also Figure 1 , an embodiment of the present application provides a robot. The robot includes a memory and a processor.

[0040] The memory stores a computer program that can be executed on the processor.

[0041] The memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium.

[0042] A processor for executing computer readable instructions to implement Figure 2 The steps shown include step 101 to step 103:

[0043] Step 101, obtaining the current first position of the robot and the full coverage path information corresponding to the target cleaning area.

[0044] Among them, the full coverage path information includes multiple global path index points and obstacle distribution areas.

[0045] Optionally, the first position can be obtained with the aid of a collection device installed on the robot. The collection device includes a sensor device. The sensor device can be used to obtain perception information corresponding to the surrounding environment of the robot. Specifically, the first position is determined based on the perception information obtained by the sensor device and a map corresponding to the target cleaning area. The sensor device can be one of a color camera device, a depth camera device, an inertial sensor device, a GPS positioning device, and a radar device. The number of sensor devices can be one, two, or more. When there are multiple sensor devices, the settings of each sensor device are different. It should be noted that the sensor type and installation position of the sensor device can be adjusted according to actual conditions.

[0046] Optionally, the robot is further provided with a communication device. The first position can be obtained based on information transmitted by the communication device received from the cloud or an external server.

[0047] Optionally, the full coverage path information is obtained based on a full coverage path planned for the target cleaning area. The global path index points are path points with a sequential order on the full coverage path.

[0048] Specifically, the full coverage path is obtained based on the global map of the target cleaning area, the starting point of the cleaning path, and the full coverage path planning algorithm. The map format can be a 2D grid map. The full coverage path planning algorithm can be one of "ox-plow full coverage path planning" and "U-shaped full coverage path planning". The schematic diagram of the full coverage path can be found in Figure 3 , Figure 4 ,in, Figure 3 This is a schematic diagram of the full coverage path corresponding to the "ox-plowing full coverage path planning". Figure 4 This is a schematic diagram of the full coverage path corresponding to the “U-shaped full coverage path planning”.

[0049] Optionally, the map of the target cleaning area is the map data information of the target cleaning area directly called from a preset storage area. The preset storage area may be a cloud server or an internal memory of the mobile robot. Specifically, the map data information is obtained before full coverage path planning is performed. To construct a map, the mobile robot moves in the target cleaning area, and during the movement, uses a sensor device to collect data required to construct a map, and constructs a map based on the collected data. When performing local path planning, the robot uses a sensor device to collect obstacle information around the robot in real time, and updates the map based on the obstacle information collected in real time.

[0050] Optionally, the obstacle distribution area is extracted from a map of the target cleaning area. Specifically, when the robot constructs or updates the map, it will mark the obstacle distribution area on the map. The processor obtains the obstacle distribution area based on the marked information.

[0051] Step 102: Determine a candidate local path between the first position and the second position according to the first position and a plurality of global path index points.

[0052] Among them, the first position and the second position are different positions in the target cleaning area, and the second position appears after the first position, that is, the moment corresponding to the second position is after the moment corresponding to the first position, and the second position is determined based on the first position, the multiple global path index points and the path interception target.

[0053] Optionally, obtain a global path index point within a preset range from the first position in the global path index point; determine the second position based on the obtained global path index point and the target interception number of the preset global path index point. If there are multiple global path index points within the preset range in the global path index point, randomly select a global path index point from them, and determine the second position based on the randomly selected global path index point and the target interception number of the preset global path index point. For example, if the randomly selected global path index point is the i-th global path index point in the full coverage path information, and the target interception number is N, the position corresponding to the i+N-th global path index point in the full coverage path information is used as the second position.

[0054] Optionally, obtain a global path index point within a preset range from the first position in the global path index point; determine the second position based on the obtained global path index point and the preset intercepted path length. Specifically, in the full coverage path, take the obtained global path index point as the starting point and intercept a path segment of the preset intercepted path length forward in the cleaning direction corresponding to the first position in the full coverage path, and determine the second position based on the end point of the intercepted path segment. Wherein, if there is a global path index point in the full coverage path information that coincides with the location of the end point of the intercepted path segment, the position of the global path index point that coincides with the location of the end point of the intercepted path segment is used as the second position; if there is no global path index point in the full coverage path information that coincides with the location of the end point of the intercepted path segment, the position of the global path index point in the full coverage path information that is closest to the end point of the intercepted path segment is used as the second position.

[0055] Step 103: replan the candidate local paths according to the obstacle distribution area to obtain a target local path between the first position and the second position.

[0056] Optionally, according to the obstacle distribution area, the candidate local path is replanned using an obstacle avoidance algorithm to obtain a target local path. Optionally, the obstacle avoidance algorithm includes a fuzzy logic algorithm (FLA), a genetic algorithm (GA), a rapidly expanding random tree (RRT), an ant colony algorithm, a water drop algorithm, a tentacle algorithm, a particle swarm optimization algorithm (PSO), and a combination algorithm.

[0057] In this embodiment, the robot collects the full coverage path information corresponding to the current first position of the robot and the target cleaning area, and the full coverage path information includes multiple global path index points and obstacle distribution areas. According to the first position and the multiple global path index points, the candidate local path between the first position and the second position is determined, and according to the obstacle distribution area, the candidate local path is replanned to obtain the target local path between the first position and the second position, wherein the first position and the second position are different positions in the target cleaning area, and the time corresponding to the first position is obtained before the time corresponding to the second position in terms of timing, and the second position is determined according to the first position, the multiple global path index points, and the path interception target. Since the collected obstacle distribution area is combined to replan the candidate local path when performing local path planning, the flexibility of local path planning is improved.

[0058] In one embodiment, Figure 5 As shown, based on Figure 2 In the embodiment shown, this embodiment involves step 102, in which the implementation process of determining the candidate local path between the first position and the second position according to the first position and multiple global path index points may include the following steps:

[0059] Step 201: Based on the first position and multiple global path index points, a global path index point acquisition process is performed to obtain a target global path index point, and the target global path index point is used as a target starting point corresponding to the candidate local path.

[0060] Optionally, a distance measurement algorithm is used to determine the global path index point closest to the first position from the full coverage path, and the determined global path index point is used as the target starting point. Specifically, the distance measurement algorithm can be one of Euclidean distance and Chebyshev distance.

[0061] Step 202: Determine a candidate local path according to the target starting point and the second position.

[0062] Optionally, the path corresponding to the target starting point and the second position as the end point in the full coverage path information is used as the candidate partial path. The method for obtaining the second position can refer to step 102.

[0063] In this embodiment, the robot obtains a target starting point based on the first position and multiple global path index points for determining a candidate local path, thereby improving the accuracy of the candidate local path and improving the accuracy of local path planning.

[0064] In one embodiment, Figure 6 As shown, based on Figure 5In the illustrated embodiment, the path interception target includes the number of target interception index points or the target interception path length. Correspondingly, the process of determining the second position includes:

[0065] Step 301, if the path interception target is the number of target interception index points, based on multiple global path index points, determine a global path index point set with the target starting point as the first set element and the number of target interception index points as the number of set elements, and determine the second position based on the elements in the global path index point set.

[0066] Optionally, the position corresponding to the global path index point corresponding to the last element in the global path index point set is used as the second position. Alternatively, the position corresponding to the global path index point corresponding to the last element in the global path index point set that does not fall into the obstacle distribution area is used as the second position.

[0067] Step 302, if the path interception target is the target interception path length, based on multiple global path index points, determine a target interception path segment with the target starting point as the starting point and the target interception path length as the path length, and determine the second position based on the target interception path segment.

[0068] Optionally, the position corresponding to the end point of the target interception path segment is used as the second position.

[0069] In this embodiment, the robot determines the second position through multiple global path index points and path interception targets. The determination method is simple and the amount of calculation is small.

[0070] In one embodiment, Figure 7 As shown, based on Figure 6 The embodiment shown in this embodiment involves executing the process of obtaining global path index points based on the first position and multiple global path index points in step 202. Before obtaining the target global path index point, the processor, when used to execute the computer-readable instructions, also implements the following steps: determining whether the current process of obtaining global path index points is executed for the first time.

[0071] Optionally, it is determined whether the current process of obtaining the global path index point is executed for the first time according to the operation identification information. The operation identification information is used to indicate the number of times the operation of obtaining the target starting path index point has been executed. Specifically, the initial value of the operation identification information is 0, and the processor will add 1 to the operation identification information after each execution of the global path index point process.

[0072] Correspondingly, the specific implementation process of the above step 202 includes step 301 and step 302:

[0073] Step 401, if it is executed for the first time, search for a global path index point closest to the first position from multiple global path index points, and use the searched global path index point as the target global path index point.

[0074] Optionally, if the operation identification information is 0, the current process of obtaining the global path index point is executed for the first time.

[0075] Step 402, if it is not the first execution, the global path index point obtained by the last execution of the global path index point acquisition process is used as a reference index point, and the target global path index point is determined based on the reference index point, multiple global path index points and the first preset path length.

[0076] Optionally, if the operation identification information is greater than 0, the current process of obtaining the global path index point is not executed for the first time.

[0077] Optionally, a distance measurement algorithm is used to determine the global path index point closest to the first position. Specifically, the distance measurement algorithm may be one of Euclidean distance and Chebyshev distance.

[0078] In this embodiment, the target global path index point is determined based on the judgment result of whether it is the first time to obtain the global path index point, so as to ensure that the determined target global path index point is located in the direction in which the robot is to travel, thereby improving the accuracy of the candidate local path.

[0079] In one embodiment, Figure 8 As shown, based on Figure 7 The embodiment shown in the figure, this embodiment involves determining the target global path index point based on the reference index point, multiple global path index points and the first preset path length in step 402, including:

[0080] Step 501 : Based on a plurality of global path index points, determine a first initial path segment with a reference index point as a starting point and a first preset path length as a path length.

[0081] The following is an exemplary description of the method for determining the first preset path length:

[0082] The first method is to determine by manual setting, for example, by the processor calling the threshold information at a preset storage location;

[0083] The second method: the processor determines the first preset path length based on the path length from the reference index point to the first position. Specifically, based on the reference index point to the first position, the corresponding shortest path length is determined; according to the shortest path length value and the preset threshold, the first preset path length is obtained, and the value of the first preset path length is equal to the sum of the shortest path length value and the preset threshold;

[0084] The third type: the processor saves the global path index point obtained each time the global path index point is obtained, obtains a global path index point sequence, calculates the average of the path lengths corresponding to each two adjacent global path index points in the global path index point sequence in the full coverage path, and uses the calculated average as the first preset path length.

[0085] Step 502: searching for a global path index point closest to the first position from the global path index points included in the first initial path segment to obtain an intermediate path index point.

[0086] Step 503, determining whether a first orientation corresponding to the robot at the intermediate path index point is opposite to a second orientation corresponding to the robot at the first position, and determining a target global path index point based on the determination result.

[0087] Optionally, a first orientation angle corresponding to the robot at the middle path index point and a second orientation angle corresponding to the robot at the first position are obtained, and the difference between the first orientation angle and the second orientation angle is calculated; if the difference between the first orientation angle and the second orientation angle is less than a preset angle threshold, it is determined that the first orientation and the second orientation are in the same direction; if the difference between the first orientation angle and the second orientation angle is greater than or equal to the preset angle threshold, it is determined that the first orientation and the second orientation are in opposite directions. This method of judging whether the first orientation and the second orientation are in opposite directions based on the difference between the first orientation angle and the second orientation angle is simple and has a small amount of calculation.

[0088] Specifically, when the robot is planning a full coverage path, the robot will save the orientation angle information corresponding to each global path index point; based on the saved orientation angle information, the first orientation angle is obtained.

[0089] Optionally, the second orientation angle is obtained by a collection device provided on the robot, wherein the collection device at least includes an inertial sensor device. The second orientation angle corresponding to the robot at the first position is obtained by using the inertial sensor device. Optionally, the preset angle threshold is 90 degrees.

[0090] In this embodiment, by judging whether the first orientation corresponding to the robot at the middle path index point is in opposite directions to the second orientation corresponding to the robot at the first position, the target global path index point is determined, thereby further ensuring that the determined target global path index point is located in the direction in which the robot is to travel, thereby improving the accuracy of the candidate local paths.

[0091] In one embodiment, Fig. 9 As shown, based on the above embodiment, this embodiment involves the implementation process of determining the target global path index point based on the judgment result in step 503, including the following steps:

[0092] Step 601: If the first orientation and the second orientation are in the same direction, the intermediate path index point is used as the target global path index point.

[0093] Step 602: If the first orientation is in opposite directions to the second orientation, determine a second initial path segment with the reference index point as the starting point and twice the first preset path length as the path length, and search for the global path index point closest to the first position from the global path index points included in the second initial path segment to obtain the target global path index point.

[0094] In this embodiment, if the first orientation and the second orientation are in the same direction, the middle path index point is used as the target global path index point; if the first orientation and the second orientation are in opposite directions, the global path index point closest to the first position is searched from the global path index points included in the determined second initial path segment to obtain the target global path index point. The corresponding method for determining the target global path index point is determined according to different judgment results, thereby improving the reliability of the target global path index point.

[0095] In one embodiment, the target interception path length is a second preset path length. Fig.10 As shown, based on Figure 7 In the embodiment shown, this embodiment involves determining a candidate local path according to the target starting point and the second position in step 202, including:

[0096] Step 701, obtaining the last global path index point in the target intercepted path segment that does not fall into the obstacle distribution area, and taking the last global path index point as the second position.

[0097] The second preset path length is greater than the first preset path length. Optionally, the value of the second preset length is a fixed value set manually.

[0098] Optionally, the overlapping area between the target intercepted path segment and the obstacle distribution area is obtained, and the last global path index point in the target intercepted path segment that does not fall into the obstacle distribution area is found from the global path index points outside the overlapping area.

[0099] Step 702 , based on the target intercepted path segment, determine a path segment starting from the target starting point and ending at the second position to obtain a candidate partial path.

[0100] Optionally, the candidate local path is a path segment in the full coverage path that starts at the target starting point and ends at the second position.

[0101] In this embodiment, the robot obtains the last global path index point in the target interception path segment that does not fall into the obstacle distribution area, and uses the obtained last global path index point as the second position, and combines the obstacle information to determine the second position point, thereby improving the flexibility of local path planning.

[0102] In one embodiment, Fig.11 As shown, based on Fig.10 In the embodiment shown, this embodiment involves step 103 of replanning the candidate local path according to the obstacle distribution area to obtain the target local path between the first position and the second position, including:

[0103] Step 801, determining the path state of the candidate local path according to the obstacle distribution area.

[0104] The path status includes a dangerous state or a safe state.

[0105] In an optional implementation, if there is an obstacle in the candidate local path, the path state is a dangerous state, otherwise, the path state is a safe state.

[0106] In another optional implementation, if there is no global path index point in the candidate local path that falls into the obstacle area or the number of global path index points in the candidate local path that fall into the obstacle area is less than a preset threshold, the path state is a safe state; otherwise, the path state is a dangerous state.

[0107] Step 802: replan the candidate partial path according to the path status to obtain a target partial path between the first position and the second position.

[0108] Optionally, if the path state is a safe state, the candidate partial path is directly used as the target partial path between the first position and the second position. If the path state is a dangerous state, the shortest path planning algorithm is used to obtain the target partial path between the first position and the second position.

[0109] In this embodiment, the robot determines the target local path based on the path state, thereby improving the flexibility of local path planning.

[0110] In one embodiment, Fig.12 As shown, based on Fig.11 In the embodiment shown, the path state includes a dangerous state or a safe state. This embodiment involves step 801 of determining the path state of the candidate local path according to the obstacle distribution area, including:

[0111] Step 901 : determining a third initial path segment with a target starting point as a starting point and a third preset path length as a path length.

[0112] The third preset path length is shorter than the second preset path length, and the third preset path length is longer than the first preset path length.

[0113] Optionally, the third preset path length is half of the second preset path length.

[0114] Step 902: Determine whether there is a global path index point in the third initial path segment that falls into an obstacle distribution area.

[0115] Step 903: If there is no global path index point falling into the obstacle distribution area in the third initial path segment, the path state is a safe state.

[0116] In this embodiment, the flexibility of the path state judgment is improved by performing segmented path state judgment on the target intercepted path segments.

[0117] For further information, please refer to Fig.13 Step 801 determines the path state of the candidate local path according to the obstacle distribution area, and also includes:

[0118] Step 1010: If there are global path index points that fall into the obstacle distribution area in the third initial path segment, the global path index points that do not fall into the obstacle distribution area in the candidate local path are used as obstacle-free path index points.

[0119] Optionally, an overlapping area between the third initial path segment and the obstacle distribution area is obtained, and a global path index point that does not fall within the overlapping area is used as an obstacle-free path index point.

[0120] Step 1011: If the number of obstacle-free path index points does not exceed a preset value, the path state is a dangerous state.

[0121] Optionally, the preset value may be obtained by the processor calling the stored value information in a preset storage location.

[0122] Step 1012, if the number of obstacle-free path index points exceeds a preset value, an interpolation operation is performed on the obstacle-free path index points to obtain multiple extended path index points, and it is determined whether there are extended path index points that fall into the obstacle distribution area among the multiple extended path index points. If not, the path state is a safe state, otherwise, the path state is confirmed as a dangerous state.

[0123] Optionally, an interpolation operation is performed on multiple obstacle-free path index points according to an interpolation algorithm, wherein the interpolation algorithm may be one of a polynomial interpolation algorithm, a B-spline curve interpolation algorithm, a Lagrange interpolation algorithm, and a piecewise linear interpolation algorithm.

[0124] In this embodiment, when the robot judges the path status, it combines multiple judgment conditions such as whether the global path index point falls into the obstacle distribution area, the number of global path index points that fall into the obstacle distribution area, and whether there are index points that fall into the obstacle distribution area after interpolation, thereby realizing multiple judgments of the path status. At the same time, the path status corresponding to the path with fewer obstacles is set to a safe state, thereby improving the flexibility of the path status judgment.

[0125] In one embodiment, based on Fig.13 In the embodiment shown, this embodiment involves step 102 of replanning the candidate partial path according to the path state to obtain the target partial path between the first position and the second position, including:

[0126] If the path status is a safe state, multiple expanded path index points are used as path planning points of the target local path; if the path status is a dangerous state, a preset path planning algorithm is used to obtain a planned path with the first position as the starting point and the second position as the end point, and the obtained planned path is used as the target local path.

[0127] In this embodiment, different path planning is performed for different path states. For candidate local paths corresponding to less distributed obstacles, it is only necessary to use multiple expanded path index points obtained after interpolation to obtain the target local path, which reduces the calculation amount of local path planning and improves the flexibility of path planning.

[0128] In one embodiment, Fig.14 As shown, based on Figure 2 In the embodiment shown, the processor is also used to implement the following steps when executing the computer-readable instructions:

[0129] Step 1020, obtaining the detection range of the robot at the first position.

[0130] Optionally, the detection range is the detection range of a sensor device included in a collection device provided on the robot.

[0131] Step 1021, detect obstacles within the detection range to obtain obstacle information of the obstacles.

[0132] The obstacle information includes obstacle type and obstacle position, and the obstacle type includes static obstacles and dynamic obstacles.

[0133] Optionally, the static obstacle can be considered as an object whose position is fixed for a period of time, such as a table, chair, trash can, cabinet, etc. The dynamic obstacle includes pedestrians and other robots.

[0134] Step 1022: determine a preset expansion value corresponding to the obstacle type, and determine the obstacle distribution area based on the obstacle position and the preset expansion value.

[0135] The preset expansion value is used to represent the distance expanded outward from the obstacle position as the center.

[0136] Optionally, a mapping table between obstacle types and expansion values ​​is stored in the memory of the robot. The processor can call the mapping table and obtain the corresponding expansion value based on the table lookup operation and the obstacle type detected. Specifically, the expansion value corresponding to the static obstacle is smaller than the expansion value of the dynamic obstacle.

[0137] In this embodiment, by setting different obstacle distribution area sizes for different obstacle types, the accuracy of path planning is improved.

[0138] In one embodiment, please continue to refer to Figure 1 , the robot also includes a moving component 1.

[0139] like Fig.15 As shown, based on Figure 2 In the embodiment shown, the processor is also used to implement the following steps when executing the computer-readable instructions:

[0140] Step 1030, obtaining a local feasible trajectory based on the target local path and preset robot driving constraints.

[0141] Among them, the local feasible trajectory includes multiple feasible trajectory points.

[0142] Optionally, the driving constraint condition includes at least one or more of a safety constraint condition, a following constraint condition, a speed constraint condition, and an acceleration constraint condition. Among them, the safety constraint condition is used to ensure that the planned local feasible trajectory will not collide with obstacles; the following constraint condition is used to ensure that the planned local feasible trajectory will not deviate too far from the target local path; the speed constraint condition is used to ensure that the speed corresponding to the planned local feasible trajectory is within a preset range; the acceleration constraint condition is used to ensure that the acceleration corresponding to the planned local feasible trajectory is within a preset range.

[0143] Optionally, the processor uses a TAB planner to obtain a local feasible trajectory based on the target local path and preset robot driving constraints.

[0144] Step 1031: Based on the trajectory point information corresponding to the plurality of feasible trajectory points, the movement control information corresponding to each feasible trajectory point is determined.

[0145] The movement control information is used to instruct the robot to move.

[0146] Optionally, the mobile control information includes the driving linear velocity and the driving angular velocity, and the trajectory point information includes the robot's position information, the robot's orientation information and an estimated arrival time, wherein the estimated arrival time is used to represent the time when the robot is expected to travel to the feasible trajectory point.

[0147] The position information of the robot includes: the position information x of the feasible trajectory point in the x-axis direction in the map coordinate system and the position information y of the feasible trajectory point in the y-axis direction in the map coordinate system. The orientation information of the robot may be the orientation angle information theta of the feasible trajectory point in the map coordinate system. The map coordinate system refers to a coordinate system established based on a map corresponding to the target cleaning area.

[0148] Optionally, for each feasible trajectory point, a reference trajectory point corresponding to the feasible trajectory point is determined from multiple feasible trajectory points, the reference trajectory point being multiple feasible trajectory points adjacent to the estimated arrival time corresponding to the feasible trajectory point in terms of the estimated arrival time, and the estimated arrival time corresponding to the reference trajectory point is earlier than the estimated arrival time corresponding to the feasible trajectory point; based on the position information and the estimated arrival time of the reference trajectory point, the average linear speed is calculated, and the calculated average linear speed is used as the driving linear speed; based on the angle information and the estimated arrival time of the reference trajectory point, the average angular velocity is calculated, and the calculated average angular velocity is used as the driving angular velocity.

[0149] Optionally, the number of the reference trajectory points is 2. Specifically, the calculation formulas of the average linear velocity and the average angular velocity are expressed as follows:

[0150]

[0151]

[0152] Among them, (x1, y1, theta1), (x2, y2, theta2) represent the coordinate point information corresponding to the reference trajectory points; t represents the time interval between the two reference trajectory points, v represents the horizontal velocity, and w represents the average angular velocity.

[0153] The mobile component 1 is used to drive the robot to move according to the mobile control information.

[0154] Optionally, the moving component 1 includes a hub motor.

[0155] In an embodiment, the robot obtains a local feasible trajectory based on the target local path and preset robot driving constraints. On the basis of ensuring the smoothness of the planned trajectory, the planned speed can be constrained to make the machine's cleaning speed faster. At the same time, it can also ensure that the cleaning path can be closer to the planned path while avoiding obstacles.

[0156] In one embodiment, a robot is provided. The robot includes a moving component, a memory, and a processor. The moving control is used to drive the robot to move according to the moving control information. The processor is used to implement the following when executing a computer program: Fig.16 Steps shown:

[0157] Step 1040, obtain the current first position of the robot, the full coverage path information corresponding to the target cleaning area, and the detection range of the robot at the first position, and detect obstacles within the detection range to obtain obstacle information of the obstacles.

[0158] The obstacle information includes obstacle type and obstacle position, the obstacle type includes static obstacles and dynamic obstacles, and the full coverage path information includes multiple global path index points and obstacle distribution areas.

[0159] Step 1041, determining a preset expansion value corresponding to the obstacle type, and determining the obstacle distribution area based on the obstacle position and the preset expansion value.

[0160] The preset expansion value is used to represent the distance expanded outward from the obstacle position as the center.

[0161] Step 1042: Based on the first position and multiple global path index points, a global path index point acquisition process is performed to obtain a target global path index point, and the target global path index point is used as a target starting point corresponding to the candidate local path.

[0162] Specifically, determine whether the current process of obtaining the global path index point is executed for the first time; if it is executed for the first time, search for the global path index point closest to the first position from the multiple global path index points, and use the found global path index point as the target global path index point;

[0163] If it is not the first execution, the global path index point obtained by the last execution of the process of obtaining the global path index point is used as the reference index point, and based on multiple global path index points, a first initial path segment with the reference index point as the starting point and the first preset path length as the path length is determined; the global path index point closest to the first position is searched from the global path index points included in the first initial path segment to obtain an intermediate path index point; a first orientation angle corresponding to the robot at the intermediate path index point and a second orientation angle corresponding to the robot at the first position are obtained, and the difference between the first orientation angle and the second orientation angle is calculated; if the difference between the first orientation angle and the second orientation angle is less than the preset angle threshold, the intermediate path index point is used as the target global path index point;

[0164] If the difference between the first orientation angle and the second orientation angle is greater than or equal to the preset angle threshold, a second initial path segment with the reference index point as the starting point and twice the first preset path length as the path length is determined, and the global path index point closest to the first position is searched from the global path index points included in the second initial path segment to obtain the target global path index point.

[0165] Step 1043, determining a target interception path segment with the target starting point as the starting point and a second preset path length as the path length, wherein the second preset path length is greater than the first preset path length.

[0166] Step 1044, obtaining the last global index point in the target interception path segment that does not fall into the obstacle distribution area, and using the obtained last global index point as the second position.

[0167] Step 1045 , based on the target intercepted path segment, determine a path segment starting from the target starting point and ending at the second position to obtain a candidate partial path.

[0168] Step 1046, determining the path state of the candidate local path according to the obstacle distribution area.

[0169] The path status includes a dangerous state or a safe state.

[0170] For details, please refer to Fig.17 , the specific process is as follows:

[0171] Determine a third initial path segment with the target starting point as the starting point and with a third preset path length as the path length, wherein the third preset path length is less than the second preset path length, and the third preset path length is greater than the first preset path length; determine whether there is a global path index point in the third initial path segment that falls into the obstacle distribution area; if there is no global path index point in the third initial path segment that falls into the obstacle distribution area, the path state is a safe state.

[0172] If there is a global path index point that falls into the obstacle distribution area in the third initial path segment, the global path index points that do not fall into the obstacle distribution area in the candidate local path are obtained to obtain multiple obstacle-free path index points; if the number of multiple obstacle-free path index points does not exceed a preset value, the path state is a dangerous state.

[0173] If the number of multiple obstacle-free path index points exceeds a preset value, an interpolation operation is performed on the multiple obstacle-free path index points to obtain multiple extended path index points, and it is determined whether there are extended path index points that fall into the obstacle distribution area among the multiple extended path index points. If not, the path state is a safe state, otherwise, the path state is a dangerous state.

[0174] Step 1047: replan the candidate partial path according to the path status to obtain a target partial path between the first position and the second position.

[0175] Specifically, if the path state is a safe state, multiple expanded path index points are used as path planning points of the target local path; if the path state is a dangerous state, a preset path planning algorithm is used to obtain a planned path with the first position as the starting point and the second position as the end point, and the obtained planned path is used as the target local path.

[0176] Step 1048, based on the target local path and the preset robot driving constraints, a local feasible trajectory is obtained.

[0177] Among them, the local feasible trajectory includes multiple feasible trajectory points.

[0178] Step 1049: for each feasible trajectory point, determine a reference trajectory point corresponding to the feasible trajectory point from among multiple feasible trajectory points.

[0179] The reference trajectory points are multiple feasible trajectory points adjacent to the estimated arrival time corresponding to the feasible trajectory points, and the estimated arrival time corresponding to the reference trajectory points is earlier than the estimated arrival time corresponding to the feasible trajectory points.

[0180] Step 1050, based on the position information of the reference trajectory point and the estimated arrival time, the average linear speed is calculated, and the calculated average linear speed is used as the driving linear speed corresponding to the feasible trajectory point.

[0181] Step 1051, based on the angle information of the reference trajectory point and the estimated arrival time, the average angular velocity is calculated, and the calculated average angular velocity is used as the driving angular velocity corresponding to the feasible trajectory point.

[0182] In one embodiment, a path planning method is provided, and its execution subject may be a path planning device, and the path planning is set on the robot, and can be implemented as part or all of the robot's terminal by software, hardware, or a combination of software and hardware. The terminal may be a personal computer, a laptop, a media player, a smart TV, a smart phone, a tablet computer, and a portable wearable device, etc. The implementation scheme for solving the problem provided by the method is similar to the implementation scheme recorded in the above-mentioned robot, so the specific limitations in one or more path planning method embodiments provided below can refer to the limitations on the robot above, and will not be repeated here.

[0183] In one embodiment, the path planning method includes:

[0184] Obtain the current first position of the robot and the full coverage path information corresponding to the target cleaning area, the full coverage path information including multiple global path index points and obstacle distribution areas;

[0185] Determine a candidate local path between the first position and the second position according to the first position and the plurality of global path index points, wherein the first position and the second position are different positions in the target cleaning area, and the moment corresponding to the first position is before the moment corresponding to the second position in terms of timing, and the second position is determined according to the first position, the plurality of global path index points, and the path interception target;

[0186] According to the obstacle distribution area, the candidate local path is replanned to obtain the target local path between the first position and the second position.

[0187] In one embodiment, determining a candidate local path between the first position and the second position according to the first position and a plurality of global path index points includes:

[0188] Based on the first position and the multiple global path index points, a global path index point acquisition process is performed to obtain a target global path index point, and the target global path index point is used as a target starting point corresponding to the candidate local path;

[0189] A candidate local path is determined according to the target starting point and the second position.

[0190] In one embodiment, the path interception target includes the number of target interception index points or the target interception path length, and the determination process of the second position includes:

[0191] If the path interception target is the number of target interception index points, based on multiple global path index points, determine a global path index point set with the target starting point as the first set element and the number of target interception index points as the number of set elements, and determine the second position based on the elements in the global path index point set;

[0192] If the path interception target is the target interception path length, based on multiple global path index points, a target interception path segment with the target starting point as the starting point and the target interception path length as the path length is determined, and the second position is determined based on the target interception path segment.

[0193] In one embodiment, based on the first position and the plurality of global path index points, executing the process of obtaining the global path index point, before obtaining the target global path index point, includes:

[0194] Determine whether the current process of obtaining the global path index point is executed for the first time;

[0195] Correspondingly, based on the first position and the multiple global path index points, a process of obtaining a global path index point is performed to obtain a target global path index point, including:

[0196] If it is executed for the first time, the global path index point closest to the first position is searched from the multiple global path index points, and the found global path index point is used as the target global path index point;

[0197] If it is not the first execution, the global path index point obtained in the last execution of the global path index point acquisition process is used as the reference index point, and the target global path index point is determined based on the reference index point, multiple global path index points and the first preset path length.

[0198] In one embodiment, determining a target global path index point based on a reference index point, a plurality of global path index points, and a first preset path length includes:

[0199] Based on the multiple global path index points, determining a first initial path segment with the reference index point as a starting point and a first preset path length as a path length;

[0200] Finding the global path index point closest to the first position from the global path index points included in the first initial path segment to obtain an intermediate path index point;

[0201] It is determined whether a first orientation corresponding to the robot at the intermediate path index point is opposite to a second orientation corresponding to the robot at the first position, and based on the determination result, a target global path index point is determined.

[0202] In one embodiment, determining whether a first orientation corresponding to the robot at the intermediate path index point is opposite to a second orientation corresponding to the robot at the first position includes:

[0203] Obtain a first orientation angle corresponding to the robot at the middle path index point and a second orientation angle corresponding to the robot at the first position, and calculate the difference between the first orientation angle and the second orientation angle;

[0204] If the difference between the first orientation angle and the second orientation angle is less than a preset angle threshold, it is determined that the first orientation and the second orientation are in the same direction;

[0205] If the difference between the first orientation angle and the second orientation angle is greater than or equal to a preset angle threshold, it is determined that the first orientation is opposite to the second orientation.

[0206] In one embodiment, based on the judgment result, determining the target global path index point includes:

[0207] If the first orientation and the second orientation are in the same direction, the intermediate path index point is used as the target global path index point;

[0208] If the first orientation is in opposite directions to the second orientation, a second initial path segment with the reference index point as the starting point and twice the first preset path length as the path length is determined, and the global path index point closest to the first position is searched from the global path index points included in the second initial path segment to obtain the target global path index point.

[0209] In one embodiment, the target interception path length is a second preset path length, the second preset path length is greater than the first preset path length, and the candidate partial path is determined according to the target starting point and the second position, including:

[0210] Obtain the last global path index point in the target intercept path segment that does not fall into the obstacle distribution area, and use the last global path index point as the second position;

[0211] Based on the target intercepted path segment, a path segment with the target starting point as the starting point and the second position as the end point is determined to obtain a candidate partial path.

[0212] In one embodiment, the candidate local paths are replanned according to the obstacle distribution area to obtain the target local path between the first position and the second position, including:

[0213] Determine the path status of the candidate local path according to the obstacle distribution area;

[0214] According to the path status, the candidate partial path is replanned to obtain a target partial path between the first position and the second position.

[0215] In one embodiment, the path state includes a dangerous state or a safe state, and the path state of the candidate local path is determined according to the obstacle distribution area, including:

[0216] Determine a third initial path segment with the target starting point as the starting point and a third preset path length as the path length, wherein the third preset path length is less than the second preset path length, and the third preset path length is greater than the first preset path length;

[0217] Determine whether there is a global path index point in the third initial path segment that falls into the obstacle distribution area;

[0218] If there is no global path index point falling into the obstacle distribution area in the third initial path segment, the path state is a safe state.

[0219] In one embodiment, determining the path state of the candidate local path according to the obstacle distribution area further includes:

[0220] If there is a global path index point that falls into the obstacle distribution area in the third initial path segment, the global path index point that does not fall into the obstacle distribution area in the candidate local path is used as the obstacle-free path index point;

[0221] If the number of obstacle-free path index points does not exceed the preset value, the path status is dangerous;

[0222] If the number of obstacle-free path index points exceeds a preset value, an interpolation operation is performed on the obstacle-free path index points to obtain multiple extended path index points, and it is determined whether there are extended path index points that fall into the obstacle distribution area among the multiple extended path index points. If not, the path state is a safe state, otherwise, the path state is confirmed as a dangerous state.

[0223] In one embodiment, replanning the candidate partial path according to the path state to obtain the target partial path between the first position and the second position includes:

[0224] If the path state is a safe state, multiple extended path index points are used as path planning points of the target local path;

[0225] If the path state is a dangerous state, a preset path planning algorithm is used to obtain a planned path with the first position as the starting point and the second position as the end point, and the obtained planned path is used as the target local path.

[0226] In one embodiment, the path planning method further includes:

[0227] Obtaining a detection range of the robot at a first position;

[0228] Detect obstacles within the detection range to obtain obstacle information, which includes obstacle type and obstacle position. The obstacle type includes static obstacles and dynamic obstacles.

[0229] A preset expansion value corresponding to the obstacle type is determined, and based on the obstacle position and the preset expansion value, the obstacle distribution area is determined. The preset expansion value is used to represent the distance expanded outward from the obstacle position as the center.

[0230] In one embodiment, the path planning method further includes:

[0231] Based on the target local path and the preset robot driving constraints, a local feasible trajectory is obtained, and the local feasible trajectory includes multiple feasible trajectory points;

[0232] Based on the trajectory point information corresponding to the plurality of feasible trajectory points, the movement control information corresponding to each feasible trajectory point is determined, and the movement control information is used to instruct the robot to move.

[0233] In one embodiment, the movement control information includes the driving linear velocity and the driving angular velocity, and the trajectory point information includes the position information of the robot, the orientation information of the robot, and the estimated arrival time. Based on the trajectory point information corresponding to the multiple feasible trajectory points, the movement control information corresponding to each feasible trajectory point is determined, including:

[0234] For each feasible trajectory point, determine a reference trajectory point corresponding to the feasible trajectory point from among multiple feasible trajectory points, the reference trajectory point being multiple feasible trajectory points adjacent to the estimated arrival time corresponding to the feasible trajectory point in terms of the estimated arrival time, and the estimated arrival time corresponding to the reference trajectory point is earlier than the estimated arrival time corresponding to the feasible trajectory point;

[0235] Based on the position information of the reference trajectory points and the estimated arrival time, the average linear speed is calculated, and the calculated average linear speed is used as the driving linear speed;

[0236] Based on the angle information of the reference trajectory points and the estimated arrival time, the average angular velocity is calculated, and the calculated average angular velocity is used as the driving angular velocity.

[0237] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0238] Based on the same inventive concept, the embodiment of the present application also provides a path planning device for implementing the path planning method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more path planning device embodiments provided below can refer to the limitations of the path planning method above, and will not be repeated here.

[0239] In one embodiment, Fig.18 As shown, a path planning device is provided, comprising: an acquisition module 100, a candidate module 200 and a planning module 300, wherein:

[0240] An acquisition module 100 is used to acquire the current first position of the robot and full coverage path information corresponding to the target cleaning area, where the full coverage path information includes multiple global path index points and obstacle distribution areas;

[0241] The candidate module 200 is used to determine a candidate local path between the first position and the second position according to the first position and the multiple global path index points, the first position and the second position are different positions in the target cleaning area, and the moment corresponding to the acquisition of the first position is located before the moment corresponding to the second position in terms of timing, that is, when the first position is acquired, a timing corresponds to a time sequence, when the second position is acquired, a timing corresponds to a time sequence, and the moment corresponding to the first position is located before the moment corresponding to the second position, and the second position is determined according to the first position, the multiple global path index points, and the path interception target;

[0242] The planning module 300 is used to re-plan the candidate local path according to the obstacle distribution area to obtain the target local path between the first position and the second position.

[0243] In one embodiment, the candidate module 200 is specifically used for:

[0244] Based on the first position and multiple global path index points, a global path index point acquisition process is executed to obtain a target global path index point, and the target global path index point is used as a target starting point corresponding to the candidate local path; and the candidate local path is determined according to the target starting point and the second position.

[0245] In one embodiment, the path interception target includes the number of target interception index points or the target interception path length, and the candidate module 200 is further specifically used for:

[0246] If the path interception target is the number of target interception index points, based on multiple global path index points, determine a global path index point set with the target starting point as the first set element and the number of target interception index points as the number of set elements, and determine the second position based on the elements in the global path index point set;

[0247] If the path interception target is the target interception path length, based on multiple global path index points, a target interception path segment with the target starting point as the starting point and the target interception path length as the path length is determined, and the second position is determined based on the target interception path segment.

[0248] In one embodiment, the device is also used to:

[0249] Determine whether the current process of obtaining the global path index point is executed for the first time;

[0250] Correspondingly, the candidate module 200 is further specifically used for:

[0251] If it is executed for the first time, the global path index point closest to the first position is searched from the multiple global path index points, and the found global path index point is used as the target global path index point;

[0252] If it is not the first execution, the global path index point obtained in the last execution of the global path index point acquisition process is used as the reference index point, and the target global path index point is determined based on the reference index point, multiple global path index points and the first preset path length.

[0253] In one embodiment, the candidate module 200 is further specifically used for:

[0254] Based on the multiple global path index points, determining a first initial path segment with the reference index point as a starting point and a first preset path length as a path length;

[0255] Finding the global path index point closest to the first position from the global path index points included in the first initial path segment to obtain an intermediate path index point;

[0256] It is determined whether a first orientation corresponding to the robot at the intermediate path index point is opposite to a second orientation corresponding to the robot at the first position, and based on the determination result, a target global path index point is determined.

[0257] In one embodiment, the candidate module 200 is further specifically used for:

[0258] If the first orientation and the second orientation are in the same direction, the intermediate path index point is used as the target global path index point;

[0259] If the first orientation is in opposite directions to the second orientation, a second initial path segment with the reference index point as the starting point and twice the first preset path length as the path length is determined, and the global path index point closest to the first position is searched from the global path index points included in the second initial path segment to obtain the target global path index point.

[0260] In one embodiment, the target interception path length is a second preset path length, and the second preset path length is greater than the first preset path length. The candidate module 200 is further specifically used for:

[0261] Obtain the last global index point in the target intercept path segment that does not fall into the obstacle distribution area, and use the last global index point as the second position;

[0262] Based on the target intercepted path segment, a path segment with the target starting point as the starting point and the second position as the end point is determined to obtain a candidate partial path.

[0263] In one embodiment, the planning module 300 is specifically used to:

[0264] According to the obstacle distribution area, the path state of the candidate local path is determined, and the path state includes a dangerous state or a safe state; according to the path state, the candidate local path is replanned to obtain a target local path between the first position and the second position.

[0265] In one embodiment, the planning module 300 is further specifically configured to:

[0266] Determine a third initial path segment with the target starting point as the starting point and a third preset path length as the path length, wherein the third preset path length is less than the second preset path length, and the third preset path length is greater than the first preset path length;

[0267] Determine whether there is a global path index point in the third initial path segment that falls into the obstacle distribution area;

[0268] If there is no global path index point falling into the obstacle distribution area in the third initial path segment, the path state is a safe state.

[0269] In one embodiment, the planning module 300 is further specifically configured to:

[0270] If there is a global path index point that falls into the obstacle distribution area in the third initial path segment, then obtain the global path index point that does not fall into the obstacle distribution area in the candidate local path to obtain multiple obstacle-free path index points;

[0271] If the number of multiple obstacle-free path index points does not exceed the preset value, the path status is a dangerous state;

[0272] If the number of multiple obstacle-free path index points exceeds a preset value, an interpolation operation is performed on the multiple obstacle-free path index points to obtain multiple extended path index points, and it is determined whether there are extended path index points that fall into the obstacle distribution area among the multiple extended path index points. If not, the path state is a safe state, otherwise, the path state is a dangerous state.

[0273] In one embodiment, the planning module 300 is further specifically configured to:

[0274] If the path state is a safe state, multiple extended path index points are used as path planning points of the target local path;

[0275] If the path state is a dangerous state, a preset path planning algorithm is used to obtain a planned path with the first position as the starting point and the second position as the end point, and the obtained planned path is used as the target local path.

[0276] In one embodiment, the path planning device further includes an obstacle module, wherein the obstacle module is configured to:

[0277] Obtaining a detection range of the robot at a first position;

[0278] Detect obstacles within the detection range to obtain obstacle information, which includes obstacle type and obstacle position. The obstacle type includes static obstacles and dynamic obstacles.

[0279] A preset expansion value corresponding to the obstacle type is determined, and based on the obstacle position and the preset expansion value, the obstacle distribution area is determined. The preset expansion value is used to represent the distance expanded outward from the obstacle position as the center.

[0280] In one embodiment, the path planning device further includes a control module, the control module having a function for:

[0281] Based on the target local path and the preset robot driving constraints, a local feasible trajectory is obtained, and the local feasible trajectory includes multiple feasible trajectory points; based on the trajectory point information corresponding to the multiple feasible trajectory points, the movement control information corresponding to each feasible trajectory point is determined, and the movement control information is used to instruct the robot to move.

[0282] Each module in the above-mentioned path planning device can be implemented in whole or in part by software, hardware or a combination thereof. Each of the above-mentioned modules can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.

[0283] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.

[0284] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.

[0285] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0286] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A robot, characterized in that: The robot comprises a memory and a processor, wherein the memory is used to store computer-readable instructions that can be run on the processor, and the processor is used to implement the following steps when executing the computer-readable instructions: Acquire the current first position of the robot and full coverage path information corresponding to the target cleaning area, wherein the full coverage path information includes a plurality of global path index points and obstacle distribution areas; Determine a candidate local path between the first position and the second position according to the first position and the multiple global path index points, the first position and the second position are different positions in the target cleaning area, and the second position is determined according to the first position, the multiple global path index points and a path interception target; wherein the path interception target includes the number of target interception index points or the length of the target interception path; The candidate local path is replanned according to the obstacle distribution area to obtain a target local path between the first position and the second position.

2. The robot according to claim 1, characterized in that: The determining, according to the first position and the plurality of global path index points, a candidate local path between the first position and the second position comprises: Based on the first position and the multiple global path index points, a global path index point acquisition process is performed to obtain a target global path index point, and the target global path index point is used as a target starting point corresponding to the candidate local path; The candidate local path is determined according to the target starting point and the second position.

3. The robot according to claim 2, characterized in that: The process of determining the second position includes: If the path interception target is the number of target interception index points, based on the multiple global path index points, determine a global path index point set with the target starting point as the first set element and the number of target interception index points as the number of set elements, and determine the second position based on the elements in the global path index point set; If the path interception target is the target interception path length, based on the multiple global path index points, determine the target interception path segment with the target starting point as the starting point and the target interception path length as the path length, and determine the second position based on the target interception path segment.

4. The robot according to claim 3, characterized in that: Before executing the process of acquiring the global path index point based on the first position and the multiple global path index points to obtain the target global path index point, the processor further implements the following steps when executing the computer-readable instructions: Determine whether the current process of obtaining the global path index point is executed for the first time; Correspondingly, the step of performing a process of acquiring a global path index point based on the first position and the plurality of global path index points to obtain a target global path index point includes: If it is executed for the first time, searching for a global path index point closest to the first position from the multiple global path index points, and using the found global path index point as the target global path index point; If it is not the first execution, the global path index point obtained in the last execution of the global path index point acquisition process is used as a reference index point, and the target global path index point is determined based on the reference index point, the multiple global path index points and the first preset path length.

5. The robot according to claim 4, characterized in that: The determining the target global path index point based on the reference index point, the plurality of global path index points and the first preset path length includes: Based on the multiple global path index points, determining a first initial path segment with the reference index point as a starting point and with the first preset path length as a path length; Searching for a global path index point closest to the first position from the global path index points included in the first initial path segment to obtain an intermediate path index point; It is determined whether a first orientation of the robot at the intermediate path index point is opposite to a second orientation of the robot at the first position, and based on the determination result, the target global path index point is determined.

6. The robot according to claim 5, characterized in that: The determining whether the first orientation of the robot corresponding to the middle path index point is opposite to the second orientation of the robot corresponding to the first position includes: Obtaining a first orientation angle corresponding to the robot at the intermediate path index point and a second orientation angle corresponding to the robot at the first position, and calculating a difference between the first orientation angle and the second orientation angle; If the difference between the first orientation angle and the second orientation angle is less than a preset angle threshold, it is determined that the first orientation and the second orientation are in the same direction; If the difference between the first orientation angle and the second orientation angle is greater than or equal to the preset angle threshold, it is determined that the first orientation is opposite to the second orientation.

7. The robot according to any one of claims 5 or 6, characterized in that: The step of determining the target global path index point based on the judgment result includes: If the first orientation is in the same direction as the second orientation, taking the intermediate path index point as the target global path index point; If the first orientation is in opposite directions to the second orientation, a second initial path segment with the reference index point as the starting point and twice the first preset path length as the path length is determined, and the global path index point closest to the first position is searched from the global path index points included in the second initial path segment to obtain the target global path index point.

8. The robot according to claim 4, characterized in that: The target interception path length is a second preset path length, the second preset path length is greater than the first preset path length, and the determining the candidate partial path according to the target starting point and the second position includes: Acquire the last global path index point in the target intercepted path segment that does not fall into the obstacle distribution area, and use the last global path index point as the second position; Based on the target intercepted path segment, a path segment with the target starting point as a starting point and the second position as an end point is determined to obtain the candidate partial path.

9. The robot according to claim 8, characterized in that: The replanning of the candidate local path according to the obstacle distribution area to obtain a target local path between the first position and the second position includes: Determining the path state of the candidate local path according to the obstacle distribution area; The candidate partial path is replanned according to the path state to obtain a target partial path between the first position and the second position.

10. The robot according to claim 9, characterized in that: The path state includes a dangerous state or a safe state, and determining the path state of the candidate local path according to the obstacle distribution area includes: Determine a third initial path segment with the target starting point as a starting point and a third preset path length as a path length, wherein the third preset path length is less than the second preset path length and the third preset path length is greater than the first preset path length; Determining whether there is a global path index point in the third initial path segment that falls into the obstacle distribution area; If there is no global path index point falling into the obstacle distribution area in the third initial path segment, the path state is a safe state.

11. The robot according to claim 10, characterized in that: The determining the path state of the candidate local path according to the obstacle distribution area further includes: If there is a global path index point that falls into the obstacle distribution area in the third initial path segment, then the global path index point that does not fall into the obstacle distribution area in the candidate local path is used as an obstacle-free path index point; If the number of the obstacle-free path index points does not exceed a preset value, the path state is a dangerous state; If the number of the obstacle-free path index points exceeds a preset value, an interpolation operation is performed on the obstacle-free path index points to obtain multiple extended path index points, and it is determined whether there are extended path index points among the multiple extended path index points that fall into the obstacle distribution area. If not, the path state is a safe state; otherwise, the path state is confirmed as a dangerous state.

12. The robot according to claim 11, characterized in that: The replanning of the candidate partial path according to the path state to obtain a target partial path between the first position and the second position includes: If the path state is a safe state, the multiple extended path index points are used as path planning points of the target local path; If the path state is a dangerous state, a preset path planning algorithm is used to obtain a planned path with the first position as a starting point and the second position as an end point, and the obtained planned path is used as the target local path.

13. The robot according to claim 1, characterized in that: When the processor is used to execute the computer-readable instructions, the processor further implements the following steps: Acquire a detection range of the robot at the first position; Detecting obstacles within the detection range to obtain obstacle information of the obstacles, wherein the obstacle information includes obstacle type and obstacle position, and the obstacle type includes static obstacles and dynamic obstacles; A preset expansion value corresponding to the obstacle type is determined, and based on the obstacle position and the preset expansion value, the obstacle distribution area is determined, wherein the preset expansion value is used to represent the distance expanded outward from the obstacle position as the center.

14. The robot according to claim 1, characterized in that: The robot also includes a moving component; When the processor is used to execute the computer-readable instructions, the processor further implements the following steps: Based on the target local path and preset robot driving constraints, a local feasible trajectory is obtained, wherein the local feasible trajectory includes a plurality of feasible trajectory points; Based on the trajectory point information corresponding to the multiple feasible trajectory points, determining the movement control information corresponding to each of the feasible trajectory points, wherein the movement control information is used to instruct the robot to move; The moving component is used to drive the robot to move according to the movement control information.

15. The robot according to claim 14, characterized in that: The movement control information includes a driving linear velocity and a driving angular velocity, the trajectory point information includes position information of the robot, orientation information of the robot, and an estimated arrival time, and the movement control information corresponding to each of the feasible trajectory points is determined based on the trajectory point information corresponding to the plurality of feasible trajectory points, including: For each of the feasible trajectory points, determine a reference trajectory point corresponding to the feasible trajectory point from among the multiple feasible trajectory points, the reference trajectory points being multiple feasible trajectory points adjacent to the estimated arrival time corresponding to the feasible trajectory point in terms of estimated arrival time, and the estimated arrival time corresponding to the reference trajectory point is earlier than the estimated arrival time corresponding to the feasible trajectory point; Based on the position information of the reference trajectory point and the estimated arrival time, an average linear speed is calculated, and the calculated average linear speed is used as the driving linear speed; Based on the angle information of the reference trajectory points and the estimated arrival time, an average angular velocity is calculated, and the calculated average angular velocity is used as the driving angular velocity.

16. A path planning method, characterized in that: The method comprises: Obtaining the current first position of the robot and full coverage path information corresponding to the target cleaning area, wherein the full coverage path information includes a plurality of global path index points and obstacle distribution areas; Determine a candidate local path between the first position and the second position according to the first position and the multiple global path index points, the first position and the second position are different positions in the target cleaning area, and the second position is determined according to the first position, the multiple global path index points and a path interception target; wherein the path interception target includes the number of target interception index points or the length of the target interception path; The candidate local path is replanned according to the obstacle distribution area to obtain a target local path between the first position and the second position.

17. A path planning device, characterized in that: The device comprises: An acquisition module, used to acquire the current first position of the robot and full coverage path information corresponding to the target cleaning area, wherein the full coverage path information includes a plurality of global path index points and obstacle distribution areas; A candidate module, configured to determine a candidate local path between the first position and a second position according to the first position and the multiple global path index points, wherein the first position and the second position are different positions in the target cleaning area, and the second position is determined according to the first position, the multiple global path index points, and a path interception target; wherein the path interception target includes the number of target interception index points or the length of the target interception path; A planning module is used to re-plan the candidate local path according to the obstacle distribution area to obtain a target local path between the first position and the second position.

18. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to claim 16 are implemented.

Citation Information

Patent Citations

  • Method and device for adjusting motion trail of robot, and robot

    CN110432832A

  • Robot local path planning method and system and readable storage medium

    CN113721608A