Navigation path determination method and apparatus, and program product

By combining robot joint size and motion timing information to optimize the navigation path, the problem of neglecting the robot's dynamic motion characteristics is solved, the accuracy and safety of the navigation path are improved, and an efficient path planning method is realized, solving the problems of inaccurate path planning and insufficient safety in existing technologies.

CN121994249APending Publication Date: 2026-05-08CHONGQING PHOENIX TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHONGQING PHOENIX TECHNOLOGY CO LTD
Filing Date
2026-03-18
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

In existing technologies, robots fail to fully consider their dynamic motion characteristics when planning navigation paths, resulting in low accuracy and safety in determining navigation paths.

Method used

By combining the robot's joint size information, motion timing sequence, and passable area information, an initial navigation path is selected from candidate navigation paths and optimized. The upper limb motion convex hull is constructed to decouple the upper limb from the chassis motion, the collision risk value is determined, and the path is optimized to improve accuracy and safety.

Benefits of technology

This improves the accuracy of navigation path determination and the safety of robot operation, while reducing the computational burden and resource waste in subsequent path optimization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121994249A_ABST
    Figure CN121994249A_ABST
Patent Text Reader

Abstract

The invention relates to a navigation path determination method, a navigation path determination device and a program product. The method comprises the following steps: determining at least two candidate navigation paths from a grid map of an area where a robot is located according to navigation starting and ending positions of the robot, and determining the navigation path according to joint size information of the robot, a time sequence of actions to be executed by the robot in a driving process and passable area information of each candidate navigation path, an initial navigation path is selected from all the candidate navigation paths, the initial navigation path is optimized according to the action sequential sequence and passable area information of the initial navigation path, a target navigation path corresponding to the navigation starting and ending position is obtained, and the action sequential sequence comprises actions of the robot at different driving moments in the driving process. By adopting the method, the accuracy of determining the navigation path of the robot can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, and in particular to a navigation path determination method, apparatus, and program product. Background Technology

[0002] With the continuous development of the robotics field, in order to improve the working efficiency of robots, automatic navigation strategies for robots have emerged. That is, robots can automatically plan an unobstructed navigation path based on the location they want to reach.

[0003] However, in the above approach, the robot is generally treated as a fixed geometric model, and a navigation path that will not cause collisions is selected when the robot is a fixed geometric model. This ignores the fact that in actual applications, the robot will perform different movements according to specific needs during operation (e.g., using its upper limbs to pick up goods). The pose difference between the robot and the fixed geometric model during movement is large, which will reduce the accuracy of navigation path determination and thus reduce the safety of robot operation. Summary of the Invention

[0004] Based on this, this application addresses the aforementioned technical problems by providing a navigation path determination method, apparatus, and program product that can improve the accuracy of navigation path determination.

[0005] Firstly, this application provides a navigation path determination method, including:

[0006] Based on the robot's navigation start and end positions, at least two candidate navigation paths are determined from the grid map of the area where the robot is located;

[0007] Based on the robot's joint size information, the sequence of actions the robot will perform during travel, and the passable area information of each candidate navigation path, an initial navigation path is selected from the candidate navigation paths; wherein, the sequence of actions includes the robot's actions at different moments during travel.

[0008] Based on the action timing sequence and the passable area information of the initial navigation path, the initial navigation path is optimized to obtain the target navigation path corresponding to the navigation start and end positions.

[0009] In the above-mentioned navigation path determination method, on the one hand, by combining the robot's action timing sequence and the passable area information of each candidate navigation path, an initial navigation path with a low collision degree is initially selected from each candidate navigation path. This ensures that the selected initial navigation path is compatible with the robot's action changes during operation and reduces the workload of subsequent path optimization processing. On the other hand, by combining the action timing sequence to optimize the initial navigation path, it is possible to ensure that the passable area of ​​the final optimized target navigation path meets the robot's action changes during operation, thereby improving the accuracy of navigation path determination and ensuring the safety of robot operation.

[0010] In an optional embodiment of the first aspect, the action timing sequence includes an upper limb action timing sequence; selecting an initial navigation path from each candidate navigation path based on the robot's joint size information, the action timing sequence to be performed by the robot during navigation, and the traversable area information of each candidate navigation path, includes:

[0011] Based on the robot's joint size information and the timing sequence of upper limb movements to be performed by the robot during driving, construct the convex hull of the robot's upper limb movements at each driving moment;

[0012] For each candidate navigation path, the collision risk value of the robot is determined based on the convex hull of the robot's upper limb movements at different driving times and the passable area information of the candidate navigation path.

[0013] Based on the collision risk value corresponding to each candidate navigation path, an initial navigation path is selected from the candidate navigation paths.

[0014] In the above optional embodiments, on the one hand, by constructing the robot's upper limb motion convex hull, the robot's upper limbs and chassis are decoupled. While ensuring the independence of upper limb task planning, the upper limb motions are associated with chassis navigation through time series matching, achieving whole-body coordination without increasing the computational burden of high-dimensional joint modeling. On the other hand, by combining the upper limb motion convex hull, the collision risk value of each candidate navigation path is determined, which ensures that the calculated collision risk value matches the actual upper limb motion time sequence of the robot, thereby improving the accuracy of the initial navigation path and laying a reliable foundation for subsequent path optimization operations.

[0015] In an optional embodiment of the first aspect, the collision risk value of the robot traveling on the candidate navigation path is determined based on the upper limb motion convex hull of the robot at different driving times and the traversable area information of the candidate navigation path, including:

[0016] Based on the convex hull of the robot's upper limb movements at different driving times, and the passable area information of the candidate navigation path, the number of collisions and the collision distance of the robot on the candidate navigation path are determined.

[0017] Based on the number of collisions and the collision distance, the collision risk value of the robot traveling on the candidate navigation path is determined.

[0018] In the above optional embodiments, by determining the collision risk value based on the number of collisions and the collision distance when the robot travels on the candidate navigation path, the rationality of the collision risk value determination can be guaranteed, laying an accurate foundation for the subsequent initial navigation path selection operation.

[0019] In an optional embodiment of the first aspect, determining the number of collisions and collision distances of the robot traveling on the candidate navigation path based on the upper limb motion convex hull of the robot at different driving times and the traversable area information of the candidate navigation path includes:

[0020] Based on the robot's speed information, determine the grid position of the robot on the candidate navigation path at each driving moment;

[0021] Based on the robot's upper limb motion convex hull and grid position at different driving times, as well as the passable area information of the candidate navigation path, the collision risk value of the robot at each grid position is determined.

[0022] Based on the collision risk value of the robot at different grid positions, the number of collisions and the collision distance of the robot when traveling on the candidate navigation path are determined.

[0023] In the above optional embodiments, by determining the collision risk value of the robot at each grid position based on the convex hull of the robot's actions at different driving times, and then combining the collision risk value of each grid position to determine the number of collisions and the collision distance, the precision of the collision risk value determination can be improved, thereby ensuring the accuracy of the collision number and collision distance determination, and laying an accurate foundation for the subsequent initial navigation path selection operation.

[0024] In an optional embodiment of the first aspect, the action timing sequence includes an upper limb action timing sequence; based on the action timing sequence and the traversable area information of the initial navigation path, the initial navigation path is optimized to obtain a target navigation path corresponding to the navigation start and end positions, including:

[0025] Based on the passable area information of the initial navigation path and the convex hull of the robot's upper limb movements at each driving moment, the collision grid in the initial navigation path is determined; wherein, the convex hull of the upper limb movements at each driving moment is constructed based on the robot's joint size information and the temporal sequence of upper limb movements;

