Balance control method, device and equipment for wheel-legged robot and storage medium

By abstracting the wheel-legged robot into a multi-order inverted pendulum model, and using the sliding surface and dynamic model parameters to calculate the rotational torque, the problem of poor posture change flexibility in the balance control process in the existing technology is solved, and a more efficient and robust system is achieved. Stick balance control.

CN119322514APending Publication Date: 2025-01-17TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Application Number
CN202310876039.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-14
Publication Date
2025-01-17

AI Technical Summary

Technical Problem

During the balance control process of existing wheel-leg robots, the posture change flexibility is poor, and it is difficult to maintain balance under various disturbances. The robustness of balance control needs to be further improved.

Method used

By abstracting the wheel-legged robot into a multi-order inverted pendulum model, its state quantity at a certain moment is obtained, the dynamic model parameters are determined, the sliding mode surface is established, and the rotational torque is calculated based on the sliding mode surface and the dynamic model parameters, and the control Rotate the joints to adjust the robot's posture.

Benefits of technology

It improves the balance adjustment speed and flexibility of the wheel-legged robot, enhances the balance recovery ability under different disturbance conditions, and improves the robustness of the balance control process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119322514A_ABST
    Figure CN119322514A_ABST
Patent Text Reader

Abstract

The invention discloses a balance control method, device and equipment of a wheel-legged robot and a storage medium, and relates to the technical field of robots. The wheel-legged robot comprises a moving wheel, n connecting rods and n rotating joints, the moving wheel is connected with a first connecting rod in the n connecting rods through a first rotating joint in the n rotating joints, the n connecting rods are connected in series through n-1 rotating joints except the first rotating joint, n is a positive integer larger than or equal to 2, and n is a positive integer larger than or equal to 2. The method comprises the following steps: acquiring a state quantity of the wheel-legged robot at a first moment; according to a kinetic equation of the wheel-legged robot and the state quantity at the first moment, kinetic model parameters are determined; establishing a sliding mode surface according to the state quantity at the first moment; according to the sliding mode surface and the kinetic model parameters, the rotating torque of the n rotating joints is calculated; and controlling the rotating joints according to the rotating torques of the n rotating joints. The postures of the n connecting rods in the robot are adjustable in the balance adjustment process, and the robustness of the balance adjustment process is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of artificial intelligence technology, and in particular to a balance control method, device, equipment and storage medium for a wheel-legged robot. Background Art

[0002] With the continuous development of robot technology, a wheel-legged robot has emerged in which mobile wheels are connected to leg mechanisms through joints. This wheel-legged robot has the mobility advantages of both wheeled robots and legged robots.

[0003] In the related technology, in order to improve the balance ability of the wheel-legged robot during movement, the leg mechanism and the trunk mechanism of the wheel-legged robot are regarded as a whole, the rotational torque of the joint motor between the moving wheel and the leg mechanism is calculated, and the angle between the moving wheel and the leg mechanism is changed by rotating the joint motor to maintain the balance ability of the wheel-legged robot.

[0004] However, the posture change flexibility of the wheel-legged robot in the balance control process in the related technology is poor, and it is difficult to maintain balance under various disturbances. The robustness of the balance control of the wheel-legged robot needs to be further improved. Summary of the invention

[0005] The present application provides a balance control method, device, equipment and storage medium for a wheel-legged robot. The technical solution is as follows:

[0006] According to one aspect of an embodiment of the present application, a balance control method for a wheel-legged robot is provided, wherein the wheel-legged robot comprises: a moving wheel, n connecting rods and n revolving joints, wherein the moving wheel and a first connecting rod of the n connecting rods are connected through a first revolving joint of the n revolving joints, and the n connecting rods are connected in series through n-1 revolving joints other than the first revolving joint, where n is a positive integer greater than or equal to 2; the method comprises:

[0007] Acquire a state quantity of the wheel-legged robot at a first moment, where the state quantity at the first moment is used to characterize a motion state of the wheel-legged robot at the first moment;

[0008] According to the dynamics equation of the wheel-legged robot and the state quantity at the first moment, dynamics model parameters are determined, and the dynamics model parameters are used to define the mapping relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of the n connecting rods and the angular acceleration of the moving wheel; the rotational torque at the second moment includes the rotational torque of the n rotating joints;

[0009] According to the state quantity at the first moment, a sliding surface is established, and the state quantity of the wheel-legged robot gradually approaches 0 on the sliding surface;

[0010] Calculating the rotational torque of the n rotational joints according to the sliding surface and the dynamic model parameters;

[0011] At the second moment, the n rotational joints are controlled according to the rotational torques of the n rotational joints.

[0012] According to one aspect of an embodiment of the present application, a balance control device for a wheel-legged robot is provided, wherein the wheel-legged robot comprises: a moving wheel, n connecting rods and n revolving joints, wherein the moving wheel and a first connecting rod among the n connecting rods are connected through a first revolving joint among the n revolving joints, and the n connecting rods are connected in series through n-1 revolving joints other than the first revolving joint, where n is a positive integer greater than or equal to 2; the device comprises:

[0013] A state acquisition module, used for acquiring a state quantity of the wheel-legged robot at a first moment, wherein the state quantity at the first moment is used for representing a motion state of the wheel-legged robot at the first moment;

[0014] a parameter determination module, for determining a dynamic model parameter according to the dynamic equation of the wheel-legged robot and the state quantity at the first moment, wherein the dynamic model parameter is used to define a mapping relationship between an angular acceleration at the first moment and a rotational torque at a second moment; the angular acceleration at the first moment includes an angular acceleration of the n connecting rods and an angular acceleration of the moving wheel; and the rotational torque at the second moment includes a rotational torque of the n rotating joints;

[0015] A sliding surface establishing module, used for establishing a sliding surface according to the state quantity at the first moment, wherein the state quantity of the wheel-legged robot gradually approaches 0 on the sliding surface;

[0016] A torque calculation module, used for calculating the rotational torque of the n rotational joints according to the sliding surface and the dynamic model parameters;

[0017] The joint rotation module is used to control the n rotation joints according to the rotation torques of the n rotation joints at the second moment.

[0018] According to one aspect of an embodiment of the present application, a computer device is provided, which includes a processor and a memory, wherein a computer program is stored in the memory, and the computer program is loaded and executed by the processor to implement the above-mentioned balance control method of the wheel-legged robot.

[0019] According to one aspect of an embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored. The computer program is loaded and executed by a processor to implement the above-mentioned balance control method of the wheel-legged robot.

[0020] According to one aspect of an embodiment of the present application, a computer program product is provided, wherein the computer program product comprises a computer program, and the computer program is loaded and executed by a processor to implement the above-mentioned balance control method of the wheel-legged robot.

[0021] The technical solution provided in the embodiments of the present application can bring the following beneficial effects:

[0022] To summarize, based on abstracting the wheel-legged robot into a multi-order inverted pendulum model, during the balance control process, the deflection angles of multiple connecting rods in the wheel-legged robot can be adjusted to change the posture of the wheel-legged robot; compared with the related technology that can only adjust the angle between the moving wheel and the leg connecting rod during the balance control process, this scheme makes the postures of multiple connecting rods in the wheel-legged robot variable during the balance adjustment process, greatly enriches the robot posture, helps to quickly adjust the robot to a balanced state, and also helps to improve the robot's ability to recover to a balanced state under different disturbance forces, thereby improving the robustness of the robot's balance control process. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 It is a schematic diagram of an implementation environment of a solution provided by an embodiment of the present application;

[0024] Figure 2 is a schematic diagram of a quadruped wheel-legged robot provided by an embodiment of the present application;

[0025] Figure 3 is a schematic diagram of a quadruped wheel-legged robot provided by an embodiment of the present application;

[0026] Figure 4 is a schematic diagram of a quadruped wheel-legged robot in a two-wheel mode provided by an embodiment of the present application;

[0027] Figure 5 is a schematic diagram of a quadruped wheel-legged robot climbing stairs provided by an embodiment of the present application;

[0028] Figure 6 This is a schematic diagram of a planar action of a robot climbing stairs provided by an embodiment of the present application;

[0029] Figure 7 is a schematic diagram of an action sequence of a robot going up and down stairs provided by an embodiment of the present application;

[0030] Figure 8is a block diagram of a robot control system provided by an embodiment of the present application;

[0031] Fig. 9 is a schematic diagram of a second-order inverted pendulum provided by an embodiment of the present application;

[0032] Fig.10 is a schematic diagram of an n-th order inverted pendulum provided by an embodiment of the present application;

[0033] Fig.11 is a flow chart of a balance control method of a wheel-legged robot provided by an embodiment of the present application;

[0034] Fig.12 is a schematic diagram of an equivalent process provided by an embodiment of the present application;

[0035] Fig.13 is a schematic diagram of a mass-center-related inverted pendulum provided by an exemplary embodiment of the present application;

[0036] Fig.14 is a simulation schematic diagram of a two-wheel balancing control method provided by an exemplary embodiment of the present application;

[0037] Fig.15 is a simulation schematic diagram of a two-wheel balancing control method provided by another exemplary embodiment of the present application;

[0038] Fig.16 is a block diagram of a balance control device for a wheel-legged robot provided by an embodiment of the present application;

[0039] Fig.17 It is a structural block diagram of a computer device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0040] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0041] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0042] Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making.

[0043] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.

[0044] The technical solution of this application mainly involves the robot technology in artificial intelligence technology, mainly involving robot intelligent control. Robots are mechanical and electronic devices that can imitate certain human skills by combining mechanical transmission and modern microelectronics technology. Robots are developed on the basis of electronic, mechanical and information technology. Robots do not necessarily have to look like humans. As long as they can independently complete the tasks and commands assigned to them by humans, they are members of the robot family. A robot is an automated machine that has some intelligent abilities similar to those of humans or organisms, such as perception, planning, movement and coordination. It is an automated machine with high flexibility. With the development of computer technology and artificial intelligence technology, robots have been greatly improved in terms of function and technical level. Mobile robots and robot vision and touch technologies are typical representatives.

[0045] In the technical solution provided in the embodiment of the present application, the executor of each step may be a computer device, which refers to an electronic device with data calculation, processing and storage capabilities.

[0046] Optionally, the computer device may be a PC (Personal Computer) device such as a desktop computer or a laptop computer for controlling the robot; or a server for controlling the robot. The server may be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The computer device and the robot may be connected via a physical line, a network, or the like. For example, refer to Figure 1The computer device 101 can calculate the rotational torque of the first rotational joint (equivalent to the ankle joint) connecting the moving wheel and the leg mechanism (corresponding to the first connecting rod) according to the current state quantity of the robot 103, as well as the rotational torque of the other n-1 rotational joints that can be abstracted into an n-order inverted pendulum model with the first connecting rod and the moving wheel, and adjust the posture of the robot 103 through the rotational torque of the n rotational joints so that the robot 103 is in a balanced state.

[0047] Optionally, the computer device may also be a robot itself, that is, the execution subject of each step in the technical solution provided in the embodiment of the present application is a robot. Figure 1 The computer device 101 can send the state quantity of the robot 103 at the first moment to the robot 103 through the network 102. The robot 103 calculates the rotational torque of the n rotating joints according to the state quantity at the first moment, and adjusts the posture of the robot 103 by controlling the rotating motors of the n rotating joints through the rotational torque of the n rotating joints, so that the robot 103 maintains a balanced state.

[0048] The robot in the embodiments of the present application may refer to a wheel-legged robot, a leg-footed robot, etc. A wheel-legged robot refers to a robot that has both a wheeled structure and leg-like capabilities, and a leg-footed robot refers to a robot with feet as its feet. The embodiments of the present application do not limit this.

[0049] In one example, the robot 103 may include at least one moving wheel, and for each of the at least one moving wheel, the moving wheel is connected to its corresponding leg mechanism via a first rotational joint.

[0050] The wheel-legged robot in the embodiment of the present application includes moving wheels and at least two connecting rods, and the at least two connecting rods can be equivalent to the connecting rods in the n-order inverted pendulum model; that is, the wheel-legged robot includes moving wheels and n connecting rods, the n connecting rods are serially connected through n-1 rotational joints, and the first connecting rod in the n mechanisms is connected to the moving wheel through the first rotational joint.

[0051] The wheel-legged robot includes at least one leg mechanism, and any one of the at least one leg mechanism has a corresponding moving wheel. For example, leg mechanism 1 corresponds to moving wheel 1, and leg mechanism 1 is connected to moving wheel 1 through a first rotation joint 1.

[0052] Optionally, at least one leg mechanism may be divided into an outer leg group and an inner leg group, the outer leg group including at least two leg mechanisms and the inner leg group including at least one leg mechanism.

[0053] Exemplarily, a wheel-legged robot is taken as an example to illustrate the robot in the embodiments of the present application.

[0054] At least one leg mechanism is divided into: an outer leg mechanism and an inner leg mechanism; wherein, the outer leg mechanism includes: at least two leg mechanisms, and the inner leg mechanism may also include at least two leg mechanisms, the outer leg mechanism includes at least two leg mechanisms respectively located on both sides of the central axis (i.e., the sagittal plane) of the wheel-legged robot, and the inner leg mechanism includes at least two leg mechanisms respectively located on both sides of the central axis of the wheel-legged robot, the outer leg mechanism and the inner leg mechanism, that is, the rotation center of the hip joint corresponding to the outer leg and the inner leg mechanism and the rotation center of the hip joint corresponding to the inner leg mechanism are located in the same vertical plane.

[0055] Exemplarily, the wheel-legged robot is a four-legged wheel-legged robot, that is, the wheel-legged robot includes two outer leg mechanisms and two inner leg mechanisms; the wheel-legged robot is also a three-legged wheel-legged robot, that is, the wheel-legged robot includes two outer leg mechanisms and one inner leg mechanism. Among them, the hip joint corresponding to at least one inner leg mechanism in the inner leg mechanism group is located between the hip joints corresponding to the two outer leg mechanisms in the outer leg mechanism group, and the rotation center of the hip joint corresponding to the outer leg mechanism and the rotation center of the hip joint corresponding to the inner leg mechanism are located in the same vertical plane. The wheel-legged robot can stand on the support surface through the outer leg mechanism or the inner leg mechanism, and the wheel-legged robot can also slide on the support surface through the foot wheels on the outer leg mechanism or the foot wheels on the inner leg mechanism, and can also move (i.e. walk) on the support surface by controlling the outer leg mechanism group and the inner leg mechanism group to swing alternately.

[0056] For example, Figure 2 , which exemplarily shows a schematic structural diagram of a quadruped wheel-legged robot. The quadruped wheel-legged robot 200 may include: a trunk structure, a leg mechanism and moving wheels.

[0057] The quadruped wheeled legged robot 200 has four leg mechanisms: two outer leg mechanisms 201 (i.e., the first leg mechanism group) and two inner leg mechanisms 202 (i.e., the second leg mechanism group), the two inner leg mechanisms 202 are located between the two outer leg mechanisms 201, and the four leg mechanisms can be extended and retracted individually along the direction shown in the figure. A wheel 203 is installed at the end of each of the four leg mechanisms, and each wheel 203 can be driven individually. The quadruped wheeled legged robot 200 can stand up through the two inner leg mechanisms 202 or the two outer leg mechanisms 201 to be in a double-wheeled support state; the quadruped wheeled legged robot 200 can stand up through the two inner leg mechanisms 202 and the two outer leg mechanisms 201 at the same time to be in a quadruped wheeled support state, which is not limited in the embodiments of the present application.

[0058] Optionally, the two inner leg mechanisms 202 may be implemented as a whole, that is, the quadruped wheel-legged robot 200 may be implemented as a tripod wheel-legged robot having only one inner leg mechanism.

[0059] The other ends of the four leg mechanisms are each connected to a hip joint 204, and each leg mechanism can rotate around its own hip joint 204 and maintain linkage. In the embodiment of the present application, the rotation centers of the hip joints 204 corresponding to the quadruped wheeled leg robot 200 are located in the same vertical plane 205, and the rotation planes of the leg mechanisms corresponding to the quadruped wheeled leg robot 200 are parallel. The hip joints 204 corresponding to the two inner leg mechanisms 202 are located between the hip joints 204 corresponding to the two outer leg mechanisms 201.

[0060] Optionally, the hip joints 204 corresponding to the quadruped wheel-legged robot 200 may be coaxial, that is, the rotation centers of the hip joints 204 are located in the same straight line. The hip joints 204 corresponding to the quadruped wheel-legged robot 200 may also be non-coaxial, such as the hip joints 204 corresponding to the two inner leg mechanisms 202 are coaxial, and the hip joints 204 corresponding to the two outer leg mechanisms 201 are coaxial, but the hip joints 204 corresponding to the two inner leg mechanisms 202 are not coaxial with the hip joints 204 corresponding to the two outer leg mechanisms 201. The hip joint 204 can be used as a revolute joint connected to the first connecting rod among the n revolute joints in the embodiment of the present application, one end of the first connecting rod is connected to the first revolute joint, and the other end is connected to the hip joint 204.

[0061] Optionally, the hip joints 204 corresponding to the two outer leg mechanisms 201 share a driving motor so that the two outer leg mechanisms 201 move synchronously; the hip joints 204 corresponding to the two inner leg mechanisms 202 share a driving motor so that the two inner leg mechanisms 202 move synchronously. In a feasible example, each hip joint 204 corresponding to the quadruped wheel-legged robot 200 can also be independently driven by its own corresponding driving motor, which is not limited in the embodiment of the present application.

[0062] The body of the quadruped wheeled-legged robot 200 may include a waist 206 , a trunk 207 , upper limbs 208 and a head 209 .

[0063] The hip joints 204 corresponding to the quadruped wheeled leg robot 200 are connected to the same end of the waist 206, and the other end of the waist 206 is connected to one end of the trunk (trunk mechanism) 207. The waist 206 has two rotation centers: a pitch rotation center that can make the trunk 207 pitch, and a sway rotation center that can make the trunk 207 sway sideways. The sway rotation center is designed in series with the pitch rotation center, and is located at the upper end of the pitch rotation center and connected to the trunk 207.

[0064] For example, if Figure 2 The body 207 in the robot rotates 90 degrees along the side swing rotation center. Figure 2 Convert to Figure 3 The robot shown.

[0065] The other end of the torso 207 is connected to the upper limb (robot arm connecting rod) 208 and the head 209, and the upper limb 208 can be a multi-degree-of-freedom upper limb. In some embodiments, an end effector, such as a robot gripper, a suction cup, etc., is deployed on the upper limb 208. A data acquisition device can be deployed in the head 209 to perceive the real environment, such as an image acquisition device, a video shooting device, an IMU (Inertial Measurement Unit), etc. Among them, the IMU can be placed at the geometric center of the torso 207, the center point of the hip joint (i.e., the rotation center of the hip joint), etc., which can be used to measure the actual acceleration, actual attitude angular velocity, actual Euler angle, etc. of the torso 207.

[0066] In the technical solution provided in the embodiment of the present application, the moving wheels, leg mechanisms, hip joints, waist and trunk mechanisms (including IMU) of the quadruped wheeled-legged robot 200 are necessary hardware for the control algorithm, and the rest are non-essential hardware.

[0067] Compared with the two-legged wheel-legged robot, the four-legged wheel-legged robot has a more stable structure and a stronger ability to resist external impact disturbances. Compared with the six-legged wheel-legged robot, it has fewer redundant joints and a lower design complexity. It can not only bear large loads, but also pass through narrow spaces and perform tasks on objects of different heights. The four-legged wheel-legged robot has a strong ability to adapt to the environment.

[0068] The balance control method of the wheel-legged robot provided in the embodiment of the present application can be applied to a variety of scenarios, such as the balance of the wheel-legged robot during movement. The balance control method of the wheel-legged robot provided in the embodiment of the present application can flexibly control the rotation of multiple joints of the wheel-legged robot during the balance control process, enrich the posture of the robot during the balance control process, and help control the robot to quickly be in a balanced state.

[0069] When moving on flat ground, the robot can maintain Figure 2 The four-wheel motion pattern shown can also be formed through the rotation center of the hip joint as shown in Figure 4The two-wheel dynamic smooth motion mode shown. In the four-wheel motion mode, the robot is always in a stable state (does not fall), which makes it easier for the upper limbs to follow the operation instructions to perform some operation tasks. However, when moving on flat ground, switching from the four-wheel motion mode to the two-wheel motion mode can reduce the robot's footprint and match it with a bipedal robot. When moving on non-flat ground, such as when the robot goes up stairs or crosses a threshold, the robot can be moved by Figure 5 The dual-wheel alternating pattern shown enables dynamic obstacle traversal.

[0070] In some embodiments, reference Figure 5 When the wheel-legged robot 501 needs to climb stairs, it can first construct an objective function corresponding to the stair climbing task according to the stair climbing task to be performed, and then control the outer leg mechanism group 502 (i.e., the first leg mechanism group) and the inner leg mechanism group 503 (i.e., the second leg mechanism group) of the robot 501 to swing alternately according to the joint torque information of the robot 501 when the value of the objective function is minimized, so as to perform the stair climbing task. For example, the outer leg mechanism group 502 is first used as the supporting leg mechanism group, and the inner leg mechanism group 503 is used as the swinging leg mechanism group, so that the robot 501 climbs the first step, and then the inner leg mechanism group 503 is used as the supporting leg mechanism group, and the outer leg mechanism group 502 is used as the swinging leg mechanism group, so that the robot 501 climbs the second step, and the outer leg mechanism group 502 and the inner leg mechanism group 503 swing alternately in sequence to complete the stair climbing task.

