Path planning method, point determination method and device
By obtaining the target map and point information of the target area, determining the type of points to be processed and generating the target planning path, the problem of low path planning accuracy in the existing technology is solved, and more efficient path planning is achieved.
Patent Information
- Application Number
- CN202411395764.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-08
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2044-10-08
AI Technical Summary
In the prior art, the automatic planning of the robot's travel path is based on topology maps or road network maps, resulting in low accuracy of the planned paths, increasing the robot's travel time and energy consumption.
By obtaining the target map of the target area, the point information of each point, and the execution order between points, the type of points to be processed is determined, and the target planning point is determined according to its type, and the target planning path is generated.
It improves the accuracy of path planning, shortens the planned path of the robot's arrival point, and reduces energy consumption.
Smart Images

Figure CN118882661B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of computer technology, and in particular to a path planning method and a point determination method. This specification also relates to a path planning device and a point determination device, a computing device, a computer-readable storage medium, and a computer program product. Background Art
[0002] With the development of science and technology, robots are gradually being used in more and more occasions. For example, inspection robots are designed to patrol, monitor, and inspect various environments and facilities in industrial facilities, building structures, energy and other industries to ensure the safety of environmental facilities so that they can operate normally or be maintained. In the process of automatic movement, the robot often automatically plans the travel path based on the pre-built scene map and point settings, and then automatically moves along the path. This ability to automatically plan the path makes the work more flexible, can adapt to different scenarios and needs, and can optimize the path, saving time and resources.
[0003] However, the automatic planning of the robot's travel path is often based on a topological map or a road network map. The planned travel path is a point-to-point path. In actual applications, when the robot is traveling along the planned path, sometimes the point it needs to reach is not the exact point. At this time, path planning based on inaccurate points will result in a low accuracy of the final planned path, which will take a long time for the robot to travel along the planned path and consume more energy of the robot. Therefore, a method is urgently needed to solve the problem of low accuracy of the above-mentioned planned path. Summary of the invention
[0004] In view of this, the embodiments of this specification provide a path planning method and a point determination method. One or more embodiments of this specification also relate to a path planning device and a point determination device, a computing device, a computer-readable storage medium and a computer program product to solve the technical defects existing in the prior art.
[0005] According to a first aspect of an embodiment of this specification, a path planning method is provided, including:
[0006] Obtaining a target map of a target area, point information of each point in the target map, and an execution order between the points;
[0007] Determine a point to be processed in the target map, and determine a point type to be processed of the point to be processed according to the point information to be processed of the point to be processed, wherein the point to be processed is any one of the points;
[0008] In the case where the type of the point to be processed is an interval point, the planned point and the to-be-planned point corresponding to the point to be processed are determined according to the execution order between the points, and the target planned point corresponding to the point to be processed is determined according to the planned point and the to-be-planned point;
[0009] A target planning path corresponding to the target map is generated according to the starting point, the ending point and the target planning points corresponding to each point of the target map.
[0010] According to a second aspect of an embodiment of this specification, a path planning device is provided, including:
[0011] An acquisition module is configured to acquire a target map of a target area, point information of each point in the target map, and an execution order between each point;
[0012] A type determination module is configured to determine a point to be processed in the target map, and determine a point type to be processed of the point to be processed according to the point information to be processed of the point to be processed, wherein the point to be processed is any one of the points;
[0013] A point determination module is configured to determine, when the type of the point to be processed is an interval point, the planned point and the to-be-planned point corresponding to the point to be processed according to the execution order between the points, and determine the target planned point corresponding to the point to be processed according to the planned point and the to-be-planned point;
[0014] The generation module is configured to generate a target planning path corresponding to the target map according to the starting point, the ending point and the target planning points corresponding to each point of the target map.
[0015] According to a third aspect of an embodiment of this specification, a method for determining a point position is provided, comprising:
[0016] Receiving a point determination instruction for a point to be processed, wherein the point determination instruction carries the point information to be processed of the point to be processed, the planned point information of the point to be processed, and the point information to be planned;
[0017] Determine the to-be-processed interval radius of the to-be-processed point in the to-be-processed point information, and determine the to-be-processed position interval of the to-be-processed point according to the to-be-processed interval radius;
[0018] Determine, in the position interval to be processed, a target planned point corresponding to the point to be processed according to the information of the point to be processed, the information of the planned point and the information of the point to be planned;
[0019] Determine the target location information of the target planning point, and send the target location information to the target terminal.
[0020] According to a fourth aspect of the embodiments of this specification, there is provided a point position determination device, comprising:
[0021] A receiving module is configured to receive a point determination instruction for a point to be processed, wherein the point determination instruction carries the point information to be processed of the point to be processed, the planned point information of the point to be processed, and the point information to be planned;
[0022] An interval determination module is configured to determine a radius of an interval to be processed of the point to be processed in the information of the point to be processed, and determine a position interval to be processed of the point to be processed according to the radius of the interval to be processed;
[0023] A point determination module is configured to determine a target planned point corresponding to the to-be-processed point in the to-be-processed position interval according to the to-be-processed point information, the planned point information and the to-be-planned point information;
[0024] The sending module is configured to determine the target location information of the target planning point and send the target location information to the target terminal.
[0025] According to a fifth aspect of an embodiment of this specification, a computing device is provided, including:
[0026] Memory and processor;
[0027] The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions. When the computer programs / instructions are executed by the processor, the steps of the above-mentioned path planning method or point determination method are implemented.
[0028] According to a sixth aspect of the embodiments of this specification, a computer-readable storage medium is provided, which stores a computer program / instruction, and when the computer program / instruction is executed by a processor, the steps of the above-mentioned path planning method or point determination method are implemented.
[0029] According to a seventh aspect of the embodiments of this specification, a computer program product is provided, including a computer program / instruction, which implements the steps of the above-mentioned path planning method or point determination method when executed by a processor.
[0030] An embodiment of the present specification realizes that each point in the target map is classified, and the corresponding target planning point is determined according to different types of points. In the case where the point to be processed is an interval point, it is necessary to determine the planned point and the to-be-planned point corresponding to the point to be processed according to the execution order between the points, and further determine the target planning point according to the planned point and the to-be-planned point. After the corresponding target planning point is determined for each point in the target map, the target planning path is planned based on the target planning point. In the process of determining the target planning point, for the target planning point corresponding to the interval point, it is possible to shorten the planning path of the robot to the point that does not need to be accurately reached by the robot. Although the robot does not accurately reach the point to be processed, the robot can still reach the target planning point corresponding to the point to be processed to ensure the accuracy of the robot's arrival point. Thus, the target planning path is planned according to the target planning points corresponding to the determined points, and the accuracy of the target planning path is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1 is a flow chart of a path planning method provided by an embodiment of this specification;
[0032] Figure 2a It is a schematic diagram of a passing point before filtering an abnormal point provided by an embodiment of this specification;
[0033] Figure 2b It is a schematic diagram of a passing point after filtering abnormal points provided by an embodiment of this specification;
[0034] Figure 3 It is a schematic diagram of determining a target planning point provided by an embodiment of this specification;
[0035] Figure 4 It is a schematic diagram of generating a target planning path provided by an embodiment of this specification;
[0036] Figure 5 is a process flow chart of a path planning method provided by an embodiment of this specification;
[0037] Figure 6 is a schematic diagram of the structure of a path planning device provided by an embodiment of this specification;
[0038] Figure 7 is a flow chart of a point determination method provided by an embodiment of this specification;
[0039] Figure 8 is a schematic diagram of a point correction provided by an embodiment of this specification;
[0040] Fig. 9It is a structural schematic diagram of a point determination device provided by an embodiment of this specification;
[0041] Fig.10 It is a structural block diagram of a computing device provided by an embodiment of this specification. DETAILED DESCRIPTION
[0042] Many specific details are described in the following description to facilitate a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the connotation of this specification, so this specification is not limited to the specific implementation disclosed below.
[0043] The terms used in one or more embodiments of this specification are only for the purpose of describing specific embodiments, and are not intended to limit one or more embodiments of this specification. The singular forms of "a", "said" and "the" used in one or more embodiments of this specification and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.
[0044] It should be understood that although the terms first, second, etc. may be used to describe various information in one or more embodiments of this specification, this information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of this specification, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0045] In addition, 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 one or more embodiments of this specification 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 the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0046] First, the terms involved in one or more embodiments of this specification are explained.
[0047] Inspection robots are automated intelligent devices designed to perform regular or continuous monitoring and inspection tasks. They typically integrate a range of technologies, including but not limited to mobile carriers, communication equipment, detection sensors, machine vision, artificial intelligence, autonomous navigation and positioning systems, and remote data transmission capabilities.
[0048] Theta* algorithm: is an algorithm used for path planning. It is an extension of the A* algorithm and is mainly used to solve the "arbitrary angle" path planning problem on grid maps, which means that it can find the shortest path that is not limited to grid lines.
[0049] Grid map: A method of representing spatial data in which the geographic space is divided into regular unit grids (pixels). Each grid represents a specific area on the map and may contain corresponding attribute values, such as terrain height, land cover type, or travel cost.
[0050] Currently, inspection robots are used in many occasions. These inspection robots are designed to patrol, monitor, and inspect various environments and facilities in industrial facilities, building structures, or the energy industry to ensure their safety, normal operation, and maintenance. The inspection feature of the inspection robot is that it automatically plans the inspection path based on the pre-set scene mapping and inspection point settings. The inspection robot then automatically performs the inspection task along the inspection path, realizing efficient and accurate automated inspection. This ability to automatically plan the inspection path makes the inspection work more flexible, adaptable to different scenarios and needs, and can optimize the inspection path to save time and resources. For indoor inspection scenarios, the inspection robot needs to first map the inspection environment when deployed. Based on the mapping results, the staff can define the locations that the inspection robot needs to inspect and the corresponding inspection tasks that need to be completed on the map. These inspection locations and inspection tasks are arranged into a complete inspection process and executed sequentially when needed.
[0051] However, in actual applications, when the inspection robot is moving along the inspection path, sometimes the inspection points that need to be reached do not need to be accurately reached. For example, if the ambient temperature needs to be measured, the measurement value can be obtained within a certain range. In this case, path planning based on accurate inspection points will increase the inspection path length of the inspection robot, making it take a long time for the inspection robot to move along the planned inspection path, and consuming more energy of the inspection robot.
[0052] In this specification, a path planning method and a point determination method are provided. This specification also relates to a path planning device and a point determination device, a computing device, a computer-readable storage medium and a computer program product, which are described in detail one by one in the following embodiments.
[0053] See also Figure 1 , Figure 1 A flow chart of a path planning method provided according to an embodiment of the present specification is shown, which specifically includes the following steps:
[0054] Step 102: Obtain a target map of the target area, point information of each point in the target map, and an execution order between each point.
[0055] In a robot inspection scenario, before the inspection robot performs an inspection task, it is often necessary to plan in advance the inspection route that requires the inspection robot to reach the inspection point to perform the inspection task, so that the inspection robot can perform the corresponding inspection task according to the planned inspection route.
[0056] Among them, the target area refers to the area to be inspected where the inspection robot needs to perform the inspection task. For example, the target area can be an indoor environment to be inspected, an underwater environment to be inspected, and so on. The target map can specifically be a two-dimensional grid map of the target area, which can be directly used for subsequent path planning. The points in the target map refer to the inspection points that the inspection robot needs to inspect or the path points that need to be taken to reach the inspection points. The points in the target map can be obtained by manual marking. The execution order between the points is the inspection order between the points, that is, the arrival order that the inspection robot needs to arrive at each point in turn.
[0057] In practical applications, before performing path planning, it is necessary to ensure the quality and completeness of the target map to prevent any impact on path planning.
[0058] Based on this, in a specific implementation manner provided in this specification, obtaining a target map of a target area includes:
[0059] Get the original map of the target area;
[0060] Removing noise from the original map to obtain an initial map of the target area;
[0061] An abnormal area in the initial map is identified, and the abnormal area is corrected to obtain a target map of the target area.
[0062] The original map refers to the target map without preprocessing. The initial map refers to the map generated after denoising the original map. The abnormal area refers to the area with abnormalities in the initial map. For example, the initial map may have some discontinuous boundaries, and the part with discontinuous boundaries is the abnormal area in the initial map.
[0063] Specifically, after using laser radar, cameras and other devices to collect data on the target area, the SLAM (Simultaneous Localization and Mapping) algorithm can be used to construct and generate an original map of the target area. In order to improve the quality of the original map and avoid the impact of the quality problems of the original map on path planning, the original map can be preprocessed to obtain the target map, and then path planning can be performed based on the target map after data preprocessing. The noise in the original map can be identified and the original map can be denoised to obtain the initial map of the target area. The abnormal areas in the initial map are identified and the identified abnormal areas are corrected to obtain the target map of the target area.
[0064] Furthermore, in actual applications, there will be some areas in the target area that the inspection robot cannot reach. Therefore, after denoising the original map to obtain the initial map, no-entry lines can be drawn in the initial map. The areas outside the no-entry lines are areas that the inspection robot cannot reach.
[0065] Furthermore, in actual applications, some areas to be inspected (i.e., target areas) may be relatively large and complex. In this case, in order to reduce the time complexity of path planning, some waypoints may be set after setting the inspection points, and interspersed between the inspection points according to the execution order between the points. However, if too many waypoints are set, the planned inspection path may be longer. Therefore, if too many waypoints are set, the set waypoints may be filtered to prevent reducing the accuracy of the subsequently planned inspection path.
[0066] In a specific implementation manner provided in this specification, after identifying the abnormal area in the initial map and correcting the abnormal area, the method further includes:
[0067] Identifying at least one waypoint in the initial map to obtain a waypoint set;
[0068] Abnormal points in the set of route points are filtered to obtain a target map of the target area.
[0069] The passing point set refers to a set for storing set passing points, and the abnormal point refers to a passing point in the passing point set that needs to be filtered.
[0070] Specifically, after the abnormal area in the initial map is corrected, the inspection points that need to be inspected and the passing points for the auxiliary inspection robot to inspect can be set in the corrected initial map. After the inspection points and passing points are set, the passing points in the map are identified to obtain a set of passing points. Since in actual applications, passing points are often set based on manual methods, there may be unnecessary points in the set passing points, which will reduce the accuracy of the subsequently planned path. At this time, it is necessary to filter the obtained passing point set. In the case where it is necessary to filter the passing points in the passing point set, the filtering of the passing points in the passing point set can be completed by identifying the abnormal points in the passing point set and deleting the identified abnormal points from the passing point set. After the filtering of the passing points is completed, the target map can be obtained, and the target map can be used for subsequent path planning.
[0071] Furthermore, the specific implementation method of filtering the route points is as follows:
[0072] In a specific implementation provided in this specification, filtering abnormal points in the set of route points includes:
[0073] Obtaining the execution order between each necessary point and each path point in the initial map;
[0074] According to the execution order between each necessary point and each route point, determine the target point corresponding to the route point to be filtered, wherein the route point to be filtered is any route point in the route point set, and the target point is a necessary point or a non-abnormal point in the route point set;
[0075] Calculating the target sight distance between the target point and the path point to be filtered;
[0076] In the case where the target sight distance is abnormal, the to-be-filtered path point is determined to be an abnormal point, and the to-be-filtered path point is filtered from the path point set.
[0077] Among them, the must-pass point refers to the inspection point that the inspection robot must reach, that is, the inspection point where the inspection robot needs to complete the inspection task. The passing point to be filtered refers to any passing point in the passing point set. The target point refers to the previous point of the passing point to be filtered determined according to the execution order between the must-pass point and the passing point. The target point can specifically be a must-pass point or a passing point. The target line of sight distance refers to the line of sight distance between the target point and the passing point to be filtered.
[0078] Take point P1, point P2 and point P3 as examples to illustrate the determination of target points. For example, point P1 is a must-pass point, point P2 and point P3 are both waypoints, and the execution order between the three points is P1>P2>P3. If point P2 is determined to be a waypoint to be filtered, then according to the execution order between P1, P2, and P3, it can be determined that the target point corresponding to the waypoint P2 to be filtered is the must-pass point P1; if point P3 is determined to be a waypoint to be filtered, and point P2 is not filtered, then according to the execution order between P1, P2, and P3, it can be determined that the target point corresponding to the waypoint P3 to be filtered is the waypoint P2; if point P3 is determined to be a waypoint to be filtered, and point P2 has been filtered, then according to the execution order between P1 and P3, it can be determined that the target point corresponding to the waypoint P3 to be filtered is the must-pass point P1.
[0079] Specifically, the execution order between each necessary point and each way point is obtained, and for any way point in the way point set (i.e., the way point to be filtered), the target point corresponding to the way point to be filtered is determined according to the execution order between each necessary point and the way point, and the target sight distance between the target point and the way point to be filtered is calculated using the Line-of-Sight principle (line-of-sight transmission principle). If the calculated target sight distance is abnormal, that is, the target sight distance is not established, the way point to be filtered is determined as an abnormal point, and the way point to be filtered is filtered from the way point set; if the calculated target sight distance is not abnormal, that is, the target sight distance is established, the way point to be filtered is retained, and the next way point to be filtered is determined, and filtering continues until the filtering is completed.
[0080] See also Figure 2a , Figure 2a A schematic diagram of a path point before filtering abnormal points according to an embodiment of the present specification is shown. Figure 2a In the target area shown, there are the starting point and the ending point, as well as 17 other points ( Figure 2a The serial numbers 1-17 shown in represent the execution order between each point), and the 17 points include both necessary points and passing points. The matrix area shown in the target area is the area in the target area that the inspection robot cannot reach. Specifically, the passing points are identified among the 17 points to form a passing point set. For any passing point in the passing point set (taking point 1 as an example), the target point corresponding to point 1 is determined, that is, the starting point, and the target line of sight distance between point 1 and the starting point is calculated. If the target line of sight distance does not hold, point 1 is filtered as an abnormal point. If the target line of sight distance holds, point 1 is retained.
[0081] Further, see Figure 2b , Figure 2b A schematic diagram of a waypoint after filtering abnormal points according to an embodiment of the present specification is shown. Based on the above method for filtering the waypoints, Figure 2a By filtering at the intermediate points, you can get Figure 2b The schematic diagram of completing the filtering of passing points is shown.
[0082] After obtaining the target map of the target area, it is also necessary to obtain the point information of each point in the target map and the execution order between each point. The point information can specifically include the point location information and interval radius of the point, expressed as (u, v, r), where (u, v) is the pixel coordinate of the point and r is the interval radius of the point. It should be noted that each point does not include the starting point and the ending point.
[0083] The path planning method provided in this specification generates an original map of the target area before path planning, and performs pre-processing operations such as denoising and abnormal area correction on the original map to prevent the map from affecting subsequent path planning; after obtaining the corrected initial map, if the scope of the target area is large or complex, multiple waypoints can be set in the corrected initial map to reduce the time complexity of path planning; further, in order to avoid reducing the accuracy of path planning due to too many set waypoints, the set waypoints can also be filtered. After completing the filtering of the waypoints, a target map for subsequent path planning is generated to further improve the accuracy of subsequent path planning.
[0084] Step 104: determining a point to be processed in the target map, and determining a point type to be processed of the point to be processed according to the point information to be processed of the point to be processed, wherein the point to be processed is any one of the points.
[0085] In actual applications, there may be inspection points or passing points that do not need to be accurately reached by the inspection robot. For these points that do not need to be accurately reached, the range of arrival can be set to confirm whether the inspection robot has reached the point. For inspection points that need to be accurately reached by the inspection robot, there is no need to set the range that the inspection robot can reach.
[0086] Among them, the point to be processed refers to any one of the points in the target map. The point information to be processed refers to the point information of the point to be processed, and the point information to be processed includes the position information to be processed and the radius of the interval to be processed of the point to be processed; the point type to be processed is the point type of the point to be processed, and the point type specifically includes interval point or fixed point. Interval point refers to the point that the inspection robot does not need to reach accurately; fixed point refers to the point that the inspection robot needs to reach accurately.
[0087] Specifically, after the target map is acquired, the points to be processed are determined in the target map, and the point information to be processed of the points to be processed is acquired, so as to determine the point type to be processed of the points to be processed according to the point information to be processed.
[0088] In a specific implementation manner provided in this specification, determining the type of the to-be-processed point of the to-be-processed point according to the to-be-processed point information of the to-be-processed point includes:
[0089] In the to-be-processed point information, obtain the to-be-processed interval radius of the to-be-processed point;
[0090] When the radius of the to-be-processed interval is not zero, determining the to-be-processed point type of the to-be-processed point to be an interval point;
[0091] When the radius of the to-be-processed interval is zero, it is determined that the to-be-processed point type of the to-be-processed point is a fixed point.
[0092] The radius of the waiting interval refers to the radius of the waiting point. The radius of the waiting interval is used to characterize the accuracy of the inspection robot reaching the waiting point. The smaller the radius of the waiting interval, the higher the accuracy of the inspection robot reaching the waiting point.
[0093] Specifically, in the pending point information of the pending point, the pending point interval radius is obtained. If the pending interval radius is not zero, it means that the inspection robot does not need to accurately reach the pending point to perform the inspection task. At this time, the pending point type of the pending point is determined to be an interval point. If the pending interval radius is zero, it means that the inspection robot needs to accurately reach the pending point to perform the inspection task. At this time, the pending point type of the pending point is determined to be a fixed point.
[0094] Since there are points in the target map that do not need to be accurately reached by the inspection robot, and there are also points that need to be accurately reached by the inspection robot, the point location information obtained for each point is not necessarily the location that the inspection robot needs to reach. Based on this, after determining the type of the pending point to be processed, it is also necessary to re-determine the actual point corresponding to the pending point according to the type of the pending point to be processed, that is, the point that the inspection robot needs to reach, so that in the subsequent path planning process, path planning can be performed based on the re-determined actual point to improve the accuracy of path planning.
[0095] Step 106: When the type of the point to be processed is an interval point, the planned point and the point to be planned corresponding to the point to be processed are determined according to the execution order between the points, and the target planned point corresponding to the point to be processed is determined according to the planned point and the point to be planned.
[0096] Among them, the planned points and the points to be planned refer to the points used to assist in determining the target planned points corresponding to the points to be processed. The planned point refers to the previous point of the point to be processed determined according to the execution order between the points; the point to be planned refers to the next point of the point to be processed determined according to the execution order between the points. The target planned point refers to the actual planned point corresponding to the point to be processed during the path planning process.
[0097] Specifically, when the type of the to-be-processed point of the to-be-processed point is determined to be an interval point, it means that the inspection robot does not need to reach the to-be-processed point accurately. Therefore, the target planning point corresponding to the to-be-processed point can be determined within a certain range interval. In order to improve the accuracy of the determined target planning point, before determining the target planning point, the planned points and the to-be-planned points used to assist in determining the target planning point can be determined first, that is, the planned points and the to-be-planned points corresponding to the to-be-processed point. In actual applications, according to the execution order between the points, the previous point of the to-be-processed point is determined as the planned point corresponding to the to-be-processed point, and the next point of the to-be-processed point is determined as the to-be-planned point of the to-be-processed point. Then, based on the planned points and the to-be-planned points, the target planning point corresponding to the to-be-processed point is determined.
[0098] After determining the planned points and the points to be planned corresponding to the points to be processed, the to-be-processed position interval of the points to be processed can be selected according to the planned points and the points to be planned, so as to determine the target planned point corresponding to the points to be processed within the to-be-processed position interval.
[0099] Based on this, in a specific implementation manner provided in this specification, determining a target planning point corresponding to the to-be-processed point according to the planned point and the to-be-planned point includes:
[0100] Acquire the planned point information of the planned point and the to-be-planned point information of the to-be-planned point;
[0101] Acquire the planned position information of the planned point in the planned point information, acquire the to-be-planned position information of the to-be-planned point in the to-be-planned point information, and acquire the to-be-processed position information and the to-be-processed interval radius of the to-be-processed point in the to-be-processed point information;
[0102] Determine the position interval to be processed of the point to be processed according to the position information to be processed and the radius of the interval to be processed;
[0103] According to the planned position information, the to-be-planned position information and the to-be-processed position information, a target planned point corresponding to the to-be-processed point is determined in the to-be-processed position interval.
[0104] Among them, the planned point information refers to the point information of the planned point, including the planned position information and the planned interval radius of the planned point; the to-be-planned point information refers to the point information of the to-be-planned point, including the to-be-planned position information and the to-be-planned interval radius of the to-be-planned point. The planned position information is specifically the pixel coordinates of the planned point; the to-be-planned position information is specifically the pixel coordinates of the to-be-planned point. The to-be-processed position information is specifically the pixel coordinates of the to-be-processed point. The to-be-processed position interval is used to determine the target planned point corresponding to the to-be-processed point.
[0105] Specifically, after determining the planned points and the points to be planned corresponding to the points to be processed, obtain the planned point information of the planned points and the to-be-planned point information of the points to be planned. And obtain the planned position information of the planned points in the planned point information, obtain the to-be-planned position information of the points to be planned in the to-be-planned point information, and obtain the to-be-processed position information and the to-be-processed interval radius of the points to be processed in the to-be-processed point information. According to the to-be-processed position information and the to-be-processed interval radius, determine the to-be-processed position interval of the points to be processed, so as to determine the target planned point corresponding to the points to be processed in the to-be-processed position interval according to the planned position information of the planned points, the to-be-planned position information of the points to be planned, and the to-be-processed position information of the points to be processed.
[0106] Furthermore, the implementation method of determining the to-be-processed position interval of the to-be-processed point is specifically as follows:
[0107] In a specific implementation manner provided in this specification, determining the to-be-processed position interval of the to-be-processed point according to the to-be-processed position information and the to-be-processed interval radius includes:
[0108] Determine the center of the circle to be processed according to the position information to be processed, and generate a circle to be processed according to the center of the circle to be processed and the radius of the interval to be processed;
[0109] Determine the range interval of the circle to be processed as the position interval to be processed of the point to be processed.
[0110] Specifically, after determining the position information of the point to be processed (i.e., the pixel coordinates of the point to be processed) and the radius of the interval to be processed, a circle corresponding to the point to be processed (i.e., the circle to be processed) is generated with the pixel coordinates of the point to be processed as the center of the circle (i.e., the center of the circle to be processed) and the radius of the interval to be processed as the radius, and the range interval corresponding to the generated circle is determined as the position interval to be processed of the point to be processed.
[0111] Furthermore, the implementation method of determining the target planning point corresponding to the to-be-processed point in the to-be-processed position interval is specifically as follows:
[0112] In a specific implementation provided in this specification, according to the planned position information, the to-be-planned position information and the to-be-processed position information, determining the target planned point corresponding to the to-be-processed point in the to-be-processed position interval includes:
[0113] Generate a planning line to be processed according to the planned position information and the to-be-planned position information;
[0114] Generate a vertical line from the point to be processed to the planned line to be processed according to the position information to be processed;
[0115] The intersection of the vertical line to be processed and the circle to be processed is determined as the target planning point corresponding to the point to be processed.
[0116] The planned line to be processed refers to the line between the planned point and the point to be planned. The vertical line to be processed refers to the vertical line from the point to be processed to the planned line to be processed.
[0117] Specifically, based on the acquired planned position information and the position information to be planned, a line between the planned point and the point to be planned, i.e., the planned line to be processed, is generated; based on the position information to be processed, a perpendicular line from the point to be processed to the planned line to be processed, i.e., the perpendicular line to be processed, is generated. At this time, there will be an intersection between the perpendicular line to be processed and the circle to be processed, and the intersection between the perpendicular line to be processed and the circle to be processed is determined as the target planned point corresponding to the point to be processed.
[0118] It should be noted that since the planned point is the previous point of the point to be processed, the planned point is the target planned point corresponding to the previous point. In practical applications, the planned point may be an interval point or a fixed point. When the planned point is an interval point, the planned location information of the planned point is the location information of the re-determined target planned point; when the planned point is a fixed point, the planned location information of the planned point is the original location information.
[0119] Since the point to be planned is the next point of the point to be processed, the target planning point corresponding to the point to be planned has not yet been determined. At this time, no matter whether the point to be planned is an interval point or a fixed point, the position information to be planned of the point to be planned is the original position information.
[0120] Further, the following combined Figure 3 The method of determining the target planning point when the processing point is an interval point is further explained. Figure 3 , Figure 3 FIG. 1 shows a schematic diagram of determining a target planning point according to an embodiment of the present specification. Figure 3As shown, point A, point B, point C and point D are used as examples for explanation, wherein the execution order among point A, point B, point C and point D is point A>point B>point C>point D, and the target planning points corresponding to point A and point B have been determined. The point to be processed is determined to be point C. According to the execution order among point A, point B, point C and point D, the planned point corresponding to point C is determined to be point B, and the point to be planned is point D. According to the location information of point B and point D, a to-be-processed planning line BD is generated between point B and point D. With point C as the center and the radius r of the to-be-processed interval of point C as the radius, the following is generated: Figure 3 According to the position information of point C, a vertical line CC' to be processed from point C to the planned line BD to be processed is generated, and the intersection C' of the vertical line CC' to be processed and the circle is determined as the target planning point corresponding to point C.
[0121] The path planning method provided in this specification can determine the pending position interval of the pending point through the pending position information of the pending point and the radius of the pending interval when the type of the pending point is an interval point, and determine the target planning point corresponding to the pending point in the pending position interval by determining the planned points and the to-be-planned points corresponding to the pending point. This achieves the situation where the inspection robot does not need to accurately reach the to-be-processed point, that is, the inspection robot can complete the inspection task within a certain range of the to-be-processed point, and determines the target planning point that can further shorten the subsequent path planning, thereby improving the accuracy of path planning and avoiding energy waste of the robot.
[0122] In actual applications, there may be inspection points or passing points that the inspection robot needs to reach accurately. For the inspection points that the inspection robot needs to reach accurately, there is no need to set the range that the inspection robot can reach. The specific implementation is as follows:
[0123] In the case where the type of the point to be processed is a fixed point, the point to be processed is determined to be a target planning point corresponding to the point to be processed.
[0124] If the type of the pending point to be processed is a fixed point, it means that the inspection robot needs to accurately reach the pending point to perform the inspection task. At this time, the pending point can be directly determined as the target planning point corresponding to the pending point.
[0125] Step 108: Generate a target planning path corresponding to the target map according to the starting point, the ending point and the target planning points corresponding to each point of the target map.
[0126] After the target planning points corresponding to each point in the target map are determined, path planning can be performed based on the starting point, the end point and the target planning points corresponding to each point to generate the target planning path corresponding to the target map. The implementation method is as follows:
[0127] In a specific implementation provided in this specification, generating a target planning path corresponding to the target map according to the starting point, the ending point and the target planning point corresponding to each point of the target map includes:
[0128] According to the execution order between the points, the planning points to be processed are determined in each target planning point;
[0129] Based on the path planning algorithm, calculate the planned path to be processed between the starting point and the planned point to be processed;
[0130] The pending planning point is determined as a new starting point, and the step of determining the pending planning point in each target planning point according to the execution order between the points is returned to execute until the determined pending planning point is the ending point, and the target planning path corresponding to the target map is generated.
[0131] In the robot inspection scenario, the inspection points that the inspection robot needs to reach and the order of the inspection tasks that need to be performed at the inspection points are set. After determining the starting point, the target planning point corresponding to each point, and the end point, the planning path between two adjacent points can be calculated starting from the starting point, and then the global planning path from the starting point to the end point, that is, the target planning path, is obtained.
[0132] The pending planning point refers to the next target planning point of the starting point determined according to the execution order between the points. The path planning algorithm is the algorithm used for path planning, which can be the Theta* algorithm, A* algorithm, etc. The pending planning path is the planned path between the starting point and the pending planning point calculated based on the path planning algorithm.
[0133] Specifically, after determining the target planning point corresponding to each point, determine the pending planning point of the starting point in each target planning point according to the execution order between each point (that is, the execution order between each determined target planning point), and calculate the pending planning path between the starting point and the pending planning path based on the path planning algorithm, such as the Theta* algorithm. Determine the pending planning point as the new starting point, and return to execute the step of determining the pending planning point in each target planning point according to the execution order between each point, until the determined pending planning point is the end point in the target map, then the path planning is completed, and the target planning path corresponding to the target map is generated.
[0134] See also Figure 4 , Figure 4 FIG. 1 shows a schematic diagram of generating a target planning path according to an embodiment of the present specification. Figure 4 As shown, starting from the starting point, calculate the starting point to point 1 ( Figure 4 The serial numbers shown in represent the execution order between the points) to be processed between the planned paths. Figure 4 Point 1 shown is an interval point, so the target planning point corresponding to point 1 is on the circle corresponding to point 1. When calculating the pending planning path between the starting point and point 1, it is only necessary to calculate the path to the circle corresponding to point 1 (that is, the target planning point corresponding to point 1), without calculating to point 1. That is, Figure 4 The sum of the planned path and the path to be planned shown in is the planned path to be processed between the starting point and point 1.
[0135] Since the calculation of the target planning path is completed in the target map (grid map), the position information corresponding to each target planning point, starting point and ending point are all pixel coordinates. At this time, the calculated target planning path cannot be directly used by the inspection robot. Therefore, in order to facilitate the inspection robot to directly move along the target planning path and perform inspection tasks, the pixel coordinates of each target planning point, starting point and ending point in the target planning path can be converted to obtain the corresponding two-dimensional plane coordinates.
[0136] Based on this, in a specific implementation manner provided in this specification, after generating the target planning path corresponding to the target map, the method further includes:
[0137] Converting the target pixel coordinates of each target planning point in the target planning path into target two-dimensional coordinates;
[0138] According to the first two-dimensional coordinates of the first planning point and the second two-dimensional coordinates of the second planning point, interpolation is performed between the first planning point and the second planning point to obtain at least one intermediate point, wherein the first planning point and the second planning point are any two adjacent points in each target planning point;
[0139] Based on each target planning point and each intermediate point, a plane planning path corresponding to the target planning path is generated.
[0140] Since the path calculated based on the path planning algorithm is the shortest path between two points, the target planning path is composed of multiple straight lines, and a straight line often only has information about two vertices, so it is necessary to further determine the intermediate point between each two target planning points.
[0141] The first planning point and the second planning point are any two adjacent points in each target planning point. The first two-dimensional coordinate is the two-dimensional coordinate of the first planning point, and the second two-dimensional coordinate is the two-dimensional coordinate of the second planning point. The intermediate point refers to any point between the first planning point and the second planning point in the target planning path. The plane planning path is the planning path in the two-dimensional plane coordinates obtained after the coordinate conversion of the target planning path.
[0142] Specifically, the target pixel coordinates of each target planning point in the target planning path are converted into corresponding target two-dimensional coordinates. For any two adjacent points in the target planning path, i.e., the first planning point and the second planning point, interpolation is performed between the first planning point and the second planning point according to the first two-dimensional coordinates of the first planning point and the second two-dimensional coordinates of the second planning point to obtain a plurality of intermediate points between the first planning point and the second planning point, so that the plane planning path corresponding to the target planning path can be generated based on each target planning point and each interpolated intermediate point.
[0143] In practical applications, since some target planning points or intermediate points may have sharp turns, the interpolated plane planning path can be smoothed to make the plane planning path smoother and more natural.
[0144] By converting the target pixel coordinates of each target planning point in the calculated target planning path into target two-dimensional coordinates under two-dimensional plane coordinates, interpolating between every two adjacent points, and smoothing the plane planning path after interpolation, the generated plane planning path can be directly used by the inspection robot to guide the inspection robot to reach each point in the target area to complete the inspection task.
[0145] It should be noted that the robot inspection scenario is only used as an example to explain the path planning method. The path planning method can also be applied to non-inspection scenarios, such as navigation scenarios that require the robot to continuously reach specified points.
[0146] The path planning method provided in this specification includes: obtaining a target map of a target area, point information of each point in the target map, and an execution order between each point; determining a point to be processed in the target map, and determining a type of the point to be processed according to the point information to be processed, wherein the point to be processed is any one of the points; when the type of the point to be processed is an interval point, determining a planned point and a point to be planned corresponding to the point to be processed according to the execution order between the points, and determining a target planning point corresponding to the point to be processed according to the planned point and the point to be planned; generating a target planning path corresponding to the target map according to the starting point, the ending point, and the target planning point corresponding to each point of the target map.
[0147] One or more embodiments of this specification realize that each point in the target map is classified, specifically including interval points and fixed points, and the corresponding target planning points are determined according to different types of points. In the case where the point to be processed is an interval point, it is necessary to determine the planned points and the points to be planned corresponding to the point to be processed according to the execution order between the points, and further determine the target planning points according to the planned points and the points to be planned; in the case where the point to be processed is a fixed point, the point to be processed can be directly determined as the target planning point. After the corresponding target planning points are determined for each point in the target map, the target planning path is planned based on the target planning point. In the process of determining the target planning point, the corresponding target planning points are determined for the interval points and the fixed points respectively, which can not only shorten the planning path of the robot to the point that does not need to be accurately reached by the robot, but also improve the accuracy of the robot to the point that needs to be accurately reached by the robot. Thus, the target planning path is planned according to the target planning points corresponding to the determined points, and the accuracy of the target planning path is improved.
[0148] The following combination Figure 5 , taking the application of the path planning method provided in this specification in the robot inspection scenario as an example, the path planning method is further explained. Figure 5 A process flow chart of a path planning method provided by an embodiment of the present specification is shown, which specifically includes the following steps:
[0149] Step 502: Acquire an original grid map of the inspection area, remove noise in the original grid map, and obtain an initial grid map of the inspection area.
[0150] Step 504: Identify an abnormal area in the initial grid map, correct the abnormal area, and identify at least one waypoint in the initial grid map to obtain a waypoint set.
[0151] Step 506: Filter abnormal points in the set of route points to obtain a target grid map of the inspection area.
[0152] Step 508: Obtain the point information of each point in the target grid map and the execution order between each point.
[0153] Step 510: determining a point to be processed in the target grid map, and obtaining a radius of a to-be-processed interval of the point to be processed from the to-be-processed point information of the point to be processed.
[0154] Step 512: when the radius of the to-be-processed interval is not zero, determining the to-be-processed point type of the to-be-processed point to be an interval point.
[0155] Step 514: according to the execution order between the points, determine the planned points and the points to be planned corresponding to the point to be processed, and obtain the planned point information of the planned points and the points to be planned of the points to be planned.
[0156] Step 516: Obtain the to-be-processed position information of the to-be-processed point from the to-be-processed point information.
[0157] Step 518: Determine the center of the circle to be processed according to the position information to be processed, and generate a circle to be processed according to the center of the circle to be processed and the radius of the interval to be processed.
[0158] Step 520: Obtain the planned position information of the planned point from the planned point information, obtain the to-be-planned position information of the to-be-planned point from the to-be-planned point information, and generate a to-be-processed planning line according to the planned position information and the to-be-planned position information.
[0159] Step 522: Generate a vertical line from the point to be processed to the planned line to be processed according to the position information to be processed.
[0160] Step 524: Determine the intersection of the vertical line to be processed and the circle to be processed as the target planning point corresponding to the point to be processed.
[0161] Step 526: when the radius of the to-be-processed interval is zero, determining that the to-be-processed point type of the to-be-processed point is a fixed point, and determining that the to-be-processed point is a target planning point corresponding to the to-be-processed point.
[0162] Step 528: Determine the planning points to be processed in each target planning point according to the execution order between the points.
[0163] Step 530: Based on the path planning algorithm, calculate the planned path to be processed between the starting point and the planned point to be processed.
[0164] Step 532: Determine the pending planning point as the new starting point, and return to execute the step of determining the pending planning point in each target planning point according to the execution order between the points, until the determined pending planning point is the ending point, and generate the target planning path corresponding to the target grid map.
[0165] Step 534: converting the target pixel coordinates of each target planning point in the target planning path into target two-dimensional coordinates.
[0166] Step 536: According to the first two-dimensional coordinates of the first planning point and the second two-dimensional coordinates of the second planning point, interpolate between the first planning point and the second planning point to obtain at least one intermediate point, wherein the first planning point and the second planning point are any two adjacent points in each target planning point.
[0167] Step 538: Based on each target planning point and each intermediate point, generate a plane planning path corresponding to the target planning path.
[0168] An embodiment of the present specification realizes the classification of each point in the target grid map, specifically including interval points and fixed points, and determines the corresponding target planning points according to different types of points. In the case where the point to be processed is an interval point, it is necessary to determine the planned points and the points to be planned corresponding to the point to be processed according to the execution order between the points, and further determine the target planning points according to the planned points and the points to be planned; in the case where the point to be processed is a fixed point, the point to be processed can be directly determined as the target planning point. After the corresponding target planning points are determined for each point in the target grid map, the target planning path is planned based on the target planning points. For the points that the robot does not need to reach accurately, the planning path of the robot reaching the point can be shortened, and for the points that the robot needs to reach accurately, the accuracy of the robot reaching the point can be improved. Thus, the target planning path is planned according to the target planning points corresponding to each point, and the accuracy of the target planning path is improved.
[0169] Corresponding to the above method embodiment, this specification also provides a path planning device embodiment, Figure 6 FIG. 1 shows a schematic diagram of the structure of a path planning device provided by an embodiment of the present specification. Figure 6 As shown, the device comprises:
[0170] An acquisition module 602 is configured to acquire a target map of a target area, point information of each point in the target map, and an execution order between each point;
[0171] The type determination module 604 is configured to determine a point to be processed in the target map, and determine the point type of the point to be processed according to the point information of the point to be processed, wherein the point to be processed is any one of the points;
[0172] The point determination module 606 is configured to determine, when the type of the point to be processed is an interval point, the planned point and the to-be-planned point corresponding to the point to be processed according to the execution order between the points, and determine the target planned point corresponding to the point to be processed according to the planned point and the to-be-planned point;
[0173] The generation module 608 is configured to generate a target planning path corresponding to the target map according to the starting point, the ending point and the target planning points corresponding to each point of the target map.
[0174] Optionally, the type determination module 604 is further configured to:
[0175] In the to-be-processed point information, obtain the to-be-processed interval radius of the to-be-processed point;
[0176] When the radius of the to-be-processed interval is not zero, determining the to-be-processed point type of the to-be-processed point to be an interval point;
[0177] When the radius of the to-be-processed interval is zero, it is determined that the to-be-processed point type of the to-be-processed point is a fixed point.
[0178] Optionally, the point determination module 606 is further configured to:
[0179] Acquire the planned point information of the planned point and the to-be-planned point information of the to-be-planned point;
[0180] Acquire the planned position information of the planned point in the planned point information, acquire the to-be-planned position information of the to-be-planned point in the to-be-planned point information, and acquire the to-be-processed position information and the to-be-processed interval radius of the to-be-processed point in the to-be-processed point information;
[0181] Determine the position interval to be processed of the point to be processed according to the position information to be processed and the radius of the interval to be processed;
[0182] According to the planned position information, the to-be-planned position information and the to-be-processed position information, a target planned point corresponding to the to-be-processed point is determined in the to-be-processed position interval.
[0183] Optionally, the point determination module 606 is further configured to:
[0184] Determine the center of the circle to be processed according to the position information to be processed, and generate a circle to be processed according to the center of the circle to be processed and the radius of the interval to be processed;
[0185] Determine the range interval of the circle to be processed as the position interval to be processed of the point to be processed.
[0186] Optionally, the point determination module 606 is further configured to:
[0187] Generate a planning line to be processed according to the planned position information and the to-be-planned position information;
[0188] Generate a vertical line from the point to be processed to the planned line to be processed according to the position information to be processed;
[0189] The intersection of the vertical line to be processed and the circle to be processed is determined as the target planning point corresponding to the point to be processed.
[0190] Optionally, the device further includes a fixed planning point determination module, which is configured to:
[0191] In the case where the type of the point to be processed is a fixed point, the point to be processed is determined to be a target planning point corresponding to the point to be processed.
[0192] Optionally, the generating module 608 is further configured to:
[0193] According to the execution order between the points, the planning points to be processed are determined in each target planning point;
[0194] Based on the path planning algorithm, calculate the planned path to be processed between the starting point and the planned point to be processed;
[0195] The pending planning point is determined as a new starting point, and the step of determining the pending planning point in each target planning point according to the execution order between the points is returned to execute until the determined pending planning point is the ending point, and the target planning path corresponding to the target map is generated.
[0196] Optionally, the device further comprises a coordinate conversion module configured to:
[0197] Converting the target pixel coordinates of each target planning point in the target planning path into target two-dimensional coordinates;
[0198] According to the first two-dimensional coordinates of the first planning point and the second two-dimensional coordinates of the second planning point, interpolation is performed between the first planning point and the second planning point to obtain at least one intermediate point, wherein the first planning point and the second planning point are any two adjacent points in each target planning point;
[0199] Based on each target planning point and each intermediate point, a plane planning path corresponding to the target planning path is generated.
[0200] Optionally, the acquisition module 602 is further configured to:
[0201] Get the original map of the target area;
[0202] Removing noise from the original map to obtain an initial map of the target area;
[0203] An abnormal area in the initial map is identified, and the abnormal area is corrected to obtain a target map of the target area.
[0204] Optionally, the device further comprises a filtering module configured to:
[0205] Identifying at least one waypoint in the initial map to obtain a waypoint set;
[0206] Abnormal points in the set of route points are filtered to obtain a target map of the target area.
[0207] Optionally, the filtering module is further configured to:
[0208] Obtaining the execution order between each necessary point and each path point in the initial map;
[0209] According to the execution order between each necessary point and each route point, determine the target point corresponding to the route point to be filtered, wherein the route point to be filtered is any route point in the route point set, and the target point is a necessary point or a non-abnormal point in the route point set;
[0210] Calculating the target sight distance between the target point and the path point to be filtered;
[0211] In the case where the target sight distance is abnormal, the to-be-filtered path point is determined to be an abnormal point, and the to-be-filtered path point is filtered from the path point set.
[0212] The path planning device provided in the present specification includes: an acquisition module, configured to acquire a target map of a target area, point information of each point in the target map, and an execution order between each point; a type determination module, configured to determine a point to be processed in the target map, and determine the type of the point to be processed of the point to be processed according to the point to be processed information of the point to be processed, wherein the point to be processed is any one of the points; the point determination module, configured to determine the planned point and the point to be planned corresponding to the point to be processed according to the execution order between each point when the type of the point to be processed is an interval point, and determine the target planning point corresponding to the point to be processed according to the planned point and the point to be planned; a generation module, configured to generate a target planning path corresponding to the target map according to the starting point, the ending point, and the target planning point corresponding to each point of the target map.
[0213] An embodiment of this specification realizes that each point in the target map is classified, specifically including interval points and fixed points, and the corresponding target planning points are determined according to different types of points. In the case where the point to be processed is an interval point, it is necessary to determine the planned points and the points to be planned corresponding to the point to be processed according to the execution order between the points, and further determine the target planning points according to the planned points and the points to be planned; in the case where the point to be processed is a fixed point, the point to be processed can be directly determined as the target planning point. After the corresponding target planning points are determined for each point in the target map, the target planning path is planned based on the target planning points. In the process of determining the target planning points, the corresponding target planning points are determined for the interval points and the fixed points, respectively, which can not only shorten the planning path of the robot to the points that the robot does not need to reach accurately, but also improve the accuracy of the robot to the points that the robot needs to reach accurately. Thus, the target planning path is planned according to the target planning points corresponding to the determined points, and the accuracy of the target planning path is improved.
[0214] The above is a schematic scheme of a path planning device of this embodiment. It should be noted that the technical scheme of the path planning device and the technical scheme of the path planning method described above are of the same concept, and the details not described in detail in the technical scheme of the path planning device can be found in the description of the technical scheme of the path planning method described above.
[0215] See also Figure 7 , Figure 7 A flow chart of a method for determining a point position according to an embodiment of the present specification is shown, which specifically includes the following steps:
[0216] Step 702: receiving a point determination instruction for a point to be processed, wherein the point determination instruction carries the point information to be processed, the planned point information of the point to be processed, and the point information to be planned.
[0217] Wherein, the point determination method is applied to the server. The point determination instruction refers to an instruction generated by the target terminal for generating a target planning point for the point to be processed, or an instruction for correcting the initial planning point of the point to be processed and generating a target planning point. The point to be processed refers to any point that needs to generate a target planning point or any point that needs to correct the initial planning point and generate a target planning point. Planned point information refers to the point information of the planned point corresponding to the point to be processed, which may specifically include the planned position information and the planned interval radius of the planned point. The point information to be planned refers to the point information of the point to be planned corresponding to the point to be processed, which may specifically include the to-be-planned position information and the to-be-planned interval radius of the point to be planned.
[0218] Specifically, the server can obtain the to-be-processed point information of the to-be-processed point, the planned point information of the to-be-processed point, and the to-be-planned point information of the to-be-processed point by receiving the point determination instruction sent by the target terminal.
[0219] Step 704: Determine the radius of the to-be-processed interval of the to-be-processed point in the to-be-processed point information, and determine the to-be-processed position interval of the to-be-processed point according to the to-be-processed interval radius.
[0220] Step 706: Determine a target planned point corresponding to the to-be-processed point in the to-be-processed position interval according to the to-be-processed point information, the planned point information and the to-be-planned point information.
[0221] Step 708: Determine the target location information of the target planning point, and send the target location information to the target terminal.
[0222] The target location information refers to the location information of the generated target planning point. After determining the target planning point corresponding to the point to be processed, the server determines the target location information of the target planning point and sends the target location information to the target terminal so that the target terminal can know the location information of the target planning point.
[0223] See also Figure 8 , Figure 8 FIG. 2 shows a schematic diagram of a point position correction according to an embodiment of the present specification. Figure 8 As shown, point A, point B, point C and point D are used as examples for explanation, where the target planning points corresponding to point A and point B have been determined, point C is the point to be processed, and point C1 is the initial planning point of the point to be processed C. Figure 8 It can be seen that the initial planning point C1 cannot make the planned path from point B to point C and then to point D reach a better optimization. Therefore, the initial planning point of the processing point C needs to be corrected.
[0224] Through the point determination instruction sent by the target terminal, the planned point corresponding to point C is determined to be point B, and the point to be planned is point D. According to the position information of point B and point D, the pending planning line BD between point B and point D is generated, and according to the position information of point C, the pending vertical line CC2 from point C to the pending planning line BD is generated, and the intersection C2 of the pending vertical line CC2 and the circle is determined as the target planning point corresponding to point C, thereby completing the correction of the initial planning point C1. After determining the target position information of the target planning point C2, the target position information of the target planning point C2 is sent to the target terminal.
[0225] It should be noted that the specific implementation process of the point determination method is similar to the implementation process of determining the target planning point corresponding to the point to be processed in the above-mentioned path planning method. The specific implementation process of the point determination method can be referred to the implementation process of determining the target planning point corresponding to the point to be processed in the above-mentioned path planning method, and this specification will not repeat it here.
[0226] The point determination method provided in this manual can determine the target planned point corresponding to the point to be processed through the planned point information and the point information to be planned of the point to be processed, for the points that the robot does not need to reach accurately, thereby improving the accuracy of determining the target planned point and shortening the planned path for the robot to reach the point to be processed.
[0227] Corresponding to the above method embodiment, this specification also provides a point determination device embodiment, Fig. 9 FIG. 2 shows a schematic diagram of a point position determination device provided by an embodiment of the present specification. Fig. 9 As shown, the device comprises:
[0228] The receiving module 902 is configured to receive a point determination instruction for a point to be processed, wherein the point determination instruction carries the point information to be processed of the point to be processed, the planned point information of the point to be processed, and the point information to be planned;
[0229] The interval determination module 904 is configured to determine the radius of the to-be-processed interval of the to-be-processed point in the to-be-processed point information, and determine the to-be-processed position interval of the to-be-processed point according to the to-be-processed interval radius;
[0230] The point determination module 906 is configured to determine the target planned point corresponding to the to-be-processed point in the to-be-processed position interval according to the to-be-processed point information, the planned point information and the to-be-planned point information;
[0231] The sending module 908 is configured to determine the target location information of the target planning point and send the target location information to the target terminal.
[0232] The point determination device provided in this manual can determine the target planned point corresponding to the point to be processed through the planned point information of the point to be processed and the information of the point to be planned, for the point that the robot does not need to reach accurately, thereby improving the accuracy of determining the target planned point and shortening the planned path of the robot to reach the point to be processed.
[0233] The above is a schematic scheme of a point determination device of this embodiment. It should be noted that the technical scheme of the point determination device and the technical scheme of the above-mentioned point determination method belong to the same concept, and the details not described in detail in the technical scheme of the point determination device can be referred to the description of the technical scheme of the above-mentioned point determination method.
[0234] Fig.10 The structure block diagram of a computing device 1000 provided according to an embodiment of the present specification is shown. The components of the computing device 1000 include but are not limited to a memory 1010 and a processor 1020. The processor 1020 is connected to the memory 1010 via a bus 1030, and the database 1050 is used to store data.
[0235] The computing device 1000 also includes an access device 1040 that enables the computing device 1000 to communicate via one or more networks 1060. Examples of these networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. The access device 1040 may include one or more of any type of network interface (e.g., a network interface card (NIC)) of wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a world-wide interoperability for microwave access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, a near field communication (NFC) interface, and the like.
[0236] In one embodiment of the present specification, the above components of the computing device 1000 and Fig.10 Other components not shown in the figure may also be connected to each other, for example, via a bus. It should be understood that Fig.10 The computing device structure block diagram shown is only for the purpose of illustration, and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.
[0237] The computing device 1000 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook, etc.), a mobile phone (e.g., a smart phone), a wearable computing device (e.g., a smart watch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or a personal computer (PC). The computing device 1000 may also be a mobile or stationary server.
[0238] Among them, when the processor 1020 executes the computer program / instructions, the steps of the path planning method or the point determination method are implemented.
[0239] The above is a schematic scheme of a computing device of this embodiment. It should be noted that the technical scheme of the computing device and the technical scheme of the above-mentioned path planning method or point determination method belong to the same concept, and the details not described in detail in the technical scheme of the computing device can be referred to the description of the technical scheme of the above-mentioned path planning method or point determination method.
[0240] An embodiment of the present specification further provides a computer-readable storage medium storing a computer program / instruction, which implements the steps of the path planning method or point determination method as described above when the computer program / instruction is executed by a processor.
[0241] The above is a schematic scheme of a computer-readable storage medium of this embodiment. It should be noted that the technical scheme of the storage medium and the technical scheme of the above-mentioned path planning method or point determination method belong to the same concept, and the details not described in detail in the technical scheme of the storage medium can be referred to the description of the technical scheme of the above-mentioned path planning method or point determination method.
[0242] An embodiment of the present specification also provides a computer program product, including a computer program / instruction, which implements the steps of the above-mentioned path planning method or point determination method when executed by a processor.
[0243] The above is a schematic scheme of a computer program product of this embodiment. It should be noted that the technical scheme of the computer program product and the technical scheme of the above-mentioned path planning method or point determination method belong to the same concept, and the details not described in detail in the technical scheme of the computer program product can be referred to the description of the technical scheme of the above-mentioned path planning method or point determination method.
[0244] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0245] The computer program / instruction includes a computer program code, which may be in source code form, object code form, executable file or some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium, etc.
[0246] It should be noted that, for the convenience of description, the aforementioned method embodiments are all described as a series of action combinations, but those skilled in the art should be aware that this specification is not limited by the order of the actions described, because according to this specification, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by this specification.
[0247] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0248] The preferred embodiments of this specification disclosed above are only used to help explain this specification. The optional embodiments do not describe all the details in detail, nor do they limit the invention to only the specific implementation methods described. Obviously, many modifications and changes can be made according to the content of this specification. This specification selects and specifically describes these embodiments in order to better explain the principles and practical applications of this specification, so that technicians in the relevant technical field can well understand and use this specification. This specification is limited only by the claims and their full scope and equivalents.
Claims
1. A path planning method, characterized in that: include: Obtaining a target map of a target area, point information of each point in the target map, and an execution order between the points; Determine a point to be processed in the target map, and determine a point type to be processed of the point to be processed according to the point information to be processed of the point to be processed, wherein the point to be processed is any one of the points; In the case where the type of the point to be processed is an interval point, the planned point and the to-be-planned point corresponding to the point to be processed are determined according to the execution order between the points, and the planned point information of the planned point and the to-be-planned point information of the to-be-planned point are obtained; the planned position information of the planned point is obtained from the planned point information, the to-be-planned position information of the point to be planned is obtained from the to-be-planned point information, and the to-be-processed position information and the to-be-processed interval radius of the point to be processed are obtained from the to-be-processed point information; the to-be-processed position interval of the point to be processed is determined according to the to-be-processed position information and the to-be-processed interval radius; according to the planned position information, the to-be-planned position information and the to-be-processed position information, the target planned point corresponding to the point to be processed is determined in the to-be-processed position interval; A target planning path corresponding to the target map is generated according to the starting point, the ending point and the target planning points corresponding to each point of the target map.
2. The method according to claim 1, characterized in that Determining the type of the to-be-processed point of the to-be-processed point according to the to-be-processed point information of the to-be-processed point includes: In the to-be-processed point information, obtain the to-be-processed interval radius of the to-be-processed point; When the radius of the to-be-processed interval is not zero, determining the to-be-processed point type of the to-be-processed point to be an interval point; When the radius of the to-be-processed interval is zero, it is determined that the to-be-processed point type of the to-be-processed point is a fixed point.
3. The method according to claim 1, characterized in that Determining the to-be-processed position interval of the to-be-processed point according to the to-be-processed position information and the to-be-processed interval radius includes: Determine the center of the circle to be processed according to the position information to be processed, and generate a circle to be processed according to the center of the circle to be processed and the radius of the interval to be processed; Determine the range interval of the circle to be processed as the position interval to be processed of the point to be processed.
4. The method according to claim 3, characterized in that Determining a target planning point corresponding to the to-be-processed point in the to-be-processed position interval according to the planned position information, the to-be-planned position information, and the to-be-processed position information, includes: Generate a planning line to be processed according to the planned position information and the to-be-planned position information; Generate a vertical line from the point to be processed to the planned line to be processed according to the position information to be processed; The intersection of the vertical line to be processed and the circle to be processed is determined as the target planning point corresponding to the point to be processed.
5. The method according to claim 1, characterized in that The method further comprises: In the case where the type of the point to be processed is a fixed point, the point to be processed is determined to be a target planning point corresponding to the point to be processed.
6. The method according to claim 1, characterized in that According to the starting point, the ending point and the target planning point corresponding to each point of the target map, a target planning path corresponding to the target map is generated, including: According to the execution order between the points, the planning points to be processed are determined in each target planning point; Based on the path planning algorithm, calculate the planned path to be processed between the starting point and the planned point to be processed; The pending planning point is determined as a new starting point, and the step of determining the pending planning point in each target planning point according to the execution order between the points is returned to execute until the determined pending planning point is the ending point, and the target planning path corresponding to the target map is generated.
7. The method according to claim 1 or 6, characterized in that After generating the target planning path corresponding to the target map, the method further includes: Converting the target pixel coordinates of each target planning point in the target planning path into target two-dimensional coordinates; According to the first two-dimensional coordinates of the first planning point and the second two-dimensional coordinates of the second planning point, interpolation is performed between the first planning point and the second planning point to obtain at least one intermediate point, wherein the first planning point and the second planning point are any two adjacent points in each target planning point; Based on each target planning point and each intermediate point, a plane planning path corresponding to the target planning path is generated.
8. The method according to claim 1, characterized in that Get a target map of the target area, including: Get the original map of the target area; Removing noise from the original map to obtain an initial map of the target area; An abnormal area in the initial map is identified, and the abnormal area is corrected to obtain a target map of the target area.
9. The method according to claim 8, characterized in that After identifying the abnormal area in the initial map and correcting the abnormal area, the method further includes: Identifying at least one waypoint in the initial map to obtain a waypoint set; Abnormal points in the set of route points are filtered to obtain a target map of the target area.
10. The method according to claim 9, characterized in that Filtering abnormal points in the set of route points includes: Obtaining the execution order between each necessary point and each path point in the initial map; According to the execution order between each necessary point and each route point, determine the target point corresponding to the route point to be filtered, wherein the route point to be filtered is any route point in the route point set, and the target point is a necessary point or a non-abnormal point in the route point set; Calculating the target sight distance between the target point and the path point to be filtered; In the case where the target sight distance is abnormal, the to-be-filtered path point is determined to be an abnormal point, and the to-be-filtered path point is filtered from the path point set.
11. A path planning device, characterized in that: include: An acquisition module is configured to acquire a target map of a target area, point information of each point in the target map, and an execution order between each point; A type determination module is configured to determine a point to be processed in the target map, and determine a point type to be processed of the point to be processed according to the point information to be processed of the point to be processed, wherein the point to be processed is any one of the points; The point determination module is configured to determine the planned points and the to-be-planned points corresponding to the to-be-processed points according to the execution order between the points when the type of the to-be-processed point is an interval point, obtain the planned point information of the planned points and the to-be-planned point information of the to-be-planned points; obtain the planned position information of the planned points in the planned point information, obtain the to-be-planned position information of the to-be-planned points in the to-be-planned point information, obtain the to-be-processed position information and the to-be-processed interval radius of the to-be-processed points in the to-be-processed point information; determine the to-be-processed position interval of the to-be-processed points according to the to-be-processed position information and the to-be-processed interval radius; determine the target planned point corresponding to the to-be-processed points in the to-be-processed position interval according to the planned position information, the to-be-planned position information and the to-be-processed position information; The generation module is configured to generate a target planning path corresponding to the target map according to the starting point, the ending point and the target planning points corresponding to each point of the target map.
12. A computing device comprising: Memory and processor; The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions. It is characterized in that when the computer program / instructions are executed by the processor, the steps of the method described in any one of claims 1 to 10 are implemented.
13. A computer-readable storage medium storing a computer program / instruction, characterized in that: When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.
14. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.
Citation Information
Patent Citations
Route planning method and route planning system
CN110440824A
Path planning method and device, robot and storage medium
CN111780775A