[0026] For each collision grid, the path optimization information corresponding to the collision grid is determined based on the grid position of the collision grid and the upper limb motion convex hull of the robot at each grid position in the initial navigation path; wherein, the upper limb motion convex hull of each grid position is the upper limb motion convex hull of the robot at the moment of travel to the grid position.

[0027] Based on the path optimization information corresponding to each collision grid, the initial navigation path is optimized to obtain the target navigation path corresponding to the navigation start and end positions.

[0028] In the above optional embodiments, after determining the path optimization information corresponding to each collision grid, the initial navigation path can be gradually optimized locally based on the path optimization information corresponding to each collision grid to obtain the target navigation path, which can improve the accuracy of the target navigation path while ensuring the efficiency of path optimization.

[0029] In an optional embodiment of the first aspect, path optimization information corresponding to the collision grid is determined based on the grid position of the collision grid and the upper limb motion convex hull of the robot at each grid position in the initial navigation path, including:

[0030] Based on the grid position of the collision grid and the upper limb motion convex hull of the robot at the grid position of the collision grid, determine the minimum distance between the collision grid and the upper limb motion convex hull.

[0031] Determine the path optimization direction corresponding to the collision grid based on the distance endpoint corresponding to the minimum distance;

[0032] Based on the minimum distance and the path optimization direction, determine the path optimization information corresponding to the collision grid.

[0033] In the above optional embodiments, by determining the minimum distance and path optimization direction between the collision grid and the upper limb motion convex hull based on the grid position of the collision grid and the upper limb motion convex hull of the robot at the collision position, the accuracy of the minimum distance and path optimization direction can be guaranteed, laying an accurate foundation for subsequent path optimization operations.

[0034] In an optional embodiment of the first aspect, the initial navigation path is optimized based on the path optimization information corresponding to each collision grid to obtain the target navigation path corresponding to the navigation start and end positions, including:

[0035] For each collision grid, a reference grid corresponding to the collision grid is determined in the initial navigation path based on the path optimization information corresponding to the collision grid; wherein, the reference grid is the non-collision grid surrounding the collision grid.

[0036] For each reference grid, the grid evaluation value of the reference grid is determined based on the grid position of the reference grid and the robot's speed information;

[0037] The initial navigation path is optimized based on the grid evaluation values ​​of each reference grid to obtain the target navigation path corresponding to the navigation start and end positions.

[0038] In the above optional embodiments, by selecting the reference grid with the highest optimization feasibility from each reference grid of the collision grid, the initial navigation path is optimized to obtain the target navigation path, which can ensure the rationality of the target navigation path determination.

[0039] In an optional embodiment of the first aspect, determining the grid evaluation value of the reference grid based on the grid position of the reference grid and the robot's speed information includes:

[0040] The safety cost of the reference grid is determined based on the path optimization information of the reference grid; the path optimization information of the reference grid is determined based on the grid position of the reference grid and the convex hull of the robot's upper limb motion at the grid position of the reference grid.

[0041] Based on the path position information of the initial navigation path and the grid position of the reference grid, determine the path smoothing value of the reference grid;

[0042] Based on the robot's speed information, determine the travel limit value for the robot to travel to the reference grid;

[0043] The grid evaluation value of the reference grid is determined based on the safety cost value, path smoothing value, and driving limit value.

[0044] In the above optional embodiments, by calculating the safety cost value, path smoothing value, and driving limit value of the reference grid respectively, the grid evaluation value of the reference grid can be determined, which can ensure the comprehensiveness of the grid evaluation value calculation and thus lay a reliable foundation for subsequent path optimization.

[0045] Secondly, this application also provides a navigation path determination device, comprising:

[0046] The path generation module is used to determine at least two candidate navigation paths from the grid map of the area where the robot is located, based on the robot's navigation start and end positions.

[0047] The path selection module is used to select an initial navigation path from each candidate navigation path based on the robot's joint size information, the sequence of actions the robot will perform during the driving process, and the passable area information of each candidate navigation path; wherein, the sequence of actions includes the robot's actions at different moments during the driving process.

[0048] The path optimization module is used to optimize the initial navigation path based on the action timing sequence and the passable area information of the initial navigation path, so as to obtain the target navigation path corresponding to the navigation start and end positions.

[0049] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method described above.

[0050] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described above.

[0051] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the method described in any of the above aspects.

[0052] Regarding the beneficial effects of any of the technical solutions in the second to fifth aspects mentioned above, refer to the beneficial effects of the corresponding technical solutions in the first aspect; repeated examples will not be listed here. Attached Figure Description

[0053] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0054] Figure 1 This is a schematic diagram of an optional navigation path determination method in one embodiment;

[0055] Figure 2 This is a schematic diagram of an optional process for determining an initial navigation path in one embodiment;

[0056] Figure 3 This is a schematic diagram of the motion convex hull of a quadruped robot in one embodiment;

[0057] Figure 4 This is a schematic diagram of an optional process for determining a collision risk value in one embodiment;

[0058] Figure 5 This is a schematic diagram of an optional process for determining the number of collisions and the collision distance in one embodiment;

[0059] Figure 6 This is a schematic diagram of an optional process for determining a target navigation path in one embodiment;

[0060] Figure 7 This is a schematic diagram of an optional process for determining path optimization information in one embodiment;

[0061] Figure 8 This is a schematic diagram of an optional path optimization process in one embodiment;

[0062] Figure 9 This is a schematic diagram of an optional process for determining raster evaluation values ​​in one embodiment;

[0063] Figure 10 This is a schematic diagram of an optional flowchart of a navigation path determination method in another embodiment;

[0064] Figure 11 This is a schematic diagram of an optional structure of a navigation path determination device in one embodiment;

[0065] Figure 12 This is a schematic diagram of an optional internal structure of a computer device in one embodiment. Detailed Implementation

[0066] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of this application.

[0067] With the continuous development of the robotics field, in order to improve the working efficiency of robots, automatic navigation strategies for robots have emerged. That is, robots can automatically plan an unobstructed navigation path based on the location they want to reach.

[0068] However, in the above approach, the robot is generally treated as a fixed geometric model, and a navigation path that will not cause collisions is selected when the robot is a fixed geometric model. This ignores the fact that in actual applications, the robot will perform different movements according to specific needs during operation (e.g., using its upper limbs to pick up goods). The pose difference between the robot and the fixed geometric model during movement is large, which will reduce the accuracy of navigation path determination and thus reduce the safety of robot operation.

[0069] Based on this, in an exemplary embodiment, such as Figure 1 As shown, a navigation path determination method is provided. Taking the application of this method to a robot device as an example, the method includes the following steps:

[0070] S101, Based on the robot's navigation start and end positions, determine at least two candidate navigation paths from the grid map of the area where the robot is located.

[0071] The navigation start and end positions refer to the starting and ending points of the robot's intended path, including the navigation start point and the navigation end point. The grid map is a map presented in a grid format, showing obstacles in the robot's area. For example, it can be a three-dimensional grid map including a time dimension. The candidate navigation path is a drivable path that connects the navigation start point and the navigation end point.

[0072] In one alternative approach, when there is a need for robot scheduling, a scheduling request containing the navigation start and end positions can be sent to the robot. After receiving the scheduling request, the robot can query the locally stored grid maps according to the navigation start and end positions to obtain the grid map containing the navigation start and end positions.

[0073] A sampling query approach can be used to find at least two passable candidate navigation paths in the grid map based on the robot's navigation start and end positions. For example, the Probabilistic Roadmap (PRM) algorithm can be used to randomly generate a large number of sampling points in the grid map and perform point collision detection on each sampling point (i.e., detect whether the sampling point will collide with obstacles in the grid map), thereby eliminating sampling points that may collide and retaining only safe sampling points. Adjacent safe sampling points are connected, and edge collision detection is performed on the resulting sampling edges (i.e., detect whether the sampling edge will cross obstacles), thereby eliminating sampling edges that may collide and retaining only safe sampling edges. Then, a shortest path algorithm can be used to construct candidate navigation paths in the grid map composed of safe sampling points and safe sampling edges. The candidate navigation paths obtained at this time are theoretically collision-free paths.