[0071] Figure 6 This is a schematic diagram of the planar movements of a robot climbing stairs provided by an exemplary embodiment of the present application. Figure 6 The left leg mechanism and the right leg mechanism of the robot completely overlap, so Figure 6 The leg mechanisms connected to the two wheels of the robot respectively represent the first leg mechanism and the second leg mechanism of the robot. Considering the specific form of the stair climbing process, Figure 6 The robot shown in the figure will not touch the same support surface at the same time when the wheels are on the ground, so as to conform to the actual motion state of the stairs. The motion phase of the robot during the entire motion process can also be divided into a single support phase (Single Support Phase, SSP) and a double support phase (Double Support Phase, DSP).

[0072] Figure 6The first state shown is the single-leg support stage, in which the first leg mechanism 601 of the robot is in contact with the support surface, and the second leg mechanism 602 is not in contact with the support surface. The first leg mechanism 601 uses the wheels and the joints of the fuselage to coordinate control to maintain the balance of the robot. In the first stage, the robot swings the second leg mechanism 602, gradually lifting it up from the vertical downward gravity direction at the beginning until it rests on the upper step, and enters the second state, which is the double-leg support stage. During the first stage, the first leg mechanism 601 is a supporting wheel leg, and the second leg mechanism 602 is a swinging wheel leg. In the second stage, the robot always keeps two contact points between the wheel and the support surface in the plane. During this process, the robot changes the angles of each joint of the fuselage, and on the premise of keeping the contact points of the two wheels with the support surface unchanged, gradually moves the projection of the center of mass of the fuselage on the support surface from the vicinity of the center of the rear wheel on the next step to the vicinity of the center of the front wheel on the previous step, and enters the third state, which is the double-leg support stage. In the third stage, the robot lifts the first leg mechanism 601 from the lower step and uses the second leg mechanism 602 to maintain the balance of the robot until the first leg mechanism 601 and the second leg mechanism 602 overlap in the vertical direction, entering the fourth state, which is the single-leg support stage. During the third stage, the second leg mechanism 602 is a supporting wheel leg, and the first leg mechanism 601 is a swinging wheel leg.

[0073] When the robot moves up one step, the supporting leg mechanism and the swinging leg mechanism will be interchanged. In the periodic movement of climbing stairs, the supporting leg mechanism and the swinging leg mechanism will be periodically interchanged. Similarly, the stage division of the robot's task of going down stairs is the same as the stage division of the task of climbing stairs, except that the movement direction of each leg mechanism is opposite to that of each leg mechanism in the task of climbing stairs. Therefore, the task of the robot going down stairs will not be described here. The specific process can be referred to Figure 7 The schematic diagram of the robot's action sequence of going up and down stairs is shown, which will not be described in detail.

[0074] Please refer to Figure 8 , which shows a block diagram of a robot control system provided by an embodiment of the present application. The robot body can refer to Figure 2 The four moving wheels of the robot are driven individually by four rotary motors, and the lengths of the four moving leg mechanisms are driven individually by four linear motors. Normally, the driving modes of the linear motors of the two outer moving legs are the same, and the driving modes of the linear motors of the two inner moving legs are the same.

[0075] Optionally, the lengths of the two outer moving legs are equal, and the lengths of the two inner moving legs are equal. The lengths of the two outer moving legs change at the same speed, and the lengths of the two inner moving legs change at the same speed.

[0076] The two outer moving legs are driven by the same rotary motor, which is used to adjust the angle between the outer moving legs and the straight line L1 perpendicular to the contact surface direction, that is, the angles between the two outer moving legs and the straight line L1 are equal. The two inner moving legs are driven by the same rotary motor, which is used to adjust the angle between the inner moving legs and L1, that is, the angles between the two inner moving legs and the straight line L1 are equal.

[0077] In addition, each joint of the trunk mechanism of the wheel-legged robot is respectively provided with a rotary motor, and the rotation of each joint can be actively driven by the rotary motor.

[0078] For all the rotating motors mentioned above, the rotating motors can receive rotation angle instructions, rotation speed instructions, rotation torque instructions, etc.; among them, the rotation angle instruction is used to indicate the rotation angle of the rotating motor, the rotation speed instruction is used to indicate the rotation speed and rotation direction of the rotating motor, and the rotation torque is used to indicate the torque that needs to be achieved during the rotation process of the rotating motor.

[0079] After the rotating motor receives any one of the above-mentioned rotation angle instructions, rotation speed instructions, and rotation torque instructions, the bottom driving board of the rotating motor will drive the motor to rotate according to the received instruction signal, thereby driving each joint to move.

[0080] For all the linear motors mentioned above, the linear motors can receive linear movement position instructions, linear movement speed instructions, driving force instructions, etc. The underlying driving board of the linear motor will drive the motor to move linearly according to the received command signal, thereby driving the leg mechanism to telescopically move.

[0081] The rotation and movement of the rotary motor and linear motor change the robot's posture and position in three-dimensional space, achieving balance control of the wheel-legged robot. Rapidly changing joint angle commands can also cause the robot's posture to change in high dynamics to change the robot's contact with the environment.

[0082] Since the posture and state (such as motion state) of the wheel-legged robot are different at different times, it is necessary to collect the posture information and motion state information of the wheel-legged robot through sensors set on the wheel-legged robot in order to generate command signals and realize the balance control and motion state of the wheel-legged robot.

[0083] Optionally, the state of the wheel-legged robot can be acquired by different sensors installed on the wheel-legged robot body. The sensor type includes at least one of the following:

[0084] The IMU sensor is used to determine the current posture of the wheel-legged robot, including the position information and posture information of the wheel-legged robot.

[0085] The motor encoder is used to determine the rotation speed of each joint of the wheel-legged robot in the current state, the position information related to the movement, and the speed information of the rotation and movement.

[0086] The force / torque sensor is used to determine the magnitude of the force at the joint where the force / torque sensor is located at the current moment, as well as the magnitude and direction of the torque.

[0087] The tactile sensor is used to determine the contact position between the moving wheels of the wheel-legged robot and the contact surface, the pressure on the body surface, the inside of the hand, the fingertips and other body parts, and the changing characteristics of the pressure over a period of time.

[0088] Visual sensors (such as cameras, infrared sensors) are used to identify obstacles that appear within the field of view of the wheel-legged robot, and are also used to determine the position information of the center of mass of the wheel-legged robot and the speed information corresponding to the center of mass of the wheel-legged robot.

[0089] Optionally, the control system of the wheel-legged robot includes the following control modules:

[0090] 1. The State Estimation module is used to fuse the posture information and state information obtained by the wheel-legged robot. For example, the current posture of the wheel-legged robot obtained by the IMU sensor, the mileage information obtained by the rotation of the mobile wheel, and the visual positioning information can be integrated to obtain the position of the wheel-legged robot in the world coordinate system; the information obtained by the force / torque sensor and the tactile sensor can be integrated to obtain the contact between the robot and the external environment; the current posture of the wheel-legged robot obtained by the IMU sensor and the angle information of each motor joint encoder can be integrated, and combined with the model parameters of the wheel-legged robot itself, the center of mass position of the wheel-legged robot can be estimated. These integrated wheel-legged robot state information will be used as feedback for the motion generation, planning and control of the wheel-legged robot.

[0091] 2. Motion Generation module, used to adopt the motion generation strategy corresponding to the working mode according to the working mode of the wheel-legged robot when completing the action. The working modes of the robot include but are not limited to: four-wheel motion mode, two-wheel motion mode, four-wheel to two-wheel conversion mode, stair climbing mode, four-wheel active suspension mode (the four-wheel active suspension mode means that the contact surface is uneven during the four-wheel mode, and the robot relies on the four wheels to adjust the upper body posture, thereby maintaining a relatively stable upper body posture), folding mode, etc. Considering the complexity of the upper body, it can be used to complete a variety of tasks. The robot can contain more motion modes, which are not listed here one by one.

[0092] In different modes, the way of action generation is different. In these modes, some common basic technologies and algorithm modules will be called, including but not limited to: model-free controller, model-based controller, etc., model-based controller, such as: LQR (Linear Quadratic Regulator), MPC (Model Predictive Control), adaptive controller, robust controller, etc. Optionally, the robust controller in the embodiment of the present application is implemented based on sliding mode control, and the robust controller can also be called a sliding mode controller.

[0093] For example, when the wheel-legged robot is in the dual-wheel mode and needs to control the balance of the mobile wheels, the PID control (Proportional Integral Derivative Control) of the model-free controller can be used to generate the reference trajectory of the foot wheel and the robot's center of mass. Exemplarily, the specific method is to call one or more of the model-free controller, the model-based controller (LQR, MPC, etc.), the adaptive controller, and the robust controller.

[0094] For example, in the two-wheel control stage when the wheel-legged robot is in the four-wheel turning two-wheel mode, a model-free controller, a model-based controller (LQR, MPC, etc.), an adaptive controller, and a robust controller can also be used to control the balance of the moving wheels.

[0095] For another example, when the wheel-legged robot is in the four-wheel mode, if the leg mechanism of the wheel-legged robot extending forward and the leg mechanism extending backward are made equivalent, an equivalent leg mechanism is obtained, and the dynamic system composed of the equivalent moving legs and trunk mechanism is described using an n-order inverted pendulum, the control trajectory obtained in this way can maintain the balance of the robot in the four-wheel state. In this way, the wheel-legged robot can maintain the relative stability of the wheel-legged robot body when the contact surface is uneven, potholes or obstacles appear. Exemplarily, when the wheel-legged robot is in the four-wheel active suspension mode, the above module can also be used to control the relative stability of the wheel-legged robot body.

[0096] The input of the action generation module is a series of task information of the wheel-legged robot. The types of task information include but are not limited to: center of mass tasks, supporting leg tasks, swinging leg tasks, waist tasks, etc. Similarly, considering the complexity of the upper body of the wheel-legged robot, the upper body can independently complete a variety of actions and tasks. There are more types of task information, which are not listed here one by one.

[0097] Exemplarily, these tasks can also be used as inputs to the Whole Body Controller (WBC) (also called the Whole Body Dynamics Controller), in which the wheel-legged robot will be modeled and calibrated in detail, and the dynamic model of the wheel-legged robot and the external force conditions will be used as optimization constraints. After the optimization process, the target joint angle command, target joint angular velocity command, target joint torque command, etc. of the target shutdown in at least one rotating joint of the wheel-legged robot will be calculated. Finally, the whole body motion control module will send the above-determined target joint angle command, target joint angular velocity command, target joint torque command, etc. to the drivers of each joint of the robot, thereby completing the control closed loop of the wheel-legged robot.

[0098] The balance control method of the wheel-legged robot provided in this application is mainly composed of Figure 8 The robust controller in the control system is used to complete the balance control method. Optionally, the balance control method is completed by the robust controller and the whole body motion control module. For details of the process, please refer to the following embodiments.

[0099] Before introducing the specific steps of the balance control method provided by the present application, the method for establishing the dynamic model corresponding to the balance control method provided by the present application is first introduced. In order to facilitate the understanding of the principle of the n-order inverted pendulum model involved in the present application, the second-order inverted pendulum model, which is easier to understand, is first introduced.

[0100] Please refer to Fig. 9 , which shows a schematic diagram of a second-order inverted pendulum provided by an embodiment of the present application.

[0101] To realize the balance control method of the wheel-legged robot, it is necessary to model the dynamics of the wheel-legged robot and obtain the dynamic model of the wheel-legged robot during the balance control process. In order to make the description clear and concise, and to facilitate understanding, the discussion starts from the situation that at least one leg mechanism of the wheel-legged robot has the same length, at least one leg mechanism has the same angle with the ground, and the rotation speed and position of each moving wheel are the same, as follows:

[0102] The forward direction of the wheel-legged robot is the positive direction of the x-axis, the rightward direction is the positive direction of the y-axis, and the upward direction perpendicular to the contact surface is the positive direction of the z-axis. A world coordinate system is established, and when the wheel-legged robot is observed from the y-axis direction, at least one leg mechanism of the wheel-legged robot is observed to overlap. The at least one leg mechanism can be an outer leg mechanism of the wheel-legged robot, or all leg mechanisms of the wheel-legged robot.

[0103] For example, the lengths of the four leg mechanisms of the wheel-legged robot change synchronously, and the angles between the four leg mechanisms and the wheel-legged robot base are synchronized. Observing from the direction corresponding to the y-axis, the four leg mechanisms overlap, and the four moving wheels also overlap. In this case, the abstract two-dimensional model of the wheel-legged robot on the yoz plane of the world coordinate system is as follows Fig. 9 This two-dimensional model belongs to a second-order inverted pendulum model, which includes: a moving wheel, a connecting rod B (corresponding to at least one moving leg of the wheel-legged robot) and a connecting rod P (corresponding to the trunk mechanism of the wheel-legged robot).

[0104] like Fig. 9 As shown in the two-dimensional model, the direction in which the moving wheel rotates to the left of the contact surface is taken as the positive direction, the travel distance is x, and the angle of rotation of the moving wheel relative to the world coordinate system is defined as The counterclockwise direction is taken as the positive direction of the rotation angle of the moving wheel. The angle of the connecting rod 910 (connecting rod B) formed by the overlap of the four leg mechanisms relative to the world coordinate system is defined as α, and the counterclockwise direction is positive. The angle of the connecting rod 930 (connecting rod P) corresponding to the torso mechanism relative to the world coordinate system is defined as β, and the counterclockwise direction is taken as the positive direction of the rotation angle of the moving wheel.

[0105] definition They are The derivatives of α, β with respect to time; where, represents the rotation speed of the moving wheel (also called the angle of the moving wheel), represents the angular velocity of the leg mechanism, Represents the angular velocity of the torso mechanism; definition They are The second-order derivatives of α and β with respect to time; is the angular acceleration of the moving wheel, is the angular acceleration of the leg mechanism, Represents the angular acceleration of the torso mechanism.

[0106] The moving wheel rotates relative to the world coordinate system by the angle of the first revolute joint (equivalent to Fig. 9 The joint motor drive on 920) in the figure, the rotational torque of the first rotational joint is τ 1 It indicates that the clockwise direction is the positive direction of the rotational torque of the first revolute joint.

[0107] The torso mechanism rotates relative to the world coordinate system by the second revolute joint (equivalent to Fig. 9 The joint motor drive of 940) in the second rotational joint is τ 2 It means that the counterclockwise direction is the positive direction of the rotational torque of the second revolute joint.

[0108] The masses of the moving wheel, the connecting rod B (equivalent to at least one overlapping leg mechanism), and the connecting rod P (equivalent to the trunk mechanism) are expressed as m W , m B , m P The rotational inertia of the moving wheel, connecting rod B, and connecting rod P are expressed as: J W , J B , J P The radius of the moving wheel is represented by r, and the length of the connecting rod B is represented by L B The length of the line from the intersection of connecting rod B and the moving wheel to the geometric center of connecting rod B is represented by l B The length of the line from the intersection of connecting rod B and the wheel to the geometric center of connecting rod P is represented by l P express.

[0109] (1) Based on the definitions of the above physical quantities, the total kinetic energy T of the moving wheel is derived respectively. W , the total kinetic energy of connecting rod B is T B and the total kinetic energy T of the connecting rod P P The total kinetic energy T of the wheel-legged robot is obtained by using the expression of W , the total kinetic energy of connecting rod B is T B and the total kinetic energy T of the connecting rod P P The calculation of kinetic energy includes both translational kinetic energy and rotational kinetic energy.

[0110]

[0111]

[0112]

[0113]

[0114] T=T W +T B +T P

[0115] (2) Calculate the total kinetic energy T of the system for each degree of freedom in generalized coordinates The derivatives of each degree of freedom are partially derived, and the results of the partial derivatives of each degree of freedom are differentiated with respect to time. The specific process is as follows:

[0116] The total kinetic energy T of the system is proportional to the angular velocity of the moving wheel The partial derivative of It is expressed as:

[0117]

[0118] Partial derivatives Derivative with respect to time It is expressed as:

[0119]

[0120] The total kinetic energy T of the system is proportional to the angular velocity of the leg mechanism The partial derivative of It is expressed as:

[0121]

[0122] Partial derivatives Derivative with respect to time It is expressed as:

[0123]

[0124] The total kinetic energy T of the system is proportional to the angular velocity of the trunk mechanism The partial derivative of It is expressed as:

[0125]

[0126] Partial derivatives The derivative with respect to time is expressed as:

[0127]

[0128]

[0129] The total kinetic energy T of the system is proportional to the deflection angle of the moving wheel The partial derivative of It is expressed as:

[0130]

[0131] The partial derivative of the total kinetic energy T of the system with respect to the deflection angle α of the leg mechanism It is expressed as:

[0132]

[0133] The partial derivative of the total kinetic energy T of the system with respect to the deflection angle β of the trunk mechanism It is expressed as:

[0134]

[0135] (3) Calculate the total potential energy U of the system:

[0136] U=m B gl B cosα+m P g(L B cosα+l P cosβ)

[0137] It should be noted that in the above formula, the plane where the moving wheel is located is regarded as the zero potential energy surface, that is, the potential energy of the moving wheel is considered to be 0, so the potential energy of the moving wheel does not appear in the formula of the total potential energy U of the above system. Of course, other potential energy surfaces can also be selected, which will not affect the implementation of the balancing control method. This application does not limit the potential energy surface used in the process of calculating the total potential energy of the system.

[0138] (4) Calculate the total potential energy U of the system and find the partial derivative of each degree of freedom in the generalized coordinates:

[0139] The total potential energy U of the system is proportional to the deflection angle of the moving wheel The partial derivative of It is expressed as:

[0140]

[0141] The partial derivative of the total potential energy U of the system with respect to the deflection angle α of the leg mechanism It is expressed as:

[0142]

[0143] The partial derivative of the total potential energy U of the system with respect to the deflection angle β of the trunk mechanism It is expressed as:

[0144]

[0145] (5) Using the above formulas, based on the Euler-Lagrange equation, the dynamic equation of the wheeled-legged robot under the second-order inverted pendulum model can be derived:

[0146]

[0147]

[0148]

[0149] m αα =(m B l B 2 +J B +m P L B 2 +J P )

[0150] m αβ =m P L B l P cosαcosβ+m P L B lP sinαsinβ+J P

[0151] m ββ =(m P l P 2 +J P )

[0152]

[0153]

[0154]

[0155]

[0156] g α =-(m B gl B +m P g B )sinα

[0157] g β =-m P gl P sinβ

[0158] The dynamic equations can be written in polynomial form:

[0159]

[0160]

[0161]

[0162] The polynomial form of the dynamic equation is written as a matrix form:

[0163]

[0164] Among them, M(α,β) is a 3*3 inertia matrix; specifically includes

[0165] Each element in M(α,β) It is the elements in the inertia matrix, which are used to characterize the mass and moment of inertia of the joint rigid bodies that make up the wheel-legged robot when the deflection angle of the leg mechanism is α and the deflection angle of the trunk mechanism is β, as well as the equivalent inertial physical quantities of each mechanism under mutual influence. It is a 3*1 deflection force matrix, which can also be called a deflection force vector, including: It is used to characterize the Coriolis force and centripetal force on each mechanism of the wheel-legged robot; G(α,β) represents the 3*1 gravity matrix, which can also be called the gravity vector, including [0 g α g β ] T τ 1 represents the rotational torque of the first revolute joint, τ 2 represents the rotational torque of the second revolute joint.

[0166] After the matrix-form dynamic equation is derived through the above process, the subsequent balance control process can directly use the matrix-form dynamic equation without repeating the above derivation process in the balance control process.

[0167] Next, the nth-order inverted pendulum model is introduced and explained.

[0168] For ease of understanding, first consider the situation where at least one leg mechanism of the wheel-legged robot overlaps in the y-axis direction, the leg length of at least one leg mechanism changes synchronously, the angle between at least one leg mechanism and the trunk mechanism is the same, and the moving speed of at least one moving wheel is equal.

[0169] The world coordinate system used in this example is Fig. 9 The definition of the world coordinate system is the same. Of course, the world coordinate system can also be defined in other ways, which is not limited in this application.

[0170] like Fig.10 The n-th order inverted pendulum shown is composed of n connecting rods (corresponding to the n connecting rods in the claims) and a moving wheel; wherein the moving wheel is connected to the first connecting rod of the n connecting rods, the n connecting rods are connected in series, and n is a positive integer greater than or equal to 2. Exemplarily, the moving wheel in the n-th order inverted pendulum corresponds to the moving wheel of the wheel-legged robot. In the case where the wheel-legged robot has multiple moving wheels, the above assumptions assume that the motion states of the multiple moving wheels are synchronized, so the multiple moving wheels can be equivalent to the same moving wheel in the n-th order inverted pendulum model, and the rotation angle of the moving wheel is expressed as

