Method for path planning and control of a robot
By considering robot posture changes in path planning and selecting the optimal path, the problem of inflexible path planning in existing technologies is solved, and more efficient path selection is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-03-24
- Publication Date
- 2026-06-12
AI Technical Summary
In existing technologies, robot path planning methods abstract the robot into a geometric shape of fixed size, which makes the path planning inflexible and unable to adapt to changes in robot posture, resulting in detours and insufficient space utilization.
By identifying multiple candidate paths from map data and combining the robot's dimensions and the geometric parameters of the path points, the robot's posture data and passage cost when passing through the path points are calculated, and the optimal path is selected.
It improves the accuracy and flexibility of route planning, avoids unnecessary detours, and optimizes space utilization.
Smart Images

Figure CN122192319A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous navigation technology, and in particular to a method for path planning and control of a robot. Background Technology
[0002] With the development of robotics technology, autonomous navigation technology for robots has also emerged. Currently, path planning technology based on robot geometric modeling has appeared, providing technical support for autonomous robot movement.
[0003] In related technologies, path planning methods typically abstract robots as isotropic or nearly isotropic rigid geometries, with the robot's dimensional parameters remaining constant throughout the path planning process. However, because this path planning approach relies on the assumption of a fixed robot shape, it can lead to a lack of flexibility in the planned paths, a problem that urgently needs to be addressed. Summary of the Invention
[0004] Based on this, this application addresses the aforementioned technical problems by providing a method for robot path planning and control, which can improve the flexibility and rationality of robot path planning and robot control.
[0005] Firstly, this application provides a path planning method for a robot, comprising:
[0006] Based on the robot's start and end positions, at least two candidate paths are determined from the map data of the area where the robot is located; each candidate path includes at least the path from the robot's current position to the next path point, and the next path point is different in different candidate paths;
[0007] For each candidate path, based on the geometric parameters of the path points and the robot's overall dimensions, the robot's pose data as it traverses the path points is determined; and,
[0008] Based on the robot's posture data when passing through path points in the candidate path, determine the passage cost of the robot through the candidate path;
[0009] The target path is selected from the candidate paths based on the travel cost corresponding to each candidate path.
[0010] In the aforementioned path planning method, at least two candidate paths are determined from the map data of the robot's location based on the robot's start and end positions. For each candidate path, the robot's posture data when passing through the path points is determined based on the geometric parameters of the path points and the robot's overall dimensions. Then, the travel cost of the robot through the candidate path is determined based on this posture data. Finally, the target path is selected from the candidate paths based on the travel cost. This method has two advantages: First, by incorporating the robot's posture data when passing through the path points of each candidate path, rather than abstracting the robot as a fixed-size geometric envelope model, it considers the robot's own posture changes during path planning, improving path planning accuracy and avoiding unnecessary detours. Second, by incorporating the robot's posture data when passing through the corresponding path points during the determination of the travel cost of each candidate path, the travel cost becomes more relevant in target path selection, making the target path determined by this method more flexible and reasonable.
[0011] In an optional embodiment of the first aspect, determining the robot's attitude data when passing through path points in the candidate path based on the geometric parameters of path points in the candidate path and the robot's external dimensions includes: for each path point in the candidate path, determining the change in the robot's center of mass position when passing through the path point based on the environmental height parameter in the geometric parameters of the path point and the robot height parameter in the external dimensions of the robot; determining the target torso yaw angle when the robot passes through the path point based on the environmental width parameter in the geometric parameters of the path point and the torso width parameter and torso thickness parameter in the external dimensions of the robot; and determining the robot's attitude data when passing through the path point based on the change in the center of mass position and / or the target torso yaw angle.
[0012] In the above embodiments, the change data of the center of mass position of the robot when passing through each path point is determined based on the environmental height parameters and the robot height parameters. The target torso yaw angle of the robot when passing through each path point is determined based on the environmental width parameters, torso width parameters, and torso thickness parameters. This allows the robot's own posture change attributes to be considered during the path planning process. Introducing posture change attributes into the path search phase enables the assessment of the robot's spatial feasibility under different postures, different joint configurations, or height adjustments. This avoids the premature elimination of potential feasible paths, improves the accuracy of path planning, and prevents the robot from unnecessary detours.
[0013] In an optional embodiment of the first aspect, determining the change data of the robot's center of mass position when passing through the path point based on the environmental height parameter in the geometric parameters of the path point and the robot height parameter in the robot's external dimensions includes: obtaining a minimum height limit value for the robot when the environmental height parameter is less than the robot height parameter; and determining the change data of the robot's center of mass position when passing through the path point based on the difference between the robot height parameter and the environmental height parameter when the environmental height parameter is greater than the minimum height limit value.
[0014] In the above embodiments, when the environmental height parameter is less than the robot height parameter, the minimum height limit value of the robot is obtained, and when the environmental height parameter is greater than the minimum height limit value, the change data of the center of mass position of the robot when passing through the path point is determined. This can improve the reference value of the center of mass position change data, make the posture data determined based on the center of mass position change data feasible, and lay the foundation for the drivability of the target path.
[0015] In an optional embodiment of the first aspect, determining the target torso yaw angle when the robot passes through the path point based on the environmental width parameter in the geometric parameters of the path point and the torso width parameter and torso thickness parameter in the robot's external dimensions includes: obtaining the robot's narrowest width limit value when the environmental width parameter is less than the torso width parameter; and determining the target torso yaw angle when the robot passes through the path point based on the environmental width parameter, torso width parameter, and torso thickness parameter when the environmental width parameter is greater than the narrowest width limit value.
[0016] In the above embodiments, when the environmental width parameter is less than the robot width parameter, the robot's narrowest width limit value is obtained, and when the environmental width parameter is greater than the narrowest width limit value, the target torso yaw angle when the robot passes through the path point is determined. This can improve the reference value of the target torso yaw angle, make the attitude data determined based on the target torso yaw angle feasible, and lay the foundation for the passability of the target path.
[0017] In an optional embodiment of the first aspect, determining the target torso yaw angle when the robot passes through a path point based on the environmental width parameter, the torso width parameter, and the torso thickness parameter includes: constructing an objective function based on the torso yaw angle as the independent variable and the robot's equivalent width as the dependent variable, according to the torso width parameter and the torso thickness parameter; solving the objective function with the constraint that the equivalent width is less than the environmental width parameter to obtain the torso yaw angle range when the robot passes through the path point; and selecting the target torso yaw angle when the robot passes through the path point from the torso yaw angle range.
[0018] The above embodiments provide a specific implementation method for determining the target torso yaw angle. The torso yaw angle is used as the independent variable and the robot's equivalent width is used as the dependent variable. Based on the torso width parameter and torso thickness parameter, an objective function is constructed so that the robot's equivalent width corresponding to different torso yaw angles can be accurately quantified, thereby improving the efficiency and accuracy of determining the target torso yaw angle.
[0019] In an optional embodiment of the first aspect, a target function is constructed based on the torso yaw angle as the independent variable and the robot's equivalent width as the dependent variable, according to the torso width parameter and the torso thickness parameter. The objective function includes: constructing a first independent variable based on the torso width parameter and the torso yaw angle; constructing a second independent variable based on the torso thickness parameter and the torso yaw angle; and constructing a target function based on the sum of the first and second independent variables, with the torso yaw angle as the independent variable and the robot's equivalent width as the dependent variable.
[0020] In the above embodiments, the dependent variable in the objective function is clearly defined, and the method for determining each independent variable is given, so that the objective function can accurately reflect the mapping relationship between the robot's torso yaw angle and the equivalent width, laying the foundation for determining the target yaw angle.
[0021] In an optional embodiment of the first aspect, determining the passage cost of the robot through the candidate path based on the posture data of the robot when passing through the path points in the candidate path includes: determining the global posture maintenance cost and the global posture change cost of the robot through the candidate path based on the posture data of the robot when passing through the path points in the candidate path; and determining the passage cost of the robot through the candidate path based on the global posture maintenance cost and the global posture change cost.
[0022] In the above embodiments, the passage cost of the robot through each candidate path is subdivided into global attitude maintenance cost and global attitude change cost, making the determined passage cost more accurate and laying the foundation for subsequent selection of the target path.
[0023] In an optional embodiment of the first aspect, determining the global attitude maintenance cost and global attitude change cost of the robot passing through the candidate path based on the attitude data of the robot passing through path points in the candidate path includes: determining the attitude change data of adjacent path points and the local attitude maintenance cost of the robot passing through the corresponding path points based on the attitude data of the robot passing through path points in the candidate path; determining the global attitude maintenance cost of the robot passing through the candidate path based on the sum of the local attitude maintenance costs of the robot passing through each path point; and determining the global attitude change cost of the robot passing through the candidate path based on the attitude change data of adjacent path points.
[0024] In the above embodiments, on the one hand, for any path point in the candidate path, its corresponding local attitude preservation cost is determined, and then based on each local attitude preservation cost, the global attitude preservation cost of the robot passing through the candidate path is determined, thereby improving the accuracy of the global attitude preservation cost. On the other hand, the attitude change data of adjacent path points is determined, and based on the attitude change data of adjacent path points, the global attitude change cost is determined, so that the global attitude change cost can characterize the global attitude change of the robot when traveling on the corresponding candidate path, thereby improving the accuracy of the global attitude change cost.
[0025] In an optional embodiment of the first aspect, the robot includes multiple structural layers, including at least two of a head layer, a torso layer, a leg layer, and a foot layer; the external dimensional parameters include the external dimensional parameters of the robot under each structural layer; the geometric parameters of each path point include the geometric parameters corresponding to the path point under each structural layer; and the posture data of the robot when passing through each path point in the candidate path is determined based on the geometric parameters of each path point in the candidate path and the external dimensional parameters of the robot, including: for each path point, determining the posture data of the robot when passing through each path point in the candidate path based on the geometric parameters corresponding to the path point under each structural layer and the external dimensional parameters of the robot under the corresponding structural layer.
[0026] In the above embodiments, the robot is structurally layered from top to bottom in the vertical dimension, and this structural layer is mapped to each path point in the vertical dimension. Based on this, the posture data is determined, which can improve the possibility and spatial adaptability of the posture data, make fuller use of the available space in the environment, and provide more accurate data support for the selection of the target path.
[0027] Secondly, this application provides a robot control method, including:
[0028] In response to the robot's request to travel within the target area, the robot's path planning reference data is obtained; the path planning reference data includes the robot's external dimensions and the start and end positions of its travel within the target area, as well as the map data of the target area.
[0029] Based on the above-mentioned robot path planning method, the target path for the robot to pass through the target area is determined according to the path planning reference data.
[0030] The robot is controlled to travel in the target area based on the posture data corresponding to each path point in the target path.
[0031] Thirdly, this application also provides a path planning device for a robot, comprising:
[0032] The candidate path determination module is used to determine at least two candidate paths from the map data of the area where the robot is located, based on the robot's start and end positions; wherein each candidate path includes at least the path from the robot's current position to the next path point, and the next path point is different in different candidate paths;
[0033] The attitude data determination module is used to determine the robot's attitude data as it passes through path points on each candidate path, based on the geometric parameters of the path points and the robot's overall dimensions; and...
[0034] The passage cost determination module is used to determine the passage cost of the robot passing through the candidate path based on the robot's posture data when passing through the path points in the candidate path;
[0035] The target path selection module is used to select the target path from the candidate paths based on the travel cost corresponding to each candidate path.
[0036] Fourthly, this application also provides a robot control device, comprising:
[0037] The reference data acquisition module is used to acquire the robot's path planning reference data in response to the robot's request to travel in the target area. The path planning reference data includes the robot's external dimensions and the start and end positions of its travel in the target area, as well as the map data of the target area.
[0038] The target path determination module is used to determine the target path for the robot to pass through the target area based on the above-mentioned robot path planning method and path planning reference data.
[0039] The robot control module is used to control the robot to move in the target area based on the posture data corresponding to each path point in the target path.
[0040] Fifthly, this application also provides a computer device, including a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the steps of the method described in any of the above aspects.
[0041] Sixthly, 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 in any of the above aspects.
[0042] In a seventh aspect, 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.
[0043] Regarding the beneficial effects of any of the technical solutions in the second to seventh 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
[0044] 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.
[0045] Figure 1 This is a schematic diagram of an optional path planning method for a robot in one embodiment;
[0046] Figure 2 This is a schematic diagram of an optional process for determining robot posture data in one embodiment;
[0047] Figure 3 This is a schematic diagram of an optional process for determining the target torso angle of a robot in one embodiment;
[0048] Figure 4 This is an optional flowchart illustrating the steps for determining the passage cost of a robot in one embodiment;
[0049] Figure 5 This is a schematic diagram of an optional process for determining the global pose change cost of a robot in one embodiment.
[0050] Figure 6 This is a schematic diagram of an alternative path planning method for a robot in another embodiment;
[0051] Figure 7 This is a schematic diagram of an optional control method for a robot in one embodiment;
[0052] Figure 8 This is a schematic diagram of an optional flow of a robot control method in another embodiment;
[0053] Figure 9 This is a schematic diagram of an optional structure of a robot's path planning device in one embodiment;
[0054] Figure 10 This is a schematic diagram of an optional structure of the robot's control device in one embodiment;
[0055] Figure 11 This is a schematic diagram of an optional internal structure of a computer device in one embodiment. Detailed Implementation
[0056] 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.
[0057] Before introducing the embodiments of this application, a brief explanation of the design background is provided: In related technologies, robots (e.g., humanoid robots) are typically abstracted into a fixed-size geometric envelope model, such as a cylinder or rigid bounding box, during the path planning phase, and environmental obstacles are uniformly expanded based on this model. This type of isotropic or near-isotropic modeling fails to reflect the geometric asymmetry of the robot in the height and lateral dimensions. When the height or lateral dimension of the passage is smaller than the robot's default envelope but still larger than its effective passage size in a specific posture, related path planning methods often directly determine that the area is impassable during the path search phase. This results in an underestimation of the availability of environmental space, limits the robot's navigation flexibility in complex indoor environments, and may cause unnecessary path detours.
[0058] Based on this, in an exemplary embodiment, such as Figure 1 As shown, a path planning method for a robot is provided. Taking the application of this method to a robot as an example, the method includes the following steps:
[0059] S101, Based on the robot's start and end positions, determine at least two candidate paths from the map data of the area where the robot is located.
[0060] The robot can be at least one of the following: humanoid robot, quadruped robot, wheeled robot, and tracked robot with autonomous navigation capabilities. This application does not limit the type of robot.
[0061] The robot's start and end positions include its initial position and its final position. The initial position can be understood as the location where the robot begins to execute this navigation task, i.e., the starting point; the final position can be understood as the target location that the robot aims to reach in this navigation task, i.e., the destination.
[0062] The robot's location area can be understood as the area where the robot is currently situated, or the area formed by the robot's start and end positions. For example, it could be the area defined by the passable space between the start and end positions, with the start and end positions as edge points. The corresponding map data can include environmental parameters for each point within this area, such as the coordinate parameters of each point and obstacle attribute parameters.
[0063] Each candidate path includes at least the path from the robot's current position to the next path point. In one case, a graph search algorithm can be used to determine each candidate path. Accordingly, each candidate path can be understood as a path segment consisting of at least two path points within the robot's area (starting from the initial position), and the next path point is different in different candidate paths.
[0064] In another case, a candidate path can be understood as all paths within the robot's area that can reach the end position from the start position in the start-end position.
[0065] The following section describes the case where candidate paths are determined based on graph search algorithms:
[0066] In one alternative implementation, at least two candidate paths can be determined from map data of the area where the robot is located, with the robot's starting position as the starting point and the direction of the robot's ending point as the target direction. For example, each candidate path may include one or more different path points. For instance, only the last path point may differ. For example, each candidate path may include a path segment from path point O to path point A. In this case, the next path point needs to be selected from points B1, B2, and B3. Accordingly, the candidate paths are: OA-B1, OA-B2, and OA-B3.
[0067] The following describes the case where the candidate path is any path that can reach the end position from the start position in the start-end position:
[0068] In one alternative implementation, multiple path searches can be performed based on map data of the robot's location, starting from the robot's initial position and ending at the robot's final position, and each path obtained from the path search can be used as a candidate path.
[0069] Optionally, the path search method may include at least one of the following: A search algorithm, dynamic window method, and topological path search algorithm. This application does not impose any limitation on the path search method used when determining at least two candidate paths.
[0070] In another alternative implementation, the robot's start and end positions and map data of the area where the robot is located can be input into a pre-trained path search model to obtain at least two candidate paths. The path search model can be built based on common neural networks, which will not be elaborated upon here. When training the path search model, sample start and end positions and sample map data can be input into the model to obtain at least two predicted paths. The model parameters are then trained based on the at least two predicted paths and the traversable path labels corresponding to the sample start and end positions to improve the search accuracy.
[0071] In the above process, map data is obtained by uniformly modeling spatial constraints under different forms. This enables the subsequent path planning process to handle complex geometric environments such as low obstacles, irregular structural areas and local occlusion based on the geometric parameters of each path point in the map data. At the same time, simplified geometric models and morphological assumptions are used to avoid high-dimensional dynamic calculations, ensuring the real-time nature of path planning and the controllability of system calculations.
[0072] S102, for each candidate path, determine the robot's posture data when passing through the path points in the candidate path based on the geometric parameters of the path points in the candidate path and the robot's external dimensions.
[0073] The geometric parameters of a path point may include at least one of the following: coordinate parameters, ambient height parameters, orientation angle, distance parameters between the path point and other path points, and ambient width parameters of the area formed by the path point and other path points.
[0074] The robot's external dimensional parameters may include at least one of the following: robot body width, robot height, robot body thickness, and outline radius. In some embodiments, the robot's external dimensional parameters may be standard robot external dimensional parameters; in other embodiments, the robot's external dimensional parameters may vary depending on the task being performed. For example, if the robot needs to hold an object throughout the current task, the robot's body thickness parameter needs to be determined by combining the standard body thickness parameter with the thickness parameter of the object, for example, it may be the sum of the two.
[0075] The robot's attitude data includes at least one of the following: the robot's center of mass position, heading angle, pitch angle, and roll angle.
[0076] When the candidate paths are determined using a graph search algorithm, since the initial segments of each candidate path are identical, the robot's attitude data when passing through the next path point in each candidate path can be determined solely based on the geometric parameters of the next path point and the robot's overall dimensions. However, if the candidate paths comprise all paths capable of reaching the end position from the start position in the start-end position range, then the robot's attitude data for each path point in the candidate paths needs to be determined based on the geometric parameters of each path point and the robot's overall dimensions.
[0077] In one optional implementation, the geometric parameters of each path point include environmental height parameters, and the corresponding robot dimensional parameters include robot height parameters. Based on the environmental height parameters and the robot height parameters of each path point, it is determined whether the robot can successfully pass through the path point. If the robot cannot successfully pass through the path point, the difference between the robot height parameter and the environmental height parameter of the path point is used as the change in the robot's center of mass position when passing through the path point. The attitude data includes the change in the center of mass position data, which is the height difference between the robot's initial center of mass position and its position after the shape change.
[0078] In another optional implementation, the geometric parameters of each path point in the candidate path and the robot's external dimensions can be input into a pre-trained posture data determination model to obtain the robot's posture data when passing through each path point in the corresponding candidate path. The posture data determination model can be built based on common neural networks, which will not be elaborated upon here. When training the posture data determination model, the sample geometric parameters of the sample points and the sample external dimensions of the sample robot can be input into the model to obtain the predicted posture data of the sample robot when passing through each sample point. Based on the posture data labels of the sample robot when passing through each sample point, the posture data determination model is trained to improve its posture prediction accuracy.
[0079] S103, Based on the robot's posture data when passing through path points in the candidate path, determine the passage cost of the robot passing through the candidate path.
[0080] The passage cost can be understood as a quantitative parameter representing the ease, cost, or risk of a robot traversing a candidate path. For a candidate path, its passage cost can be determined based on the passage costs of each path point within that path; for example, the passage cost of a candidate path can be the sum of the passage costs of all path points.
[0081] When candidate paths are determined using graph search algorithms, since the initial segments of each candidate path are identical, the difference in travel cost lies solely in the next path point. Therefore, the travel cost of a candidate path can be determined based on the robot's posture data when it passes the next path point. If the candidate path comprises all paths leading from the start position to the end position, then the travel cost of that candidate path needs to be determined based on the robot's posture data when it passes each path point.
[0082] In one alternative implementation, the conversion relationship between the posture data and the corresponding passage cost for each path point can be predetermined. For example, an objective function can be determined with the posture data corresponding to a path point as the independent variable and the passage cost corresponding to that path point as the dependent variable. Based on the above conversion relationship, the passage cost corresponding to each path point is determined according to the posture data of the robot when passing through each path point in the candidate path. Then, the passage cost for the robot to pass through the candidate path is determined according to the passage cost corresponding to each path point.
[0083] Optionally, since different robot postures may incur different costs for the robot, the impact of the passage cost corresponding to different posture data on the total passage cost may also differ. Therefore, the passage cost of a candidate path can be a weighted sum of the passage costs corresponding to each path point. The weight coefficients corresponding to different passage costs can be determined by human experience based on their cost to the robot, or through extensive experimentation; this application does not impose any limitations on this.
[0084] In some embodiments, the robot does not need to change its attitude when passing through each path point in the candidate path, and the corresponding attitude data is preset attitude data, with a travel cost of 0 corresponding to the preset attitude data. In this case, the travel cost of the robot passing through the candidate path can be determined based on the robot's position data (including coordinates and yaw angle) when passing through each path point in the candidate path.
[0085] S104. Select the target path from each candidate path based on the travel cost corresponding to each candidate path.
[0086] The target path can be understood as the preferred path for the robot to move from the starting position to the ending position.
[0087] For example, the candidate path corresponding to the target passage cost can be used as the target path. Here, the target passage cost is the smallest passage cost among all candidate paths.
[0088] In the aforementioned robot path planning method, at least two candidate paths are determined from the map data of the robot's location based on the robot's start and end positions. For each candidate path, the robot's posture data when passing through each path point is determined based on the geometric parameters of each path point and the robot's overall dimensions. Then, the travel cost of the robot through each path is determined based on this posture data. Finally, a target path is selected from the candidate paths based on the corresponding travel cost. This method has two advantages: First, by incorporating the robot's posture data when passing through each path point in the candidate path selection process, rather than abstracting the robot as a fixed-size geometric envelope model, it considers the robot's own posture changes during path planning, improving path planning accuracy and avoiding unnecessary detours. Second, by incorporating the robot's posture data when passing through each path point in the determination of the travel cost of each candidate path, the travel cost becomes more relevant in target path selection, further improving path planning accuracy and efficiency.
[0089] Based on the technical solutions of the above embodiments, this application also provides an optional embodiment. In this optional embodiment, the process of determining the posture data of the robot when passing through each path point in the candidate path based on the geometric parameters of each path point in the candidate path and the robot's external dimensions is refined.
[0090] See Figure 2 The attitude data determination steps shown include:
[0091] S201, For each path point in the candidate path, determine the change data of the robot's center of mass position when the robot passes through the path point based on the environmental height parameter in the geometric parameters of the path point and the robot height parameter in the robot's external dimensions.
[0092] Among them, the environmental height parameter can be understood as the height information of the path point in the vertical dimension, which is used to characterize the ground height of the path point's location.
[0093] The robot height parameter can be understood as the robot's vertical dimensional parameters, representing the distance between the robot's bottom support surface and its highest point. The center of mass position change data can be understood as the change in the robot's center of mass position in space; for example, the change in the robot's center of mass in the vertical direction caused by changes in its height.
[0094] In one alternative implementation, the magnitude relationship between the environmental height parameter and the robot height parameter can be determined; based on the aforementioned magnitude relationship, the change in the center of mass position of the robot when passing through the path point can be determined according to the environmental height parameter and the robot height parameter.
[0095] For example, when the environmental height parameter is greater than the robot height parameter, the change in the robot's center of mass position when passing through the path point is determined as a first preset position change data, for example, 0, indicating that the robot does not need to crouch when passing through the path point. When the environmental height parameter is less than the robot height parameter, the robot's minimum height limit value is obtained, and the relationship between the environmental height parameter and the robot's minimum height limit value is determined; based on the above relationship, the change in the robot's center of mass position when passing through the path point is determined according to the environmental height parameter and the robot height parameter. Here, the minimum height limit value represents the robot's minimum height.
[0096] For example, if the environmental height parameter is less than the minimum height limit, it is determined that the robot cannot pass through that path point, and the change in the robot's center of mass position when passing through that path point is determined to be the second preset position change data (the second preset position change data is different from the first preset position change data, and the passage cost corresponding to the second preset position change data is greater than the passage cost corresponding to the first preset position change data), for example, it is a maximum value. If the environmental height parameter is greater than the minimum height limit (indicating that the robot needs to crouch when passing through that path point), the change in the robot's center of mass position when passing through the path point is determined based on the difference between the robot height parameter and the environmental height parameter.
[0097] For example, the difference between the robot's height parameter and the environment's height parameter can be used as the change in the robot's center of gravity position when passing through a waypoint. Alternatively, the sum of the difference between the robot's height parameter and the environment's height parameter and a preset top safety margin can be used as the change in the robot's center of gravity position when passing through that waypoint. For example, the change in the robot's center of gravity position when passing through a waypoint can be determined using the following formula:
[0098] ΔH=H_standard-H_limit+δ_h;
[0099] In the formula, ΔH represents the change in the center of mass position of the robot when it passes through the path point; H_standard represents the robot height parameter; H_limit represents the environmental height parameter; and δ_h represents the preset top safety margin.
[0100] In another optional implementation, the difference between the robot height parameter and the environment height parameter, or the sum of the difference between the robot height parameter and the environment height parameter and a preset top safety margin, can be used as the initial centroid position change data when the robot passes through the path point. It is then determined whether the initial centroid position change data falls within the centroid position change interval. If so, this initial centroid position change data is used as the centroid position change data; otherwise, a second preset position change data is used as the centroid position change data. Here, the centroid position change interval is the difference between the robot height and the minimum height limit value.
[0101] In the above embodiments, when the environmental height parameter is less than the robot height parameter, the minimum height limit value of the robot is obtained, and when the environmental height parameter is greater than the minimum height limit value, the change data of the center of mass position when the robot passes through the path point is determined. This can improve the reference value of the change data of the center of mass position, make the posture data determined based on the change data of the center of mass position feasible, and lay the foundation for the drivability of the target path.
[0102] S202, based on the environmental width parameter in the geometric parameters of the path point, and the torso width and torso thickness parameters in the robot's external dimensions, determine the target torso yaw angle when the robot passes through the path point.
[0103] The environmental width parameter can be understood as the lateral width of the passable area in the local area where the path point is located, which is used to characterize the maximum passage width that the robot can safely pass through at that location.
[0104] The target torso yaw angle can be understood as the angle between the robot's torso and the velocity scheme.
[0105] In one alternative implementation, the relationship between the ambient width parameter and the torso width parameter can be determined; based on the above relationship, the target torso yaw angle when the robot passes through the path point can be determined according to the ambient width parameter, the torso width parameter, and the torso thickness parameter.
[0106] For example, when the environmental width parameter is greater than the robot width parameter, the target torso yaw angle when the robot passes through the path point is determined to be a first preset angle, for example, 0, indicating that the robot does not need to turn sideways when passing through the path point. When the environmental width parameter is less than the torso width parameter, the robot's narrowest width limit value is obtained, and the relationship between the torso width parameter and the narrowest width limit value is determined. Based on the above relationship, the target torso yaw angle when the robot passes through the path point is determined according to the environmental width parameter, the torso width parameter, and the torso thickness parameter.
[0107] For example, if the environmental width parameter is less than the narrowest width limit, it is determined that the robot cannot pass through that path point, and the target torso yaw angle when the robot passes through that path point is determined to be a second preset angle (the second preset angle is different from the first preset angle, and the passage cost corresponding to the second preset angle is greater than the passage cost corresponding to the first preset angle), for example, a maximum value. If the environmental width parameter is greater than the narrowest width limit (indicating that the robot needs to turn sideways when passing through that path point), the target torso yaw angle when the robot passes through the path point is determined based on the environmental width parameter, torso width parameter, and torso thickness parameter.
[0108] For example, by iterating through candidate yaw angles, any one of the candidate yaw angles that meets preset conditions, or the smaller one, such as the smallest one, is selected as the target torso yaw angle. The preset conditions are: the sum of the product of the torso width parameter and the cosine of the candidate yaw angle, and the product of the torso thickness parameter and the sine of the candidate yaw angle, is less than the environmental width parameter. Alternatively, the sum of the product of the torso width parameter and the cosine of the candidate yaw angle, the product of the torso thickness parameter and the sine of the candidate yaw angle, and a preset lateral safety margin, is less than the environmental width parameter.
[0109] In the above embodiments, when the environmental width parameter is less than the robot width parameter, the robot's narrowest width limit value is obtained, and when the environmental width parameter is greater than the narrowest width limit value, the target torso yaw angle when the robot passes through the path point is determined. This can improve the reference value of the target torso yaw angle, make the attitude data determined based on the target torso yaw angle feasible, and lay the foundation for the passability of the target path.
[0110] S203, determine the robot's attitude data when passing through the waypoint based on the change data of the center of mass position and / or the yaw angle of the target torso.
[0111] In the above embodiments, the change data of the center of mass position of the robot when passing through each path point is determined based on the environmental height parameters and the robot height parameters. The target torso yaw angle of the robot when passing through each path point is determined based on the environmental width parameters, torso width parameters, and torso thickness parameters. This allows the robot's own posture change attributes to be considered during the path planning process. Introducing posture change attributes into the path search phase enables the assessment of the robot's spatial feasibility under different postures, different joint configurations, or height adjustments. This avoids the premature elimination of potential feasible paths, improves the accuracy of path planning, and prevents the robot from unnecessary detours.
[0112] Based on the technical solutions of the above embodiments, this application also provides an optional embodiment. In this optional embodiment, the process of determining the target torso yaw angle of the robot when passing through a waypoint based on the environmental width parameter, torso width parameter, and torso thickness parameter is described in detail.
[0113] See Figure 3 The steps for determining the target torso angle shown include:
[0114] S301, with the torso yaw angle as the independent variable and the robot's equivalent width as the dependent variable, constructs an objective function based on the torso width and torso thickness parameters.
[0115] In one alternative implementation, a first independent variable can be constructed based on the torso width parameter and the torso yaw angle; a second independent variable can be constructed based on the torso thickness parameter and the torso yaw angle; and an objective function can be constructed based on the sum of the first and second independent variables, with the torso yaw angle as the independent variable and the robot's equivalent width as the dependent variable.
[0116] The robot's equivalent width can be understood as the maximum projected width of its overall outline in the horizontal direction when the robot is in a sideways posture.
[0117] For example, the product of the torso width parameter and the cosine of the torso yaw angle can be used as the first independent variable; the product of the torso thickness parameter and the sine of the torso yaw angle can be used as the second independent variable; and the sum of the first independent variable and the second independent variable can be used directly as the independent variable, or the sum of the first independent variable, the second independent variable and the preset lateral safety margin can be used as the independent variable.
[0118] For example, the objective function can be as follows:
[0119] W_eff(α)=W_shoulder×|cos(α)|+T_body×|sin(α)|+δ_w;
[0120] In the formula, W_eff(α) represents the equivalent width of the robot; W_shoulder represents the robot's torso width parameter; α represents the torso yaw angle; T_body represents the robot's torso thickness parameter; and δ_w represents the preset lateral safety margin.
[0121] In the above embodiments, the dependent variable in the objective function is clearly defined, and the method for determining each independent variable is given, so that the objective function can accurately reflect the mapping relationship between the robot's torso yaw angle and the equivalent width, laying the foundation for determining the target yaw angle.
[0122] S302, with the constraint that the equivalent width is less than the environmental width, solve the objective function to obtain the range of torso yaw angles when the robot passes through the path point.
[0123] Optionally, the objective function can be solved using analytical geometry, numerical iteration, or lookup table methods, and the solution can be used as the range of torso yaw angles when the robot passes through path points.
[0124] In one alternative implementation, the objective function can be input into a function solving model to obtain the torso yaw angle range when the robot passes through the path point. The function solving model can be built based on common neural networks, which will not be elaborated here. When training the function solving model, the function can be input into the model to obtain the predicted solution result. The model is then trained based on the solution labels corresponding to the sample functions and the predicted solution result to improve the attitude prediction accuracy of the function solving model.
[0125] S303, Select the target torso yaw angle when the robot passes through the path point from the torso yaw angle range.
[0126] Optionally, any one of the torso yaw angle ranges can be used as the target yaw angle when the robot passes through the path point.
[0127] Optionally, in order to minimize the travel cost for the robot when passing through the path, the lower of the torso yaw angle range, for example, the lowest one, can be used as the target yaw angle for the robot when passing through the path point.
[0128] The above embodiments provide a specific implementation method for determining the target torso yaw angle. The torso yaw angle is used as the independent variable and the robot's equivalent width is used as the dependent variable. Based on the torso width parameter and torso thickness parameter, an objective function is constructed so that the robot's equivalent width corresponding to different torso yaw angles can be accurately quantified, thereby improving the efficiency and accuracy of determining the target torso yaw angle.
[0129] Based on the technical solutions of the above embodiments, this application also provides an optional embodiment. In this optional embodiment, the process of determining the passage cost of the robot through the candidate path based on the posture data of the robot when passing through each path point in the candidate path is refined.
[0130] See Figure 4 The toll cost determination steps shown include:
[0131] S401, Based on the robot's posture data when passing through each path point in the candidate path, determine the global posture maintenance cost and global posture change cost of the robot passing through the candidate path.
[0132] The global attitude preservation cost can be understood as the sum of the local attitude preservation costs corresponding to each path point in the candidate path. The global attitude change cost can be understood as the sum of the local attitude change costs corresponding to each path point in the candidate path. The local attitude preservation cost represents the cost of the robot in that attitude; the local attitude change cost represents the cost of the robot adjusting from the previous attitude to the current attitude.
[0133] In one optional implementation, a first cost determination function can be pre-constructed, with the attitude data corresponding to a path point as the independent variable and the local attitude preservation cost of the corresponding path point as the dependent variable; and a second cost determination function can be pre-constructed, with the attitude change data corresponding to a path point as the independent variable and the local attitude change cost of the corresponding path point as the dependent variable. By solving the first cost determination function, the local attitude preservation cost corresponding to each path point is determined; by solving the second cost determination function, the local attitude change cost corresponding to each path point is determined, and the sum of the local attitude preservation costs corresponding to all path points within that path point is taken as the global attitude preservation cost; the sum of the local attitude change costs corresponding to all path points within that path point is taken as the global attitude change cost.
[0134] In this context, attitude change data can be understood as the difference between the attitude data of any path point and the attitude data of adjacent path points (in the opposite direction of travel).
[0135] S402, Based on the global attitude maintenance cost and the global attitude change cost, determine the passage cost for the robot to traverse the candidate path.
[0136] In one alternative implementation, the sum of the global attitude maintenance cost and the global attitude change cost can be directly used as the passage cost for the robot to traverse the candidate path.
[0137] In another alternative implementation, the weighted sum of the global pose maintenance cost and the global pose change cost can be used as the passage cost for the robot to traverse the candidate path. The weights corresponding to the costs in different dimensions can be determined based on human experience, and this application does not impose any limitations on this.
[0138] In another alternative implementation, when determining the travel cost of the robot through the candidate path, the robot's position data (including coordinates and yaw angle) can also be considered. That is, when determining the travel cost of the robot through the candidate path, the robot's state data S=(x,y,θ,α,ΔH) at each path point is considered.
[0139] Based on the position data of the robot when passing through each path point in the candidate path, the global movement cost of the robot passing through the candidate path is determined. Based on the global attitude maintenance cost, global movement cost, and global attitude change cost, the passage cost of the robot passing through the candidate path is determined.
[0140] For example, the travel cost of the robot traversing the candidate path can be determined based on the following formula:
[0141] F(n)=G(n)+H(n)+C_mode(α,ΔH)+C_trans(Δm);
[0142] In the formula, F(n) represents the passage cost of the robot through the candidate path; G(n)+H(n) represents the global movement cost of the robot through the candidate path; G(n) represents the movement cost of the robot moving from the current path point to the starting point; H(n) represents the movement cost of the robot moving from the current path point to the ending point; C_mode(α,ΔH) represents the global attitude maintenance cost; and C_trans(Δm) represents the global attitude change cost.
[0143] In the above embodiments, the passage cost of the robot through each candidate path is subdivided into global attitude maintenance cost and global attitude change cost, making the determined passage cost more accurate and laying the foundation for subsequent selection of the target path.
[0144] Based on the technical solutions of the above embodiments, this application also provides an optional embodiment. In this optional embodiment, the process of determining the global attitude maintenance cost and global attitude change cost of the robot passing through the candidate path based on the attitude data of the robot when passing through each path point in the candidate path is described in detail.
[0145] See Figure 5 The steps for determining the global attitude change cost shown include:
[0146] S501, based on the posture data of the robot when passing through each path point in the candidate path, determine the posture change data of adjacent path points and the local posture maintenance cost of the robot when passing through the corresponding path points.
[0147] In one alternative implementation, the local attitude preservation cost of the robot at each path point in the candidate path can be determined based on the robot's attitude data. The method for determining the local attitude preservation cost has been described in the above embodiments and will not be repeated here.
[0148] In another alternative implementation, the attitude change data between adjacent path points can be determined based on the difference between the attitude data of the robot when it passes through each path point in the candidate path.
[0149] S502, based on the sum of the local attitude maintenance costs of the robot through each path point, determine the global attitude maintenance cost of the robot through the candidate path.
[0150] In one alternative embodiment, the sum of the local pose preservation costs of the robot through each path point can be directly used as the global pose preservation cost of the robot through the candidate path.
[0151] In another alternative implementation, the weighted sum of the local attitude preservation costs of the robot through each path point can be used as the global attitude preservation cost of the robot through the candidate path. The weights of the local attitude preservation costs corresponding to different path points can be based on human experience or determined through extensive experimentation; this application does not impose any limitations on this.
[0152] For example, the global pose preservation cost of the robot traversing the candidate path can be determined based on the following formula:
[0153] C_mode=λ1×f(α)+λ2×g(ΔH);
[0154] In the formula, C_mode represents the global attitude maintenance cost; f(α) represents the sidewalking cost, which can be determined based on human experience; g(ΔH) represents the low center of gravity walking cost, which can be determined based on human experience; λ1 and λ2 are the weights corresponding to the sidewalking cost and the low center of gravity walking cost, respectively. The system can make intelligent decisions on "detour" and "change form to pass" according to actual needs by adjusting the weight coefficients.
[0155] S503, based on the attitude change data of adjacent path points, determine the global attitude change cost of the robot passing through the candidate path.
[0156] In one alternative implementation, the sum of the attitude change data of each adjacent path point can be used as the target attitude change data, and the global attitude change cost of the robot passing through the candidate path can be determined based on the target attitude change data.
[0157] For example, the correspondence between posture change data and reference posture change cost is determined in advance, and the reference posture change cost corresponding to the target posture change data is used as the global posture change cost of the robot as it passes through the candidate path.
[0158] In the above embodiments, on the one hand, for any path point in the candidate path, its corresponding local attitude preservation cost is determined, and then based on each local attitude preservation cost, the global attitude preservation cost of the robot passing through the candidate path is determined, thereby improving the accuracy of the global attitude preservation cost. On the other hand, the attitude change data of adjacent path points is determined, and based on the attitude change data of adjacent path points, the global attitude change cost is determined, so that the global attitude change cost can characterize the global attitude change of the robot when traveling on the corresponding candidate path, thereby improving the accuracy of the global attitude change cost.
[0159] Based on the technical solutions of the above embodiments, this application also provides an optional embodiment. In this optional embodiment, the robot includes multiple structural layers, including at least two of the following: head layer, torso layer, leg layer, and foot layer; the external dimensional parameters include the external dimensional parameters of the robot under each structural layer; the geometric parameters of each path point include the geometric parameters corresponding to the path point under each structural layer; under this condition, the process of determining the robot's posture data when passing through each path point in the candidate path based on the geometric parameters of each path point in the candidate path and the robot's external dimensional parameters is described: For each path point, the posture data of the robot when passing through each path point in the candidate path is determined based on the geometric parameters corresponding to the path point under each structural layer and the external dimensional parameters of the robot under the corresponding structural layer. Even if the robot's posture is adjusted, for example, squatting, causing a change in the robot's height parameters, a mapping relationship still exists between the robot and the environment (the geometric parameters of the path points).
[0160] In one alternative implementation, the robot's posture data when passing through the path point can be determined based on the geometric parameters corresponding to the path point in each structural layer and the robot's external dimensions in the corresponding structural layer.
[0161] For example, taking the torso layer as an example, the target torso yaw angle when the robot passes through a path point can be determined based on the environmental width parameter under the torso layer, as well as the torso width parameter and torso thickness parameter under the robot torso layer. Taking the head layer as an example, the change in the center of mass position when the robot passes through a path point can be determined based on the environmental height parameter under the head layer, as well as the robot height parameter under the robot head layer.
[0162] To make it easier to understand, let's illustrate the purpose of structural layering with an example: Generally, the environmental width parameter represents the narrowest width of the area where the path point is located. If the environmental width parameter is greater than the robot's torso width parameter, the robot can pass through the area; if the environmental width parameter is less than the robot's torso width parameter, the robot is deemed unable to pass through the area. However, in some cases, due to the different environmental areas, the robot can still pass through these areas.
[0163] For example, if the current environment is a trapezoidal opening with a narrow top that is smaller than the robot's torso width, it might be mistakenly assumed that the robot cannot pass through the opening. This embodiment uses structural layering to compare the top width of the trapezoid with the robot's head width, thereby determining the robot's posture data when passing through that path point. This allows the robot to utilize its variable posture as much as possible when facing restricted areas, enabling it to pass through those areas.
[0164] In the above embodiments, the robot is structurally layered from top to bottom in the vertical dimension, and this structural layer is mapped to each path point in the vertical dimension. Based on this, the posture data is determined, which can improve the possibility and spatial adaptability of the posture data, make fuller use of the available space in the environment, and provide more accurate data support for the selection of the target path.
[0165] Based on the technical solutions of the above embodiments, this application also provides an optional embodiment. In this optional embodiment, taking all paths capable of reaching the end position from the start position in the start-end position as an example, the path planning method for the robot provided by this application will be described in detail.
[0166] See Figure 6 The path planning method for the robot shown includes:
[0167] S601, based on the robot's start and end positions, determine at least two candidate paths from the map data of the area where the robot is located.
[0168] S602, for each path point in each candidate path, determine the change data of the robot's center of mass position when the robot passes through the path point based on the environmental height parameter in the geometric parameters of the path point and the robot height parameter in the robot's external dimensions.
[0169] In one embodiment, if the environmental height parameter is less than the robot height parameter, the minimum height limit value of the robot can be obtained; if the environmental height parameter is greater than the minimum height limit value, the change data of the robot's centroid position when passing through the path point can be determined based on the difference between the robot height parameter and the environmental height parameter.
[0170] For example, the change in the center of mass position of the robot when passing through a waypoint can be determined by the following formula:
[0171] ΔH=H_standard-H_limit+δ_h;
[0172] In the formula, ΔH represents the change in the center of mass position of the robot when it passes through the path point; H_standard represents the robot height parameter; H_limit represents the environmental height parameter; and δ_h represents the preset top safety margin.
[0173] S603, for each path point in each candidate path, determine the target torso yaw angle when the robot passes through the path point based on the environmental width parameter in the geometric parameters of the path point, and the torso width and torso thickness parameters in the robot's external dimensions.
[0174] In one embodiment, if the environmental width parameter is less than the torso width parameter, the narrowest width limit of the robot can be obtained; if the environmental width parameter is greater than the narrowest width limit, an objective function is constructed based on the torso width parameter and the torso thickness parameter, with the torso yaw angle as the independent variable and the robot's equivalent width as the dependent variable; the objective function is solved with the constraint that the equivalent width is less than the environmental width parameter, to obtain the torso yaw angle range when the robot passes through the path point; and the target torso yaw angle when the robot passes through the path point is selected from the torso yaw angle range.
[0175] For example, a first independent variable can be constructed based on the torso width parameter and the torso yaw angle; a second independent variable can be constructed based on the torso thickness parameter and the torso yaw angle; and an objective function can be constructed based on the sum of the first and second independent variables, with the torso yaw angle as the independent variable and the robot's equivalent width as the dependent variable.
[0176] For example, the objective function can be as follows:
[0177] W_eff(α)=W_shoulder×|cos(α)|+T_body×|sin(α)|+δ_w;
[0178] In the formula, W_eff(α) represents the equivalent width of the robot; W_shoulder represents the robot's torso width parameter; α represents the torso yaw angle; T_body represents the robot's torso thickness parameter; and δ_w represents the preset lateral safety margin.
[0179] In one embodiment, the robot includes multiple structural layers, including at least two of the following: head layer, torso layer, leg layer, and foot layer; the dimensional parameters include the dimensional parameters of the robot under each structural layer; the geometric parameters of each path point include the geometric parameters corresponding to the path point under each structural layer; accordingly, for each path point, the posture data of the robot when passing through each path point in the candidate path can be determined based on the geometric parameters corresponding to the path point under each structural layer and the dimensional parameters of the robot under the corresponding structural layer. The process of determining the posture data of the robot when passing through each path point in the candidate path based on the geometric parameters and dimensional parameters under each structural layer refers to the above-described posture data determination process, and will not be repeated here.
[0180] S604. For each candidate path, determine the passage cost of the robot through the candidate path based on the change data of the center of mass position when the robot passes through each path point in the candidate path, the yaw angle and position data of the target torso.
[0181] In one embodiment, the pose change data of adjacent path points and the local pose maintenance cost of the robot passing through the corresponding path points can be determined; based on the sum of the local pose maintenance costs of the robot passing through each path point, the global pose maintenance cost of the robot passing through the candidate path can be determined.
[0182] For example, the global pose preservation cost of the robot traversing the candidate path can be determined based on the following formula:
[0183] C_mode=λ1×f(α)+λ2×g(ΔH);
[0184] In the formula, C_mode represents the global attitude maintenance cost; f(α) represents the sidewalking cost, which can be determined based on human experience; g(ΔH) represents the low center of gravity walking cost, which can be determined based on human experience; λ1 and λ2 are the weights corresponding to the sidewalking cost and the low center of gravity walking cost, respectively. The system can make intelligent decisions on "detour" and "change form to pass" according to actual needs by adjusting the weight coefficients.
[0185] Based on the attitude change data of adjacent path points, determine the global attitude change cost of the robot passing through the candidate path; and based on the position data of the robot when passing through each path point, determine the global movement cost of the robot passing through the candidate path; based on the global attitude maintenance cost, global attitude change cost, and global movement cost, determine the passage cost of the robot passing through the candidate path.
[0186] For example, the travel cost of the robot traversing the candidate path can be determined based on the following formula:
[0187] F(n)=G(n)+H(n)+C_mode(α,ΔH)+C_trans(Δm);
[0188] In the formula, F(n) represents the passage cost of the robot through the candidate path; G(n)+H(n) represents the global movement cost of the robot through the candidate path; G(n) represents the movement cost of the robot moving from the current path point to the starting point; H(n) represents the movement cost of the robot moving from the current path point to the ending point; C_mode(α,ΔH) represents the global attitude maintenance cost; and C_trans(Δm) represents the global attitude change cost.
[0189] S605: Select the candidate path corresponding to the target passage cost as the target path.
[0190] The target passage cost is the minimum value among all passage costs.
[0191] S606 generates navigation control commands based on the robot's state data at each path point while traversing the target path.
[0192] Among them, navigation control commands are used to instruct the target robot to follow the target path.
[0193] Based on the technical solutions of the above embodiments, this application also provides an optional embodiment. In this optional embodiment, taking the determination of candidate paths based on graph search algorithms as an example, the path planning method for robots provided by this application will be described in detail.
[0194] See Figure 7 The path planning method for the robot shown includes:
[0195] S701, taking the robot's starting position as the starting point and the robot's ending position as the target direction, determines at least two candidate paths from the map data of the area where the robot is located.
[0196] For example, taking the first search as an example, starting from the robot's starting position, the next path point is searched. Each candidate path includes the starting point and the next path point. Each next path point is different. For example, each candidate path is O-A1, O-A2, O-A3.
[0197] S702, for each candidate path, determine the robot's posture data when passing the next path point in the candidate path based on the geometric parameters of the next path point in the candidate path and the robot's external dimensions.
[0198] The determination of the robot's posture data when passing through path points has been described in the above embodiments and will not be repeated here.
[0199] S703, based on the robot's posture data when passing the next path point in the candidate path, determine the passage cost when the robot passes the next path point.
[0200] The passage cost of determining the waypoints when the robot passes through them has been described in the above embodiments and will not be repeated here.
[0201] S704: Based on the passage cost corresponding to the next path point in each candidate path, select the target path from each candidate path, and take the next path point in the target path as the robot's current position in the next search process. Continue to execute the action of determining at least two candidate paths in S710 until the target path point is the termination position, and complete the path search.
[0202] In one exemplary embodiment, such as Figure 8 As shown, a robot control method is provided. Taking the application of this method to a robot controller as an example, the method includes the following steps:
[0203] S801, in response to the robot's request to pass through the target area, obtains the robot's path planning reference data.
[0204] The path planning reference data includes the robot's external dimensions and the start and end positions of its travel in the target area, as well as map data of the target area.
[0205] The target area can be a region with the starting position as the starting point and the ending position as the target point. The robot's external dimensions, starting and ending positions, and map data have been described in the above embodiments and will not be repeated here.
[0206] For example, the robot's path planning reference data can be pre-stored in a path planning reference database, and the path planning reference data can be retrieved from the corresponding database after receiving the robot's passage request.
[0207] For example, the robot's path planning reference data can also be actively obtained by the robot after there is a need to pass through the target area. For instance, when there is a need to pass through the target area, a map data acquisition request is output so that technicians can respond to the map data acquisition request and input the robot's path planning reference data.
[0208] S802 is a robot-based path planning method that determines the target path for the robot to pass through the target area based on path planning reference data.
[0209] The path planning method has been described in the above embodiments and will not be repeated here.
[0210] S803 controls the robot to travel in the target area based on the posture data corresponding to each path point in the target path.
[0211] For example, driving control commands can be generated based on the target path and sent to the robot to control the robot to drive in the target area based on the attitude data corresponding to each path point in the target path.
[0212] The driving control command includes not only the entire target path from the starting position to the ending position, but also the posture data of the robot when it passes through each path point in the target path, so as to control the robot to pass through each path point in the target path with the corresponding posture.
[0213] In the aforementioned robot control method, by responding to the robot's request to pass through the target area, path planning reference data for the robot is obtained. Based on the robot's path planning method and the path planning reference data, the target path for the robot to pass through the target area is determined, and the robot is controlled to travel within the target area based on the target path. During this process, the robot's posture data at each path point on the target path is also included when outputting the target path, enabling the robot to perform actions according to the planned guidance, reducing execution failures or path deviations caused by temporary posture adjustments, thereby improving the flexibility and rationality of robot control.
[0214] Furthermore, the target path is determined based on the following path planning method: Based on the robot's start and end positions, at least two candidate paths are determined from the map data of the robot's area. For each candidate path, the robot's posture data when passing through path points is determined based on the geometric parameters of the path points and the robot's overall dimensions. Then, based on the robot's posture data when passing through path points, the travel cost of the robot through the candidate path is determined. Finally, based on the travel cost of each candidate path, the target path is selected from the candidate paths. This method, on the one hand, incorporates the robot's posture data when passing through path points in the candidate paths during the selection process, rather than abstracting the robot as a fixed-size geometric envelope model. This allows the robot's own posture changes to be considered during path planning, improving path planning accuracy and avoiding unnecessary detours. On the other hand, in determining the travel cost of each candidate path, the robot's posture data when passing through path points makes the travel cost more relevant in target path selection, resulting in a more flexible and reasonable target path determined by the above path planning method.
[0215] 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.
[0216] Based on the same inventive concept, this application also provides a path planning device for a robot to implement the path planning method of the robot described above. The solution provided by this device is similar to the solution described in the above method. Therefore, the specific limitations of one or more robot path planning device embodiments provided below can be found in the limitations of the robot path planning method above, and will not be repeated here.
[0217] In one exemplary embodiment, such as Figure 9 As shown, a path planning device 1 for a robot is provided, comprising: a candidate path determination module 110, an attitude data determination module 120, a passage cost determination module 130, and a target path selection module 140, wherein:
[0218] The candidate path determination module 110 is used to determine at least two candidate paths from the map data of the area where the robot is located based on the robot's start and end positions; wherein each candidate path includes at least the path from the robot's current position to the next path point, and the next path point is different in different candidate paths;
[0219] The attitude data determination module 120 is used to determine the robot's attitude data when passing through path points in the candidate path, based on the geometric parameters of the path points and the robot's external dimensions for each candidate path; and,
[0220] The passage cost determination module 130 is used to determine the passage cost of the robot passing through the candidate path based on the posture data of the robot when passing through the path points in the candidate path;
[0221] The target path selection module 140 is used to select the target path from each candidate path based on the passage cost corresponding to each candidate path.
[0222] In an exemplary embodiment, the attitude data determination module 120 is specifically used for:
[0223] For each path point in the candidate path, the change in the robot's center of mass position when passing through the path point is determined based on the environmental height parameter in the geometric parameters of the path point and the robot height parameter in the robot's external dimensions. The target torso yaw angle when passing through the path point is determined based on the environmental width parameter in the geometric parameters of the path point and the torso width and torso thickness parameters in the robot's external dimensions. The attitude data of the robot when passing through the path point is determined based on the change in the center of mass position and / or the target torso yaw angle.
[0224] In one exemplary embodiment, the attitude data determination module 120 is further configured to:
[0225] If the environmental height parameter is less than the robot height parameter, obtain the robot's minimum height limit value; if the environmental height parameter is greater than the minimum height limit value, determine the change data of the robot's centroid position when passing through the path point based on the difference between the robot height parameter and the environmental height parameter.
[0226] In one exemplary embodiment, the attitude data determination module 120 is further configured to:
[0227] If the environmental width parameter is less than the torso width parameter, obtain the robot's narrowest width limit value; if the environmental width parameter is greater than the narrowest width limit value, determine the target torso yaw angle when the robot passes through the waypoint based on the environmental width parameter, torso width parameter, and torso thickness parameter.
[0228] In one exemplary embodiment, the attitude data determination module 120 is further configured to:
[0229] Using the torso yaw angle as the independent variable and the robot's equivalent width as the dependent variable, an objective function is constructed based on the torso width and torso thickness parameters. The objective function is solved with the constraint that the equivalent width is less than the environmental width, resulting in the torso yaw angle range when the robot passes through a path point. From the torso yaw angle range, the target torso yaw angle when the robot passes through a path point is selected.
[0230] In one exemplary embodiment, the attitude data determination module 120 is further configured to:
[0231] Based on the torso width parameter and torso yaw angle, a first independent variable is constructed; based on the torso thickness parameter and torso yaw angle, a second independent variable is constructed; based on the sum of the first and second independent variables, an objective function is constructed with the torso yaw angle as the independent variable and the robot's equivalent width as the dependent variable.
[0232] In an exemplary embodiment, the passage cost determination module 130 is specifically used for:
[0233] Based on the robot's posture data at each path point in the candidate path, determine the global posture maintenance cost and global posture change cost of the robot passing through the candidate path; based on the global posture maintenance cost and global posture change cost, determine the passage cost of the robot passing through the candidate path.
[0234] In an exemplary embodiment, the passage cost determination module 130 is further configured to:
[0235] Based on the robot's pose data when passing through path points in the candidate path, determine the pose change data of adjacent path points and the local pose maintenance cost of the robot passing through the corresponding path points; based on the sum of the local pose maintenance costs of the robot passing through each path point, determine the global pose maintenance cost of the robot passing through the candidate path; and based on the pose change data of adjacent path points, determine the global pose change cost of the robot passing through the candidate path.
[0236] In an exemplary embodiment, the robot includes multiple structural layers, including at least two of a head layer, a torso layer, a leg layer, and a foot layer; the dimensional parameters include the dimensional parameters of the robot under each structural layer; the geometric parameters of each path point include the geometric parameters corresponding to the path point under each structural layer; the posture data determination module 120 is further configured to:
[0237] For each path point, the robot's posture data when passing through each path point in the candidate path is determined based on the geometric parameters corresponding to the path point in each structural layer and the robot's external dimensions in the corresponding structural layer.
[0238] The various modules in the path planning device of the robot described above 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.
[0239] In one exemplary embodiment, such as Figure 10 As shown, a robot control device 2 is provided, including: a reference data acquisition module 210, a target path determination module 220, and a robot control module 230.
[0240] The reference data acquisition module 210 is used to acquire the robot's path planning reference data in response to the robot's request to travel in the target area; wherein, the path planning reference data includes the robot's external dimension parameters and the start and end positions of travel in the target area, as well as the map data of the target area;
[0241] The target path determination module 220 is used to determine the target path of the robot through the target area based on the above-mentioned robot path planning method and path planning reference data.
[0242] The robot control module 230 is used to control the robot to travel in the target area based on the posture data corresponding to each path point in the target path.
[0243] In one exemplary embodiment, a computer device is provided, which can be a server or a terminal. If the computer device is a terminal, the terminal can be a robot. This computer device can execute the aforementioned robot path planning and control methods. Exemplarily, the computer device is a terminal, and its internal structure diagram can be as follows: Figure 11 As shown, the computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface 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 interface. 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 interface is 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 the computer program is executed by the processor, it implements a path planning and control method for a robot. The display unit is used to form a visually visible image and can be a display screen, projection device, or 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.
[0244] Those skilled in the art will understand that Figure 11 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.
[0245] 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.
[0246] 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.
[0247] 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.
[0248] The data involved in this application (including but not limited to the robot's external dimensions and the geometric parameters of each path point) are all data 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.
[0249] 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.
[0250] 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.
[0251] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the scope of this 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 path planning method for a robot, characterized in that, The method includes: Based on the robot's start and end positions, at least two candidate paths are determined from the map data of the area where the robot is located; wherein each candidate path includes at least the path from the robot's current position to the next path point, and the next path point is different in different candidate paths; For each candidate path, based on the geometric parameters of the path points in the candidate path and the robot's external dimensions, the robot's posture data when passing through the path points in the candidate path is determined; and, Based on the robot's posture data when passing through path points in the candidate path, the passage cost of the robot passing through the candidate path is determined; The target path is selected from the candidate paths based on the travel cost corresponding to each candidate path.
2. The method according to claim 1, characterized in that, The step of determining the robot's posture data when passing through path points in the candidate path based on the geometric parameters of the path points in the candidate path and the robot's external dimensions includes: For each path point in the candidate path, the change data of the robot's center of mass position when passing through the path point is determined based on the environmental height parameter in the geometric parameters of the path point and the robot height parameter in the robot's external dimensions. Based on the environmental width parameter in the geometric parameters of the path point, and the torso width and torso thickness parameters in the robot's external dimensions, determine the target torso yaw angle when the robot passes through the path point; Based on the change in the center of mass position and / or the yaw angle of the target torso, determine the robot's attitude data when passing the waypoint.
3. The method according to claim 2, characterized in that, The step of determining the change in the center of mass position of the robot as it passes through the path point, based on the environmental height parameter in the geometric parameters of the path point and the robot height parameter in the robot's external dimensions, includes: If the environmental height parameter is less than the robot height parameter, obtain the robot's minimum height limit value; If the environmental height parameter is greater than the minimum height limit, the change in the center of mass position of the robot when passing the path point is determined based on the difference between the robot height parameter and the environmental height parameter.
4. The method according to claim 2, characterized in that, The step of determining the target torso yaw angle of the robot when passing through the path point, based on the environmental width parameter in the geometric parameters of the path point and the torso width and torso thickness parameters in the robot's external dimensions, includes: When the environmental width parameter is less than the torso width parameter, the narrowest width limit value of the robot is obtained; If the environmental width parameter is greater than the narrowest width limit, the target torso yaw angle when the robot passes the waypoint is determined based on the environmental width parameter, the torso width parameter, and the torso thickness parameter.
5. The method according to claim 4, characterized in that, Determining the target torso yaw angle when the robot passes the waypoint based on the torso width parameter and the torso thickness parameter includes: Using the torso yaw angle as the independent variable and the robot's equivalent width as the dependent variable, an objective function is constructed based on the torso width parameter and the torso thickness parameter. With the constraint that the equivalent width is less than the environmental width parameter, the objective function is solved to obtain the torso yaw angle range when the robot passes through the path point; From the range of torso yaw angles, select the target torso yaw angle when the robot passes the path point.
6. The method according to claim 5, characterized in that, The objective function, constructed using the torso yaw angle as the independent variable and the robot's equivalent width as the dependent variable, based on the torso width parameter and the torso thickness parameter, includes: Based on the torso width parameter and torso yaw angle, construct the first independent variable; Based on the torso thickness parameter and the torso yaw angle, a second independent variable is constructed; Based on the sum of the first and second independent variables, an objective function is constructed with the torso yaw angle as the independent variable and the equivalent width of the robot as the dependent variable.
7. The method according to any one of claims 1-6, characterized in that, The step of determining the travel cost of the robot traversing the candidate path based on the robot's posture data when passing path points in the candidate path includes: Based on the posture data of the robot when passing through the path points in the candidate path, determine the global posture maintenance cost and global posture change cost of the robot when passing through the candidate path; The passage cost of the robot through the candidate path is determined based on the global attitude maintenance cost and the global attitude change cost.
8. The method according to claim 7, characterized in that, The step of determining the global attitude maintenance cost and global attitude change cost of the robot traversing the candidate path based on the robot's attitude data when passing path points in the candidate path includes: Based on the posture data of the robot when passing through the path points in the candidate path, determine the posture change data of adjacent path points and the local posture maintenance cost of the robot when passing through the corresponding path points; Based on the sum of the local pose preservation costs of the robot through each path point, the global pose preservation cost of the robot through the candidate path is determined; and, Based on the attitude change data of the adjacent path points, the global attitude change cost of the robot passing through the candidate path is determined.
9. The method according to any one of claims 1-6, characterized in that, The robot comprises multiple structural layers, including at least two of the following: head layer, torso layer, leg layer, and foot layer. The external dimension parameters include the external dimension parameters of the robot under each structural layer; the geometric parameters of each path point include the geometric parameters corresponding to the path point under each structural layer. The step of determining the robot's posture data as it passes through each path point in the candidate path, based on the geometric parameters of each path point in the candidate path and the robot's external dimensions, includes: For each path point, the robot's posture data when passing through each path point in the candidate path is determined based on the geometric parameters corresponding to the path point in each structural layer and the robot's external dimensions in the corresponding structural layer.
10. A method for controlling a robot, characterized in that, The method includes: In response to a request for the robot to travel within a target area, path planning reference data for the robot is obtained; wherein, the path planning reference data includes the robot's external dimensions and the start and end positions of its travel within the target area, as well as map data of the target area; Based on the robot path planning method according to any one of claims 1-9, the target path of the robot through the target area is determined according to the path planning reference data; The robot is controlled to travel in the target area based on the posture data corresponding to each path point in the target path.