[0074] S102, based on the robot's joint size information, the sequence of actions the robot will perform during travel, and the passable area information of each candidate navigation path, select the initial navigation path from each candidate navigation path.

[0075] The joint size information refers to the dimensions of each joint of the robot, such as the length of the robotic arm, the radius of the joints, and their installation positions. The traversable area information refers to the spatial information of the actual traversable areas in the candidate navigation paths, such as the spatial range of the traversable areas. The initial navigation path is the navigation path with the highest driving safety among all candidate navigation paths. The action timing sequence includes the robot's actions at different moments during its movement, such as upper limb movements and chassis movements. It is worth noting that the action timing sequence in this embodiment is pre-set before path navigation; it can be sent to the robot by the scheduling terminal or stored locally on the robot, without limitation.

[0076] In one alternative approach, for each candidate navigation path, the robot's motion changes during its journey on the candidate navigation path can be simulated based on the robot's joint size information and the sequence of actions the robot will perform during its journey. Then, based on the robot's motion changes during its journey and the passable area information of the candidate navigation path, the robot's collision situation during its journey on the candidate navigation path can be determined.

[0077] Based on the collision situation of the robot during its journey on each candidate navigation path, the candidate navigation path with the lowest collision degree is selected as the initial navigation path.

[0078] S103, based on the action timing sequence and the passable area information of the initial navigation path, optimize the initial navigation path to obtain the target navigation path corresponding to the navigation start and end positions.

[0079] The so-called target navigation path is the final optimized robot driving path.

[0080] In one alternative approach, the collision points to be optimized in the initial navigation path can be determined first based on the collision events encountered by the robot during its initial navigation journey. For each collision point, the target action to be performed by the robot when passing through the collision point can be determined based on the robot's running speed in the initial navigation path and the robot's action sequence.

[0081] Based on the robot's target action and the passable area information of the initial navigation path, the collision point position is optimized to ensure that the space occupied by the robot while maintaining the target action remains within the passable area of ​​the initial navigation path. This results in an optimized position where the robot will not collide with the target action when maintaining the optimized position.

[0082] By combining the optimized positions corresponding to each collision point, the initial navigation path can be optimized to obtain the target navigation path corresponding to the start and end positions. For example, by directly replacing the collision point positions in the initial navigation path with the optimized positions corresponding to each collision point, the target navigation path can be obtained.

[0083] In one alternative approach, to conserve computing resources, if the robot does not encounter any collisions while traveling on the initial navigation path, the initial navigation path can be directly used as the target navigation path.

[0084] Once the target navigation path is determined, the robot can travel along the target navigation path and change its actions according to the action sequence during travel until it reaches the navigation destination.

[0085] In the aforementioned navigation path determination method, at least two candidate navigation paths are determined from the grid map of the robot's location based on the robot's navigation start and end positions. An initial navigation path is selected from these candidate paths based on the robot's joint size information, the sequence of actions the robot will perform during navigation, and the passable area information of each candidate path. Then, the initial navigation path is optimized based on the action sequence and the passable area information of the initial navigation path to obtain the target navigation path corresponding to the navigation start and end positions. This method achieves two advantages: First, by combining the robot's action sequence and the passable area information of each candidate navigation path, an initial navigation path with a low collision probability is initially selected from the candidate paths. This ensures that the selected initial navigation path is compatible with the robot's action changes during operation and reduces the workload of subsequent path optimization. Second, by optimizing the initial navigation path based on the action sequence, the passable area of ​​the final optimized target navigation path meets the robot's action changes during operation, thereby improving the accuracy of navigation path determination and ensuring the safety of robot operation.

[0086] In some scenarios, robots typically consist of an upper limb and a chassis. The upper limb performs the main operations and exhibits significant spatial posture changes, while the chassis is only used to control the robot's movement and has less pronounced posture changes, such as in wheelchair robots. Therefore, to better plan the robot's navigation path, the upper limb and chassis can be decoupled, with a focus on collision scenarios involving the upper limb during robot movement.

[0087] Based on the above embodiments, in some optional embodiments, the action timing sequence includes an upper limb action timing sequence. Therefore, an optional method for determining the initial navigation path is provided, such as... Figure 2 As shown, it includes the following steps:

[0088] S201, based on the robot's joint size information and the timing sequence of upper limb movements to be performed by the robot during driving, construct the convex hull of the robot's upper limb movements at each driving moment.

[0089] Here, "driving time" refers to each moment during the robot's driving process. "Convex hull" is a convex polyhedron obtained by performing a minimal wrapping motion around an irregular object; any line connecting any two points within the convex hull lies inside it. The "upper limb motion convex hull" is the convex hull that completely encloses the outer contour of the robot's upper limb when performing its motion.

[0090] For example, in the case where the robot includes a mobile chassis and an active upper limb, the robot's overall motion convex hull may include a chassis convex hull and an upper limb motion convex hull. For example, refer to... Figure 3The quadruped robot shown has a convex hull for overall motion. The robot's moving body can be approximated by a cube, and the robotic arm can be enclosed using a convex hull based on the joint positions and predefined joint dimensions.

[0091] In one alternative approach, for each upper limb movement in the upper limb movement sequence, the robot's pose when performing that movement can be simulated based on the robot's joint size information; that is, the specific state of the robot's outer contour when performing the movement. Then, a convex hull can be constructed on the robot's pose when performing the movement to obtain the corresponding upper limb movement convex hull. The upper limb movement convex hull completely encloses the robot's outer contour. For example, the upper limb movement convex hull can be obtained by expanding outwards on the robot's surface according to preset convex hull construction parameters. These parameters can be those used to expand outwards on the robot's outer contour during convex hull construction.

[0092] After determining the upper limb action convex hull of each upper limb action in the action timing sequence, the timing interval between each upper limb action in the action timing sequence can be used as the timing interval between each upper limb action convex hull; then, based on the timing interval between each upper limb action convex hull, the upper limb action convex hull of the robot at each driving moment after it starts driving is determined.

[0093] The method described above constructs the convex hull of the robot's upper limb movements at each moment of travel. Essentially, this establishes a matching relationship between the upper limb movement time series and the robot's chassis navigation time series. By mapping the configurational changes, posture changes, and spatial occupancy information generated by the upper limbs during different tasks onto the local navigation time axis, a dynamic modeling description of the robot's overall external contour changes over time is achieved. Based on this dynamic external contour model, the subsequent local navigation process can be transformed into an optimization process focused solely on the moving chassis trajectory, avoiding the computational burden of joint search and optimization in a high-dimensional state space.

[0094] S202, for each candidate navigation path, based on the robot's upper limb motion convex hull at different driving times and the passable area information of the candidate navigation path, determine the collision risk value of the robot driving on the candidate navigation path.

[0095] The collision risk value is used to characterize the degree of risk of a robot colliding during its operation. The higher the collision risk value, the higher the risk of a collision.

[0096] In one alternative approach, for each candidate navigation path, the space information required for the robot's upper limb movement changes during its journey on the candidate navigation path can be simulated based on the robot's upper limb movement convex hull at different travel times. Then, based on the space information required for the robot's journey and the passable area information of the candidate navigation path, the collision risk value of the robot during its journey on the candidate navigation path can be determined.