[0171] The n links of the n-order inverted pendulum model correspond to the n links of the wheel-legged robot. Two adjacent links in the n mechanisms are connected by a revolute joint. The deflection angles of the n links are: q 1 ,q 2 ,…,q n ; Among them, q 1 is the deflection angle of the first link, q 2 is the deflection angle of the second connecting rod, and so on, q n is the deflection angle of the nth connecting rod. Taking the first connecting rod as an example, the deflection angle of the connecting rod is explained as follows: Fig.10As shown, in this derivation process, the deflection angle of the first connecting rod refers to the deflection angle of the first connecting rod relative to the z-axis in the world coordinate system. Of course, the deflection angle of the first connecting rod can also be defined in other ways. In this case, the derivation process of the n-th order inverted pendulum model is similar to that of this embodiment.

[0172] Exemplarily, when the wheel-legged robot is in a standing posture, the distance l between the first connecting rod and the contact surface is 1 <The distance between the second connecting rod and the contact surface l 2 <…<The distance l between the nth connecting rod and the contact surface n , the first link among the n links (the first link can be the leg mechanism of the wheel-legged robot) is connected to the moving wheel through the first rotational joint. Optionally, the link refers to a simplified model of each mechanism included in the wheel-legged robot. The wheel-legged robot can have multiple components, each of which can be called a "mechanism", and each mechanism can be simplified as a link. In some cases, the wheel-legged robot is in a posture where multiple moving wheels are in contact with the contact surface, and the multiple moving wheels correspond to their own leg mechanisms; for any of the multiple moving wheels, the rotational joint connecting the moving wheel and its corresponding leg mechanism is called the first rotational joint.

[0173] After understanding the n-order inverted pendulum model, the dynamic equation of the n-order inverted pendulum model is constructed in a similar way to constructing the dynamic equation corresponding to the second-order inverted pendulum model.

[0174] Specifically, determine the total kinetic energy (total kinetic energy includes translational kinetic energy and rotational kinetic energy) and potential energy corresponding to the n connecting rods and moving wheels respectively, add the kinetic energy of the n connecting rods and moving wheels to obtain the total kinetic energy of the wheel-legged robot system, and add the potential energy of the n connecting rods and moving wheels to obtain the total potential energy of the wheel-legged robot system.

[0175] For any one of the multiple degrees of freedom in the generalized coordinate system (including the deflection angle of each connecting rod, the angular velocity of each connecting rod, the rotation angle of the moving wheel and the angular velocity of the moving wheel), determine the partial derivative of the total kinetic energy of the system with respect to the degree of freedom, and determine the derivative of the partial derivative of the degree of freedom with respect to time.

[0176] For any of the multiple degrees of freedom in the generalized coordinate system, determine the partial derivative of the system's total kinetic energy with respect to that degree of freedom. Based on the partial derivatives of the system's kinetic energy with respect to each degree of freedom, the derivatives of the partial derivatives of each degree of freedom with respect to time, and the derivatives of the partial derivatives of each degree of freedom with respect to time, the system dynamics equation of the n-order inverted pendulum is determined by the Euler-Lagrange equation:

[0177]

[0178] in, It refers to the inertia matrix, including the mass and moment of inertia of the n revolving joints (regarding the revolving joints as joint rigid bodies) of the wheel-legged robot involved in the n-order inverted pendulum model. q is a vector, and the transposed vector q of q T =[q 1 q 2 …q n ], is the angular velocity of the moving wheel, is the angular acceleration of the moving wheel, represents the angular velocity of the n connecting rods, is a vector, The transposed vector of represents the angular acceleration of the n connecting rods, is a vector, The transposed matrix of It refers to the deflection force matrix, which is used to characterize the angle of the moving wheel of the wheel-legged robot. The deflection angles of the n connecting rods are q 1 ,q 2 ,…,q n When the vehicle is in the correct posture, each connecting rod is subjected to a deflection force, which includes centripetal force and Coriolis force. is the gravity matrix, which is used to characterize the angle of the moving wheel of the wheel-legged robot. The deflection angle of n connecting rods is q 1 ,q 2 ,…,q n When the n connecting rods are in the posture, they are respectively subjected to gravity.

[0179] Since the plane where the moving wheel is located is determined as the zero potential energy surface, the first item in the G matrix is ​​0, indicating that the gravity corresponding to the moving wheel on the zero potential energy surface is zero. Of course, other zero potential energy surfaces can also be selected, and this application does not limit this. n represents the n×n identity matrix, τ T =[τ 1 τ 2 …τ n ], which represents the rotational torque corresponding to n revolute joints.

[0180] The following is an introduction to the balance control method after the wheel-legged robot is abstracted into an n-order inverted pendulum. This method can be implemented by the robust controller in the wheel-legged robot control system based on the observation results of the sensor, or it can be implemented by the robust controller and other control modules such as the whole body dynamics controller in the control system. For details, please refer to the following embodiments.

[0181] Please refer to Fig.11 , which shows a flow chart of a balance control method for a wheel-legged robot provided by an embodiment of the present application. The execution subject of each step of the method may be a computer device. The wheel-legged robot comprises: a moving wheel, n connecting rods and n rotating joints, the moving wheel and the first connecting rod of the n connecting rods are connected through the first rotating joint of the n rotating joints, the n connecting rods are connected in series through n-1 rotating joints other than the first rotating joint, and n is a positive integer greater than or equal to 2; the method may include at least one of the following steps (1110-1150):

[0182] Step 1110, obtaining the state quantity of the wheel-legged robot at the first moment, where the state quantity at the first moment is used to characterize the motion state of the wheel-legged robot at the first moment.

[0183] In some embodiments, the moving wheel is used to contact the contact surface, the revolute joint refers to a joint driven by a joint motor, and the n connecting rods refer to connecting rods connected to at least one of the n revolute joints. Optionally, the n revolute joints connect the n connecting rods in series into a linear shape, and the first connecting rod of the n connecting rods is connected to the moving wheel through the first revolute joint, that is, the moving wheel, n connecting rods and n revolute joints of the wheel-legged robot can be abstracted into the n-order inverted pendulum introduced above, and the balance control method provided in the embodiment of the present application is based on the n-order inverted pendulum design.

[0184] Optionally, the wheel-legged robot includes multiple components, each of which (excluding active joints) can be called a mechanism, and the mechanism can be simplified as a connecting rod.

[0185] Optionally, any link in the n mechanisms is equivalent to a link in an n-order inverted pendulum, that is, in an ideal state, the link will not bend or deform. Exemplarily, any link in the n links is an independent link (for example, the leg mechanism in the wheel-legged robot is a link and the trunk mechanism is a link).

[0186] Exemplarily, the n links include at least one combined link composed of m independent links connected by joints, where m is a positive integer greater than 1. In this case, the joints used to connect the m independent links do not rotate or move linearly during the balance control process, for example, these joints are locked during the balance control, so that the link combination composed of the m independent links can be regarded as one link included in the n links.

[0187] In some embodiments, the first connecting rod refers to a connecting rod connected to the moving wheel of the wheel-legged robot through a first revolute joint. Optionally, in a direction perpendicular to the contact surface (i.e., the z-axis direction in the world coordinate system), the distance between the first connecting rod and the moving wheel is the smallest among the n connecting rods.

[0188] Optionally, if the leg mechanism of the wheel-legged robot is a straight leg, the first connecting rod refers to the leg mechanism of the wheel-legged robot; if the leg mechanism of the wheel-legged robot is an articulated leg, that is, the leg mechanism includes two sub-mechanisms connected by a knee joint, and the knee joint is used to control the joint angle between the two sub-structures, then the first connecting rod refers to the sub-mechanism in the leg mechanism that is directly connected to the first rotational joint.

[0189] In the present application, n is a positive integer greater than 1, for example, n is equal to 2, 3, 4, 5... The maximum value of n is related to the structure of the wheel-legged robot, and the present application does not limit it here.

[0190] Exemplarily, when n is equal to 2, the n links include: the leg mechanism and trunk mechanism of the wheel-legged robot. Exemplarily, when n is equal to 3, the n links include: the leg mechanism (the leg mechanism is a straight leg), the trunk mechanism and the head mechanism of the wheel-legged robot. Exemplarily, when n is equal to 3, the n links include: the leg mechanism (the leg mechanism is a straight leg), the trunk mechanism and the manipulator mechanism of the wheel-legged robot. Exemplarily, when n is equal to 4, the n links include: the leg mechanism (the leg mechanism is a straight leg), the trunk mechanism, the first manipulator arm link connected to the trunk mechanism and the second manipulator arm link connected to the first manipulator arm, or the manipulator. Exemplarily, when n is equal to 4, the n links include: the first sub-mechanism of the leg mechanism (the leg mechanism is a straight leg), the second sub-mechanism connected to the first sub-mechanism through the knee joint, the trunk mechanism, and the first manipulator arm link connected to the trunk mechanism.

[0191] Optionally, the n revolute joints are used to connect the n connecting rods in series. Exemplarily, any of the n revolute joints refers to a type of revolute joints with the same function. For example, in the case where the wheel-legged robot includes a plurality of moving wheels, there are a plurality of revolute joints respectively used to connect each moving wheel with its corresponding first connecting rod, and the plurality of revolute joints all belong to the first revolute joints.

[0192] It should be noted that the value of n is related to the actual requirements such as the configuration of the wheel-legged robot, the computing power of the computer, and power consumption, and this application does not limit it here. The larger the number of n, the more connecting rods can adjust the posture during the balance control process, making the posture of the wheel-legged robot richer during the balance adjustment process, which helps to improve the balance ability of the wheel-legged robot to deal with external disturbances.

[0193] In some embodiments, the first moment is any moment in the movement process of the wheel-legged robot.

[0194] Optionally, at a first moment, the posture of the wheel-legged robot is: the angles between all first connecting rods and the direction perpendicular to the contact surface are equal, the angular velocities of the moving wheels corresponding to each first connecting rod are equal, and at least one first rotation joint connecting the first connecting rod and the moving wheel rotates synchronously. That is, when observing from the side of the wheel-legged robot, at least one first connecting rod overlaps together, and at least one moving wheel overlaps together. Exemplarily, the wheel-legged robot has 4 moving wheels, and at a first moment the wheel-legged robot is in a two-wheel balancing mode (moving by rolling two moving wheels on the contact surface, and the other two moving wheels are retracted).

[0195] In some embodiments, the state quantity is used to describe the motion state of the wheel-legged robot at the first moment. The posture and motion state of the wheel-legged robot at the first moment can be determined according to the state quantity at the first moment. Optionally, the state quantity at the first moment is observed by a sensor of the wheel-legged robot.

[0196] Optionally, the state quantity at the first moment includes at least one of the following: the deflection angle q of the n connecting rods 1 ,q 2 ,…,q n , angular velocity of the moving wheel Angular velocities of n connecting rods

[0197] Exemplarily, the physical quantities included in the state quantity are observed in the world coordinate system; among them, the deflection angle q of the i-th connecting rod among the n connecting rods i (i∈[1,n]) refers to: the deflection angle of the i-th link relative to the z-axis in the world coordinate system; the angular velocity of the moving wheel Refers to: the clockwise rotation speed of the moving wheel about the x-axis in the world coordinate system; the angular velocity of the i-th connecting rod It is used to characterize the angular velocity of the i-th connecting rod, that is, the speed at which the deflection angle of the i-th connecting rod changes.

[0198] It should be noted that each physical quantity in the state quantity can also be represented by the relative position between each link of the wheel-legged robot. For example, the deflection angle q of the jth link j ′(i∈[2,n]) means: the deflection angle of the jth connecting rod relative to the j-1th connecting rod; wherein the j-1th connecting rod is connected to the jth connecting rod through a revolute joint. Optionally, the distance between the jth connecting rod and the contact surface is greater than the distance between the j-1th connecting rod and the contact surface. It should be noted that the observation coordinate system corresponding to each physical quantity in the state quantity can be determined according to actual needs, and this application does not limit it here.

[0199] The physical quantities in each formula in the present application are obtained based on observations in the world coordinate system. Of course, the physical quantities determined using other observation coordinate systems can also realize the present balance control method. The relevant formulas can be obtained by making equal substitutions based on the formulas provided in the present application, and they are not mentioned one by one in the text.

[0200] When the moving wheels of the wheel-legged robot in contact with the contact surface coincide with each other in the y-axis direction in the world coordinate system, the angular velocities of the n moving wheels are the same, and the deflection angle of the first connecting rod connected to at least one moving wheel is the same. Please refer to the following embodiment for the method of obtaining the state quantity at the first moment.

[0201] For example, the state quantity is: the deflection angle q of n connecting rods 1 ,q 2 ,…,q n , angular velocity of the moving wheel Angular velocities of n connecting rods The state quantity can be represented by the symbol ξ, and the state quantity ξ can be expressed as:

[0202]

[0203] Among them, q T represents the transposed vector of vector q, q T =[q 1 q 2 … q n ], Representation vector The transposed vector of

[0204] Optionally, obtaining the state quantity of the wheel-legged robot at the first moment includes: determining the deflection angle q of n connecting rods through an IMU sensor and a motor encoder 1 ,q 2 ,…,q n ; Determine the angular velocity of the moving wheel through the motor encoder Angular velocities of n connecting rods Exemplarily, the clock cycles of the IMU sensors and motor encoders in the wheel-legged robot are the same, or in multiples, so that the physical quantities included in the state quantity are all physical quantities at the first moment. For the specific contents of the IMU encoder and the motor encoder, please refer to the above introduction, which will not be repeated here.

[0205] In some embodiments, the robust controller uses the state quantity at the first moment as input information and performs a balancing control process through the state quantity at the first moment.

[0206] Step 1120, determine the dynamic model parameters according to the dynamic equation of the wheel-legged robot and the state quantity at the first moment, the dynamic model parameters are used to define the mapping relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of the n connecting rods and the angular acceleration of the moving wheel; the rotational torque at the second moment includes the rotational torque of the n rotating joints.

[0207] In some embodiments, the angular acceleration at the first moment refers to the rotational acceleration of the n connecting rods after the wheel-legged robot is abstracted into an n-order inverted pendulum model (it can also be understood as the angular acceleration of the joint motors corresponding to the n rotating joints). The angular acceleration at the first moment can be expressed as express.

[0208] From the above content, we can know that after abstracting the wheel-legged robot into an n-order inverted pendulum model, we can get the dynamic equation in matrix form:

[0209]

[0210] In an embodiment of the present method, a robust controller in the control system of the wheel-legged robot is designed based on the equation, so that the robust controller can perform the balance control method provided in the embodiment of the present application.

[0211] Based on the physical relationship between acceleration, speed and position, it can be known that the acceleration at the first moment can predict the angular velocity of the n connecting rods of the wheel-legged robot in the next moment after the first moment, as well as the posture of the wheel-legged robot in the subsequent moments. The rotational torque of the joint can change the speed and posture of the wheel-legged robot; in the design of the robust controller of this scheme, the focus is on the dynamic equation based on the matrix form, and the mapping relationship between the acceleration of the wheel-legged robot and the rotational torque of the joint is established.

[0212] Exemplarily, the matrix-form dynamic equation is partially feedback linearized so that the acceleration-related matrix of the wheel-legged robot is on one side of the dynamic equation and the other side of the matrix formula related to the rotational torque of the rotational joint, and the mapping relationship between the acceleration and the rotational torque at the first moment is determined, and the mapping relationship between the acceleration at the first moment and the rotational torque of the rotational joint is represented by the dynamic parameters. This process is completed in the design process of the robust controller, and the relevant formulas do not need to be repeatedly derived when the actual balance control is performed.

[0213] In some embodiments, the dynamic model parameters are used to characterize the linear mapping relationship between the acceleration and the torque at the first moment. That is, the dynamic model parameters are used to make the acceleration and the torque at the first moment satisfy the equivalent relationship in the formula obtained by conversion based on the dynamic formula. Since there is more than one acceleration and torque at the first moment, the dynamic model parameters can be expressed in matrix form.

[0214] Exemplarily, the dynamic model parameters include: a proportional parameter matrix g[] and an offset parameter matrix f[]; wherein the proportional parameter matrix g[] is used to characterize the proportional relationship between the acceleration and the torque at the first moment, and the offset parameter matrix f[] is used to characterize the offset between the acceleration and the torque at the first moment. For the calculation method of the above two dynamic model parameter matrices, please refer to the following embodiment.

[0215] Optionally, in the design process of the robust controller, the representation form of the dynamic model parameters is predetermined. After obtaining the state quantity at the first moment, the robust controller brings the state quantity at the first moment into the representation form of the dynamic model parameters to determine the numerical values ​​of each element included in the dynamic model parameters.

[0216] Step 1130, establishing a sliding surface based on the state quantity at the first moment, and the state quantity of the wheel-legged robot gradually approaches 0 on the sliding surface.

[0217] In some embodiments, the sliding surface can be understood as an imaginary vector plane in the sliding mode control, and the state quantity of the wheel-legged robot gradually tends to 0 on the sliding surface, that is, the state of the wheel-legged robot can gradually tend to equilibrium on the sliding surface. The sliding surface can be represented by the symbol s. Optionally, the sliding surface is a rational number, and the value of the sliding surface can be greater than 0, equal to 0, or less than 0.

[0218] Optionally, the sliding surface is a linear sliding surface having a linear relationship with the state quantity, or the sliding surface belongs to a sliding surface having a high-order mapping relationship between the state quantities. Considering the purposes of reducing the calculation pressure of the robust controller and reducing the energy consumption of the wheel-legged robot in the actual application process, this paper mainly takes the creation of a linear sliding surface as an example to introduce and explain the method of determining the sliding surface according to the state quantity.

[0219] In some embodiments, the number of sliding surfaces that the robust controller needs to establish is related to the number of rotational torques to be determined. Optionally, the number of sliding surfaces that the robust controller needs to establish is equal to the number of rotational torques to be determined. In the present application, the wheel-legged robot is abstracted into an n-order inverted pendulum, involving a total of n rotational joints, and the n rotational joints have independent rotational torques. Therefore, the rotational torque at the second moment includes: the rotational torque of the n rotational joints, then n sliding surfaces need to be established; wherein, any two of the n sliding surfaces are different sliding surfaces. For the specific steps of establishing sliding surfaces, please refer to the following embodiments.

[0220] Step 1140, calculating the rotational torques of the n rotational joints according to the sliding surface and the dynamic model parameters.

[0221] In some embodiments, for any of the n revolute joints, the rotational torque of the revolute joint is used to control the rotation of the joint motor of the revolute joint. Optionally, the joint motor of the revolute joint can rotate at a certain angular velocity, speed or torque so that the revolute joint reaches the corresponding rotational torque.

[0222] In some embodiments, the robust controller is designed with: an equation for calculating the rotational torque of n rotational joints through the sliding surface and the dynamic model parameters. By substituting the sliding surface and the dynamic model parameters into the equation, the rotational torque of the n rotational joints can be calculated, and the rotational torque of the n rotational joints controls the rotation motors corresponding to each rotational joint, adjusts the posture of the wheel-legged robot, and helps the wheel-legged robot reach a balanced state or maintain a balanced state.

[0223] Optionally, in the process of calculating the rotational torque of the n revolute joints according to the sliding surface and the dynamic model parameters, the system stability criterion needs to be considered. The system stability criterion is used to constrain the equilibrium state of the robot. For the specific process of this part, please refer to the embodiment below. Exemplarily, steps 1110-1140 are completed by a robust controller.

[0224] Step 1150: Control the n revolute joints at a second moment according to the rotational torques of the n revolute joints.

[0225] In some embodiments, the second moment refers to any moment after the first moment. Optionally, the second moment refers to the moment after the rotational torques of the n rotational joints are calculated.

[0226] In some embodiments, the n revolute joints are controlled to: change the posture of the wheel-legged robot. The rotation of the revolute joint drives the deflection angle of the connecting rod connected to the revolute joint to change, so that the joint angle between the two connecting rods connected by the revolute joint changes, the posture of the wheel-legged robot changes, and the center of mass position of the wheel-legged robot changes, thereby helping the wheel-legged robot to adjust its balance state.

[0227] Optionally, after the rotational torques of n rotational joints are determined, s rotational joints may be controlled, where s is a positive integer less than or equal to n.

[0228] Optionally, according to the rotational torques of the n rotational joints, the implementation methods for controlling the n rotational joints include the following:

[0229] 1. The torques of the n revolving joints are respectively sent to the joint motors of the n revolving joints through the robust controller, so that the joint motors of the n revolving joints rotate to achieve their respective corresponding rotational torques.

[0230] 2. The mission acceleration of the wheel-legged robot is calculated through the rotational torque of n rotating joints; the whole-body dynamics controller in the control system of the wheel-legged robot calculates the force and torque instructions corresponding to the whole-body joints of the wheel-legged robot according to the mission acceleration of the wheel-legged robot, thereby determining the force and torque instructions of the corresponding n rotating joints in the n-order inverted pendulum model; the whole-body dynamics controller sends the force and torque instructions corresponding to the n rotating joints to the n rotating joints, so that the n rotating joints rotate according to their respective force and torque instructions.

