Path optimization method and device and storage medium

By identifying key point types in the path of the cleaning robot and applying the corresponding update strategy, combined with the current position of the robot and the end of the path, path optimization processing is performed to solve the problem of path instability caused by obstacles and turning points of the cleaning robot, and improve the path feasibility and reliability.

CN119336020APending Publication Date: 2025-01-21KEENON ROBOTICS CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411439956.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-15
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

During the cleaning process, the path of the cleaning robot may not be fully followed due to obstacles, flex points and other factors, resulting in problems such as lag and instability.

Method used

By determining the types of key points in the path (points to be offset and turning points), the corresponding update strategy is used to determine the target point, and the current position of the robot and the end of the path are used as control points to perform path optimization.

Benefits of technology

It effectively improves the feasibility and reliability of the path, allowing the robot to move more smoothly and accurately in actual operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119336020A_ABST
    Figure CN119336020A_ABST
Patent Text Reader

Abstract

The invention provides a path optimization method and device and a storage medium. The path optimization method comprises the steps of determining a point type of a first key point of a to-be-optimized path; the to-be-optimized path is determined according to the current position of the robot, and the point type of the key point comprises a to-be-deviated point and a break point; according to the point type of the first key point, adopting a corresponding updating strategy to determine a target point corresponding to the to-be-optimized path; taking the target point, the current position of the robot and the end point of the to-be-optimized path as control points; and according to the number of the control points, selecting a corresponding path optimization algorithm to carry out path optimization processing, and determining the optimized path as a target path. Thus, according to the types of the key points, the target points are determined by adopting the corresponding updating strategies, the control points are determined according to the target points, path optimization processing is carried out, the feasibility and reliability of the path can be effectively improved, and therefore the robot can act more stably and accurately in actual operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] In indoor cleaning scenarios, in order to ensure that the cleaning robot can clean efficiently according to the predetermined path, the robot control system will generate a cleaning route before the robot starts cleaning. The cleaning route is generally planned by the global planner, and the local planner tracks and adjusts it in real time during the actual operation of the robot. However, in actual operation, the robot may encounter situations where it cannot completely follow the predetermined route or makes a large turn, resulting in problems in the cleaning process.

[0003] Among them, this situation usually occurs due to the presence of obstacles, inflection points or other interference factors on the cleaning path, which causes the robot to become stuck or unstable during the cleaning process due to being too close to the obstacle or adjusting its direction drastically at the inflection point. Summary of the invention

[0004] In view of this, the purpose of the present application is to provide a path optimization method, device and storage medium. According to the type of key point, the corresponding update strategy is used to determine the target point, and the control point is determined and the path optimization processing is performed, which can effectively improve the feasibility and reliability of the path, so that the robot can move more smoothly and accurately in actual operation.

[0005] The present application provides a path optimization method, which includes:

[0006] Determine the point type of the first key point of the path to be optimized; the path to be optimized is determined according to the current position of the robot, and the point type of the key point includes a point to be offset and a turning point;

[0007] According to the point type of the first key point, a corresponding update strategy is adopted to determine a target point corresponding to the path to be optimized;

[0008] The target point, the current position of the robot and the end point of the path to be optimized are used as control points;

[0009] A corresponding path optimization algorithm is selected according to the number of control points to perform path optimization processing, and the optimized path is determined as the target path.

[0010] The present application also provides a path optimization device, which includes:

[0011] A first determination module is used to determine the point type of the first key point of the path to be optimized; the path to be optimized is determined according to the current position of the robot, and the point type of the key point includes a point to be offset and a turning point;

[0012] An updating module, used for determining a target point corresponding to the path to be optimized by adopting a corresponding updating strategy according to a point type of the first key point;

[0013] A second determination module is used to use the target point, the current position of the robot and the end point of the path to be optimized as control points;

[0014] The optimization module is used to select a corresponding path optimization algorithm according to the number of control points to perform path optimization processing, and determine the optimized path as the target path.

[0015] An embodiment of the present application also provides an electronic device, comprising: a processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor and the memory communicate through the bus, and when the machine-readable instructions are executed by the processor, the steps of the path optimization method as described above are performed.

[0016] An embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the path optimization method described above are executed.

[0017] An embodiment of the present application provides a path optimization method, device and storage medium, the path optimization method comprising: determining the point type of the first key point of the path to be optimized; the path to be optimized is determined according to the current position of the robot, and the point types of the key points include points to be offset and inflection points; according to the point type of the first key point, a corresponding update strategy is used to determine the target point corresponding to the path to be optimized; the target point, the current position of the robot and the end point of the path to be optimized are used as control points; according to the number of control points, a corresponding path optimization algorithm is selected to perform path optimization processing, and the optimized path is determined as the target path.

[0018] In this way, the present application can accurately identify the key positions that need to be optimized in the path by determining the type of key points, so that the subsequent path updates are more targeted, thereby improving the optimization efficiency. And according to the different types of key points, the corresponding update strategy is adopted. This method ensures that there can be flexible processing methods for different scenarios, making the path optimization more intelligent. Furthermore, the target point, the current position of the robot and the end point are introduced as control points to ensure that the path optimization takes into account multiple factors, improve the continuity and smoothness of the path, and enable the robot to reach the target with the optimal path. And according to the number of control points, the appropriate path optimization algorithm is selected to enhance the adaptability and versatility of the optimization method. Therefore, this solution can effectively improve the feasibility and reliability of the path, so that the robot can move more smoothly and accurately in actual operation.

[0019] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0021] Figure 1 A schematic diagram of the structure of a robot provided in an embodiment of the present application;

[0022] Figure 2 A flow chart of a path optimization method provided in an embodiment of the present application;