[0097] For example, based on the robot's speed, its position at each travel moment on the candidate navigation path can be determined. Then, for each travel moment, based on the upper limb motion convex hull at that moment and the passable area at the robot's current position, it can be determined whether a collision is possible at that moment, thus obtaining the collision risk value for that moment. The sum of the collision risk values ​​for all travel moments is used as the collision risk value for the candidate navigation path.

[0098] In this process, since the shape complexity of the upper limb motion convex hull is much lower than that of the robot pose, combining the upper limb motion convex hull to calculate the collision risk value can effectively reduce the waste of computing resources while ensuring the reliability of the collision risk value.

[0099] S203, select the initial navigation path from each candidate navigation path based on the collision risk value corresponding to each candidate navigation path.

[0100] In one alternative approach, since a higher collision risk value indicates a higher risk of collision, the candidate navigation paths can be sorted in ascending order of collision risk value, and the first candidate navigation path in the sorted order can be used as the initial navigation path.

[0101] In practical applications, there may be multiple candidate navigation paths with the same low collision risk value. In this case, the candidate navigation path with the highest similarity to the robot's historical driving path can be selected as the initial navigation path.

[0102] In the above optional embodiments, on the one hand, by constructing the robot's upper limb motion convex hull, the robot's upper limbs and chassis are decoupled. While ensuring the independence of upper limb task planning, the upper limb motions are associated with chassis navigation through time series matching, achieving whole-body coordination without increasing the computational burden of high-dimensional joint modeling. On the other hand, by combining the upper limb motion convex hull, the collision risk value of each candidate navigation path is determined, which ensures that the calculated collision risk value matches the actual upper limb motion time sequence of the robot, thereby improving the accuracy of the initial navigation path and laying a reliable foundation for subsequent path optimization operations.

[0103] Based on the above embodiments, in some optional embodiments, an optional method for determining the collision risk value is provided, such as... Figure 4 As shown, it includes the following steps:

[0104] S401, based on the convex hull of the robot's upper limb movements at different driving times and the passable area information of the candidate navigation path, determine the number of collisions and the collision distance of the robot traveling on the candidate navigation path.

[0105] The number of collisions refers to the number of times the robot collides while traveling on the candidate navigation path. The collision distance is the distance over which continuous collisions occur.

[0106] In one alternative approach, a traversable convex hull for a candidate navigation path can be constructed based on the traversable area information of the candidate navigation path. The size of the convex hull must be less than or equal to the size of the actual traversable area in the traversable area information.

[0107] Based on the upper limb motion convex hull of the robot at different travel times, the spatial region traversed by the upper limb motion convex hull as the robot travels on the candidate navigation path is determined. Then, the intersection points of the convex hulls between the spatial region traversed by the upper limb motion convex hull and the passable convex hull are defined as collision locations, and the number of collision locations is recorded as the collision count. Specifically, when there is a convex hull intersection point between the spatial region traversed by the upper limb motion convex hull and the passable convex hull, it indicates that the passable convex hull cannot completely enclose the upper limb motion convex hull; in this case, a collision occurs.

[0108] For each convex hull intersection, the continuous intersection distance between the spatial region traversed by the upper limb movement convex hull after the intersection and the passable convex hull can be used as the collision distance associated with that intersection. Then, the sum of the collision distances of all convex hull intersections is used as the collision distance of the candidate navigation path.

[0109] S402, based on the number of collisions and the collision distance, determine the collision risk value of the robot traveling on the candidate navigation path.

[0110] In one alternative approach, the number of collisions and the collision distance can be normalized first to obtain collision count parameters and collision distance parameters, respectively. Then, collision parameter weights are applied to weight these parameters to obtain the collision risk value for the robot traveling on the candidate navigation path. The collision parameter weights can be set by those skilled in the art based on experience, or determined based on extensive experimental data; there are no restrictions on this.

[0111] In the above optional embodiments, by determining the collision risk value based on the number of collisions and the collision distance when the robot travels on the candidate navigation path, the rationality of the collision risk value determination can be guaranteed, laying an accurate foundation for the subsequent initial navigation path selection operation.

[0112] Based on the above embodiments, in some optional embodiments, an optional method for determining the number of collisions and the collision distance is provided, such as... Figure 5 As shown, it includes the following steps:

[0113] S501 determines the grid position of the robot on the candidate navigation path at each travel moment based on the robot's speed information.

[0114] The so-called velocity information refers to information related to the robot's speed when simulating robot movement, which may include, but is not limited to, angular velocity, linear velocity, acceleration, and centripetal acceleration. The so-called grid position refers to the robot's location in the grid map, represented by grids, during its movement.

[0115] In one alternative approach, the robot's driving process on the candidate navigation path can be simulated based on the robot's speed information, thereby obtaining the grid position of the robot on the candidate navigation path at each driving moment.

[0116] S502 determines the collision risk value of the robot at each grid position based on the upper limb movement convex hull and grid position of the robot at different driving times, as well as the passable area information of the candidate navigation path.

[0117] In one alternative approach, the upper limb motion convex hull of the robot at each grid position can be determined based on the upper limb motion convex hull and grid position of the robot at different driving times.

[0118] For each grid location, the traversable area information at that grid location can be obtained from the traversable area information of the candidate navigation path, thus determining the traversable area at that grid location. Then, based on the degree to which the traversable area at that grid location contains the upper limb motion convex hull, the collision risk value of the robot at that grid location is determined. The collision risk value is lowest when the traversable area completely contains the upper limb motion convex hull; the greater the intersection between the traversable area and the upper limb motion convex hull, the higher the collision risk value.

[0119] It is worth noting that the operation of determining the extent to which the passable area at each grid position contains the upper limb motion convex hull is the operation of performing full-body collision detection on the robot at each grid position.

[0120] S503 determines the number of collisions and the collision distance of the robot on the candidate navigation path based on the collision risk value of the robot at different grid positions.

[0121] In one alternative approach, for each grid location, the likelihood of a robot colliding at that grid location can be determined based on the relationship between the collision risk value and a risk threshold. For example, if the collision risk value is greater than or equal to the risk threshold, it is determined that the robot will collide at that grid location; if the collision risk value is less than the risk threshold, it is determined that the robot will not collide at that grid location. The risk threshold can be set by those skilled in the art based on experience, or it can be determined based on extensive experimental data; there is no limitation on this.

[0122] After determining the positions of each collided grid cell, the set of grid cell positions corresponding to each robot collision can be aggregated based on the adjacency of these positions. The number of grid cell positions in this set can then be used as the number of collisions the robot encounters on the candidate navigation path. For example, the set of grid cell positions corresponding to a single collision can be defined as the set of adjacent grid cell positions that collide with each other.

[0123] Based on the positions of each grid cell where a collision occurs, a collision path can be constructed for the robot as it travels on the candidate navigation path, and the length of the collision path can be used as the collision distance.

[0124] In the above optional embodiments, by determining the collision risk value of the robot at each grid position based on the upper limb movement convex hull of the robot at different driving times, and then combining the collision risk value of each grid position to determine the number of collisions and the collision distance, the precision of the collision risk value determination can be improved, thereby ensuring the accuracy of the collision number and collision distance determination, and laying an accurate foundation for the subsequent initial navigation path selection operation.

[0125] Based on the above embodiments, in some optional embodiments, an optional method for determining the target navigation path is provided, such as... Figure 6 As shown, it includes the following steps:

[0126] S601, based on the passable area information of the initial navigation path and the convex hull of the robot's upper limb movements at each driving moment, determines the collision grid in the initial navigation path.

[0127] The upper limb motion convex hull for each travel moment is constructed based on the robot's joint size information and the temporal sequence of upper limb motions. The collision grid refers to the grid where the upper limb motion convex hull collides with obstacles in the initial navigation path.

