Robot control method, apparatus, medium and robot
Patent Information
- Authority / Receiving Office
- HK · HK
- Patent Type
- Patents
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2023-06-30
- Publication Date
- 2026-07-17
AI Technical Summary
Existing wheeled-legged robots cannot balance control and continuous jumping in their jumping path planning, which makes it impossible for them to complete the intended tasks stably and reliably in different environments.
By generating continuous jumping motion commands, which are divided into contact and take-off phases and subject to continuity constraints, the robot's floating body, legs, drive wheels, and tail are driven to move using the robot's model parameters in the world coordinate system and the constraints during the motion process, so as to achieve continuous jumping motion of the robot.
It improves the robot's balance and robustness, enables continuous jumping motion, and ensures continuity between the contact phase and the airborne phase.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and more specifically, to a robot control method, apparatus, medium, robot, and control equipment. Background Technology
[0002] Wheel-legged robots combine the advantages of wheels with the capabilities of legs. They move quickly, efficiently, and quietly on flat ground, while their legs enable them to adapt to uneven terrain, jump over steps, and perform other actions, demonstrating strong obstacle-crossing abilities.
[0003] To adapt to different environmental needs and ensure that robots can reliably complete their intended tasks in various environments, the jumping ability and path planning capabilities of wheeled-legged robots are receiving increasing attention. However, current methods for planning jumping paths for wheeled-legged robots cannot simultaneously address balance control and jumping ability, and continuous jumping is not possible. Summary of the Invention
[0004] This application provides a robot control method, apparatus, medium, robot, and control device, which can realize continuous jumping motion planning of the robot and improve the robot's balance ability and robustness.
[0005] In a first aspect, a robot control method is provided, applied to a robot including a floating body, legs, drive wheels, and a tail, the method comprising:
[0006] Based on the model parameters of the robot in the world coordinate system and the constraints during the robot's motion, a continuous jump motion command is generated, wherein the constraints include a continuity constraint for constraining the continuity of the contact phase and the airborne phase of the continuous jump motion trajectory.
[0007] The robot's floating body, legs, drive wheels, and tail are driven to move according to the continuous jumping motion command, so as to control the robot to perform continuous jumping motion and to make the robot maintain the continuity between the contact phase and the airborne phase during the continuous jumping motion.
[0008] Secondly, a robot control device is provided for use in a robot, the robot comprising a floating body, legs, drive wheels, and a tail, the device comprising:
[0009] The generation module is used to generate continuous jump motion commands based on the model parameters of the robot in the world coordinate system and the constraints in the robot's motion process. The constraints include continuity constraints for constraining the continuity of the contact phase and the airborne phase of the continuous jump motion trajectory.
[0010] The control module is used to drive at least one of the robot's floating body, legs, drive wheels and tail to move according to the continuous jumping motion command, so as to control the robot to perform continuous jumping motion and make the robot maintain the continuity of the contact phase and the airborne phase during the continuous jumping motion.
[0011] Thirdly, a computer-readable storage medium is provided, including instructions that, when executed on a computer device, cause the computer device to perform the method described in the first aspect above.
[0012] Fourthly, a robot is provided, the robot including a processor and a memory, the memory storing a computer program, the processor executing steps in the robot control method described in the first aspect above by calling the computer program stored in the memory.
[0013] Fifthly, a control device is provided, including a processor and a memory, wherein the memory stores a computer program, and the processor executes steps in the robot control method described in the first aspect by calling the computer program stored in the memory.
[0014] This application provides a robot control method applied to a robot including a floating body, legs, drive wheels, and a tail. By generating continuous jump motion commands based on the robot's model parameters in the world coordinate system and constraints during the robot's motion, the method ensures the continuity of the contact and airborne phases of the continuous jump trajectory. The method drives at least one of the robot's floating body, legs, drive wheels, and tail to move according to the continuous jump motion commands, thereby controlling the robot to perform continuous jump motions while maintaining the continuity of the contact and airborne phases. This application divides the jump process of the continuous jump trajectory into a contact phase and an airborne phase, and constrains these phases. Continuous jump motion commands are generated using modal parameters and continuity constraints, and at least one of the robot's floating body, legs, drive wheels, and tail is driven based on these commands to achieve continuous jump motions, thereby improving the robot's balance and robustness. Attached Figure Description
[0015] Figure 1 This is a flowchart illustrating the robot control method provided in the embodiments of this application.
[0016] Figure 2 This is a schematic diagram of the robot provided in the embodiments of this application.
[0017] Figure 3 This is another schematic flowchart of the robot control method provided in the embodiments of this application.
[0018] Figure 4 This is a simplified model diagram of the robot provided in the embodiments of this application.
[0019] Figure 5 This is a schematic block diagram of the robot control device provided in the embodiments of this application.
[0020] Figure 6 This is a schematic block diagram of another robot provided in the embodiments of this application. Detailed Implementation
[0021] The technical solutions of the embodiments of this application will now be described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. All other embodiments obtained by those skilled in the art without creative effort regarding the embodiments of this application are within the scope of protection of this application.
[0022] This application provides a robot control method, apparatus, storage medium, robot, and control device.
[0023] The robot control method provided in this application can be applied to robots. When a robot jumps, it determines a trajectory for continuous jumps and jumps along that trajectory to achieve continuous jumping. This application can be applied to various scenarios such as artificial intelligence, robotics, and control science and engineering.
[0024] The robot control method provided in this application can also be applied to control devices. Optionally, the control device can be a server or other types of equipment. Optionally, the server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
[0025] First, the following explanations are provided for some of the nouns or terms that appear in the description of this case:
[0026] Artificial Intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.
[0027] A robot is a machine that can perform tasks such as work or movement through programming and automatic control. Robots have basic characteristics such as perception, decision-making, and execution, and can assist or even replace humans in completing dangerous, heavy, and complex tasks, improve work efficiency and quality, serve human life, and expand or extend the scope of human activities and capabilities.
[0028] Control science and engineering is a discipline that studies the theories, methods, technologies, and engineering applications of control. Based on cybernetics, systems theory, and information theory, control science studies common problems in various application fields, namely, how to build system models, analyze internal and environmental information, and adopt control and decision-making behaviors to achieve control objectives. Its close integration with various application fields has also formed the rich and diverse content of control engineering.
[0029] The center of mass is a hypothetical point of mass concentration. It is a representative point that describes the overall motion state of a system of particles. It is defined as follows: if a force is applied to a point in any direction and the object only undergoes translation without rotation, then this point is the center of mass.
[0030] Lagrange mechanics, a branch of analytical mechanics, was established by Lagrange in 1788 and represents a new mathematical formulation of classical mechanics. Classical mechanics, initially formulated by Newton, focuses on the relationships between vectors such as displacement, velocity, acceleration, and force; it is also known as vector mechanics. Lagrange introduced the concept of generalized coordinates and, using d'Alembert's principle, derived Lagrange's equations, which are equivalent to Newton's second law. However, Lagrange's equations have a more general meaning and a wider range of applications. Furthermore, choosing appropriate generalized coordinates can significantly simplify the solution of Lagrange's equations.
[0031] Generalized coordinates are the independent parameters, or the minimum number of parameters, needed to describe the configuration of a system. When analyzing problems (especially those with many constraints), it is advisable to choose independent generalized coordinates, as this reduces the number of variables representing the constraints. However, when encountering nonholonomic constraints, or when calculating constraint forces, it is necessary to use the corresponding generalized coordinates for those constraints.
[0032] The first derivative of the generalized coordinates with respect to time is called the generalized velocity, and the second derivative with respect to time is called the generalized acceleration.
[0033] Constraint equations are equations that constitute a set of conditions that the state variables of a system must satisfy when establishing a system model.
[0034] A full-rank matrix is a matrix of order n called a matrix if r(A) = n. However, full rank is not limited to matrices of order n. If the rank of a matrix equals the number of rows, it is called a full-rank matrix in rows; if the rank of a matrix equals the number of columns, it is called a full-rank matrix in columns. A matrix that is full-rank in both rows and columns is an n-order matrix, i.e., an n-order square matrix. A full-rank matrix in rows means that the row vectors are linearly independent, and a full-rank matrix in columns means that the column vectors are linearly independent; therefore, for a square matrix, a full-rank matrix in rows and a full-rank matrix in columns are equivalent.
[0035] Please see Figure 1 , Figure 1 A flowchart illustrating a robot control method described in an embodiment of this application is shown. This robot control method is applied to a robot, which includes a floating body, legs, drive wheels, and a tail. The robot control method may include the following steps:
[0036] Step 110: Generate continuous jump motion commands based on the robot's model parameters in the world coordinate system and the constraints during the robot's motion process. The constraints include continuity constraints for constraining the continuity of the contact phase and the airborne phase of the continuous jump motion trajectory.
[0037] Specifically, the motion trajectory planning method provided in this application can be applied to various wheeled-legged robots, such as wheeled-legged robots with tails, wheeled-legged robots without tails, wheeled-legged robots with robotic arms, and wheeled-legged robots without robotic arms, etc. This application takes a wheeled-legged robot with a tail as an example; please refer to [link to relevant documentation]. Figure 2 The robot 100 consists of a floating body 110, legs 120, drive wheels 130, and a tail 140, with a passive wheel mounted on the tail 140. When the robot 100 moves, such as when jumping, the tail 140 helps maintain the body's balance. Figure 2 As shown, the legs of the robot 100 are a parallel mechanism. Compared with a serial structure, the parallel mechanism gives the robot 100 greater rigidity to withstand the impact during jumping. In addition, by setting two legs 120, the robot 100 has better balance.
[0038] Optionally, please refer to 3. Step 110 can be implemented through steps 101 to 105, specifically as follows:
[0039] Step 101: Obtain the robot's model parameters in the world coordinate system. These model parameters include the robot's generalized coordinate parameters, control parameters, and force parameters.
[0040] Optionally, the legs include a foreleg, a foreleg, a hindleg, and a hindleg. The two ends of the foreleg are connected to the floating body and the foreleg, respectively, and the two ends of the hindleg are connected to the floating body and the hindleg, respectively. During robot movement, the ends of the foreleg and the hindleg coincide, forming a closed loop. The robot's model parameters in the world coordinate system are obtained, including:
[0041] The position of the floating fuselage in the world coordinate system, the pitch angle of the floating fuselage in the world coordinate system, and the rotation angles of the front thigh, front lower leg, rear thigh, rear lower leg, tail, and drive wheel are obtained to obtain generalized coordinate parameters.
[0042] The torque of the joints of the front thigh, the hind thigh, the tail, and the drive wheel is obtained to obtain control parameters.
[0043] Obtain the ground reaction force and the closed-loop force in the closed loop to obtain the force parameters.
[0044] For example, please see Figure 4 , Figure 4 A simplified model of the robot in the world coordinate system is provided. The lower left corner of the figure represents the established world coordinate system, (x, z) is the position of the floating hull center in the world coordinate system, θ is the pitch angle of the floating hull in the world coordinate system, and m... B I B c B,x c B,z These represent the total mass, total inertia, and offset of the center of mass relative to the center point of the floating fuselage and tail, respectively. HF I HF c HF , l HF q HF These represent the mass, moment of inertia, position of the center of mass relative to the joint, length, and angle of rotation of the foreleg. Similarly, m KF I KF c KF , l KF q KF m HB I HB c HB , l HB q HB m KB I KB c KB , l KB q KB m TU ITU C TU , l TU q Tu The relevant variables are the forelegs, hind legs, hind thighs, and tail, respectively. These variables correspond to mass m, inertia I, the position of the center of mass relative to the joint c, length l, and rotation angle q. W I W q W , where r represents the mass, moment of inertia, angle of rotation, and radius of the driving wheel, respectively. The dashed lines at the ends of the front and rear lower legs in the diagram represent the coincidence of two points during actual movement; the length of the dashed lines is 0, forming a closed-loop constraint.
[0045] In this embodiment, step 101 may include: obtaining the position of the floating hull in the world coordinate system, the pitch angle of the floating hull in the world coordinate system, and the rotation angles of the front thigh, front lower leg, rear thigh, rear lower leg, tail, and drive wheel to obtain generalized coordinate parameters; obtaining the torque of the joints of the front thigh, rear thigh, tail, and drive wheel to obtain control parameters; and obtaining the ground reaction force and the closed-loop force in the closed loop to obtain force parameters.
[0046] Specifically, the generalized coordinate parameters are obtained as q = (x, z, θ, q HF q KF q HB q KB q TU q W ) T , corresponding to the coordinates (x, z) of the floating hull in the world frame, the pitch angle θ of the floating hull in the world frame, and the angles q of the front thigh, front lower leg, rear thigh, rear lower leg, tail, and drive wheel. Here, T represents the transpose operation.
[0047] Since this model is a parallel mechanism, and only two of the five joints in a parallel mechanism have degrees of freedom, plus the degrees of freedom of the driving wheel and the tail, the control parameter is taken as u = (τ). HF , τ HB , τ TU , τ W ) T The control parameter u corresponds to the torque of the front thigh joint, hind thigh joint, tail joint, and drive wheel.
[0048] In this embodiment, the ground reaction force is taken as f. C =(f C,x f C,z ) T The ground reaction force is f C Ground reaction force f in the x-direction C,x and the ground reaction force f in the z directionC,z Let the force in the closed loop be f. L =(f L,x f L,z ) T The force in this closed loop is f. L The closed-loop force f in the x-direction L,x and the closed-loop force f in the z-direction L,z .
[0049] Step 102: Obtain the robot's state variables, including the start and end states of the airborne phase, and the start and end states of the contact phase.
[0050] Step 103: Based on the model parameters, establish the dynamic equations applicable to the continuous jumping trajectory of the robot. The continuous jumping trajectory includes the contact phase and the take-off phase.
[0051] The contact phase can be defined as starting from the instant the robot lands, including the landing cushioning, the push-off and jump, and ending just before it leaves the ground. The airborne phase can be defined as starting from the instant the robot leaves the ground, including the leg swing in the air, and ending just before it lands.
[0052] Specifically, the robot's dynamic equations can be established based on the Lagrange equations. Step 102 may include: determining the left side of the dynamic equations based on the Lagrange equations, generalized coordinate parameters, and generalized velocity, where the generalized velocity is the derivative of the generalized coordinate parameters; and determining the right side of the dynamic equations based on the control parameters and force parameters.
[0053] Among them, the Lagrange equation is Based on the generalized coordinate parameter q and its derivative (Generalized velocity) allows us to calculate the system's total kinetic energy as E, total potential energy as V, and the system's Lagrangian quantity as L = EV. Based on the Lagrange equations, the left-hand side of the robot's dynamic equations is: Where D is the inertia matrix, C is the centrifugal force and Coriolis force term, and G is the gravity term. The right side of the dynamic equations represents the generalized forces acting on the robot: Where S is the transformation matrix. JC is the Jacobian matrix of the contact point between the driving wheel and the ground, J L =J KF -J KB This is the difference between the Jacobian matrices of the points at the ends of the front and rear lower legs. It's easy to understand that when the driving wheel is not in contact with the ground, there is no ground reaction force, f. C =0, J C It doesn't work. The final dynamic equations of the robot can be obtained as follows:
[0054]
[0055] Where D is the inertia matrix, C is the centrifugal force and Coriolis force term, G is the gravity term, and q is the generalized coordinate parameter. The first derivative of the generalized coordinate parameters, i.e., the generalized velocity. Let f be the second derivative of the generalized coordinate parameters, i.e., the generalized acceleration, where u is the control parameter and f is the generalized acceleration. C For the ground reaction force, f L Let S be the force in the closed loop, and J be the transformation matrix. C J is the Jacobian matrix of the contact point between the driving wheel and the ground. L J is the difference between the Jacobian matrices of the anterior and posterior lower leg endpoints. KF J is the Jacobian matrix of the distal end of the foreleg. KB Let be the Jacobian matrix of the end point of the posterior lower leg, and T be the transpose of the matrix.
[0056] Step 104: Based on at least one of the dynamic equations, model parameters, and state variables, establish the constraints corresponding to the contact phase and the take-off phase.
[0057] It is easy to understand that in order to ensure that the robot can make continuous jumps, it is necessary to constrain the end state of the contact phase to be equal to the initial state of the take-off phase, and the state of the robot after colliding with the ground at the end of the take-off phase to be equal to the initial state of the contact phase.
[0058] Optionally, step 104 may include: acquiring state variables, determining continuity constraints during robot motion based on the state variables; determining the target state at the start of the contact phase based on the dynamic equations, and determining continuous jump constraints during robot motion based on the target state at the start of the contact phase and the state at the end of the contact phase.
[0059] Optionally, the continuity constraints in the robot's motion process are determined based on the state variables, including: determining the continuity constraints in the robot's motion process based on the condition that the state at the end of the contact phase and the state at the beginning of the airborne phase are equal.
[0060] Specifically, the state variables of the robot's dynamic system are taken as... Let t 1,e , t 2,s These represent the end time of the contact phase and the start time of the airborne phase, respectively. To ensure that the robot's state at the end of the contact phase is equal to its state at the beginning of the airborne phase, a continuity constraint is obtained:
[0061] x(t 1,e )=x(t 2,s(2);
[0062] Among them, t 1,e t is the end time of the contact phase. 2,s x(t) represents the starting moment of the takeoff phase. 1,e ) represents the state of the system at the end of the contact phase (i.e., the state at the end of the contact phase), x(t) 2,s ) represents the state of the system at the start of the takeoff phase (i.e., the state at the start of the takeoff phase).
[0063] Specifically, assuming the robot's collision with the ground is inelastic, and the collision occurs instantaneously, the state after the collision and the state before the collision satisfy the following relationship:
[0064]
[0065] Among them, let These represent the states at the end of the takeoff phase and the beginning of the contact phase, respectively, and q 2,e =q 1,s , Furthermore, upon landing, closed-loop constraints should be satisfied, and the velocity of the point of contact between the driving wheel and the ground should be 0, i.e.:
[0066]
[0067]
[0068] Combining equations (3) and (4), we can obtain:
[0069]
[0070] Therefore, the target state at the start of the contact phase, obtained from the inelastic collision, is:
[0071]
[0072] The continuous jump constraint is obtained as follows:
[0073]
[0074] Where D is the inertia matrix, f C For the ground reaction force, f L J is the force in the closed loop. C J is the Jacobian matrix of the contact point between the driving wheel and the ground. L q is the difference between the Jacobian matrices of the anterior and posterior lower leg endpoints. 2,e q represents the generalized coordinate parameters at the end of the takeoff phase. 1,s These are the generalized coordinate parameters representing the start time of the contact phase. The generalized velocity at the end of the takeoff phase. Q is the generalized velocity at the start of the contact phase. up Let Q be the first n rows of the matrix Q on the right side of equation (6), where n is the number of generalized coordinates.
[0075] Optionally, in order to ensure the possibility of robot movement, it is also necessary to establish dynamic constraints for the contact phase. Step 104 above may also include: determining the first target generalized acceleration, the first target closed-loop force, and the target ground reaction force for the contact phase based on the generalized velocity and dynamic equations, and determining the dynamic constraints for the contact phase based on the first target generalized acceleration, the first target closed-loop force, and the target ground reaction force.
[0076] Specifically, during the contact phase, assuming pure rolling between the driving wheel and the ground, with no sliding, the generalized acceleration of the contact point between the driving wheel and the ground in the world coordinate system is:
[0077]
[0078] Among them, J C The Jacobian matrix is the point of contact between the drive wheel and the ground. For generalized acceleration, Let be the first derivative of the Jacobian matrix at the point of contact between the drive wheel and the ground. For generalized speed.
[0079] Furthermore, to maintain the closed-loop constraint, the acceleration difference at the closure point must be 0, i.e.:
[0080]
[0081] Among them, J L This is the difference between the Jacobian matrices of the points at the ends of the anterior and posterior lower legs. For generalized acceleration, Let be the first derivative of the difference between the Jacobian matrices of the anterior and posterior lower leg endpoints. Let be the generalized velocity. Combining the above dynamic equation (1), we can obtain:
[0082]
[0083] Where D(q) is a square matrix with full rank, J C J L Since all terms are of full rank, it can be determined that the first term on the left side of equation (10) is of full rank. Therefore, the generalized acceleration of the first target, the closed-loop force of the first target, and the ground reaction force of the target can be obtained as follows:
[0084]
[0085] Take the state variable as The dynamic constraints of the robot contact phase can be expressed as:
[0086]
[0087] Among them, A 1,up Let A1 be the first n rows of the matrix on the right side of equation (11), where n is the number of generalized coordinates.
[0088] Therefore, at any time t during the contact phase, the robot must satisfy the following dynamic constraints:
[0089]
[0090] Optionally, dynamic constraints for the takeoff phase can also be established. Step 104 may also include: determining the second target generalized acceleration and the second target closed-loop force for the takeoff phase based on the generalized velocity and dynamic equations, and determining the dynamic constraints for the takeoff phase based on the second target generalized acceleration and the second target closed-loop force.
[0091] Specifically, during the take-off phase, the robot is no longer subject to ground reaction forces, but closed-loop constraints still need to be maintained; therefore, the dynamic equations are:
[0092]
[0093] Since D(q) is a square matrix and has full rank, J L Since the first term on the left side of equation (14) is full rank, we can determine that the first term is full rank. Therefore, we can obtain the generalized acceleration and closed-loop force of the second target during the take-off phase as follows:
[0094]
[0095] Take the state variable as Therefore, the dynamic constraints during the robot's take-off phase can be expressed as:
[0096]
[0097] Therefore, at any time t during the take-off phase, the robot must satisfy the following dynamic constraints:
[0098]
[0099] Where D is the inertia matrix, C is the centrifugal force and Coriolis force term, G is the gravity term, and q is the generalized coordinate parameter. For generalized speed, Let u be the generalized acceleration, fC be the control parameter, and f be the ground reaction force. L Let S be the force in the closed loop, and J be the transformation matrix. CJ is the Jacobian matrix of the contact point between the driving wheel and the ground. L A is the difference between the Jacobian matrices of the anterior and posterior lower leg endpoints. 2,up Let A2 be the first n rows of the matrix on the right side of equation (15), where n is the number of generalized coordinates.
[0100] Optionally, frictional constraints can also be established for the contact phase. Step 104 above may also include: determining the frictional constraints for the contact phase based on the target ground reaction force.
[0101] It is easy to understand that ground forces only exist during the contact phase, therefore, according to equation (12), the target ground reaction force can be obtained as:
[0102] f C =A 1,down b1 (18);
[0103] Among them, A 1,down The last two rows of matrix A1 on the right side of equation (11) are given.
[0104] Based on the assumption of pure rolling, the ground reaction force needs to satisfy the constraint of the ground friction cone. By linearizing the Coulomb friction, the following constraint is obtained:
[0105]
[0106] Where μ is the friction coefficient, n C Let o be the unit outward vector of the contact point. C Let b be the unit tangent vector at the contact point. 1,down The last two rows of matrix b1 on the right side of equation (11) are given.
[0107] Therefore, for any time t during the contact phase, the frictional constraint that the robot must satisfy is:
[0108]
[0109] Optionally, collision avoidance constraints can also be established during robot motion. The model parameters include the coordinates of two adjacent joints in the world system. Step 104 may also include: determining the collision avoidance constraints during robot motion based on the coordinates of two adjacent joints in the world system and the ground height function of any point.
[0110] Specifically, during the robot's movement, all links and drive wheels in the simplified model cannot be embedded below the ground, let h m Assuming the ground height is a function of any point, the constraint equations are obtained:
[0111] p j,z +α(p k,z -p j,z )≥hm (p k,x +α(p j,x -p k,x ))
[0112] z+r cos(β)≥h m (x+rsin(β)) (21);
[0113] Where k and j are the numbers of two adjacent joints, (p j,x p j,z ), (p k,x p k,z ) are the coordinates of two adjacent joints in the world system, α∈[0,1], j,k∈[1,6],β∈[0,2π].
[0114] Therefore, for any time t during the motion, the collision avoidance constraint that the robot must satisfy is:
[0115] Optionally, boundary constraints can also be established during the robot's motion process. Step 104 may also include: determining the boundary constraints during the robot's motion process based on the upper and lower limits of the state variables during the robot's motion process, as well as the upper and lower limits of the control parameters during the robot's motion process.
[0116] It's easy to understand that during a robot's movement, it is also subject to its own constraints. For example, its joint angles cannot exceed mechanical limits, and its joint speeds and torques cannot exceed the performance of the motors. Therefore, appropriate boundary constraints can be set based on the robot's size, the motor's performance, and the target task. Let the minimum and maximum values of the robot's state variables during its movement be x... min x max The minimum and maximum values of the control quantity are u, respectively. min u max Then, for any time t during the motion, the robot's state constraints and control constraints can be expressed as:
[0117] x min ≤x(t)≤x max
[0118] u min ≤u(t)≤u max (1).
[0119] Specifically, the motor performance constraints during robot motion can be determined based on the measured motor torque-speed curves and expressed as path constraints.
[0120] It is worth noting that the friction of each joint is ignored in the above description. In practical applications, the friction model of the joint can be identified and applied to the path constraint of the control quantity.
[0121] Step 105: Solve the continuous jump trajectory of the robot according to the constraints corresponding to the contact phase and the airborne phase, so as to generate a continuous jump motion command containing the continuous jump trajectory.
[0122] Optionally, the continuous jump trajectory of the robot is solved based on the constraints corresponding to the contact phase and the airborne phase to generate continuous jump motion commands containing the continuous jump trajectory, including:
[0123] Construct a nonlinear optimization problem based on the constraints corresponding to the contact phase and the take-off phase;
[0124] The nonlinear optimization problem is solved to obtain the robot's continuous jumping trajectory, so as to generate continuous jumping motion commands containing the continuous jumping trajectory.
[0125] Optionally, a nonlinear optimization problem can be constructed based on the constraints corresponding to the contact phase and the take-off phase, including: constructing a nonlinear optimization problem based on a preset cost function and the constraints corresponding to the contact phase and the take-off phase.
[0126] For example, based on the continuity constraints, continuous jump constraints, dynamic constraints of the contact phase and the dynamic constraints of the takeoff phase, friction constraints, collision avoidance constraints, and boundary constraints determined in the above steps, the constructed nonlinear optimization problem can be:
[0127]
[0128] Where, when i = 1, t i,s This indicates the start time of the contact phase; when i = 2, t i,s denoted by , u represents the start time of the take-off phase; u is the control parameter; st is an abbreviation for subjectto, meaning constrained. In this nonlinear optimization problem, the constraints of the above formulas (2), (7), (13), (17), (20), (22), and (23) must be satisfied.
[0129] In the aforementioned nonlinear optimization problem, the preset cost function indicates the expectation that the energy consumption during the entire motion process should be minimized. This application does not limit the preset cost function, and the preset cost function can also be other cost functions, such as the expectation that the jump should be as high as possible to climb over higher obstacles, or the expectation that the jump should be as far as possible to cross wider ditches, etc.
[0130] The nonlinear optimization problem constructed above can be solved to obtain the robot's continuous jumping trajectory, and then a continuous jumping motion command containing the continuous jumping trajectory can be generated.
[0131] For example, by solving equation (24), we can obtain the optimal route that satisfies the above-mentioned continuity constraints, continuous jump constraints, dynamic constraints of the contact stage and dynamic constraints of the take-off stage, friction constraints, anti-collision constraints and boundary constraints while minimizing energy consumption throughout the entire motion process.
[0132] The continuous jump motion command is used to instruct the robot to drive the various devices or components in the robot corresponding to the command to move according to the continuous jump motion trajectory, so as to realize the continuous jump motion of the robot.
[0133] This application divides the robot's jumping process into a contact phase and an airborne phase, and then imposes constraints on the contact and airborne phases. The constraints on the continuous jumping motion can include a continuity constraint that the state of the robot after colliding with the ground at the end of the airborne phase is equal to the initial state of the contact phase, as well as dynamic constraints, collision avoidance constraints, friction constraints, boundary constraints, and continuous jump constraints from the contact phase to the airborne phase. Then, a nonlinear optimization problem is constructed according to specific requirements and constraints. Finally, the nonlinear optimization problem is solved to obtain the optimal trajectory.
[0134] Specifically, this application uses a simplified model as an example to illustrate the motion trajectory planning method. It can be understood that by establishing a three-dimensional model of the robot and using the above method, motion planning such as lateral continuous jumps can be achieved.
[0135] In generating continuous jump motion commands, this application obtains the robot's model parameters in the world coordinate system and establishes dynamic equations suitable for calculating the robot's continuous jump motion trajectory based on these parameters. The continuous jump motion trajectory includes a contact phase and an airborne phase. Then, constraints corresponding to the contact and airborne phases are established based on the dynamic equations and model parameters. A nonlinear optimization problem is then constructed based on these constraints and solved to obtain the robot's continuous jump motion trajectory, thereby generating continuous jump motion commands containing the trajectory. Based on the dynamic model, this application divides the jump process into a contact and airborne phase and imposes constraints on these phases. Through optimization, the planning of the robot's continuous jump motion is achieved. By employing a nonlinear control method, the robot is no longer limited to the linearizable interval of the model, resulting in better balance and robustness when performing continuous jump motions based on the generated commands.
[0136] Step 120: Drive at least one of the robot's floating body, legs, drive wheels and tail to move according to the continuous jump motion command, so as to control the robot to perform continuous jump motion and make the robot maintain the continuity of the contact phase and the airborne phase during the continuous jump motion.
[0137] Optionally, at least one of the robot's floating body, legs, drive wheels, and tail is driven to move according to continuous jumping motion instructions to control the robot to perform continuous jumping motion, including:
[0138] During the contact phase, based on the continuous jumping motion command, at the instant the drive wheel contacts the ground, the legs are controlled to bend so as to lower the center of gravity of the floating body, and the drive wheel is controlled to push off the ground;
[0139] During the take-off phase, based on the continuous jumping motion command, the robot's legs are driven to swing the moment the drive wheel leaves the ground, in order to control the robot to perform continuous jumping motion.
[0140] Optionally, driving at least one of the robot's floating body, legs, drive wheels, and tail to move according to continuous jumping motion commands to control the robot to perform continuous jumping motions further includes:
[0141] During the contact phase and / or the airborne phase, the tail is retracted or extended according to the continuous jumping motion command to keep the robot balanced during continuous jumping motion.
[0142] All of the above technical solutions can be combined in any way to form optional embodiments of this application, and will not be described in detail here.
[0143] This application embodiment generates continuous jump motion commands based on the robot's model parameters in the world coordinate system and constraints during the robot's motion process. The constraints include continuity constraints that constrain the continuity of the contact and airborne phases of the continuous jump motion trajectory. The continuous jump motion commands drive at least one of the robot's floating body, legs, drive wheels, and tail to move, thereby controlling the robot to perform continuous jump motions and ensuring the continuity of the contact and airborne phases during the continuous jump motion. This application embodiment divides the jump process of the continuous jump motion trajectory into a contact phase and an airborne phase, and constrains both phases. Continuous jump motion commands are generated through modal parameters and continuity constraints. Based on these commands, at least one of the robot's floating body, legs, drive wheels, and tail is driven to move, thereby achieving continuous jump motions and improving the robot's balance and robustness.
[0144] The method embodiments of this application have been described in detail above. The following description, in conjunction with... Figure 5 The present application describes the device embodiments in detail. It should be understood that the device embodiments correspond to the method embodiments, and similar descriptions can be referred to the method embodiments.
[0145] Figure 5 This is a schematic structural diagram of a robot control device 400 according to an embodiment of this application, such as... Figure 5 As shown, the robot control device 10 may include:
[0146] The generation module 11 is used to generate continuous jump motion instructions based on the model parameters of the robot in the world coordinate system and the constraints in the robot's motion process. The constraints include continuity constraints for constraining the continuity of the contact phase and the airborne phase of the continuous jump motion trajectory.
[0147] The control module 12 is used to drive at least one of the robot's floating body, legs, drive wheels and tail to move according to the continuous jumping motion command, so as to control the robot to perform continuous jumping motion and make the robot maintain the continuity of the contact phase and the airborne phase during the continuous jumping motion.
[0148] Optionally, the control module 12 can be used to: during the contact phase, according to the continuous jumping motion command, control the legs to bend so as to lower the center of gravity of the floating body and control the active wheels to push off the ground at the instant the active wheels make contact with the ground; during the take-off phase, according to the continuous jumping motion command, drive the robot's legs to swing at the instant the active wheels leave the ground so as to control the robot to perform continuous jumping motion.
[0149] Optionally, the control module 12 can be used to: control the tail to retract or extend according to the continuous jumping motion command during the contact phase and / or the airborne phase, so as to keep the robot balanced during the continuous jumping motion.
[0150] Optionally, the generation module 11 may include:
[0151] The first acquisition unit is used to acquire the robot's model parameters in the world coordinate system. The model parameters include the robot's generalized coordinate parameters, control parameters, and force parameters.
[0152] The second acquisition unit is used to acquire the robot's state variables, including the start and end states of the airborne phase, and the start and end states of the contact phase.
[0153] The model building unit is used to establish dynamic equations suitable for calculating the continuous jumping trajectory of the robot based on the model parameters. The continuous jumping trajectory includes the contact phase and the airborne phase.
[0154] The constraint establishment unit is used to establish the constraint conditions corresponding to the contact stage and the take-off stage based on at least one of the dynamic equations, model parameters and state variables.
[0155] The generation unit is used to solve the continuous jump trajectory of the robot according to the constraints corresponding to the contact phase and the airborne phase, so as to generate continuous jump motion instructions containing the continuous jump trajectory.
[0156] Optionally, the legs include a front thigh, a front lower leg, a rear thigh, and a rear lower leg. The two ends of the front thigh are connected to the floating body and the front lower leg, respectively, and the two ends of the rear thigh are connected to the floating body and the rear lower leg, respectively. During the robot's movement, the ends of the front lower leg and the rear lower leg coincide, forming a closed loop. The first acquisition unit can be used to: acquire the position of the floating body in the world coordinate system, the pitch angle of the floating body in the world coordinate system, and the rotation angles of the front thigh, front lower leg, rear thigh, rear lower leg, tail, and drive wheel to obtain generalized coordinate parameters; acquire the joints of the front thigh, the joints of the rear thigh, the joints of the tail, and the torque of the drive wheel to obtain control parameters; and acquire the ground reaction force and the closed-loop force in the closed loop to obtain force parameters.
[0157] Optionally, the model building unit can be used to: determine the left side of the dynamic equation based on the Lagrange equation, generalized coordinate parameters, and generalized velocity, where the generalized velocity is the derivative of the generalized coordinate parameters; and determine the right side of the dynamic equation based on the control parameters and force parameters.
[0158] Optionally, the constraint establishment unit can be used to: determine the continuity constraints in the robot's motion process based on the state variables, the continuity constraints being used to constrain the continuity of the contact phase and the airborne phase; determine the target state at the start of the contact phase based on the dynamic equations, and determine the continuous jump constraints in the robot's motion process based on the target state at the start of the contact phase and the state at the end of the contact phase.
[0159] Optionally, the constraint establishment unit can be used to determine the continuity constraints in the robot's motion process based on the condition that the state at the end of the contact phase and the state at the start of the airborne phase are equal in the state variables.
[0160] Optionally, the constraint establishment unit can also be used to: determine the first target generalized acceleration, the first target closed-loop force, and the target ground reaction force during the contact phase based on the generalized velocity and dynamic equations, and determine the dynamic constraints during the contact phase based on the first target generalized acceleration, the first target closed-loop force, and the target ground reaction force.
[0161] Optionally, the constraint establishment unit can also be used to: determine the second target generalized acceleration and the second target closed-loop force during the takeoff phase based on the generalized velocity and dynamic equations, and determine the dynamic constraints during the takeoff phase based on the second target generalized acceleration and the second target closed-loop force.
[0162] Optionally, the constraint establishment unit can also be used to: determine the friction constraints during the contact phase based on the target ground reaction force.
[0163] Optionally, the model parameters also include the coordinates of two adjacent joints in the world system and the constraint establishment unit, which can also be used to: determine the anti-collision constraints during the robot's motion based on the coordinates of two adjacent joints in the world system and the ground height function of any point.
[0164] Optionally, the constraint establishment unit can also be used to: determine the boundary constraints during robot motion based on the upper and lower limits of the state variables during robot motion, as well as the upper and lower limits of the control parameters during robot motion.
[0165] Optionally, the generation unit can be used to: construct a nonlinear optimization problem based on the constraints corresponding to the contact phase and the take-off phase; solve the nonlinear optimization problem to obtain the robot's continuous jumping motion trajectory, so as to generate a continuous jumping motion command containing the continuous jumping motion trajectory.
[0166] It should be noted that the functions of each module in the robot control device 10 in this application embodiment can be referred to the specific implementation methods in the above method embodiments, and will not be repeated here.
[0167] Each module in the robot control device 10 described above can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0168] This application also provides a robot, which includes a processor and a memory. The memory stores at least one computer program, which is loaded and executed by the processor to perform the operations performed in the robot control method of the above embodiments.
[0169] Figure 6 A schematic diagram of the structure of a robot 20 provided in an exemplary embodiment of this application is shown. The robot 20 is used to perform the steps executed by the robot in the above-described robot control method.
[0170] The robot 20 includes a processor 21 and a memory 22.
[0171] Processor 21 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 21 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). Processor 21 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 21 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the screen. In some embodiments, processor 21 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0172] The memory 22 may include one or more computer-readable storage media, which may be non-transitory. The memory 22 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 22 are used to store at least one computer program, which is executed by the processor 21 to implement the robot control method provided in the method embodiments of this application.
[0173] In some embodiments, the robot 20 may also optionally include a peripheral device interface 23 and at least one peripheral device. The processor 21, memory 22, and peripheral device interface 23 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 23 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 24, a display screen 25, a camera assembly 25, an audio circuit 27, a positioning assembly 26, and a power supply 27.
[0174] Peripheral device interface 23 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 21 and memory 22. In some embodiments, processor 21, memory 22 and peripheral device interface 23 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 21, memory 22 and peripheral device interface 23 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0175] The radio frequency (RF) circuit 24 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 24 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 24 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 24 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 24 can communicate with other terminals through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 24 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0176] The camera assembly 25 is used to acquire images or videos. Optionally, the camera assembly 25 includes a front-facing camera and a rear-facing camera. The front-facing camera is disposed on the front panel of the terminal, and the rear-facing camera is disposed on the back of the terminal. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, a wide-angle camera, and a telephoto camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, panoramic shooting by fusion of the main camera and the wide-angle camera, VR (Virtual Reality) shooting, or other fusion shooting functions. In some embodiments, the camera assembly 25 may also include a flash. The flash may be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cool light flash, which can be used for light compensation at different color temperatures.
[0177] The positioning component 26 is used to locate the current geographical location of the robot 20 for navigation or LBS (Location Based Service). The positioning component 26 can be a positioning component based on the US GPS (Global Positioning System), China's BeiDou system, or Russia's Galileo system.
[0178] Power source 27 is used to power the various components in robot 20. Power source 27 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power source 27 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, while a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0179] In some embodiments, the robot 20 further includes one or more sensors 28. The one or more sensors 28 include, but are not limited to, accelerometers and gyroscopes.
[0180] The accelerometer can detect the magnitude of acceleration along the three axes of a coordinate system established by the robot 20. For example, the accelerometer can be used to detect the components of gravitational acceleration along the three axes. The processor 21 can then process the gravitational acceleration signal acquired by the accelerometer. The accelerometer can also be used for collecting motion data from games or users.
[0181] The gyroscope sensor can detect the robot 20's body orientation and rotation angle. The gyroscope sensor can work in conjunction with the accelerometer to collect 3D motion data from the user on the robot 20. Based on the data collected by the gyroscope sensor, the processor 21 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt), image stabilization during shooting, game control, and inertial navigation.
[0182] Those skilled in the art will understand that Figure 6 The structure shown does not constitute a limitation on robot 20 and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0183] This application also provides a control device, which includes a processor and a memory. The memory stores at least one computer program, which is loaded and executed by the processor to perform the operations performed in the robot control method of the above embodiments.
[0184] This application also provides a computer-readable storage medium for storing a computer program. This computer-readable storage medium can be applied to a computer device, and the computer program causes the computer device to execute the corresponding processes in the robot control method of this application embodiment; for brevity, further details are omitted here.
[0185] This application also provides a computer program product, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the corresponding process in the robot control method of this application embodiment. For simplicity, further details are omitted here.
[0186] This application also provides a computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the corresponding flow in the robot control method of this application embodiment. For simplicity, further details are omitted here.
[0187] It should be understood that the processor in the embodiments of this application may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method embodiments can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor described above can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.
[0188] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0189] It should be understood that the above-described memory is exemplary but not restrictive. For example, the memory in the embodiments of this application may also be static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM), etc. That is to say, the memory in the embodiments of this application is intended to include, but is not limited to, these and any other suitable types of memory.
[0190] Those skilled in the art will recognize that the units and algorithm steps of the various examples 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 implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0191] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0192] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0193] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0194] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0195] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer or a server) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0196] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A robot control method, characterized in that Applied to a wheel-leg robot, the robot includes a floating body, legs, active wheels, and a tail, and the method includes: Generating a continuous jumping motion instruction according to the model parameters of the robot in the world coordinate system and the constraint conditions during the movement of the robot. Among them, the constraint conditions include continuity constraints for constraining the continuity of the contact phase and the腾空 phase of the continuous jumping motion trajectory; In the contact phase, according to the continuous jumping motion instruction, at the moment when the active wheel contacts the ground, controlling the legs to bend to drive the center of gravity of the floating body to descend, and controlling the active wheel to push off the ground; in the腾空 phase, according to the continuous jumping motion instruction, at the moment when the active wheel leaves the ground, driving the legs of the robot to swing to control the robot to perform continuous jumping motion, and enabling the robot to maintain the continuity of the contact phase and the腾空 phase during the continuous jumping motion; Among them, the generating of the continuous jumping motion instruction according to the model parameters of the robot in the world coordinate system and the constraint conditions during the movement of the robot includes: Obtaining the model parameters of the robot in the world coordinate system, and the model parameters include the generalized coordinate parameters, control quantity parameters, and force parameters of the robot; Obtaining the state quantities of the robot, and the state quantities include the starting moment state and the ending moment state of the腾空 phase, as well as the starting moment state and the ending moment state of the contact phase; Based on the model parameters, establish a dynamic equation applicable to calculating the continuous jumping motion trajectory of the robot. The continuous jumping motion trajectory includes a contact phase and a flying phase. The dynamic equation is as follows: , where is the inertia matrix, is the centrifugal force and Coriolis force term, is the gravity term, is the generalized coordinate parameter, is the generalized velocity, is the generalized acceleration, is the control quantity parameter, is the ground reaction force, is the force in the closed loop, is the transformation matrix, is the Jacobian matrix of the contact point between the driving wheel and the ground, is the difference between the Jacobian matrices of the end points of the front lower leg and the end points of the rear lower leg. T is the transpose of the matrix; Establishing the constraint conditions corresponding to the contact phase and the腾空 phase according to at least one of the dynamic equations, the model parameters, and the state quantities; Solving the continuous jumping motion trajectory of the robot according to the constraint conditions corresponding to the contact phase and the腾空 phase to generate a continuous jumping motion instruction including the continuous jumping motion trajectory.
2. The robot control method according to claim 1, wherein The driving at least one of the floating body, legs, active wheels, and tail of the robot according to the continuous jumping motion instruction to control the robot to perform continuous jumping motion further includes: In the contact phase and / or the腾空 phase, controlling the tail to retract or expand according to the continuous jumping motion instruction so that the robot maintains balance during the continuous jumping motion.
3. The robot control method according to claim 1, wherein The legs include a front thigh, a front calf, a rear thigh, and a rear calf. The two ends of the front thigh are respectively connected to the floating body and the front calf, and the two ends of the rear thigh are respectively connected to the floating body and the rear calf. During the movement of the robot, the ends of the front calf and the rear calf coincide to form a closed loop. The obtaining of the model parameters of the robot in the world coordinate system includes: Obtaining the position of the floating body in the world coordinate system, the pitch angle of the floating body in the world coordinate system, and the rotation angles of the front thigh, the front calf, the rear thigh, the rear calf, the tail, and the active wheel to obtain the generalized coordinate parameters; Obtain the torques of the joints of the front thigh, the joints of the rear thigh, the joints of the tail, and the driving wheel to obtain the control quantity parameters; Obtain the ground reaction force and the closed-loop acting force in the closed loop to obtain the acting force parameters.
4. The robot control method according to claim 3, wherein Based on the model parameters, establish a dynamic equation applicable to calculating the continuous jumping motion trajectory of the robot, including: Determine the left side of the dynamic equation according to the Lagrangian equation, the generalized coordinate parameters, and the generalized velocity, where the generalized velocity is the derivative of the generalized coordinate parameters; Determine the right side of the dynamic equation according to the control quantity parameters and the acting force parameters.
5. The robot control method according to claim 3, wherein Based on at least one of the dynamic equation, the model parameters, and the state quantity, establish the corresponding constraint conditions for the contact phase and the airborne phase, including: Determine the continuity constraint during the robot's movement according to the state quantity, and the continuity constraint is used to constrain the continuity between the contact phase and the airborne phase; Determine the target state at the starting moment of the contact phase according to the dynamic equation, and determine the continuous jumping constraint during the robot's movement according to the target state at the starting moment of the contact phase and the state at the ending moment of the contact phase.
6. The robot control method according to claim 5, wherein The determination of the continuity constraint during the robot's movement according to the state quantity includes: Determine the continuity constraint during the robot's movement according to the condition that the state at the ending moment of the contact phase in the state quantity is equal to the state at the starting moment of the airborne phase.
7. The robot control method according to claim 5, wherein Based on at least one of the dynamic equation, the model parameters, and the state quantity, establishing the corresponding constraint conditions for the contact phase and the airborne phase further includes: Determine the first target generalized acceleration, the first target closed-loop acting force, and the target ground reaction force of the contact phase according to the generalized velocity and the dynamic equation, and determine the dynamic constraint of the contact phase according to the first target generalized acceleration, the first target closed-loop acting force, and the target ground reaction force.
8. The robot control method according to claim 5, wherein Based on at least one of the dynamic equation, the model parameters, and the state quantity, establishing the corresponding constraint conditions for the contact phase and the airborne phase further includes: Determine the second target generalized acceleration and the second target closed-loop acting force of the airborne phase according to the generalized velocity and the dynamic equation, and determine the dynamic constraint of the airborne phase according to the second target generalized acceleration and the second target closed-loop acting force.
9. The robot control method according to claim 7, wherein Based on at least one of the dynamic equation, the model parameters, and the state quantity, establishing the corresponding constraint conditions for the contact phase and the airborne phase further includes: Determine the friction constraint of the contact phase according to the target ground reaction force.
10. The robot control method according to claim 3, wherein The model parameters further include the coordinates of two adjacent joints in the world coordinate system. Based on at least one of the dynamic equation, the model parameters, and the state quantity, establishing the corresponding constraint conditions for the contact phase and the airborne phase further includes: Determine the anti-collision constraints during the movement of the robot based on the coordinates of two adjacent joints in the world coordinate system and the ground height function of any point.
11. The robot control method according to claim 1, wherein, The establishment of the constraint conditions corresponding to the contact phase and the腾空 phase based on at least one of the dynamic equations, the model parameters, and the state variables further includes: Determine the boundary constraints during the movement of the robot according to the upper and lower limits of the state variables and the upper and lower limits of the control quantity parameters during the movement of the robot.
12. The robot control method according to claim 1, wherein The solution of the continuous jumping motion trajectory of the robot according to the constraint conditions corresponding to the contact phase and the腾空 phase to generate a continuous jumping motion instruction including the continuous jumping motion trajectory includes: Construct a non-linear optimization problem according to the constraint conditions corresponding to the contact phase and the腾空 phase; Solve the non-linear optimization problem to obtain the continuous jumping motion trajectory of the robot, and generate a continuous jumping motion instruction including the continuous jumping motion trajectory.
13. A robot control device, characterized in that, Applied to a wheel-legged robot, the robot includes a floating body, legs, active wheels, and a tail, and the device includes: A generation module for generating a continuous jumping motion instruction according to the model parameters of the robot in the world coordinate system and the constraint conditions during the movement of the robot, wherein the constraint conditions include continuity constraints for constraining the continuity of the contact phase and the腾空 phase of the continuous jumping motion trajectory; A control module for, in the contact phase, according to the continuous jumping motion instruction, at the moment when the active wheel contacts the ground, controlling the legs to bend to lower the center of gravity of the floating body, and controlling the active wheel to push off the ground; in the腾空 phase, according to the continuous jumping motion instruction, at the moment when the active wheel leaves the ground, driving the legs of the robot to swing to control the robot to perform continuous jumping motion, and enabling the robot to maintain the continuity of the contact phase and the腾空 phase during the continuous jumping motion; Wherein, the generation module is specifically used for: Obtain the model parameters of the robot in the world coordinate system, and the model parameters include the generalized coordinate parameters, control quantity parameters, and force parameters of the robot; Obtain the state variables of the robot, and the state variables include the starting moment state and the ending moment state of the腾空 phase, and the starting moment state and the ending moment state of the contact phase; Based on the model parameters, a dynamic equation suitable for calculating the continuous jumping motion trajectory of the robot is established. The continuous jumping motion trajectory includes a contact phase and a flying phase, and the dynamic equation is: , where is the inertia matrix, is the centrifugal force and Coriolis force term, is the gravity term, is the generalized coordinate parameter, is the first derivative of the generalized coordinate parameter, i.e., the generalized velocity, is the second derivative of the generalized coordinate parameter, i.e., the generalized acceleration, is the control quantity parameter, is the ground reaction force, is the force in the closed loop, is the transformation matrix, is the Jacobian matrix of the contact point between the driving wheel and the ground, is the difference between the Jacobian matrices of the end points of the front lower leg and the end points of the rear lower leg, and \(T\) is the transpose of the matrix; Establish the constraint conditions corresponding to the contact phase and the腾空 phase based on at least one of the dynamic equations, the model parameters, and the state variables; Solve the continuous jumping motion trajectory of the robot according to the constraint conditions corresponding to the contact phase and the腾空 phase to generate a continuous jumping motion instruction including the continuous jumping motion trajectory.
14. A computer-readable storage medium, comprising instructions, characterized in that, When the instruction runs on a computer device, it causes the computer device to execute the robot control method according to any one of claims 1 to 12.
15. A robot, characterized in that, The robot includes a processor and a memory, and a computer program is stored in the memory. The processor is configured to execute the steps in the robot control method according to any one of claims 1 to 12 by invoking the computer program stored in the memory.
16. A control device, characterized in that, The control device includes a processor and a memory, and a computer program is stored in the memory. The processor is configured to execute the steps in the robot control method according to any one of claims 1 to 12 by invoking the computer program stored in the memory.