[0023] Figure 3 A schematic diagram of a path to be optimized provided in this application;

[0024] Figure 4 A schematic diagram of determining an update point corresponding to a point to be offset provided by the present application;

[0025] Figure 5 A schematic diagram of determining the update point corresponding to the inflection point provided by this application;

[0026] Figure 6 A schematic diagram of an optimized target path provided in this application;

[0027] Figure 7 A schematic diagram of another optimized target path provided in this application;

[0028] Figure 8One of the structural schematic diagrams of a path optimization device provided in an embodiment of the present application;

[0029] Fig. 9 A second structural diagram of a path optimization device provided in an embodiment of the present application;

[0030] Fig.10 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0031] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. The components of the embodiments of the present application usually described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, each other embodiment obtained by those skilled in the art without making creative work belongs to the scope of protection of the present application.

[0032] First, the application scenarios to which the present application is applicable are introduced. The present application is applied to the field of robots, specifically, the fields of cleaning robots, delivery robots, etc., and especially to commercial cleaning robots.

[0033] Here, taking the cleaning robot as an example, the present application is exemplified. The cleaning robot is designed to automatically complete the cleaning task of the target area. These robots have built-in artificial intelligence technology, can autonomously navigate and clean, effectively remove dust, debris and other debris on the ground, and can also realize the functions of mopping, wiping and even automatically cleaning the mop, which can effectively improve cleaning efficiency and convenience. Among them, commercial cleaning robots are designed for large public places such as shopping malls, hospitals, office buildings, etc.

[0034] For example, see Figure 1 , Figure 1 This is a schematic diagram of the structure of a robot provided in an embodiment of the present application. Figure 1 As shown, the robot includes: a main body 10; a mobile chassis 20 is arranged in the main body, and the mobile chassis 20 has a walking mechanism; a sensor 30, including a depth camera 310 and a laser radar 320, is installed on the main body 10 and is configured to detect the surrounding environment of the robot; a cleaning component 40 is used for cleaning; a processor is coupled with the walking mechanism and the sensor 30, and is configured to execute a control method such as edge cleaning of the robot.

[0035] The robot also includes an automatic charging port 50, an anti-collision sensor 60 and a light strip 70, a function controller that provides user operations, a bottom-level controller for map generation and path planning, a component controller that controls a mobile unit and an environmental detection unit, and a joint calibration system.

[0036] At least one turn signal unit may be provided at the bottom of the mobile chassis 20, and each turn signal unit includes at least one turn signal; the mobile unit is provided with at least two sets of drive wheels, and each set of drive wheels is located on one side of the mobile chassis 20; the element controller controls the travel speed of the drive wheels; and controls the turn signal in the turn signal unit to light up in a preset manner when the robot turns.

[0037] Specifically, among the driving wheels provided in the mobile unit, at least one group of driving wheels is used as the left driving wheel, and at least one group of driving wheels is used as the right driving wheel, and the left driving wheel and the right driving wheel are located on opposite sides of the mobile chassis 20. Optionally, the mobile unit may further include at least two groups of driven wheels, one group of driving wheels corresponding to one group of driven wheels, wherein at least one group of driven wheels is used as the left driven wheel, and at least one group of driven wheels is used as the right driven wheel, and the left driven wheel and the right driven wheel are used to assist the left driving wheel and the right driving wheel in driving the robot housing and the mobile chassis 20 to move, thereby reducing the load pressure of the driving wheels.

[0038] The robot provided by the embodiment of the present invention can alert pedestrians by controlling the turn signal light to be lit by the component controller when the robot turns.

[0039] On the basis of the above technical solution, optionally, when the speed difference of the driving wheels on both sides of the mobile chassis 20 is greater than a preset value, the component controller controls the turn signal in the turn signal unit to light up in a preset manner.

[0040] Optionally, the robot further includes a voice module, which is electrically connected to the component controller; when the robot turns, the component controller controls the voice module to issue a voice prompt message.

[0041] The joint calibration system is arranged in the robot device, and the joint calibration system includes a laser radar 320, wherein the laser radar 320 can rotate along a set plane so that the photoelectric receiving array of the laser radar 320 forms a scanning cylinder.

[0042] For example, the laser radar 320 can be set at the slit of the robot shell, so that it is easy to send out laser signals to detect surrounding objects. The laser radar 320 includes a photoelectric receiving array and a laser emitting unit array, so that when the laser radar 320 rotates along the set plane, the photoelectric receiving array can form a scanning cylinder, thereby increasing the scanning area, facilitating the acquisition of the details of the object shape, and avoiding the robot device from colliding with obstacles. If the laser radar 320 only includes a single photoelectric receiving unit and a single laser emitting unit, the laser radar 320 can only measure the object shape of a circle after rotating along the set plane, and cannot obtain the shape of complex objects in time, which is easy to cause collisions and endanger personal and property safety. Optionally, the set plane can be a horizontal plane, which is convenient for the robot device to detect objects during movement. In addition, other set planes can be selected according to user needs, such as a vertical plane, etc., which is not limited in this embodiment.

[0043] Research has found that in indoor cleaning scenarios, in order to ensure that the cleaning robot can clean efficiently along the predetermined path, the system will generate a cleaning route before the robot starts. The cleaning route is generally planned by the global planner, and the local planner tracks and adjusts it in real time during the actual operation of the robot. However, in actual operation, the robot may encounter situations where it cannot fully follow the predetermined cleaning route or makes a large turn, resulting in problems in the cleaning process.

[0044] Among them, this situation usually occurs due to the presence of obstacles, inflection points or other interference factors on the cleaning path, which causes the robot to become stuck or unstable during the cleaning process due to being too close to the obstacle or adjusting its direction drastically at the inflection point.

