Method, device, computer equipment and storage medium for determining movement trajectory
By creating and utilizing relational data, the value of constant C in the trunk movement trajectory of foot robots is solved, and the problems of unstable walking and inaccurate movement of foot robots in the prior art are achieved, and the feasibility and accuracy of movement trajectory are achieved.
Patent Information
- Application Number
- CN202211088025.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-07
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2042-09-07
AI Technical Summary
The prior art is difficult to effectively determine the torso movement trajectory of foot-type robots during movement, resulting in unstable walking and inaccurate movement.
By creating the first, second and third relational data, the relationship between the trunk position and the movement duration, the movement duration and the force in contact with the foot and the ground, and the predicted rotation angle and the force respectively. Then, based on these relational data, a positive correlation between the target value J and the state data error is determined, and the value of the constant C is determined to represent the movement trajectory of the trunk.
The feasibility and accuracy of the moving trajectory are improved, ensuring that the foot-type robot can move stably to the target position and have a state with the predicted state closest to the target state.
Smart Images

Figure CN116991155B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computer technology, and in particular to a method and apparatus for determining a movement trajectory, a computer device, and a storage medium. Background Art
[0002] A legged robot is equipped with multiple legs. By controlling the lifting or lowering of the legs through the joints configured on the multiple legs, the legged robot can move, thereby realizing the legged robot simulating the walking of animals or people. When the legged robot moves, it is necessary to determine the movement trajectory of the torso of the legged robot, and then control the movement of the legged robot according to the movement trajectory. Since the movement of the legged robot is relatively complex, how to determine the movement trajectory suitable for the walking of the legged robot is a technical problem that urgently needs to be solved. Summary of the invention
[0003] The embodiments of the present application provide a method, device, computer equipment and storage medium for determining a movement trajectory, which can improve the feasibility and accuracy of the movement trajectory. The technical solution is as follows:
[0004] In one aspect, a method for determining a movement trajectory is provided, the method comprising:
[0005] Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the trunk position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force applied when the foot of the legged robot contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force, and the first relationship data and the second relationship data both include a constant C whose value is undetermined;
[0006] Based on the third relationship data, fourth relationship data is created, the fourth relationship data indicating a positive correlation between a target value J and a state data error, the state data error representing an error between target state data and predicted state data when the legged robot moves to the target position after the target movement time, the target state data including a target rotation angle of the legged robot at the target position, and the predicted state data including the predicted rotation angle;
[0007] Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0008] In another aspect, a movement trajectory determination device is provided, the device comprising:
[0009] A creation module, used to create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the trunk position of the legged robot and the moving time, the second relationship data indicates the relationship between the moving time and the force applied to the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving time and the force, and the first relationship data and the second relationship data both include a constant C whose value is undetermined;
[0010] The creation module is further used to create fourth relationship data based on the third relationship data, the fourth relationship data indicating a positive correlation between a target value J and a state data error, the state data error representing an error between target state data and predicted state data when the footed robot moves to the target position after the target movement time, the target state data including a target rotation angle of the footed robot at the target position, and the predicted state data including the predicted rotation angle;
[0011] An acquisition module is used to determine the value of the constant C when the target value J is the minimum value based on the second relationship data and the fourth relationship data, and to acquire the first relationship data corresponding to the constant C whose value has been determined, and the first relationship data corresponding to the constant C whose value has been determined is used to represent the movement trajectory of the torso of the legged robot.
[0012] In one possible implementation, the acquisition module is used to determine the value of the force when the target numerical value J is the minimum value based on the fourth relationship data; determine the value of the constant C based on the value of the force, the target movement duration and the second relationship data, and obtain the first relationship data corresponding to the constant C whose value has been determined.
[0013] In another possible implementation, the creation module is further used to create fifth relationship data, wherein the fifth relationship data indicates a relationship between a predicted angular velocity of the legged robot when it moves to a target position after the target movement time and the force; and to create the fourth relationship data based on the third relationship data and the fifth relationship data;
[0014] Wherein, the target state data also includes the target angular velocity of the footed robot when it is at the target position, and the predicted state data also includes the predicted angular velocity.
[0015] In another possible implementation, the creation module is used to set the target value J to the sum of the squares of a first difference and a second difference, wherein the first difference is the difference between the target rotation angle and the predicted rotation angle, and the second difference is the difference between the target angular velocity and the predicted angular velocity.
[0016] In another possible implementation, the creation module is further used to create sixth relationship data, wherein the sixth relationship data indicates a relationship between a predicted angular acceleration and the force when the legged robot moves to a target position after the target movement time; and to create the fourth relationship data based on the third relationship data and the sixth relationship data;
[0017] Wherein, the target state data also includes the target angular acceleration of the footed robot when it is at the target position, and the predicted state data also includes the predicted angular acceleration.
[0018] In another possible implementation, the creation module is also used to set the target value J to the sum of the squares of a first difference and a third difference, wherein the first difference is the difference between the target rotation angle and the predicted rotation angle, and the third difference is the difference between the target angular acceleration and the predicted angular acceleration.
[0019] In another possible implementation, the creation module is further used to create seventh relationship data, wherein the seventh relationship data indicates the relationship between the predicted trunk position of the legged robot when it moves to the target position after the target movement time and the force; and to create the fourth relationship data based on the third relationship data and the seventh relationship data;
[0020] Wherein, the target state data also includes the target trunk position of the legged robot when it is at the target position, and the predicted state data also includes the predicted trunk position.
[0021] In another possible implementation, the creation module is further used to create eighth relationship data, wherein the eighth relationship data indicates a relationship between a predicted movement speed of the legged robot when it moves to the target position after the target movement time and the force; and to create the fourth relationship data based on the third relationship data and the eighth relationship data;
[0022] Wherein, the target state data also includes the target moving speed of the footed robot when it is at the target position, and the predicted state data also includes the predicted moving speed.
[0023] In another possible implementation, the creation module is further used to create ninth relationship data, wherein the ninth relationship data indicates a relationship between a predicted acceleration and the force when the legged robot moves to a target position after the target movement time; and to create the fourth relationship data based on the third relationship data and the ninth relationship data;
[0024] Wherein, the target state data also includes the target acceleration of the legged robot when it is at the target position, and the predicted state data also includes the predicted acceleration.
[0025] In another possible implementation, the device further includes:
[0026] A selection module, used for selecting a plurality of sampling time points within the target movement duration;
[0027] The creation module is further used to create tenth relationship data corresponding to each sampling time point, wherein the tenth relationship data indicates the relationship between the rotation angle of the footed robot after the movement time between the sampling time point and the initial time point and the action force;
[0028] The creation module is used to create the fourth relationship data based on the third relationship data and the tenth relationship data, and the fourth relationship data indicates a positive correlation between the target value J and the state data error and the rotation angle corresponding to the sampling time point.
[0029] In another possible implementation, the device further includes:
[0030] A selection module, used for selecting a plurality of sampling time points within the target movement duration;
[0031] The creation module is further used to create an eleventh relationship data corresponding to each sampling time point, wherein the eleventh relationship data indicates a relationship between a predicted trunk position of the footed robot after a movement time between the sampling time point and an initial time point and the force;
[0032] The creation module is used to create the fourth relationship data based on the third relationship data and the eleventh relationship data, and the fourth relationship data indicates a positive correlation between the target value J and the state data error and the predicted torso position corresponding to each sampling time point.
[0033] In another possible implementation, the creation module is further used to create a friction constraint condition, wherein the friction constraint condition indicates a friction constraint condition satisfied by a force applied when the foot of the footed robot contacts the ground;
[0034] The acquisition module is used to determine, based on the second relationship data and the fourth relationship data, a value of the constant C when the target value J is a minimum value when the friction constraint condition is met.
[0035] In another possible implementation, the creation module is further used to create a spatial constraint condition of the foot of the legged robot, wherein the spatial constraint condition indicates a spatial range in which the foot of the legged robot can move, and the spatial constraint condition includes the constant C;
[0036] The acquisition module is used to determine, based on the second relationship data and the fourth relationship data, a value of the constant C when the target value J is a minimum value while satisfying the spatial constraint condition.
[0037] On the other hand, a legged robot is provided, comprising a processor and a memory, wherein the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the operations performed by the method for determining a movement trajectory as described in the above aspects.
[0038] On the other hand, a control device is provided, wherein the legged robot includes a processor and a memory, wherein the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the operations performed by the method for determining a movement trajectory as described in the above aspects.
[0039] On the other hand, a computer-readable storage medium is provided, in which at least one computer program is stored. The at least one computer program is loaded and executed by a processor to implement the operations performed by the method for determining a movement trajectory as described in the above aspects.
[0040] On the other hand, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the operations performed by the movement trajectory determination method as described in the above aspects are implemented.
[0041] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0043] Figure 1 It is a structural diagram of an implementation environment provided by an embodiment of the present application;
[0044] Figure 2 is a flow chart of a method for determining a movement trajectory provided in an embodiment of the present application;
[0045] Figure 3 is a flow chart of another method for determining a movement trajectory provided in an embodiment of the present application;
[0046] Figure 4 is a flow chart of another method for determining a movement trajectory provided in an embodiment of the present application;
[0047] Figure 5 is a flow chart of another method for determining a movement trajectory provided in an embodiment of the present application;
[0048] Figure 6 is a flow chart of another method for determining a movement trajectory provided in an embodiment of the present application;
[0049] Figure 7 is a flow chart of another method for determining a movement trajectory provided in an embodiment of the present application;
[0050] Figure 8 is a flow chart of another method for determining a movement trajectory provided in an embodiment of the present application;
[0051] Fig. 9 is a flow chart of another method for determining a movement trajectory provided in an embodiment of the present application;
[0052] Fig.10 is a flow chart of another method for determining a movement trajectory provided in an embodiment of the present application;
[0053] Fig.11 is a flow chart of another method for determining a movement trajectory provided in an embodiment of the present application;
[0054] Fig.12 is a schematic diagram of a spatial range provided in an embodiment of the present application;
[0055] Fig.13 is a flow chart of another method for determining a movement trajectory provided in an embodiment of the present application;
[0056] Fig.14 is a flow chart of another method for determining a movement trajectory provided in an embodiment of the present application;
[0057] Fig.15 is a framework diagram of controlling the movement of a legged robot of a legged robot system provided in an embodiment of the present application;
[0058] Fig.16 is a structural schematic diagram of a movement trajectory determination device provided in an embodiment of the present application;
[0059] Fig.17 is a structural schematic diagram of a movement trajectory determination device provided in an embodiment of the present application;
[0060] Fig.18 is a schematic diagram of the structure of a terminal provided in an embodiment of the present application;
[0061] Fig.19 It is a structural diagram of a server provided in an embodiment of the present application. DETAILED DESCRIPTION
[0062] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.
[0063] The terms "first", "second", "third", "fourth", "fifth", "sixth", etc. used in this application may be used in this article to describe various concepts, but unless otherwise specified, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of this application, the first relationship data may be referred to as the second relationship data, and similarly, the second relationship data may be referred to as the first relationship data.
[0064] The terms "at least one", "a plurality of", "each", and "any" used in this application include one, two or more than two, and a plurality of includes two or more than two, and each refers to each of the corresponding plurality, and any refers to any one of the plurality. For example, the plurality of sampling time points include three sampling time points, and each refers to each of the three sampling time points, and any refers to any one of the three sampling time points, which can be the first sampling time point, or the second sampling time point, or the third sampling time point.
[0065] It should be noted that the information (including but not limited to the captured environmental images) and data (including but not limited to movement trajectories and relationship data, etc.) involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions. For example, the captured environmental images involved in this application are all obtained with full authorization.
[0066] Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making.
[0067] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.
[0068] Computer Vision (CV) is a science that studies how to make machines "see". To put it more specifically, it refers to machine vision such as using cameras and computers to replace human eyes to identify and measure targets, and further processing graphics so that computer processing becomes an image that is more suitable for human observation or transmission to instruments for detection. As a scientific discipline, computer vision studies related theories and technologies, and attempts to establish an artificial intelligence system that can obtain information from images or multi-dimensional data. Computer vision technology usually includes image processing, image recognition, image semantic understanding, image retrieval, OCR (Optical Character Recognition), video processing, video semantic understanding, video content / behavior recognition, three-dimensional object reconstruction, 3D technology, virtual reality, augmented reality, simultaneous positioning and mapping, and other technologies, as well as common biometric recognition technologies such as face recognition and fingerprint recognition.
[0069] The solution provided in the embodiment of the present application is based on artificial intelligence computer vision technology, and the legged robot can determine the target position, so as to subsequently determine the movement trajectory of the torso of the legged robot, and realize the movement of the legged robot to the target position based on the movement trajectory.
[0070] The movement trajectory determination method provided in the embodiment of the present application is executed by a legged robot or a control device.
[0071] When the method is executed by a legged robot, the legged robot determines the movement trajectory of the trunk of the legged robot when it moves from an initial position to a target position, and then controls the legged robot to move toward the target position according to the movement trajectory. During the movement, the trunk of the legged robot moves according to the movement trajectory, thereby realizing the walking of the legged robot.
[0072] When the method is executed by a control device, the control device determines the movement trajectory of the trunk of the legged robot when it moves from an initial position to a target position, and subsequently controls the legged robot to move to the target position according to the movement trajectory. The control device is a server or other form of device. Optionally, the server is an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.
[0073] In some embodiments, the computer program involved in the embodiments of the present application may be deployed and executed on a control device, or on multiple control devices located at one location, or on multiple control devices distributed at multiple locations and interconnected by a communication network. Multiple control devices distributed at multiple locations and interconnected by a communication network may constitute a blockchain system.
[0074] In some embodiments, it is taken as an example that the method is executed by a control device. Figure 1 is a schematic diagram of an implementation environment provided by an embodiment of the present application, such as Figure 1 As shown, the implementation environment includes a legged robot 101 and a control device 102. The legged robot 101 establishes a communication connection with the control device 102 and interacts with each other through the established communication connection.
[0075] The legged robot 101 is used to control at least one leg to lift or drop to realize the walking of the legged robot. The control device 102 is used to provide services for the legged robot 101, and can determine the movement trajectory of the trunk of the legged robot for the legged robot 101, and send the movement trajectory to the legged robot 101, so that the legged robot 101 controls the movement of the legged robot according to the movement trajectory.
[0076] Optionally, the legged robot 101 is configured with a perception system, through which an image of the moving direction of the legged robot 101 is obtained, and the image is sent to the control device 102. The control device 102 processes the image to obtain the target position of the legged robot 101, and based on the target position of the legged robot 101, the movement trajectory of the torso of the legged robot 101 when it moves from an initial position to a target position is determined.
[0077] Figure 2 is a flow chart of a method for determining a moving trajectory provided in an embodiment of the present application, the method being executed by a legged robot, such as Figure 2 As shown, the method includes:
[0078] 201. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0079] In the embodiment of the present application, the legged robot is a robot that moves by simulating the walking posture of an animal or a person, and the legged robot is a multi-legged robot, for example, the legged robot is a bipedal robot, a quadrupedal robot or a hexapedal robot, etc. When the legged robot moves, the feet of the legged robot are controlled to be lifted or lowered, thereby achieving walking of the legged robot.
[0080] For the first relational data, the first relational data is used to represent the moving trajectory of the trunk of the legged robot when it moves. The created first relational data includes a constant C. At this time, the value of the constant C has not been determined. The constant C contained in the first relational data is also an unknown number C. Once the value of the constant C is determined, the value of the constant C will no longer change. The constant C is used to represent the relationship between the trunk position and the moving duration. Therefore, based on the created first relational data, the trunk position of the legged robot after any moving duration cannot be determined. At this time, the trunk position of the legged robot can only be represented by the constant C with an undetermined value and the moving duration. When the value of the constant C contained in the first relational data has been determined, the constant C is also a known number C. Based on the first relational data containing the constant C with a determined value, the trunk position of the legged robot after any moving duration can be determined.
[0081] As for the second relationship data, the second relationship data is used to represent the relationship between the force exerted on the foot of the legged robot when it contacts the ground and the moving time. In the embodiment of the present application, the legged robot relies on the contact between the foot and the ground to support the legged robot to stand or walk, and the foot of the legged robot is subjected to force when it contacts the ground. The created second relationship data reflects the force exerted on the foot of the legged robot during the movement. The created second relationship data contains a constant C whose value is not determined. When the value of constant C is not determined, the second relationship data can be used to represent the force exerted on the foot of the legged robot when it contacts the ground after the moving time has passed by any moving time and constant C.
[0082] For the third relationship data, the rotation angle is the rotation angle of the trunk of the legged robot, and the rotation angle can reflect the posture of the legged robot. The target position is the position that the legged robot is about to reach. The target moving time is the time required for the legged robot to move from the current initial position to the target position. In the embodiment of the present application, the target time is an arbitrary time. Given the target moving time required for the legged robot to move from the current initial position to the target position to be reached, when the legged robot moves to the target position after the target moving time, the predicted rotation angle of the legged robot is related to the force exerted on the foot of the legged robot when it contacts the ground. Therefore, the third relationship data created reflects the influence of the force exerted on the foot of the legged robot when it contacts the ground on the rotation angle of the trunk of the legged robot.
[0083] 202. Based on the third relationship data, fourth relationship data are created, and the fourth relationship data indicates a positive correlation between the target value J and the state data error, and the state data error represents the error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement time, and the target state data includes the target rotation angle of the legged robot at the target position, and the predicted state data includes the predicted rotation angle.
[0084] Among them, the target state data is the state data of the legged robot when the legged robot is expected to move to the target position. In the embodiment of the present application, the target state data includes the target rotation angle of the trunk when the legged robot is expected to move to the target position, and the target rotation angle is a given known quantity. The third relationship data indicates the relationship between the predicted rotation angle of the trunk of the legged robot and the force exerted on the foot of the legged robot when the legged robot moves to the target position after the target movement time has passed. Based on the third relationship data, the predicted rotation angle of the trunk of the legged robot when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground.
[0085] In the embodiment of the present application, the error between the target state data and the predicted state data includes a rotation angle error. Since the target rotation angle is a known quantity, given the target rotation angle of the trunk when the footed robot moves to the target position, the rotation angle error between the target rotation angle and the predicted rotation angle can be determined based on the predicted rotation angle and the target rotation angle, and the rotation angle error can be represented by the force exerted on the foot of the footed robot when it contacts the ground. Therefore, the created fourth relationship data indicates the positive correlation between the target value J and the state data error, and can also reflect the relationship between the target value J and the force exerted on the foot of the footed robot when it contacts the ground.
[0086] 203. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0087] In an embodiment of the present application, in the fourth relationship data, the target value J is positively correlated with the state data error, that is, the size of the target value J can reflect the size of the state data error. Therefore, the minimum value of the target value J is determined as much as possible to make the state data error small enough, so as to ensure that the predicted state data is closest to the target state data, and then ensure that when the subsequent footed robot moves according to the determined moving trajectory, the state data that the footed robot can have when it moves to the target position is closest to the target state data.
[0088] Furthermore, the second relationship data indicates the relationship between the moving time and the force exerted on the foot of the legged robot when it contacts the ground, and the second relationship data includes a constant C whose value is not determined, and the fourth relationship data reflects the relationship between the target value J and the force exerted on the foot of the legged robot when it contacts the ground, that is, the target value J is related to the constant C. When the target value J takes the minimum value, the value of the constant C is also determined, that is, at this time, the constant C is also a known number C. When the constant C whose value has been determined is substituted into the first relationship data, the first relationship data corresponding to the constant C whose value has been determined is obtained. The first relationship data corresponding to the constant C whose value has been determined can reflect the change of the trunk position of the legged robot with the moving time, and the first relationship data corresponding to the constant C whose value has been determined represents the moving trajectory of the trunk of the legged robot. Based on the moving trajectory, the trunk position of the legged robot after any moving time can be determined.
[0089] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory.
[0090] exist Figure 2 On the basis of the shown embodiment, in the embodiment of the present application, taking the case where the state data of the legged robot also includes angular velocity as an example, the movement trajectory of the torso of the legged robot is determined using the state data including the rotation angle and angular velocity. The specific process is described in detail in the following embodiment.
[0091] Figure 3 is a flow chart of a method for determining a moving trajectory provided in an embodiment of the present application, the method being executed by a legged robot, such as Figure 3 As shown, the method includes:
[0092] 301. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0093] In one possible implementation, creating the first relationship data includes setting the first relationship data to a sum of a product of a constant C with an undetermined value and a time matrix and a first constant matrix.
[0094] Among them, the time matrix is used to represent the movement duration, and the first constant matrix is an arbitrary constant matrix, and the value of the first constant matrix is determined. In the embodiment of the present application, the product of the constant C with an undetermined value and the time matrix represents the change in the trunk position of the legged robot relative to the initial trunk position during the movement. The legged robot moves from the initial position, and during the movement of the legged robot, the trunk position of the legged robot changes with the movement duration.
[0095] Optionally, the first constant matrix is the initial trunk position. The initial trunk position is a known quantity. In the embodiment of the present application, after the legged robot moves for any moving duration, the trunk position of the legged robot has a corresponding trunk position change, and the sum of the trunk position change corresponding to the moving duration and the initial trunk position of the legged robot when it starts moving is taken as the trunk position corresponding to the legged robot after any moving duration, thereby reflecting the relationship between the trunk position and the moving duration, and subsequently determining the movement trajectory of the trunk of the legged robot through the first relationship data.
[0096] In a possible implementation, the second relational data is used to describe the dynamic constraints that the legged robot needs to satisfy when moving, that is, the created second relational data satisfies the following relationship:
[0097] TC+d=AF total +b
[0098] Where T is used to represent the time matrix of the moving duration, C is a constant with an undetermined value, d is a constant matrix, A is used to represent the first coefficient matrix, and F total Used to represent the force exerted on the foot of a legged robot when it contacts the ground; b is used to represent the constant matrix.
[0099] Optionally, the first coefficient matrix, constant matrix d and constant matrix b are all determined based on the target movement duration. In the embodiment of the present application, the first coefficient matrix, constant matrix d and constant matrix b whose values are not determined are all matrices containing movement duration. When the target movement duration is given, the values of the first coefficient matrix, constant matrix d and constant matrix b are determined.
[0100] In one possible implementation, creating the third relationship data includes: setting the third relationship data to: the predicted rotation angle is the sum of the product of the second coefficient matrix and the force matrix and the second constant matrix.
[0101] Among them, the force matrix is a matrix composed of the forces exerted on at least one foot of the legged robot when it contacts the ground; the second coefficient matrix is used to represent the coefficients of the force matrix, and the second constant matrix is an arbitrary constant matrix, and the parameter values in the second constant matrix are determined.
[0102] Optionally, the second coefficient matrix and the second constant matrix are both determined based on the target movement duration. In an embodiment of the present application, the second coefficient matrix with undetermined values and the second constant matrix with undetermined values are both matrices containing movement durations, and the values of the second coefficient matrix and the second constant matrix are determined when the target movement duration is given.
[0103] 302. Create fifth relationship data, wherein the fifth relationship data indicates a relationship between a predicted angular velocity of the legged robot when it moves to a target position after a target movement time and a force applied when a foot of the legged robot contacts the ground.
[0104] In the implementation of the present application, the angular velocity of the legged robot is the angular velocity of the torso of the legged robot. The angular velocity of the torso of the legged robot will be affected by the force exerted by the foot of the legged robot on the ground. The angular velocity of the torso is related to the force exerted by the foot of the legged robot on the ground. Therefore, the fifth relationship data created reflects the influence of the force exerted by the foot of the legged robot on the angular velocity of the torso of the legged robot when the legged robot moves to the target position after the target movement time.
[0105] In one possible implementation, fifth relationship data is created, including: the predicted angular velocity of the trunk of the legged robot when it is moved to the target position is the sum of the product of the third coefficient matrix and the force matrix and the third constant matrix.
[0106] Among them, the force matrix is a matrix composed of the forces exerted on at least one foot of the legged robot when it contacts the ground; the third coefficient matrix is used to represent the coefficients of the force matrix, and the third constant matrix is an arbitrary constant matrix, and the parameter values in the third constant matrix are determined.
[0107] Optionally, the third coefficient matrix and the third constant matrix are both determined based on the target movement duration. In an embodiment of the present application, the third coefficient matrix with undetermined values and the third constant matrix with undetermined values are both matrices containing movement durations, and the values of the third coefficient matrix and the third constant matrix are determined when the target movement duration is given.
[0108] 303. Based on the third relationship data and the fifth relationship data, fourth relationship data are created, wherein the fourth relationship data indicates a positive correlation between the target value J and the state data error, wherein the state data error represents an error between target state data and predicted state data when the legged robot moves to the target position after the target movement time, wherein the target state data includes a target rotation angle and a target angular velocity of the legged robot at the target position, and the predicted state data includes a predicted rotation angle and a predicted angular velocity.
[0109] In an embodiment of the present application, the target state data includes the target rotation angle and target angular velocity of the trunk when the legged robot is expected to move to the target position, and the target rotation angle and target angular velocity are both known quantities. The third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving time and the force exerted on the foot of the legged robot when it contacts the ground. Based on the third relationship data, the predicted rotation angle of the trunk when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground. The fifth relationship data indicates the relationship between the predicted angular velocity of the legged robot when it moves to the target position after the target moving time and the force exerted on the foot of the legged robot when it contacts the ground. Based on the fifth relationship data, the predicted angular velocity of the trunk when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground.
[0110] In an embodiment of the present application, the error between the target state data and the predicted state data includes a rotation angle error and an angular velocity error. Since the target rotation angle and the target angular velocity are both known quantities, given the target rotation angle and the target angular velocity of the trunk when the footed robot moves to the target position, based on the predicted rotation angle and the target rotation angle, the rotation angle error between the target rotation angle and the predicted rotation angle can be determined, and based on the predicted angular velocity and the target angular velocity, the angular velocity error between the target angular velocity and the predicted angular velocity can be determined, and the rotation angle error and the angular velocity error can both be represented by the force exerted on the foot of the footed robot when it contacts the ground. Therefore, the created fourth relationship data indicates the positive correlation between the target value J and the state data error, and can also reflect the relationship between the target value J and the force exerted on the foot of the footed robot when it contacts the ground.
[0111] In one possible implementation, step 303 includes: setting the target value J to the sum of the squares of a first difference and a second difference, wherein the first difference is the difference between the target rotation angle and the predicted rotation angle of the legged robot when the legged robot is at the target position, and the second difference is the difference between the target angular velocity and the predicted angular velocity of the legged robot when the legged robot is at the target position.
[0112] In an embodiment of the present application, the target value J is set to the difference between the target rotation angle and the predicted rotation angle when the legged robot is at the target position, and the sum of the squares of the difference between the target angular velocity and the predicted angular velocity when the legged robot is at the target position, so that the target value J has an extreme value, so that the minimum value of the target value J can be determined subsequently.
[0113] It should be noted that the embodiment of the present application is explained by taking the state data of the legged robot including the rotation angle and angular velocity of the torso of the legged robot as an example, while in another embodiment, there is no need to execute the above steps 302-303, but other methods are adopted to create fourth relationship data based on the third relationship data, and the fourth relationship data indicates a positive correlation between the target value J and the state data error, and the state data error represents the error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement time, and the target state data includes the target rotation angle of the legged robot at the target position, and the predicted state data includes the predicted rotation angle of the legged robot at the target position.
[0114] 304. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0115] In an embodiment of the present application, in the fourth relationship data, the target value J is positively correlated with the state data error, that is, the size of the target value J can reflect the size of the state data error. Therefore, the minimum value of the target value J is determined as much as possible to make the state data error small enough, so as to ensure that the predicted rotation angle and predicted angular velocity of the trunk of the footed robot when it moves to the target position according to the determined moving trajectory are close to the target rotation angle and target angular velocity, respectively, that is, the predicted state data is closest to the target state data, thereby ensuring that when the subsequent footed robot moves according to the determined moving trajectory, the state data that the footed robot can have when it moves to the target position is closest to the target state data.
[0116] Furthermore, the second relationship data indicates the relationship between the moving time and the force exerted on the foot of the legged robot when it contacts the ground, and the second relationship data includes a constant C whose value is not determined, and the fourth relationship data reflects the relationship between the target value J and the force exerted on the foot of the legged robot when it contacts the ground, that is, the target value J is related to the constant C. When the target value J takes the minimum value, the value of the constant C is also determined, that is, at this time, the constant C is also a known number C. When the constant C whose value has been determined is substituted into the first relationship data, the first relationship data corresponding to the constant C whose value has been determined is obtained. The first relationship data corresponding to the constant C whose value has been determined can reflect the change of the trunk position of the legged robot with the moving time, and the first relationship data corresponding to the constant C whose value has been determined represents the moving trajectory of the trunk of the legged robot. Based on the moving trajectory, the trunk position of the legged robot after any moving time can be determined.
[0117] In one possible implementation, the process of determining the value of constant C when the target numerical value J is the minimum value includes: determining the value of the force applied to the foot of the legged robot when the target numerical value J is the minimum value based on the fourth relationship data; determining the value of constant C based on the value of the force applied to the foot of the legged robot when the foot is in contact with the ground, the target movement duration and the second relationship data, and obtaining the first relationship data corresponding to the constant C whose value has been determined.
[0118] In the embodiment of the present application, the fourth relationship data indicates the relationship between the target value J and the force exerted on the foot of the legged robot when it contacts the ground. Based on the fourth relationship data, the value of the force exerted on the foot of the legged robot when it contacts the ground when the target value J takes the minimum value can be determined. When the force with the determined value is substituted into the second relationship data, the value of the constant C can be determined. When the constant C with the determined value is substituted into the first relationship data, the first relationship data corresponding to the constant C with the determined value is obtained.
[0119] Optionally, when the legged robot includes multiple feet, based on the fourth relationship data, the value of the force on which each foot of the legged robot is in contact with the ground when the target value J is the minimum value is determined. In the embodiment of the present application, by determining the value of the force on which each foot of the legged robot is in contact with the ground, the contact situation between each foot of the legged robot and the ground can be known.
[0120] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory.
[0121] In addition, when determining the moving trajectory of the legged robot's trunk, the influence of the angular velocity of the legged robot's trunk is taken into account to ensure that when moving to the target position according to the determined moving trajectory, the angular velocity of the legged robot's trunk is close to the target angular velocity, thereby ensuring the accuracy and feasibility of the determined moving trajectory.
[0122] exist Figure 2 On the basis of the illustrated embodiment, taking the case where the state data of the legged robot also includes angular acceleration as an example, the movement trajectory of the trunk of the legged robot is determined using the state data including the rotation angle and angular acceleration. The specific process is described in detail in the following embodiment.
[0123] Figure 4 is a flow chart of a method for determining a moving trajectory provided in an embodiment of the present application, the method being executed by a legged robot, such as Figure 4 As shown, the method includes:
[0124] 401. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0125] The step 401 is the same as the above step 301 and will not be described again.
[0126] 402. Create sixth relationship data, where the sixth relationship data indicates a relationship between a predicted angular acceleration of the legged robot when it moves to a target position after a target movement time and a force applied when a foot of the legged robot contacts the ground.
[0127] In the implementation of the present application, the angular acceleration of the legged robot is the angular acceleration of the torso of the legged robot, and the angular acceleration of the torso of the legged robot will be affected by the force exerted by the foot of the legged robot in contact with the ground, that is, the angular acceleration of the torso of the legged robot is related to the force exerted by the foot of the legged robot in contact with the ground. Therefore, the sixth relationship data created reflects the influence of the force exerted by the foot of the legged robot in contact with the ground on the angular acceleration of the torso of the legged robot when the legged robot moves to the target position after the target moving time.
[0128] In one possible implementation, creating the sixth relationship data includes: calculating the predicted angular velocity of the trunk of the legged robot when it is at the target position as the sum of the product of the fourth coefficient matrix and the force matrix and the fourth constant matrix.
[0129] Among them, the force matrix is a matrix composed of the forces exerted on at least one foot of the legged robot when it contacts the ground; the fourth coefficient matrix is used to represent the coefficients of the force matrix, and the fourth constant matrix is an arbitrary constant matrix, and the parameter values in the fourth constant matrix are determined.
[0130] Optionally, the fourth coefficient matrix and the fourth constant matrix are both determined based on the target movement duration. In an embodiment of the present application, the fourth coefficient matrix with undetermined values and the fourth constant matrix with undetermined values are both matrices containing movement durations, and the values of the fourth coefficient matrix and the fourth constant matrix are determined when the target movement duration is given.
[0131] 403. Based on the third relationship data and the sixth relationship data, fourth relationship data are created, wherein the fourth relationship data indicates a positive correlation between the target value J and the state data error, wherein the state data error represents an error between target state data and predicted state data when the legged robot moves to the target position after the target movement time, wherein the target state data includes a target rotation angle and a target angular acceleration of the legged robot at the target position, and the predicted state data includes a predicted rotation angle and a predicted angular acceleration.
[0132] In an embodiment of the present application, the target state data includes the target rotation angle and target angular acceleration of the trunk when the legged robot is expected to move to the target position, and the target rotation angle and target angular acceleration are both known quantities. The third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving time and the force exerted on the foot of the legged robot when it contacts the ground. Based on the third relationship data, the predicted rotation angle of the trunk when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground. The sixth relationship data indicates the relationship between the predicted angular acceleration of the legged robot when it moves to the target position after the target moving time and the force exerted on the foot of the legged robot when it contacts the ground. Based on the sixth relationship data, the predicted angular acceleration of the trunk when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground.
[0133] In an embodiment of the present application, the error between the target state data and the predicted state data includes a rotation angle error and an angular acceleration error. Since the target rotation angle and the target angular acceleration are both known quantities, given the target rotation angle and the target angular acceleration of the trunk when the footed robot moves to the target position, based on the predicted rotation angle and the target rotation angle, the rotation angle error between the target rotation angle and the predicted rotation angle can be determined, and based on the predicted angular acceleration and the target angular acceleration, the angular acceleration error between the target angular acceleration and the predicted angular acceleration can be determined, and the rotation angle error and the angular acceleration error can both be represented by the force exerted on the foot of the footed robot when it contacts the ground. Therefore, the fourth relationship data created indicates the positive correlation between the target value J and the state data error, and can also reflect the relationship between the target value J and the force exerted on the foot of the footed robot when it contacts the ground.
[0134] In one possible implementation, step 403 includes: setting the target value J to the sum of the squares of the first difference and the third difference, the first difference being the difference between the target rotation angle and the predicted rotation angle of the legged robot when it is at the target position, and the third difference being the difference between the target angular acceleration and the predicted angular acceleration of the legged robot when it is at the target position.
[0135] In an embodiment of the present application, the target value J is set to the difference between the target rotation angle and the predicted rotation angle when the legged robot is at the target position, and the sum of the squares of the difference between the target angular acceleration and the predicted angular acceleration when the legged robot is at the target position, so that the target value J has an extreme value, so that the minimum value of the target value J can be determined subsequently.
[0136] It should be noted that the embodiment of the present application is explained by taking the state data of the legged robot including the rotation angle and angular acceleration of the torso of the legged robot as an example, while in another embodiment, there is no need to execute the above steps 402-403, but other methods are adopted to create fourth relationship data based on the third relationship data, and the fourth relationship data indicates a positive correlation between the target value J and the state data error, and the state data error represents the error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement time, and the target state data includes the target rotation angle of the legged robot at the target position, and the predicted state data includes the predicted rotation angle.
[0137] 404. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0138] The step 404 is the same as the above step 304 and will not be described again.
[0139] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory.
[0140] In addition, when determining the moving trajectory of the legged robot's trunk, the influence of the angular acceleration of the legged robot's trunk is taken into account to ensure that when moving to the target position according to the determined moving trajectory, the angular acceleration of the legged robot's trunk is close to the target angular acceleration, thereby ensuring the accuracy and feasibility of the determined moving trajectory.
[0141] exist Figure 2 On the basis of the illustrated embodiment, taking the case where the state data of the legged robot also includes the torso position as an example, the movement trajectory of the torso of the legged robot is determined using the state data including the rotation angle and the torso position. The specific process is described in detail in the following embodiment.
[0142] Figure 5 is a flow chart of a method for determining a moving trajectory provided in an embodiment of the present application, the method being executed by a legged robot, such as Figure 5 As shown, the method includes:
[0143] 501. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0144] The step 501 is the same as the above step 301 and will not be described again.
[0145] 502. Create seventh relationship data, where the seventh relationship data indicates a relationship between a predicted trunk position of the legged robot when the robot moves to a target position after a target movement time and a force applied to the foot of the legged robot when the foot contacts the ground.
[0146] In the implementation of the present application, the predicted torso position of the legged robot is the position of the torso of the legged robot. The torso position of the legged robot will be affected by the force exerted on the foot of the legged robot when it contacts the ground. The torso position of the legged robot is related to the force exerted on the foot of the legged robot when it contacts the ground. Therefore, the seventh relationship data created reflects the influence of the force exerted on the torso position of the legged robot when the foot of the legged robot contacts the ground when the robot moves to the target position after the target movement time.
[0147] In one possible implementation, creating the seventh relationship data includes: converting the predicted trunk position of the legged robot when it is at the target position into the sum of the product of the fifth coefficient matrix and the force matrix and the fifth constant matrix.
[0148] Among them, the force matrix is a matrix composed of the forces exerted on at least one foot of the legged robot when it contacts the ground; the fifth coefficient matrix is used to represent the coefficients of the force matrix, and the fifth constant matrix is an arbitrary constant matrix, and the parameter values in the fifth constant matrix are determined.
[0149] Optionally, the fifth coefficient matrix and the fifth constant matrix are both determined based on the target movement duration. In an embodiment of the present application, the fifth coefficient matrix with undetermined values and the fifth constant matrix with undetermined values are both matrices containing movement durations. Given the target movement duration, the values of the fifth coefficient matrix and the fifth constant matrix are determined.
[0150] 503. Based on the third relationship data and the seventh relationship data, fourth relationship data are created, wherein the fourth relationship data indicates a positive correlation between the target value J and the state data error, wherein the state data error represents an error between target state data and predicted state data when the legged robot moves to the target position after a target movement time, wherein the target state data includes a target rotation angle and a target trunk position of the legged robot at the target position, and the predicted state data includes a predicted rotation angle and a predicted trunk position.
[0151] In an embodiment of the present application, the target state data includes a target rotation angle and a target trunk position of the trunk when the legged robot is expected to move to the target position, and the target rotation angle and the target trunk position are both known quantities. The third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving time has passed and the force exerted on the foot of the legged robot when it contacts the ground. Based on the third relationship data, the predicted rotation angle of the trunk when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground. The seventh relationship data indicates the relationship between the predicted trunk position of the legged robot when it moves to the target position after the target moving time has passed and the force exerted on the foot of the legged robot when it contacts the ground. Based on the seventh relationship data, the predicted trunk position of the trunk when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground.
[0152] In an embodiment of the present application, the error between the target state data and the predicted state data includes a rotation angle error and a trunk position error. Since the target rotation angle and the target trunk position are both known quantities, given the target rotation angle and the target trunk position of the trunk when the footed robot moves to the target position, based on the predicted rotation angle and the target rotation angle, the rotation angle error between the target rotation angle and the predicted rotation angle can be determined, and based on the predicted trunk position and the target trunk position, the trunk position error between the target trunk position and the predicted trunk position can be determined, and the rotation angle error and the trunk position error can both be represented by the force exerted on the foot of the footed robot when it contacts the ground. Therefore, the created fourth relationship data indicates the positive correlation between the target value J and the state data error, and can also reflect the relationship between the target value J and the force exerted on the foot of the footed robot when it contacts the ground.
[0153] In one possible implementation, step 503 includes: setting the target value J to the sum of the squares of a first difference and a fourth difference, wherein the first difference is the difference between a target rotation angle and a predicted rotation angle when the legged robot is at the target position, and the fourth difference is the difference between a target trunk position and a predicted trunk position when the legged robot is at the target position.
[0154] In an embodiment of the present application, the target value J is set to the difference between the target rotation angle and the predicted rotation angle when the legged robot is at the target position, and the sum of the squares of the difference between the target trunk position and the predicted trunk position when the legged robot is at the target position, so that the target value J has an extreme value, so that the minimum value of the target value J can be determined subsequently.
[0155] It should be noted that the embodiment of the present application is explained by taking the state data of the legged robot including the rotation angle and trunk position of the legged robot as an example. In another embodiment, there is no need to execute the above steps 502-503. Instead, other methods are adopted to create fourth relationship data based on the third relationship data. The fourth relationship data indicates a positive correlation between the target value J and the state data error. The state data error represents the error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement time. The target state data includes the target rotation angle of the legged robot at the target position, and the predicted state data includes the predicted rotation angle.
[0156] 504. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0157] The step 504 is the same as the above step 304 and will not be described again.
[0158] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory.
[0159] Moreover, when determining the movement trajectory of the torso of the legged robot, the influence of the torso position of the legged robot is taken into account to ensure that when moving to the target position according to the determined movement trajectory, the torso position of the legged robot is close to the target torso position, thereby ensuring the accuracy and feasibility of the determined movement trajectory.
[0160] exist Figure 2On the basis of the illustrated embodiment, taking the case where the state data of the legged robot also includes the moving speed as an example, the moving trajectory of the torso of the legged robot is determined using the state data including the rotation angle and the moving speed. The specific process is described in detail in the following embodiment.
[0161] Figure 6 is a flow chart of a method for determining a moving trajectory provided in an embodiment of the present application, the method being executed by a legged robot, such as Figure 6 As shown, the method includes:
[0162] 601. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0163] The step 601 is the same as the above step 301 and will not be described again.
[0164] 602. Create eighth relationship data, where the eighth relationship data indicates a relationship between a predicted movement speed of the legged robot when it moves to a target position after a target movement time and a force applied when a foot of the legged robot contacts the ground.
[0165] In the implementation of the present application, the predicted moving speed of the legged robot is the moving speed of the torso of the legged robot. The moving speed of the legged robot will be affected by the force exerted on the foot of the legged robot when it contacts the ground. The moving speed of the legged robot is related to the force exerted on the foot of the legged robot when it contacts the ground. Therefore, the eighth relationship data created reflects the influence of the force exerted on the foot of the legged robot when it contacts the ground when the legged robot moves to the target position after the target moving time.
[0166] In one possible implementation, creating the eighth relationship data includes: calculating the predicted movement speed of the trunk of the legged robot when it is at the target position as the sum of the product of the sixth coefficient matrix and the force matrix and the sixth constant matrix.
[0167] Among them, the force matrix is a matrix composed of the forces exerted on at least one foot of the legged robot when it contacts the ground; the sixth coefficient matrix is used to represent the coefficients of the force matrix, and the sixth constant matrix is an arbitrary constant matrix, and the parameter values in the sixth constant matrix are determined.
[0168] Optionally, the sixth coefficient matrix and the sixth constant matrix are both determined based on the target movement duration. In an embodiment of the present application, the sixth coefficient matrix with undetermined values and the sixth constant matrix with undetermined values are both matrices containing movement durations. Given the target movement duration, the values of the sixth coefficient matrix and the sixth constant matrix are determined.
[0169] 603. Based on the third relationship data and the eighth relationship data, fourth relationship data are created, wherein the fourth relationship data indicates a positive correlation between the target value J and the state data error, wherein the state data error represents an error between target state data and predicted state data when the legged robot moves to the target position after the target movement time, wherein the target state data includes a target rotation angle and a target movement speed of the legged robot at the target position, and the predicted state data includes a predicted rotation angle and a predicted movement speed.
[0170] In an embodiment of the present application, the target state data includes the target rotation angle and target movement speed of the trunk when the legged robot is expected to move to the target position, and the target rotation angle and target movement speed are both known quantities. The third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target movement time and the force exerted on the foot of the legged robot when it contacts the ground. Based on the third relationship data, the predicted rotation angle of the trunk when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground. The eighth relationship data indicates the relationship between the predicted movement speed of the legged robot when it moves to the target position after the target movement time and the force exerted on the foot of the legged robot when it contacts the ground. Based on the eighth relationship data, the predicted movement speed of the trunk when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground.
[0171] In an embodiment of the present application, the error between the target state data and the predicted state data includes a rotation angle error and a moving speed error. Since the target rotation angle and the target moving speed are both known quantities, given the target rotation angle and the target moving speed of the trunk when the footed robot moves to the target position, based on the predicted rotation angle and the target rotation angle, the rotation angle error between the target rotation angle and the predicted rotation angle can be determined, and based on the predicted moving speed and the target moving speed, the moving speed error between the target moving speed and the predicted moving speed can be determined, and the rotation angle error and the moving speed error can both be represented by the force exerted on the foot of the footed robot when it contacts the ground. Therefore, the fourth relationship data created indicates the positive correlation between the target value J and the state data error, and can also reflect the relationship between the target value J and the force exerted on the foot of the footed robot when it contacts the ground.
[0172] In one possible implementation, step 603 includes: setting the target value J to the sum of the squares of the first difference and the fifth difference, the first difference being the difference between the target rotation angle and the predicted rotation angle of the legged robot when it is at the target position, and the fifth difference being the difference between the target moving speed and the predicted moving speed of the legged robot when it is at the target position.
[0173] In an embodiment of the present application, the target value J is set to the difference between the target rotation angle and the predicted rotation angle when the legged robot is at the target position, and the sum of the squares of the difference between the target moving speed and the predicted moving speed when the legged robot is at the target position, so that the target value J has an extreme value, so that the minimum value of the target value J can be determined subsequently.
[0174] It should be noted that the embodiment of the present application is explained by taking the state data of the legged robot including the rotation angle and moving speed of the torso of the legged robot as an example. In another embodiment, there is no need to execute the above steps 602-603. Instead, other methods are adopted to create fourth relationship data based on the third relationship data. The fourth relationship data indicates a positive correlation between the target value J and the state data error. The state data error represents the error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement time. The target state data includes the target rotation angle of the legged robot at the target position, and the predicted state data includes the predicted rotation angle.
[0175] 604. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0176] The step 604 is the same as the above step 304 and will not be described again.
[0177] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory.
[0178] In addition, when determining the movement trajectory of the torso of the legged robot, the influence of the movement speed of the legged robot is taken into account to ensure that when moving to the target position according to the determined movement trajectory, the movement speed of the legged robot is close to the target movement speed, thereby ensuring the accuracy and feasibility of the determined movement trajectory.
[0179] exist Figure 2 On the basis of the illustrated embodiment, taking the case where the state data of the legged robot also includes acceleration as an example, the movement trajectory of the trunk of the legged robot is determined using the state data including the rotation angle and acceleration. The specific process is described in detail in the following embodiment.
[0180] Figure 7 is a flow chart of a method for determining a moving trajectory provided in an embodiment of the present application, the method being executed by a legged robot, such as Figure 7 As shown, the method includes:
[0181] 701. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0182] The step 701 is the same as the above step 301 and will not be described again.
[0183] 702. Create ninth relationship data, where the ninth relationship data indicates a relationship between a predicted acceleration of the legged robot when it moves to a target position after a target movement time and a force applied when a foot of the legged robot contacts the ground.
[0184] In the implementation of the present application, the predicted acceleration of the legged robot is the acceleration of the torso of the legged robot. The acceleration of the legged robot will be affected by the force exerted by the foot of the legged robot on the ground. The acceleration of the legged robot is related to the force exerted by the foot of the legged robot on the ground. Therefore, the ninth relationship data created reflects the influence of the force exerted by the foot of the legged robot on the acceleration of the legged robot when the legged robot moves to the target position after the target moving time.
[0185] In one possible implementation, creating the ninth relationship data includes: calculating the predicted acceleration of the trunk of the legged robot when it is at the target position as the sum of the product of the seventh coefficient matrix and the force matrix and the seventh constant matrix.
[0186] Among them, the force matrix is a matrix composed of the forces exerted on at least one foot of the legged robot when it contacts the ground; the seventh coefficient matrix is used to represent the coefficients of the force matrix, and the seventh constant matrix is an arbitrary constant matrix, and the parameter values in the seventh constant matrix are determined.
[0187] Optionally, the seventh coefficient matrix and the seventh constant matrix are both determined based on the target movement duration. In an embodiment of the present application, the seventh coefficient matrix with undetermined values and the seventh constant matrix with undetermined values are both matrices containing movement durations, and the values of the seventh coefficient matrix and the seventh constant matrix are determined when the target movement duration is given.
[0188] 703. Based on the third relationship data and the ninth relationship data, fourth relationship data are created, wherein the fourth relationship data indicates a positive correlation between the target value J and the state data error, wherein the state data error represents an error between target state data and predicted state data when the legged robot moves to the target position after the target movement time, wherein the target state data includes a target rotation angle and a target acceleration of the legged robot at the target position, and the predicted state data includes a predicted rotation angle and a predicted acceleration.
[0189] In an embodiment of the present application, the target state data includes the target rotation angle and target acceleration of the trunk when the legged robot is expected to move to the target position, and the target rotation angle and target acceleration are both known quantities. The third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving time and the force exerted on the foot of the legged robot when it contacts the ground. Based on the third relationship data, the predicted rotation angle of the trunk when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground. The ninth relationship data indicates the relationship between the predicted acceleration of the legged robot when it moves to the target position after the target moving time and the force exerted on the foot of the legged robot when it contacts the ground. Based on the ninth relationship data, the predicted acceleration of the trunk when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground.
[0190] In an embodiment of the present application, the error between the target state data and the predicted state data includes a rotation angle error and an acceleration error. Since the target rotation angle and the target acceleration are both known quantities, given the target rotation angle and the target acceleration of the trunk when the footed robot moves to the target position, based on the predicted rotation angle and the target rotation angle, the rotation angle error between the target rotation angle and the predicted rotation angle can be determined, and based on the predicted acceleration and the target acceleration, the acceleration error between the target acceleration and the predicted acceleration can be determined, and the rotation angle error and the acceleration error can both be represented by the force exerted on the foot of the footed robot when it contacts the ground. Therefore, the fourth relationship data created indicates the positive correlation between the target value J and the state data error, and can also reflect the relationship between the target value J and the force exerted on the foot of the footed robot when it contacts the ground.
[0191] In one possible implementation, step 703 includes: setting the target value J to the sum of the squares of the first difference and the sixth difference, wherein the first difference is the difference between the target rotation angle and the predicted rotation angle of the legged robot when the legged robot is at the target position, and the sixth difference is the difference between the target acceleration and the predicted acceleration of the legged robot when the legged robot is at the target position.
[0192] In an embodiment of the present application, the target value J is set to the difference between the target rotation angle and the predicted rotation angle when the legged robot is at the target position, and the sum of the squares of the difference between the target acceleration and the predicted acceleration when the legged robot is at the target position, so that the target value J has an extreme value, so that the minimum value of the target value J can be determined subsequently.
[0193] It should be noted that the embodiment of the present application is explained by taking the state data of the legged robot including the rotation angle and acceleration of the torso of the legged robot as an example. In another embodiment, there is no need to execute the above steps 702-703. Instead, other methods are adopted to create fourth relationship data based on the third relationship data. The fourth relationship data indicates a positive correlation between the target value J and the state data error. The state data error represents the error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement time. The target state data includes the target rotation angle of the legged robot at the target position, and the predicted state data includes the predicted rotation angle.
[0194] 704. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0195] The step 704 is the same as the above step 304 and will not be described again.
[0196] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory.
[0197] Moreover, when determining the movement trajectory of the trunk of the legged robot, the influence of the acceleration of the legged robot is taken into account to ensure that when moving to the target position according to the determined movement trajectory, the acceleration of the legged robot is close to the target acceleration, thereby ensuring the accuracy and feasibility of the determined movement trajectory.
[0198] exist Figure 2 On the basis of the illustrated embodiment, taking the selection of multiple sampling time points within the target movement duration as an example, the movement trajectory of the torso of the legged robot is determined using the rotation angles corresponding to the multiple sampling time points. The specific process is detailed in the following embodiment.
[0199] Figure 8 is a flow chart of a method for determining a moving trajectory provided in an embodiment of the present application, the method being executed by a legged robot, such as Figure 8 As shown, the method includes:
[0200] 801. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0201] The step 801 is the same as the above step 301 and will not be described again.
[0202] 802. Select multiple sampling time points within the target movement duration.
[0203] In an embodiment of the present application, the target movement duration is an arbitrary duration. In one possible implementation, the target movement duration is used for a time period with an initial time point as the starting point and a termination time point as the termination point. At the initial time point, the legged robot is located at the initial position; at the termination time point, the legged robot is located at the target position. The sampling time point refers to the time point between the initial time point corresponding to the initial position and the termination time point corresponding to the target position. Multiple sampling time points include two or more sampling time points. The interval duration between any two adjacent sampling time points may be equal or unequal.
[0204] For example, the target movement duration is 60 seconds, the initial time point corresponding to the initial position is 0 seconds, the end time point corresponding to the target position is 60 seconds, and 5 sampling time points are selected from the target movement duration, the first sampling time point is 10 seconds, the second sampling time point is 20 seconds, the third sampling time point is 30 seconds, the fourth sampling time point is 40 seconds, and the fifth sampling time point is 50 seconds; or, the first sampling time point is 5 seconds, the second sampling time point is 20 seconds, the third sampling time point is 25 seconds, the fourth sampling time point is 40 seconds, and the fifth sampling time point is 55 seconds.
[0205] In a possible implementation, step 802 includes: dividing the target moving time into multiple time periods, using the end time point of each time period as a sampling time point, and using the start time point of the first time period as a sampling time point. The multiple time periods obtained may be equal or unequal.
[0206] 803. Create tenth relationship data corresponding to each sampling time point, where the tenth relationship data indicates the relationship between the rotation angle of the legged robot after the movement time between the sampling time point and the initial time point, and the force applied to the legged robot when it contacts the ground.
[0207] In the embodiment of the present application, there is a movement duration between each sampling time point and the initial time point, and the rotation angle of the legged robot will be affected by the force exerted by the foot of the legged robot in contact with the ground. Therefore, for the movement duration corresponding to each sampling time point, the rotation angle of the trunk of the legged robot after the movement duration is related to the force exerted by the foot of the legged robot in contact with the ground. Therefore, the tenth relationship data created reflects the influence of the force exerted by the foot of the legged robot in contact with the ground on the rotation angle of the legged robot after the movement duration corresponding to each sampling time point.
[0208] In a possible implementation, creating the tenth relationship data includes: setting the tenth relationship data corresponding to each sampling time point to: the rotation angle is the product of the eighth coefficient matrix and the force matrix, and the sum of the eighth constant matrix.
[0209] Among them, the force matrix is a matrix composed of the forces exerted on at least one foot of the legged robot when it contacts the ground; the eighth coefficient matrix is used to represent the coefficients of the force matrix, and the eighth constant matrix is an arbitrary constant matrix, and the parameter values in the eighth constant matrix are determined.
[0210] Optionally, in the tenth relationship data corresponding to each sampling time point, the eighth coefficient matrix and the eighth constant matrix are both determined based on the movement duration corresponding to the sampling time point. In the embodiment of the present application, for the tenth relationship data corresponding to any sampling time point, the eighth coefficient matrix with undetermined values and the eighth constant matrix with undetermined values are both matrices containing the movement duration, and the values of the eighth coefficient matrix and the eighth constant matrix are determined when the movement duration corresponding to the given sampling time point is determined.
[0211] 804. Based on the third relationship data and the tenth relationship data, fourth relationship data are created, wherein the fourth relationship data indicates a positive correlation between the target value J and the state data error and the rotation angles corresponding to multiple sampling time points, wherein the state data error represents an error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement time, wherein the target state data includes the target rotation angle of the legged robot at the target position, and the predicted state data includes the predicted rotation angle.
[0212] In the embodiment of the present application, the tenth relationship data corresponding to each sampling time point indicates the relationship between the rotation angle of the legged robot after the movement time corresponding to the sampling time point and the force exerted on the foot of the legged robot when it contacts the ground. Based on the tenth relationship data corresponding to each sampling time point, the force exerted on the foot of the legged robot when it contacts the ground can be used to represent the rotation angle of the legged robot after the movement time corresponding to each sampling time point. The target state data includes the target rotation angle of the trunk when the legged robot is expected to move to the target position, and the target rotation angle is a known quantity. The third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target movement time and the force exerted on the foot of the legged robot when it contacts the ground. Based on the third relationship data, the predicted rotation angle of the trunk when the legged robot moves to the target position can be represented by the force exerted on the foot of the legged robot when it contacts the ground.
[0213] In the embodiment of the present application, the error between the target state data and the predicted state data includes a rotation angle error. Since the target rotation angle is a known quantity, given the target rotation angle of the trunk when the footed robot moves to the target position, the rotation angle error between the target rotation angle and the predicted rotation angle can be determined based on the predicted rotation angle and the target rotation angle. The rotation angle error can be represented by the force exerted by the foot of the footed robot in contact with the ground, and the rotation angles corresponding to multiple sampling time points can also be represented by the force exerted by the foot of the footed robot in contact with the ground. Therefore, the fourth relationship data created indicates the positive correlation between the target value J and the state data error, and can also reflect the relationship between the target value J and the force exerted by the foot of the footed robot in contact with the ground.
[0214] In a possible implementation, step 804 includes: setting the target value J to the sum of the first value and the second value.
[0215] The first value is the square of the first difference, the first difference is the difference between the target rotation angle and the predicted rotation angle, and the second value is the weighted square sum of multiple rotation angle differences. The multiple rotation angle differences include the difference between each two adjacent rotation angles among the rotation angles corresponding to multiple sampling time points.
[0216] In the embodiment of the present application, the target value J is set to the square of the difference between the target rotation angle and the predicted rotation angle when the legged robot is at the target position, and the sum of the weighted squares of multiple rotation angle differences, so that the target value J has an extreme value, so that the minimum value of the target value J can be determined later. When creating the fourth relationship data, the change of the rotation angle of the legged robot during the movement is taken into account to ensure the feasibility of the movement trajectory determined later.
[0217] It should be noted that the embodiment of the present application creates fourth relationship data using the rotation angles corresponding to multiple sampling times selected within the target movement duration, while in another embodiment, there is no need to execute the above steps 802-804, but other methods are adopted to create fourth relationship data based on the third relationship data. The fourth relationship data indicates a positive correlation between the target value J and the state data error. The state data error represents the error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement duration. The target state data includes the target rotation angle of the legged robot at the target position, and the predicted state data includes the predicted rotation angle.
[0218] 805. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0219] The step 805 is the same as the above step 304 and will not be described again.
[0220] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory.
[0221] Furthermore, when determining the moving trajectory of the trunk of the legged robot, the change of the rotation angle of the legged robot during the movement is taken into account to ensure the feasibility of the determined moving trajectory.
[0222] exist Figure 2 On the basis of the illustrated embodiment, taking the selection of multiple sampling time points within the target movement duration as an example, the movement trajectory of the torso of the legged robot is determined using the torso positions corresponding to the multiple sampling time points. The specific process is detailed in the following embodiment.
[0223] Fig. 9 is a flow chart of a method for determining a moving trajectory provided in an embodiment of the present application, the method being executed by a legged robot, such as Fig. 9 As shown, the method includes:
[0224] 901. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0225] The step 901 is the same as the above step 301 and will not be described again.
[0226] 902. Select multiple sampling time points within the target movement duration.
[0227] The step 902 is the same as the above step 802 and will not be described again.
[0228] 903. Create eleventh relationship data corresponding to each sampling time point, where the eleventh relationship data indicates the relationship between the predicted trunk position of the legged robot after the movement time between the sampling time point and the initial time point, and the force exerted on the legged robot when it contacts the ground.
[0229] In the embodiment of the present application, there is a movement duration between each sampling time point and the initial time point, and the torso position of the legged robot will be affected by the force exerted by the foot of the legged robot in contact with the ground. Then, for the movement duration corresponding to each sampling time point, the torso position of the legged robot after the movement duration is related to the force exerted by the foot of the legged robot in contact with the ground. Therefore, the eleventh relationship data created reflects the influence of the force exerted by the foot of the legged robot in contact with the ground on the torso position of the legged robot after the movement duration corresponding to each sampling time point.
[0230] In a possible implementation, creating the eleventh relationship data includes: setting the eleventh relationship data corresponding to each sampling time point to: the trunk position is the product of the ninth coefficient matrix and the force matrix, and the sum of the ninth constant matrix.
[0231] Among them, the force matrix is a matrix composed of the forces exerted on at least one foot of the legged robot when it contacts the ground; the ninth coefficient matrix is used to represent the coefficients of the force matrix, and the ninth constant matrix is an arbitrary constant matrix, and the parameter values in the ninth constant matrix are determined.
[0232] Optionally, in the eleventh relationship data corresponding to each sampling time point, the ninth coefficient matrix and the ninth constant matrix are both determined based on the movement duration corresponding to the sampling time point. In an embodiment of the present application, for the eleventh relationship data corresponding to any sampling time point, the ninth coefficient matrix with undetermined values and the ninth constant matrix with undetermined values are both matrices containing the movement duration, and given the movement duration corresponding to the sampling time point, the values of the ninth coefficient matrix and the ninth constant matrix are determined.
[0233] 904. Based on the third relationship data and the eleventh relationship data, fourth relationship data are created, wherein the fourth relationship data indicates a positive correlation between the target value J and the state data error and the predicted torso position corresponding to each sampling time point, wherein the state data error represents the error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement time, wherein the target state data includes the target rotation angle of the legged robot at the target position, and the predicted state data includes the predicted rotation angle.
[0234] In the embodiment of the present application, the eleventh relationship data corresponding to each sampling time point indicates the relationship between the predicted trunk position of the legged robot after the movement time corresponding to the sampling time point and the force exerted on the foot of the legged robot when it contacts the ground. Based on the eleventh relationship data corresponding to each sampling time point, the predicted trunk position of the legged robot after the movement time corresponding to each sampling time point can be expressed by the force exerted on the foot of the legged robot when it contacts the ground. The target state data includes the target rotation angle of the trunk when the legged robot is expected to move to the target position, and the target rotation angle is a known quantity. The third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target movement time and the force exerted on the foot of the legged robot when it contacts the ground. Based on the third relationship data, the predicted rotation angle of the trunk when the legged robot moves to the target position can be expressed by the force exerted on the foot of the legged robot when it contacts the ground.
[0235] In the embodiment of the present application, the error between the target state data and the predicted state data includes a rotation angle error. Since the target rotation angle is a known quantity, given the target rotation angle of the trunk when the footed robot moves to the target position, the rotation angle error between the target rotation angle and the predicted rotation angle can be determined based on the predicted rotation angle and the target rotation angle. The rotation angle error can be represented by the force exerted by the foot of the footed robot in contact with the ground, and the predicted trunk position corresponding to multiple sampling time points can also be represented by the force exerted by the foot of the footed robot in contact with the ground. Therefore, the created fourth relationship data indicates the positive correlation between the target value J and the state data error, and can also reflect the relationship between the target value J and the force exerted by the foot of the footed robot in contact with the ground.
[0236] In a possible implementation, step 904 includes: setting the target value J to the sum of the first value and the third value.
[0237] The first value is the square of the first difference, the first difference is the difference between the target rotation angle and the predicted rotation angle, and the third value is the weighted square sum of multiple distances. The multiple distances include the difference between each two adjacent predicted torso positions in the predicted torso positions corresponding to the multiple sampling time points.
[0238] In the embodiment of the present application, the target value J is set to the sum of the square of the difference between the target rotation angle and the predicted rotation angle when the legged robot is at the target position and the weighted square sum of multiple distances, so that the target value J has an extreme value, so that the minimum value of the target value J can be determined later. When creating the fourth relationship data, the change of the trunk position of the legged robot during the movement is taken into account to ensure the feasibility of the movement trajectory determined later.
[0239] It should be noted that the embodiment of the present application creates fourth relationship data using the predicted torso positions corresponding to multiple sampling time points selected within the target movement duration, while in another embodiment, there is no need to execute the above steps 902-904, but other methods are adopted to create fourth relationship data based on the third relationship data. The fourth relationship data indicates a positive correlation between the target value J and the state data error. The state data error represents the error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement duration. The target state data includes the target rotation angle of the legged robot at the target position, and the predicted state data includes the predicted rotation angle.
[0240] 905. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0241] The step 905 is the same as the above step 304 and will not be described again.
[0242] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory.
[0243] Furthermore, when determining the moving trajectory of the trunk of the legged robot, the change in the position of the trunk of the legged robot during the movement is taken into account to ensure the feasibility of the determined moving trajectory.
[0244] exist Figure 2 On the basis of the illustrated embodiment, a friction constraint condition is also created to constrain the force exerted on the foot of the legged robot when it contacts the ground, so as to ensure the feasibility of the determined movement trajectory. The specific process is detailed in the following embodiment.
[0245] Fig.10 is a flow chart of a method for determining a moving trajectory provided in an embodiment of the present application, the method being executed by a legged robot, such as Fig.10 As shown, the method includes:
[0246] 1001. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0247] This step 1001 is the same as the above step 301 and will not be described again here.
[0248] 1002. Based on the third relationship data, fourth relationship data are created, wherein the fourth relationship data indicates a positive correlation between the target value J and the state data error, wherein the state data error represents an error between target state data and predicted state data when the legged robot moves to the target position after the target movement time, wherein the target state data includes a target rotation angle of the legged robot at the target position, and the predicted state data includes a predicted rotation angle.
[0249] The step 1002 is the same as the above step 202 and will not be described again.
[0250] 1003. Create a friction constraint condition, where the friction constraint condition indicates the friction constraint condition satisfied by the force acting on the foot of the legged robot when it contacts the ground.
[0251] By creating friction constraints to constrain the contact between the feet of the legged robot and the ground during movement, relative sliding when the feet of the legged robot contact the ground during movement is avoided, thereby ensuring that the legged robot can move normally.
[0252] 1004. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value when the friction constraint condition is satisfied, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0253] In an embodiment of the present application, in the fourth relationship data, the target value J is positively correlated with the state data error, that is, the size of the target value J can reflect the size of the state data error. Therefore, the minimum value of the target value J is determined as much as possible to make the state data error small enough and make the force exerted on the foot of the foot of the foot robot in contact with the ground satisfy the friction constraint condition. In this way, it is possible to ensure that the predicted state data is closest to the target state data, and then ensure that when the subsequent footed robot moves according to the determined moving trajectory, the state data that the footed robot can have when it moves to the target position is closest to the target state data, thereby ensuring the accuracy and feasibility of the determined moving trajectory.
[0254] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory.
[0255] Furthermore, when determining the moving trajectory of the torso of the legged robot, friction constraints are created to constrain the contact between the feet of the legged robot and the ground, so as to avoid relative sliding when the feet of the legged robot contact the ground during movement, thereby ensuring that the legged robot can move normally and further ensuring the feasibility of the determined moving trajectory of the legged robot.
[0256] exist Figure 2 On the basis of the illustrated embodiment, spatial constraints of the foot of the legged robot are also created to constrain the spatial range in which the foot of the legged robot can move, so as to ensure the feasibility of the determined movement trajectory. The specific process is detailed in the following embodiment.
[0257] Fig.11 is a flow chart of a method for determining a moving trajectory provided in an embodiment of the present application, the method being executed by a legged robot, such as Fig.11 As shown, the method includes:
[0258] 1101. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0259] The step 1101 is the same as the above step 301 and will not be described again.
[0260] 1102. Based on the third relationship data, create fourth relationship data, which indicates a positive correlation between the target value J and the state data error, and the state data error represents the error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement time, and the target state data includes the target rotation angle of the legged robot at the target position, and the predicted state data includes the predicted rotation angle.
[0261] The step 1102 is the same as the above step 202 and will not be described again.
[0262] 1103. Create a spatial constraint condition for the foot of the legged robot, where the spatial constraint condition indicates the spatial range in which the foot of the legged robot can move, and the spatial constraint condition includes a constant C whose value is undetermined.
[0263] In the embodiment of the present application, when the legged robot starts to move from any position, the foot of the legged robot can only move within the movable space range of the foot and cannot move outside the space range. Therefore, by creating spatial constraints for the foot of the legged robot, the movable space range of the foot of the legged robot is constrained to ensure that in the subsequent movement according to the determined movement trajectory, the foot of the legged robot is always within the movable space range of the foot, avoiding the foot of the legged robot from moving outside the movable space range of the foot, and ensuring the feasibility of the determined movement trajectory of the legged robot. Fig.12 As shown, Fig.12 The polyhedron 1201 in the figure is the movable space range of the foot 1202 of the legged robot, and the space range is composed of multiple space points, which are the space points that the foot 1201 can reach.
[0264] 1104. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value when the spatial constraint condition is satisfied, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0265] In an embodiment of the present application, in the fourth relationship data, the target value J is positively correlated with the state data error, that is, the size of the target value J can reflect the size of the state data error. Therefore, the minimum value of the target value J is determined as much as possible to make the state data error small enough and to meet the spatial constraints of the foot of the legged robot. This ensures that the predicted state data is closest to the target state data, thereby ensuring that when the subsequent legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, and the foot of the legged robot is always within the spatial range where the foot can move, thereby ensuring the accuracy and feasibility of the determined moving trajectory.
[0266] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory.
[0267] Furthermore, since the spatial constraint conditions are used to indicate the spatial range in which the feet of the legged robot can move, the spatial constraint conditions are used to constrain the feet of the legged robot to move only within the movable spatial range, so as to avoid the feet of the legged robot moving outside the movable spatial range when moving according to a determined moving trajectory, thereby ensuring the feasibility of the moving trajectory.
[0268] exist Figure 2 On the basis of the illustrated embodiment, the force exerted on the foot of the legged robot when it contacts the ground is also considered to create fourth relationship data to ensure the feasibility of the determined movement trajectory. The specific process is detailed in the following embodiment.
[0269] Fig.13 is a flow chart of a method for determining a moving trajectory provided in an embodiment of the present application, the method being executed by a legged robot, such as Fig.13 As shown, the method includes:
[0270] 1301. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0271] The step 1301 is the same as the above step 301 and will not be described again.
[0272] 1302. Based on the third relationship data and the force exerted on the foot of the legged robot when it contacts the ground, fourth relationship data are created, wherein the fourth relationship data indicates a positive correlation between the target value J and the state data error and the force exerted on the foot of the legged robot when it contacts the ground, wherein the state data error represents an error between target state data and predicted state data when the legged robot moves to the target position after the target movement time, wherein the target state data includes a target rotation angle of the legged robot when it is at the target position, and the predicted state data includes a predicted rotation angle.
[0273] When creating the fourth relationship data, the force conditions of the foot of the legged robot are taken into consideration to ensure that the force conditions of the legged robot are consistent with the force conditions of the legged robot during actual movement, thereby ensuring the feasibility of the subsequently determined movement trajectory.
[0274] In one possible implementation, step 1302 includes: setting the target value J to the sum of the square of the first difference and the weighted square sum of the force acting on the foot of the legged robot.
[0275] In the embodiment of the present application, the target value J is set to the sum of the square of the difference between the target rotation angle and the predicted rotation angle when the legged robot is at the target position and the weighted square sum of the forces on the foot of the legged robot, so that the target value J has an extreme value, so that the minimum value of the target value J can be determined later. When creating the fourth relationship data, the force conditions of the foot of the legged robot during movement are taken into account to ensure the feasibility of the movement trajectory determined later.
[0276] 1303. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0277] The step 1303 is the same as the above step 304 and will not be described again.
[0278] The present application provides a method for determining the moving trajectory of the trunk of a legged robot. Taking into account the influence of the rotation angle of the trunk on the moving trajectory when the legged robot moves, the state data including the rotation angle of the trunk is used to minimize the state data error between the predicted state data and the set target state data, and the value of the constant C in the first relationship data is determined to ensure that the predicted state data is closest to the target state data, thereby ensuring that when the legged robot moves according to the determined moving trajectory, the state data that the legged robot can have when it moves to the target position is closest to the target state data, thereby ensuring the feasibility and accuracy of the determined moving trajectory.
[0279] Furthermore, when creating the fourth relationship data, the force conditions of the foot of the legged robot are taken into consideration to ensure that the force conditions of the legged robot are consistent with the force conditions of the legged robot during actual movement, thereby ensuring the feasibility of the determined movement trajectory.
[0280] It should be noted that the above Figures 2 to 13 The embodiments described can be combined arbitrarily, for example, Figures 2 to 13 The embodiment shown in the figure is taken as an example, and the embodiment of the present application also provides a method for determining a moving trajectory, such as Fig.14 As shown, the method includes:
[0281] 1401. Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the torso position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force exerted on the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force exerted on the foot of the legged robot when it contacts the ground. Both the first relationship data and the second relationship data include a constant C whose value is undetermined.
[0282] 1402. Create fifth relationship data, where the fifth relationship data indicates the relationship between the predicted angular velocity of the legged robot when it moves to the target position after the target movement time and the force applied when the foot of the legged robot contacts the ground.
[0283] 1403. Create sixth relationship data, where the sixth relationship data indicates the relationship between the predicted angular acceleration of the legged robot when it moves to the target position after the target movement time and the force applied when the foot of the legged robot contacts the ground.
[0284] 1404. Create seventh relationship data, where the seventh relationship data indicates the relationship between the predicted trunk position of the legged robot when it moves to the target position after the target movement time and the force applied when the foot of the legged robot contacts the ground.
[0285] 1405. Create eighth relationship data, where the eighth relationship data indicates the relationship between the predicted movement speed of the legged robot when it moves to the target position after the target movement time and the force applied when the foot of the legged robot contacts the ground.
[0286] 1406. Create ninth relationship data, which indicates the relationship between the predicted acceleration of the legged robot when it moves to the target position after the target movement time and the force applied when the foot of the legged robot contacts the ground.
[0287] 1407. Select multiple sampling time points within the target movement duration.
[0288] 1408. Create tenth relationship data corresponding to each sampling time point, where the tenth relationship data indicates the relationship between the rotation angle of the legged robot after the movement time between the sampling time point and the initial time point, and the force exerted on the legged robot when it contacts the ground.
[0289] 1409. Create eleventh relationship data corresponding to each sampling time point, where the eleventh relationship data indicates the relationship between the predicted trunk position of the legged robot after the movement time between the sampling time point and the initial time point, and the force exerted on the legged robot when it contacts the ground.
[0290] 1410. Based on the third relationship data, the fifth relationship data, the sixth relationship data, the seventh relationship data, the eighth relationship data, the ninth relationship data, the tenth relationship data, the eleventh relationship data and the force exerted on the foot of the legged robot when it contacts the ground, create fourth relationship data, the fourth relationship data indicating a positive correlation between the target value J and the state data error, the force exerted on the foot of the legged robot when it contacts the ground, the rotation angles corresponding to multiple sampling time points, and the predicted trunk positions corresponding to multiple sampling time points, the state data error representing the error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement time, the target state data including the target rotation angle, target angular velocity, target angular acceleration, target trunk position, target moving speed, and target acceleration of the legged robot when it is at the target position, and the predicted state data including the predicted rotation angle, predicted angular velocity, predicted angular acceleration, predicted trunk position, predicted moving speed, and predicted acceleration.
[0291] 1411. Create a friction constraint condition, where the friction constraint condition indicates the friction constraint condition satisfied by the force acting on the foot of the legged robot when it contacts the ground.
[0292] 1412. Create a spatial constraint condition for the foot of the legged robot, where the spatial constraint condition indicates the spatial range in which the foot of the legged robot can move, and the spatial constraint condition includes a constant C whose value is undetermined.
[0293] 1413. Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value when the friction constraint condition and the space constraint condition are satisfied, and obtain the first relationship data corresponding to the constant C with the determined value. The first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0294] The present application provides a method for determining the moving trajectory of the torso of a legged robot, which comprehensively considers the influence of the rotation angle, angular velocity, angular acceleration, torso position, moving speed, acceleration of the torso and the force conditions of the feet of the legged robot on the moving trajectory when the legged robot moves, and constrains the movement of the legged robot through friction constraints and space constraints to ensure the feasibility of the determined moving trajectory.
[0295] It should be noted that the above Figures 2 to 14 The first to eleventh relationship data involved in the illustrated embodiment can all be stored in the legged robot in the form of description statements or functions.
[0296] It should be noted that the above embodiments Figures 2 to 14 The embodiment shown is explained by taking the determination of the movement trajectory of the torso of a legged robot as an example. On the basis of determining the legged robot, the relationship data of the movement speed, acceleration, rotation angle, angular velocity, angular acceleration and movement time of the legged robot can also be determined, and then the posture of the legged robot during the movement can be determined, so as to control the movement of the legged robot according to the determined posture.
[0297] In one possible implementation, twelfth relationship data, thirteenth relationship data, fourteenth relationship data, fifteenth relationship data and sixteenth relationship data are created, the twelfth relationship data indicates the relationship between the moving speed and the moving time of the legged robot, the thirteenth relationship data indicates the relationship between the acceleration and the moving time of the legged robot, the fourteenth relationship data indicates the relationship between the rotation angle and the moving time of the legged robot, the fifteenth relationship data indicates the relationship between the angular velocity and the moving time of the legged robot, the sixteenth relationship data indicates the relationship between the angular acceleration and the moving time of the legged robot, the twelfth relationship data, the thirteenth relationship data, the fourteenth relationship data, the fifteenth relationship data and the sixteenth relationship data all include uncertain values A constant C is determined, then after the value of the constant C is determined, the twelfth relationship data, the thirteenth relationship data, the fourteenth relationship data, the fifteenth relationship data and the sixteenth relationship data corresponding to the constant C with the determined value are obtained, the twelfth relationship data corresponding to the constant C with the determined value is used to represent the velocity trajectory of the legged robot, the thirteenth relationship data corresponding to the constant C with the determined value is used to represent the acceleration trajectory of the legged robot, the twelfth relationship data corresponding to the constant C with the determined value is used to represent the rotation angle trajectory of the legged robot, the twelfth relationship data corresponding to the constant C with the determined value is used to represent the angular velocity trajectory of the legged robot, and the twelfth relationship data corresponding to the constant C with the determined value is used to represent the angular acceleration trajectory of the legged robot.
[0298] In an embodiment of the present application, after determining the movement trajectory, speed trajectory, acceleration trajectory, rotation angle trajectory, angular velocity trajectory and angular velocity trajectory of the torso of the legged robot, the movement of the legged robot is controlled based on the movement trajectory, speed trajectory, acceleration trajectory, rotation angle trajectory, angular velocity trajectory and angular velocity trajectory.
[0299] In the above Figures 2 to 14 Based on the embodiment shown in FIG. 1 , the present application also provides a framework diagram of a legged robot system for controlling the movement of a legged robot, such as Fig.15 As shown, the legged robot system includes a visual perception subsystem 1501 , a trajectory generation subsystem 1502 , and a movement control subsystem 1503 .
[0300] The visual perception subsystem 1501 obtains the target position and step sequence of the legged robot based on the state data of the legged robot, and sends the obtained target position and step sequence to the trajectory generation subsystem 1502.
[0301] In one possible implementation, the visual perception system 1501 includes a camera, and the legged robot uses the camera to shoot the environment in the direction of movement of the legged robot to obtain an environmental image containing the direction of movement of the legged robot, perform feature extraction on the environmental image to obtain the target position and landing point position of the legged robot, and send the target position, step sequence and landing point position to the trajectory generation subsystem 1502.
[0302] The trajectory generation subsystem 1502 receives the target position and step sequence of the legged robot sent by the visual perception subsystem 1501, and Figures 2 to 14 In the embodiment shown, the movement trajectory of the trunk of the legged robot is determined, and based on the determined movement trajectory of the trunk of the legged robot and the stepping sequence, the joint torque of each joint of the legged robot is determined, and the joint torque of each joint of the legged robot is sent to the mobile control subsystem 1503.
[0303] The mobile control subsystem 1503 receives the joint torques of each joint of the legged robot sent by the trajectory generation subsystem 1502, controls each joint to rotate according to the joint torques of each joint of the legged robot, drives the legged robot to move, and monitors the status data of the legged robot in real time during the process of controlling the movement of the legged robot to ensure that the legged robot can move stably.
[0304] The above embodiments involve the first to eleventh relationship data, friction constraints and space constraints. Based on the above embodiments, the following embodiments will explain in detail the creation process of the first to eleventh relationship data, friction constraints and space constraints.
[0305] First, the process of creating the third relationship data, and the fifth relationship data to the ninth relationship data.
[0306] First, create the rigid body dynamics relationship data of the legged robot.
[0307]
[0308] Wherein, N represents the number of feet of the legged robot in contact with the ground, and N is an integer greater than 0; i is used to represent the sequence number of the feet of the legged robot in contact with the ground, and i is a positive integer not greater than N; f i It is used to represent the force on the ith foot of the legged robot in contact with the ground in the world coordinate system; m is used to represent the mass of the legged robot; p is used to represent the trunk position of the legged robot in the world coordinate system; It is used to represent the acceleration of the torso of the legged robot in the world coordinate system; g is used to represent the acceleration due to gravity; r iIt is used to indicate the contact position between the i-th foot of the legged robot and the ground in the world coordinate system; Used to indicate the contact position r i The anti-skew symmetric matrix of ; The inverse skew symmetric matrix used to represent the torso position p; It is used to express the angular momentum of the trunk of a legged robot in a coordinate system with the origin at the center of mass and the same posture as the world system; Used to express the torque acting on the trunk of the legged robot, f i , p, g, r i , All belong to Represents the set of real numbers in multidimensional space.
[0309] When the mass of the leg of the legged robot is neglected, the angular momentum of the trunk of the legged robot satisfies the following relationship:
[0310]
[0311] in, It is used to represent the angular momentum of the trunk of the legged robot in a coordinate system with the origin at the center of mass and the same posture as the world system; R is used to represent the posture of the trunk of the legged robot in the world coordinate system; Used to represent the moment of inertia of the trunk of the legged robot in the coordinate system of the trunk of the legged robot; ω B Used to represent the angular velocity of the legged robot's torso in the coordinate system of the legged robot's torso.
[0312] In the embodiment of the present application, the trunk of the legged robot is the Base of the legged robot, and the coordinate system of the trunk is the Base coordinate system.
[0313] Based on the above formula (2), combined with Then we can get the following formula (3):
[0314]
[0315] ω G =Rω B
[0316]
[0317]
[0318] in, Used to express the torque acting on the trunk of a legged robot, It is used to express the moment of inertia of the trunk of the legged robot in a coordinate system with the origin at the center of mass and the same posture as the world system; ωG Used to represent the angular velocity of the torso of the legged robot in the world coordinate system; Used to represent the angular velocity ω G The anti-skew symmetric matrix of ; It is used to represent the angular acceleration of the trunk of the legged robot in the world coordinate system; R is used to represent the posture of the trunk of the legged robot in the world coordinate system; ω B Used to represent the angular velocity of the trunk of the legged robot in the coordinate system of the trunk of the legged robot; Used to represent the angular acceleration of the trunk of the legged robot in the coordinate system of the trunk of the legged robot; Used to represent the moment of inertia of the trunk of the legged robot in the coordinate system of the trunk of the legged robot; It is used to represent the derivative of the trunk posture R with respect to time; R T is the transposed matrix of R.
[0319] Based on the above formula (1), the target movement duration is divided into k control cycles, the duration of each control cycle is ΔT, the current time point is 0, and after k control cycles, in the world coordinate system, the trunk position, velocity, acceleration, angle, angular velocity, and angular acceleration of the legged robot satisfy the following relationship:
[0320]
[0321]
[0322]
[0323]
[0324]
[0325]
[0326]
[0327]
[0328] in, represents the acceleration of the legged robot; m is used to represent the mass of the legged robot; N represents the number of feet of the legged robot in contact with the ground, and N is an integer greater than 0; i is used to represent the sequence number of the feet of the legged robot in contact with the ground, and i is a positive integer not greater than N; f i,k It is used to represent the force on the ith foot of the legged robot in contact with the ground after k control cycles in the world coordinate system; g is used to represent the acceleration due to gravity; represents the speed of the trunk of the legged robot; ΔT is used to represent the duration of the control cycle; j is used to represent the sequence number of k control cycles, and j is an integer not greater than k-1; Used to represent the acceleration of the legged robot in the jth control cycle; Used to indicate the initial moving speed of the legged robot; p k represents the position of the trunk of the legged robot; k is used to represent the number of control cycles of the legged robot; p0 is used to represent the initial position of the trunk of the legged robot; Δp k Used to represent the increment of the trunk position of the legged robot after k control cycles; ω k It is used to represent the angular velocity of the trunk of the hind-legged robot in the kth control cycle; It is used to represent the angular acceleration of the trunk of the legged robot in the jth control cycle; ω0 is used to represent the initial angular velocity of the legged robot; θ k It is used to represent the rotation angle of the trunk of the legged robot in the kth control cycle; θ0 is used to represent the rotation angle of the legged robot at the initial moment; Δω k It is used to represent the angular velocity increment of the trunk of the hind-legged robot after the kth control cycle; Δθ k Used to represent the rotation speed increment of the trunk of the hind-legged robot after the kth control cycle.
[0329] The force f exerted by the foot of the legged robot when it contacts the ground i Construct a force matrix F total After k control cycles, the trunk position, velocity and angular velocity of the footed robot in the world coordinate system are all affected by the force matrix F total If the relationship is linear, then after k control cycles, in the world coordinate system, the trunk position, velocity and angular velocity of the legged robot satisfy the seventh, eighth and ninth relationship data, which are as follows:
[0330]
[0331] Among them, p k It is used to represent the trunk position of the legged robot after k control cycles, that is, the predicted trunk position of the legged robot at the target position; A p,k is used to represent the fifth coefficient matrix; F total Used to represent the force f exerted on the foot of a legged robot when it contacts the ground i,k The force matrix formed; b p,k is used to represent the fifth constant matrix; It is used to indicate the moving speed of the trunk of the legged robot after k control cycles, that is, the predicted moving speed of the trunk of the legged robot when it is at the target position; is used to represent the sixth coefficient matrix; is used to represent the sixth constant matrix; It is used to represent the acceleration of the legged robot after k control cycles, that is, the predicted acceleration of the trunk of the legged robot when it is at the target position; is used to represent the seventh coefficient matrix; is used to represent the seventh constant matrix; ΔT is used to represent the duration of each control cycle; g is used to represent the gravitational acceleration; It is used to indicate the initial moving speed of the legged robot; p0 is used to indicate the initial position of the torso of the legged robot.
[0332] Assume that after k control cycles, the angular acceleration of the trunk of the hind-legged robot is With the force matrix F total In the world coordinate system, the rotation angle, angular velocity and angular acceleration of the trunk of the legged robot are all linearly related to the vector F. total It is a linear relationship. According to Taylor's formula, the expansion form of Taylor's formula is as shown in the following formula:
[0333]
[0334] According to the above Taylor expansion form, in the kth control cycle and the world coordinate system, the posture of the torso of the legged robot can satisfy the following relationship:
[0335]
[0336] Among them, R k It is used to represent the posture of the trunk of the legged robot in the kth control cycle and the world coordinate system; I is the unit matrix; It is used to represent the rotation speed increment Δθ of the trunk of the hind-legged robot after the kth control cycle. k An inverse skew symmetric matrix; R0 is used to represent the posture of the torso of the legged robot in the world coordinate system at the initial time point.
[0337] In the kth control cycle and the world coordinate system, the moment of inertia of the legged robot satisfies the following relationship:
[0338]
[0339] in, Used to represent the moment of inertia of the trunk of the legged robot in the kth control cycle and the world coordinate system; Used to represent the moment of inertia of the trunk of the legged robot at the initial moment and in the world coordinate system; It is used to represent the rotation speed increment Δθ of the trunk of the hind-legged robot after the kth control cycle. k The inverse skew symmetric matrix; R0 is used to represent the posture of the torso of the legged robot in the world coordinate system at the initial time point; For the moment of inertia of the torso of the legged robot in the coordinate system of the torso; The transposed matrix used to represent the pose R0.
[0340] In the above formula (8), Including Δθ k The quadratic term, in Δθ k When it is small, it can be ignored. Then, substitute formula (8) into the above formula (3) and ignore Δω k , Δθ k The relevant high-order terms (higher order not less than 2) can be obtained as follows:
[0341]
[0342] in, It is used to represent the torque acting on the trunk of the legged robot in the kth control cycle; Used to represent the moment of inertia of the trunk of the legged robot at the initial moment and in the world coordinate system; Used to represent the angular acceleration of the trunk of the legged robot in the kth control cycle; It is used to represent the rotation speed increment Δθ of the trunk of the hind-legged robot after the kth control cycle. k The inverse skew symmetric matrix; ω0 is used to represent the initial angular velocity of the trunk of the legged robot; Δω k It is used to represent the angular velocity increment of the trunk of the hind-legged robot after k control cycles.
[0343] Assumptions When the rotation of the legged robot revolves around the coordinate axis of the coordinate system of the torso of the legged robot, taking the X axis as an example, when the torso of the legged robot rotates around the X axis in the coordinate system of the legged robot, the rotation angle increment and angular velocity of the torso of the legged robot satisfy the following relationship:
[0344]
[0345] Among them, Δθ is used to represent the rotation angle increment of the trunk of the legged robot, α is a constant, Used to represent the angular acceleration of the trunk of a legged robot; β is a constant, R x Used to represent the posture of the torso of the legged robot rotating around the X-axis in the coordinate system of the legged robot; Used to represent the moment of inertia of the legged robot's trunk at the initial moment and in the world coordinate system.
[0346] According to formula (4), in order to make Δθ = αR x , At the same time, ω0=γR x , so formula (9) can be simplified as:
[0347]
[0348] in, It is used to represent the torque acting on the center of mass of the legged robot in the kth control cycle; Used to represent the moment of inertia of the trunk of the legged robot at the initial moment and in the world coordinate system; Used to represent the angular acceleration of the trunk of the legged robot in the kth control cycle; An inverse skew symmetric matrix used to represent the initial angular velocity w0 of the trunk of the legged robot at the initial time point; Used to represent the initial angular velocity of the trunk of the legged robot at the initial time point; Used to indicate The anti-skew symmetric matrix of k It is used to represent the angular velocity increment of the trunk of the hind-legged robot after k control cycles.
[0349] In order to obtain the obtained With F total A linear relationship is formed, and the quadratic term is ignored. Formula (9) can be simplified to obtain the following relationship:
[0350]
[0351] in, It is used to represent the torque acting on the trunk of the legged robot in the kth control cycle; Used to represent the moment of inertia of the trunk of the legged robot at the initial moment and in the world coordinate system; Used to represent the angular acceleration of the trunk of the legged robot in the kth control cycle; An inverse skew symmetric matrix used to represent the initial angular velocity ω0 of the trunk of the legged robot; Used to indicate The anti-skew symmetric matrix of k It is used to represent the angular velocity increment of the trunk of the hind-legged robot after k control cycles; Δθ k Used to represent the rotation speed increment of the trunk of the hind-legged robot after k control cycles.
[0352] Based on the above formula (12), take but Pick Substituting Q and U into the above formula (12), we can get
[0353]
[0354] in, It is used to represent the torque acting on the trunk of the legged robot in the kth control cycle; Used to represent the moment of inertia of the trunk of the legged robot at the initial moment and in the world coordinate system; Used to represent the angular acceleration of the trunk of the legged robot in the kth control cycle; The inverse skew symmetric matrix used to represent the initial angular velocity ω0 of the trunk of the legged robot; Δω k It is used to represent the angular velocity increment of the trunk of the hind-legged robot after k control cycles; Δθ k Used to represent the rotation speed increment of the trunk of the hind-legged robot after k control cycles.
[0355] The fourth line of formula (4) (i.e., the equation about Δp k The formula of formula (1) and the formula of the first row (i.e. ) into the formula of the second line of formula (1) (i.e. ), we can get the following relationship:
[0356]
[0357] Wherein, N represents the number of feet of the legged robot in contact with the ground, and N is an integer greater than 0; i is used to represent the sequence number of the feet of the legged robot in contact with the ground, and i is a positive integer not greater than N; f i It is used to represent the force on the ith foot of the legged robot in contact with the ground in the world coordinate system; m is used to represent the mass of the legged robot; It is used to represent the acceleration of the torso of the legged robot in the world coordinate system; g is used to represent the acceleration due to gravity; r i It is used to indicate the contact position between the i-th foot of the legged robot and the ground in the world coordinate system; Used to indicate the contact position r i The anti-skew symmetric matrix of ; The inverse skew symmetric matrix used to represent the torso position p; The inverse skew symmetric matrix used to represent the torso position p0 of the legged robot in the world coordinate system; Used to represent the torque acting on the torso of a legged robot.
[0358] Assume that in the above formula (14) Combining formula (13), formula (14) is approximately the following relationship:
[0359]
[0360] Wherein, N represents the number of feet of the legged robot in contact with the ground, and N is an integer greater than 0; i is used to represent the sequence number of the feet of the legged robot in contact with the ground, and i is a positive integer not greater than N; f i,k It is used to indicate the force acting on the i-th foot of the legged robot in contact with the ground in the k-th control cycle and the world coordinate system; m is used to indicate the mass of the legged robot; Δpk is used to indicate the increment of the trunk position of the legged robot after the legged robot has passed k control cycles; g is used to indicate the acceleration due to gravity; The inverse skew symmetric matrix used to represent the gravitational acceleration g; r i,k It is used to indicate the contact position between the i-th foot of the legged robot and the ground in the k-th control cycle and the world coordinate system; Used to indicate the contact position r i,k The anti-skew symmetric matrix of ; The inverse skew symmetric matrix used to represent the torso position p0 of the legged robot in the world coordinate system; Used to represent the moment of inertia of the trunk of the legged robot at the initial moment and in the world coordinate system; Used to represent the angular acceleration of the trunk of the legged robot in the kth control cycle; The inverse skew symmetric matrix used to represent the initial angular velocity ω0 of the trunk of the legged robot; Δω k It is used to represent the angular velocity increment of the trunk of the hind-legged robot after k control cycles; Δθ k Used to represent the rotation speed increment of the trunk of the hind-legged robot after k control cycles.
[0361] The formulas in the 4th, 7th and 8th rows of formula (4) (i.e., the formulas about Δp k , Δω k Δθ k Substituting the formula of into formula (15), we can get the following relationship:
[0362]
[0363]
[0364]
[0365]
[0366] Wherein, N represents the number of feet of the legged robot in contact with the ground, and N is an integer greater than 0; i is used to represent the sequence number of the feet of the legged robot in contact with the ground, and i is a positive integer not greater than N; f i,k It is used to represent the force acting on the i-th foot of the legged robot in contact with the ground in the k-th control cycle and the world coordinate system; m is used to represent the mass of the legged robot; Δp k It is used to indicate the increment of the trunk position of the legged robot after k control cycles; g is used to indicate the acceleration due to gravity; The inverse skew symmetric matrix used to represent the gravitational acceleration g; r i,k It is used to indicate the contact position between the i-th foot of the legged robot and the ground in the k-th control cycle and the world coordinate system; Used to indicate the contact position r i,k The anti-skew symmetric matrix of ; The inverse skew symmetric matrix used to represent the torso position p0 of the legged robot in the world coordinate system; Used to represent the moment of inertia of the trunk of the legged robot at the initial moment and in the world coordinate system; It is used to represent the angular acceleration of the trunk of the legged robot in the kth control cycle; ω0 is used to represent the initial angular velocity of the trunk of the legged robot; The inverse skew symmetric matrix used to represent the initial angular velocity ω0 of the trunk of the legged robot; Δω k It is used to represent the angular velocity increment of the trunk of the hind-legged robot after k control cycles; Δθ k It is used to represent the rotation speed increment of the trunk of the hind-legged robot after k control cycles. ΔT is used to represent the control cycle duration; j is used to represent the sequence number of k control cycles, and j is an integer not greater than k-1; Used to represent the acceleration of the legged robot in the jth control cycle; Used to represent the angular acceleration of the legged robot's trunk in the jth control cycle.
[0367] In the above formula (17), Yes Substitute kΔTUω0 to obtain.
[0368] When k = 0, in, Used to represent the angular acceleration of the trunk of the legged robot at the initial time point; Used to represent the moment of inertia of the trunk of the legged robot at the initial moment and in the world coordinate system; is the moment of inertia The inverse matrix of ; N represents the number of feet of the legged robot in contact with the ground, N is an integer greater than 0; i is used to represent the sequence number of the feet of the legged robot in contact with the ground, i is a positive integer not greater than N; r i,0 It is used to indicate the contact position between the i-th foot of the legged robot and the ground at the initial time point and in the world coordinate system; Used to indicate the contact position r i,k The anti-skew symmetric matrix of ; The inverse skew symmetric matrix used to represent the trunk position p0 of the legged robot in the world coordinate system; f i,k It is used to represent the force acting on the ith foot of the legged robot in contact with the ground at the initial time point and in the world coordinate system; ω0 is used to represent the initial angular velocity of the trunk of the legged robot; The inverse skew symmetric matrix used to represent the initial angular velocity ω0 of the torso of the legged robot. Therefore, With the column vector F total In addition, combined with With the force matrix F total If the relationship is linear, then we can get the angular acceleration of the trunk of the legged robot in the kth control cycle: With the force matrix F total There is a linear relationship.
[0369] Therefore, it can be seen from the above that after k control cycles, the rotation angle, angular velocity and acceleration of the trunk of the footed robot in the world coordinate system and the force matrix F total If the relationship is linear, then after k control cycles, in the world coordinate system, the trunk position, velocity and angular velocity of the legged robot satisfy the third relationship data, the fifth relationship data and the sixth relationship data, which are as follows:
[0370]
[0371] Among them, θ k A is used to represent the rotation angle of the trunk of the legged robot after k control cycles, that is, the predicted rotation angle of the legged robot when it moves to the target position after the target movement time. θ,k Used to represent the second coefficient matrix; F total Used to represent the force f exerted on the foot of a legged robot when it contacts the ground i,k The force matrix formed; b θ,k Used to represent; the second constant matrix; ω k It is used to represent the angular velocity of the trunk of the legged robot after k control cycles, that is, the predicted angular velocity of the trunk when the legged robot moves to the target position; A ω,kUsed to represent the third coefficient matrix; b ω,k Used to represent the third constant matrix; It is used to represent the angular acceleration of the trunk of the legged robot after k control cycles, that is, the predicted angular velocity of the trunk of the legged robot when it is at the target position; Used to represent the fourth coefficient matrix; Used to represent the fourth constant matrix.
[0372] Second, the process of creating the second relational data.
[0373] By parameterizing the acceleration and angular acceleration of the torso of the legged robot, we can get the following formula:
[0374]
[0375] in, It is used to represent the acceleration of the trunk of the legged robot at the kth control cycle; It is used to represent the time matrix at the kth control cycle. is a constant; A first constant used to represent an undetermined value; Used to represent the constant matrix at the kth control cycle; It is used to represent the angular acceleration of the trunk of the legged robot at the kth control cycle; It is used to represent the time matrix at the kth control cycle. is a constant; Used to represent a second constant whose value is undetermined; Used to represent the constant matrix at the kth control cycle.
[0376] In the embodiment of the present application, the first row of formulas in formula (19) is the thirteenth relationship data, which indicates the relationship between the acceleration and the moving time of the legged robot. The second row of formulas in formula (19) is the sixteenth relationship data, which indicates the relationship between the angular acceleration and the moving time of the legged robot.
[0377] In the embodiment of the present application, the acceleration and angular acceleration of the trunk of the legged robot are parameterized, which can be achieved by using Bezier (Bezier curve) or other methods.
[0378] On the basis of the above formula (19), combined with formulas (5) and (18), the dynamic constraints of the legged robot during the kth control cycle in the motion process can be obtained, that is, the second relationship data is obtained, and the second relationship data satisfies the following relationship:
[0379]
[0380] in, It is used to represent the acceleration of the trunk of the legged robot at the kth control cycle; It is used to represent the time matrix at the kth control cycle. is a constant; A first constant used to represent an undetermined value; Used to represent the constant matrix at the kth control cycle; It is used to represent the angular acceleration of the trunk of the legged robot at the kth control cycle; It is used to represent the time matrix at the kth control cycle. is a constant; Used to represent a second constant whose value is undetermined; It is used to represent the constant matrix in the kth control cycle; F total Used to represent the force f exerted on the foot of a legged robot when it contacts the ground i,k The force matrix formed; is used to represent the sixth coefficient matrix; is used to represent the sixth constant matrix; Used to represent the fourth coefficient matrix; Used to represent the fourth constant matrix; T k The time matrix and the time matrix The time matrix is composed of: C is a constant whose value is not determined, and the constant C whose value is not determined is composed of the first constant whose value is not determined and the second constant Composition; d k is the constant matrix at the kth control cycle and The constant matrix A k is composed of the sixth coefficient matrix and The fourth coefficient matrix The coefficient matrix formed by k It is a constant matrix composed of the sixth constant matrix and the fourth constant matrix.
[0381] In a possible implementation, according to the above formula (19), the relationship data corresponding to the trunk position, movement speed, rotation angle and angular velocity of the trunk of the legged robot in the kth control cycle are respectively created. The relationship data is similar to the above formula (19), and each relationship data includes a respective constant c indicating that the value is undetermined. p , c θ 、c ω, that is, create first relationship data, twelfth relationship data, fourteenth relationship data, and fifteenth relationship data, the first relationship data indicates the relationship between the torso position of the legged robot and the moving duration, the twelfth relationship data indicates the relationship between the moving speed of the legged robot and the moving duration, the fourteenth relationship data indicates the relationship between the rotation angle of the legged robot and the moving duration, and the fifteenth relationship data indicates the relationship between the angular velocity of the legged robot and the moving duration.
[0382] Optionally, the created first relationship data, twelfth relationship data, fourteenth relationship data, and fifteenth relationship data satisfy the following relationship:
[0383]
[0384] Among them, p k It is used to represent the trunk velocity of the legged robot in the kth control cycle; T pk It is used to represent the time matrix at the kth control cycle, at which time T pk is a constant; c p A third constant for indicating an undetermined value. In the embodiment of the present application, the third constant is described by taking the undetermined value constant in the first relationship data; d pk Used to represent the constant matrix at the kth control cycle; It is used to indicate the moving speed of the trunk of the legged robot in the kth control cycle; It is used to represent the time matrix at the kth control cycle. is a constant; A fourth constant used to represent an undetermined value; Used to represent the constant matrix at the kth control cycle; θ k It is used to represent the rotation angle of the trunk of the legged robot in the kth control cycle; T θk It is used to represent the time matrix at the kth control cycle, at which time T θk is a constant; c θ Used to indicate the fifth constant whose value is undetermined; d θk Used to represent the constant matrix at the kth control cycle; ω k It is used to represent the angular velocity of the trunk of the legged robot in the kth control cycle; T ωk It is used to represent the time matrix at the kth control cycle, at which time T ωk is a constant; c ω Used to indicate the sixth constant whose value is undetermined; d ωk Used to represent the constant matrix at the kth control cycle.
[0385] On the basis of creating the first relational data, the twelfth relational data, the fourteenth relational data, and the fifteenth relational data, in the created formula (20), C is a constant whose value is not determined, and the constant C whose value is not determined is obtained by the first constant whose value is not determined The second constant The third constant c p , the fourth constant The fifth constant c θ , the sixth constant c ω constitute.
[0386] Third, the process of creating friction constraints.
[0387] In the embodiment of the present application, the friction constraint of the contact point between the foot of the legged robot and the ground is linearized to create a linearized friction constraint bar. In order to prevent the relative sliding of the foot of the legged robot when it is in contact with the ground during movement, that is, the foot does not slip when it is in contact with the ground, the foot of the legged robot needs to meet the following friction constraint conditions when it is in contact with the ground. The friction constraint is represented by the friction cone constraint as follows:
[0388]
[0389] Among them, n i is the normal vector of the contact point between the ith foot of the legged robot and the ground, Represents the normal vector n i is a column vector of 3 dimensions, A set of real numbers representing multidimensional space; t i1 ,t i2 represents two tangent vectors on the plane perpendicular to the normal vector of the contact point between the ith foot of the legged robot and the ground. The tangent vector t i1 With the tangent vector t i2 Orthogonal, represents the tangent vector t i1 and the tangent vector t i2 Jun is a column vector of three dimensions; normal vector n i , tangent vector t i1 and the tangent vector t i2 Construct a unit orthogonal basis; T represents the transpose of the vector, μ i is the friction coefficient between the ith foot of the legged robot and the ground; f i Used to represent the force exerted on the i-th foot of a legged robot when it contacts the ground.
[0390] Since the legged robot is subject to friction constraints during its movement, the direction of the force acting on the i-th leg of the legged robot in contact with the ground is within a friction cone. In the embodiment of the present application, the quadratic friction constraint can be converted into a linear constraint by using a tetrahedron approximation, and the friction constraint condition created satisfies the following relationship:
[0391]
[0392] D mu f i ≤f lim (twenty four)
[0393]
[0394]
[0395] Among them, μ i is the friction coefficient; n i is the normal vector of the contact point between the ith foot of the legged robot and the ground, Represents the normal vector n i is a column vector of 3 dimensions, A set of real numbers representing multidimensional space; t i1 ,t i2 represents two tangent vectors on the plane perpendicular to the normal vector of the contact point between the ith foot of the legged robot and the ground. The tangent vector t i1 With the tangent vector t i2 Orthogonal, represents the tangent vector t i1 and the tangent vector t i2 Jun is a three-dimensional column vector; T represents the transpose of the vector; f i It is used to represent the force exerted on the i-th foot of the legged robot when it contacts the ground; It represents the minimum value of the force in the normal direction on the ith foot of the legged robot in contact with the ground. It represents the maximum value of the force in the normal direction on the ith foot of the legged robot in contact with the ground. are greater than 0, It can be any set value. Normal vectors used to represent the four sides of the pyramid.
[0396] According to the above relationship, the force f exerted on the i-th foot of the anteropod in contact with the ground is i The constraints of the components on the four sides of the tetrahedron and the force f on the i-th foot of the anteropod in contact with the ground iUnder the constraint of the normal force, the force f on the i-th foot of the legged robot in contact with the ground is i The direction is restricted to within the tetrahedron.
[0397] Fourth, create spatial constraints.
[0398] In the embodiment of the present application, the linearization of the movable working space of the foot of the legged robot is used to construct the linearized spatial constraint condition. The working space of the foot of the legged robot is generally a non-convex area and can be approximated as a convex polyhedron. The convex polyhedron includes multiple faces, each of which is represented by the following linear inequality:
[0399]
[0400] Among them, s il represents the external normal vector of the lth face of the convex polyhedron with the i-th foot; the value of l is (1, 2, ..., L total ), L total is a positive integer not less than 4; x i represents the coordinates of the foothold of the i-th foot of the legged robot in the coordinate system of the shoulder joint of the leg where the i-th foot is located; d il It represents the projection value of the vector formed by the origin pointing to any point in the lth face of the convex polyhedron on the normal outside the lth face.
[0401] By combining the linear inequalities of multiple faces of the convex polyhedron of the foot of the legged robot, the initial spatial constraint condition is obtained, which is as follows:
[0402]
[0403] Among them, S i The set of external normal vectors of multiple faces of the convex polyhedron representing the i-th foot; x i represents the foothold position of the i-th foot of the legged robot, in the coordinate system of the shoulder joint of the leg where the i-th foot is located; d i It represents the set of projection values of the vector formed by any point in multiple faces of a convex polyhedron with the origin pointing to the i-th foot on the normal outside the i-th face; T represents the transpose of the matrix.
[0404] In the above inequality, the working space constraints that the i-th foot of the legged robot needs to satisfy during movement can be expressed as follows:
[0405]
[0406] Among them, S i The set of external normal vectors of multiple faces of the convex polyhedron representing the i-th foot; x irepresents the foothold position of the i-th foot of the legged robot, in the coordinate system of the shoulder joint of the leg where the i-th foot is located; d i represents the set of projection values of the vector formed by any point in multiple faces of the convex polyhedron with the origin pointing to the i-th foot on the normal direction outside the face; T represents the transpose of the matrix; R0 is used to represent the posture of the torso of the legged robot in the world coordinate system at the initial time point; I is used to represent the unit matrix; T θ,k used to represent the time matrix in the seventeenth relational data, the seventeenth relational data indicating the relationship between the rotation angle of the trunk of the legged robot and the force exerted on the foot of the legged robot when it contacts the ground during the kth control cycle; Used to represent a second constant whose value is undetermined; The constant matrix d used to represent the seventeenth relation data θ,k The anti-skew symmetric matrix of p i It is used to indicate the contact position between the ith foot of the legged robot and the ground; T p,k used to represent the time matrix in the eighteenth relational data, the eighteenth relational data indicating the relationship between the trunk position of the legged robot and the force exerted on the foot of the legged robot when it contacts the ground during the kth control cycle; Used to indicate the first constant whose value is undetermined; d p,k Used to represent the constant matrix in the eighteenth relation data; p s,i It is used to indicate the contact position between the ith foot of the legged robot and the ground; d i Represents the set of projection values of the vector formed by any point in multiple faces of a convex polyhedron with the origin pointing to the i-th foot on the normal outside the l-th face.
[0407] In the above formula (26), It is used to represent the cross product of the angle change caused by angular velocity in the world system and the displacement change caused by acceleration in the initial body coordinate system, that is, the change of the foot position caused by angular acceleration and acceleration in the body coordinate system. In order to make the spatial constraint condition a linear constraint condition, replace (26) in the above formula Ignore this item. After ignoring this item, the linear space constraint condition can be expressed as follows:
[0408]
[0409] Among them, S i The set of external normal vectors of multiple faces of the convex polyhedron representing the i-th foot; x i represents the foothold position of the i-th foot of the legged robot, in the coordinate system of the shoulder joint of the leg where the i-th foot is located; d irepresents the set of projection values of the vector formed by any point in the multiple faces of the convex polyhedron with the origin pointing to the i-th foot on the normal direction outside the l-th face; T represents the transpose of the matrix; R0 is used to represent the posture of the torso of the legged robot in the world coordinate system at the initial time point; I is used to represent the unit matrix; T θ,k used to represent the time matrix in the twelfth relational data, the twelfth relational data indicating the relationship between the rotation angle of the trunk of the legged robot and the force exerted on the foot of the legged robot when it contacts the ground during the kth control cycle; Used to represent a second constant whose value is undetermined; The constant matrix d used to represent the twelfth relation data θ,k The anti-skew symmetric matrix of p i It is used to indicate the contact position between the ith foot of the legged robot and the ground; T p,k used to represent the time matrix in the thirteenth relationship data, the thirteenth relationship data indicating the relationship between the trunk position of the legged robot and the force applied when the foot of the legged robot contacts the ground during the kth control cycle; Used to indicate the first constant whose value is undetermined; d p,k A constant matrix used to represent the thirteenth relation data; p s,i It is used to indicate the contact position between the ith foot of the legged robot and the ground; d i Represents the set of projection values of the vector formed by any point in multiple faces of a convex polyhedron with the origin pointing to the i-th foot on the normal outside the l-th face.
[0410] Fifth, create fourth relation data.
[0411] A plurality of sampling time points are taken within the target movement duration, and based on the third relationship data, the fifth relationship data, the sixth relationship data, the seventh relationship data, the eighth relationship data, the ninth relationship data, the tenth relationship data, the eleventh relationship data, and the force exerted on the foot of the legged robot when it contacts the ground, the fourth relationship data created satisfies the following relationship:
[0412] J=J grf +J len +J tgt
[0413] Where, J represents the target value; J grf It is used to represent the weighted square sum of the forces acting on the foot of the legged robot when it contacts the ground. len It is used to represent the sum of the weighted square sum of multiple distances and the weighted square sum of multiple rotation angle differences, J tgtUsed to represent the weighted sum of the squares of the difference between the target rotation angle and the predicted rotation angle, the difference between the target angular velocity and the predicted angular velocity, the difference between the target angular acceleration and the predicted angular acceleration, the difference between the target torso position and the predicted torso position, the difference between the target moving speed and the predicted moving speed, and the difference between the target acceleration and the predicted acceleration when the legged robot is at the target position.
[0414] After creating the fourth relationship data, the friction constraint condition and the space constraint condition are used to determine the value of the constant C when the target value J is the minimum value by using the following relationship:
[0415]
[0416]
[0417]
[0418] Where, J represents the target value; J grf It is used to represent the weighted square sum of the forces acting on the foot of the legged robot when it contacts the ground. len It is used to represent the sum of the weighted square sum of multiple distances and the weighted square sum of multiple rotation angle differences, J tgt It is used to represent the weighted square sum of the difference between the target rotation angle and the predicted rotation angle, the difference between the target angular velocity and the predicted angular velocity, the difference between the target angular acceleration and the predicted angular acceleration, the difference between the target trunk position and the predicted trunk position, the difference between the target moving speed and the predicted moving speed, and the difference between the target acceleration and the predicted acceleration when the legged robot is at the target position; T k The time matrix and the time matrix The time matrix is composed of: C is a constant whose value is not determined, and the constant C whose value is not determined is composed of the first constant whose value is not determined and the second constant Composition; d k is the constant matrix at the kth control cycle and The constant matrix A k is composed of the sixth coefficient matrix and The fourth coefficient matrix The coefficient matrix formed by k is a constant matrix composed of the sixth constant matrix and the fourth constant matrix; μ i is the friction coefficient; n i is the normal vector of the contact point between the ith foot of the legged robot and the ground, Represents the normal vector n i is a column vector of 3 dimensions, A set of real numbers representing multidimensional space; t i1 ,t i2 represents two tangent vectors on the plane perpendicular to the normal vector of the contact point between the ith foot of the legged robot and the ground. The tangent vector t i1 With the tangent vector t i2 Orthogonal, represents the tangent vector t i1 and the tangent vector t i2 Jun is a three-dimensional column vector; T represents the transpose of the vector; f i It is used to represent the force exerted on the i-th foot of the legged robot when it contacts the ground; It represents the minimum value of the force in the normal direction on the ith foot of the legged robot in contact with the ground. It represents the maximum value of the force in the normal direction on the ith foot of the legged robot in contact with the ground. are greater than 0, It can be any set value. Used to represent the normal vectors of the four sides of the tetrahedron; S i The set of external normal vectors of multiple faces of the convex polyhedron representing the i-th foot; x i represents the foothold position of the i-th foot of the legged robot, in the coordinate system of the shoulder joint of the leg where the i-th foot is located; d i represents the set of projection values of the vector formed by any point in the multiple faces of the convex polyhedron with the origin pointing to the i-th foot on the normal direction outside the l-th face; T represents the transpose of the matrix; R0 is used to represent the posture of the torso of the legged robot in the world coordinate system at the initial time point; I is used to represent the unit matrix; T θ,k used to represent the time matrix in the twelfth relational data, the twelfth relational data indicating the relationship between the rotation angle of the trunk of the legged robot and the force exerted on the foot of the legged robot when it contacts the ground during the kth control cycle; Used to represent a second constant whose value is undetermined; The constant matrix d used to represent the twelfth relation data θ,k The anti-skew symmetric matrix of p i It is used to indicate the contact position between the ith foot of the legged robot and the ground; T p,k used to represent the time matrix in the thirteenth relationship data, the thirteenth relationship data indicating the relationship between the trunk position of the legged robot and the force applied when the foot of the legged robot contacts the ground during the kth control cycle; Used to indicate the first constant whose value is undetermined; d p,k A constant matrix used to represent the thirteenth relation data; p s,i It is used to indicate the contact position between the ith foot of the legged robot and the ground; di Represents the set of projection values of the vector formed by any point in multiple faces of a convex polyhedron with the origin pointing to the i-th foot on the normal outside the l-th face.
[0419] In one possible implementation, the undetermined constant C is composed of the undetermined first constant The second constant The third constant c p , the fourth constant The fifth constant c θ , the sixth constant c ω According to the above relationship data, after determining the value of constant C, the first constant included in constant C can be determined. The second constant The third constant c p , the fourth constant The fifth constant c θ , the sixth constant c ω The value of the third constant c p Substituting into the first line of formula (21) above, the moving trajectory of the legged robot trunk can be obtained. The second constant The fourth constant The fifth constant c θ , the sixth constant c ω , respectively substituted into the corresponding formulas in the above formula (19) and formula (21), the velocity trajectory, acceleration trajectory, rotation angle trajectory, angular velocity trajectory and angular velocity trajectory of the legged robot trunk can be obtained, so that the legged robot can be controlled to move based on the movement trajectory, velocity trajectory, acceleration trajectory, rotation angle trajectory, angular velocity trajectory and angular velocity trajectory of the legged robot trunk.
[0420] The method for determining the moving trajectory provided in the embodiment of the present application can be applied to various legged robots, such as bipedal robots, quadrupedal robots or hexapodal robots, etc.; it can be applied to various gaits of legged robots, such as bipedal walking, quadrupedal walking, quadrupedal trotting, random gait or diagonal gait, etc.; it can be applied to various complex environments, such as flat ground, uneven ground, slopes, stairs, etc. In addition, in addition to considering the ground force, curve oscillation amplitude, and expected target state data, the fourth relationship data can also consider the square sum of acceleration, the square sum of velocity differences of adjacent points, the square sum of acceleration differences, etc. The position of the contact point: The contact point is not limited to the contact point between the foot of the legged robot and the ground, but also applies to the situation where the robot body, trunk, upper limbs and other parts are in contact with the environment. In addition, when considering the friction constraint, the approximation of the friction cone corresponding to each foot is not limited to four edges. The more faces of the vertebral body of the friction cone, the more realistic the friction cone is, thereby ensuring the feasibility of the determined moving trajectory.
[0421] Fig.16 is a schematic diagram of the structure of a moving trajectory determination device provided in an embodiment of the present application, such as Fig.16 As shown, the device comprises:
[0422] A creation module 1601 is used to create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the trunk position of the legged robot and the moving time, the second relationship data indicates the relationship between the moving time and the force applied to the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving time and the force, and both the first relationship data and the second relationship data include a constant C whose value is undetermined;
[0423] The creation module 1601 is further used to create fourth relationship data based on the third relationship data, the fourth relationship data indicating a positive correlation between the target value J and the state data error, the state data error representing an error between the target state data and the predicted state data when the legged robot moves to the target position after the target movement time, the target state data including the target rotation angle of the legged robot at the target position, and the predicted state data including the predicted rotation angle;
[0424] The acquisition module 1602 is used to determine the value of the constant C when the target value J is the minimum value based on the second relationship data and the fourth relationship data, and to obtain the first relationship data corresponding to the constant C with the determined value. The first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
[0425] In another possible implementation, the acquisition module 1602 is used to determine the value of the force when the target value J is the minimum value based on the fourth relationship data; determine the value of the constant C based on the value of the force, the target movement duration and the second relationship data, and obtain the first relationship data corresponding to the constant C whose value has been determined.
[0426] In another possible implementation, the creation module 1601 is further used to create fifth relationship data, where the fifth relationship data indicates the relationship between the predicted angular velocity and the force when the legged robot moves to the target position after the target movement time; and to create fourth relationship data based on the third relationship data and the fifth relationship data;
[0427] The target state data also includes the target angular velocity of the legged robot when it is at the target position, and the predicted state data also includes the predicted angular velocity.
[0428] In another possible implementation, a module 1601 is created to set the target value J to the sum of the squares of the first difference and the second difference, where the first difference is the difference between the target rotation angle and the predicted rotation angle, and the second difference is the difference between the target angular velocity and the predicted angular velocity.
[0429] In another possible implementation, the creation module 1601 is further used to create sixth relationship data, where the sixth relationship data indicates the relationship between the predicted angular acceleration and the force when the legged robot moves to the target position after the target movement time; and to create fourth relationship data based on the third relationship data and the sixth relationship data;
[0430] The target state data also includes the target angular acceleration of the legged robot at the target position, and the predicted state data also includes the predicted angular acceleration.
[0431] In another possible implementation, creation module 1601 is also used to set the target value J to the sum of the squares of the first difference and the third difference, where the first difference is the difference between the target rotation angle and the predicted rotation angle, and the third difference is the difference between the target angular acceleration and the predicted angular acceleration.
[0432] In another possible implementation, the creation module 1601 is further used to create seventh relationship data, where the seventh relationship data indicates the relationship between the predicted trunk position and the force when the legged robot moves to the target position after the target movement time; and create fourth relationship data based on the third relationship data and the seventh relationship data;
[0433] The target state data also includes the target trunk position of the legged robot when it is at the target position, and the predicted state data also includes the predicted trunk position.
[0434] In another possible implementation, the creation module 1601 is further used to create eighth relationship data, where the eighth relationship data indicates the relationship between the predicted movement speed and the force when the legged robot moves to the target position after the target movement time has passed; and to create fourth relationship data based on the third relationship data and the eighth relationship data;
[0435] The target state data also includes the target moving speed of the legged robot when it is at the target position, and the predicted state data also includes the predicted moving speed.
[0436] In another possible implementation, the creation module 1601 is further used to create ninth relationship data, where the ninth relationship data indicates the relationship between the predicted acceleration and the force when the legged robot moves to the target position after the target movement time; and to create fourth relationship data based on the third relationship data and the ninth relationship data;
[0437] The target state data also includes the target acceleration of the legged robot when it is at the target position, and the predicted state data also includes the predicted acceleration.
[0438] In another possible implementation, Fig.17 As shown, the device also includes:
[0439] A selection module 1603 is used to select multiple sampling time points within the target movement duration;
[0440] The creation module 1601 is further used to create tenth relationship data corresponding to each sampling time point, the tenth relationship data indicating the relationship between the rotation angle and the force of the footed robot after the movement time between the sampling time point and the initial time point;
[0441] The creation module 1601 is used to create fourth relationship data based on the third relationship data and the tenth relationship data, and the fourth relationship data indicates a positive correlation between the target value J and the state data error and the rotation angle corresponding to the sampling time point.
[0442] In another possible implementation, the device further includes:
[0443] A selection module 1603 is used to select multiple sampling time points within the target movement duration;
[0444] The creation module 1601 is further used to create an eleventh relationship data corresponding to each sampling time point, the eleventh relationship data indicating the relationship between the predicted trunk position and the force of the footed robot after the movement time between the sampling time point and the initial time point;
[0445] The creation module 1601 is used to create fourth relationship data based on the third relationship data and the eleventh relationship data, and the fourth relationship data indicates a positive correlation between the target value J and the state data error and the predicted torso position corresponding to each sampling time point.
[0446] In another possible implementation, the creation module 1601 is further used to create a friction constraint condition, where the friction constraint condition indicates a friction constraint condition satisfied by a force applied when a foot of the footed robot contacts the ground;
[0447] The acquisition module 1602 is used to determine, based on the second relationship data and the fourth relationship data, a value of the constant C when the target value J is the minimum value when the friction constraint condition is satisfied.
[0448] In another possible implementation, the creation module 1601 is further used to create a spatial constraint condition of the foot of the legged robot, the spatial constraint condition indicating a spatial range in which the foot of the legged robot can move, and the spatial constraint condition includes a constant C;
[0449] The acquisition module 1602 is used to determine, based on the second relationship data and the fourth relationship data, the value of the constant C when the target value J is the minimum value when the spatial constraint condition is met.
[0450] It should be noted that the mobile trajectory determination device provided in the above embodiment is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the legged robot is divided into different functional modules to complete all or part of the functions described above. In addition, the mobile trajectory determination device provided in the above embodiment and the mobile trajectory determination method embodiment belong to the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0451] An embodiment of the present application also provides a legged robot, which includes a processor and a memory, wherein at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the movement trajectory determination method of the above embodiment.
[0452] Fig.18 The schematic diagram of the structure of a legged robot 1800 provided by an exemplary embodiment of the present application is shown. The legged robot 1800 is used to execute the steps executed by the legged robot in the above-mentioned moving trajectory determination method.
[0453] The legged robot 1800 includes a processor 1801 and a memory 1802 .
[0454] The processor 1801 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 1801 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 1801 may also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 1801 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 1801 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.
[0455] The memory 1802 may include one or more computer-readable storage media, which may be non-transitory. The memory 1802 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1802 is used to store at least one computer program, which is executed by the processor 1801 to implement the mobile trajectory determination method provided in the method embodiment of the present application.
[0456] In some embodiments, the legged robot 1800 may further optionally include: a peripheral device interface 1803 and at least one peripheral device. The processor 1801, the memory 1802 and the peripheral device interface 1803 may be connected via a bus or a signal line. Each peripheral device may be connected to the peripheral device interface 1803 via a bus, a signal line or a circuit board. Specifically, the peripheral device includes: at least one of a radio frequency circuit 1804, a display screen 1805, a camera assembly 1805, an audio circuit 1807, a positioning assembly 1806 and a power supply 1807.
[0457] The peripheral device interface 1803 may be used to connect at least one peripheral device related to I / O (Input / Output) to the processor 1801 and the memory 1802. In some embodiments, the processor 1801, the memory 1802, and the peripheral device interface 1803 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 1801, the memory 1802, and the peripheral device interface 1803 may be implemented on a separate chip or circuit board, which is not limited in this embodiment.
[0458] The radio frequency circuit 1804 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 1804 communicates with the communication network and other communication devices through electromagnetic signals. The radio frequency circuit 1804 converts the electrical signal into an electromagnetic signal for transmission, or converts the received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 1804 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The radio frequency circuit 1804 can communicate with other terminals through at least one wireless communication protocol. The wireless communication protocol includes but is not limited to: the World Wide Web, a metropolitan area network, an intranet, various generations of mobile communication networks (2G, 3G, 4G and 5G), a wireless local area network and / or a WiFi (Wireless Fidelity) network. In some embodiments, the radio frequency circuit 1804 may also include circuits related to NFC (Near Field Communication), which is not limited in this application.
[0459] The camera assembly 1805 is used to capture images or videos. Optionally, the camera assembly 1805 includes a front camera and a rear camera. The front camera is arranged on the front panel of the terminal, and the rear camera is arranged on the back of the terminal. In some embodiments, there are at least two rear cameras, which are any one of a main camera, a depth of field camera, a wide-angle camera, and a telephoto camera, so as to realize the fusion of the main camera and the depth of field camera to realize the background blur function, the fusion of the main camera and the wide-angle camera to realize panoramic shooting and VR (Virtual Reality) shooting function or other fusion shooting functions. In some embodiments, the camera assembly 1805 may also include a flash. The flash can be a monochrome temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cold light flash, which can be used for light compensation at different color temperatures.
[0460] The positioning component 1806 is used to locate the current geographical location of the legged robot 1800 to achieve navigation or LBS (Location Based Service). The positioning component 1806 can be a positioning component based on the GPS (Global Positioning System), Beidou system or Galileo system.
[0461] The power supply 1807 is used to power various components in the legged robot 1800. The power supply 1807 can be an alternating current, a direct current, a disposable battery, or a rechargeable battery. When the power supply 1807 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged through a wired line, and a wireless rechargeable battery is a battery that is charged through a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0462] In some embodiments, the legged robot 1800 further includes one or more sensors 1808 . The one or more sensors 1808 include, but are not limited to: an acceleration sensor 1809 and a gyroscope sensor 1810 .
[0463] The acceleration sensor 1809 can detect the magnitude of acceleration on the three coordinate axes of the coordinate system established by the foot-type robot 1800. For example, the acceleration sensor 1809 can be used to detect the components of gravity acceleration on the three coordinate axes. The processor 1801 can be based on the gravity acceleration signal collected by the acceleration sensor 1809. The acceleration sensor 1809 can also be used to collect motion data of games or users.
[0464] The gyro sensor 1810 can detect the body direction and rotation angle of the legged robot 1800. The gyro sensor 1810 can cooperate with the acceleration sensor 1809 to collect the user's 3D actions on the legged robot 1800. The processor 1801 can implement the following functions based on the data collected by the gyro sensor 1810: motion sensing (such as changing the UI according to the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.
[0465] Those skilled in the art will understand that Fig.18 The structure shown in does not constitute a limitation on the legged robot 1800, and may include more or fewer components than shown in the figure, or combine certain components, or adopt a different component arrangement.
[0466] An embodiment of the present application further provides a control device, which includes a processor and a memory, wherein at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the movement trajectory determination method of the above embodiment.
[0467] Optionally, the control device is provided as a server. Fig.19 It is a structural diagram of a control device provided in an embodiment of the present application. The server 1900 may have relatively large differences due to different configurations or performances, and may include one or more processors (Central Processing Units, CPU) 1901 and one or more memories 1902, wherein at least one computer program is stored in the memory 1902, and at least one computer program is loaded and executed by the processor 1901 to implement the methods provided in the above-mentioned various method embodiments. Of course, the control device may also have components such as a wired or wireless network interface, a keyboard, and an input and output interface for input and output, and the control device may also include other components for implementing device functions, which will not be described in detail here.
[0468] An embodiment of the present application further provides a computer-readable storage medium, in which at least one computer program is stored. The at least one computer program is loaded and executed by a processor to implement the operations performed by the movement trajectory determination method of the above embodiment.
[0469] An embodiment of the present application further provides a computer program product, including a computer program, which, when executed by a processor, implements the operations performed by the movement trajectory determination method as described in the above aspects.
[0470] A person of ordinary skill in the art will appreciate that all or part of the steps to implement the above embodiments may be accomplished by hardware, or by a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk, or an optical disk, etc.
[0471] The above description is only an optional embodiment of the embodiments of the present application and is not intended to limit the embodiments of the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the protection scope of the present application.
Claims
1. A method for determining a movement trajectory, characterized in that: The method comprises: Create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the trunk position and the moving duration of the legged robot, the second relationship data indicates the relationship between the moving duration and the force applied when the foot of the legged robot contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving duration and the force, and the first relationship data and the second relationship data both include a constant C whose value is undetermined; Based on the third relationship data, fourth relationship data is created, the fourth relationship data indicating a positive correlation between a target value J and a state data error, the state data error representing an error between target state data and predicted state data when the legged robot moves to the target position after the target movement time, the target state data including a target rotation angle of the legged robot at the target position, and the predicted state data including the predicted rotation angle; Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the first relationship data corresponding to the constant C with the determined value is used to represent the movement trajectory of the torso of the legged robot.
2. The method according to claim 1, characterized in that The determining, based on the second relationship data and the fourth relationship data, the value of the constant C when the target value J is the minimum value includes: Based on the fourth relationship data, determining a value of the force when the target value J is a minimum value; Based on the value of the force, the target movement duration and the second relationship data, the value of the constant C is determined, and the first relationship data corresponding to the constant C whose value has been determined is obtained.
3. The method according to claim 1, characterized in that The method further comprises: creating fifth relationship data indicating a relationship between a predicted angular velocity of the legged robot when it moves to a target position after the target movement time and the force; The step of creating fourth relationship data based on the third relationship data includes: Creating the fourth relationship data based on the third relationship data and the fifth relationship data; Wherein, the target state data also includes the target angular velocity of the footed robot when it is at the target position, and the predicted state data also includes the predicted angular velocity.
4. The method according to claim 3, characterized in that The creating the fourth relationship data based on the third relationship data and the fifth relationship data includes: The target value J is set to the sum of the squares of a first difference and a second difference, wherein the first difference is the difference between the target rotation angle and the predicted rotation angle, and the second difference is the difference between the target angular velocity and the predicted angular velocity.
5. The method according to claim 1, characterized in that The method further comprises: Creating sixth relationship data, the sixth relationship data indicating a relationship between a predicted angular acceleration of the legged robot when it moves to a target position after the target movement time and the force; The step of creating fourth relationship data based on the third relationship data includes: Creating the fourth relationship data based on the third relationship data and the sixth relationship data; Wherein, the target state data also includes the target angular acceleration of the footed robot when it is at the target position, and the predicted state data also includes the predicted angular acceleration.
6. The method according to claim 5, characterized in that The creating the fourth relationship data based on the third relationship data and the sixth relationship data includes: The target value J is set to the sum of the squares of the first difference and the third difference, wherein the first difference is the difference between the target rotation angle and the predicted rotation angle, and the third difference is the difference between the target angular acceleration and the predicted angular acceleration.
7. The method according to claim 1, characterized in that The method further comprises: Creating seventh relationship data, the seventh relationship data indicating a relationship between a predicted trunk position of the legged robot when the legged robot moves to a target position after the target movement time and the force; The step of creating fourth relationship data based on the third relationship data includes: Creating the fourth relationship data based on the third relationship data and the seventh relationship data; Wherein, the target state data also includes the target trunk position of the legged robot when it is at the target position, and the predicted state data also includes the predicted trunk position.
8. The method according to claim 1, characterized in that The method further comprises: creating eighth relationship data, the eighth relationship data indicating a relationship between a predicted movement speed of the legged robot when it moves to a target position after the target movement time and the force; The step of creating fourth relationship data based on the third relationship data includes: Creating the fourth relationship data based on the third relationship data and the eighth relationship data; Wherein, the target state data also includes the target moving speed of the footed robot when it is at the target position, and the predicted state data also includes the predicted moving speed.
9. The method according to claim 1, characterized in that: The method further comprises: Creating ninth relationship data, the ninth relationship data indicating a relationship between a predicted acceleration of the legged robot when it moves to a target position after the target movement time and the force; The step of creating fourth relationship data based on the third relationship data includes: Creating the fourth relationship data based on the third relationship data and the ninth relationship data; Wherein, the target state data also includes the target acceleration of the legged robot when it is at the target position, and the predicted state data also includes the predicted acceleration.
10. The method according to claim 1, characterized in that The method further comprises: Selecting multiple sampling time points within the target movement duration; Creating tenth relationship data corresponding to each sampling time point, the tenth relationship data indicating the relationship between the rotation angle of the footed robot after the movement time between the sampling time point and the initial time point and the action force; The creating fourth relationship data based on the third relationship data, wherein the fourth relationship data indicates a positive correlation between the target value J and the state data error, comprises: Based on the third relationship data and the tenth relationship data, the fourth relationship data is created, and the fourth relationship data indicates a positive correlation between the target value J and the state data error and the rotation angle corresponding to the sampling time point.
11. The method according to claim 1, characterized in that: The method further comprises: Selecting multiple sampling time points within the target movement duration; Creating eleventh relationship data corresponding to each sampling time point, the eleventh relationship data indicating the relationship between the predicted trunk position of the footed robot after the movement time between the sampling time point and the initial time point and the force; The creating fourth relationship data based on the third relationship data, wherein the fourth relationship data indicates a positive correlation between the target value J and the state data error, comprises: Based on the third relationship data and the eleventh relationship data, the fourth relationship data is created, and the fourth relationship data indicates a positive correlation between the target value J and the state data error and the predicted torso position corresponding to each sampling time point.
12. The method according to any one of claims 1 to 11, characterized in that: The method further comprises: Creating a friction constraint condition, wherein the friction constraint condition indicates a friction constraint condition satisfied by a force applied when a foot of the legged robot contacts the ground; The determining, based on the second relationship data and the fourth relationship data, the value of the constant C when the target value J is the minimum value includes: Based on the second relationship data and the fourth relationship data, the value of the constant C when the target value J is the minimum value when the friction constraint condition is met is determined.
13. The method according to any one of claims 1 to 11, characterized in that: The method further comprises: Creating a spatial constraint condition for the foot of the legged robot, wherein the spatial constraint condition indicates a spatial range in which the foot of the legged robot can move, and the spatial constraint condition includes the constant C; The determining, based on the second relationship data and the fourth relationship data, the value of the constant C when the target value J is the minimum value includes: Based on the second relationship data and the fourth relationship data, determine the value of the constant C when the target value J is the minimum value while satisfying the spatial constraint condition.
14. A moving trajectory determination device, characterized in that: The device comprises: A creation module, used to create first relationship data, second relationship data and third relationship data, wherein the first relationship data indicates the relationship between the trunk position of the legged robot and the moving time, the second relationship data indicates the relationship between the moving time and the force applied to the foot of the legged robot when it contacts the ground, and the third relationship data indicates the relationship between the predicted rotation angle of the legged robot when it moves to the target position after the target moving time and the force, and the first relationship data and the second relationship data both include a constant C whose value is undetermined; The creation module is further used to create fourth relationship data based on the third relationship data, the fourth relationship data indicating a positive correlation between a target value J and a state data error, the state data error representing an error between target state data and predicted state data when the footed robot moves to the target position after the target movement time, the target state data including a target rotation angle of the footed robot at the target position, and the predicted state data including the predicted rotation angle; An acquisition module is used to determine the value of the constant C when the target value J is the minimum value based on the second relationship data and the fourth relationship data, and to acquire the first relationship data corresponding to the constant C whose value has been determined, and the first relationship data corresponding to the constant C whose value has been determined is used to represent the movement trajectory of the torso of the legged robot.
15. A legged robot, characterized in that: The legged robot includes a processor and a memory, wherein the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the movement trajectory determination method according to any one of claims 1 to 13.
16. A control device, characterized in that: The control device includes a processor and a memory, wherein at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the movement trajectory determination method according to any one of claims 1 to 13.
17. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the movement trajectory determination method according to any one of claims 1 to 13.
18. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the operations performed in the movement trajectory determination method according to any one of claims 1 to 13 are implemented.
Citation Information
Patent Citations
Method and device for determining centroid trajectory, legged robot, equipment and medium
CN112783175A
Mobile robot dynamic modeling and trajectory tracking control method and device
CN113534817A
Cited By
Moving trajectory determining method and apparatus, computer device, and storage medium
EP4390594B1