[0128] In one alternative approach, a traversable convex hull of the initial navigation path can be constructed based on the traversable area information of the initial navigation path; and, based on the upper limb motion convex hulls of the robot at different travel times, the spatial region traversed by the upper limb motion convex hull when the robot travels on the initial navigation path can be determined. Then, the grid containing the intersection point of the spatial region traversed by the upper limb motion convex hull and the convex hull of the traversable convex hull is used as a collision grid.

[0129] In one alternative approach, referring to the method described above, the robot's grid position on the initial navigation path at each travel moment is first determined based on the robot's speed information. Then, based on the robot's upper limb motion convex hull and grid position at different travel moments, as well as the passable area information of the initial navigation path, the collision risk value of each grid position on the initial navigation path is determined. Grid positions with collision risk values ​​greater than or equal to the risk threshold are designated as collision grid positions.

[0130] S602, for each collision grid, determine the path optimization information corresponding to the collision grid based on the grid position of the collision grid and the upper limb motion convex hull of the robot at each grid position in the initial navigation path.

[0131] In this context, the upper limb motion convex hull for each grid position is the upper limb motion convex hull at the moment the robot travels to that grid position. The path optimization information refers to the relevant information involved in optimizing the collision grid, such as the path optimization direction of the collision grid.

[0132] In one alternative approach, for each collision grid, the robot collision situation corresponding to that grid can be determined based on the grid position of the collision grid and the upper limb motion convex hull of the robot at that grid position. The robot collision situation may include, but is not limited to, the collision distance between the robot's outer contour and the obstacle.

[0133] Based on the convex hull of the robot's upper limb movements at other grid positions in the initial navigation path, and the passable area information of the initial navigation path, the robot collision situation is optimized to obtain path optimization information that can eliminate robot collisions at collision grids.

[0134] S603, optimize the initial navigation path based on the path optimization information corresponding to each collision grid to obtain the target navigation path corresponding to the navigation start and end positions.

[0135] In one alternative approach, the optimization order of each collision grid can be determined first based on their positional relationship on the initial navigation path. For example, the navigation start point of the initial navigation path can be used as a reference point to determine the reference distance between the grid position of each collision grid and the reference point; then, the collision grids are sorted in order of increasing reference distance to obtain the optimization order of each collision grid.

[0136] The initial navigation path can be locally optimized by using the path optimization information corresponding to each collision grid in the optimization order of each collision grid, thereby obtaining the target navigation path. For example, the direction of the local navigation path associated with the collision grid in the initial navigation path can be adjusted according to the path optimization direction of the collision grid, thereby achieving optimization of the collision grid.

[0137] Using the above method, a full-body contour model of the robot is dynamically generated based on the matching relationship between the upper limb movement time series and the chassis time series. This allows the local navigation process to reflect the posture and configuration changes caused by upper limb movements in real time. Furthermore, under the dynamic contour constraint, only the chassis trajectory is optimized locally. This significantly reduces computational complexity and improves planning efficiency while ensuring that the robot remains collision-free.

[0138] In the above optional embodiments, after determining the path optimization information corresponding to each collision grid, the initial navigation path can be gradually optimized locally based on the path optimization information corresponding to each collision grid to obtain the target navigation path, which can improve the accuracy of the target navigation path while ensuring the efficiency of path optimization.

[0139] Based on the above embodiments, in some optional embodiments, an optional method for determining path optimization information is provided, such as... Figure 7 As shown, it includes the following steps:

[0140] S701, based on the grid position of the collision grid and the upper limb motion convex hull of the robot at the grid position of the collision grid, determine the minimum distance between the collision grid and the upper limb motion convex hull.

[0141] The so-called minimum distance is the minimum spatial distance between the upper limb action convex hull and the collision grid.

[0142] In one alternative approach, the spatial distance between each point on the surface of the upper limb motion convex hull and the grid position of the collision grid can be calculated based on the spatial position information of the upper limb motion convex hull of the robot at the grid position of the collision grid, and the minimum spatial distance can be taken as the minimum distance between the collision grid and the upper limb motion convex hull.

[0143] S702 determines the path optimization direction corresponding to the collision grid based on the distance endpoint corresponding to the minimum distance.

[0144] Among them, the distance endpoints corresponding to the so-called minimum distance are the collision grid and the position point of the upper limb action convex hull surface with the smallest distance.

[0145] In one alternative approach, to improve the efficiency of path optimization, the optimal direction for the robot to escape the collision grid can be determined based on the position information between the two distance endpoints corresponding to the minimum distance. That is, the direction from the collision grid to the position point on the upper limb motion convex hull surface, and this direction can be used as the path optimization direction corresponding to the collision grid.

[0146] In an alternative approach, to better represent the robot's collision situation, the robot M can be defined as a swept volume (SV). The swept volume refers to the union of all instantaneously occupied spaces during the entire process of the robot moving from the navigation starting point along the initial navigation path to the navigation endpoint. For example, the form of the swept volume can be referenced in the following formula (1), where t represents each travel time; t0 is the initial travel time; t T R(t) represents the final travel time; R(t) is the rotation matrix at the corresponding time in the initial navigation path; p(t) represents the position at each travel time in the initial navigation path.

[0147] (1)

[0148] Since robot M needs to execute a sequence of actions during its initial navigation path, the representation of the sweep volume SV can be updated to the following formula (2). Here, M(t) is the robot's pose at each travel time, for example, the convex hull of the upper limb action at each travel time.

[0149] (2)

[0150] To better represent the distance between the sweep volume SV and each obstacle in the grid map, the following formula (3) can be used to calculate the collision distance between the robot's largest sweep volume Mb at each collision grid point in the grid map (i.e., the minimum distance between the collision grid and the upper limb motion convex hull).

[0151] (3)

[0152] Here, point p represents any query point. To ensure computational efficiency, point p can simply represent each collision grid cell. CSDF SV(p) is the signed distance function value that minimizes the distance between point p and the swept volume SV. If CSDF SV If (p) is negative, it means that point p is located inside the swept volume, that is, the robot will collide with point p at some point during its movement; similarly, if CSDF SV If (p) is a positive number, it means that the robot will not collide with point p during its movement; if CSDF SV If (p) is true, it means that at a certain point in time during the robot's movement, p will be on the robot's surface. SDF Mb Let be the signed distance function of the maximum scan volume Mb. R −1 (t)p−p(t) is used to transform a point p in the world coordinate system to the robot's local coordinate system at time t.

[0153] For each collision grid, after determining the target time when the collision grid p reaches the minimum distance with the robot by referring to the above formula (3), the collision grid p can be transformed to the robot's local coordinate system at the target time to obtain the observation point q corresponding to the collision grid. At this time, the observation point q is equivalent to the position of the observation point p in the coordinate system of the robot body Mb in standard posture. In the signed range field SDF of the robot body Mb By calculating the gradient at observation point q, the path optimization direction corresponding to the collision grid p can be obtained.

[0154] By adopting the above method, we can avoid the problem that the distance and gradient calculations of the sweep volume SV-SDF tend to degenerate numerically in scenarios where the robot model changes continuously over time.

[0155] S703 determines the path optimization information corresponding to the collision grid based on the minimum distance and the path optimization direction.

[0156] In one alternative approach, the minimum distance and path optimization direction of the collision grid can be mapped to the optimization information template to obtain the path optimization information corresponding to the collision grid. Alternatively, the minimum distance and path optimization direction of the collision grid can be directly used as the path optimization information corresponding to the collision grid.

[0157] In the above optional embodiments, by determining the minimum distance and path optimization direction between the collision grid and the upper limb motion convex hull based on the grid position of the collision grid and the upper limb motion convex hull of the robot at the collision position, the accuracy of the minimum distance and path optimization direction can be guaranteed, laying an accurate foundation for subsequent path optimization operations.