[0045] Based on this, the embodiments of the present application provide a path optimization method, device and storage medium. Through path optimization processing, the feasibility and reliability of the path can be effectively improved, so that the robot can move more smoothly and accurately in actual operation.

[0046] See also Figure 2 , Figure 2 A flow chart of a path optimization method provided in an embodiment of the present application. Figure 2 As shown in , the path optimization method provided by the embodiment of the present application includes:

[0047] S201, determining the point type of the first key point of the path to be optimized.

[0048] S202: According to the point type of the first key point, a corresponding update strategy is adopted to determine a target point corresponding to the path to be optimized.

[0049] S203: taking the target point, the current position of the robot and the end point of the path to be optimized as control points.

[0050] S204: Select a corresponding path optimization algorithm according to the number of control points to perform path optimization processing, and determine the optimized path as the target path.

[0051] Among them, the path to be optimized is determined according to the current position of the robot, and the point types of key points include points to be offset and inflection points. For example, the path to be optimized can determine the cleaning route within a certain distance that the robot will pass through as the path to be optimized based on the current position of the robot. There may be at least two types of key points, points to be offset and inflection points. Points to be offset may be points that need to be offset to avoid the robot being unable to reach or easily causing the robot to collide, such as points that are too close to obstacles. Inflection points can be path inflection points on the path to be optimized. Different types of key points can adopt different path optimization strategies to improve the pertinence of path optimization and the practicality of the optimized path.

[0052] The embodiment of the present application provides a path optimization method. First, the point type (such as an inflection point or an offset point) of the first key point of the path to be optimized is determined, which is conducive to more accurately determining the required optimization strategy; then, according to the point type of the first key point, a corresponding update strategy is used to determine the target point corresponding to the path to be optimized, and the type of the first key point is focused on updating the target point without considering the types of all key points on the path to be optimized. This can give priority to ensuring the reliability of the path that the robot is about to pass. After the update, subsequent key points may disappear after optimization, thereby improving the efficiency of path optimization; and because the path optimization method can run dynamically and in real time, if there are still key points on the optimized path, it can continue to be optimized, which is more adaptable to dynamic changes in the environment, and can enable the path optimization method to dynamically adapt to different scenarios and needs, so as to ensure that the optimization result is more practical and accurate; then, the target point, the current position of the robot and the end point of the path to be optimized are used as control points. By setting multiple control points, the current position of the robot and the end point of the path to be optimized are used as control points, which is conducive to the optimized path robot to be directly tracked and used from the current position, reducing the overshoot phenomenon, and also making the optimized path less deviated from the original path, which is convenient for the connection and tracking of subsequent paths, so that path optimization can consider more variables and improve the feasibility and reliability of the path; finally, according to the number of control points, the corresponding path optimization algorithm is selected for path optimization processing, and the optimized path is determined as the target path. The optimal algorithm can be selected under the path conditions of different complexities to ensure the efficiency and effect of path optimization.

[0053] Therefore, through the above steps, the path can be optimized efficiently, and the generated target path not only meets the current position and end point requirements of the robot, but also reduces the complexity of the path after optimization, thereby improving the efficiency and safety of robot navigation. Therefore, the above steps can provide intelligent, dynamic and efficient path optimization solutions in complex and changing environments, and improve the overall performance of the robot navigation system.

[0054] With respect to step S201, the path to be optimized may be updated and determined in real time according to the operating status of the robot.

[0055] In one embodiment of the present application, the path to be optimized is determined by the following steps: determining a first position point on a pre-planned global tracking path that is closest to the current position of the robot; starting from the first position point, intercepting an untraversed path of a preset length along the global tracking path to obtain the path to be optimized. The position point may be a path point obtained when the global tracking path is generated.

[0056] Here, the global tracking path refers to a pre-planned path in applications such as robot navigation or autonomous driving, which covers the entire route from the starting point to the end point. This path is usually generated by a path planning algorithm based on a map, and is intended to guide a robot or other mobile carrier from the starting point to the destination safely and efficiently.

[0057] In actual robot navigation systems, the global tracking path provides the robot's overall route. However, due to dynamic changes in the environment (such as sudden obstacles), the environment may be different from the environment when the map was built, and the global tracking path robot cannot accurately track; or, the global tracking path has a large angle inflection point, and the robot needs to adjust the angle too much when passing through, which can easily cause unstable operation; therefore, the robot also needs to adjust its local path in real time. At this time, it is necessary to determine the path to be optimized and optimize the path to ensure the robot's stable and efficient operation.

[0058] Among them, when determining the first position point on the pre-planned global tracking path that is closest to the current position of the robot, for example, it may include: determining the coordinates of the path points in the global tracking path and the coordinates of the current position of the robot; then, calculating the Euclidean distance of each path point in the global path of the current position of the robot, finding the nearest path point, and determining the point as the first position point.

[0059] The preset length may be adaptively set according to actual conditions. For example, the path to be optimized is a path extending 1 m backward from the first position point on the global tracking path.

[0060] For examples, see Figure 3 , Figure 3This is a schematic diagram of a path to be optimized provided in this application. Figure 3 As shown, according to the current position of the robot, a partial path is intercepted from the global planning path according to a preset length to determine the path to be optimized, and according to the movement of the robot, the path to be optimized will also be updated in real time.