[0231] Whole-body joints refer to the active joints in the wheel-legged robot. After determining the force and torque instructions of the whole-body joints, they can not only control the rotational motors of the n rotational joints, but also control the movement of the joint motors corresponding to the other joints except the n rotational joints according to the force and torque instructions of the whole-body joints, making the posture changes of the wheel-legged robot richer. Since the whole-body dynamics controller is used to control the robot to perform motion tasks, this method can integrate the balance control method and the motion process of the wheel-legged robot, which helps to improve the adaptability of the balance control method to different scenarios.

[0232] Optionally, the step of calculating the task acceleration of the wheel-legged robot through the rotational torque of n rotational joints is performed by an observation module in the control system of the wheel-legged robot, the observation module is connected to the robust controller, the observation module is connected to the whole body dynamics controller, the observation module obtains the rotational torque of n rotational joints from the robust controller, calculates the task acceleration according to the rotational torque of the rotational joints, and transmits the task acceleration to the whole body dynamics controller; the whole body dynamics controller determines the forces and torques corresponding to the whole body joint motors according to the task acceleration. For the specific process of this step, please refer to the following embodiment.

[0233] By associating the control results of the robust controller (the two rotational torques mentioned above) with the whole-body dynamics controller, the whole-body dynamics controller can receive information related to balance control, which helps the whole-body dynamics controller to perform reasonable optimization based on the various input information it receives, generate optimized joint commands (i.e., force and torque commands), and send these joint commands to the corresponding joints, so that more connecting rods in the wheel-legged robot can rotate during the balance control process, which helps to improve the balance control ability of the wheel-legged robot during movement.

[0234] To summarize, based on abstracting the wheel-legged robot into a multi-order inverted pendulum model, during the balance control process, the deflection angles of multiple connecting rods in the wheel-legged robot can be adjusted to change the posture of the wheel-legged robot; compared with the related technology that can only adjust the angle between the moving wheel and the leg mechanism during the balance control process, this scheme makes the postures of multiple connecting rods in the wheel-legged robot variable during the balance adjustment process, greatly enriches the robot posture, helps to quickly adjust the robot to a balanced state, and also helps to improve the robot's ability to recover to a balanced state under different disturbance forces, thereby improving the robustness of the robot's balance control process.

[0235] The following describes a method for obtaining the state quantity at the first moment through several embodiments.

[0236] In some embodiments, the state quantity of the wheel-legged robot at the first moment is determined by sensors included in the wheel-legged robot. The state quantity at the first moment includes: the deflection angle of the n connecting rods, the angular velocity of the n connecting rods and the angular velocity of the moving wheel.

[0237] Optionally, the method for obtaining the state quantity at the first moment is related to the posture of the wheel-legged robot at the first moment. In one possible implementation, the state quantity at the first moment is observed by the sensor of the wheel-legged robot; in another possible implementation, it is necessary to process the observation result observed by the sensor of the wheel-legged robot to obtain the state quantity at the first moment.

[0238] The moving wheels of the wheel-legged robot in contact with the contact surface overlap in the y-axis direction of the world coordinate system, and the first connecting rod overlaps in the y-axis direction of the world coordinate system. Optionally, the wheel-legged robot is in a two-wheeled balance state, and step 1110 also includes the following sub-steps:

[0239] Sub-step 1110-a, determines the deflection angles of the n connecting rods through the inertial measurement unit and motor encoder of the wheel-legged robot.

[0240] Sub-step 1110 - b, determining the angular velocity of the n connecting rods and the angular velocity of the moving wheel through the motor encoder.

[0241] For information about the inertial measurement unit and motor encoder, please refer to the above introduction. The robust controller obtains the state quantity at the first moment from the IMU and motor encoder corresponding to the n rotating joints.

[0242] The following describes the process of determining the parameters of the dynamic model through several embodiments. The execution subject of each step of the process may be a computer device.

[0243] In the above embodiment, step 1120: determining the dynamic model parameters according to the dynamic equation of the wheel-legged robot and the state quantity at the first moment may include the following steps:

[0244] Step 1123 (not shown in the figure), substituting the state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment, the inertia matrix is ​​used to characterize the mass and moment of inertia of the n revolute joints at the first moment, the deflection force matrix is ​​used to characterize the deflection force of the wheel-legged robot at the first moment, and the gravity matrix is ​​used to characterize the gravity of the wheel-legged robot at the first moment;

[0245] In some embodiments, the inertia matrix is ​​used to characterize the inertia of the joint rigid bodies corresponding to the n rotating joints constituting the wheel-legged robot at the first moment, and the inertia includes at least one of the following: mass and moment of inertia. Optionally, the inertia matrix can be calculated according to the dynamic equation. When the wheel-legged robot is abstracted into an n-order inverted pendulum model, the inertia matrix is ​​a (n+1)*(n+1) size matrix.

[0246] In some embodiments, the deflection force matrix is ​​used to characterize the Coriolis force and the centripetal force on each connecting rod. Optionally, the deflection force matrix includes the deflection force caused by the deflection angle of the moving wheel and the deflection force caused by the deflection angle of the n connecting rod.

[0247] In some embodiments, the gravity matrix is ​​used to characterize the gravity received by each connecting rod. Optionally, the gravity matrix includes the gravity received by the moving wheel and the gravity received by each of the n connecting rods. Optionally, the moving wheel (such as the moving wheel of the outer leg mechanism) is always in contact with the contact surface, and the height of the moving wheel remains unchanged during the balance control process, and the gravity received by the moving wheel remains unchanged. The plane where the center of mass of the moving wheel is located is taken as the zero potential energy surface, and the gravity received by the moving wheel is 0, so as to reduce the computational overhead of the balance control process.

[0248] For more information about inertia matrix, deflection matrix, and gravity matrix, please refer to Fig.10 The corresponding contents of the specification are not repeated here. The expressions of the elements in the above-mentioned inertia matrix, deflection force matrix and gravity matrix are also derived in advance by the dynamic formula; after determining the state quantity at the first moment, the robust controller calculates the specific values ​​of the elements included in the inertia matrix, deflection force matrix and gravity matrix at the first moment according to the state quantity at the first moment and the representation form of each element in the inertia matrix, deflection force matrix and gravity matrix; and then obtains the inertia matrix, deflection force matrix and gravity matrix at the first moment.

[0249] Step 1126 (not shown in the figure), determine the dynamic model parameters according to the inertia matrix, the deflection force matrix and the gravity matrix.

[0250] In some embodiments, the dynamic model parameters include: a proportional parameter matrix and an offset parameter matrix, the proportional parameter matrix is ​​used to characterize the proportional relationship between the angular acceleration and the torque at the first moment, and the offset parameter matrix is ​​used to characterize the offset relationship between the angular acceleration and the torque at the first moment; optionally, the robust controller calculates the offset parameter matrix based on the inertia matrix, the deflection force matrix and the gravity matrix; and calculates the proportional parameter matrix based on the inertia matrix.

[0251] The rotational relationship between the acceleration of the wheel-legged robot and the rotational torque of n rotational joints can be determined through the dynamic model parameters. Subsequently, the rotational torque of the n rotational joints can be determined relatively quickly according to the dynamic model parameters and the sliding surface, which helps to reduce unnecessary conversions in the process of determining the rotational torque of the rotational joints and alleviates the calculation pressure of computer equipment.

[0252] In some embodiments, step 1126 further includes the following sub-steps:

[0253] Sub-step 1126-a (not shown in the figure) uses the selection matrix to process the product between the inverse matrix of the inertia matrix and the deviatoric force matrix, and the product between the inverse matrix of the inertia matrix and the gravity matrix, respectively, to obtain the offset parameter matrix. The selection matrix is ​​used to extract the rotational torque of the n rotational joints from the dynamic equation.

[0254] Optionally, the elements in the selection matrix include three values ​​(0, 1, -1). The selection matrix is ​​used to make each rotational moment in τ exist independently in the dynamic equation, that is, the dynamic equation is processed using the selection matrix so that the coefficients of the rotational moment of each rotational joint in the dynamic equation have the same sign, and the dynamic equation does not include basic operations between the rotation matrices of any two rotational joints (such as τ 1 -τ 2 wait).

[0255] Sub-step 1126-b (not shown in the figure) uses the selection matrix to process the inverse matrix of the inertia matrix to obtain the scale parameter matrix.

[0256] Following the content of step 1120 in the above embodiment, the two sub-steps included in step 1126 are introduced and described:

[0257] After partial feedback linearization of the matrix form dynamic equation, we get formula 1:

[0258]

[0259] Among them, M -1 (q) is the inverse matrix of the inertia matrix, M -1 (q)*M(q)=E, where E is the unit matrix. The physical meanings of other parameters in Formula 1 can be found in the above embodiment and will not be elaborated here.

[0260] Furthermore, in order to simplify the execution logic in the balancing control process and reduce the calculation amount of the robust controller, the above formula 1 needs to be adjusted in the design process of the robust controller. Formula 1 is processed using the selection matrix to obtain formula 2:

[0261]

[0262] in, represents the offset parameter matrix, represents the scale parameter matrix, S T is the selection matrix.

[0263] Optionally, Formula 2 is derived after the wheel-legged robot is abstracted as an n-order inverted pendulum model. During the balance control process, after obtaining the state quantity at the first moment, the robust controller can calculate the proportional parameter matrix and the dynamic model parameter matrix according to Formula 2 and the expressions of each element in the inertia matrix, deflection force matrix and gravity matrix obtained in the process of derivation of the dynamic equation of the n-order inverted pendulum model.

[0264] In some embodiments, the dynamic equation of the above-mentioned robot is derived based on the Euler-Lagrange equation based on the wheel-legged robot being abstracted into an n-order inverted pendulum model. The moving wheels of the wheel-legged robot correspond to the wheels in the n-order inverted pendulum model, and at least one connecting rod of the wheel-legged robot corresponds to the n connecting rods in the n-order inverted pendulum model. Please refer to the above embodiments for the derivation process of the dynamic equation, which will not be repeated here. After the wheel-legged robot is abstracted into an n-order inverted pendulum model, the dynamic equation includes the rotational torque of n rotating joints, so that the balance control process can control the rotation mode of the n rotating joints. The rotation of the rotating joints drives the position and motion state of the connecting rods connected to the rotating joints to change, so that all n mechanisms can participate in the balance control process, making the posture of the wheel-legged robot in the balance control process more flexible, which helps to adapt to the balance control requirements in different scenarios and improve the robustness of the balance control method.

[0265] The method for establishing the sliding surface is described below through several embodiments.

[0266] In some implementations, the sliding surface includes n sliding surfaces, wherein the n sliding surfaces are used to constrain the rotational torque of the n revolute joints. Optionally, there is no identical sliding surface among the n sliding surfaces, and the n sliding surfaces are used to jointly participate in the calculation process of the rotational torque.

[0267] In the above embodiment, step 1130: establishing a sliding surface according to the state quantity at the first moment may include the following steps:

[0268] Step 1133 (not shown in the figure): for the i-th sliding surface among the n sliding surfaces, determine two sliding parameters, where i is a positive integer less than or equal to n.

[0269] In some embodiments, the sliding surface is related to at least one element in the state quantity, and the element in the state quantity can also be called a state parameter, such as the state quantity Included in They are all state parameters.

[0270] For example, a certain sliding surface is related to the deflection angle of the first connecting rod and the acceleration of the first connecting rod in the state quantity. For another example, a certain sliding surface is related to the deflection angle of the i-th connecting rod and the acceleration of the i-th connecting rod. Optionally, the n sliding surfaces are respectively related to the first state parameter in the state quantity. For example, the first state parameter is the angular velocity of the moving wheel, that is, the n sliding surfaces are all related to the angular velocity of the moving wheel.

[0271] Optionally, the sliding mode parameter is a real number. The sliding mode parameter is used to characterize the proportional relationship between the state parameter in the state quantity and the sliding mode surface. Exemplarily, the sliding mode parameters between different sliding mode surfaces are not shared, that is, there are at least two sliding mode surfaces among the n sliding mode surfaces, and the sliding mode parameters corresponding to the at least two sliding mode surfaces are not equal.

[0272] In some embodiments, the number of state parameters used in creating the sliding surface is greater than the number of sliding parameters. Optionally, for any one of the n sliding surfaces, the number of state parameters used in the creation of the sliding surface is greater than the number of sliding parameters used, and this method helps to ensure that a determined rotational torque can be calculated based on the sliding surface and the dynamic model parameters.

[0273] For example, when establishing a sliding surface, 3 state parameters in the state quantity and 2 sliding parameters need to be used. For another example, when creating a sliding surface, 4 state parameters in the state quantity and 3 sliding parameters need to be used.

[0274] Since the number of sliding parameters used in the process of creating the sliding surface is less than the number of state parameters, the coefficient of at least one state parameter in the sliding surface is equal to 1, that is, these sliding parameters do not have corresponding state parameters, and the remaining state parameters required to create a sliding surface correspond one-to-one to the sliding parameters.

[0275] In some embodiments, for the i-th sliding surface among the n sliding surfaces, the i-th sliding surface includes at least two sliding parameters. Optionally, the state parameters included in different sliding surfaces are not completely the same, and the number of state parameters required to create each sliding surface is equal. For example, the number of sliding parameters included in the n sliding surfaces is equal. It is assumed that 3 state parameters are used to create the i-th sliding surface, and 3 state parameters are also used to create the i+k-th sliding surface, k is a positive integer, and i+k is less than or equal to n.

[0276] In some embodiments, the number of sliding parameters included in the i-th sliding surface is related to the number of state parameters used to establish the i-th sliding surface. Optionally, the number of state parameters used to create the i-th sliding surface is one more than the number of sliding parameters used to create the i-th sliding surface. In order to ensure that a definite solution for the rotational torque of n revolving joints can be calculated by the sliding surface and the dynamic model parameters, the i-th sliding surface is related to at least 3 state parameters in the state quantity at the first moment. Optionally, at least 3 state parameters associated with the i-th sliding surface are not completely the same as at least 3 state parameters associated with the l-th sliding surface, and l is a positive integer less than or equal to n.

[0277] In order to improve the reliability of the determined rotational torque, the sliding mode parameters need to meet the system stability conditions. For the specific content of this part, please refer to the following embodiments.

[0278] Optionally, the number of state parameters used to create the n sliding surfaces is equal. For example, any one of the n sliding surfaces includes 3 state parameters.

[0279] The following takes the creation of the i-th sliding surface as an example to introduce the method of creating the sliding surface.

[0280] Generally speaking, the more state parameters related to a certain sliding surface in the state quantity at the first moment, the more reference information is used in the process of calculating the rotational torque of n rotational joints; the mutual constraints between the various state quantities help to improve the accuracy of the rotational torque of the n rotational joints determined according to the n sliding surfaces and dynamic model parameters, and help to improve the effect of balance adjustment.

[0281] Optionally, at least 3 state parameters and at least 2 sliding parameters are used to create the i-th sliding surface.

[0282] Exemplarily, the state parameters used to create the i-th sliding surface include: the deflection angle of the i-th connecting rod, the angular velocity of the moving wheel, and the angular velocity of the i-th connecting rod; in this case, the two sliding parameters used to create the i-th sliding surface are: the sliding parameter corresponding to the deflection angle of the i-th connecting rod, and the sliding parameter corresponding to the angular velocity of the moving wheel. Exemplarily, the i-th sliding surface is related to the four state parameters in the state quantity, and the i-th sliding surface is related to the deflection angle of the i-th connecting rod, the angular velocity of the moving wheel, the angular velocity of the i-th connecting rod, and the deflection angle of the (i+m)%n-th connecting rod included in the state quantity, where m is a positive integer that cannot divide n, and "%" represents the remainder of division. In this case, the i-th sliding surface includes at least 3 sliding parameters, respectively: the sliding parameter corresponding to the deflection angle of the i-th connecting rod, the sliding parameter corresponding to the angular velocity of the moving wheel, and the sliding parameter corresponding to the deflection angle of the (i+m)%n-th connecting rod. It should be noted that the number of state parameters related to the sliding surface and the number of sliding parameters are designed according to actual needs, and this application does not limit them here.

[0283] In some embodiments, multiple sliding surface creation schemes are designed in the robust controller, and in different sliding surface creation schemes, the number of sliding parameters and the number of state parameters used to create the i-th sliding surface are not exactly the same. For example, in the first sliding surface creation scheme, 2 sliding parameters and 3 state parameters are required to create the i-th sliding surface; in the second sliding surface creation scheme, 5 sliding parameters and 6 state parameters are required to create the i-th sliding surface; that is, the number of sliding parameters used to create the sliding surface in the first sliding surface creation scheme is not equal to the number of sliding parameters required to create the sliding surface in the second sliding surface creation scheme; the number of state parameters used to create the sliding surface in the first sliding surface creation scheme is not equal to the number of state parameters required to create the sliding surface in the second sliding surface creation scheme.

[0284] Optionally, during the balancing control process, the robust controller selects a target creation scheme from multiple sets of sliding surface creation schemes according to actual conditions, and determines the number of sliding parameters required to create the i-th sliding surface according to the target creation scheme.

[0285] Exemplarily, when the computing performance of the robust controller is high, the robust controller selects from multiple sets of sliding surface establishment schemes: a sliding surface creation scheme involving more sliding parameters is used as a target creation scheme. Exemplarily, the robust controller determines the target creation scheme according to the task currently performed by the wheel-legged robot; if the task currently performed by the wheel-legged robot has high requirements for balance and the robust controller has good computing power, the robust controller selects a sliding surface creation scheme involving more sliding parameters from multiple sets of sliding surface establishment schemes as the target creation scheme. Exemplarily, when the computing performance of the robust controller is average or there is a power consumption requirement, the robust controller selects a sliding surface creation scheme including fewer sliding parameters from at least one set of sliding surface establishment schemes as the target creation scheme. Exemplarily, the robust controller receives a control instruction from a remote controller, and the control instruction is used to indicate the target creation scheme selected from multiple sliding surface creation schemes.

[0286] Step 1136 (not shown in the figure), establishing the i-th sliding surface according to at least two sliding mode parameters and the state quantity at the first moment.

[0287] In some embodiments, the state quantities include the deflection angles of the n connecting rods, the angular velocities of the moving wheels, and the angular velocities of the n connecting rods. Optionally, the robust controller creates the i-th sliding mode surface according to at least three state parameters and at least two sliding mode parameters in the state quantities at the first moment.

[0288] Optionally, step 1136: establishing the i-th sliding surface according to at least two sliding mode parameters and the state quantity at the first moment, includes the following sub-steps:

[0289] Sub-step 1136 - a , processing the deflection angle of the ith connecting rod according to the first sliding mode parameter of at least two sliding mode parameters, to obtain a processing result of the ith connecting rod.

[0290] Optionally, the first sliding mode parameter is a coefficient corresponding to the deflection angle of the i-th connecting rod, and the second sliding mode parameter is a coefficient corresponding to the angular velocity of the moving wheel connecting rod.

[0291] Optionally, the processing result of the ith connecting rod refers to the result obtained by processing the deflection angle of the ith connecting rod using the first sliding mode parameter in the process of constructing the ith sliding mode surface. Exemplarily, the method of processing the deflection angle of the ith connecting rod using the first sliding mode parameter includes but is not limited to: using the first sliding mode parameter and the deflection angle of the ith mechanism to perform basic operations (such as addition, subtraction, multiplication and division) to obtain the processing result of the ith connecting rod. For example, the first sliding mode parameter is multiplied by the angular velocity of the ith connecting rod to obtain the processing result of the first connecting rod.

[0292] Sub-step 1136-b, according to the second sliding mode parameter of at least two sliding mode parameters, the angular velocity of the moving wheel is processed to obtain the processing result of the moving wheel. Optionally, in the process of establishing the i-th sliding mode surface, the processing result of the moving wheel refers to the result obtained by processing the angular velocity of the moving wheel using the second sliding mode parameter. Exemplarily, the method of processing the angular velocity of the moving wheel using the second sliding mode parameter includes but is not limited to: performing basic operations using the second sliding mode parameter and the angular velocity of the moving wheel. For example, the second sliding mode parameter is multiplied by the angular velocity of the moving wheel to obtain the processing result of the moving wheel.

[0293] It should be noted that different sliding surfaces correspond to different second sliding mode parameters, that is, for the creation process of different sliding mode surfaces, the angular velocity of the moving wheel is processed using the second sliding mode parameters, and the processing results of the moving wheel are different.

[0294] Sub-step 1136-c, establishing the i-th sliding surface according to the processing result of the i-th connecting rod, the processing result of the moving wheel and the angular velocity of the i-th connecting rod.

[0295] In some embodiments, the i-th sliding surface is proportional to the processing result of the i-th connecting rod, the i-th sliding surface is proportional to the processing result of the moving wheel, and the first sliding surface is proportional to the angular velocity of the i-th connecting rod. Exemplarily, the robust controller adds the processing result of the i-th connecting rod, the processing result of the moving wheel, and the angular velocity of the i-th connecting rod to obtain the i-th sliding surface.

[0296] Optionally, the robust controller establishes the ith sliding mode surface according to the processing result of the ith connecting rod, the processing result of the moving wheel, the angular velocity of the ith connecting rod and the sliding mode constant, and the sliding mode constant may be a preset value.

