Robot motion control method, device, robot and storage medium
By obtaining the reference trajectory of the centroid and optimizing the center of mass control information to generate joint control information, the problem of single movement ability of the existing four-legged robot is solved, and multiple target movements and higher control stability are achieved.
Patent Information
- Application Number
- CN202110116500.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-28
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2041-01-28
AI Technical Summary
The existing four-legged robots mainly have the ability to crawl with four-legged motor control, which leads to their single motor ability.
By obtaining the center of mass reference trajectory, the center of mass control information is obtained based on the objective function optimization, and the joint control information is generated based on the structural matrix to realize the robot moving along the center of mass reference trajectory.
Accurate control of the robot's movement is achieved, allowing it to complete multiple target movements, enriching the robot's movement ability and improving control stability.
Smart Images

Figure CN114815591B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of robot control technology using artificial intelligence technology, and in particular to a robot motion control method, device, robot, and storage medium. Background Art
[0002] With the development of artificial intelligence technology, some organizations and scientific research institutions have successively launched a number of robots that can walk automatically, such as bipedal robots and quadrupedal robots.
[0003] Taking quadruped robots as an example, current research on quadruped robots mostly focuses on the design of the main structure, and there is relatively little research on their motion control, which results in the current quadruped robots basically only having the ability to crawl on four legs. Summary of the invention
[0004] The embodiments of the present application provide a robot motion control method, device, robot and storage medium, which can enrich the robot's motion capabilities. The technical solution is as follows:
[0005] According to one aspect of an embodiment of the present application, a robot motion control method is provided, the method comprising:
[0006] Acquire a center of mass reference trajectory for guiding the robot to perform a target motion; wherein the center of mass reference trajectory refers to the center of mass motion trajectory of the robot planned to achieve the target motion;
[0007] Obtaining center of mass control information for controlling the robot to follow the center of mass reference trajectory based on objective function optimization;
[0008] Generate joint control information according to the center of mass control information and the structure matrix of the robot;
[0009] The robot is controlled to perform the target motion based on the joint control information.
[0010] According to one aspect of an embodiment of the present application, a robot motion control device is provided, the device comprising:
[0011] A reference trajectory acquisition module, used to acquire a center of mass reference trajectory for guiding the robot to perform a target motion; wherein the center of mass reference trajectory refers to the center of mass motion trajectory of the robot planned to achieve the target motion;
[0012] A center of mass information determination module, used for obtaining center of mass control information for controlling the robot to follow the center of mass reference trajectory based on objective function optimization;
[0013] A joint information generating module, used for generating joint control information according to the center of mass control information and the structure matrix of the robot;
[0014] A robot control module is used to control the robot to perform the target motion based on the joint control information.
[0015] According to one aspect of an embodiment of the present application, a robot is provided, comprising a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set are loaded and executed by the processor to implement the above-mentioned robot motion control method.
[0016] According to one aspect of an embodiment of the present application, a computer-readable storage medium is provided, in which at least one instruction, at least one program, a code set or an instruction set is stored, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the above-mentioned robot motion control method.
[0017] According to one aspect of the embodiments of the present application, a computer program product or a computer program is provided, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a robot reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the robot performs the above-mentioned robot motion control method.
[0018] The technical solution provided by the embodiments of the present application includes at least the following beneficial effects:
[0019] By simplifying the robot into a particle model, obtaining a center of mass reference trajectory for guiding the robot to perform the target motion, and then optimizing the objective function to obtain the center of mass control information for controlling the robot to follow the above-mentioned center of mass reference trajectory, and generating joint control information based on this, and then controlling the robot to perform the target motion based on the joint control information, for a motion scenario with a given reference trajectory, the technical solution provided in the embodiment of the present application can be used to achieve precise and effective control, so that the robot can complete the target motion as expected, thereby enriching the robot's motion capabilities.
[0020] In addition, compared to directly calculating the control information such as the force and torque used to guide the robot to perform the target motion, this method requires very accurate dynamic parameters of the robot and stable ground friction conditions, so this method is sensitive to the environment and has poor robustness. However, the present application first obtains the center of mass reference trajectory determined offline, and then constructs a controller to achieve online following of the center of mass reference trajectory, and continuously fits the actual center of mass motion trajectory to the center of mass reference trajectory, so that the predetermined target motion can be performed without obtaining accurate dynamic parameters and stable ground friction conditions. The entire solution has low sensitivity to the environment and high robustness, which effectively improves the stability of controlling the robot to perform the target motion. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] 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 present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0022] Figure 1 It is a structural schematic diagram of a foot-wheel composite quadruped robot shown in the present application;
[0023] Figure 2 is a schematic diagram of a foot-wheel composite quadruped robot shown in the present application changing to a two-wheel standing state;
[0024] Figure 3 is a flow chart of a robot motion control method provided by an embodiment of the present application;
[0025] Figure 4 is a flow chart of a robot motion control method provided by another embodiment of the present application;
[0026] Figure 5 is a schematic diagram of a mass point model corresponding to a wheeled compound quadruped robot shown in the present application;
[0027] Figure 6 is a block diagram of a robot motion control device provided by an embodiment of the present application;
[0028] Figure 7 This is a simplified structural block diagram of a robot provided by an embodiment of the present application. DETAILED DESCRIPTION
[0029] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0030] 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.
[0031] 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.
[0032] The technical solution of this application mainly involves the robot technology in artificial intelligence technology, mainly involving robot intelligent control. Robots are mechanical and electronic devices that can imitate certain human skills by combining mechanical transmission and modern microelectronics technology. Robots are developed on the basis of electronic, mechanical and information technology. Robots do not necessarily have to look like humans. As long as they can independently complete the tasks and commands assigned to them by humans, they are members of the robot family. A robot is an automated machine that has some intelligent abilities similar to those of humans or organisms, such as perception, planning, movement and coordination. It is an automated machine with high flexibility. With the development of computer technology and artificial intelligence technology, robots have been greatly improved in terms of function and technical level. Mobile robots and robot vision and touch technologies are typical representatives.
[0033] The robot motion control method provided in the embodiment of the present application can make the robot move according to the center of mass reference trajectory, so as to complete a certain target motion. For example, the target motion can be the motion process from the four-legged state to the two-legged state, or the motion process from the two-legged state to the jumping state, etc.
[0034] In one example, a robot is a quadruped robot with wheels. The so-called quadruped robot with wheels refers to a quadruped robot with two front legs and two hind legs, and the feet of the quadruped robot are equipped with wheels, so that the quadruped robot can perform both quadruped walking and wheeled movement. The above-mentioned wheels can be installed only on the hind legs of the quadruped robot, or only on the front legs of the quadruped robot, or corresponding wheels can be installed on both the front legs and the hind legs of the quadruped robot.
[0035] like Figure 1 As shown, it exemplarily shows a structural schematic diagram of a wheeled composite quadruped robot. The wheeled composite quadruped robot may include: a camera 1, a trunk 2, three-degree-of-freedom front legs 3, 4 (two left and right), front wheels 5, 6 (active or passive, two left and right), three-degree-of-freedom hind legs 7, 8 (two left and right), and rear wheels 9, 10 (active, two left and right). Among them, the camera 1 has an image acquisition function, such as acquiring an image of the surrounding environment so as to analyze the image of the surrounding environment, thereby planning a suitable walking route for the robot. In the state of four-legged lying on the ground, the wheeled composite quadruped robot can use the three-degree-of-freedom front legs 3, 4 (two left and right) and the three-degree-of-freedom hind legs 7, 8 (two left and right) to contact the ground, and the motor drives and controls the above four legs respectively to achieve quadruped walking. In addition, by controlling the front wheels 5, 6 and the rear wheels 9, 10 to be grounded, and the other parts leave the ground, four-wheel sliding can be achieved; or, by controlling the rear wheels 9, 10 to be grounded, and the other parts leave the ground, two-wheel sliding can be achieved.
[0036] For example, Figure 2 As shown, the foot-wheel composite quadruped robot can change from a four-legged grounded state to a four-wheel grounded state, and then from a four-wheel grounded state to a two-wheel standing state.
[0037] Please refer to Figure 3 , which shows a flow chart of a robot motion control method provided by an embodiment of the present application. The execution subject of each step of the method may be a robot, such as a processor provided in the robot. The method may include the following steps (310-340):
[0038] Step 310, obtaining a center of mass reference trajectory for guiding the robot to perform a target motion; wherein the center of mass reference trajectory refers to the center of mass motion trajectory of the robot planned to achieve the target motion.
[0039] The center of mass of a robot refers to the center of mass of the robot, which is an imaginary point on the robot where the mass is considered to be concentrated.
[0040] The target motion may be any motion in which the center of mass position changes. Taking a quadruped robot as an example, the target motion may be a motion process from a four-legged state to a two-legged state, or a motion process from a two-legged state to a jumping state. Of course, for different types of robots, the target motion may also be any other motion as long as the center of mass position changes, and the embodiments of the present application do not limit this.
[0041] The center of mass reference trajectory can be generated by other devices and pre-stored in the robot's memory. When the robot's processor needs to use the center of mass reference trajectory, it can obtain the center of mass reference trajectory from the processor. Of course, in some other embodiments, the center of mass reference trajectory can also be generated by the robot's processor if the robot's processor computing power allows. In addition, the center of mass reference trajectory can be generated based on the change in the position of the robot's center of mass during this process on the premise of achieving the target motion. The embodiment of the present application does not specifically limit the method for obtaining and generating the center of mass reference trajectory.
[0042] Step 320: Obtain center of mass control information for controlling the robot to follow the center of mass reference trajectory based on the objective function optimization.
[0043] The center of mass control information is control information related to the center of mass of the robot, and is used to control the center of mass position of the robot. For example, the center of mass control information may include a force applied to the center of mass of the robot. It should be noted that the force applied to the center of mass here may be a force directly applied to the center of mass, or may be a force indirectly applied to the center of mass. Exemplarily, assuming that the target motion is a motion process from a four-legged state to a two-legged standing state, the center of mass control information may include the bearing surface reaction force of each contact point between the robot and the bearing surface (such as the ground). When the robot is in a four-legged state, the number of contact points between the robot and the bearing surface (such as the ground) may be 4, and there is one contact point between each sole and the bearing surface (such as the ground). The bearing surface reaction force refers to the reaction force of the bearing surface where the robot is located to the robot. When the robot applies a force to the bearing surface, the bearing surface will provide a reaction force to the robot. When the robot is located on the ground, the above-mentioned bearing surface reaction force may also be called the ground reaction force. The bearing surface reaction force of each of the above-mentioned contact points can be considered as a force indirectly applied to the center of mass.
[0044] In other examples, when the robot is a bipedal robot or a quadrupedal robot, and the target motion is to change from a bipedal / quadrupedal standing state to a jumping and airborne state, the center of mass control information may also include the bearing surface reaction force of each contact point between the robot and the bearing surface (such as the ground). For another example, when the robot is a two-wheeled robot or a four-wheeled robot, and the target motion is a wheeled motion, the center of mass control information may include the thrust for controlling the robot's motion. It should be noted that the types of robots, the forms of target motion, and the corresponding contents of the center of mass control information introduced above are all exemplary and explanatory. Based on the contents disclosed in this application, those skilled in the art can make flexible designs in practical applications.
[0045] The objective function is an optimization function set to achieve the robot following the center of mass reference trajectory. By selecting different center of mass control information, different numerical results of the objective function will be calculated. Assuming that the optimization goal is to minimize the value of the objective function, the robot can follow the center of mass reference trajectory. Then, when there is a set of center of mass control information that minimizes the value of the objective function, this set of center of mass control information is the optimized center of mass control information used to control the robot to follow the center of mass reference trajectory.
[0046] Step 330, generating joint control information according to the center of mass control information and the structure matrix of the robot.
[0047] The robot's structural matrix is a mathematical expression of the robot's structure, and is used to characterize the robot's structural features. Optionally, the robot's structural matrix is used to characterize the robot's joint structure, and for example, a joint Jacobian matrix may be used as the robot's structural matrix.
[0048] The robot may include multiple joints, each of which is used to connect two different parts of the robot, so that the relative position relationship between the two parts connected by the joint can be changed by applying a torque to the joint. Figure 1 In the wheeled quadruped robot shown, the three-degree-of-freedom hind legs are divided into two parts, the first part and the second part are connected by a rear wheel, and the rear wheel can be regarded as a joint between the first part and the second part of the hind legs, which can change the relative position relationship between the first part and the second part of the hind legs. For another example, the relative position relationship between the three-degree-of-freedom hind legs and the trunk can also be changed, so the three-degree-of-freedom hind legs and the trunk are also connected by corresponding joints.
[0049] The joint control information is control information related to the joints of the robot, and is used to control the joint movement of the robot. Optionally, the joint control information may include torque applied to each joint of the robot.
[0050] Step 340: Control the robot to perform the target motion based on the joint control information.
[0051] After the joint control information is obtained, each joint of the robot is controlled separately based on the joint control information, for example, a corresponding torque is applied to each joint, so that each joint moves, and finally the robot is controlled to perform the target movement.
[0052] To sum up, the technical solution provided by the embodiments of the present application simplifies the robot into a particle model, obtains a center of mass reference trajectory for guiding the robot to perform the target motion, and then obtains the center of mass control information for controlling the robot to follow the above-mentioned center of mass reference trajectory based on the objective function optimization, and generates joint control information based on this, and then controls the robot to perform the target motion based on the joint control information. For the motion scene with a given reference trajectory, the technical solution provided by the embodiments of the present application can be used to achieve precise and effective control, so that the robot can complete the target motion as expected, thereby enriching the robot's motion capabilities.
[0053] In addition, compared to directly calculating the control information such as the force and torque used to guide the robot to perform the target motion, this method requires very accurate dynamic parameters of the robot and stable ground friction conditions, so this method is sensitive to the environment and has poor robustness. However, the present application first obtains the center of mass reference trajectory determined offline, and then constructs a controller to achieve online following of the center of mass reference trajectory, and continuously fits the actual center of mass motion trajectory to the center of mass reference trajectory, so that the predetermined target motion can be performed without obtaining accurate dynamic parameters and stable ground friction conditions. The entire solution has low sensitivity to the environment and high robustness, which effectively improves the stability of controlling the robot to perform the target motion.
[0054] Please refer to Figure 4 , which shows a flow chart of a robot motion control method provided by another embodiment of the present application. The execution subject of each step of the method may be a robot, such as a processor provided in the robot. The method may include the following steps (410-450):
[0055] Step 410, obtaining a center of mass reference trajectory for guiding the robot to perform a target motion; wherein the center of mass reference trajectory refers to the center of mass motion trajectory of the robot planned to achieve the target motion.
[0056] In this embodiment, the robot is mainly a quadruped robot, and the target motion is the motion process from a four-legged prone state to a two-legged standing state. The specific implementation methods of other forms of target motion are similar to this.
[0057] Step 420, based on the center of mass reference trajectory, obtain the expected center of mass motion data of the robot.
[0058] The expected center of mass motion data is the expected value of the motion data related to the center of mass of the robot, and the expected value can be obtained by combining the actual center of mass motion data and the reference center of mass motion data; wherein the actual center of mass motion data is the actual value of the motion data related to the center of mass of the robot, and the reference center of mass motion data refers to the reference value of the motion data related to the center of mass of the robot. The actual center of mass motion data can be obtained by measuring the actual motion of the robot through sensors and other means. The reference center of mass motion data can be obtained by corresponding calculation based on the center of mass reference trajectory. By calculating the expected center of mass motion data, when the actual center of mass motion data has deviated from the reference center of mass motion data, the robot can be controlled to regress to the center of mass reference trajectory.
[0059] Optionally, the actual center of mass motion data includes but is not limited to at least one of the following: actual center of mass position, actual center of mass velocity, actual center of mass acceleration, actual center of mass angular velocity, actual center of mass angular acceleration. Optionally, the reference center of mass motion data includes but is not limited to at least one of the following: reference center of mass position, reference center of mass velocity, reference center of mass acceleration, reference center of mass angular velocity, reference center of mass angular acceleration. Optionally, the expected center of mass motion data includes but is not limited to at least one of the following: expected center of mass position, expected center of mass velocity, expected center of mass acceleration, expected center of mass angular velocity, expected center of mass angular acceleration.
[0060] Alternatively, if Figure 4 As shown, step 420 may include the following sub-steps (422-428):
[0061] Step 422, obtaining the actual center of mass motion data of the robot.
[0062] Step 424, obtaining reference center of mass motion data of the robot according to the center of mass reference trajectory.
[0063] The above steps 422 and 424 may be performed simultaneously, or step 422 may be performed before step 424, or step 422 may be performed after step 424, which is not limited in the embodiment of the present application.
[0064] Step 426, obtaining a center of mass motion data adjustment value according to the difference between the actual center of mass motion data and the reference center of mass motion data.
[0065] Optionally, the center of mass motion data adjustment value is used to adjust the reference center of mass motion data or the actual center of mass motion data to obtain expected center of mass motion data.
[0066] In an exemplary embodiment, the difference between the actual center of mass motion data and the reference center of mass motion data is calculated, and the center of mass motion data adjustment value is obtained according to the gain matrix and the difference. For example, a PD (Proportional Derivative) controller can be used to determine the center of mass motion data adjustment value based on the difference between the actual center of mass motion data and the reference center of mass motion data, and accordingly, the above-mentioned gain matrix can be a PD gain matrix corresponding to the PD controller.
[0067] Optionally, the center of mass motion data adjustment value includes a center of mass acceleration adjustment value and a center of mass angular acceleration adjustment value. Exemplarily, the center of mass motion data adjustment value is obtained based on the difference between the actual center of mass motion data and the reference center of mass motion data. and Obtained, among which Indicates the center of mass acceleration adjustment value, represents the reference center-of-mass velocity, represents the actual center of mass velocity, represents the reference centroid position, represents the actual centroid position, and is the gain matrix related to the center of mass acceleration, Represents the center of mass angular acceleration adjustment value, ω ref represents the reference center of mass angular velocity, ω act represents the actual center of mass angular velocity, R ref Represents the reference rotation matrix of the mass center coordinate system relative to the world coordinate system, R act represents the actual rotation matrix of the mass center coordinate system relative to the world coordinate system, (R ref R act ) ∨ Indicates that from R act to R ref The rotation vector of and is the gain matrix related to the angular acceleration of the center of mass.
[0068] Step 428, obtaining expected center of mass motion data according to the center of mass motion data adjustment value and the reference center of mass motion data.
[0069] Optionally, the center of mass motion data adjustment value is added to the reference center of mass motion data to calculate the expected center of mass motion data. For example, when the reference center of mass motion data includes reference center of mass acceleration and reference center of mass angular acceleration, and the center of mass motion data adjustment value includes center of mass acceleration adjustment value and center of mass angular acceleration adjustment value, the reference center of mass acceleration and center of mass acceleration adjustment value are added to obtain the expected center of mass acceleration, and the reference center of mass angular acceleration and center of mass angular acceleration adjustment value are added to obtain the expected center of mass angular acceleration. The expected center of mass motion data includes the expected generalized center of mass acceleration, that is, includes the above-mentioned expected center of mass acceleration and expected center of mass angular acceleration.
[0070] Step 430, based on the expected center of mass motion data, calculate the center of mass control information required to make the value of the objective function meet the optimization stop condition.
[0071] Optionally, the robot is simplified into a mass point model, and the corresponding dynamic equation can be obtained by performing a dynamic analysis on the mass point model. Then, the dynamic equation is analyzed to make the robot's center of mass motion trajectory consistent with the center of mass reference trajectory as the goal, and the objective function can be constructed. In some embodiments, the value of the objective function can be used to characterize the degree of deviation of the robot from the center of mass reference trajectory. For example, the smaller the value of the objective function, the smaller the deviation of the robot from the center of mass reference trajectory; conversely, the larger the value of the objective function, the greater the deviation of the robot from the center of mass reference trajectory. In this case, the optimization stop condition corresponding to the objective function can be to stop the optimization when the value of the objective function is minimized. Of course, in some other examples, the smaller the value of the objective function, the greater the deviation of the robot from the center of mass reference trajectory; conversely, the larger the value of the objective function, the smaller the deviation of the robot from the center of mass reference trajectory. In this case, the optimization stop condition corresponding to the objective function can be to stop the optimization when the value of the objective function is maximized. Therefore, the design of the optimization stop condition corresponding to the objective function depends on the construction method of the objective function, and this application does not limit this.
[0072] The parameters of the objective function may include expected center of mass motion data and center of mass control information, wherein the expected center of mass motion data can be calculated using the above step 420, and the center of mass control information is an optimization variable. By optimizing the objective function, the center of mass control information can be obtained when the value of the objective function satisfies the optimization stop condition. The center of mass control information obtained by the optimization is used as the center of mass control information for controlling the robot to follow the center of mass reference trajectory.
[0073] In an exemplary embodiment, the objective function is:
[0074] J qp =(w des -Af)T W w (w des -Af);
[0075] Among them, W w represents a positive definite weight matrix, w des represents the expected center of mass motion data, A is a matrix constructed based on the positional relationship between the center of mass of the robot and the contact point, and f represents the center of mass control information. The above-mentioned contact point refers to the contact point between the robot and the environment, such as the contact point between the robot and the ground or other objects in the environment. When the robot contacts the objects in the environment, a force that causes the robot to perform the target motion is generated.
[0076] In addition, in some embodiments, the robot can be simplified into a particle model, and then a dynamic analysis is performed on it to construct a corresponding dynamic equation, and a target function is constructed based on the dynamic equation. The dynamic equation is constructed based on the forces in various directions to which the robot is subjected, and the forces in various directions are superimposed on each other, so that the robot remains in a stationary or stable state. By simplifying the robot into a particle model and then performing a dynamic analysis on it to construct a target function for controlling the robot to follow the center of mass reference trajectory, the analysis can be simplified, thereby generating a relatively simple target function that can achieve the purpose, which helps to reduce the amount of calculation required for subsequent target function optimization and improve the efficiency of the entire robot control process.
[0077] Optionally, the center of mass control information required to calculate the numerical value of the objective function to meet the optimization stop condition is calculated by QP (Quadratic Programming) optimization method or IPOPT (Interior Point Optimizer) optimization method. The QP optimization method is a nonlinear optimization method, and its essence is to find a multidimensional vector under linear constraints so that the quadratic objective function value of the multidimensional vector is minimized (or maximized). In an embodiment of the present application, the center of mass control information is optimized using the QP optimization method so that the robot can follow the given center of mass reference trajectory to perform the target motion. The IPOPT optimization method is also a nonlinear optimization method. Of course, in addition to using the QP optimization method or the IPOPT optimization method, other nonlinear optimization methods can also be used, and the embodiments of the present application are not limited to this.
[0078] Step 440, generating joint control information according to the center of mass control information and the structure matrix of the robot.
[0079] After the center of mass control information is optimized and generated, it can be combined with the robot's structural matrix to generate joint control information for controlling the robot's joint motion.
[0080] In an exemplary embodiment, considering that each joint of the robot has a corresponding motion trajectory and a maximum motion range, in order to ensure that the joint of the robot moves according to the corresponding motion trajectory and does not exceed the corresponding maximum motion range, Figure 4 As shown, step 440 may include the following sub-steps (442-448):
[0081] Step 442: Generate joint control information to be adjusted according to the center of mass control information and the robot's structural matrix.
[0082] The joint control information to be adjusted refers to the joint control information generated directly based on the center of mass control information and the robot's structural matrix. For example, the center of mass control information is directly multiplied by the robot's structural matrix to obtain the joint control information to be adjusted. If the robot's joints are controlled directly based on the joint control information to be adjusted, some joints may not move according to the corresponding motion trajectory or exceed the corresponding maximum motion range. Therefore, in order to avoid this phenomenon, the joint control information to be adjusted needs to be adjusted through the following steps.
[0083] Step 444, obtaining actual joint motion data of the robot.
[0084] The actual joint motion data is the actual value of the motion data related to each joint of the robot, and the actual joint motion data can be obtained by measuring the actual joint state of the robot through sensors and other means. Optionally, the actual joint motion data includes but is not limited to at least one of the following: actual joint angle, actual joint angular velocity, and actual joint angular acceleration.
[0085] Step 446, obtaining reference joint motion data of the robot.
[0086] The reference joint motion data is a reference value of motion data related to each joint of the robot, and the reference joint motion data can be calculated accordingly according to the center of mass reference trajectory. Optionally, the reference joint motion data includes but is not limited to at least one of the following: a reference joint angle, a reference joint angular velocity, and a reference joint angular acceleration.
[0087] The above steps 444 and 446 may be executed simultaneously, or step 444 may be executed before step 446, or step 444 may be executed after step 446, which is not limited in the embodiment of the present application.
[0088] Step 448, adjusting the joint control information to be adjusted according to the actual joint motion data and the reference joint motion data to obtain the joint control information.
[0089] Optionally, an adjustment value corresponding to the joint control information to be adjusted is calculated according to the actual joint motion data and the reference joint motion data, and then the joint control information to be adjusted is adjusted using the adjustment value to obtain the joint control information.
[0090] For example, when the joint control information to be adjusted includes the torque to be adjusted of each joint of the robot, the adjustment values corresponding to the torque to be adjusted of each joint are calculated according to the actual joint motion data (such as the actual joint angle and the actual joint angular velocity) and the reference joint motion data (such as the reference joint angle and the reference joint angular velocity), and then the torque to be adjusted of each joint and its corresponding adjustment value are added to obtain the torque finally applied to each joint.
[0091] Optionally, the joint control information to be adjusted is adjusted according to the actual joint motion data and the reference joint motion data to obtain the joint control information. The obtained value is, where τ represents the joint torque, J τ represents the structure matrix, f opt represents the optimized center of mass control information, represents the reference joint angular velocity, represents the actual joint angular velocity, q ref represents the reference joint angle, q act represents the actual joint angle, and is the gain matrix related to the joint torque.
[0092] For any joint, the joint angle may refer to the angle between the two parts connected by the joint; the joint angular velocity may refer to the change in the joint angle per unit time, which is used to describe how fast the joint angle changes over time.
[0093] Step 450 , controlling the robot to perform target motion based on the joint control information.
[0094] After obtaining the joint control information (such as the torque of each joint) used to control the movement of the robot, the corresponding torque is applied to each joint of the robot through the driving motor, so that the robot performs the target movement.
[0095] To sum up, the technical solution provided in the embodiment of the present application can efficiently and robustly obtain the center of mass control information for controlling the robot to follow the center of mass reference trajectory by constructing an objective function and optimizing the objective function using nonlinear optimization methods such as QP optimization or IPOPT optimization.
[0096] In addition, the expected center of mass / joint motion data of the robot is determined based on the actual center of mass / joint motion data and reference center of mass / joint motion data of the robot, and then the center of mass / joint control information is obtained based on the expected center of mass / joint motion data, thereby ensuring that the center of mass / joint control information finally obtained can accurately control the robot to move along the center of mass reference trajectory, and even if deviations occur, they can be corrected in time, ultimately achieving the purpose of accurately controlling the robot to perform target motion.
[0097] In addition, the joint control information to be adjusted is generated according to the center of mass control information and the structural matrix of the robot, and then the joint control information to be adjusted is adjusted according to the actual joint motion data and the reference joint motion data to obtain the joint control information that ultimately controls the joint motion of the robot. This can prevent some joints from not moving according to the corresponding motion trajectory or exceeding the corresponding maximum motion range, thereby ensuring the accuracy and effectiveness of the joint motion control.
[0098] For example, taking the control of a foot-wheel compound quadruped robot to execute a target motion from a four-legged prone state to a two-legged (two-wheeled) standing state as an example, the center of mass control information may include the load-bearing surface reaction force used to control the robot motion, and the joint control information may include the joint torque applied to each joint of the robot. For any joint, the joint torque may refer to the torque that needs to be applied to the joint.
[0099] First, the foot-wheel composite quadruped robot is simplified as Figure 5 The particle model shown in the figure can be analyzed by dynamics:
[0100]
[0101] Where m represents the total mass of the robot, L represents the angular momentum, and p c 、r i They represent the positions of the center of mass and the contact point (such as the contact point between the robot's foot and the ground) in the world system xWz, respectively. i Represents the load-bearing surface reaction force at the contact point, N C Indicates the number of contact points, represents the acceleration of the center of mass, g represents the acceleration due to gravity, represents the differential angular momentum, Respectively represent the skew-symmetric matrices corresponding to the positions of the center of mass and the contact point in the world system xWz, I 3×3 Represents the 3×3 identity matrix.
[0102] A is a matrix constructed based on the position of the center of mass and the position of the contact points. The form of A is:
[0103]
[0104] f is a matrix constructed based on the reaction force of the bearing surface of the contact point. The form of f is:
[0105]
[0106] Ignoring the mass of the robot's four legs, the differential angular momentum corresponding to the center of mass is It can be expressed as:
[0107]
[0108] Where I represents the instantaneous moment of inertia of the trunk, ω represents the angular velocity of the center of mass, represents the angular acceleration of the center of mass.
[0109] According to the above formula 1, the objective function is constructed to optimize the reaction force of the bearing surface used to control the movement of the robot so that the center of mass motion trajectory of the robot is consistent with the center of mass reference trajectory. The objective function can be expressed as:
[0110] J qp =(w des -Af) T W w (w des -Af) (Formula 5)
[0111] Among them, W w represents a positive definite weight matrix, w des Represents the expected value (that is, the expected center of mass motion data), the specific form is:
[0112]
[0113] Here represents the expected center-of-mass acceleration, which is different from the reference center-of-mass acceleration Reference center of mass velocity Reference centroid position The following PD controller is constructed, combining the actual center of mass speed Actual centroid position To calculate the expected center of mass acceleration
[0114]
[0115] in, is the center of mass acceleration adjustment value, is the PD gain.
[0116] Referring to Equation 4, the expected angular momentum differential is It can be expressed as:
[0117]
[0118] Among them, I act represents the actual instantaneous moment of inertia of the trunk, ω act is the actual center of mass angular velocity. Denotes the desired center of mass angular acceleration and constructs the following PD controller:
[0119]
[0120] in, is the center of mass angular acceleration adjustment value, R ref , R act are the reference and actual rotation matrices of the mass center system relative to the world system, (R ref R act ) ∨ Indicates that from R act to R ref The rotation vector, ω act is the actual center of mass angular velocity, ω ref is the reference center of mass angular velocity, is the PD gain.
[0121] Then, taking equation 5 as the objective function and performing QP optimization on it, the desired reaction force of the bearing surface can be optimized. Specifically, equation 5 is simplified into the standard form of the QP optimization objective function, namely:
[0122] J qp =f T (A T WA)ff T (2A T W des )+w desT W des (Formula 10)
[0123] Among them, the Hessian matrix required for QP optimization is (A T WA), the gradient vector is -A T W des , the variable to be optimized is the reaction force f of the bearing surface. Then the reaction force of the bearing surface can be optimized using the QP optimization function library.
[0124] Finally, the joint torque that realizes the reference trajectory motion of the center of mass can be obtained by using the inverse dynamics of the joint:
[0125]
[0126] Among them, J τ represents the joint Jacobian matrix, f opt represents the optimized reaction force of the bearing surface, They represent the reference joint angular velocity and the actual joint angular velocity, qref ,q act Represent the reference joint angle and the actual joint angle respectively, is the PD gain.
[0127] The following is an embodiment of the device of the present application, which can be used to execute the embodiment of the method of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the embodiment of the method of the present application.
[0128] Please refer to Figure 6 , which shows a block diagram of a robot motion control device provided by an embodiment of the present application. The device has the function of implementing the above-mentioned robot motion control method, and the function can be implemented by hardware, or by hardware executing corresponding software. The device can be a robot, or it can be set in a robot. The device 600 may include: a reference trajectory acquisition module 610, a center of mass information determination module 620, a joint information generation module 630 and a robot control module 640.
[0129] The reference trajectory acquisition module 610 is used to acquire a center of mass reference trajectory for guiding the robot to perform a target motion; wherein the center of mass reference trajectory refers to the center of mass motion trajectory of the robot planned to achieve the target motion.
[0130] The center of mass information determination module 620 is used to obtain the center of mass control information for controlling the robot to follow the center of mass reference trajectory based on objective function optimization.
[0131] The joint information generating module 630 is used to generate joint control information according to the center of mass control information and the structure matrix of the robot.
[0132] The robot control module 640 is used to control the robot to perform the target motion based on the joint control information.
[0133] In an exemplary embodiment, the value of the objective function is used to characterize the degree of deviation of the robot from the center of mass reference trajectory.
[0134] In an exemplary embodiment, the centroid information determination module 620 is used to:
[0135] Based on the center of mass reference trajectory, obtaining expected center of mass motion data of the robot;
[0136] Based on the expected center-of-mass motion data, the center-of-mass control information required to make the value of the objective function meet the optimization stop condition is calculated.
[0137] In an exemplary embodiment, the objective function is:
[0138] J qp =(wdes -Af) T W w (w des -Af);
[0139] Among them, W w represents a positive definite weight matrix, w des represents the expected center of mass motion data, A is a matrix constructed based on the positional relationship between the center of mass of the robot and the contact point, f represents the center of mass control information, and the contact point refers to the contact point between the robot and the environment.
[0140] In an exemplary embodiment, the calculation of the centroid control information required to make the value of the objective function satisfy the optimization stop condition is performed by a QP optimization method or an IPOPT optimization method.
[0141] In an exemplary embodiment, the centroid information determination module 620 is used to:
[0142] Acquiring actual center of mass motion data of the robot;
[0143] According to the center of mass reference trajectory, obtaining reference center of mass motion data of the robot;
[0144] Acquire a center of mass motion data adjustment value according to a difference between the actual center of mass motion data and the reference center of mass motion data;
[0145] The expected center of mass motion data is acquired according to the center of mass motion data adjustment value and the reference center of mass motion data.
[0146] In an exemplary embodiment, the centroid information determination module 620 is used to:
[0147] Calculating the difference between the actual center of mass motion data and the reference center of mass motion data;
[0148] The center of mass motion data adjustment value is obtained according to the gain matrix and the difference.
[0149] In an exemplary embodiment, the obtaining of the center of mass motion data adjustment value according to the difference between the actual center of mass motion data and the reference center of mass motion data is based on and Obtained, among which Indicates the center of mass acceleration adjustment value, represents the reference center-of-mass velocity, represents the actual center of mass velocity, represents the reference centroid position, represents the actual centroid position, and is the gain matrix related to the center of mass acceleration, Represents the center of mass angular acceleration adjustment value, ω ref represents the reference center of mass angular velocity, ω act represents the actual center of mass angular velocity, R ref Represents the reference rotation matrix of the mass center coordinate system relative to the world coordinate system, R act represents the actual rotation matrix of the mass center coordinate system relative to the world coordinate system, (R ref R act ) ∨ Indicates that from R act to R ref The rotation vector of and is the gain matrix related to the angular acceleration of the center of mass.
[0150] In an exemplary embodiment, the joint information generating module 630 is used to:
[0151] Generate joint control information to be adjusted according to the center of mass control information and the structure matrix of the robot;
[0152] Acquiring actual joint motion data of the robot;
[0153] Acquiring reference joint motion data of the robot;
[0154] The joint control information to be adjusted is adjusted according to the actual joint motion data and the reference joint motion data to obtain the joint control information.
[0155] In an exemplary embodiment, the joint control information to be adjusted is adjusted according to the actual joint motion data and the reference joint motion data to obtain the joint control information. The obtained value is, where τ represents the joint torque, J τ represents the structure matrix, f opt represents the centroid control information obtained by optimization, represents the reference joint angular velocity, represents the actual joint angular velocity, q ref represents the reference joint angle, q act represents the actual joint angle, and is the gain matrix related to the joint torque.
[0156] In an exemplary embodiment, the robot is a quadruped robot, and the target motion is a motion process of changing from a four-legged prone state to a two-legged standing state.
[0157] It should be noted that the device provided in the above embodiment, when implementing its functions, 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 device is divided into different functional modules to complete all or part of the functions described above. In addition, the device and method embodiments provided in the above embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0158] Please refer to Figure 7 , which shows a simplified structural block diagram of a robot provided in one embodiment of the present application. The robot may be a bipedal robot, a quadrupedal robot, etc., which is not limited in the present embodiment.
[0159] Alternatively, if Figure 7 As shown, the robot includes a processor 71 and a memory 72. The processor 71 includes but is not limited to any one of the following: CPU (Central Processing Unit), GPU (Graphics Processing Unit) and FPGA (Field Programmable Gate Array). The memory 72 may include storage devices such as RAM (Random-Access Memory) and ROM (Read-Only Memory). The processor 71 and the memory 72 may be connected via a system bus.
[0160] In an exemplary embodiment, the memory 72 stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set are loaded and executed by the processor 71 to implement the above-mentioned robot motion control method.
[0161] In an exemplary embodiment, a computer-readable storage medium is also provided, in which at least one instruction, at least one program, a code set or an instruction set is stored, and the at least one instruction, the at least one program, the code set or the instruction set implements the above-mentioned robot motion control method when executed by a processor of a computer device.
[0162] Optionally, the computer readable storage medium may include: ROM (Read-Only Memory), RAM (Random-Access Memory), SSD (Solid State Drives) or optical disks, etc. Among them, the random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).
[0163] In an exemplary embodiment, a computer program product or a computer program is also provided, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a robot reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the robot performs the above-mentioned robot motion control method.
[0164] It should be understood that the "multiple" mentioned in this article refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. In addition, the step numbers described in this article only illustrate a possible execution sequence between the steps. In some other embodiments, the above steps may not be executed in the order of the numbers, such as two steps with different numbers are executed at the same time, or two steps with different numbers are executed in the opposite order to the diagram. The embodiments of the present application are not limited to this.
[0165] The above description is only an exemplary embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A robot motion control method, characterized in that: The method comprises: Acquire a center of mass reference trajectory for guiding the robot to perform a target motion; wherein the center of mass reference trajectory refers to the center of mass motion trajectory of the robot planned to achieve the target motion; Acquire actual center-of-mass motion data of the robot, where the actual center-of-mass motion data is an actual value of motion data related to the center of mass of the robot obtained by measuring the actual motion of the robot; According to the center of mass reference trajectory, obtaining reference center of mass motion data of the robot, wherein the reference center of mass motion data is a reference value of motion data related to the center of mass of the robot obtained by calculating according to the center of mass reference trajectory; Calculating the difference between the actual center of mass motion data and the reference center of mass motion data; Obtaining a mass center motion data adjustment value according to the gain matrix and the difference; Adding the center-of-mass motion data adjustment value to the reference center-of-mass motion data to obtain expected center-of-mass motion data; the expected center-of-mass motion data is used to control the robot to regress to the center-of-mass reference trajectory when the actual center-of-mass motion data deviates from the reference center-of-mass motion data; Based on the expected center of mass motion data, the center of mass control information required to make the value of the objective function meet the optimization stop condition is calculated, and the center of mass control information is used to control the robot to follow the center of mass reference trajectory; Generate joint control information according to the center of mass control information and the structure matrix of the robot; The robot is controlled to perform the target motion based on the joint control information.
2. The method according to claim 1, characterized in that The objective function is: J qp =(w des -Of) T W w (w des -Of); Among them, W w represents a positive definite weight matrix, w des represents the expected center of mass motion data, A is a matrix constructed based on the positional relationship between the center of mass of the robot and the contact point, f represents the center of mass control information, and the contact point refers to the contact point between the robot and the environment.
3. The method according to claim 1, characterized in that The calculation of the centroid control information required to make the value of the objective function satisfy the optimization stop condition is performed by the QP optimization method or the IPOPT optimization method.
4. The method according to claim 1, characterized in that The method of obtaining the center of mass motion data adjustment value according to the gain matrix and the difference is based on and Obtained, of which Indicates the center of mass acceleration adjustment value, represents the reference center-of-mass velocity, represents the actual center of mass velocity, represents the reference centroid position, represents the actual centroid position, and is the gain matrix related to the center of mass acceleration, Represents the center of mass angular acceleration adjustment value, ω ref represents the reference center of mass angular velocity, ω act represents the actual center of mass angular velocity, R ref Represents the reference rotation matrix of the mass center coordinate system relative to the world coordinate system, R act represents the actual rotation matrix of the mass center coordinate system relative to the world coordinate system, (R ref R act ) ∨ Indicates that from R act to R ref The rotation vector of and is the gain matrix related to the angular acceleration of the center of mass.
5. The method according to claim 1, characterized in that The generating joint control information according to the center of mass control information and the structure matrix of the robot includes: Generate joint control information to be adjusted according to the center of mass control information and the structure matrix of the robot; Acquiring actual joint motion data of the robot; Acquiring reference joint motion data of the robot; The joint control information to be adjusted is adjusted according to the actual joint motion data and the reference joint motion data to obtain the joint control information.
6. The method according to claim 5, characterized in that The adjusting of the joint control information to be adjusted according to the actual joint motion data and the reference joint motion data to obtain the joint control information is based on The obtained value is, where τ represents the joint torque, J τ represents the structure matrix, f opt represents the centroid control information obtained by optimization, represents the reference joint angular velocity, represents the actual joint angular velocity, q ref represents the reference joint angle, q act represents the actual joint angle, and is the gain matrix related to the joint torque.
7. A robot motion control device, characterized in that: The device comprises: A reference trajectory acquisition module, used to acquire a center of mass reference trajectory for guiding the robot to perform a target motion; wherein the center of mass reference trajectory refers to the center of mass motion trajectory of the robot planned to achieve the target motion; A center of mass information determination module, used to obtain the actual center of mass motion data of the robot, the actual center of mass motion data is the actual value of the motion data related to the center of mass of the robot obtained by measuring the actual motion of the robot; according to the center of mass reference trajectory, obtain the reference center of mass motion data of the robot, the reference center of mass motion data is the reference value of the motion data related to the center of mass of the robot obtained by calculating according to the center of mass reference trajectory; calculate the difference between the actual center of mass motion data and the reference center of mass motion data; according to the gain matrix and the difference, obtain the center of mass motion data adjustment value; add the center of mass motion data adjustment value and the reference center of mass motion data to obtain the expected center of mass motion data; the expected center of mass motion data is obtained by combining the actual center of mass motion data and the reference center of mass motion data, and is used to control the robot to regress to the center of mass reference trajectory when the actual center of mass motion data deviates from the reference center of mass motion data; based on the expected center of mass motion data, calculate the center of mass control information required when the value of the objective function meets the optimization stop condition, and the center of mass control information is used to control the robot to move along the center of mass reference trajectory; A joint information generating module, used for generating joint control information according to the center of mass control information and the structure matrix of the robot; A robot control module is used to control the robot to perform the target motion based on the joint control information.
8. A robot, characterized in that: The robot comprises a processor and a memory, wherein at least one program is stored in the memory, and the at least one program is loaded and executed by the processor to implement the robot motion control method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that: The storage medium stores at least one program, and the at least one program is loaded and executed by the processor to implement the robot motion control method according to any one of claims 1 to 6.
10. A computer program product, characterized in that The computer program product includes computer instructions, which are stored in a computer-readable storage medium. A processor reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to implement the robot motion control method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Stable walking control method and device for biped robot, equipment and readable medium
CN111674486A
Control method and device for bionic jumping action of quadruped robot, electronic equipment and computer readable medium
CN112207825A