[0061] In this way, by determining the first position point on the global tracking path that is closest to the current position of the robot, and starting from the closest first position point, intercepting a preset length of untraversed path along the global tracking path, the accuracy of the path to be optimized is ensured. And this interception method makes the path to be optimized always based on the latest robot position, avoiding the influence of outdated paths and improving the accuracy of path planning. On the basis of the global path, local path optimization can better cope with dynamic changes in the environment, such as sudden obstacles, so that the robot can avoid obstacles more flexibly and stay on the optimal path. Therefore, this implementation method can significantly improve the real-time, accuracy, computational efficiency and safety of the robot navigation system, enabling it to perform tasks efficiently and reliably in complex environments.

[0062] Before executing step S201, the present application provides an implementation method, wherein the path optimization method further includes: determining whether the path to be optimized passes through an obstacle area; if so, executing an obstacle avoidance strategy; if not, performing key point extraction processing to determine the point type of the first key point of the path to be optimized.

[0063] Here, the obstacle area can be determined based on obstacle information in a target map (such as a grid map or an electronic map), and the obstacle information can be obtained based on real-time sensor mapping, static obstacle information saved in the mapping stage, and virtual walls.

[0064] When determining whether to pass through an obstacle area, the determination can be made by detecting the intersection of the path and the obstacle area. For example, map data and a path planning algorithm can be used to check whether each point on the path to be optimized overlaps or intersects with a known obstacle area. The map data can include static obstacles (such as walls, buildings, etc.) and dynamic obstacles (such as pedestrians, etc.).

[0065] When determining the obstacle area to be passed and executing the obstacle avoidance strategy, for example, a path planning algorithm (such as A* algorithm, Dijkstra algorithm or RRT algorithm) can be called to recalculate a new path to avoid obstacles. These algorithms can find the optimal path from the starting point to the target point while considering obstacles.

[0066] The key points are points on the path to be optimized that meet the preset type requirements. For example, the key points to be extracted in this solution include extracting points to be offset and inflection points.

[0067] In this way, first check whether the path to be optimized passes through any obstacle area, which can ensure that the path planning can take into account the obstacles in the actual environment, avoid the intersection of the path and obstacles, and directly execute the obstacle avoidance strategy when it is predicted that the path needs to pass through the obstacle area. The obstacle avoidance strategy is used to ensure that the robot's planned path no longer passes through the obstacle area, and reduce the situation where the robot may still be too close to the obstacle after only performing path optimization on the path passing through the obstacle area, thereby ensuring the safety and feasibility of the path. If it is determined that the path to be optimized does not pass through the obstacle area, the obstacle avoidance strategy is not executed but the path optimization strategy is executed, and key point extraction processing is performed, thereby providing a basis for subsequent path optimization, so that the path can be further adjusted and optimized according to the key point type. Therefore, the path optimization method can extract and analyze the key points in the path on the basis of considering obstacles, which can ensure the effectiveness and safety of the final path.

[0068] In step S201, the path to be optimized is determined according to the current position of the robot, and the point types of the key points include points to be offset and inflection points.

[0069] With respect to step S201, in one implementation provided in the present application, determining the point type of the first key point of the path to be optimized includes:

[0070] S2011. Determine a point in the path to be optimized that passes through an expansion area as a first candidate key point; wherein the expansion area is an area determined by expanding an obstacle area according to a preset distance.

[0071] S2012. At the same time, determine the turning point in the path to be optimized as the second candidate key point.

[0072] S2013. Determine the point closest to the robot along the path to be optimized among the first candidate key point and the second candidate key point as the first key point, and determine the corresponding point type.

[0073] For step S2011, it is identified whether the path to be optimized and the expansion area have an intersection, and if there is an intersection, the point on the path to be optimized in the intersection is determined as the first candidate key point. Here, one or more first candidate key points can be determined.

[0074] Here, the expansion area is an area determined by expanding the obstacle area according to a preset distance, and the first candidate key point includes the point to be offset. The expansion area can be used to determine whether the path to be optimized is too close to the obstacle.

[0075] Preferably, the preset distance can be determined according to the outer dimensions of the robot, so that the robot can pass through the subsequently optimized path without being too close to obstacles or deviating too much from the original path.

[0076] For step S2012, when determining the turning point, for example, the following steps may be included: identifying three adjacent points on the path to be optimized, determining a triangle formed by the three adjacent points, and treating the second point as a vertex. If the angle of the vertex is within a preset angle range (for example, 50° to 120°), the vertex is treated as a turning point.

[0077] For step S2013, for example, this step may include: respectively calculating the distance from each first candidate key point and each second candidate key point along the path to be optimized to the current position of the robot, and determining the shortest distance based on the calculated distances, and finally determining the candidate key point corresponding to the shortest distance as the first key point, and determining the point type of the first key point.

[0078] For example, when there are only key points of the first type, the point type of the first key point of the path to be optimized is determined to be a point to be offset.

[0079] When only the second type of key points exist, the point type of the first key point of the path to be optimized is determined to be a turning point.

[0080] When there are at least one first-type key point and at least one second-type key point, the following steps can be used to determine the point type of the first key point of the path to be optimized: for all first-type key points, determine the first first-type key point (called point A) according to the driving direction of the path to be optimized; for all second-type key points, determine the first second-type key point (called point B) according to the driving direction of the path to be optimized; finally, determine the order of point A and point B according to the driving direction of the path to be optimized, determine the first point as the first key point, and determine the point type at the same time.

[0081] In this way, a safe buffer zone is added around the obstacle by proposing an expansion area to ensure that the path does not get too close to the obstacle. The points passing through the expansion area are determined as the first candidate key points (i.e., offset points). These points need to be adjusted to avoid potential collisions with obstacles. At the same time, the turning points in the path (i.e., the turning points of the path) are identified and these turning points are determined as the second candidate key points. By focusing on these points, the continuity and smoothness of the path are ensured. From the first candidate key point and the second candidate key point, along the path to be optimized, the point closest to the robot is selected, and the point type is determined, which helps the further processing and decision-making of the subsequent path optimization. Therefore, through these steps, the path optimization method can effectively identify and determine the key points in the path, especially the first key point and its type. This not only enhances the safety and feasibility of the path, but also provides an important basis for subsequent path optimization and adjustment.