[0158] Based on the above embodiments, in some optional embodiments, an alternative path optimization method is provided, such as... Figure 8 As shown, it includes the following steps:

[0159] S801, for each collision grid, determine the reference grid corresponding to the collision grid in the initial navigation path based on the path optimization information corresponding to the collision grid.

[0160] The reference grid refers to the non-collision grid surrounding the collision grid. The non-collision grid is the grid that does not collide with the robot's upper limb motion convex hull.

[0161] In one alternative approach, for each collision grid, non-collision grids surrounding the collision grid can be determined based on the minimum distance corresponding to the collision grid; then, at least one non-collision grid located in the path optimization direction is used as the reference grid corresponding to the collision grid.

[0162] S802, for each reference grid, determine the grid evaluation value of the reference grid based on the grid position of the reference grid and the robot's speed information.

[0163] The grid evaluation value is used to characterize the feasibility of optimizing the collision grid to the reference grid. The smaller the grid evaluation value, the higher the feasibility of optimizing the collision grid to the reference grid.

[0164] In one alternative approach, for each reference grid, the travel restrictions for the robot to reach the grid position of the reference grid can be determined based on the grid position of the reference grid and the robot's speed information; then, the grid evaluation value of the reference grid is determined based on the positional deviation between the grid position of the reference grid and the initial navigation path, as well as the travel restrictions for the robot to reach the grid position of the reference grid.

[0165] For example, the grid evaluation value is larger when the driving restriction condition represents the greater the restriction on the robot's movement to the reference grid position, and the position deviation condition represents the greater the deviation of the reference grid position from the initial navigation path.

[0166] S803, based on the grid evaluation values ​​of each reference grid, optimizes the initial navigation path to obtain the target navigation path corresponding to the navigation start and end positions.

[0167] In one alternative approach, the reference grid with the smallest grid evaluation value among all reference grids can be selected to optimize the initial navigation path. For example, the grid position of the reference grid with the smallest grid evaluation value can be used to replace the grid position of the colliding grid in the initial navigation path, and the replaced initial navigation path can be smoothed to complete the local optimization of the initial navigation path.

[0168] By optimizing the corresponding positions in the initial navigation path sequentially based on the grid evaluation value of each reference grid associated with each collision grid, the target navigation path corresponding to the navigation start and end positions can be obtained.

[0169] In the above optional embodiments, by selecting the reference grid with the highest optimization feasibility from each reference grid of the collision grid, the initial navigation path is optimized to obtain the target navigation path, which can ensure the rationality of the target navigation path determination.

[0170] Based on the above embodiments, in some optional embodiments, an optional method for determining raster evaluation values ​​is provided, such as... Figure 9 As shown, it includes the following steps:

[0171] S901, determine the security value of the reference grid based on the path optimization information of the reference grid.

[0172] The so-called safety cost value is used to characterize the safety level at the grid position of the reference grid. The path optimization information of the reference grid is determined based on the grid position of the reference grid and the convex hull of the robot's upper limb motion at the grid position of the reference grid.

[0173] In an alternative approach, the steps described above can be referenced to determine the upper limb motion convex hull of the robot at the grid position of the reference grid based on the time it takes for the robot to travel to that grid position. Then, based on the grid position of the reference grid and the upper limb motion convex hull of the robot at that grid position, the minimum distance between the reference grid and the upper limb motion convex hull can be determined.

[0174] The safety value of the reference grid can be determined based on the relationship between the minimum distance between the reference grid and the upper limb movement convex hull and the preset safety distance.

