Robot path planning method and device, computer equipment and storage medium
By acquiring and optimizing the obstacle map and historical trajectory of autonomous mobile robots, dividing non-obstruction areas and optimizing path points, the problem of inaccurate robot path planning is solved, and the accuracy and efficiency of path planning is improved.
Patent Information
- Application Number
- CN202410686392.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-29
- Publication Date
- 2024-12-10
AI Technical Summary
When planning the path of autonomous mobile robots, the path is inaccurate due to the influence of obstacle profiles and historical trajectories, and the robot performs unnecessary tortuous routes, resulting in inaccurate path planning.
By obtaining the current obstacle map of the target area, dividing non-obstruction areas based on the robot's historical job trajectory, determining the target job area, and optimizing the path points from the candidate path points to generate the target robot path to avoid missing the job area and reducing path complexity Spend.
It improves the accuracy of robot path planning, avoids missing work areas by robots, reduces path complexity, reduces unnecessary bends and tortuous routes, and improves the efficiency of path planning.
Smart Images

Figure CN119104059A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot control technology, and in particular to a robot path planning method, device, computer equipment, storage medium and computer program product. Background Art
[0002] When an autonomous mobile robot, such as a sweeping robot, generates a coverage path in real time in an environment, it usually searches for the boundary of the cleanable area as the path, then records it as a historical trajectory and uses it as the basis for extracting the next path.
[0003] However, the path shape is easily affected by the obstacle contours on the boundary of the cleanable area and the historical cleaning trajectories. Since each obstacle-circumventing and turning path at the boundary will be passed to the next path by the historical trajectory, even if the robot is far away from the obstacle, it will still appear like the first time it cleans the boundary, causing the robot to execute unnecessary tortuous routes and resulting in inaccurate robot path planning. Summary of the invention
[0004] Based on this, it is necessary to provide a robot path planning method, device, computer equipment, computer-readable storage medium and computer program product that can improve the accuracy of robot path planning in order to solve the above technical problems.
[0005] In a first aspect, the present application provides a robot path planning method, comprising:
[0006] Get the current obstacle map corresponding to the target area;
[0007] Based on the robot's historical operation trajectory corresponding to the target area, the non-obstacle area in the current obstacle map is divided to obtain at least two non-obstacle sub-areas;
[0008] Determine a target operating area from at least two non-obstacle sub-areas, and generate an initial robot path corresponding to the target operating area from a current obstacle map; the initial robot path includes a plurality of path points;
[0009] Determine the optimized path point corresponding to the current path point from each candidate path point whose line connecting the current path point does not pass through the impassable area, take the optimized path point corresponding to the current path point as the next current path point, and obtain the optimized path points corresponding to each current path point in sequence; the impassable area includes the obstacle area and the target operation area in the current obstacle map;
[0010] The target robot path corresponding to the target working area is generated based on each optimized path point.
[0011] In a second aspect, the present application also provides a robot path planning device, comprising:
[0012] A map acquisition module is used to obtain the current obstacle map corresponding to the target area;
[0013] A region division module, used to divide the non-obstacle area in the current obstacle map based on the robot's historical operation trajectory corresponding to the target area, to obtain at least two non-obstacle sub-areas;
[0014] An area selection module, used to determine a target operating area from at least two non-obstacle sub-areas, and generate an initial robot path corresponding to the target operating area from a current obstacle map; the initial robot path includes a plurality of path points;
[0015] A path optimization module is used to determine an optimized path point corresponding to the current path point from each candidate path point whose line connecting the current path point does not pass through the impassable area, and use the optimized path point corresponding to the current path point as the next current path point, and sequentially obtain the optimized path points corresponding to each current path point; the impassable area includes the obstacle area and the target operation area in the current obstacle map;
[0016] The path generation module is used to generate a target robot path corresponding to the target operating area based on each optimized path point.
[0017] In a third aspect, the present application further provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the above-mentioned robot path planning method when executing the computer program.
[0018] In a fourth aspect, the present application also provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the above-mentioned robot path planning method are implemented.
[0019] In a fifth aspect, the present application also provides a computer program product, including a computer program, which implements the steps of the above-mentioned robot path planning method when executed by a processor.
[0020] The above-mentioned robot path planning method, device, computer equipment, storage medium and computer program product obtain the current obstacle map corresponding to the target area, divide the non-obstacle area in the current obstacle map according to the robot's historical operation trajectory corresponding to the target area, and obtain at least two non-obstacle sub-areas. It can accurately identify the newly appeared non-obstacle sub-areas and avoid the robot's missed operation area, thereby ensuring the integrity of the robot's operation area.
[0021] Then, a target operating area is determined from at least two non-obstacle sub-areas, and an initial robot path corresponding to the target operating area is generated. The optimized path point corresponding to the current path point is determined from each candidate path point whose line connecting the current path point does not pass through the impassable area, and the optimized path point corresponding to the current path point is used as the next current path point. The optimized path points corresponding to each current path point are obtained in turn, so that the optimized path points of the initial robot path can be screened, and the number of path points in the initial robot path can be optimized. The target robot path is generated according to each optimized path point, which reduces the complexity of the initial robot path and avoids a large number of sawtooth, bend and tortuous routes in the robot path, thereby improving the accuracy of the robot path planning. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0023] FIG1 is a diagram of an application environment of a robot path planning method according to an embodiment;
[0024] FIG2 is a schematic diagram of a flow chart of a robot path planning method in one embodiment;
[0025] FIG3 is a schematic diagram of an obstacle map in one embodiment;
[0026] FIG4 is a schematic diagram of an obstacle map in one embodiment;
[0027] FIG5 is a schematic diagram of a current obstacle map in one embodiment;
[0028] FIG6 is a schematic diagram of non-obstacle sub-area map overlay in one embodiment;
[0029] FIG7 is a schematic diagram of non-obstacle sub-area map overlay in one embodiment;
[0030] FIG8 is a schematic diagram of a non-obstacle sub-area map in one embodiment;
[0031] FIG9 is a schematic diagram of a target operation area map in one embodiment;
[0032] FIG10 is a schematic diagram of an initial robot path map in one embodiment;
[0033] FIG11 is a schematic diagram of optimizing a robot path map in one embodiment;
[0034] FIG12 is a schematic diagram of a target robot path map in one embodiment;
[0035] FIG13 is a schematic diagram of a process of path straightening in one embodiment;
[0036] FIG14 is a block diagram of a robot path planning device in one embodiment;
[0037] FIG. 15 is a diagram showing the internal structure of a computer 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] The robot path planning method provided in the embodiment of the present application can be applied to the application environment as shown in Figure 1. It includes a robot 102 and a server 104. The robot 102 and the server 104 can be connected via a communication connection method such as Bluetooth, USB (Universal Serial Bus) or a network, and the present application does not limit it here. The robot 102 can be any autonomous mobile robot such as a cleaning robot, a distribution robot, an industrial robot, a logistics robot, an inspection robot, a special robot, etc. In one embodiment, the robot 102 can receive a movement instruction sent by the server 104 through a communication connection, such as an indoor cleaning instruction sent by the server 104 to the robot 102, and the robot 102 moves and cleans the floor in response to the indoor cleaning instruction. It can be understood that the robot path planning method can also be implemented independently by a robot, and can also be implemented by interaction between robots, etc., which is not specifically limited here.
[0040] In one embodiment, while the robot 102 is executing the cleaning task sent by the server 104, the robot 102 obtains the current obstacle map corresponding to the target area; the robot 102 divides the non-obstacle area in the current obstacle map based on the robot's historical operation trajectory corresponding to the target area to obtain at least two non-obstacle sub-areas; the robot 102 determines the target operation area from the at least two non-obstacle sub-areas, and generates an initial robot path corresponding to the target operation area from the current obstacle map; the initial robot path includes multiple path points; the robot 102 determines the optimized path point corresponding to the current path point from each candidate path point whose line connecting the current path point does not pass through the inaccessible area, takes the optimized path point corresponding to the current path point as the next current path point, and obtains the optimized path points corresponding to each current path point in turn; the inaccessible area includes the obstacle area and the target operation area in the current obstacle map; the robot 102 generates the target robot path corresponding to the target operation area based on each optimized path point. Among them, the server 104 can be an independent physical server or a service node in the blockchain system. The service nodes in the blockchain system form a peer-to-peer (P2P) network. The P2P protocol is an application layer protocol running on the Transmission Control Protocol (TCP) protocol. In addition, the server 104 can also be a server cluster composed of multiple physical servers, which can be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms.
[0041] In one embodiment, as shown in FIG2 , a robot path planning method is provided, and the method is applied to the robot in FIG1 as an example for explanation. The method includes the following steps:
[0042] Step 202: Obtain a current obstacle map corresponding to the target area.
[0043] Step 204 : based on the historical operation trajectory of the robot corresponding to the target area, divide the non-obstacle area in the current obstacle map to obtain at least two non-obstacle sub-areas.
[0044] The target area refers to the area where the robot is to perform tasks. The current obstacle map refers to the latest obstacle map of the target area. The robot's historical operation trajectory refers to the robot's operation trajectory in the target area during the historical time period. The non-obstacle sub-area refers to the non-obstacle area in the current obstacle map that is divided.
[0045] Specifically, in response to the task execution instruction for the target area, the robot generates a task path according to the target area, moves in the target area according to the task path, and performs the corresponding task. For example, when the robot performs the cleaning task for the target area, the target area is used as the cleaning area and a zigzag cleaning path is generated. The zigzag cleaning path is specifically that the robot generates a cleaning path according to the boundary of the cleaning area, records it as the robot's historical operation trajectory, and then uses the robot's historical operation trajectory as the basis for generating the next cleaning path. The generation of the cleaning path of the entire cleaning area is like a zigzag shape that converges from the outer circle to the inside.
[0046] When executing the task instructions, the robot updates the obstacle map of the target area. At the current time, the current obstacle map and the robot's historical operation trajectory corresponding to the target area are obtained, and then the robot's historical operation trajectory is superimposed on the current obstacle map to obtain an overlay map. According to the robot's historical operation trajectory in the overlay map, the non-obstacle area in the current obstacle map is divided to obtain at least two non-obstacle sub-areas.
[0047] In one embodiment, there is an obstacle in the target area, and the robot's historical operation trajectory includes the robot's obstacle avoidance trajectory for bypassing the obstacle in the target area during the historical time period. When the obstacle is a dynamic obstacle, the robot obtains the current obstacle map corresponding to the target area at the current time, and there may be a sub-area that appears after the dynamic obstacle moves. Then, the non-obstacle sub-area obtained by dividing the non-obstacle area in the current obstacle map by the robot's historical operation trajectory includes the non-obstacle sub-area surrounded by the robot's historical operation trajectory and the non-obstacle sub-area that appears after the dynamic obstacle moves. Based on this, there is a dynamic obstacle in the target area. When the current obstacle map corresponding to the target area is obtained, the position of the dynamic obstacle in the current obstacle map changes relative to the historical obstacle map corresponding to the target area. Then, the current obstacle map can be an obstacle map with a change in the position of the dynamic obstacle in the target area at the current moment.
[0048] Step 206, determining a target operating area from at least two non-obstacle sub-areas, and generating an initial robot path corresponding to the target operating area from the current obstacle map; the initial robot path includes a plurality of path points.
[0049] Specifically, the target operation area of the current task to be performed can be determined from at least two non-obstacle sub-areas according to actual needs. The nearest non-obstacle sub-area can be selected as the target operation area according to the current position of the robot, or the target operation area can be selected according to the area, etc. Then, the area boundary of the target operation area is extracted, and the initial robot path corresponding to the target operation area is generated along the area boundary according to the obstacle avoidance distance of the robot. The initial robot path includes multiple path points, such as the positions of each path point along the area boundary determined according to the obstacle avoidance distance of the robot and the preset spacing, and the initial robot path is generated according to the positions of each path point.
[0050] Step 208, determine the optimized path point corresponding to the current path point from the candidate path points whose lines connecting the current path point do not pass through the inaccessible area, use the optimized path point corresponding to the current path point as the next current path point, and obtain the optimized path points corresponding to each current path point in turn; the inaccessible area includes the obstacle area and the target operation area in the current obstacle map.
[0051] Among them, the current path point refers to the path point currently selected to connect with other path points. Candidate path points refer to path points whose lines connecting with the current path point do not pass through the impassable area. The impassable area refers to the area that the robot cannot directly pass through. The optimized path point refers to the path point selected from the candidate path points.
[0052] Specifically, the current path point and the remaining path points are determined from the path points included in the initial robot path. The current path point can be determined according to the current position of the robot, and then the current path point is connected with the remaining path points to obtain the lines connected to the current path point. It is determined whether the lines pass through the impassable area, and the path points corresponding to the lines that do not pass through the impassable area are used as candidate path points.
[0053] Then, the optimized path point corresponding to the current path point is determined according to the position of each candidate path point, and the optimized path point is used as the next current path point. The process returns to the step of connecting the current path point with the remaining path points respectively, and obtaining the steps of connecting the current path point with each line, so as to obtain the optimized path points corresponding to each current path point respectively.
[0054] Step 210: Generate a target robot path corresponding to the target working area based on each optimized path point.
[0055] Specifically, the robot connects each optimized path point in the current obstacle map to generate a target robot path corresponding to the target work area. The robot can also use the robot path obtained by connecting each optimized path point as the path to be optimized, and then iteratively optimize the path to be optimized until the convergence conditions are met, such as the number of iterations of the path to be optimized reaches the upper limit, the number of optimized path points reaches the lower limit, etc., to determine that the optimization of the path to be optimized is completed and the target robot path is obtained.
[0056] In the above-mentioned robot path planning method, by obtaining the current obstacle map corresponding to the target area, the non-obstacle area in the current obstacle map is divided according to the robot's historical operation trajectory corresponding to the target area, and at least two non-obstacle sub-areas are obtained. It is possible to accurately identify the newly emerged non-obstacle sub-areas that may exist when the obstacle is a dynamic obstacle, avoid the robot's missed operation area, and thus ensure the integrity of the robot's operation area.
[0057] Then, a target operating area is determined from at least two non-obstacle sub-areas, and an initial robot path corresponding to the target operating area is generated. The optimized path point corresponding to the current path point is determined from each candidate path point whose line connecting the current path point does not pass through the impassable area, and the optimized path point corresponding to the current path point is used as the next current path point. The optimized path points corresponding to each current path point are obtained in turn, so that the optimized path points of the initial robot path can be screened, and the number of path points in the initial robot path can be optimized. The target robot path is generated according to each optimized path point, which reduces the complexity of the initial robot path and avoids a large number of sawtooth, bend and tortuous routes in the robot path, thereby improving the accuracy of the robot path planning.
[0058] In one embodiment, step 202, obtaining a current obstacle map corresponding to the target area, includes:
[0059] Obtain an initial obstacle map corresponding to the target area, perform binarization processing on the initial obstacle map, and obtain a binary obstacle map;
[0060] The obstacle contours in the binary obstacle map are expanded based on the robot's anti-collision distance to obtain the current obstacle map.
[0061] Specifically, the robot obtains an initial obstacle map corresponding to the target area at the current time, and binarizes the obstacle area and non-obstacle area in the initial obstacle map to obtain a binary obstacle map. For example, the pigment values corresponding to the obstacle area are uniformly converted into white pigment values, and the pigment values corresponding to the non-obstacle area are uniformly converted into black pigment values.
[0062] When there are temporary obstacles in the target area, the temporary obstacles refer to obstacles that temporarily exist in the target area, and may also refer to dynamic obstacles. The schematic diagram of the obstacle map with temporary obstacles is shown in Figure 3, where Figure 3-A represents the initial obstacle map with temporary obstacles, and Figure 3-B represents the binary obstacle map with temporary obstacles.
[0063] When the temporary obstacles in the target area are removed, a schematic diagram of an obstacle map without temporary obstacles is shown in FIG4 , where FIG4-A represents an initial obstacle map without temporary obstacles, and FIG4-B represents a binary obstacle map without temporary obstacles.
[0064] Among them, Figure 3-A and Figure 4-A include white areas, black areas and gray areas: the white area is the drivable area, the black area is the obstacle area, and the gray area is the unknown area. Figure 3-B and Figure 4-B include white areas and black areas: the white area is the obstacle area, including the unknown area, and the black area is the drivable area. In addition, there is a temporary obstacle a in the drivable area in Figures 3-A and 3-B, and there is no temporary obstacle a in the drivable area in Figures 4-A and 4-B.
[0065] Then, in the binary obstacle map, the obstacle contour is determined according to the difference in pigment values between the obstacle area and the non-obstacle area. The obstacle contour may refer to the boundary of the obstacle area. Then, the obstacle contour is expanded according to the robot anti-collision distance to obtain the current obstacle map. For example, the expansion area corresponding to the area boundary is determined in the binary obstacle map according to the robot anti-collision distance, and the pigment value of the non-obstacle area in the expansion area is converted to the pigment value of the non-obstacle area. The schematic diagram of the current obstacle map after expansion is shown in FIG5 , FIG5-A corresponds to FIG3-B , indicating the current obstacle map with temporary obstacles, and FIG5-B corresponds to FIG4-B , indicating the current obstacle map without temporary obstacles. The white areas in FIG5-A and FIG5-B are obstacle areas, and the black areas are drivable areas.
[0066] In this embodiment, by binarizing the initial obstacle map, the accuracy of extracting the obstacle area in the current obstacle map is guaranteed; and by expanding the obstacle contour according to the robot's anti-collision distance, the safety of the planned path in the current obstacle map is guaranteed, thereby ensuring the safety of the robot's operation.
[0067] In one embodiment, step 204, based on the robot's historical operation trajectory corresponding to the target area, divide the non-obstacle area in the current obstacle map to obtain at least two non-obstacle sub-areas, including:
[0068] At least two non-obstacle sub-areas are obtained based on the non-obstacle sub-area enclosed by the robot's historical operation trajectory corresponding to the target area in the current obstacle map and the non-obstacle sub-area between the robot's historical operation trajectory and the obstacle area in the current obstacle map.
[0069] Specifically, the robot divides the non-obstacle area in the current obstacle map according to the coordinates of the trajectory points of the robot's historical working trajectory. Specifically, when the robot's historical working trajectory is a closed trajectory, at least two non-obstacle sub-areas are obtained according to the non-obstacle sub-areas enclosed by the robot's historical working trajectory in the current obstacle map, and the non-obstacle sub-areas between the robot's historical working trajectory and the obstacle area in the current obstacle map.
[0070] When the robot's historical operation trajectory is a non-closed trajectory that passes through the current obstacle map, at least two non-obstacle sub-areas are obtained according to the non-obstacle sub-areas between the robot's historical operation trajectory and the obstacle area in the current obstacle map.
[0071] In a specific embodiment, the robot can obtain a historical trajectory map, which can be a binary map. The robot then extracts the obstacle area based on the pigment value of the obstacle area in the current obstacle map, and superimposes the obstacle area on the historical trajectory map to obtain a superimposed map. The robot determines at least two non-obstacle sub-areas based on the superimposed map.
[0072] As shown in Figure 6, a schematic diagram of the superposition of non-obstacle sub-area maps is provided, wherein Figure 6-A represents a binary historical trajectory map, in which the trajectory area corresponding to the robot's historical operation trajectory in the historical trajectory map is white, and the non-trajectory area is black; Figure 6-B represents the current obstacle map with temporary obstacles (Figure 6-B is the same as Figure 5-A); Figure 6-C represents the map after superimposing Figure 6-A and Figure 6-B, and the black area in the figure is the non-obstacle sub-area. Specifically, the robot superimposes the white obstacle area in Figure 6-B onto Figure 6-A to obtain the superimposed map shown in Figure 6-C.
[0073] Furthermore, there are always temporary obstacles in the current obstacle map, and temporary obstacles can be regarded as static obstacles. The obstacles in the current obstacle map are static obstacles, and there will be no new sub-areas after the obstacles are removed. Therefore, the non-obstacle sub-areas obtained in the current obstacle map according to the robot's historical operation trajectory are historical existences, such as the black area 1 in Figure 6-C.
[0074] As shown in Figure 7, another schematic diagram of superimposing non-obstacle sub-area maps is provided, wherein Figure 7-A represents a binary historical trajectory map, in which the trajectory area corresponding to the robot's historical operation trajectory in the historical trajectory map is white, and the non-trajectory area is black; Figure 7-B represents a current obstacle map without temporary obstacles (Figure 7-B is the same as Figure 5-B); Figure 7-C represents a map after superimposing Figure 7-A and Figure 7-B, in which black areas 1 and 2 are non-obstacle sub-areas. Specifically, the robot superimposes the white obstacle area in Figure 7-B onto Figure 7-A to obtain the superimposed map shown in Figure 7-C.
[0075] Furthermore, there is no temporary obstacle in the current obstacle map, which means that the temporary obstacle has been removed within the current time. It can be seen from the obstacle avoidance trajectory of the robot's historical operation trajectory and the non-obstacle area of the current obstacle map that the position of the temporary obstacle in the current obstacle map forms a new sub-area that did not exist in the past, as shown in the black area 2 in Figure 7-C. Even if the obstacle does not exist afterwards, the robot will still make a detour when passing here because it will run along the historical operation trajectory. In addition, the black area 1 in Figure 7-C represents the non-obstacle sub-area surrounded by the robot's historical operation trajectory.
[0076] In a specific embodiment, after the robot determines at least two non-obstacle sub-areas according to the superimposed map, it selects the target working area in each non-obstacle sub-area. As shown in the schematic diagram of the non-obstacle sub-areas in FIG7-C, two black areas are displayed as non-obstacle sub-areas to be selected. The target working area can be selected from the two non-obstacle sub-areas to be selected shown in FIG7-C. For example, non-obstacle sub-area 1 corresponding to black area 1 is selected as the target working area, as shown in the target working area marked in FIG7-C.
[0077] After determining the target operating area, the robot regards the target operating area and the obstacle area in the current obstacle map as inaccessible areas, and regards the unselected non-obstacle sub-area as a passable area. Among them, considering the target operating area as an inaccessible area means that when optimizing the operating trajectory corresponding to the target operating area, the optimized trajectory cannot pass through the target operating area. For example, the target operating area is the area to be cleaned, and the operating trajectory is a zigzag cleaning path. When optimizing the zigzag cleaning path, the optimized zigzag cleaning path cannot pass through the area to be cleaned, ensuring that the optimized zigzag cleaning path covers the area to be cleaned to avoid the robot from missing a sweep. Considering the unselected non-obstacle sub-area as a passable area means that the non-obstacle sub-area is not the target operating area, and the robot does not need to perform operating tasks in the non-obstacle sub-area and can pass through the non-obstacle sub-area.
[0078] The black pigment value of the unselected non-obstacle sub-area 2 in FIG7-C is converted to a white pigment value, as shown in FIG8, a schematic diagram of the non-obstacle sub-area map, and then the white obstacle area is extracted from the current obstacle map without temporary obstacles represented by FIG5-B, and is converted to black and filled into the obstacle area of FIG8, to obtain a schematic diagram of the target operation area map as shown in FIG9, wherein the white area is a passable area and the black area is an inaccessible area. The robot path corresponding to the target operation area can be planned according to the white passable area in FIG9, and the robot path can be the operation trajectory corresponding to the target operation area.
[0079] In this embodiment, by dividing the non-obstacle area in the current obstacle map according to the robot's historical operating trajectory, the non-obstacle sub-area formed by the removal of temporary obstacles can be accurately identified, avoiding the robot from missing the operating area and ensuring the integrity of the robot's operating area.
[0080] In one embodiment, step 208, determining an optimized path point corresponding to the current path point from each candidate path point whose line connecting the current path point does not pass through the impassable area, includes:
[0081] Determine a current waypoint among multiple waypoints;
[0082] Based on the sorting of the waypoints of the initial robot path, the waypoints whose lines connecting the current waypoints do not pass through the inaccessible area are obtained as candidate waypoints;
[0083] When all the lines connecting the current path point do not pass through the impassable area, the last candidate path point is obtained as the optimized path point corresponding to the current path point;
[0084] When at least one line connecting the current path point passes through an impassable area, a previous candidate path point of the path point whose line connecting the current path point first passes through the impassable area is obtained as the optimized path point corresponding to the current path point.
[0085] Specifically, the path points in the initial robot path can be sorted in advance, and the path points with adjacent serial numbers in the path points have adjacent positions on the map, and then the path point with the highest order is used as the current path point. Alternatively, the coordinate point of the current position of the robot in the initial robot path can be determined as the current path point, and the remaining path points are sorted, and the path point with the highest order is adjacent to the map position of the current path point.
[0086] According to the order of the path points of the initial robot path, the current path point is connected to each path point to obtain each connection line with the current path point. The robot determines whether each connection line passes through the impassable area, and obtains the path point whose connection line with the current path point does not pass through the impassable area from each connection line as a candidate path point according to the judgment result.
[0087] When it is detected that none of the lines connecting the current path point passes through the impassable area, the last candidate path point is obtained as the optimized path point corresponding to the current path point. For example, the path points are set in positive order, and the initial robot path includes path points 1, 2, 3, ..., 10, a total of 10 path points; path point 1 is used as the current path point, and path point 1 is connected to path points 2, 3, ..., 10 respectively, to obtain 9 lines connecting the path points; when it is detected that none of the 9 lines pass through the impassable area, path point 10 is used as the optimized path point corresponding to path point 1, and at this time, the optimized path point does not need to be used as the next current path point.
[0088] When it is detected that at least one of the lines connecting the current path point passes through the impassable area, the previous candidate path point of the path point whose line connecting the current path point first passes through the impassable area is obtained as the optimized path point corresponding to the current path point. For example, it is detected that among the above 9 lines, the line connecting path points 1 and 4 and the line connecting path points 1 and 6 pass through the impassable area, and the lines connecting the remaining path points do not pass through the impassable area, and the previous path point 3 of path point 4 is used as the optimized path point corresponding to path point 1; then path point 3 is used as the next current path point, and path points 4-10 are re-sorted to continue to search for the optimized path point, or the optimized path point can be continued according to the pre-set sorting.
[0089] In this embodiment, by obtaining the path points whose connection lines with the current path points do not pass through the impassable area as candidate path points, and determining the optimized path points based on the passage of the connection lines through the impassable area, the accuracy of the selection of the optimized path points is guaranteed, thereby ensuring the accuracy of the optimization of the initial robot path.
[0090] In one embodiment, based on the sorting of the path points of the initial robot path, obtaining the path points whose lines connecting the current path points do not pass through the inaccessible area as candidate path points includes:
[0091] Based on the sorting of the path points of the initial robot path, the current connection point corresponding to the current path point is determined in turn, and whether the line connecting the current connection point and the current path point passes through the inaccessible area is determined in turn;
[0092] When the line connecting the current connection point and the current path point passes through an inaccessible area, the judgment is stopped and the connection point arranged before the current connection point is used as a candidate path point.
[0093] Specifically, after determining the current path point, the current connection point corresponding to the current path point is determined in sequence according to the path point sorting of the initial robot path, the current path point is connected to the current connection point, and it is determined whether the line connecting the current path point and the current connection point passes through an inaccessible area.
[0094] If it does not pass through, the current connection point is used as a candidate path point, and then the next current connection point is determined according to the path point sorting, and the process returns to the step of connecting the current path point with the current connection point; if it passes through, the determination is stopped, and the connection point arranged before the current connection point is used as a candidate path point. The connection point arranged before the current connection point can be one or more.
[0095] Among them, the specific judgment method is: when the current obstacle map is a grid map, the grid occupied by the line connecting the current path point and the current connection point is determined in the current obstacle map. If there is a grid belonging to an impassable area in the grid occupied by the line, it is judged that the line connecting the current path point and the current connection point passes through the impassable area; if there is no grid belonging to the impassable area in the grid occupied by the line, it is judged that the line connecting the current path point and the current connection point does not pass through the impassable area.
[0096] In this embodiment, when the line connecting the current connection point and the current path point passes through an inaccessible area, the judgment is stopped and the connection point arranged before the current connection point is used as a candidate path point. This can improve the efficiency of selecting candidate path points, thereby improving the efficiency of selecting optimized path points, so that the target robot path can be generated based on the optimized path points later, thereby improving the optimization efficiency of the robot path.
[0097] In one embodiment, step 304, based on the sorting of the path points of the initial robot path, obtaining the path points whose lines connecting the current path point do not pass through the inaccessible area as candidate path points, includes:
[0098] Get the number of waypoint connections;
[0099] Based on the number of waypoint connections, determine each connection point corresponding to the current waypoint among the multiple waypoints;
[0100] Based on the path point sorting of each connection point, the connection point whose line with the current path point does not pass through the inaccessible area is obtained as a candidate path point.
[0101] Specifically, after generating the initial robot path corresponding to the target operation area, the number of path point connections is obtained, which refers to the number of path points that the current robot can connect at a time. According to the number of path point connections, each connection point corresponding to the current path point is determined among the multiple path points of the initial robot path, and the path points of each connection point are sorted, and the current path point is connected to each connection point respectively. For example, if the number of path point connections is 5, 5 connection points are determined among the 10 path points of the initial robot path, and the current path point is connected to each connection point in the positive order of path points 1-5.
[0102] It is determined whether the lines connecting each connection point with the current connection point pass through an impassable area, and based on the determination result, connection points whose lines connecting the current path point do not pass through the impassable area are obtained as candidate path points.
[0103] In a specific embodiment, the robot extracts an initial robot path corresponding to the target operation area and sets the number of path point connections, as shown in FIG10 , in which the dotted line represents the initial robot path.
[0104] Determine the starting point (i.e., the current path point) in the initial robot path, take the starting point as the first optimized path point, and then start from the first optimized path point, according to the sequence of path points, sequentially search for candidate path points where the straight line connected to the first optimized path point can pass through the passable area, and terminate when the number of candidate path points is greater than or equal to the number of path point connections or the line passes through the impassable area, and set the connection point before termination as the optimized path point. Take the optimized path point as the next new starting point, and return to the step of sequentially searching for candidate path points where the straight line connected to the first optimized path point can pass through the passable area starting from the first optimized path point, until the last optimized path point in the initial robot path is determined, and the various optimized path points corresponding to the initial robot are obtained, and the optimized robot path corresponding to the initial robot path is generated according to the various optimized path points. The schematic diagram of the optimized robot path is shown in Figure 11, and the solid line in the figure represents the optimized robot path generated according to the various optimized path points.
[0105] The optimized robot path can be iteratively optimized according to the number of path point connections to obtain the target robot path.
[0106] In this embodiment, by performing path optimization on the initial robot path according to the number of path point connections, the optimization accuracy of the initial robot path can be improved, thereby ensuring the optimization effect of the target robot path.
[0107] In one embodiment, step 210, generating a target robot path corresponding to a target operating area based on each optimized path point, includes:
[0108] Generate an optimized robot path corresponding to the target operation area based on each optimized path point, and use the optimized robot path as the initial robot path;
[0109] Obtain the updated number of path point connections, use the updated number of path point connections as the number of path point connections, return to the step of determining each connection path point corresponding to the current path point among multiple path points based on the number of path point connections, and execute until the convergence condition is met to obtain the target robot path corresponding to the target working area.
[0110] Among them, updating the number of path point connections refers to the number of path point connections whose quantity value is updated. Convergence conditions refer to the stop conditions of path optimization. Convergence conditions include, for example, the number of iterations of optimizing the robot path reaches an upper limit, the number of path points in the optimized robot path reaches a lower limit, etc.
[0111] Specifically, an optimized robot path corresponding to the target operation area is generated according to each optimized path point, the optimized robot path is used as the initial robot path, and the updated path point connection number is obtained. Generally, the updated path point connection number is less than the path point connection number, and then the updated path point connection number is used as the path point connection number, and the step of determining each connection path point corresponding to the current path point in multiple path points based on the path point connection number is returned to the execution until the convergence condition is met, such as the number of path points in the optimized robot path reaches the lower limit or no longer decreases, or the number of iterations of the optimized robot path reaches the upper limit, etc., and the number of iterations can also be adjusted according to actual needs, and the number of path point connections can be updated at each iteration. When it is detected that the convergence condition is met, the target robot path corresponding to the target operation area is obtained, and after iterative optimization of the optimized robot path, each optimized path point is finally obtained, and the target robot path corresponding to the target operation area is obtained according to the connection lines of each optimized path point. For example, an initial robot path is generated according to the target working area, as represented by the dotted line segment in the schematic diagram of the initial robot path map shown in FIG10; the initial robot path is then optimized once to obtain an optimized robot path, as represented by the solid line segment in the schematic diagram of the optimized robot path map shown in FIG11; the number of updated path points is then obtained, and the optimized robot path is optimized twice according to the number of updated path point connections, so that the number of optimized path points after optimization reaches the lower limit, and the target robot path is obtained according to the optimized path points, as represented by the solid line in the schematic diagram of the target robot path map shown in FIG12, and the 4 optimized path points for generating the target robot path are less than the lower limit of 5.
[0112] In this embodiment, by iteratively optimizing the optimized robot path until the number of path points no longer decreases, unnecessary turns and uneven movements in the optimized robot path can be reduced, simplifying the complexity of the optimized robot path, thereby reducing the robot's angle calculation cost for the turning direction and saving the robot's computing resources.
[0113] In a specific embodiment, as shown in FIG13 , a schematic diagram of a path optimization process is provided. Path optimization refers to the smoothing of the jagged and curved paths generated by the obstacle boundaries and historical trajectories of the environment in the generated path when the robot generates an online zigzag path. It can be understood as the effect of straightening the jagged and curved paths. The robot can be a cleaning robot. The specific steps are as follows:
[0114] Extracting the initial robot path: When the cleaning robot performs a cleaning task, in response to the cleaning instruction for the target area, when the temporary obstacles in the target area are removed, it obtains the current obstacle map corresponding to the target area (as shown in Figure 5-B), and obtains the binary historical trajectory map (as shown in Figure 6-A or Figure 7-A). The white area in the historical trajectory map represents the cleaned area, and the black area represents the uncleaned area. The robot superimposes the obstacle area in the current obstacle map onto the historical trajectory map to obtain the target cleaning area map (as shown in Figure 8). The black area in the target cleaning area map represents the target cleaning area (target operation area), and the white area represents the non-target cleaning area. The initial robot path is extracted according to the target cleaning area. The initial robot path cannot arbitrarily pass through the uncleaned target cleaning area to cause the robot to miss cleaning.
[0115] Constructing a path optimization map: Construct a path optimization layer (as shown in Figure 9) based on the target cleaning area map and the initial robot path for path optimization processing. The white area in the path optimization map is the passable area, and the black area is the impassable area. Then the robot uses the path optimization map to find anchor points on the initial robot path, that is, optimize the path points. Each anchor point can be connected by a straight line, and the straight line connecting the anchor points can pass through the non-obstacle area in the non-target cleaning area.
[0116] Path optimization (as shown in Figures 10-12): S1. Input the initial robot path of the extracted target cleaning area and set the maximum number of path points that can be optimized at a time, i.e., the number of path point connections;
[0117] S2, starting from the starting point, set the starting point as the first anchor point;
[0118] S3, starting from the starting point, according to the sequence of path points, sequentially search for path points that can pass through the passable area with the straight line connected to the current anchor point, and terminate when the number of optimized path points between the two points is greater than or equal to the threshold L or the connecting line needs to pass through the black impassable area, and set the connection point before termination as the next anchor point;
[0119] S4. Take the next anchor point as the new anchor point, and repeat step S3 starting from the new anchor point until the last point of the path is selected as the anchor point.
[0120] Optimize path iteration: Update the sequence of optimized path points and repeatedly perform the path optimization steps until the number of path points no longer decreases or the number of iterations reaches the upper limit. The initial robot path optimization is completed, and the straight line connecting the two adjacent points is the optimized path. The target robot path is obtained and output, presenting the optimization result that the initial robot path is completely straightened (as shown in Figure 12).
[0121] The robot performs the cleaning task in the target cleaning area according to the target robot path.
[0122] In this embodiment, by straightening the initial robot path of the target cleaning area, the path can be gradually unaffected by the concavity or convexity of the area boundary as it is gradually planned toward the center of the area, so that the overall path gradually tends to be regular and straight.
[0123] Furthermore, when the robot's historical trajectory becomes concave and messy due to interference from dynamic obstacles, local sub-regions will appear. The shape of the initial path extracted from these sub-regions will also become concave and messy along with the shape of the historical trajectory. The path after path straightening can allow the robot to pass through these areas straightly, making the robot's movement smoother and reducing the impact of dynamic obstacles on path optimization.
[0124] Moreover, when the historical trajectory left by the robot after detouring due to the interference of temporary obstacles will divide the area occupied by the temporary obstacle into a small sub-area, if the temporary obstacle is removed during the operation of the robot, the path after path straightening can make the robot pass through the sub-area straightly, avoid the machine detouring in the air, make the robot movement smoother, reduce the impact of temporary obstacles on path optimization, and ensure that the robot will perform corresponding tasks in the sub-area later, thereby ensuring the integrity of the robot's working area.
[0125] 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.
[0126] Based on the same inventive concept, the embodiment of the present application also provides a robot path planning device for implementing the robot 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 robot path planning device embodiments provided below can refer to the limitations of the robot path planning method above, and will not be repeated here.
[0127] In an exemplary embodiment, as shown in FIG. 14 , a robot path planning device 1400 is provided, comprising: a map acquisition module 1402 , an area division module 1404 , an area selection module 1406 , a path optimization module 1408 and a path generation module 1410 , wherein:
[0128] A map acquisition module 1402 is used to acquire a current obstacle map corresponding to a target area;
[0129] The area division module 1404 is used to divide the non-obstacle area in the current obstacle map based on the robot's historical operation trajectory corresponding to the target area to obtain at least two non-obstacle sub-areas;
[0130] The area selection module 1406 is used to determine a target operating area from at least two non-obstacle sub-areas, and generate an initial robot path corresponding to the target operating area from the current obstacle map; the initial robot path includes a plurality of path points;
[0131] The path optimization module 1408 is used to determine the optimized path point corresponding to the current path point from each candidate path point whose line connecting the current path point does not pass through the impassable area, take the optimized path point corresponding to the current path point as the next current path point, and sequentially obtain the optimized path points corresponding to each current path point; the impassable area includes the obstacle area and the target operation area in the current obstacle map;
[0132] The path generation module 1410 is used to generate a target robot path corresponding to a target working area based on each optimized path point.
[0133] In one embodiment, the map acquisition module 1402 is also used to obtain an initial obstacle map corresponding to the target area, binarize the initial obstacle map to obtain a binary obstacle map; and expand the obstacle contours in the binary obstacle map based on the robot's anti-collision distance to obtain a current obstacle map.
[0134] In one embodiment, the area division module 1404 is also used to obtain at least two non-obstacle sub-areas based on the non-obstacle sub-area enclosed by the robot's historical operation trajectory corresponding to the target area in the current obstacle map, and the non-obstacle sub-area between the robot's historical operation trajectory and the obstacle area in the current obstacle map.
[0135] In one embodiment, the path optimization module 1408 is also used to determine the current path point among multiple path points; based on the path point sorting of the initial robot path, obtain the path point whose line connecting the current path point does not pass through the impassable area as a candidate path point; when all the lines connecting the current path point do not pass through the impassable area, obtain the last candidate path point as the optimized path point corresponding to the current path point; when at least one line connecting the current path point passes through the impassable area, obtain the previous candidate path point of the path point whose line connecting the current path point first passes through the impassable area as the optimized path point corresponding to the current path point.
[0136] In one embodiment, the path optimization module 1408 is also used to determine the current connection point corresponding to the current path point in turn based on the path point sorting of the initial robot path, and to determine in turn whether the line connecting the current connection point and the current path point passes through an inaccessible area; when the line connecting the current connection point and the current path point passes through an inaccessible area, the judgment is stopped and the connection point arranged before the current connection point is used as a candidate path point.
[0137] In one embodiment, the path optimization module 1408 is also used to obtain the number of path point connections; based on the number of path point connections, determine each connection point corresponding to the current path point among multiple path points; based on the path point sorting of each connection point, obtain the connection point whose connection line with the current path point does not pass through the inaccessible area as a candidate path point.
[0138] In one embodiment, the path generation module 1410 is also used to generate an optimized robot path corresponding to the target work area based on each optimized path point, and use the optimized robot path as the initial robot path; obtain the updated number of path point connections, use the updated number of path point connections as the number of path point connections, and return to the step of determining each connection path point corresponding to the current path point in multiple path points based on the number of path point connections until the convergence condition is met, and obtain the target robot path corresponding to the target work area.
[0139] Each module in the above robot path planning device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module 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 operations corresponding to each module.
[0140] In an exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be shown in FIG15. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as the current obstacle map and the robot's historical operation trajectory. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a robot path planning method is implemented.
[0141] Those skilled in the art will understand that the structure shown in FIG. 15 is merely a block diagram of a partial structure related to the scheme of the present application, and does not constitute a limitation on the computer device to which the scheme of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0142] In one embodiment, a robot is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0143] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.
[0144] 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.
[0145] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0146] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0147] 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 this 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.
[0148] 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.
[0149] 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 path planning method, characterized in that: The method comprises: Get the current obstacle map corresponding to the target area; Based on the robot's historical operation trajectory corresponding to the target area, divide the non-obstacle area in the current obstacle map to obtain at least two non-obstacle sub-areas; Determine a target operating area from the at least two non-obstacle sub-areas, and generate an initial robot path corresponding to the target operating area from the current obstacle map; the initial robot path includes a plurality of path points; Determine an optimized path point corresponding to the current path point from each candidate path point whose line connecting the current path point does not pass through the impassable area, take the optimized path point corresponding to the current path point as the next current path point, and sequentially obtain the optimized path points corresponding to each current path point; the impassable area includes the obstacle area in the current obstacle map and the target operation area; A target robot path corresponding to the target operating area is generated based on each optimized path point.
2. The method according to claim 1, characterized in that The obtaining of the current obstacle map corresponding to the target area includes: Obtaining an initial obstacle map corresponding to the target area, and performing binarization processing on the initial obstacle map to obtain a binary obstacle map; The obstacle contour in the binary obstacle map is expanded based on the robot anti-collision distance to obtain the current obstacle map.
3. The method according to claim 1, characterized in that: The non-obstacle area in the current obstacle map is divided based on the robot's historical operation trajectory corresponding to the target area to obtain at least two non-obstacle sub-areas, including: At least two non-obstacle sub-areas are obtained based on a non-obstacle sub-area enclosed by the robot's historical operation trajectory corresponding to the target area in the current obstacle map, and a non-obstacle sub-area between the robot's historical operation trajectory and the obstacle area in the current obstacle map.
4. The method according to claim 1, characterized in that: The step of determining the optimized path point corresponding to the current path point from among the candidate path points whose lines connecting the current path point do not pass through the impassable area comprises: determining a current waypoint among the plurality of waypoints; Based on the sorting of the path points of the initial robot path, obtaining the path points whose connecting lines with the current path point do not pass through the inaccessible area as candidate path points; When all the lines connecting the current path point do not pass through the impassable area, the last candidate path point is obtained as the optimized path point corresponding to the current path point; When at least one line connecting the current path point passes through an impassable area, a previous candidate path point of the path point whose line connecting the current path point first passes through the impassable area is obtained as the optimized path point corresponding to the current path point.
5. The method according to claim 4, characterized in that The sorting of the path points based on the initial robot path, and obtaining the path points whose lines connecting the current path points do not pass through the inaccessible area as candidate path points, comprises: Based on the sorting of the path points of the initial robot path, the current connection point corresponding to the current path point is determined in sequence, and whether the line connecting the current connection point and the current path point passes through the inaccessible area is determined in sequence; When the line connecting the current connection point and the current path point passes through an inaccessible area, the judgment is stopped and the connection point arranged before the current connection point is used as a candidate path point.
6. The method according to claim 4, characterized in that The sorting of the path points based on the initial robot path, and obtaining the path points whose lines connecting the current path points do not pass through the inaccessible area as candidate path points, comprises: Get the number of waypoint connections; Based on the number of path point connections, determining each connection point corresponding to the current path point among the plurality of path points; Based on the path point sorting of the respective connection points, connection points whose lines connecting the current path point do not pass through the inaccessible area are obtained as candidate path points.
7. The method according to claim 6, characterized in that The generating of the target robot path corresponding to the target operation area based on each optimized path point includes: Generate an optimized robot path corresponding to the target operation area based on each optimized path point, and use the optimized robot path as the initial robot path; Obtain the updated number of path point connections, use the updated number of path point connections as the number of path point connections, return to the step of determining each connection path point corresponding to the current path point among the multiple path points based on the number of path point connections, and execute until the convergence condition is met to obtain the target robot path corresponding to the target working area.
8. A robot path planning device, characterized in that: The device comprises: A map acquisition module is used to obtain the current obstacle map corresponding to the target area; A region division module, configured to divide the non-obstacle region in the current obstacle map based on the robot's historical operation trajectory corresponding to the target region to obtain at least two non-obstacle sub-regions; An area selection module, configured to determine a target operating area from the at least two non-obstacle sub-areas, and generate an initial robot path corresponding to the target operating area from the current obstacle map; the initial robot path includes a plurality of path points; A path optimization module, for determining an optimized path point corresponding to the current path point from among candidate path points whose lines connecting the current path point do not pass through an impassable area, taking the optimized path point corresponding to the current path point as the next current path point, and sequentially obtaining optimized path points corresponding to each current path point; the impassable area includes an obstacle area in the current obstacle map and the target operation area; The path generation module is used to generate a target robot path corresponding to the target operation area based on each optimized path point.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
10. 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 any one of claims 1 to 7 are implemented.
Citation Information
Cited By
Automatic navigation control method and system of unmanned sweeper
CN120721084A
Automatic navigation control method and system for unmanned sweeper
CN120721084B
Robot motion control method and related device
CN120993916A
Current collection line path planning method, device, equipment, medium and product
CN121526090A