[0082] Regarding step S202, when the type of the first key point is a turning point or an offset point, the corresponding update strategy is generally different.

[0083] When the point type of the first key point is a point to be offset, or when the point type of the first key point is both a point to be offset and a turning point, the method of determining the target point corresponding to the path to be optimized by using a corresponding update strategy according to the point type of the first key point includes:

[0084] S20211. For each to-be-offset point of the to-be-offset path to be optimized, determine the offset direction of the to-be-offset point according to the principle of minimum cost.

[0085] S20212. Determine the intersection of the outer contour of the expansion area of ​​the obstacle and the target ray as the target contour point.

[0086] S20213. Expand the target contour point outward by a specified distance along the offset direction to determine an update point corresponding to the point to be offset.

[0087] S20214. Determine the target point according to the position of the update point.

[0088] For step S20211, two methods for determining the offset direction of the point to be offset according to the principle of minimum cost are provided as examples.

[0089] In an example method, the following steps are included: for the offset point, starting from the point, rotate counterclockwise once every X degrees. Draw a line segment with a radius of Lcm every X degrees, and draw 360 / X line segments in total to form 360 / X slices. On each line segment, take a sampling point every Ncm, for a total of L / N sampling points, and record the cost values ​​of these points. Sum the cost values ​​of the L / N sampling points on each line segment to obtain the cost value of each line segment. Compare the cost values ​​of all line segments, find the line segment with the smallest cost, and mark the direction away from the obstacle along it as the fastest direction away from the obstacle.

[0090] Here, X, L, and N can be adaptively selected according to actual conditions.

[0091] In an example method, the following steps are included: for each point to be offset, a pixel circle with a radius of Zm is drawn for the point to be offset, a point corresponding to the minimum cost value in the pixel circle is detected, and a slope is calculated based on the point and the point to be offset, and the slope is the fastest direction away from the obstacle. Z can be adaptively selected according to the actual situation.

[0092] With respect to step S20212, in this step, the target ray is determined by extending from the point to be offset along the offset direction.

[0093] With respect to step S20213, the designated distance of the expansion along the offset direction can be adaptively set according to the actual situation, for example, according to the size information of the robot. The larger the distance setting, the more obvious the obstacle avoidance effect.

[0094] For examples, see Figure 4 , Figure 4 A schematic diagram of determining the update point corresponding to the point to be offset provided by this application. Figure 4 As shown in the figure, an example is given with a point to be offset on the path to be optimized. First, the offset direction of the point to be offset is determined according to the minimum cost principle; then, the target contour point corresponding to the offset point is determined according to the determined offset direction; finally, the target contour point is expanded outward by a specified distance along the offset direction to determine the update point corresponding to the point to be offset. Thus, the update point corresponding to each point to be offset can be determined.

[0095] For step S20214, this step may include: based on the preset position selection rules and combined with the positions of all update points, determining the corresponding target point when the point type of the first key point is a point to be offset, or when the point type of the first key point is both a point to be offset and a turning point.

[0096] In this way, according to the principle of minimum cost value, for each point to be offset in the optimization path, its offset direction is determined to ensure that the selected offset direction is optimal. Taking the point to be offset as the starting point, the target contour point and the update point are determined in turn along the determined offset direction, taking into account the further optimization and safety of the path. Finally, according to the position of the update point, the target point in the path is finally determined, making the path optimization more accurate, safe and efficient.

[0097] Continuing with step S20214, in one implementation provided in the present application, determining the target point according to the position of the update point includes:

[0098] S202141. Determine the starting update point among all update points as the target point.

[0099] S202142. Determine the terminal update point among all update points as the target point.

[0100] S202143. Determine the vertical distance from each update point to the target straight line, and determine the update point corresponding to the vertical distance that meets the preset distance requirement as the target point.

[0101] For step S202141, the starting update point is the update point corresponding to the first point to be offset.

[0102] The first point to be offset is the first point intersecting with the expansion area along the driving direction of the path to be optimized.

[0103] For step S202142, the end update point is the update point corresponding to the last point to be offset.

[0104] The last point to be offset is the last point intersecting with the expansion area along the driving direction of the path to be optimized.

[0105] Regarding step S202143, here, the target straight line is a straight line passing through the starting update point and the ending update point.

[0106] The updating point corresponding to the vertical distance satisfying the preset distance requirement is determined as the target point. For example, it can be: the updating point corresponding to the longest vertical distance to the target straight line is determined as the target point.

[0107] In this way, accurately determining the first key point as the target point when the offset point is to be set during the path optimization process helps to improve the rationality and reliability of path planning, avoid unnecessary offsets and twists, and make the path more efficient and safe.

[0108] Continuing with step S202, when the point type of the first key point is a turning point, the method of determining the target point corresponding to the path to be optimized by using a corresponding update strategy according to the point type of the first key point includes:

[0109] S20221. For each turning point of the path to be optimized, determine the perpendicular bisector of the side opposite to the turning point in the triangle where the turning point is located.

[0110] S20222. Determine the end point of the perpendicular bisector after extending the inflection point by a specified distance as the update point of the inflection point.

[0111] S20223. Determine the update point as the target point.

[0112] Regarding step S20221, the triangle is determined based on the inflection point and adjacent path points before and after the inflection point.