[0297] The robust controller determines n sliding surfaces respectively by the above method of creating the i-th sliding surface.

[0298] The n sliding surfaces can be expressed by the following formula:

[0299]

[0300] Wherein, s represents a sliding surface matrix including n sliding surfaces; Including the first sliding mode parameters corresponding to the deflection angles of the n connecting rods, Including the second sliding mode parameters corresponding to the angular velocity of the moving wheel in the n sliding mode surfaces respectively. For the explanation of other parameters, please refer to the above introduction and will not be repeated here.

[0301] By establishing n sliding surfaces in this way, while ensuring that the rotational torque of the n rotational joints can be calculated based on the sliding surfaces and the dynamic model parameters, the number of sliding parameters and state parameters used in the process of creating the surface is controlled, which helps to control the computational overhead of calculating the rotational torque of the n rotational joints, helps to speed up the speed of determining the rotational torque, reduce power consumption and achieve balance control of the robot.

[0302] After describing the design method of the dynamic model parameters and n sliding surfaces in the robust controller, the following describes the design of the corresponding robust controller related to step 1140: calculating the rotational torque of the n rotational joints according to the sliding surface and the dynamic model parameters:

[0303] After establishing n sliding surfaces according to the state quantity, the robust controller determines the first-order derivative formulas of the n sliding surfaces with respect to time, and uses the torque to represent the angular acceleration of the n connecting rods according to the dynamic equation (Formula 2), and the following Formula 3 is obtained:

[0304]

[0305] in, represents the first-order derivative of n sliding surfaces with respect to time, is the offset parameter matrix f[] in formula 2 above f q is the offset parameter matrix f[] in formula 2 above is the proportional parameter matrix g[] in formula 2 above g q In the above formula 2, the proportional parameter matrix g[] For other parameters, please refer to the above introduction and will not be described in detail.

[0306] By transposing the terms in formula 3, we can obtain formula 4:

[0307]

[0308]

[0309]

[0310] Among them, sgn() is the symbol function, is a constant matrix, s T is the transposed matrix of the sliding matrix s including n sliding surfaces, |s| represents the absolute value of n sliding surfaces, Represents the first-order derivative of n sliding surfaces with respect to time. For other parameters, please refer to the above introduction and will not be elaborated on here.

[0311] Optionally, Formula 3 and Formula 4 are calculated in real time by the robust controller during the balancing control process.

[0312] Using the properties of the sliding surface, when the sliding surface is controlled to be equal to 0, the state parameters related to the sliding surface will gradually tend to 0 along the sliding surface, that is, the wheel-legged robot returns to a balanced state. The state quantity (state parameters in) satisfies on the sliding surface:

[0313]

[0314] The above formula can be used to inversely express the angular velocity of the n connecting rods:

[0315]

[0316] The robust controller determines the angular velocity of the n connecting rods and takes the first-order derivative with respect to time, and obtains Formula 5 which can represent the angular acceleration of the n connecting rods:

[0317]

[0318] Since q is a vector of the deflection angles of n connecting rods, q is split: Let α represent q 1 (the deflection angle of the first link), let β represent That is, β includes the deflection angles of the other links except the first link among the n links, and the dynamic equation based on the n-order inverted pendulum model is written as:

[0319]

[0320]

[0321]

[0322] Among them, in this formula represents the angular acceleration of the first link; represents the angular accelerations of the n connecting rods except the first connecting rod; Represents the inertia related to the moving wheel in the inertia matrix M; Represents the inertia matrix M Among them is the inertia related to the first connecting rod; It refers to the inertia matrix M The inertia that is not related to the first connecting rod; m αα represents the m in the inertia matrix M qq The inertia associated with the first connecting rod; m ββ represents the m in the inertia matrix M qq The inertia that is not related to the first connecting rod; c α represents the deflection force received by the first connecting rod; c β g represents the eccentric force on the other connecting rods except the first connecting rod among the n connecting rods; α Indicates the gravity acting on the first mechanism; g β represents the gravity on the other links except the first link among the n links; τ 1 represents the rotational torque of the first revolute joint; τ 2 Represents the rotational torque corresponding to the other revolute joints among the n revolute joints except the first revolute joint.

[0323] Adding the three formulas included in the above kinetic equations can obtain Formula 6:

[0324]

[0325] In formula 6 Merge into We get formula 7:

[0326]

[0327] Using Formula 5 to Formula 7 By making equal substitutions, we obtain Formula 8:

[0328]

[0329] Formula 8 is used to express Formula 9:

[0330]

[0331] Formulas 5 and 9 are used to express Formula 10:

[0332]

[0333] right The state equation is obtained by combining the matrix form:

[0334]

[0335] in,

[0336] I is the identity matrix.

[0337] Optionally, the system stability criterion is related to the state equation determined according to the dynamic equation and the sliding surface. Exemplarily, the stability criterion is related to the coefficient matrix in the state equation. In order to ensure that the system stability criterion is met, the sliding mode parameters need to satisfy the coefficient matrix of the state equation:

[0338] The characteristic roots of are distributed in the left half plane of the complex plane. This state equation can be used as a matrix inequality constraint, that is, the values ​​of the sliding mode parameters are distributed in the left half plane of the complex plane of the coefficient matrix.

[0339] Optionally, in the balancing control process of the present application, the robust controller determines the rotational torque of the n rotational joints according to Formula 4 and the state equation. In the process of balancing control, the robust controller calculates the rotational torque τ of the n rotational joints according to Formula 4. Formula 4 involves n sliding surfaces forming a sliding surface matrix s, the dynamic model parameters in Formula 2, and also involves sliding parameters.

[0340] The robust controller obtains the state quantity at the first moment, and substitutes the state quantity at the first moment into the corresponding formula to determine the dynamic model parameters and create n sliding surfaces. The sliding mode parameters in the sliding mode surfaces meet the system stability conditions. Then, the robust controller ensures that the sliding mode parameters meet the matrix inequality constraints formed by the above state equations, and calculates the rotational torque τ of the n rotational joints based on Formula 4.

[0341] Exemplarily, in the balancing control method provided in the present application, the sliding mode parameters satisfying the matrix inequality constraints are first determined, and then n sliding surfaces are constructed through the sliding mode parameters. The robust controller determines the state equation according to the representation of the dynamic equation and the sliding surface (the sliding mode parameters in the sliding surface are unknown at this time); the robust controller determines the value or value range of the sliding mode parameter under the system stability condition that the characteristic root of the coefficient matrix satisfying the state equation is in the left half plane, and obtains the actual value of the sliding mode parameter required in the process of creating the sliding surface; the robust controller brings the sliding mode parameters into the sliding surface, and calculates the rotational torque of the n rotational joints according to the sliding surface and the dynamic model parameters.

[0342] Exemplarily, the balancing control method provided in the present application first selects the sliding mode parameters corresponding to n sliding mode surfaces in a certain numerical range, constructs n sliding mode surfaces using these sliding mode parameters, and calculates the rotational torque τ of n rotational joints by formula 4; then the robust controller verifies whether the four sliding mode parameters satisfy the above matrix inequality constraints. If the four sliding mode parameters all satisfy the above matrix inequality constraints, the rotational torque τ of the n rotational joints can be used to control the n rotational joints; if the n sliding mode parameters do not satisfy the above matrix inequality constraints, the determined rotational torque τ of the n rotational joints cannot be used.

[0343] The method for determining sliding mode parameters is introduced and explained below through several embodiments.

[0344] In some embodiments, for the i-th sliding surface among the n sliding surfaces, the robust controller determines at least two sliding mode parameters, including: determining a first sliding mode parameter among at least one sliding mode parameter from the (2i-1)-th prediction parameter set, and determining a second sliding mode parameter among at least one sliding mode parameter from the 2i-th prediction parameter set; wherein the sliding mode parameters respectively included in the (2i-1)-th prediction parameter set and the 2i-th prediction parameter set satisfy the constraints of the stability criterion.

[0345] In this embodiment, after determining the state at the first moment, the computer device first uses the state equation as a matrix inequality constraint to determine the solution sets corresponding to the sliding mode parameters required to be used by the n sliding surfaces, and obtains 2n prediction parameter sets. That is, for any one of the 2n prediction parameter sets, the sliding mode parameters in the prediction parameter set meet the system stability principle.

[0346] In the process of creating the i-th sliding surface, a first sliding parameter among at least two sliding parameters is determined from the (2i-1)-th prediction parameter set, and a second sliding parameter among at least two sliding parameters is determined from the 2i-th prediction parameter set. The i-th sliding surface is created according to the state quantity at the first moment and the above-mentioned at least two sliding parameters, and then the robust controller calculates the rotational torque of the n rotational joints according to the above formula 4.

[0347] It should be noted that, in this embodiment, the method for determining the sliding mode parameters is introduced by taking the use of two sliding mode parameters to create a sliding mode surface as an example. If k sliding mode parameters are required to create a sliding mode surface, then in the process of creating the i-th sliding mode surface, it is necessary to obtain a sliding mode parameter from each of the k prediction parameter sets corresponding to the i-th sliding mode surface, and obtain k sliding mode parameters. When k is equal to 2, the method described in the above embodiment is used. k is a positive integer greater than or equal to 2, and the maximum value of k is set according to actual needs, and this application does not limit it here.

[0348] This method helps to avoid selecting sliding mode parameters that do not satisfy the system stability, which results in the rotational torque of the n revolving joints calculated using these sliding mode parameters being unable to control the balance of the wheel-legged robot. It improves the availability of the determined rotational torque of the revolving joints, helps to avoid calculations required by computer equipment to redetermine the rotational torque, and helps to shorten the time spent on determining the rotational torque of the n revolving joints.

[0349] The following is an introduction to a method of adjusting the posture of a wheel-legged robot using the rotational torque of n rotational joints through several embodiments.

[0350] In some implementations, step 1150 in the above embodiment: controlling the n rotational joints according to the rotational torques of the n rotational joints, includes the following sub-steps:

[0351] Sub-step 1150a: for any one of the n revolving joints, control the rotary motor corresponding to the revolving joint to rotate according to the rotational torque of the revolving joint.

[0352] In this embodiment, after the robust controller calculates the rotational torque of n rotating joints, it sends the rotational torque of the n rotating joints to the rotating motors corresponding to each rotating joint respectively; for any rotating joint among the n rotating joints, after receiving the rotational torque of the rotating joint, the rotating motor corresponding to the rotating joint rotates according to the rotational torque of the rotating joint, driving at least one connecting rod connected to the rotating joint to move, so that the deflection angle and angular velocity of at least one connecting rod among the n connecting rods change.

[0353] Optionally, after receiving the rotational torque of the corresponding rotational joints, the rotational motors respectively corresponding to the n rotational joints rotate simultaneously at a second moment, so that the posture of the wheel-legged robot changes.

[0354] The position and state of the wheel-legged robot are adjusted by n rotating motors, and the wheel-legged robot is balanced and controlled, so that multiple connecting rods in the wheel-legged robot can participate in the balance control process, which helps to improve the efficiency of adjusting the posture and motion state of the wheel-legged robot according to the rotational torque.

[0355] In the above embodiment, after determining the rotational torque of the n rotational joints, the robust controller directly sends the rotational torque of the n rotational joints to the rotational motors, controls the rotational motors corresponding to the n rotational joints, so that the deflection angles of the n connecting rods change, thereby changing the posture of the wheel-legged robot and adjusting the balance state.

[0356] After the robust controller determines the rotational torque of the n rotating joints, it can also determine the rotational torque corresponding to the whole body joints of the wheel-legged robot based on the rotational torque of the n rotating joints, so that more links in addition to the n links in the wheel-legged robot can participate in the balance control process, and realize the combination of the balance control process and the motion process. This method is introduced and explained through several embodiments below.

[0357] In some embodiments, step 1150 in the above embodiment: at the second moment, controlling the rotating motors corresponding to the n rotating joints according to the rotating torques of the n rotating joints may include the following sub-steps:

[0358] Sub-step 1153, calculating the task acceleration of the wheel-legged robot at the second moment according to the rotational torques of the n rotational joints, wherein the task acceleration includes the acceleration related to the center of mass of the wheel-legged robot.

[0359] Optionally, the center of mass of the wheel-legged robot refers to an imaginary point where all the mass of the wheel-legged robot is concentrated. The center of mass of the wheel-legged robot is related to factors such as the mass distribution of various mechanisms of the wheel-legged robot and the posture of the wheel-legged robot.

[0360] Optionally, the task acceleration includes but is not limited to at least one of the following: the acceleration of the center of mass of the wheel-legged robot on the x-axis, the acceleration of the center of mass of the wheel-legged robot on the y-axis, the acceleration of the center of mass of the wheel-legged robot on the z-axis, the angular acceleration of the center of mass of the wheel-legged robot rotating around the x-axis, the angular acceleration of the center of mass of the wheel-legged robot rotating around the y-axis, and the angular acceleration of the center of mass of the wheel-legged robot rotating around the z-axis. Exemplarily, the task acceleration is observed in the operating space or in the joint space.

[0361] The operation space refers to the space related to the operation task of the wheel-legged robot, in which the physical quantities in the operation are observed in the Cartesian coordinate system (world coordinates), and the joint space refers to the coordinate system for observing the motion state of the joint. For example, the physical quantities in the operation space and the physical quantities in the task space can be converted. The position information of a mechanism in the operation space and the position in the joint space can be converted through kinematic formulas, and the speed in the operation space and the speed in the joint space are converted through the Jacobian matrix; wherein the Jacobian matrix refers to a matrix in which the first-order partial derivatives are arranged in a certain way.

[0362] In some embodiments, the task acceleration includes: the acceleration related to the center of mass of the wheel-legged robot during the wheel-legged robot's execution of the operation space task. Optionally, the task acceleration is related to the position of the wheel-legged robot's center of mass relative to the wheel-legged robot. Please refer to the following for the method of determining the task acceleration.

[0363] The operation space task can be understood as the task that the wheel-legged robot needs to perform in the operation space. At a certain moment, the operation task that the wheel-legged robot needs to perform is determined according to the movement scene of the wheel-legged robot. Optionally, there can be multiple operation space tasks performed by the wheel-legged robot at the first moment.

[0364] Exemplarily, the types of operating space tasks include but are not limited to at least one of the following: supporting wheel tasks, trunk vertical direction tasks, trunk posture tasks, swinging wheel tasks, center of mass tasks, etc.; wherein, the supporting wheel task refers to the task related to the moving wheel of at least one moving wheel of the wheel-legged robot that is in contact with the contact surface, the trunk vertical direction task refers to the task of the trunk mechanism (also referred to as the body mechanism) of the wheel-legged robot in the z-axis direction of the world coordinate system, the trunk posture task refers to the task related to the Euler angles of the trunk mechanism of the wheel-legged robot, and the Euler angles include roll angle, pitch angle and yaw angle; the swinging wheel task refers to the task related to the moving wheel of at least one moving wheel of the wheel-legged robot that is not in contact with the contact surface; the center of mass task refers to the task related to the center of mass of the wheel-legged robot.

[0365] Sub-step 1156, determining the force and torque instructions of the whole body joints of the wheel-legged robot at the second moment according to the task acceleration, the whole body joints including n rotational joints.

[0366] In some embodiments, the whole body joint refers to the active joint in the wheel-legged robot. Optionally, the types of whole body joints include: rotational joints and linear joints. Exemplarily, the rotational joint corresponds to a rotary motor, and the deflection angle, angular velocity, etc. of the connecting rod connected to the rotational joint are changed by rotating the rotary motor. The linear joint corresponds to a linear motor, and the linear motor is used to change the length of the mechanism. For example, the leg mechanism (first connecting rod) of the wheel-legged robot includes a linear motor, and the length of the leg mechanism can be adjusted by the linear motor.

[0367] In some embodiments, after determining the task acceleration, the observation module sends the task acceleration to the whole body dynamics controller; the whole body dynamics controller determines the force and torque instructions corresponding to the whole body joints according to the task acceleration. Optionally, if the wheel-legged robot performs multiple operation space tasks at the first moment, in addition to determining the task acceleration related to the center of mass of the wheel-legged robot, it is also necessary to calculate other task accelerations corresponding to other operation space tasks. For the specific content of this process, please refer to the following embodiment.

[0368] Optionally, the whole body dynamics controller is designed with a whole body dynamics equation of the wheel-legged robot, which is used to characterize the relationship between the posture of the wheel-legged robot and the whole body state variables. The whole body dynamics equation is obtained by establishing a whole body dynamics model of the wheel-legged robot and deriving it through kinematics.

[0369] Alternatively, the whole body dynamics model can be expressed by the following formula:

[0370]

[0371] in, represents the joint space inertia matrix, and the joint space inertia matrix H includes the inertia of the joint rigid bodies of the whole body joints; It represents the offset forces received by the joints of the whole body in the joint space. The C matrix includes the sum of the Coriolis force, centripetal force, and gravity received by the complete wheel-legged robot. represents the selection matrix; represents the contact point Jacobian matrix; represents a contact force vector, including at least one contact force on the wheel-legged robot; They represent generalized position, generalized velocity, and generalized acceleration respectively; N G Represents the total degree of freedom of the robot, N G =N f +N J , N f is the floating degree of freedom, N J is the degree of freedom of the active joint. The active joint refers to the joint that can move automatically. N C Represents the number of contact forces, N C Equal to the number of contact points n C With the dimension N of a single contact force D It should be noted that τ is the vector of force and torque commands for all joints of the whole body, and τ is the vector of rotational torques of n rotational joints, and the two have different meanings.

[0372] Optionally, the whole-body dynamics equation is constructed based on the rigid body dynamics of the whole-body dynamics model of the wheel-legged robot, and the whole-body dynamics equation is used to describe the relationship between the posture of the complete wheel-legged robot and the motion state of each active joint and the external force it is subjected to.

[0373] In some embodiments, the force and torque instructions include at least one of the following instructions: a force instruction and a torque instruction. Optionally, the force and torque instructions of the rotary motor include a torque instruction, and the torque instruction is used to control the rotary motor to rotate according to the torque instruction; the force and torque instructions of the linear motor include a force instruction, and the force instruction is used to control the linear motor to perform linear motion.

[0374] Sub-step 1159, controlling the joints of the whole body according to the force and torque instructions at the second moment.

[0375] After determining the force and torque instructions of the joints of the whole body, the whole body dynamics controller sends the force and torque instructions to the joint motors corresponding to the joints of the whole body. The joint motors corresponding to the joints of the whole body perform linear motion or rotation according to the received force and torque instructions, so that the posture of the wheel-legged robot changes, thereby adjusting the balance state of the wheel-legged robot.

[0376] Optionally, after the rotating motors corresponding to the n rotating motors respectively receive force and torque instructions, the rotating motors rotate so that the deflection angle, angular velocity, and angular acceleration of at least one wheel-legged robot corresponding to the n-order inverted pendulum model change; for the active joints not considered in the n-order inverted pendulum (i.e., other active joints other than the n joints), these active joints start to move after receiving the force and torque instructions.

[0377] Exemplarily, after the linear motor in the leg mechanism receives the force and torque command, the linear motor moves to change the length of the leg mechanism, change the height of the wheel-legged robot, and change the position of the center of mass of the wheel-legged robot in the z-axis direction. Exemplarily, for the other rotating motors except the n rotating motors, the other rotating motors rotate according to the received force and torque command.

[0378] It should be noted that the rotational torque of the n rotational joints and the numbers of force and torque instructions corresponding to the n rotational joints may be different. In the process of determining the force and torque instructions of the whole body joints by the whole body dynamics controller, state quantities related to the operating space tasks of the wheel-legged robot are used, and more rotational joints are involved.

[0379] The force and torque instructions generated by the whole-body dynamics controller are used for balance control, so that more links (more than n links) can participate in balance control, enriching the posture of the wheel-legged robot during the balance adjustment process, and realizing the combination of balance adjustment and the operational space tasks of the motion process. The balance adjustment is completed by combining the robust controller and the whole-body dynamics controller, providing a new idea for balance control.

[0380] The method for determining the task acceleration is introduced and explained below through several embodiments.

[0381] In some embodiments, sub-step 1153: calculating the task acceleration of the wheel-legged robot at the second moment according to the rotational torque of the n rotational joints. Sub-step 1153 can be completed by an observation module, and the observation module is used to determine the task acceleration. Optionally, the observation module is designed with a method for converting the rotational torque of the n rotational joints into the task acceleration.

[0382] Optionally, sub-step 1153 may include the following sub-steps:

[0383] Sub-step 1153-a, determining the angular acceleration at the second moment according to the dynamic equation and the rotational torque of the n revolute joints.

[0384] The dynamic equation refers to a dynamic equation obtained based on an n-th order inverted pendulum model, and the dynamic equation is related to the motion states of n mechanisms and the rotational torques of n rotating joints.

[0385] Optionally, after the robust controller of the wheel-legged robot determines the rotational torques of the n rotational joints according to the state quantity at the first moment, the rotational torques of the n rotational joints are sent to an observation module in the control system. The observation module determines the rotational torques of the n rotational joints according to Formula 2 above:

[0386]

[0387] Calculate the angular acceleration of the wheel-legged robot at the second moment.

[0388] Optionally, the angular acceleration at the second moment refers to the angular acceleration related to the n-th order inverted pendulum model. Exemplarily, the angular acceleration at the second moment includes the angular accelerations of the n connecting rods at the second moment and the angular acceleration of the moving wheel at the second moment.

[0389] Sub-step 1153-b, determines the expected incremental position and expected incremental speed of the center of mass of the wheel-legged robot at the second moment based on the state quantity at the first moment and the angular acceleration at the second moment, the expected incremental position is used to characterize the distance between the projection of the center of mass of the wheel-legged robot on the contact surface and the virtual contact point in the first direction, the expected incremental speed is used to characterize the changing speed of the distance in the above-mentioned first direction, and the virtual contact point refers to the center of each contact point of the wheel-legged robot with the contact surface.

[0390] In some embodiments, when at least two moving wheels of the wheel-legged robot are in contact with the contact surface, the virtual contact point refers to the center of the line connecting the contact points of the at least two moving wheels and the contact surface.

[0391] In some embodiments, the expected position increment is used to characterize the position of the center of mass of the wheel-legged robot relative to the wheel-legged robot. The expected incremental speed is the first-order derivative of the expected position increment with respect to time, that is, the expected position increment is used to characterize the speed of position change of the center of mass of the legged robot relative to the wheel-legged robot.

[0392] Optionally, the expected position increment and the expected speed increment refer to the relative position and relative speed of the center of mass of the wheel-legged robot in the first direction, respectively. The first direction refers to the forward direction of the wheel-legged robot (i.e., the x-axis direction in the world coordinate system). If the wheel-legged robot involves movement in the left and right directions (i.e., the y-axis direction in the world coordinate system), the expected speed increment refers to the component of the relative speed of the center of mass of the wheel-legged robot in the first direction.

[0393] In some embodiments, after determining the angular acceleration at the second moment, the observation module uses the forward kinematics method to determine the expected incremental position and expected incremental velocity of the center of mass of the wheel-legged robot at the second moment based on the acceleration at the second moment, the deflection angle of the n links, the rotation angle of the moving wheels, the angular velocity of the n links, the configuration, model, and parameters of the wheel-legged robot.

[0394] Optionally, when the acceleration at the second moment, the deflection angles of n mechanisms, the rotation angles of the moving wheels, the angular velocities of n mechanisms and other state quantities are known, the position and velocity of the end of the wheel-legged robot are calculated according to forward kinematics, that is, the posture of the wheel-legged robot at the second moment is determined; based on the position of the wheel-legged robot in the operating space and the posture of the wheel-legged robot, the position of the center of mass of the wheel-legged robot in the operating space can be calculated, thereby obtaining the expected incremental position and the expected incremental velocity.

[0395] Sub-step 1153-c, determining the task acceleration of the wheel-legged robot at the second moment based on the expected incremental position and the expected incremental speed.

[0396] In some embodiments, the observation module determines a reference state variable group of the center of mass of the wheel-legged robot based on the expected incremental position and the expected incremental speed; the observation module determines the task acceleration based on the reference state variable group and the actual state variable group of the center of mass of the legged robot.

[0397] The reference state variable group is used to characterize: the state variable of the center of mass of the wheel-legged robot at the second moment inferred by kinematics. Optionally, the reference state variable group includes: the expected incremental position Δx r , expected incremental speed Desired location Expected speed The expected position refers to the operation space position of the center of mass of the wheel-legged robot at the second moment, or the joint space position at the second moment, and the expected velocity refers to the first-order derivative of the expected position with respect to time.

[0398] The actual state variable group is used to characterize: the state variables of the wheel-legged robot observed by the sensor. Optionally, the actual state variable group includes: the actual incremental position Δx a , Actual incremental speed Physical location Actual speed The actual position refers to the position of the center of mass of the wheel-legged robot in the operating space, and the actual speed refers to the first-order derivative of the actual position with respect to time.

[0399] Optionally, the task acceleration of the wheel-legged robot at the second moment is It can be calculated by the following formula:

[0400]

[0401] Wherein, K represents the feedback gain matrix. Exemplarily, LQR is used to construct the objective function of the inverted pendulum dynamics equation, and then the feedback gain matrix of the inverted pendulum dynamics equation is iteratively obtained with the goal of minimizing the objective function. LQR is constructed based on the quadratic programming optimization method, and its essence is: under linear constraints, find a multidimensional vector so that the quadratic objective function of the multidimensional vector is minimized (or maximized).

[0402] In some embodiments, the observation module sends the calculated task acceleration of the wheel-legged robot to the whole-body dynamics controller. The whole-body dynamics controller generates force and torque instructions for the whole-body joints of the wheel-legged robot according to the task acceleration. The whole-body dynamics controller sends the force and torque instructions for the whole-body joints to the joint motors corresponding to each active joint to control the movement of the whole-body joints, thereby adjusting the posture of the wheel-legged robot so that the wheel-legged robot maintains a balanced state.

[0403] In some embodiments, the observation module generates force and torque instructions for the whole-body joints of the wheel-legged robot based on the task acceleration, including the following steps: the whole-body dynamics controller determines the expected operation space task of the wheel-legged robot at the second moment, and the expected operation space task includes at least one task acceleration corresponding to the operation space task; the whole-body dynamics controller performs spatial transformation on the expected operation space task to obtain the expected joint space task; the whole-body dynamics controller brings the expected joint space task into the whole-body dynamics equation of the wheel-legged robot to obtain force and torque instructions for the whole-body joints.

[0404] Optionally, the expected operation space task includes a task acceleration at the second moment. It can be expressed as:

[0405]

[0406] in, Refers to the first acceleration corresponding to the support wheel task, It refers to the second acceleration corresponding to the task in the vertical direction of the trunk, It refers to the third acceleration corresponding to the trunk posture task, The fourth acceleration corresponding to the swing wheel task, It refers to the task acceleration corresponding to the center of mass task. Optionally, the operation space tasks of the wheel-legged robot are different at different times, that is, the values ​​of some accelerations included in the expected operation space tasks can be 0.

[0407] Optionally, the relationship between the acceleration in the operation space included in the desired operation space task and the joint space velocity and acceleration in the joint space task is:

[0408]

[0409] Among them, J t represents the Jacobian matrix of the action space task, The derivative of the Jacobian matrix representing the task in the action space.

[0410] According to the whole body dynamics equation: Joint space task with expectation Can calculate Among them, τ represents the force and torque commands of the joints of the whole body.

[0411] In order to improve the rationality of the force and torque instructions of the whole body joints, at least one constraint condition is added in the process of solving the whole body dynamic equation. The constraint condition includes but is not limited to at least one of the following: joint physical constraint and friction constraint.

[0412] Optionally, the joint physical constraint is used to limit the force and torque instructions according to the characteristics of the joint motors corresponding to the joints of the wheel-legged robot. The joint physical constraint can be expressed as:

[0413] τ lb ≤τ≤τ ub

[0414] Among them, τ represents the matrix of force and torque instructions of the joints of the whole body, τ lb represents the matrix including the minimum values ​​of the force and torque commands corresponding to each active joint, τ ub Represents a matrix including the maximum values ​​of the force and torque commands corresponding to each active joint.

[0415] Optionally, the friction constraint is to set the contact force f at the i-th contact point i The friction cone constraint should be satisfied. To reduce nonlinearity, the friction cone can be approximated as a friction angle cone, and the friction inequality constraint can be expressed as:

[0416]

[0417] Among them, n x 、n y 、n z They represent the unit orthogonal basis of the contact surface along the operating space system, μ i represents the friction coefficient, f i,zlb 、f i,zub They respectively represent the minimum and maximum values ​​of the non-negative positive pressure perpendicular to the contact surface.

[0418] The following is an introduction to the process of solving the whole-body dynamics equation. Optionally, the process can be completed by an optimizer: the whole-body dynamics equation is expressed as a polynomial solution in the form of AX=B.

[0419] in, Use the quadratic programming optimizer to construct the objective function, which can be expressed as: J = min (AX-B) T Q(AX-B)+X T RX; where Q and R are weight matrices, the minimum value of the objective function is calculated by the quadratic programming optimizer, and the result is The various variables in , that is, the force and torque instructions τ of the joints of the whole body are obtained.

[0420] This method can independently determine the force and torque instructions corresponding to each joint of the body. In a scenario where multiple real wheels of the wheel-legged robot do not overlap in the first direction, control of at least one real wheel and at least one real first rotational joint can also be achieved.

[0421] The following describes a method for determining each expected acceleration in the expected operation space task, and the method for determining each element in the expected operation space task is preset. Optionally, the expected acceleration is determined based on the actual acceleration and the reference acceleration.

[0422] 1. The first acceleration corresponding to the support wheel task method of determination.

[0423] Since the support wheel rolls on the contact surface and there is no relative sliding between the support wheel and the contact surface, the expected acceleration of the support wheel is is always equal to 0; the expected acceleration of the support wheel can be expressed as If the wheel-legged robot works in the four-wheel mode, there are four support wheels, each of which has a task in the x-direction. Assuming that the support wheels do not leave the ground, the height of the support wheels in the z-axis direction of the world coordinate system is constant, so the tasks of the four support wheels in the z-axis direction are not considered for the time being. Assuming that the wheel-legged robot does not perform left and right turns in the four-wheel mode and the wheel-legged robot does not perform translational actions along the y-axis direction of the world coordinate system, the tasks of the four support wheels in the y-axis direction are not considered for the time being.

[0424] If the wheel-legged robot works in the two-wheel balancing mode, there are two support wheels, and the other two moving wheels are swing wheels. The tasks of the support wheels are not considered for the time being. The tasks related to the two supports have been included in the introduction related to the "center of mass task" below. At the same time, the tasks of the two swing wheels include two dimensions, the x-axis direction and the z-axis direction. If the left and right turning actions of the wheel-legged robot in the two-wheel balancing mode and the translational actions of the wheel-legged robot along the y-axis are not considered, the tasks of the two swing wheels in the y direction are not considered for the time being.

[0425] 2. Second acceleration corresponding to the task in the vertical direction of the trunk method of determination.

[0426] The camera in the wheel-legged robot obtains the position information of the supporting wheels at multiple future moments by capturing the height changes of the contact surface in the field of view. The expression formula of the position information at multiple future moments is determined through planning methods such as spline curve interpolation, and the vertical reference position of the trunk mechanism is determined based on the expression formula. speed Acceleration According to the IMU sensor and the deflection angle (joint angle) and angular velocity of the mechanism, the actual vertical position of the trunk mechanism is calculated by forward kinematics. speed Construct a PD (Proportional Derivative) feedback controller corresponding to the trunk vertical direction task and calculate the expected acceleration in the trunk vertical direction, i.e. the second acceleration

[0427]

[0428] 3. The third acceleration corresponding to the trunk posture task method of determination.

[0429] In some scenarios (such as going up stairs), the trunk of the wheel-legged robot needs to be kept vertical as much as possible, and the trunk will not rotate, that is, the Euler angle reference trajectory composed of the roll angle, pitch angle, and yaw angle of the trunk is zero, that is, The wheel-legged robot calculates the actual Euler angle based on the observation results of the IMU sensor according to the forward kinematics formula Angular velocity The desired angular acceleration of the trunk can be calculated by the PD feedback controller corresponding to the trunk posture task: that is, the third acceleration

[0430]

[0431] 4. The fourth acceleration corresponding to the swing wheel task method of determination.

[0432] In the scenario of two-wheel balance, for example, when the two-wheel balance is driving on the ground, the two swinging wheels are required to present specific postures and movements, or when the two wheels are walking forward on the ground, the supporting wheel leg and the swinging wheel leg are switched, or when walking up and down stairs, the supporting wheel leg and the swinging wheel leg are switched, etc., there are corresponding fourth accelerations.

[0433] The reference position of the swing wheel in the operating space is planned by spline curve interpolation method speed Acceleration Based on the observation results of the IMU sensor, joint angle and angular velocity information, the actual position of the swing wheel is calculated according to positive kinematics speed By constructing the PD feedback controller corresponding to the swing wheel task, the expected acceleration of the swing wheel can be calculated: that is, the third acceleration The PD feedback controller calculates the third acceleration The formula is as follows:

[0434]

[0435] 5. Task acceleration corresponding to the center of mass task method of determination.

[0436] Optionally, a reference position of the center of mass along the forward direction is planned using a heuristic or model-based approach speed During the movement of the wheel-legged robot, the execution center of mass of the wheel-legged robot not only needs to move continuously along the forward direction, but also needs to be within the range of the wheel-legged robot to maintain dynamic balance. Based on this, a method for determining the expected acceleration of the center of mass (also known as the task acceleration) is designed.

[0437] Assume that the mass of the wheel-legged robot is concentrated at the center of mass of the wheel-legged robot, set the center of the line connecting at least two supporting wheels as the virtual contact point between the inverted pendulum related to the center of mass and the contact surface, connect the center of mass and the virtual contact point, and construct an inverted pendulum model of the center of mass.

[0438] Fig.12 Schematic diagram of a mass-center related inverted pendulum provided by an exemplary embodiment of the present application.

[0439] The center of mass of the wheel-legged robot 1210 and the virtual contact point 1220. According to the inverted pendulum model related to the center of mass, the dynamic equation related to the center of mass is determined:

[0440]

[0441] Using the linear quadratic programming regulator, determine the feedback gain matrix K. Based on the LQR controller, the input of the state equation can be obtained:

[0442] in, represents the actual state variable group, Represents the actual state variable group. For other parameters, please refer to the above introduction and will not be repeated here.

[0443] In some embodiments, the balance control method provided in the present application is continuously executed during the operation of the wheel-legged robot, that is, the robust controller continuously obtains the state quantity at the current moment, determines the dynamic model parameters based on the state quantity at the current moment, establishes the sliding surface, and determines the rotational torque of n rotational joints based on the dynamic model parameters and the sliding surface control.

[0444] In other embodiments, when the IMU sensor detects that the deflection angle of some links (such as the first link) in the wheel-legged robot changes dramatically, the robust controller executes the balance control method starting from step 1110. For example, at a certain moment, the IMU sensor detects that the deflection angle change of the first link is greater than the angle threshold, then the IMU sensor sends the detected state parameters to the robust controller, and the robust controller starts the balance adjustment process, and the angle threshold can be preset.

[0445] In other embodiments, when the moving wheel does not receive the control signal from the controller and the motor encoder detects that the moving wheel moves, the robust controller starts to execute the balancing control method starting from step 1110 .

[0446] Through this method, the balance control of the wheel-legged robot is intermittently performed through a robust controller, which helps to save the energy consumption of the wheel-legged robot and improve the wheel-legged robot's ability to resist external interference without greatly affecting the balance control effect.

[0447] The following is an example to illustrate the process of the balance control method:

[0448] In some embodiments, the IMU sensor detects that the deflection angle change of the first link is greater than the angle threshold, indicating that under the external force disturbance, the wheel-legged robot has undergone a large swing change, affecting the balance of the wheel-legged robot, and the robust controller starts the balance control process.

[0449] Step A10: The robust controller obtains the first moment t i The state quantity includes: the deflection angle q of n connecting rods 1 ,q 2 ,…,q n , the angular velocity of the moving wheel Angular velocities of n connecting rods

[0450] Step A20: The robust controller substitutes the state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment.

[0451] This step mainly uses the formula:

[0452]

[0453] The robust controller uses the selection matrix to process the product between the inverse matrix of the inertia matrix and the deflection force matrix, and the product between the inverse matrix of the inertia matrix and the gravity matrix, respectively, to obtain the offset parameter matrix.

[0454] The formula used to calculate the offset parameter matrix is ​​mainly:

[0455]

[0456] The robust controller uses the selection matrix to process the inverse matrix of the inertia matrix to obtain the proportional parameter matrix.

[0457] The formula used to calculate the scale parameter matrix is ​​mainly:

[0458]

[0459] Step A30: The robust controller determines the sliding mode parameters to be used for the n sliding surfaces respectively from the prediction parameter set.

[0460] Step A40: The robust controller creates n sliding surfaces according to:

[0461] Step A50: Calculate the rotational torque of the n rotational joints according to the sliding surface and the dynamic model parameters. In the process of calculating the rotational torque of the n rotations, the formulas mainly used are the above formula 3 and formula 4; these two formulas are specifically formula 3: Formula 4:

[0462] Optionally, after determining the rotational torque of the n rotational joints, the robust controller may also first determine whether to continue the balance adjustment process. For example, the robust controller determines whether the rotational torque of the n rotational joints is greater than a first threshold. If the rotational torque of the n rotational joints is greater than the first threshold, the robust controller continues to execute step A60; if the rotational torque of the n rotational joints is less than the first threshold, the robust controller does not execute step A60 and the balance control ends.

[0463] Step A60: At the second time t i+1 ,The wheel-legged robot controls the rotation motors of n rotational joints according to the rotational torque of n rotational joints, and adjusts the angle between the trunk link and the leg link.

[0464] Before the balance control process is completed, the above steps A10-A60 are repeatedly executed.

[0465] It should be noted that the various formulas used in this example are all formulas that appear in the above embodiments. For explanations of the parameters in these formulas, please refer to the above embodiments and will not be repeated here.

[0466] By abstracting the wheel-legged robot into an n-order inverted pendulum model, the joint motors of multiple rotating joints can be adjusted during the balance adjustment process, so that the postures of multiple connecting rods in the balance adjustment process are richer, which helps to reach a balance state faster and helps to improve the robustness of the balance control method.

[0467] The following is another example to illustrate the process of the balance control method:

[0468] In the balancing control process, step B10: the robust controller obtains the first moment t i The state quantity includes: the deflection angle q of n connecting rods 1 ,q 2 ,…,q n , the angular velocity of the moving wheel Angular velocities of n connecting rods

[0469] Step B20: The robust controller substitutes the state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment; the robust controller uses the selection matrix to process the product between the inverse matrix of the inertia matrix and the deflection force matrix, and the product between the inverse matrix of the inertia matrix and the gravity matrix, respectively, to obtain the offset parameter matrix. For the specific content of this process, please refer to the above embodiment, which will not be described in detail.

[0470] Step B30: The robust controller determines the sliding mode parameters to be used for the n sliding surfaces respectively from the prediction parameter set.

[0471] Step B40: The robust controller creates n sliding surfaces according to the sliding mode parameters and state quantities:

[0472] Step B50: Calculate the rotational torque of the n rotational joints according to the sliding surface and the dynamic model parameters. Optionally, after determining the rotational torque of the n rotational joints, the robust controller determines whether the rotational torque of the n rotational joints is greater than a first threshold value. If the rotational torque of the n rotational joints is greater than the first threshold value, the robust controller continues to execute step B50; if the rotational torque of the n rotational joints is less than the first threshold value, the robust controller does not execute step B50, and the balancing control ends.

[0473] Step B60: The robust controller sends the rotational torque of the n rotating joints to the observation module, and the observation module determines the task acceleration according to the rotational torque of the n rotating joints; the observation module sends the task acceleration to the whole-body dynamics controller, and the whole-body dynamics controller determines the force and torque instructions of the whole-body joints according to the task acceleration, and the whole-body dynamics controller sends corresponding force and torque instructions to each joint motor.

[0474] Step B70: At the second time t i+1 The wheel-legged robot controls the movement of motors corresponding to the joints of the whole body according to the force and torque instructions, and adjusts the posture of the wheel-legged robot.

[0475] Before the balance control process is completed, the above steps B10-B70 are repeatedly executed.

[0476] It should be noted that the various formulas used in this example are all formulas that appear in the above embodiments. For explanations of the parameters in these formulas, please refer to the above embodiments and will not be repeated here.

[0477] By abstracting the wheel-legged robot into an n-order inverted pendulum model, calculating the rotational torque of n rotational joints, and determining the task acceleration of the wheel-legged robot based on the rotational torque of the n rotational joints, the input of the whole-body dynamics controller in the balance control process is obtained, so that the whole-body dynamics controller can calculate the force and torque instructions of the whole-body joints, so that each mechanism in the wheel-legged robot can participate in the balance control process, further enriching the posture of the wheel-legged robot in the balance control process, and helping to improve the robustness of the balance control method.

[0478] The following takes n equals 2 as an example to introduce the balance control method.

[0479] Depend on Fig. 9It can be seen that when n is equal to 2, the n-order inverted pendulum model includes a moving wheel, two connecting rods and two revolute joints. Optionally, the two connecting rods refer to the leg mechanism and the trunk mechanism of the wheel-legged robot. If the wheel-legged robot has multiple moving wheels, the first moving wheel in contact with the contact surface among the multiple moving wheels overlaps in the y-axis direction of the world coordinate system, and the leg mechanisms respectively connected to at least one first moving wheel overlap in the y-axis direction. The leg mechanism is connected to the moving wheel through a first revolute joint, and the trunk mechanism is connected to the leg mechanism through a second revolute joint.

[0480] The balance control method includes the following steps:

[0481] Step 1310, obtaining the state quantity of the wheel-legged robot at the first moment, where the state quantity at the first moment is used to characterize the motion state of the wheel-legged robot at the first moment.