[0175] For example, one can refer to the following formulas (4) and (5) to determine the values ​​of each reference grid x. ob Signed distance function value SDF SV (x ob The relationship between the value of the reference grid and the preset safety distance 'a' determines how the safety cost value of the reference grid is calculated. That is, in the SDF... SV (x ob When the safety distance is greater than or equal to the safety distance a, the safety cost J safety =0; in SDF SV (x ob If the distance is less than the safe distance 'a', then 'a' and 'SDF' will be... SV (x ob The cube of the difference between the two values ​​is used as the safety cost J. safety Where L3(x) is the formula for calculating the safety cost, and x is the SDF (Safety Defect Value). SV (x ob O represents the set of grid cells for the reference grid.

[0176] (4)

[0177] (5)

[0178] It is worth noting that since the robot's full-body model is a three-dimensional model, while the robot's movement trajectory is a two-dimensional plane, the three-dimensional gradient of the obstacle calculated based on SV-SDF can be projected onto the two-dimensional plane of the robot's movement to guide the robot in optimizing its navigation path.

[0179] S902, determine the path smoothing value of the reference grid based on the path position information of the initial navigation path and the grid position of the reference grid.

[0180] The path position information refers to the grid positions of each grid cell included in the initial navigation path. The path smoothness value is used to characterize the smoothness of the entire travel path when the robot travels to the reference grid cell.

[0181] In one alternative approach, a reference grid can be used to replace the corresponding collision grid. Then, based on the grid position of the reference grid and the grid positions of other grids in the path location information (excluding the collision grid), the smoothness of the initial navigation path after the replacement is calculated. Based on this smoothness, the path smoothness value of the reference grid is determined. The smoothness level indicates that the smoother the path, the smaller the path smoothness value.

[0182] For example, the calculation logic for minimizing the rate of change of acceleration of the trajectory (jerk term) can be described by referring to the following formula (6). Here, Q is the parameterized representation of the trajectory (which can be a reference grid). s is the path parameter of the trajectory, such as arc length. p(Q,s) is the position of a point on the trajectory determined by parameter Q, usually depending on a path parameter s. v is the running speed. J smoothness J is the path smoothing value. smoothness The smaller the value, the smoother the path.

[0183] (6)

[0184] S903 determines the travel limit value for the robot to travel to the reference grid based on the robot's speed information.

[0185] The so-called driving limit value represents the degree to which the robot reaches the driving parameter limit during its movement. That is, the closer the robot's movement is to the driving parameter limit, the higher the driving limit value.

[0186] In one alternative approach, the travel limit value for the robot to travel to the reference grid can be determined based on the proximity of the robot's angular velocity, linear velocity, acceleration, and centripetal acceleration in the robot's velocity information to the robot's angular velocity limit, linear velocity limit, acceleration limit, and centripetal acceleration limit, respectively.

[0187] For example, a first limit value can be calculated based on the difference between angular velocity and angular velocity limit; a second limit value can be calculated based on the difference between linear velocity and linear velocity limit; a third limit value can be calculated based on the difference between acceleration and acceleration limit; and a fourth limit value can be calculated based on the difference between centripetal acceleration and centripetal acceleration limit. Then, the sum of the first, second, third, and fourth limit values ​​is taken as the driving limit value.

[0188] S904 determines the grid evaluation value of the reference grid based on the safety cost value, path smoothing value, and driving limit value.

[0189] In one alternative approach, preset evaluation weights can be used to weight the safety cost value, path smoothing value, and driving limit value to obtain the grid evaluation value of the reference grid. The evaluation weights can be set by those skilled in the art based on experience, or determined based on extensive experimental data; there are no restrictions on this.

[0190] For example, referring to the following formula (7), for each reference grid Q corresponding to the collision grid, an evaluation weight can be used. , and The security value J of each reference grid Q is respectively... safety Path smoothing value J smoothness and driving limit value J feasibility Weighted values ​​are then applied to obtain the raster evaluation values ​​for each reference raster Q. Finally, the reference raster Q with the smallest raster evaluation value is selected as the final target raster Q used to optimize the initial navigation path. * In practical applications, the quasi-Newton method (Limited-memory Broyden–Fletcher–Goldfarb–Shanno, L-BFGS) can be directly used to solve the following formula (7) to obtain the target grid Q required for final optimization. * .

[0191] (7)

[0192] In the above optional embodiments, by calculating the safety cost value, path smoothing value, and driving limit value of the reference grid respectively, the grid evaluation value of the reference grid can be determined, which can ensure the comprehensiveness of the grid evaluation value calculation and thus lay a reliable foundation for subsequent path optimization.

[0193] Figure 10 This is a flowchart illustrating a navigation path determination method in another embodiment. Based on the above embodiments, this embodiment provides an optional example of a navigation path determination method. (Combined with...) Figure 10The specific implementation process is as follows:

[0194] S1001, Based on the robot's navigation start and end positions, determine at least two candidate navigation paths from the grid map of the area where the robot is located.

[0195] S1002, based on the robot's joint size information and the timing sequence of upper limb movements to be performed by the robot during driving, construct the convex hull of the robot's upper limb movements at each driving moment.

[0196] The upper limb movement sequence includes the upper limb movements of the robot at different moments during its movement.

[0197] S1003, for each candidate navigation path, based on the robot's upper limb motion convex hull at different driving times and the passable area information of the candidate navigation path, determine the number of collisions and collision distances of the robot driving on the candidate navigation path, and determine the collision risk value of the robot driving on the candidate navigation path based on the number of collisions and collision distances.

[0198] In one alternative approach, the robot's grid position on the candidate navigation path is determined at each driving moment based on the robot's speed information; the collision risk value of the robot at each grid position is determined based on the robot's upper limb motion convex hull and grid position at different driving moments, as well as the passable area information of the candidate navigation path; and the number of collisions and collision distances of the robot on the candidate navigation path are determined based on the collision risk values ​​of the robot at different grid positions.

[0199] S1004. Select an initial navigation path from each candidate navigation path based on the collision risk value corresponding to each candidate navigation path.

[0200] S1005, based on the passable area information of the initial navigation path and the convex hull of the robot's upper limb movements at each driving moment, determine the collision grid in the initial navigation path.

[0201] The upper limb motion convex hull for each driving moment is constructed based on the robot's joint size information and upper limb motion timing sequence.

[0202] S1006. For each collision grid, determine the path optimization information corresponding to the collision grid based on the grid position of the collision grid and the upper limb motion convex hull of the robot at each grid position in the initial navigation path.

[0203] In one alternative approach, the minimum distance between the collision grid and the upper limb motion convex hull is determined based on the grid position of the collision grid and the upper limb motion convex hull of the robot at the grid position of the collision grid; the path optimization direction corresponding to the collision grid is determined based on the distance endpoint corresponding to the minimum distance; and the path optimization information corresponding to the collision grid is determined based on the minimum distance and the path optimization direction.

[0204] S1007, For each collision grid, determine the reference grid corresponding to the collision grid in the initial navigation path based on the path optimization information corresponding to the collision grid.

[0205] The reference grid is the non-collision grid surrounding the collision grid.

[0206] S1008, for each reference grid, determine the grid evaluation value of the reference grid based on the grid position of the reference grid and the robot's speed information.

[0207] In one optional approach, the safety cost of a reference grid is determined based on the path optimization information of the reference grid; wherein, the path optimization information of the reference grid is determined based on the grid position of the reference grid and the convex hull of the robot's upper limb motion at the grid position of the reference grid; the path smoothing value of the reference grid is determined based on the path position information of the initial navigation path and the grid position of the reference grid; the travel limit value for the robot to travel to the reference grid is determined based on the robot's speed information; and the grid evaluation value of the reference grid is determined based on the safety cost value, the path smoothing value, and the travel limit value.

[0208] S1009, Based on the grid evaluation values ​​of each reference grid, optimize the initial navigation path to obtain the target navigation path corresponding to the navigation start and end positions.

[0209] The specific processes of S1001-S1009 described above can be found in the description of the above method embodiments. Their implementation principles and technical effects are similar, and will not be repeated here.

[0210] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.

[0211] Based on the same inventive concept, this application also provides a navigation path determination apparatus for implementing the navigation path determination method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more navigation path determination apparatus embodiments provided below can be found in the limitations of the navigation path determination method described above, and will not be repeated here.

[0212] In one exemplary embodiment, such as Figure 11 As shown, a navigation path determination device 1 is provided, comprising: a path generation module 10, a path selection module 20, and a path optimization module 30, wherein:

[0213] The path generation module 10 is used to determine at least two candidate navigation paths from the grid map of the area where the robot is located, based on the robot's navigation start and end positions.

[0214] The path selection module 20 is used to select an initial navigation path from each candidate navigation path based on the robot's joint size information, the action sequence to be performed by the robot during the driving process, and the passable area information of each candidate navigation path; wherein, the action sequence includes the robot's actions at different driving moments during the driving process;

[0215] The path optimization module 30 is used to optimize the initial navigation path based on the action timing sequence and the passable area information of the initial navigation path, so as to obtain the target navigation path corresponding to the navigation start and end positions.

[0216] In an exemplary embodiment, the action timing sequence includes an upper limb action timing sequence; the path selection module 20 is specifically used for:

[0217] Based on the robot's joint size information and the timing sequence of upper limb movements to be performed during the robot's movement, the upper limb movement convex hull of the robot at each movement moment is constructed. For each candidate navigation path, based on the upper limb movement convex hull of the robot at different movement moments and the passable area information of the candidate navigation path, the collision risk value of the robot driving on the candidate navigation path is determined. Based on the collision risk value corresponding to each candidate navigation path, an initial navigation path is selected from each candidate navigation path.

[0218] In one exemplary embodiment, the path selection module 20 is further configured to:

[0219] Based on the convex hull of the robot's upper limb movements at different driving times, and the passable area information of the candidate navigation path, the number of collisions and the collision distance of the robot on the candidate navigation path are determined; based on the number of collisions and the collision distance, the collision risk value of the robot on the candidate navigation path is determined.

[0220] In one exemplary embodiment, the path selection module 20 is further configured to:

[0221] Based on the robot's speed information, determine the grid position of the robot on the candidate navigation path at each driving moment; based on the robot's upper limb motion convex hull and grid position at different driving moments, as well as the passable area information of the candidate navigation path, determine the collision risk value of the robot at each grid position; based on the collision risk value of the robot at different grid positions, determine the number of collisions and collision distances of the robot traveling on the candidate navigation path.

[0222] In an exemplary embodiment, the action timing sequence includes an upper limb action timing sequence; the path optimization module 30 is specifically used for:

[0223] Based on the passable area information of the initial navigation path and the convex hull of the robot's upper limb movements at each travel moment, collision grids in the initial navigation path are determined. The convex hull of the upper limb movements at each travel moment is constructed based on the robot's joint size information and the temporal sequence of upper limb movements. For each collision grid, path optimization information corresponding to the collision grid is determined based on the grid position of the collision grid and the convex hull of the robot's upper limb movements at each grid position in the initial navigation path. The convex hull of the upper limb movements at each grid position is the convex hull of the robot's upper limb movements at the travel moment when it reaches the grid position. Based on the path optimization information corresponding to each collision grid, the initial navigation path is optimized to obtain the target navigation path corresponding to the navigation start and end positions.

[0224] In one exemplary embodiment, the path optimization module 30 is specifically used for:

[0225] Based on the grid position of the collision grid and the upper limb motion convex hull of the robot at the grid position, determine the minimum distance between the collision grid and the upper limb motion convex hull; based on the distance endpoint corresponding to the minimum distance, determine the path optimization direction corresponding to the collision grid; based on the minimum distance and the path optimization direction, determine the path optimization information corresponding to the collision grid.

[0226] In one exemplary embodiment, the path optimization module 30 is further configured to:

[0227] For each collision grid, a reference grid corresponding to the collision grid is determined in the initial navigation path based on the path optimization information corresponding to the collision grid; wherein, the reference grid is a non-collision grid surrounding the collision grid; for each reference grid, the grid evaluation value of the reference grid is determined based on the grid position of the reference grid and the robot's velocity information; based on the grid evaluation values ​​of each reference grid, the initial navigation path is optimized to obtain the target navigation path corresponding to the navigation start and end positions.

[0228] In one exemplary embodiment, the path optimization module 30 is further configured to:

[0229] Based on the path optimization information of the reference grid, the safety cost value of the reference grid is determined. The path optimization information is determined based on the grid position of the reference grid and the convex hull of the robot's upper limb motion at that grid position. Based on the path position information of the initial navigation path and the grid position of the reference grid, the path smoothing value of the reference grid is determined. Based on the robot's speed information, the travel limit value for the robot to reach the reference grid is determined. Based on the safety cost value, the path smoothing value, and the travel limit value, the grid evaluation value of the reference grid is determined.

[0230] The modules in the aforementioned navigation path determination device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.

[0231] In one exemplary embodiment, a computer device is provided that can execute the above-described robot navigation path determination method. The computer device can be a server or a terminal; if the computer device is a terminal, the terminal can be a robot. Exemplarily, if the computer device is a terminal, its internal structure diagram can be as follows: Figure 12As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When executed by the processor, the computer program implements a navigation path determination method. The display unit is used to form a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.

[0232] Those skilled in the art will understand that Figure 12 The structure shown is a block diagram of a partial structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.

[0233] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.

[0234] In one exemplary embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in the above-described method embodiments.

[0235] In one exemplary embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.

[0236] All data involved in this application (including but not limited to robot operation data) are authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.

[0237] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program mentioned can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.

[0238] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0239] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A method for determining a navigation path, characterized in that, The method includes: Based on the robot's navigation start and end positions, at least two candidate navigation paths are determined from the grid map of the area where the robot is located; Based on the robot's joint size information, the sequence of actions the robot will perform during travel, and the passable area information of each candidate navigation path, an initial navigation path is selected from each candidate navigation path; wherein, the sequence of actions includes the robot's actions at different times during travel. Based on the action timing sequence and the passable area information of the initial navigation path, the initial navigation path is optimized to obtain the target navigation path corresponding to the navigation start and end positions.

2. The method according to claim 1, characterized in that, The action sequence includes an upper limb action sequence; the selection of an initial navigation path from each candidate navigation path based on the robot's joint size information, the action sequence to be performed by the robot during navigation, and the passable area information of each candidate navigation path includes: Based on the joint size information of the robot and the timing sequence of the upper limb movements to be performed by the robot during driving, the convex hull of the upper limb movements of the robot at each driving moment is constructed; For each candidate navigation path, based on the upper limb motion convex hull of the robot at different driving times and the passable area information of the candidate navigation path, the collision risk value of the robot driving on the candidate navigation path is determined. Based on the collision risk value corresponding to each candidate navigation path, an initial navigation path is selected from the candidate navigation paths.

3. The method according to claim 2, characterized in that, The step of determining the collision risk value of the robot traveling on the candidate navigation path based on the upper limb motion convex hull of the robot at different driving times and the passable area information of the candidate navigation path includes: Based on the upper limb movement convex hull of the robot at different driving times and the passable area information of the candidate navigation path, the number of collisions and collision distances of the robot traveling on the candidate navigation path are determined. Based on the number of collisions and the collision distance, the collision risk value of the robot traveling on the candidate navigation path is determined.

4. The method according to claim 3, characterized in that, The step of determining the number of collisions and collision distances of the robot traveling on the candidate navigation path based on the upper limb motion convex hull of the robot at different driving times and the passable area information of the candidate navigation path includes: Based on the robot's speed information, determine the robot's grid position on the candidate navigation path at each driving moment; Based on the upper limb movement convex hull and grid position of the robot at different driving times, as well as the passable area information of the candidate navigation path, the collision risk value of the robot at each grid position is determined. Based on the collision risk value of the robot at different grid positions, the number of collisions and the collision distance of the robot traveling on the candidate navigation path are determined.

5. The method according to any one of claims 1-4, characterized in that, The action sequence includes an upper limb action sequence; the optimization of the initial navigation path based on the action sequence and the passable area information of the initial navigation path to obtain the target navigation path corresponding to the navigation start and end positions includes: Based on the passable area information of the initial navigation path and the convex hull of the robot's upper limb movements at each driving moment, the collision grid in the initial navigation path is determined; wherein, the convex hull of the upper limb movements at each driving moment is constructed based on the robot's joint size information and the temporal sequence of the upper limb movements; For each collision grid, path optimization information corresponding to the collision grid is determined based on the grid position of the collision grid and the upper limb motion convex hull of the robot at each grid position in the initial navigation path; wherein, the upper limb motion convex hull of each grid position is the upper limb motion convex hull of the robot at the time of travel when it travels to the grid position. Based on the path optimization information corresponding to each collision grid, the initial navigation path is optimized to obtain the target navigation path corresponding to the navigation start and end positions.

6. The method according to claim 5, characterized in that, The step of determining the path optimization information corresponding to the collision grid based on the grid position of the collision grid and the upper limb motion convex hull of the robot at each grid position in the initial navigation path includes: Based on the grid position of the collision grid and the upper limb motion convex hull of the robot at the grid position of the collision grid, determine the minimum distance between the collision grid and the upper limb motion convex hull; Based on the distance endpoint corresponding to the minimum distance, determine the path optimization direction corresponding to the collision grid; Based on the minimum distance and the path optimization direction, determine the path optimization information corresponding to the collision grid.

7. The method according to claim 5, characterized in that, The step of optimizing the initial navigation path based on the path optimization information corresponding to each collision grid to obtain the target navigation path corresponding to the navigation start and end positions includes: For each collision grid, a reference grid corresponding to the collision grid is determined in the initial navigation path based on the path optimization information corresponding to the collision grid; wherein, the reference grid is a non-collision grid surrounding the collision grid; For each reference grid, a grid evaluation value is determined based on the grid position of the reference grid and the robot's speed information; The initial navigation path is optimized based on the grid evaluation values ​​of each reference grid to obtain the target navigation path corresponding to the navigation start and end positions.

8. The method according to claim 7, characterized in that, The step of determining the grid evaluation value of the reference grid based on the grid position of the reference grid and the robot's speed information includes: The safety cost of the reference grid is determined based on the path optimization information of the reference grid; wherein the path optimization information of the reference grid is determined based on the grid position of the reference grid and the upper limb motion convex hull of the robot at the grid position of the reference grid. Based on the path position information of the initial navigation path and the grid position of the reference grid, determine the path smoothing value of the reference grid; Based on the robot's speed information, determine the travel limit value for the robot to travel to the reference grid; The grid evaluation value of the reference grid is determined based on the safety cost value, the path smoothing value, and the driving limit value.

9. A navigation path determination device, characterized in that, The device includes: The path generation module is used to determine at least two candidate navigation paths from the grid map of the area where the robot is located, based on the robot's navigation start and end positions. The path selection module is used to select an initial navigation path from each candidate navigation path based on the robot's joint size information, the action sequence to be performed by the robot during driving, and the passable area information of each candidate navigation path; wherein, the action sequence includes the robot's actions at different driving moments during driving. The path optimization module is used to optimize the initial navigation path based on the action timing sequence and the passable area information of the initial navigation path, so as to obtain the target navigation path corresponding to the navigation start and end positions.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 8.