[0113] For step S20222, the designated distance of the extension can be adaptively set according to the size of the robot, the angle of the turning point, etc., to improve the smoothness and safety of the path.

[0114] With respect to step S20223, all update points determined based on all inflection points may be determined as target points.

[0115] For examples, see Figure 5 , Figure 5 A schematic diagram of determining the update point corresponding to the inflection point provided by this application. Figure 5 As shown, there are two inflection points on the path to be optimized, so that two update points can be determined, and thus two target points can also be determined.

[0116] In this way, the target point when the first key point is a turning point can be accurately determined during the path optimization process. Through this method, the turning point can be accurately processed during the subsequent path optimization process, avoiding sharp turns or sudden changes at the turning points, enhancing the continuity and stability of the path, making the path more reasonable and safe, and effectively improving the efficiency and reliability of navigation.

[0117] For step S203, when the point type of the first key point of the path to be optimized is not a turning point, the total number of control points determined is the same; if the point type of the first key point of the path to be optimized is a turning point, the total number of control points determined may be different, and the specific number is determined by the number of turning points.

[0118] With respect to step S204, in an implementation manner provided in the present application, selecting a corresponding path optimization algorithm according to the number of control points to perform path optimization processing, and determining the optimized path as the target path, includes:

[0119] S2041, determining a target order of the Bezier curve equation according to the total number of all control points.

[0120] S2042, bringing the position information of all control points into the determined Bezier curve equation of the target order, performing iterative optimization, and obtaining a candidate curve.

[0121] S2043: Verify and evaluate the candidate curve according to preset requirements.

[0122] S2044: Determine the candidate curve that has passed the verification as the target path.

[0123] For step S2041, the target order of the Bezier curve equation is determined according to the total number of all control points. For example, when 4 control points are determined, the cubic Bezier curve equation is selected; when 5 control points are determined, the quartic Bezier curve equation is selected, and so on.

[0124] For step S2042, the position information of all control points is brought into the Bezier curve equation of the determined target order, and iterative optimization is performed. When the optimization end condition is met, a candidate curve is obtained. Optimizing the path to be optimized by the Bezier curve can also make the path smoother and reduce the repeated swinging and jamming of the robot.

[0125] For example, the optimization end condition may be: reaching a convergence condition, reaching a maximum number of iterations, etc.

[0126] For step S2043, the preset requirements are requirements set according to application requirements, safety standards, and technical limitations.

[0127] For step S2044, if the verification fails, the path re-planning strategy is executed.

[0128] In this way, the appropriate path optimization algorithm is selected according to the number of control points to ensure the applicability and efficiency of the algorithm, so that the most appropriate optimization strategy can be selected according to the different path complexities to improve the flexibility and effect of path optimization. And by selecting the Bezier curve equation of the corresponding order, it is helpful to generate a smooth and continuous path to avoid mutations and discontinuities in the path. And the candidate curves are verified and evaluated to ensure that they meet the preset requirements, so as to generate a path that performs well in many aspects, and ensure the reliability and safety of the final path, and avoid the use of paths that do not meet the requirements. Reduce the gap between the output replanned route and the original tracking route, thereby reducing the robot from stopping or slowing down.

[0129] With respect to step S2043, the candidate curves are verified and evaluated according to preset requirements, including: determining whether the remaining curves of the candidate curves except the specified curve intersect with the expansion area, and whether the curvature of the candidate curve exceeds a preset curvature threshold; if both are no, it is determined that the candidate curve has passed the verification.

[0130] Here, the specified curve may be the "part that must pass through the obstacle" in the candidate curve. For example, the following situations may be considered: (1) Physical constraints: In some environments, the space between obstacles is very narrow, and the path cannot completely avoid the expansion area of ​​the obstacles. (2) Task requirements: Some tasks require that the path must pass through specific points, and these points may be close to or in the obstacle area. (3) Optimization strategy: In some optimization algorithms, the optimal solution for the path may require passing through obstacles to minimize the path length or other cost functions. (4) Dynamic environment: In a dynamically changing environment, the positions of obstacles may change continuously, and the path planning system may not be able to be updated in real time to completely avoid all obstacles.

[0131] If any of the items is yes, it is determined that the verification fails, and the path replanning strategy is executed.

[0132] In this way, by checking the candidate curves, it is possible to reduce the number of times that the selected curves will not intersect with the safety boundary (expansion area) in actual applications, thereby avoiding potential collisions or conflicts. By checking whether the curvature exceeds the preset threshold, it is ensured that the curvature of the curve is within the range of stable operation of the robot, thereby ensuring the feasibility of the path and the smoothness of the robot's operation.

[0133] For examples, see Figure 6 , Figure 7 , Figure 6 A schematic diagram of an optimized target path provided in this application, Figure 7A schematic diagram of another optimized target path provided in this application. Figure 6 As shown in , the target path is the target path determined after the optimization process is performed on the path to be optimized when the point type of the first key point is the point to be offset. Figure 7 As shown, when the point type of the target path is a turning point, the target path is determined after the path to be optimized is optimized.

[0134] In this way, the technical solution provided by this application can achieve the following technical effects:

[0135] (1) In the process of determining whether the path to be optimized passes through an obstacle area, it can effectively identify and avoid potential obstacles. This early obstacle avoidance strategy ensures the safety of the path and improves the navigation efficiency of the robot.

[0136] (2) By analyzing the expansion area and inflection points in the path, the points to be offset and inflection points are accurately identified as key points. This method ensures that the selection of key points is more targeted and accurate, and improves the accuracy of path optimization.