[0482] Optionally, the state quantity at the first moment includes at least one of the following: a deflection angle α of the leg mechanism, a deflection angle β of the trunk mechanism, an angular velocity of the moving wheel Angular velocity of the leg mechanism and the angular velocity of the trunk The state quantity can be represented by the symbol ξ, and the state quantity ξ can be expressed as:

[0483]

[0484] The physical quantities included in the state quantity are observed in the world coordinate system; among them, the deflection angle α of the leg mechanism refers to: the deflection angle of the leg mechanism relative to the z-axis in the world coordinate system, the deflection angle β of the trunk mechanism refers to: the deflection angle of the trunk mechanism relative to the z-axis in the world coordinate system, and the angular velocity of the moving wheel Refers to: the rotation speed of the moving wheel in the counterclockwise (or clockwise) direction of the x-axis in the world coordinate system, the angular velocity of the leg mechanism Used to represent the deflection angle change rate of the leg mechanism and the angular velocity of the trunk mechanism Used to characterize the speed of change of the deflection angle of the leg-torso mechanism.

[0485] It should be noted that the physical quantities in the state quantity can also be determined by the relative positions between the various mechanisms of the wheel-legged robot. For example, the deflection angle α of the leg mechanism refers to: the deflection angle of the leg mechanism relative to the z-axis in the world coordinate system, and the deflection angle β′ of the trunk mechanism refers to: the deflection angle of the trunk mechanism relative to the leg mechanism, that is, β=α+β′ (β′ has the same positive direction as β). The coordinate system used to observe each physical quantity in the state quantity is determined according to actual needs, and this application does not limit it here.

[0486] In some embodiments, the computer device obtains the state quantity of the wheel-legged robot at the first moment, including: determining the deflection angle α of the leg mechanism and the deflection angle β of the trunk mechanism through the IMU sensor and the motor encoder; determining the angular velocity of the moving wheel through the motor encoder Angular velocity of the leg mechanism and the angular velocity of the trunk

[0487] Step 1320, determining the dynamic model parameters according to the dynamic equation of the wheel-legged robot and the state quantity at the first moment.

[0488] Step 1320 includes the following sub-steps: Sub-step 1323: The robust controller substitutes the state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment. The inertia matrix is ​​used to characterize the mass and moment of inertia of each joint rigid body constituting the wheel-legged robot at the first moment. The deflection force matrix is ​​used to characterize the deflection force of the wheel-legged robot at the first moment. The gravity matrix is ​​used to characterize the gravity of the wheel-legged robot at the first moment.

[0489] Sub-step 1326: Determine the dynamic model parameters according to the inertia matrix, the deflection force matrix and the gravity matrix.

[0490] When n is equal to 2, after the wheel-legged robot is abstracted into a second-order inverted pendulum model, the dynamic equation used in the balance control process derived based on the Euler-Lagrange equation can be expressed as:

[0491]

[0492] Optionally, the dynamic model parameters are determined by derivation based on a second-order inverted pendulum model used for balance control; the dynamic model parameters include: a proportional parameter matrix and an offset parameter matrix.

[0493] In the design process of robust controller, the dynamic equation is:

[0494]

[0495] After partial linearization, we get formula a:

[0496]

[0497] Among them, M -1 (α, β) is the inverse matrix of the inertia matrix, M -1 (α, β)*M(α, β)=E, where E is the unit matrix. The physical meanings of other parameters in the equation can be found in the above embodiment and will not be elaborated on here.

[0498] Formula a is processed so that the rotational torque τ of the first revolute joint is 1 and the rotational torque τ of the second revolute joint 2 Unify in formula a, use the selection matrix to process formula a, and get formula b:

[0499]

[0500] in, That is, the offset parameter matrix f[], That is the scale parameter matrix g[], S T is the transposed matrix of matrix S, S T The matrix is ​​a 3*2 selection matrix, for example, S T The matrix is ​​specifically

[0501] Formula b can be pre-designed after the wheel-legged robot is abstracted as a second-order inverted pendulum model. During the balance control method, after the robust controller obtains the state quantity at the first moment, it substitutes the state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment; the dynamic model parameters are determined according to the inertia matrix, deflection force matrix and gravity matrix.

[0502] Optionally, sub-step 1326 can be implemented by the following steps: the robust controller uses the selection matrix to process the product between the inverse matrix of the inertia matrix and the deflection force matrix, and the product between the inverse matrix of the inertia matrix and the gravity matrix, respectively, to obtain an offset parameter matrix, and the selection matrix is ​​used to extract the rotational torque of the first rotational joint and the rotational torque of the second rotational joint from the dynamic equation; the robust controller uses the selection matrix to process the inverse matrix of the inertia matrix to obtain a proportional parameter matrix. For the specific content of this process, please refer to the above embodiment, which will not be repeated here.

[0503] That is to say, in the balancing control process, the robust controller can be based on formula b and Fig. 9 The proportional parameter matrix and the dynamic model parameter matrix are calculated from the equations in part (5) of the corresponding specification.

[0504] Step 1330, establishing a sliding surface based on the state quantity at the first moment, and the state quantity of the wheel-legged robot gradually approaches 0 on the sliding surface.

[0505] When n is equal to 2, it is necessary to determine the rotational torque of the first rotational joint and the rotational torque of the second rotational joint, and the robust controller needs to establish two sliding surfaces. The two sliding surfaces include: 1. The sliding surface of the first rotational joint, that is, the state quantity related to the first rotational joint gradually tends to 0 on the sliding surface; 2. The sliding surface of the second rotational joint, that is, the state quantity related to the second rotational joint gradually tends to 0 on the sliding surface.

[0506] Optionally, the first sliding surface is different from the second sliding surface. The purpose of setting the first sliding surface and the second sliding surface is to calculate the turning torque of the first rotational joint and the turning torque of the second rotational joint. The first sliding surface and the second sliding surface jointly participate in the calculation process of the turning torque of the first rotational joint and the second rotational joint. The definition of the first sliding surface may not be limited to being the sliding surface corresponding to the first rotational joint. Similarly, the definition of the second sliding surface may not be limited to being the sliding surface corresponding to the second rotational joint. The first sliding surface and the second sliding surface may be defined according to actual needs, and this application does not limit this.

[0507] From the introduction of the n-order inverted pendulum model above, we can see that in order to ensure the calculation of a certain torque, the establishment of the sliding surface requires at least 3 state parameters and at least 2 sliding parameters in the state quantity; among them, the state quantity is written as Then α, β, These are all status parameters.

[0508] In some embodiments, step 1330 includes, sub-step 1333: the robust controller determines at least four sliding mode parameters, and the sliding mode parameters are used to constrain the rotational torque of the first rotational joint and the rotational torque of the second rotational joint to meet the system stability condition of the wheel-legged robot.

[0509] Optionally, different state parameters and sliding parameters are used to establish different sliding surfaces. Exemplarily, establishing the first sliding surface requires at least the deflection angle of the leg mechanism, the angular velocity of the moving wheel, and the angular velocity of the leg mechanism in the state quantity; establishing the second sliding surface requires at least the deflection angle of the trunk mechanism, the angular velocity of the moving wheel, and the angular velocity of the trunk mechanism in the state quantity at the first moment; in this case, the at least two sliding parameters included in the first sliding surface are: the sliding parameter corresponding to the deflection angle of the leg mechanism, and the sliding parameter corresponding to the angular velocity of the moving wheel. The at least two sliding parameters included in the second sliding surface are: the sliding parameter corresponding to the deflection angle of the trunk mechanism, and the sliding parameter corresponding to the angular velocity of the moving wheel.

[0510] In some embodiments, step 1330 further includes sub-step 1336, wherein the robust controller establishes a first sliding surface and a second sliding surface according to the state quantity at the first moment and at least four sliding mode parameters.

[0511] Optionally, the robust controller establishes a first sliding surface based on the first sliding parameter, the second sliding parameter, the deflection angle of the leg mechanism, the angular velocity of the moving wheel and the angular velocity of the leg mechanism; and establishes a second sliding surface based on the third sliding parameter, the fourth sliding parameter, the deflection angle of the trunk mechanism, the angular velocity of the trunk mechanism and the angular acceleration of the leg mechanism.

[0512] Exemplarily, the robust controller processes the deflection angle of the leg mechanism through the first sliding mode parameter to obtain the processing result of the leg mechanism; processes the angular velocity of the moving wheel through the second sliding mode parameter to obtain the processing result of the moving wheel, and the robust controller determines the first sliding mode surface according to the processing result of the leg mechanism, the processing result of the moving wheel and the angular velocity of the leg mechanism. Optionally, the first sliding mode surface is proportional to the processing result of the leg mechanism, the first sliding mode surface is proportional to the processing result of the moving wheel, and the first sliding mode surface is proportional to the angular velocity of the leg mechanism.

[0513] For example, the robust controller adds the processing result of the leg mechanism, the processing result of the moving wheel and the angular velocity of the leg mechanism to obtain the first sliding surface.

[0514] Exemplarily, the robust controller processes the deflection angle of the trunk mechanism through the third sliding mode parameter to obtain the processing result of the trunk mechanism; processes the angular velocity of the moving wheel through the fourth sliding mode parameter to obtain the processing result of the moving wheel; the robust controller determines the second sliding mode surface according to the processing result of the trunk mechanism, the processing result of the moving wheel and the angular velocity of the trunk mechanism. Optionally, the second sliding mode surface is proportional to the processing result of the trunk mechanism, the second sliding mode surface is proportional to the processing result of the moving wheel, and the second sliding mode surface is proportional to the angular velocity of the leg mechanism.

[0515] For example, the robust controller adds the processing result of the trunk mechanism, the processing result of the moving wheel and the angular velocity of the trunk mechanism to obtain the second sliding surface.

[0516] In some embodiments, during the balancing control process, the robust controller establishes the first sliding surface s according to the following two formulas: 1 and the second sliding surface s 2 :

[0517] s 1 =λ 1 ξ 1 +λ 2 ξ 3 +ξ 4

[0518] s 2 =λ 3 ξ 2 +λ 4 ξ 3 +ξ 5

[0519] Among them, λ 1 represents the first sliding mode parameter, λ 2 represents the second sliding mode parameter, λ 3 represents the third sliding mode parameter, λ 4 represents the fourth sliding mode parameter, ξ 1 Indicates the state The first element α, ξ 2 Indicates the state The second element β, ξ 3 Indicates the state The third element in ξ 4 Indicates the state The fourth element in ξ 5 Indicates the state The fifth element in

[0520] By establishing the first sliding surface and the second sliding surface in this way and controlling the number of sliding parameters in the first sliding surface and the second sliding surface, the rotational torque of the first rotational joint and the rotational torque of the second rotational joint that meet the system stability principle can be determined with a small calculation cost, which helps to improve the speed of determining the rotational torque and realize the balance control of the robot.

[0521] Step 1340 , calculating the rotational torque of the first revolute joint and the rotational torque of the second revolute joint according to the sliding surface and the dynamic model parameters.

[0522] After determining the first sliding surface and the second sliding surface, the robust controller calculates the first sliding surface s 1 The first derivative formula with respect to time and the second sliding surface s 2 The first-order derivative function formula about time:

[0523]

[0524]

[0525] in, represents the first sliding surface s 1 The first derivative with respect to time is The second sliding surface s 2 The first derivative with respect to time, f k (k∈(1, 2, 3)) is the element in the offset parameter matrix f[] in formula 2 above, g mn (m∈(1, 2, 3), n∈(1, 2, 3)) are the elements in the scale parameter matrix g[] in formula 2 above.

[0526] The first sliding surface s 1 The first derivative formula with respect to time and the second sliding surface s 2 The first-order derivative formula about time is organized into matrix form, and formula c is obtained:

[0527]

[0528] By transposing the terms of formula c, we can obtain formula d:

[0529]

[0530] in, g s -1 g s The inverse matrix of , sgn() is the sign function,

[0531] Formula d can be further written as formula e:

[0532]

[0533] That is, when n=2 in the n-order inverted pendulum model, Formula 4 above is realized as Formula d, Formula 5

[0534] The realization is formula e. In the method for balancing control based on the second-order inverted pendulum model, the calculation process of the rotational torque of the first rotational joint and the rotational torque of the second rotational joint needs to use formula d and formula e.

[0535] Optionally, the robust controller needs to consider the system stability condition during the calculation of the torque. For the method of satisfying the system stability condition during the balance control of the second-order inverted pendulum model, please refer to the following embodiment.

[0536] Step 1350, at the second moment, adjusting the angle between the leg mechanism and the moving wheel according to the rotational torque of the first rotational joint, and adjusting the angle between the trunk mechanism and the leg mechanism according to the rotational torque of the second rotational joint.

[0537] In one implementation, the robust controller sends the rotational torque of the first rotational joint and the rotational torque of the second rotational joint to the joint motor of the first rotational joint and the joint motor of the second rotational joint. That is, step 1350 is implemented as follows: the robust controller adjusts the angle between the leg mechanism and the moving wheel according to the rotational torque of the first rotational joint through the rotational motor of the first rotational joint; the robust controller adjusts the angle between the trunk mechanism and the leg mechanism according to the rotational torque of the second rotational joint through the rotational motor of the second rotational joint.

[0538] In another implementation, after the robust controller determines the rotational torque of the first rotational joint and the rotational torque of the second rotational joint, the robust controller sends the rotational torque of the first rotational joint and the rotational torque of the second rotational joint to the observation module, and the observation module calculates the angular acceleration at the first moment through the rotational torque of the first rotational joint, the rotational torque of the second rotational joint and the dynamic equation; and calculates the task acceleration of the wheel-legged robot based on the angular acceleration at the first moment; the observation module sends the task acceleration to the whole-body dynamics controller; the whole-body dynamics controller determines the force and torque instructions of the whole-body joints of the wheel-legged robot based on the task acceleration; the whole-body dynamics controller controls the joint motor of the first rotational joint to adjust the angle between the leg mechanism and the moving wheel according to the force and torque instructions of the first rotational joint in the force and torque instructions of the whole-body joints; the whole-body dynamics controller controls the joint motor of the second rotational joint to adjust the angle between the trunk mechanism and the leg mechanism according to the force and torque instructions of the second rotational joint in the force and torque instructions of the whole-body joints.

[0539] Optionally, the whole-body dynamics controller can also control the movements of other joints in the wheel-legged robot except the first rotational joint and the second rotational joint according to the force and torque instructions of the whole-body joints, so that more active joints can participate in the balance control process, enriching the posture of the wheel-legged robot during the balance control process.

[0540] For a detailed introduction to this content, please refer to the relevant content in the n-order inverted pendulum model above, which will not be repeated here.

[0541] To summarize, based on abstracting the wheel-legged robot into a second-order inverted pendulum model, during the balance control process, the angle between the moving wheel and the leg mechanism can be adjusted, as well as the angle between the trunk mechanism and the leg mechanism can be adaptively adjusted; the posture of the robot in the balance adjustment process is enriched, making the robot posture change more flexible, which helps to quickly adjust the robot to a balanced state, improve the robot's ability to recover to a balanced state under different disturbance forces, and improve the robustness of the robot's balance control process.

[0542] The following describes an embodiment of the process of satisfying the system stability criterion in the process of calculating the rotational torque of the first rotational joint and the rotational torque of the second rotational joint.

[0543] From the definition and properties of the sliding surface, it can be seen that the state parameters on the sliding surface satisfy:

[0544] s 1 =λ 1 ξ 1 +λ 2 ξ 3 +ξ 4 =0

[0545] s 2 =λ 3 ξ 2 +λ 4 ξ 3 +ξ 5 =0

[0546] The above two formulas can be used to express ξ 4 and 5 :

[0547] ξ 4 =-λ 1 ξ 1 -λ 2 ξ 3

[0548] ξ 5 =-λ 3 ξ 2 -λ 4 ξ 3

[0549] Then 4 First derivative with respect to time ξ 5 First derivative with respect to time It can be expressed as:

[0550]

[0551]

[0552] Because 4 express ξ 1 represents α, ξ 5 express ξ 2 represents β; therefore, ξ 1 ,ξ 2 It can be expressed by the following formula:

[0553]

[0554]

[0555]

[0556] Review the dynamic equation of the second-order inverted pendulum model in polynomial form above:

[0557]

[0558]

[0559]

[0560] Adding the three formulas included in the polynomial form of the dynamic equation gives formula f:

[0561]

[0562] Replace the formula f Substitute and get formula g:

[0563]

[0564] Arrange formula g to get formula h:

[0565]

[0566] The inverse expression is expressed by the formula h get:

[0567]

[0568] Included The three formulas are combined to obtain equation group 1:

[0569]

[0570] Due to space constraints, Eq. The representation on the right side of the equation is somewhat distorted. The “[]” represents an algebraic expression, not a matrix or other meanings. Please refer to the above equation group 1. The expression can be used to understand the equation 1 The way of expressing.

[0571] The equation group 1 can be written as 1 ,ξ 2 ,ξ 3 ) is a state equation of a state variable. Optionally, the state equation refers to an equation related to the state quantity.

[0572] For ease of reading, use a 1 express m 1 express m 2 express m 3 express The state equation can be written as:

[0573]

[0574] Optionally, the system stability criterion refers to that the characteristic roots of the coefficient matrix in the state equation determined according to the sliding surface and the dynamic equation are negative, that is, the characteristic roots are distributed in the left half plane of the phase plane.

[0575] In order to ensure that the system meets the stability criterion, the coefficient matrix needs to be satisfied The characteristic roots of are distributed in the left half plane of the complex plane. This state equation can be used as a matrix inequality constraint, that is, the value of the sliding mode parameter needs to make the characteristic root of the coefficient matrix negative.

[0576] Optionally, in the balancing control process of the present application, the robust controller determines the rotational torque of the first rotational joint and the rotational torque of the second rotational joint according to formula d and equation group 1.

[0577] During the balance control process, the robust controller calculates the rotational torque τ of the first revolute joint according to formula d: 1 and the rotational torque τ of the second revolute joint 2 The sliding surface s involved in formula d 1 , the second sliding surface s 2 , the dynamic model parameters and sliding mode parameters in formula 2. The robust controller obtains the state quantity at the first moment from the sensor, and substitutes the state quantity at the first moment into the corresponding formula to determine the sliding surface s 1 , the second sliding surface s 2 And the dynamic model parameters, and find the sliding mode parameters that meet the system stability conditions, and then calculate the rotational torque τ of the first rotational joint through formula d 1 and the rotational torque τ of the second revolute joint 2 , while ensuring that the sliding mode parameters satisfy the matrix inequality constraints formed by the above state equations.

[0578] In the balancing control method provided in the present application, four sliding mode parameters satisfying the matrix inequality constraints may be determined first, and then the first sliding mode surface and the second sliding mode surface may be constructed by using the sliding mode parameters.

[0579] Alternatively, four sliding mode parameters can be selected within a certain range of values, and the first sliding mode surface and the second sliding mode surface can be constructed using the four sliding mode parameters, and the rotational torque τ of the first revolute joint can be calculated using formula d: 1 and the rotational torque τ of the second revolute joint 2 Afterwards, it is verified whether the four sliding mode parameters satisfy the above matrix inequality constraints.

[0580] Optionally, when the four sliding mode parameters satisfy the above matrix inequality constraints, the rotation torque τ of the first revolute joint is determined as 1 and the rotational torque τ of the second revolute joint 2It can be used; when the four sliding mode parameters do not satisfy the above matrix inequality constraints, the rotation torque τ of the first rotational joint is determined 1 and the rotational torque τ of the second revolute joint 2 Cannot be used.

[0581] The method for determining sliding mode parameters is introduced and explained below through several embodiments.

[0582] In some embodiments, determining at least four sliding mode parameters includes: a computer device determines a first sliding mode parameter from a first prediction parameter set, determines a second sliding mode parameter from a second prediction parameter set, determines a third sliding mode parameter from a third prediction parameter set, and determines a fourth sliding mode parameter from a fourth prediction parameter set; wherein the sliding mode parameters respectively included in the first prediction parameter set, the second prediction parameter set, the third prediction parameter set, and the fourth prediction parameter set satisfy the constraints of the stability criterion.

[0583] In this embodiment, after determining the state at the first moment, the robust controller first uses the above state equation as a matrix inequality constraint to determine λ 1 , 2 , 3 , 4 The corresponding solution sets, namely the first prediction parameter set, the second prediction parameter set, the third prediction parameter set and the fourth prediction parameter set, then select the first sliding mode parameter, the second sliding mode parameter, the third sliding mode parameter and the fourth sliding mode parameter from each parameter set, and establish the first sliding mode surface and the second sliding mode surface through the first sliding mode parameter, the second sliding mode parameter, the third sliding mode parameter and the fourth sliding mode parameter and the state quantity at the first moment, and then calculate the rotational torque of the first rotational joint and the rotational torque of the second rotational joint according to the above formula d.

[0584] In some implementations, the process of determining any one of the four prediction solution sets is as follows: calculating the coefficient matrix The characteristic roots of the coefficient matrix are used as the prediction parameter set.

