Robot control method and device, computer readable storage medium and robot
By planning the foot trajectory and calculating the center of mass trajectory of the robot, the problem of poor stability in the handling task is solved, and more stable walking movement is achieved.
Patent Information
- Application Number
- CN202411538873.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2044-10-30
AI Technical Summary
The existing robot control methods have poor stability when performing handling tasks, making it difficult to maintain the stability of robot walking.
By planning the foot trajectory of the robot, determining the reference trajectory of the zero-moment point, calculating the equivalent centroid trajectory, and performing inverse kinematics solutions, the leg joint position of the robot is obtained to control the robot to perform stable movement.
It effectively improves the walking stability of the robot during load handling, and fully considers the impact of load on the robot's balance.
Smart Images

Figure CN119536047A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of robotics technology, and in particular, relates to a robot control method, device, computer-readable storage medium, and robot. Background Art
[0002] Handling tasks are very common in daily life and industrial scenarios. Using robots to perform handling tasks can greatly improve the use value of robots. In the prior art, there are relatively mature robot control methods, but these robot control methods are mainly aimed at simple scenarios where the robot is unloaded. In the scenario where the robot performs a handling task, the heavy objects (i.e., loads) carried by the robot will have a great impact on the balance of the robot. If these robot control methods in the prior art are directly used, it will be difficult to maintain the stability of the robot's walking. Summary of the invention
[0003] In view of this, the embodiments of the present application provide a robot control method, device, computer-readable storage medium and robot to solve the problem of poor stability of existing robot control methods when performing handling tasks.
[0004] A first aspect of an embodiment of the present application provides a robot control method, which may include:
[0005] During the process of the robot carrying the load, performing foot trajectory planning on the robot to obtain a foot trajectory planning result of the robot;
[0006] Determining a zero-moment point reference trajectory of the robot according to the foot trajectory planning result;
[0007] Determine an equivalent center of mass trajectory according to the zero moment point reference trajectory; wherein the equivalent center of mass is the center of mass of the robot and the load as a whole;
[0008] Determining the center of mass trajectory of the robot according to the equivalent center of mass trajectory;
[0009] Performing inverse kinematics solution according to the center of mass trajectory of the robot to obtain the leg joint pose of the robot;
[0010] The robot is controlled to move according to the leg joint positions of the robot.
[0011] In a specific implementation of the first aspect, determining the equivalent center of mass trajectory according to the zero moment point reference trajectory may include:
[0012] Determining an objective function for zero moment point tracking according to the robot's dynamic state equation and the zero moment point reference trajectory;
[0013] Determining constraints corresponding to the objective function;
[0014] Based on the constraint conditions and taking minimization of the objective function as an optimization goal, model predictive control is performed on the robot to obtain the equivalent center of mass trajectory.
[0015] In a specific implementation of the first aspect, determining the objective function for zero moment point tracking according to the dynamic state equation of the robot and the zero moment point reference trajectory may include:
[0016] Determining a zero-moment point tracking error term and an energy term according to the robot's dynamic state equation and the zero-moment point reference trajectory;
[0017] The objective function is determined based on the tracking error term, the energy term, a first weight corresponding to the tracking error term, and a second weight corresponding to the energy term.
[0018] In a specific implementation of the first aspect, determining the objective function according to the tracking error term, the energy term, a first weight corresponding to the tracking error term, and a second weight corresponding to the energy term may include:
[0019] Weighting the tracking error term according to the first weight to obtain a tracking error weighted term;
[0020] weighting the energy term according to the second weight to obtain an energy weighted term;
[0021] The sum of the tracking error weighted term and the energy weighted term is determined as the objective function.
[0022] In a specific implementation of the first aspect, determining the center of mass trajectory of the robot according to the equivalent center of mass trajectory may include:
[0023] Obtaining the mass of the robot, the mass of the payload, and the center of mass trajectory of the payload;
[0024] According to the mass of the robot and the mass of the load, the equivalent center of mass trajectory and the center of mass trajectory of the load are converted based on a preset center of mass conversion relationship to obtain the center of mass trajectory of the robot; wherein the center of mass conversion relationship is a conversion relationship between the equivalent center of mass, the center of mass of the load and the center of mass of the robot.
[0025] In a specific implementation of the first aspect, the robot control method may further include:
[0026] determining an actual position, a desired position, an actual speed, and a desired speed of the equivalent center of mass during lifting or lowering of the load by the robot;
[0027] Determining an adjustment amount of the equivalent center of mass according to an actual position, an expected position, an actual speed, and an expected speed of the equivalent center of mass;
[0028] The robot is controlled to move according to the adjustment amount of the equivalent center of mass.
[0029] In a specific implementation of the first aspect, determining the adjustment amount of the equivalent center of mass according to the actual position, expected position, actual speed, and expected speed of the equivalent center of mass may include:
[0030] Determining a position deviation of the equivalent center of mass according to an actual position and an expected position of the equivalent center of mass;
[0031] Determining a speed deviation of the equivalent center of mass according to an actual speed and an expected speed of the equivalent center of mass;
[0032] An adjustment amount of the equivalent center of mass is determined according to the position deviation, the speed deviation, a proportional coefficient corresponding to the position deviation, and a differential coefficient corresponding to the speed deviation.
[0033] A second aspect of the embodiments of the present application provides a robot control device, which may include:
[0034] A trajectory planning module, used to plan the foot trajectory of the robot during the process of the robot carrying the load, and obtain the foot trajectory planning result of the robot;
[0035] A reference trajectory determination module, used to determine the zero-moment point reference trajectory of the robot according to the foot trajectory planning result;
[0036] An equivalent center of mass trajectory determination module, used to determine an equivalent center of mass trajectory according to the zero moment point reference trajectory; wherein the equivalent center of mass is the center of mass of the robot and the load as a whole;
[0037] A center of mass trajectory determination module, used to determine the center of mass trajectory of the robot according to the equivalent center of mass trajectory;
[0038] An inverse kinematics solution module, used to perform inverse kinematics solution according to the center of mass trajectory of the robot to obtain the leg joint posture of the robot;
[0039] A motion control module is used to control the robot to move according to the leg joint positions of the robot.
[0040] In a specific implementation of the second aspect, the equivalent center of mass trajectory determination module may include:
[0041] An objective function determination submodule, used to determine an objective function for zero moment point tracking according to the dynamic state equation of the robot and the zero moment point reference trajectory;
[0042] A constraint condition determination submodule, used to determine the constraint condition corresponding to the objective function;
[0043] The model predictive control submodule is used to perform model predictive control on the robot based on the constraint conditions and taking minimization of the objective function as the optimization goal to obtain the equivalent center of mass trajectory.
[0044] In a specific implementation of the second aspect, the objective function determination submodule may include:
[0045] An error term and energy term determination unit, used for determining a zero moment point tracking error term and an energy term according to a dynamic state equation of the robot and the zero moment point reference trajectory;
[0046] An objective function determination unit is used to determine the objective function according to the tracking error term, the energy term, a first weight corresponding to the tracking error term, and a second weight corresponding to the energy term.
[0047] In a specific implementation of the second aspect, the objective function determination unit can be specifically used to: weight the tracking error term according to the first weight to obtain a tracking error weighted term; weight the energy term according to the second weight to obtain an energy weighted term; and determine the sum of the tracking error weighted term and the energy weighted term as the objective function.
[0048] In a specific implementation of the second aspect, the center of mass trajectory determination module can be specifically used to: obtain the mass of the robot, the mass of the load and the center of mass trajectory of the load; according to the mass of the robot and the mass of the load, perform a center of mass conversion on the equivalent center of mass trajectory and the center of mass trajectory of the load based on a preset center of mass conversion relationship to obtain the center of mass trajectory of the robot; wherein the center of mass conversion relationship is a conversion relationship between the equivalent center of mass, the center of mass of the load and the center of mass of the robot.
[0049] In a specific implementation of the second aspect, the robot control device may further include:
[0050] a data determination module for determining an actual position, a desired position, an actual speed and a desired speed of the equivalent center of mass during the process of the robot lifting or lowering the load;
[0051] An adjustment amount determination module, used to determine the adjustment amount of the equivalent center of mass according to the actual position, expected position, actual speed and expected speed of the equivalent center of mass;
[0052] An adjustment amount control module is used to control the movement of the robot according to the adjustment amount of the equivalent center of mass.
[0053] In a specific implementation of the second aspect, the adjustment amount determination module can be specifically used to: determine the position deviation of the equivalent center of mass based on the actual position and expected position of the equivalent center of mass; determine the speed deviation of the equivalent center of mass based on the actual speed and expected speed of the equivalent center of mass; determine the adjustment amount of the equivalent center of mass based on the position deviation, the speed deviation, the proportional coefficient corresponding to the position deviation and the differential coefficient corresponding to the speed deviation.
[0054] A third aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any one of the above-mentioned robot control methods are implemented.
[0055] A fourth aspect of an embodiment of the present application provides a robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the above-mentioned robot control methods when executing the computer program.
[0056] A fifth aspect of an embodiment of the present application provides a computer program product. When the computer program product runs on a robot, the robot executes the steps of any one of the above-mentioned robot control methods.
[0057] Compared with the prior art, the embodiments of the present application have the following beneficial effects: in the process of the robot carrying a load, the embodiments of the present application plan the foot trajectory of the robot to obtain the foot trajectory planning result of the robot; determine the zero-torque point reference trajectory of the robot according to the foot trajectory planning result; determine the equivalent center of mass trajectory according to the zero-torque point reference trajectory; wherein the equivalent center of mass is the center of mass of the robot and the load as a whole; determine the center of mass trajectory of the robot according to the equivalent center of mass trajectory; perform inverse kinematics solution according to the center of mass trajectory of the robot to obtain the leg joint posture of the robot; control the robot to move according to the leg joint posture of the robot. Through the embodiments of the present application, in the process of the robot carrying a load, the center of mass trajectory of the robot and the load is planned as a whole, and the robot is controlled in motion on this basis, which fully considers the impact of the load on the balance of the robot and effectively improves the walking stability of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art 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 paying any creative work.
[0059] Figure 1 This is a flow chart of an embodiment of a robot control method in an embodiment of the present application;
[0060] Figure 2 This is a structural diagram of an embodiment of a robot control device in an embodiment of the present application;
[0061] Figure 3 This is a schematic block diagram of a robot in an embodiment of the present application. DETAILED DESCRIPTION
[0062] In order to make the purpose, features, and advantages of the invention of this application more obvious and easy to understand, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the embodiments described below are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0063] It should be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.
[0064] It should also be understood that the terms used in this application specification are only for the purpose of describing specific embodiments and are not intended to limit the application. As used in this application specification and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.
[0065] It should be further understood that the term “and / or” used in the specification and appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0066] As used in this specification and the appended claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0067] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0068] Handling tasks are very common in daily life and industrial scenarios. Using robots to perform handling tasks can greatly improve the use value of robots. In the prior art, there are relatively mature robot control methods, but these robot control methods are mainly aimed at simple scenarios where the robot is unloaded. In the scenario where the robot performs a handling task, the heavy objects (i.e., loads) carried by the robot will have a great impact on the balance of the robot. If these robot control methods in the prior art are directly used, it will be difficult to maintain the stability of the robot's walking.
[0069] In view of this, the embodiments of the present application provide a robot control method, device, computer-readable storage medium and robot to solve the problem of poor stability of existing robot control methods when performing handling tasks.
[0070] In the process of the robot carrying a load, the embodiment of the present application plans the center of mass trajectory of the robot and the load as a whole, and controls the motion of the robot on this basis, fully considering the impact of the load on the balance of the robot, and effectively improving the walking stability of the robot.
[0071] The execution subject of the embodiments of the present application may be a robot, including but not limited to industrial robots, household service robots, commercial service robots and other various types of robots.
[0072] See also Figure 1 , an embodiment of a robot control method in the embodiment of the present application may include:
[0073] Step S101: During the process of the robot carrying a load, the robot is subjected to foot trajectory planning to obtain a foot trajectory planning result of the robot.
[0074] In an embodiment of the present application, based on the distribution of obstacles in the surrounding environment, any one of the foot trajectory planning algorithms in the prior art can be used to perform foot trajectory planning for the left and right feet of the robot according to actual conditions. Based on the need to avoid obstacles in the surrounding environment, collision-free foot trajectory planning results are planned, including left foot trajectory planning results and right foot trajectory planning results.
[0075] Step S102: determining the zero-moment point reference trajectory of the robot according to the foot trajectory planning result.
[0076] Zero Moment Point (ZMP) refers to a point on the ground where the net moment generated by inertia and gravity in the direction parallel to the ground is zero.
[0077] In an embodiment of the present application, after obtaining the foot trajectory planning results of the robot, the center point trajectory of both feet can be determined according to the left foot trajectory planning results and the right foot trajectory planning results, and the trajectory can be used as the zero-torque point reference trajectory of the robot.
[0078] Step S103: determining the equivalent center of mass trajectory according to the zero moment point reference trajectory.
[0079] The equivalent center of mass is the center of mass of the robot and the payload as a whole.
[0080] In the embodiment of the present application, the corresponding dynamic state equation can be established based on any robot model in the prior art, and the embodiment of the present application does not specifically limit this. For the sake of ease of description, the linear inverted pendulum model (LIPM) is used as an example for detailed description. The linear inverted pendulum model simplifies the robot into an inverted pendulum on a horizontal plane, in which all mass is concentrated at the center of mass (CoM), and it is assumed that the support surface is horizontal and there is no friction. In the linear inverted pendulum model, the ankle joint of the robot is regarded as the origin, and the center of mass is at the top of the inverted pendulum. The length of the inverted pendulum is changed by controlling the movement of the legs to maintain the balance and stable walking of the robot.
[0081] The dynamic state equation corresponding to the linear inverted pendulum model is shown as follows:
[0082] X k+1 =AX k +Bu k
[0083] Y k =CX k
[0084] Where k is the sequence number of the time step, 0≤k≤N, N is the preset number of time steps, X k is the state quantity related to the equivalent center of mass at the kth time step, x com,k is the position of the equivalent center of mass at the kth time step, is the velocity of the equivalent center of mass at the kth time step, is the acceleration of the equivalent center of mass at the kth time step, is the acceleration of the equivalent center of mass at the kth time step, A and B are the preset parameter matrices, C = [1, 0, -h / g], h is the height of the robot, g is the acceleration due to gravity, Y k is the zero moment point at the kth time step.
[0085] According to the robot's dynamic state equation and the zero-moment point reference trajectory, the objective function for zero-moment point tracking can be determined. First, the zero-moment point tracking error term and energy term can be determined based on the robot's dynamic state equation and the zero-moment point reference trajectory. Then, the objective function can be determined based on the tracking error term, the energy term, the first weight corresponding to the tracking error term, and the second weight corresponding to the energy term. Specifically, the tracking error term can be weighted according to the first weight to obtain a tracking error weighted term, and the energy term can be weighted according to the second weight to obtain an energy weighted term. Finally, the sum of the tracking error weighted term and the energy weighted term can be determined as the objective function, as shown in the following formula:
[0086]
[0087] Among them, R k is the trajectory point of the zero moment point reference trajectory at the kth time step, (R k -Y k ) 2 is the tracking error term, α is the first weight corresponding to the tracking error term, and its specific value can be flexibly set according to the actual situation, and the embodiment of the present application does not specifically limit this. α(R k -Y k ) 2 is the tracking error weighting term, is the energy term, β is the second weight corresponding to the energy term, and its specific value can be flexibly set according to the actual situation, and the embodiment of the present application does not make specific limitations on this. is the energy weighted term, and J is the objective function.
[0088] The zero moment point of the robot should be located within the polygonal convex hull of the robot's bipedal position, based on which the constraint corresponding to the objective function can be determined as shown in the following formula:
[0089] CX k ≤Lu
[0090] CX k ≥L l
[0091] Among them, L u and L l are the upper and lower constraints corresponding to the polygonal convex hull of the robot's bipedal positions.
[0092] Based on the constraints, the robot is subjected to model predictive control (MPC) with the minimization of the objective function as the optimization goal, and the equivalent center of mass trajectory can be solved.
[0093] Step S104: determining the center of mass trajectory of the robot according to the equivalent center of mass trajectory.
[0094] In an embodiment of the present application, the mass of the robot, the mass of the load and the center of mass trajectory of the load can be obtained. According to the mass of the robot and the mass of the load, the equivalent center of mass trajectory and the center of mass trajectory of the load are transformed based on a preset center of mass transformation relationship to obtain the center of mass trajectory of the robot.
[0095] The center of mass conversion relationship is the conversion relationship between the equivalent center of mass, the center of mass of the load, and the center of mass of the robot, as shown in the following formula:
[0096] Mx*|Vx-Vp|=Mp*|Ve-Vp|
[0097] Ve-Vp=K(Vx-Ve)
[0098] Where Mx is the mass of the robot, Mp is the mass of the load, K is the preset conversion coefficient, Vx is the center of mass of the robot, Vp is the center of mass of the load, and Ve is the equivalent center of mass.
[0099] Step S105: performing inverse kinematics solution according to the center of mass trajectory of the robot to obtain the leg joint positions of the robot.
[0100] In an embodiment of the present application, the leg joint posture of the robot can be determined based on any inverse kinematics solution method in the prior art, including but not limited to: inverse kinematics solution based on analytical method, inverse kinematics solution based on numerical iteration method, inverse kinematics solution based on optimization algorithm, inverse kinematics solution based on Jacobian matrix, inverse kinematics solution based on neural network, etc. The embodiment of the present application does not make specific limitations on this.
[0101] Step S106: Control the robot to move according to the leg joint positions of the robot.
[0102] After obtaining the robot's leg joint posture through inverse kinematics, the robot can be controlled to move according to the leg joint posture. Since the solution process of the leg joint posture has fully considered the impact of the load on the robot's balance, motion control in this way can effectively improve the robot's walking stability.
[0103] The above content is aimed at the process of the robot carrying a load and walking. Before that, the robot can move its arms near the load and perform smooth control in the direction of clamping the load, such as maintaining a constant force and adjusting the center of mass while lifting the load, so that the center of mass always remains within the range of the feet.
[0104] In the process of the robot lifting a load, the actual position, expected position, actual speed and expected speed of the equivalent center of mass can be first determined, and the adjustment amount of the equivalent center of mass can be determined based on the actual position, expected position, actual speed and expected speed of the equivalent center of mass.
[0105] Specifically, the position deviation of the equivalent center of mass can be determined according to the actual position and expected position of the equivalent center of mass, and the speed deviation of the equivalent center of mass can be determined according to the actual speed and expected speed of the equivalent center of mass. After the position deviation and speed deviation are obtained, the adjustment amount of the equivalent center of mass can be determined according to the position deviation, the speed deviation, the proportional coefficient corresponding to the position deviation and the differential coefficient corresponding to the speed deviation, as shown in the following formula:
[0106] delta=kp(xd-x)+kd(dxd-dx)
[0107] Among them, xd is the expected position of the equivalent center of mass, x is the actual position of the equivalent center of mass, (xd-x) is the position deviation of the equivalent center of mass, kp is the proportional coefficient corresponding to the position deviation, and its specific value can be flexibly set according to actual conditions, and the embodiment of the present application does not make specific limitations on this. dxd is the expected speed of the equivalent center of mass, dx is the actual speed of the equivalent center of mass, (dxd-dx) is the speed deviation of the equivalent center of mass, kd is the differential coefficient corresponding to the speed deviation, and its specific value can be flexibly set according to actual conditions, and the embodiment of the present application does not make specific limitations on this. delta is the adjustment amount of the equivalent center of mass.
[0108] After the adjustment amount of the equivalent center of mass is determined, the center of mass can be adjusted according to the adjustment amount so that the center of mass is always kept within the range of the two feet, thereby improving the stability of the robot.
[0109] After the robot carries the load and walks to the target location, the robot can perform the action of putting down the load. At this time, the robot's arms can be controlled to move downward and detect the environmental force. When the detected environmental force is greater than the preset force threshold, the robot will no longer move downward and start to adjust the center of mass. The specific value of the force threshold can be flexibly set according to the actual situation. For example, it can be set to 20 Newtons (N) or other values, and the embodiment of the present application does not specifically limit this.
[0110] The center of mass adjustment process when putting down the load is similar to the center of mass adjustment process when lifting the load. For details, please refer to the above content and will not be repeated here. After completing the center of mass adjustment, the robot can turn off the force controller in the direction of clamping the load, and then the arms leave the load to complete the handling task.
[0111] In summary, in the process of the robot carrying a load, the embodiment of the present application plans the foot trajectory of the robot to obtain the foot trajectory planning result of the robot; determines the zero-torque point reference trajectory of the robot according to the foot trajectory planning result; determines the equivalent center of mass trajectory according to the zero-torque point reference trajectory; wherein the equivalent center of mass is the center of mass of the robot and the load as a whole; determines the center of mass trajectory of the robot according to the equivalent center of mass trajectory; performs inverse kinematics solution according to the center of mass trajectory of the robot to obtain the leg joint posture of the robot; controls the robot to move according to the leg joint posture of the robot. Through the embodiment of the present application, in the process of the robot carrying a load, the center of mass trajectory of the robot and the load is planned as a whole, and the robot is controlled in motion on this basis, which fully considers the influence of the load on the balance of the robot and effectively improves the walking stability of the robot.
[0112] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0113] Corresponding to a robot control method described in the above embodiment, Figure 2 A structural diagram of an embodiment of a robot control device provided in an embodiment of the present application is shown.
[0114] In this embodiment, a robot control device may include:
[0115] The trajectory planning module 201 is used to plan the foot trajectory of the robot during the process of the robot carrying the load, and obtain the foot trajectory planning result of the robot;
[0116] A reference trajectory determination module 202, configured to determine a zero-moment point reference trajectory of the robot according to the foot trajectory planning result;
[0117] An equivalent center of mass trajectory determination module 203 is used to determine an equivalent center of mass trajectory according to the zero moment point reference trajectory; wherein the equivalent center of mass is the center of mass of the robot and the load as a whole;
[0118] A center of mass trajectory determination module 204, configured to determine the center of mass trajectory of the robot according to the equivalent center of mass trajectory;
[0119] An inverse kinematics solution module 205 is used to perform inverse kinematics solution according to the center of mass trajectory of the robot to obtain the leg joint posture of the robot;
[0120] The motion control module 206 is used to control the robot to move according to the leg joint positions of the robot.
[0121] In a specific implementation of the embodiment of the present application, the equivalent center of mass trajectory determination module may include:
[0122] An objective function determination submodule, used to determine an objective function for zero moment point tracking according to the dynamic state equation of the robot and the zero moment point reference trajectory;
[0123] A constraint condition determination submodule, used to determine the constraint condition corresponding to the objective function;
[0124] The model predictive control submodule is used to perform model predictive control on the robot based on the constraint conditions and taking minimization of the objective function as the optimization goal to obtain the equivalent center of mass trajectory.
[0125] In a specific implementation of the embodiment of the present application, the objective function determination submodule may include:
[0126] An error term and energy term determination unit, used for determining a zero moment point tracking error term and an energy term according to a dynamic state equation of the robot and the zero moment point reference trajectory;
[0127] An objective function determination unit is used to determine the objective function according to the tracking error term, the energy term, a first weight corresponding to the tracking error term, and a second weight corresponding to the energy term.
[0128] In a specific implementation method of an embodiment of the present application, the objective function determination unit can be specifically used to: weight the tracking error term according to the first weight to obtain a tracking error weighted term; weight the energy term according to the second weight to obtain an energy weighted term; and determine the sum of the tracking error weighted term and the energy weighted term as the objective function.
[0129] In a specific implementation of an embodiment of the present application, the center of mass trajectory determination module can be specifically used to: obtain the mass of the robot, the mass of the load, and the center of mass trajectory of the load; according to the mass of the robot and the mass of the load, perform a center of mass conversion on the equivalent center of mass trajectory and the center of mass trajectory of the load based on a preset center of mass conversion relationship to obtain the center of mass trajectory of the robot; wherein the center of mass conversion relationship is a conversion relationship between the equivalent center of mass, the center of mass of the load, and the center of mass of the robot.
[0130] In a specific implementation of the embodiment of the present application, the robot control device may further include:
[0131] a data determination module for determining an actual position, a desired position, an actual speed and a desired speed of the equivalent center of mass during the process of the robot lifting or lowering the load;
[0132] An adjustment amount determination module, used to determine the adjustment amount of the equivalent center of mass according to the actual position, expected position, actual speed and expected speed of the equivalent center of mass;
[0133] An adjustment amount control module is used to control the movement of the robot according to the adjustment amount of the equivalent center of mass.
[0134] In a specific implementation method of an embodiment of the present application, the adjustment amount determination module can be specifically used to: determine the position deviation of the equivalent center of mass based on the actual position and expected position of the equivalent center of mass; determine the speed deviation of the equivalent center of mass based on the actual speed and expected speed of the equivalent center of mass; determine the adjustment amount of the equivalent center of mass based on the position deviation, the speed deviation, the proportional coefficient corresponding to the position deviation and the differential coefficient corresponding to the speed deviation.
[0135] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, modules and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0136] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0137] Figure 3 A schematic block diagram of a robot provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.
[0138] like Figure 3As shown, the robot 3 of this embodiment includes: a processor 30, a memory 31, and a computer program 32 stored in the memory 31 and executable on the processor 30. When the processor 30 executes the computer program 32, the steps in the above-mentioned robot control method embodiments are implemented, for example Figure 1 Alternatively, when the processor 30 executes the computer program 32, the functions of each module / unit in the above-mentioned device embodiments are realized, for example Figure 2 The functions of modules 201 to 206 are shown.
[0139] Exemplarily, the computer program 32 may be divided into one or more modules / units, which are stored in the memory 31 and executed by the processor 30 to complete the present application. The one or more modules / units may be a series of computer program instruction segments capable of completing specific functions, which are used to describe the execution process of the computer program 32 in the robot 3.
[0140] Those skilled in the art will understand that Figure 3 It is only an example of the robot 3 and does not constitute a limitation of the robot 3. The robot 3 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot 3 may also include input and output devices, network access devices, buses, etc.
[0141] The processor 30 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0142] The memory 31 may be an internal storage unit of the robot 3, such as a hard disk or memory of the robot 3. The memory 31 may also be an external storage device of the robot 3, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the robot 3. Further, the memory 31 may also include both an internal storage unit and an external storage device of the robot 3. The memory 31 is used to store the computer program and other programs and data required by the robot 3. The memory 31 may also be used to temporarily store data that has been output or is to be output.
[0143] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.
[0144] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0145] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0146] In the embodiments provided in the present application, it should be understood that the disclosed devices / robots and methods can be implemented in other ways. For example, the device / robot embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0147] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0148] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0149] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable storage medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable storage media do not include electric carrier signals and telecommunication signals.
[0150] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A robot control method, characterized in that: include: During the process of the robot carrying the load, performing foot trajectory planning on the robot to obtain a foot trajectory planning result of the robot; Determining a zero-moment point reference trajectory of the robot according to the foot trajectory planning result; Determine an equivalent center of mass trajectory according to the zero moment point reference trajectory; wherein the equivalent center of mass is the center of mass of the robot and the load as a whole; Determining the center of mass trajectory of the robot according to the equivalent center of mass trajectory; Performing inverse kinematics solution according to the center of mass trajectory of the robot to obtain the leg joint pose of the robot; The robot is controlled to move according to the leg joint positions of the robot.
2. The robot control method according to claim 1, characterized in that: Determining the equivalent center of mass trajectory according to the zero moment point reference trajectory includes: Determining an objective function for zero moment point tracking according to the robot's dynamic state equation and the zero moment point reference trajectory; Determining constraints corresponding to the objective function; Based on the constraint conditions and taking minimization of the objective function as an optimization goal, model predictive control is performed on the robot to obtain the equivalent center of mass trajectory.
3. The robot control method according to claim 2, characterized in that: Determining the objective function for zero moment point tracking according to the dynamic state equation of the robot and the zero moment point reference trajectory includes: Determining a zero-moment point tracking error term and an energy term according to the robot's dynamic state equation and the zero-moment point reference trajectory; The objective function is determined based on the tracking error term, the energy term, a first weight corresponding to the tracking error term, and a second weight corresponding to the energy term.
4. The robot control method according to claim 3, characterized in that: The determining the objective function according to the tracking error term, the energy term, a first weight corresponding to the tracking error term, and a second weight corresponding to the energy term comprises: Weighting the tracking error term according to the first weight to obtain a tracking error weighted term; weighting the energy term according to the second weight to obtain an energy weighted term; The sum of the tracking error weighted term and the energy weighted term is determined as the objective function.
5. The robot control method according to claim 1, characterized in that: Determining the center of mass trajectory of the robot according to the equivalent center of mass trajectory comprises: Obtaining the mass of the robot, the mass of the payload, and the center of mass trajectory of the payload; According to the mass of the robot and the mass of the load, the equivalent center of mass trajectory and the center of mass trajectory of the load are converted based on a preset center of mass conversion relationship to obtain the center of mass trajectory of the robot; wherein the center of mass conversion relationship is a conversion relationship between the equivalent center of mass, the center of mass of the load and the center of mass of the robot.
6. The robot control method according to any one of claims 1 to 5, characterized in that: Also includes: determining an actual position, a desired position, an actual speed, and a desired speed of the equivalent center of mass during lifting or lowering of the load by the robot; Determining an adjustment amount of the equivalent center of mass according to an actual position, an expected position, an actual speed, and an expected speed of the equivalent center of mass; The robot is controlled to move according to the adjustment amount of the equivalent center of mass.
7. The robot control method according to claim 6, characterized in that: The step of determining the adjustment amount of the equivalent center of mass according to the actual position, the expected position, the actual speed, and the expected speed of the equivalent center of mass comprises: Determining a position deviation of the equivalent center of mass according to an actual position and an expected position of the equivalent center of mass; Determining a speed deviation of the equivalent center of mass according to an actual speed and an expected speed of the equivalent center of mass; An adjustment amount of the equivalent center of mass is determined according to the position deviation, the speed deviation, a proportional coefficient corresponding to the position deviation, and a differential coefficient corresponding to the speed deviation.
8. A robot control device, characterized in that: include: A trajectory planning module, used to plan the foot trajectory of the robot during the process of the robot carrying the load, and obtain the foot trajectory planning result of the robot; A reference trajectory determination module, used to determine the zero-moment point reference trajectory of the robot according to the foot trajectory planning result; An equivalent center of mass trajectory determination module, used to determine an equivalent center of mass trajectory according to the zero moment point reference trajectory; wherein the equivalent center of mass is the center of mass of the robot and the load as a whole; A center of mass trajectory determination module, used to determine the center of mass trajectory of the robot according to the equivalent center of mass trajectory; An inverse kinematics solution module, used to perform inverse kinematics solution according to the center of mass trajectory of the robot to obtain the leg joint posture of the robot; A motion control module is used to control the robot to move according to the leg joint positions of the robot.
9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the robot control method according to any one of claims 1 to 7 are implemented.
10. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the robot control method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Robot control method and device, computer readable storage medium and robot
CN112536796A
Robot motion control method and device, controller and storage medium
CN112643679A
Mass center track generation method and device, computer readable storage medium and robot
CN113283082A
Method and system for controlling walking of robot
KR1020140085684A
Robot stability control method, robot and computer-readable storage medium
US20230191604A1