[0137] (3) Different update strategies are used according to different types of key points (points to be offset and turning points) to dynamically adjust the path target points. For the points to be offset, the offset direction and update points are determined by the minimum cost value principle and target ray calculation to ensure that the path is away from obstacles; for the turning points, the update points are determined by the perpendicular midline extension method to optimize the smoothness of the path curve.

[0138] (4) The target point, the current position of the robot, and the end point of the path are used as control points. Through multi-control point path planning, the comprehensive consideration and integrity of path optimization are ensured, thereby improving the accuracy and reliability of path planning.

[0139] (5) According to the number of control points, the appropriate order of the Bezier curve equation is selected for path optimization, ensuring that the optimal algorithm can be selected for efficient optimization under different path complexity conditions, thereby improving the flexibility and applicability of path planning.

[0140] (6) Strict verification and evaluation of the generated candidate curves ensures that the final path meets high standards in terms of security and smoothness.

[0141] Therefore, the path optimization method provided by this application improves the robot's navigation ability at multiple levels. Through intelligent identification of key points, dynamic path adjustment, precise obstacle avoidance and adaptive optimization algorithm selection, the final generated target path is safer, more efficient and smoother, significantly improving the robot's navigation performance and operating efficiency.

[0142] See also Figure 8 , Fig. 9 , Figure 8 This is one of the structural schematic diagrams of a path optimization device provided in an embodiment of the present application. Fig. 9 This is a second structural diagram of a path optimization device provided in an embodiment of the present application. Figure 8 As shown in , the path optimization device 800 includes:

[0143] A first determination module 810 is used to determine the point type of the first key point of the path to be optimized; the path to be optimized is determined according to the current position of the robot, and the point type of the key point includes a point to be offset and a turning point;

[0144] An updating module 820 is used to determine a target point corresponding to the path to be optimized by adopting a corresponding updating strategy according to the point type of the first key point;

[0145] A second determination module 830 is used to use the target point, the current position of the robot and the end point of the path to be optimized as control points;

[0146] The optimization module 840 is used to select a corresponding path optimization algorithm according to the number of control points to perform path optimization processing, and determine the optimized path as the target path.

[0147] Optional, such as Fig. 9 As shown, the path optimization device 800 further includes a third determination module 850, and the third determination module 850 is used to:

[0148] Before determining the point type of the first key point of the path to be optimized, determining whether the path to be optimized passes through an obstacle area;

[0149] If it passes, execute obstacle avoidance strategy;

[0150] If not, perform key point extraction processing to determine the point type of the first key point of the path to be optimized.

[0151] Optionally, when the first determining module 810 is used to determine the point type of the first key point of the path to be optimized, the first determining module 810 is used to:

[0152] Determine a point in the path to be optimized that passes through the expansion area as a first candidate key point; wherein the expansion area is an area determined by expanding the obstacle area according to a preset distance; and the first candidate key point includes a point to be offset;

[0153] At the same time, the turning point in the path to be optimized is determined as the second candidate key point;

[0154] The point closest to the robot along the path to be optimized among the first candidate key point and the second candidate key point is determined as the first key point, and the corresponding point type is determined.

[0155] Optionally, when the point type of the first key point is a point to be offset, or when the point type of the first key point is both a point to be offset and a turning point, when the updating module 820 is used to determine the target point corresponding to the path to be optimized according to the point type of the first key point by using a corresponding updating strategy, the updating module 820 is used to:

[0156] For each to-be-offset point of the to-be-offset path to be optimized, determining the offset direction of the to-be-offset point according to the principle of minimum cost value;

[0157] The intersection of the outer contour of the expansion area of ​​the obstacle and the target ray is determined as the target contour point; wherein the target ray is determined by extending from the point to be offset along the offset direction;

[0158] Expand the target contour point outward by a specified distance along the offset direction to determine an update point corresponding to the point to be offset;

[0159] The target point is determined according to the position of the update point.

[0160] Optionally, when the point type of the first key point is a turning point, when the updating module 820 is used to determine the target point corresponding to the path to be optimized by adopting a corresponding updating strategy according to the point type of the first key point, the updating module 820 is used to:

[0161] For each turning point of the path to be optimized, determine the perpendicular bisector of the side opposite to the turning point in the triangle where the turning point is located; wherein the triangle is determined based on the turning point and adjacent path points before and after the turning point;

[0162] The end point of the perpendicular bisector extending through the inflection point by a specified distance is determined as the update point of the inflection point;

[0163] The update point is determined as the target point.

[0164] Optionally, when the updating module 820 is used to determine the target according to the position of the updating point, the updating module 820 is used to:

[0165] Determine the starting update point among all update points as the target point;

[0166] Determine the terminal update point among all update points as the target point;

[0167] Determine the vertical distance from each update point to the target straight line, and determine the update point corresponding to the vertical distance that meets the preset distance requirement as the target point; wherein the target straight line is a straight line passing through the starting update point and the ending update point.

[0168] Optionally, when the optimization module 840 is used to select a corresponding path optimization algorithm according to the number of control points to perform path optimization processing and determine the optimized path as the target path, the optimization module 840 is used to:

[0169] Determine the target order of the Bezier curve equation based on the total number of all control points;

[0170] The position information of all control points is brought into the Bezier curve equation of the determined target order, and iterative optimization is performed to obtain the candidate curve;

[0171] Verify and evaluate the candidate curve according to preset requirements;

[0172] The candidate curve that passes the verification is determined as the target path.

[0173] Optionally, when the optimization module 840 is used to verify and evaluate the candidate curve according to preset requirements, the optimization module 840 is used to:

[0174] Determine whether the remaining curves among the candidate curves except the designated curve intersect with the expansion region, and whether the curvature of the candidate curve exceeds a preset curvature threshold;