[0585] This method can avoid selecting sliding mode parameters that do not satisfy the system stability, which results in the rotational torque corresponding to the first rotational joint and the rotational torque corresponding to the second rotational joint calculated using these sliding mode parameters being unable to control the balance of the wheel-legged robot, avoiding invalid calculations by computer equipment, and helping to shorten the time required to determine the rotational torque corresponding to the first rotational joint and the rotational torque corresponding to the second rotational joint.

[0586] Next, the robustness control effect of the balance control of the wheel-legged robot under the balance control method provided in this embodiment is experimentally verified.

[0587] Fig.14It is a simulation schematic diagram of a two-wheel balancing control method provided by an exemplary embodiment of the present application.

[0588] Fig.14 The background is: the wheel-legged robot is in the two-wheel mode, and the wheel-legged robot is subjected to lateral disturbance force. After the wheel-legged robot is abstracted as an n-order inverted pendulum, the state quantity of the wheel-legged robot is obtained through the robust controller, and the rotational torque of the nth rotational joint is calculated through the methods of the above embodiments. And the posture of the leg mechanism and the posture of the trunk mechanism of the wheel-legged robot are adjusted by the rotational torque of the n rotational joints. Fig.14 As shown, when subjected to lateral disturbance force, the wheel-legged robot simultaneously adjusts the postures of its n connecting rods, causing the wheel-legged robot to swing back and forth, while the moving wheels connected to the two outer leg mechanisms maintain balance on the contact surface, and the trunk mechanism also moves in a timely manner to adjust the center of gravity and force of the wheel-legged robot, helping the wheel-legged robot as a whole to quickly restore its balance.

[0589] Fig.15 It is a simulation schematic diagram of a two-wheel balancing control method provided by another exemplary embodiment of the present application. Fig.15 The background is: the wheel-legged robot is in a two-wheel motion mode. In this example, n is equal to 2, that is, the wheel-legged robot is balanced and controlled based on the second-order inverted pendulum model. The wheel-legged robot falls from a height, and when it contacts the contact surface, there is an initial angle between the leg mechanism and the z-axis. When the wheel-legged robot starts to move at an initial position relatively far from the balance point and falls to the ground at the same time, the two outer leg mechanisms will play a role similar to a spring. Due to the large impact, the first revolute joint controls the two outer leg mechanisms to swing back and forth significantly to maintain the robot's balanced posture. The (n-1) connecting rods above the leg mechanism (that is, the first mechanism) also move significantly in a timely manner to adjust the center of gravity and force, helping the robot as a whole to quickly restore its balance.

[0590] The following is an embodiment of the device of the present application, which can be used to execute the embodiment of the method of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the embodiment of the method of the present application.

[0591] Please refer to Fig.16, which shows a block diagram of a balance control device for a wheel-legged robot provided by an embodiment of the present application. The device has the function of implementing the balance control method of the wheel-legged robot described above, and the function can be implemented by hardware, or by hardware executing corresponding software. The device can be the computer device introduced above, and can also be arranged in a computer device. The wheel-legged robot includes: a moving wheel, n connecting rods and n rotating joints, the moving wheel and the first connecting rod of the n connecting rods are connected through a first rotating joint of the n rotating joints, and the n connecting rods are connected in series through n-1 rotating joints other than the first rotating joint, and n is a positive integer greater than or equal to 3;

[0592] like Fig.16 As shown, the device 1600 may include: a state acquisition module 1610 , a parameter determination module 1620 , a sliding surface establishment module 1630 , a torque calculation module 1640 and a joint rotation module 1650 .

[0593] The state acquisition module 1610 is used to acquire the state quantity of the wheel-legged robot at a first moment, where the state quantity at the first moment is used to characterize the motion state of the wheel-legged robot at the first moment.

[0594] The parameter determination module 1620 is used to determine the dynamic model parameters according to the dynamic equation of the wheel-legged robot and the state quantity at the first moment, and the dynamic model parameters are used to define the mapping relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of the n connecting rods and the angular acceleration of the moving wheel; the rotational torque at the second moment includes the rotational torque of the n rotating joints.

[0595] The sliding surface establishing module 1630 is used to establish a sliding surface according to the state quantity at the first moment, and the state quantity of the wheel-legged robot gradually approaches 0 on the sliding surface.

[0596] The torque calculation module 1640 is used to calculate the rotational torque of the n rotational joints according to the sliding surface and the dynamic model parameters.

[0597] The joint rotation module 1650 is used to control the n rotational joints according to the rotational torques of the n rotational joints at the second moment.

[0598] In some embodiments, the parameter determination module 1620 includes: a matrix calculation unit, used to substitute the state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment, the inertia matrix is ​​used to characterize the mass and moment of inertia of the n rotating joints at the first moment, the deflection force matrix is ​​used to characterize the deflection force of the wheel-legged robot at the first moment, and the gravity matrix is ​​used to characterize the gravity of the wheel-legged robot at the first moment; a parameter determination unit, used to determine the dynamic model parameters according to the inertia matrix, the deflection force matrix and the gravity matrix.

[0599] In some embodiments, the dynamic model parameters include: a proportional parameter matrix and an offset parameter matrix, the proportional parameter matrix is ​​used to characterize the proportional relationship between the angular acceleration at the first moment and the turning torque at the second moment, and the offset parameter matrix is ​​used to characterize the offset relationship between the angular acceleration at the first moment and the turning torque at the second moment; a parameter determination unit is used to use a selection matrix to process the product of the inverse matrix of the inertia matrix and the deflection force matrix, and the product of the inverse matrix of the inertia matrix and the gravity matrix, respectively, to obtain the offset parameter matrix, and the selection matrix is ​​used to extract the turning torque of the n rotating joints from the dynamic equation; the inverse matrix of the inertia matrix is ​​processed using the selection matrix to obtain the proportional parameter matrix.

[0600] In some embodiments, the dynamic equation of the robot is derived based on the Euler-Lagrange equation by abstracting the wheel-legged robot into an n-th order inverted pendulum model.

[0601] In some embodiments, the sliding surface includes n sliding surfaces, and the n sliding surfaces are used to constrain the rotational torque of the n rotational joints; the sliding surface establishment module 1630 includes: a sliding parameter determination unit, used to determine at least two sliding parameters for the i-th sliding surface among the n sliding surfaces, where i is a positive integer less than or equal to n; and a sliding surface establishment unit, used to establish the i-th sliding surface based on the at least two sliding parameters and the state quantity at the first moment.

[0602] In some embodiments, a sliding mode parameter determination unit is used to determine a first sliding mode parameter among the at least one sliding mode parameter from a 2i-1th prediction parameter set, and to determine a second sliding mode parameter among the at least one sliding mode parameter from a 2i-th prediction parameter set; wherein the sliding mode parameters respectively included in the 2i-1th prediction parameter set and the 2i-th prediction parameter set satisfy the constraints of the stability criterion.

[0603] In some embodiments, the state quantity at the first moment includes: the deflection angle of the n connecting rods, the angular velocity of the n connecting rods and the angular velocity of the moving wheel; a sliding surface establishment unit is used to process the deflection angle of the i-th connecting rod according to the first sliding parameter of the at least two sliding parameters to obtain the processing result of the i-th connecting rod; process the angular velocity of the moving wheel according to the second sliding parameter of the at least two sliding parameters to obtain the processing result of the moving wheel; establish the i-th sliding surface according to the processing result of the i-th connecting rod, the processing result of the moving wheel and the angular velocity of the i-th connecting rod.

[0604] In some embodiments, the joint rotation module 1650 is used to control the rotation motor corresponding to any one of the n rotation joints to rotate according to the rotation torque of the rotation joint.

[0605] In some embodiments, the joint rotation module 1650 is used to calculate the task acceleration of the wheel-legged robot at the second moment based on the rotational torque of the n rotational joints, and the task acceleration refers to the acceleration related to the center of mass of the wheel-legged robot; according to the task acceleration, determine the force and torque instructions of the whole body joints of the wheel-legged robot at the second moment, and the whole body joints include the n rotational joints; according to the force and torque instructions at the second moment, control the whole body joints.

[0606] In some embodiments, the joint rotation module 1650 is used to determine the angular acceleration at the second moment based on the dynamic equation and the rotational torque of the n rotational joints; determine the expected incremental position and expected incremental speed of the center of mass of the wheel-legged robot at the second moment based on the state quantity at the first moment and the angular acceleration at the second moment, the expected incremental position is used to characterize the distance between the projection of the center of mass of the wheel-legged robot on the contact surface and the virtual contact point in the first direction, the expected incremental speed is used to characterize the changing speed of the distance in the first direction, the virtual contact point refers to the center of each contact point of the wheel-legged robot with the contact surface; determine the task acceleration of the wheel-legged robot at the second moment based on the expected incremental position and the expected incremental speed.

[0607] In some embodiments, the state quantities include: the deflection angles of the n links, the angular velocities of the n links and the angular velocities of the moving wheels; the state acquisition module 1610 is used to determine the deflection angles of the n links through the inertial measurement unit and the motor encoder of the wheel-legged robot; and determine the angular velocities of the n links and the angular velocities of the moving wheels through the motor encoder.

[0608] In some embodiments, the moving wheel refers to a virtual wheel formed by superimposing at least two real wheels of the wheel-legged robot that do not overlap in a first direction, the first link refers to a virtual first link formed by superimposing at least two real first links of the wheel-legged robot that do not overlap in the first direction, and the first direction refers to the forward direction of the wheel-legged robot.

[0609] In some embodiments, the state quantities include: the deflection angles of the n links, the angular velocities of the n links and the angular velocity of the moving wheel; the state acquisition module 1610 is used to determine the deflection angles of the other links among the n links except the first link, and the deflection angles of each of the real first links through the inertial measurement unit and the motor encoder of the wheel-legged robot; determine the angular velocities of the other links among the n links except the first link, the angular velocities of each of the real first links, and the angular velocity of each of the real wheels through the motor encoder; determine the angular velocity of the moving wheel according to the angular velocity of each of the real wheels; determine the deflection angle and angular velocity of the first link according to the length, deflection angle and angular velocity of each of the real first links.

[0610] It should be noted that the device provided in the above embodiment, when implementing its functions, is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the content structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device and method embodiments provided in the above embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0611] Please refer to Fig.16 , which shows a block diagram of a computer device 1600 provided in one embodiment of the present application. The computer device 1600 may be any electronic device with data calculation, processing and storage functions. The computer device 1600 may be used to implement the balance control method of the wheel-legged robot provided in the above embodiment.

[0612] Typically, the computer device 1600 includes a processor 1601 and a memory 1602 .

[0613] Processor 1601 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like. Processor 1601 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1601 may also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in a standby state. In some embodiments, processor 1601 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, processor 1601 may also include an AI processor for processing computing operations related to machine learning.

[0614] The memory 1602 may include one or more computer-readable storage media, which may be non-transitory. The memory 1602 may also include a high-speed random access memory and a non-volatile memory, such as one or more disk storage devices and flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1602 is used to store a computer program, which is configured to be executed by one or more processors to implement the above-mentioned balance control method of the wheel-legged robot.

[0615] Those skilled in the art will understand that Fig.16 The structure shown in the figure does not constitute a limitation on the computer device 1600, and the computer device 1600 may include more or less components than shown in the figure, or combine some components, or adopt a different arrangement of components.

[0616] In an exemplary embodiment, a computer-readable storage medium is also provided, wherein a computer program is stored in the storage medium, and when the computer program is executed by a processor of a computer device, the balance control method of the wheel-legged robot is implemented. Optionally, the computer-readable storage medium may be a ROM (Read-Only Memory), a RAM (Random Access Memory), a CD-ROM (Compact Disc Read-Only Memory), a magnetic tape, a floppy disk, an optical data storage device, etc.

[0617] In an exemplary embodiment, a computer program product is also provided, the computer program product comprising a computer program, the computer program being stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the above-mentioned balance control method of a wheel-legged robot.

[0618] It should be understood that the "multiple" mentioned in this article refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. In addition, the step numbers described in this article only illustrate a possible execution sequence between the steps. In some other embodiments, the above steps may not be executed in the order of the numbers, such as two steps with different numbers are executed at the same time, or two steps with different numbers are executed in the opposite order to the diagram. The embodiments of the present application are not limited to this.

[0619] The above description is only an exemplary embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.

Claims

1. A balance control method for a wheel-legged robot, characterized in that: The wheel-legged robot comprises: a moving wheel, n connecting rods and n revolving joints, the moving wheel and a first connecting rod among the n connecting rods are connected through a first revolving joint among the n revolving joints, the n connecting rods are connected in series through n-1 revolving joints other than the first revolving joint, and n is a positive integer greater than or equal to 2; the method comprises: Acquire a state quantity of the wheel-legged robot at a first moment, where the state quantity at the first moment is used to characterize a motion state of the wheel-legged robot at the first moment; According to the dynamics equation of the wheel-legged robot and the state quantity at the first moment, dynamics model parameters are determined, and the dynamics model parameters are used to define the mapping relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of the n connecting rods and the angular acceleration of the moving wheel; the rotational torque at the second moment includes the rotational torque of the n rotating joints; According to the state quantity at the first moment, a sliding surface is established, and the state quantity of the wheel-legged robot gradually approaches 0 on the sliding surface; Calculating the rotational torque of the n rotational joints according to the sliding surface and the dynamic model parameters; At the second moment, the n rotational joints are controlled according to the rotational torques of the n rotational joints.

2. The method according to claim 1, characterized in that: Determining the dynamic model parameters according to the dynamic equation of the wheel-legged robot and the state quantity at the first moment includes: Substituting the state quantity at the first moment into the dynamic equation, determining the inertia matrix, deflection force matrix and gravity matrix at the first moment, wherein the inertia matrix is ​​used to characterize the mass and moment of inertia of the n revolute joints at the first moment, the deflection force matrix is ​​used to characterize the deflection force of the wheel-legged robot at the first moment, and the gravity matrix is ​​used to characterize the gravity of the wheel-legged robot at the first moment; The dynamic model parameters are determined according to the inertia matrix, the deflection force matrix and the gravity matrix.

3. The method according to claim 2, characterized in that The dynamic model parameters include: a proportional parameter matrix and an offset parameter matrix, wherein the proportional parameter matrix is ​​used to characterize the proportional relationship between the angular acceleration at the first moment and the rotational torque at the second moment, and the offset parameter matrix is ​​used to characterize the offset relationship between the angular acceleration at the first moment and the rotational torque at the second moment; Determining the dynamic model parameters according to the inertia matrix, the deflection force matrix and the gravity matrix includes: Using a selection matrix to process the product of the inverse matrix of the inertia matrix and the deflection force matrix, and the product of the inverse matrix of the inertia matrix and the gravity matrix, respectively, to obtain the offset parameter matrix, wherein the selection matrix is ​​used to extract the rotational torque of the n revolute joints from the dynamic equation; The inverse matrix of the inertia matrix is ​​processed using the selection matrix to obtain the scale parameter matrix.

4. The method according to claim 1, characterized in that: The dynamic equation of the robot is derived based on the Euler-Lagrange equation by abstracting the wheel-legged robot into an n-order inverted pendulum model.

5. The method according to claim 1, characterized in that The sliding surface includes n sliding surfaces, and the n sliding surfaces are used to constrain the rotational torque of the n revolute joints; The step of establishing a sliding surface according to the state quantity at the first moment includes: For an i-th sliding surface among the n sliding surfaces, determining at least two sliding parameters, where i is a positive integer less than or equal to n; The i-th sliding mode surface is established according to the at least two sliding mode parameters and the state quantity at the first moment.

6. The method according to claim 5, characterized in that The step of determining at least two sliding mode parameters for the i-th sliding mode surface among the n sliding mode surfaces comprises: Determining a first sliding mode parameter among the at least two sliding mode parameters from a 2i-1th prediction parameter set, and determining a second sliding mode parameter among the at least two sliding mode parameters from a 2ith prediction parameter set; The sliding mode parameters respectively included in the 2i-1th prediction parameter set and the 2ith prediction parameter set satisfy the constraint conditions of the stability criterion.

7. The method according to claim 5, characterized in that The state quantities include: the deflection angles of the n connecting rods, the angular velocities of the n connecting rods and the angular velocities of the moving wheels; The establishing the i-th sliding mode surface according to the at least two sliding mode parameters and the state quantity at the first moment comprises: Processing the deflection angle of the i-th connecting rod according to the first sliding mode parameter of the at least two sliding mode parameters to obtain a processing result of the i-th connecting rod; Processing the angular velocity of the moving wheel according to a second sliding mode parameter of the at least two sliding mode parameters to obtain a processing result of the moving wheel; The i-th sliding surface is established according to the processing result of the i-th connecting rod, the processing result of the moving wheel and the angular velocity of the i-th connecting rod.

8. The method according to claim 1, characterized in that: The controlling the n rotational joints according to the rotational torques of the n rotational joints comprises: For any one of the n rotational joints, a rotational motor corresponding to the rotational joint is controlled to rotate according to the rotational torque of the rotational joint.

9. The method according to claim 1, characterized in that: The controlling the n rotational joints according to the rotational torques of the n rotational joints comprises: Calculating the task acceleration of the wheel-legged robot at the second moment according to the rotational torques of the n rotational joints, wherein the task acceleration includes the acceleration related to the center of mass of the wheel-legged robot; Determining force and torque instructions of whole body joints of the wheel-legged robot at the second moment according to the task acceleration, the whole body joints including the n rotational joints; The whole body joints are controlled according to the force and torque instructions at the second moment.

10. The method according to claim 9, characterized in that The step of calculating the task acceleration of the wheel-legged robot at the second moment according to the rotational torques of the n rotational joints comprises: Determining the angular acceleration at the second moment according to the dynamic equation and the rotational torque of the n rotational joints; Determine the expected incremental position and expected incremental speed of the center of mass of the wheel-legged robot at the second moment according to the state quantity at the first moment and the angular acceleration at the second moment, wherein the expected incremental position is used to characterize the distance in the first direction between the projection of the center of mass of the wheel-legged robot on the contact surface and the virtual contact point, and the expected incremental speed is used to characterize the speed of change of the distance in the first direction, and the virtual contact point refers to the center of each contact point between the wheel-legged robot and the contact surface; The task acceleration of the wheel-legged robot at the second moment is determined according to the expected incremental position and the expected incremental speed.

11. The method according to claim 1, characterized in that The state quantities include: the deflection angles of the n connecting rods, the angular velocities of the n connecting rods and the angular velocities of the moving wheels; The obtaining of the state quantity of the wheel-legged robot at the first moment comprises: Determining the deflection angles of the n connecting rods by using an inertial measurement unit and a motor encoder of the wheel-legged robot; The angular velocities of the n connecting rods and the moving wheel are determined by the motor encoder.

12. A balance control device for a wheel-legged robot, characterized in that: The wheel-legged robot comprises: a moving wheel, n connecting rods and n revolving joints, wherein the moving wheel and a first connecting rod among the n connecting rods are connected through a first revolving joint among the n revolving joints, and the n connecting rods are connected in series through n-1 revolving joints other than the first revolving joint, where n is a positive integer greater than or equal to 2; the device comprises: A state acquisition module, used for acquiring a state quantity of the wheel-legged robot at a first moment, wherein the state quantity at the first moment is used for representing a motion state of the wheel-legged robot at the first moment; a parameter determination module, for determining a dynamic model parameter according to the dynamic equation of the wheel-legged robot and the state quantity at the first moment, wherein the dynamic model parameter is used to define a mapping relationship between an angular acceleration at the first moment and a rotational torque at a second moment; the angular acceleration at the first moment includes an angular acceleration of the n connecting rods and an angular acceleration of the moving wheel; and the rotational torque at the second moment includes a rotational torque of the n rotating joints; A sliding surface establishing module, used for establishing a sliding surface according to the state quantity at the first moment, wherein the state quantity of the wheel-legged robot gradually approaches 0 on the sliding surface; A torque calculation module, used for calculating the rotational torque of the n rotational joints according to the sliding surface and the dynamic model parameters; The joint rotation module is used to control the n rotation joints according to the rotation torques of the n rotation joints at the second moment.

13. A computer device, characterized in that: The computer device includes a processor and a memory, wherein a computer program is stored in the memory, and the computer program is loaded and executed by the processor to implement the balance control method of the wheel-legged robot as described in any one of claims 1 to 11.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which is loaded and executed by a processor to implement the balance control method of the wheel-legged robot as described in any one of claims 1 to 11.

15. A computer program product, characterized in that The computer program product comprises a computer program, which is loaded and executed by a processor to implement the balance control method of the wheel-legged robot as claimed in any one of claims 1 to 11.

Citation Information

Patent Citations

  • Control method, device and equipment of wheel-legged robot and readable storage medium

    CN113753150A

  • Whole-body motion planning and control method for double-wheel leg-arm robot

    CN114700955A

  • Two-dimensional stable movement control method for multi-degree-of-freedom wheeled inverted pendulum type robot

    CN115291514A

  • Robot balance control method and device, readable storage medium and robot

    CN115903874A

  • Motion state control method and device, electronic equipment and storage medium

    CN116198625A

Cited By

  • Balance control method and apparatus for wheel-legged robot, device and storage medium

    EP4617808A1