[0175] If both are negative, it is determined that the candidate curve has passed the verification.

[0176] See also Fig.10 , Fig.10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Fig.10 As shown in , the electronic device 1000 includes a processor 1010 , a memory 1020 and a bus 1030 .

[0177] The memory 1020 stores machine-readable instructions executable by the processor 1010. When the electronic device 1000 is running, the processor 1010 communicates with the memory 1020 via the bus 1030. When the machine-readable instructions are executed by the processor 1010, the above-mentioned Figures 2 to 7 The specific implementation of the steps in the method embodiment shown can be found in the method embodiment, and will not be repeated here.

[0178] The present application also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the computer program can execute the above-mentioned Figures 2 to 7The specific implementation of the steps in the method embodiment shown can be found in the method embodiment, and will not be repeated here.

[0179] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0180] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.

[0181] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0182] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0183] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present application can essentially be embodied in the form of a software product, or in other words, the part that contributes to the prior art or the part of the technical solution. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0184] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The protection scope of the present application is not limited thereto. Although the present application is described in detail with reference to the above-mentioned embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above-mentioned embodiments within the technical scope disclosed in the present application, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.

Claims

1. A path optimization method, characterized in that: The path optimization method comprises: Determine the point type of the first key point of the path to be optimized; the path to be optimized is determined according to the current position of the robot, and the point type of the key point includes a point to be offset and a turning point; According to the point type of the first key point, a corresponding update strategy is adopted to determine a target point corresponding to the path to be optimized; The target point, the current position of the robot and the end point of the path to be optimized are used as control points; A corresponding path optimization algorithm is selected according to the number of control points to perform path optimization processing, and the optimized path is determined as the target path.

2. The path optimization method according to claim 1, characterized in that: Before determining the point type of the first key point of the path to be optimized, the path optimization method further includes: Determining whether the path to be optimized passes through an obstacle area; If it passes, execute obstacle avoidance strategy; If not, perform key point extraction processing to determine the point type of the first key point of the path to be optimized.

3. The path optimization method according to claim 1, characterized in that: Determine the point type of the first key point of the path to be optimized, including: Determine a point in the path to be optimized that passes through the expansion area as a first candidate key point; wherein the expansion area is an area determined by expanding the obstacle area according to a preset distance; and the first candidate key point includes a point to be offset; At the same time, the turning point in the path to be optimized is determined as the second candidate key point; The point closest to the robot along the path to be optimized among the first candidate key point and the second candidate key point is determined as the first key point, and the corresponding point type is determined.

4. The path optimization method according to claim 1, characterized in that: When the point type of the first key point is a point to be offset, or when the point type of the first key point is both a point to be offset and a turning point, the method of determining the target point corresponding to the path to be optimized by using a corresponding update strategy according to the point type of the first key point includes: For each to-be-offset point of the to-be-offset path to be optimized, determining the offset direction of the to-be-offset point according to the principle of minimum cost value; The intersection of the outer contour of the expansion area of ​​the obstacle and the target ray is determined as the target contour point; wherein the target ray is determined by extending from the point to be offset along the offset direction; Expand the target contour point outward by a specified distance along the offset direction to determine an update point corresponding to the point to be offset; The target point is determined according to the position of the update point.

5. The path optimization method according to claim 1, characterized in that: When the point type of the first key point is a turning point, the step of determining the target point corresponding to the path to be optimized by using a corresponding updating strategy according to the point type of the first key point includes: For each turning point of the path to be optimized, determine the perpendicular bisector of the side opposite to the turning point in the triangle where the turning point is located; wherein the triangle is determined based on the turning point and adjacent path points before and after the turning point; The end point of the perpendicular bisector extending through the inflection point by a specified distance is determined as the update point of the inflection point; The update point is determined as the target point.

6. The path optimization method according to claim 4, characterized in that: Determining the target point according to the position of the update point includes: Determine the starting update point among all update points as the target point; Determine the terminal update point among all update points as the target point; Determine the vertical distance from each update point to the target straight line, and determine the update point corresponding to the vertical distance that meets the preset distance requirement as the target point; wherein the target straight line is a straight line passing through the starting update point and the ending update point.

7. The path optimization method according to claim 1, characterized in that: The selecting a corresponding path optimization algorithm according to the number of control points to perform path optimization processing, and determining the optimized path as the target path, comprises: Determine the target order of the Bezier curve equation based on the total number of all control points; The position information of all control points is brought into the Bezier curve equation of the determined target order, and iterative optimization is performed to obtain the candidate curve; Verify and evaluate the candidate curve according to preset requirements; The candidate curve that passes the verification is determined as the target path.

8. The path optimization method according to claim 7, characterized in that: The verifying and evaluating the candidate curve according to the preset requirements includes: Determine whether the remaining curves among the candidate curves except the designated curve intersect with the expansion region, and whether the curvature of the candidate curve exceeds a preset curvature threshold; If both are negative, it is determined that the candidate curve has passed the verification.

9. A path optimization device, characterized in that: The path optimization device comprises: A first determination module is used to determine the point type of the first key point of the path to be optimized; the path to be optimized is determined according to the current position of the robot, and the point type of the key point includes a point to be offset and a turning point; An updating module, used for determining a target point corresponding to the path to be optimized by adopting a corresponding updating strategy according to a point type of the first key point; A second determination module is used to use the target point, the current position of the robot and the end point of the path to be optimized as control points; The optimization module is used to select a corresponding path optimization algorithm according to the number of control points to perform path optimization processing, and determine the optimized path as the target path.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the path optimization method according to any one of claims 1 to 8 are executed.

Citation Information

Cited By

  • Motion planning method and system capable of suppressing vibration

    CN119847205A