Balance control method, device, equipment and computer program for leg-wheeled robot

The multi-stage inverted pendulum model in leg-wheeled robots enhances balance control by adjusting multiple connecting rods' angles, addressing flexibility issues and improving balance recovery under interference.

JP2025538768APending Publication Date: 2025-11-28TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025533180
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-14
Filing Date
2023-11-27
Publication Date
2025-11-28

AI Technical Summary

Technical Problem

Existing leg-wheeled robots face challenges in maintaining balance due to poor flexibility of posture changes during balance control, making it difficult to adapt to various interferences.

Method used

A balance control method and device that abstracts the leg-wheeled robot as a multi-stage inverted pendulum model, allowing for adjustment of multiple connecting rods' deflection angles to change the robot's posture, enhancing its ability to quickly adjust to equilibrium states under different interference forces.

Benefits of technology

Improves the versatility and robustness of balance control by enabling the robot to rapidly adjust its posture, improving its ability to recover balance under diverse interference conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025538768000001_ABST
    Figure 2025538768000001_ABST
Patent Text Reader

Abstract

A balance control method, device, equipment, and storage medium for a leg-wheeled robot, related to the field of robotics, are provided. The leg-wheeled robot includes a moving wheel, n connecting rods, and n rotating joints. The moving wheel and a first connecting rod of the n connecting rods are connected to each other through a 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, where n is a positive integer greater than or equal to 2. The method includes the steps of acquiring state quantities of the leg-wheeled robot at a first time point, determining dynamic model parameters based on the dynamic equations of the leg-wheeled robot and the state quantities at the first time point, establishing sliding surfaces based on the state quantities at the first time point, calculating rotation moments of the n rotating joints based on the sliding surfaces and the dynamic model parameters, and controlling the n rotating joints based on the rotation moments of the n rotating joints. The postures of the robot's n connecting rods can be adjusted during the balancing process to improve the robustness of the balancing process.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims priority from a Chinese patent application filed on July 14, 2023, bearing application number 202310876039.9 and entitled "Method, device, equipment and storage medium for balancing control of leg-wheeled robot," the entire contents of which are incorporated herein by reference.

[0002] The present invention relates to the field of artificial intelligence, and more particularly to a method, device, equipment, and storage medium for controlling balance of a leg-wheeled robot. [Background technology]

[0003] With the development of robotics technology, leg-wheeled robots have appeared, in which the moving wheels and leg mechanisms are connected via joints. These leg-wheeled robots combine the advantages of the locomotion of wheeled robots and legged robots.

[0004] In related technology, in order to improve the balancing ability of a leg-wheeled robot during its movement, the leg mechanism and trunk mechanism of the leg-wheeled robot are considered as a single unit, the rotational moment 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 the rotation of the joint motor, thereby maintaining the balancing ability of the leg-wheeled robot.

[0005] However, in the related technology, the flexibility of posture changes in leg-wheeled robots during the balance control process is poor, making it difficult to maintain balance in the face of various interferences, and there is a need to further improve the robustness of balance control for leg-wheeled robots. Summary of the Invention

[0006] The embodiments of the present invention provide a balance control method, device, equipment and storage medium for a leg-wheeled robot. The technical solutions of the embodiments of the present invention are as follows.

[0007] In one aspect of an embodiment of the present invention, there is provided a method for balance control of a leg-wheeled robot, executed by a computer device, the leg-wheeled robot including a moving wheel, n connecting rods, and n rotational joints, the moving wheel and a first connecting rod of the n connecting rods being connected to each other by a first rotational joint of the n rotational joints, the n connecting rods being connected in series by n-1 rotational joints other than the first rotational joint, n being a positive integer equal to or greater than 2. The method includes the steps of: acquiring state quantities of the leg-wheeled robot at a first time point, the state quantities at the first time point being used to represent a motion state of the leg-wheeled robot at the first time point; and determining dynamics model parameters based on dynamics equations of the leg-wheeled robot and the state quantities at the first time point, the dynamics model parameters being used to represent a motion state of the leg-wheeled robot at the first time point. the dynamics model parameters are used to define a mapping relationship between angular accelerations at the first time point and rotational moments at a second time point, the angular accelerations at the first time point including the angular accelerations of the n connecting rods and the angular acceleration of the moving wheel, and the rotational moments at the second time point including the rotational moments of the n rotational joints; establishing a sliding surface based on the state quantities at the first time point, wherein the state quantities of the leg-wheeled robot gradually approach stable values ​​on the sliding surface; calculating the rotational moments of the n rotational joints based on the sliding surface and the dynamics model parameters; and controlling the n rotational joints at the second time point based on the rotational moments of the n rotational joints.

[0008] In one aspect of an embodiment of the present invention, there is provided a balance control device for a leg-wheeled robot, the leg-wheeled robot including a moving wheel, n connecting rods, and n rotary joints, the moving wheel and a first connecting rod of the n connecting rods being connected to each other by a first rotary joint of the n rotary joints, the n connecting rods being connected in series by n-1 rotary joints other than the first rotary joint, where n is a positive integer of 2 or more, the device comprising: a state acquisition module that acquires state quantities of the leg-wheeled robot at a first time point, the state quantities at the first time point being used to represent a motion state of the leg-wheeled robot at the first time point; and a parameter determination module that determines dynamics model parameters based on dynamics equations of the leg-wheeled robot and the state quantities at the first time point, the dynamics model parameters being used to represent a motion state of the leg-wheeled robot at the first time point. the sliding surface establishment module is configured to establish a sliding surface based on state quantities at the first time point, wherein the state quantities of the leg-wheeled robot gradually approach stable values ​​on the sliding surface; a moment calculation module is configured to calculate the rotation moments of the n rotation joints based on the sliding surface and the dynamic model parameters; and a joint rotation module is configured to control the n rotation joints based on the rotation moments of the n rotation joints at the second time point.

[0009] In one aspect of an embodiment of the present invention, there is provided a terminal device including a processor and a memory having a computer program stored therein, the computer program being loaded and executed by the processor to realize the balance control method for a leg-wheeled robot described above.

[0010] In one aspect of an embodiment of the present invention, there is provided a computer-readable storage medium having a computer program stored therein, the computer program being loaded and executed by a processor to realize the balance control method for a leg-wheeled robot described above.

[0011] In one aspect of an embodiment of the present invention, there is provided a computer program product including a computer program, the computer program being loaded and executed by a processor to realize the balance control method for a leg-wheeled robot described above.

[0012] The technology according to the embodiment of the present invention can provide the following advantageous effects.

[0013] As described above, by abstracting the leg-wheeled robot into a multi-stage inverted pendulum model, the deflection angles of the multiple connecting rods of the leg-wheeled robot can be adjusted to change the posture of the leg-wheeled robot during balance control. Compared with related art that only adjusts the included angle between the mobile wheel and the connecting rod of the leg during balance control, the present invention allows the postures of the multiple connecting rods of the leg-wheeled robot to be changed during balance adjustment, greatly improving the versatility of the robot's posture, allowing the robot to quickly adjust to a equilibrium state, improving the robot's ability to recover to a equilibrium state under the action of different interference forces, and improving the robustness of the robot's balance control process. [Brief explanation of the drawings]

[0014] [Figure 1] 1 is a schematic diagram of an implementation environment of a scheme according to one embodiment of the present invention; [Figure 2] 1 is a schematic diagram of a four-legged leg-wheel robot according to one embodiment of the present invention. [Figure 3] 1 is a schematic diagram of a four-legged leg-wheel robot according to one embodiment of the present invention. [Figure 4] 1 is a schematic diagram of a four-legged leg-wheel robot in two-wheel mode according to one embodiment of the present invention. FIG. [Figure 5] FIG. 1 is a schematic diagram of a four-legged leg-wheel robot climbing stairs in accordance with one embodiment of the present invention. [Figure 6] FIG. 1 is a schematic diagram of planar movement of a robot according to one embodiment of the present invention when climbing stairs. [Figure 7] 1 is a schematic diagram of a motion sequence of a robot climbing up and down stairs according to one embodiment of the present invention. FIG. [Figure 8] FIG. 1 is a block diagram of a robot control system according to one embodiment of the present invention. [Figure 9] FIG. 1 is a schematic diagram of a two-stage inverted pendulum according to one embodiment of the present invention. [Figure 10] 1 is a schematic diagram of an n-stage inverted pendulum according to one embodiment of the present invention. FIG. [Figure 11] 1 is a flowchart of a balance control method for a leg-wheeled robot according to one embodiment of the present invention. [Figure 12] FIG. 1 is a schematic diagram of an equivalent process according to one embodiment of the present invention. [Figure 13] FIG. 1 is a schematic diagram of an inverted pendulum relative to its center of gravity according to one embodiment of the present invention. [Figure 14] FIG. 2 is a schematic diagram of a simulation of a two-wheel balance control method according to one embodiment of the present invention. [Figure 15] FIG. 10 is a schematic diagram of a simulation of a two-wheel balance control method according to another embodiment of the present invention. [Figure 16] 1 is a block diagram of a balance control device for a leg-wheeled robot according to one embodiment of the present invention. [Figure 17] FIG. 1 is a block diagram of a computer device according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0015] Artificial Intelligence (AI) is the theory, method, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, develop, and extend human intelligence, sense the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology in computer science that understands the nature of intelligence and produces new intelligent machines that respond in a manner similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, giving them the capabilities of sensing, reasoning, and decision-making.

[0016] The technology of the present invention mainly relates to robot technology in artificial intelligence technology, and primarily to intelligent control of robots. A robot is a mechanical electronic device that can imitate certain human skills by combining mechanical transmission and modern microelectronics technology. Robots have been developed based on electronic, mechanical, and information technologies. A robot's appearance does not necessarily have to resemble a human; any robot that can independently complete tasks and commands given by a human falls into the category of a robot. A robot is an automated machine that has intelligent capabilities similar to those of humans or living organisms, such as sensing, planning, operating, and collaboration, and is highly flexible. With the development of computer technology and artificial intelligence technology, the functionality and technical level of robots have significantly improved, and mobile robots, robot vision, and tactile robots are representative examples.

[0017] In the technology according to the embodiment of the present invention, the entity that performs each step may be a computer device, and the computer device refers to an electronic device that has data calculation, processing and storage capabilities.

[0018] Preferably, the computer device may be, for example, a personal computer (PC) device such as a desktop computer or a laptop computer for controlling a robot, or a server for controlling a robot. Here, the computer device may be an independent physical server, a server cluster or a distributed system consisting 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, as shown in FIG. 1 , the computer device 101 may calculate, based on the current state quantities of the robot 103, the rotation moment of a first rotation joint (corresponding to the ankle) connecting the moving wheel and the leg mechanism (corresponding to the first connecting rod), as well as the rotation moments of the first connecting rod, the moving wheel, and other n-1 rotation joints that can be abstracted into an n-stage inverted pendulum model, and adjust the posture of the robot 103 based on the rotation moments of the n rotation joints so that the robot 103 is in equilibrium.

[0019] Preferably, the computing device may be a robot itself, i.e., the robot is the entity that executes each step in the technology according to the embodiment of the present invention. For example, as shown in Fig. 1, a computing device 101 may transmit state quantities of a robot 103 at a first time point to the robot 103 via a network 102. The robot may calculate rotation moments of n rotary joints based on the state quantities at the first time point, control the rotation motors of the n rotary joints based on the rotation moments of the n rotary joints, and adjust the posture of the robot 103 so that the robot 103 maintains a balanced state.

[0020] The robot according to the embodiment of the present invention may refer to a leg-wheel robot, a legged robot, etc. A leg-wheel robot refers to a robot that has both a wheeled structure and legged capabilities, and a legged robot refers to a robot that uses legs as feet. However, the embodiment of the present invention is not limited thereto.

[0021] In one example, the robot 103 may include at least one moving wheel, and for each moving wheel of the at least one moving wheel, the moving wheel and its corresponding leg mechanism are connected by a first revolute joint.

[0022] A leg-wheeled robot according to an embodiment of the present invention includes a moving wheel and at least two connecting rods, each of which can be equivalent to a connecting rod in an n-stage inverted pendulum model. That is, the leg-wheeled robot includes a moving wheel and n connecting rods, which are connected in series by n-1 rotary joints, and a first connecting rod of the n mechanisms is connected to the moving wheel by the first rotary joint.

[0023] The leg-wheel 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 via a first rotational joint 1.

[0024] Preferably, the at least one leg mechanism is divided into an outer leg mechanism and an inner leg mechanism, the outer leg mechanism including at least two leg mechanisms and the inner leg mechanism including at least one leg mechanism.

[0025] For example, a robot according to an embodiment of the present invention will be described using a leg-wheel robot as an example.

[0026] At least one leg mechanism is divided into an outer leg mechanism and an inner leg mechanism. Here, the outer leg mechanism may include at least two leg mechanisms, and the inner leg mechanism may also include at least two leg mechanisms. At least two of the outer leg mechanisms are located on either side of the medial axis (sagittal plane) of the leg-wheel type robot, and at least two of the inner leg mechanisms are located on either side of the medial axis of the leg-wheel type robot, and the outer leg mechanism and the inner leg mechanism, i.e., the rotation centers of the hip joints corresponding to the outer leg mechanism and the hip joints corresponding to the inner leg mechanism, are located on the same vertical plane.

[0027] For example, the leg-wheel robot may be a four-legged leg-wheel robot, i.e., the leg-wheel robot includes two outer leg mechanisms and two inner leg mechanisms. Alternatively, the leg-wheel robot may be a tripod leg-wheel robot, i.e., the leg-wheel robot includes two outer leg mechanisms and one inner leg mechanism. Here, a hip joint corresponding to at least one inner leg mechanism among the inner leg mechanisms is located between the hip joints corresponding to two outer leg mechanisms among the outer leg mechanisms, and the rotation centers of the hip joints corresponding to the outer leg mechanisms and the inner leg mechanisms are located on the same vertical plane. The leg-wheel robot can stand on a supporting surface using the outer leg mechanisms or the inner leg mechanisms, or can glide on a supporting surface using the leg wheels on the outer leg mechanisms or the leg wheels on the inner leg mechanisms, or can move (i.e., walk) on a supporting surface by controlling the alternate swing of the outer leg mechanisms and the inner leg mechanisms.

[0028] 2 is a schematic diagram showing the configuration of a four-legged leg-wheel robot. For example, as shown in FIG. 2, a four-legged leg-wheel robot 200 may include a body structure, a leg mechanism, and moving wheels.

[0029] Here, the four-legged leg-wheel robot 200 has four leg mechanisms, namely, two outer leg mechanisms 201 (i.e., first leg mechanisms) and two inner leg mechanisms 202 (i.e., second leg mechanisms). The two inner leg mechanisms 202 are located between the two outer leg mechanisms 201. Each of the four leg mechanisms can extend and retract in the direction shown in the figure. One leg wheel 203 is attached to the tip of each of the four leg mechanisms, and each leg wheel 203 can be driven independently. The four-legged leg-wheel robot 200 can stand on two inner leg mechanisms 202 or two outer leg mechanisms 201 and be supported by two leg wheels. The four-legged leg-wheel robot 200 can simultaneously stand on two inner leg mechanisms 202 and two outer leg mechanisms 201 and be supported by four leg wheels. The embodiment of the present invention is not limited thereto.

[0030] Preferably, the two inner leg mechanisms 202 may be realized as one whole, i.e., the four-legged leg-wheel robot 200 may be realized as a three-legged leg-wheel robot with only one inner leg mechanism.

[0031] A hip joint 204 is connected to each of the other ends of the four leg mechanisms, and each leg mechanism can rotate around its respective hip joint 204 to maintain linkage. In this embodiment of the present invention, the rotation centers of each hip joint 204 corresponding to the four-legged leg-wheel robot 200 are located on the same vertical plane 205, and the rotation planes of each leg mechanism corresponding to the four-legged leg-wheel robot 200 are parallel. The hip joint 204 corresponding to the two inner leg mechanisms 202 is located between the hip joints 204 corresponding to the two outer leg mechanisms 201.

[0032] Preferably, the hip joints 204 corresponding to the four-legged leg-wheel robot 200 may be coaxial, i.e., the rotation centers of the hip joints 204 may be located on the same straight line. The hip joints 204 corresponding to the four-legged leg-wheel robot 200 may be on different axes. For example, the hip joints 204 corresponding to the two inner leg mechanisms 202 may be coaxial, and the hip joints 204 corresponding to the two outer leg mechanisms 201 may be coaxial, but the hip joints 204 corresponding to the two inner leg mechanisms 202 and the hip joints 204 corresponding to the two outer leg mechanisms 201 may be on different axes. The hip joints 204 may be rotary joints connected to a first connecting rod of n rotary joints according to an embodiment of the present invention. One end of the first connecting rod is connected to the first rotary joint, and the other end is connected to the hip joints 204.

[0033] Preferably, the hip joints 204 corresponding to the two outer leg mechanisms 201 share one drive motor so that the two outer leg mechanisms 201 operate synchronously. The two hip joints 204 corresponding to the two inner leg mechanisms 202 share one drive motor so that the two inner leg mechanisms 202 operate synchronously. In one preferred example, each hip joint 204 corresponding to the four-legged leg-wheel robot 200 may be independently driven by a corresponding drive motor, although the present invention is not limited thereto.

[0034] The body of the four-legged leg-wheel robot 200 may include a waist 206, a torso 207, upper limbs 208, and a head 209.

[0035] Here, each hip joint 204 corresponding to the four-legged leg-wheel robot 200 is connected to the same end of a waist 206, and the other end of the waist 206 is connected to one end of a torso (trunk mechanism) 207. The waist 206 has two rotation centers, namely, a vertical rotation center that allows the torso 207 to rotate vertically, and a horizontal rotation center that allows the torso 207 to rotate horizontally. The horizontal rotation center is designed in series with the vertical rotation center, is located at the upper end of the vertical rotation center, and is connected to the torso 207.

[0036] For example, when the body 207 in FIG. 2 rotates by 90 degrees along the center of horizontal rotation, the robot switches from the state shown in FIG. 2 to the state shown in FIG.

[0037] The other end of the torso 207 is connected to upper limbs 208 (mechanical arm connecting rods) 208 and a head 209. The upper limbs 208 may have multiple degrees of freedom. In some embodiments, the upper limbs 208 are provided with end-of-body operating units such as mechanical hands or suction cups. The head 209 may be provided with data acquisition devices for sensing the real environment, such as an image acquisition device, a video acquisition device, or an IMU (Inertial Measurement Unit). Here, the IMU may be placed at the geometric center of the torso 207, the center of the hip joint (i.e., the center of rotation of the hip joint), or the like, to measure the actual acceleration of the torso 207, the actual angular velocity of the posture, the actual Euler angles, and the like.

[0038] In the technology according to an embodiment of the present invention, the four-legged leg-wheel robot 200's moving wheels, leg mechanisms, hip joints, waist, and trunk mechanisms (including IMU) are hardware required for the control algorithm, and other components are non-essential hardware.

[0039] Compared to two-legged wheeled robots, four-legged wheeled robots have a more stable structure and are better able to resist external impact interference. Compared to six-legged wheeled robots, four-legged wheeled robots have fewer redundant joints, are less complex in design, can withstand larger loads, can navigate through narrow spaces, and can perform tasks on objects of different heights. Four-legged wheeled robots have a stronger ability to adapt to the environment.

[0040] The balance control method for a leg-wheeled robot according to an embodiment of the present invention can be applied to various situations, such as balancing the leg-wheeled robot during its movement. The balance control method for a leg-wheeled robot according to an embodiment of the present invention can flexibly control and rotate multiple joints of the leg-wheeled robot during the balance control process, thereby improving the diversity of the robot's posture during the balance control process and quickly controlling the robot to reach a balance state.

[0041] When moving on flat ground, the robot may maintain the four-wheel motion mode shown in Figure 2, or may use the hip joint rotation center to form the dynamic and smooth two-wheel motion mode shown in Figure 4. In the four-wheel motion mode, the robot is always stable (will not fall over), which is convenient for the upper limbs to perform motion tasks according to motion commands. However, when moving on flat ground, switching from the four-wheel motion mode to the two-wheel motion mode reduces the robot's floor space, making it equivalent to a two-legged robot. When moving on non-flat ground, for example when the robot is climbing stairs or crossing an obstacle, the two-wheel alternating mode shown in Figure 5 can be used to dynamically overcome the obstacle.

[0042] In some embodiments, as shown in FIG. 5, when climbing stairs, a leg-wheel robot 501 first constructs an objective function corresponding to the stair climbing task based on the stair climbing task to be performed, and then controls the alternating swing of 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 based on the joint moment information of the robot 501 when the value of the objective function is minimized, thereby performing the stair climbing task. For example, first, the outer leg mechanism group 502 is set as the support leg mechanism group, the inner leg mechanism group 503 is set as the swing leg mechanism group, and the robot 501 is made to climb the first staircase; then, the inner leg mechanism group 503 is set as the support leg mechanism group, the outer leg mechanism group 502 is set as the swing leg mechanism group, and the robot 501 is made to climb the second staircase, and the outer leg mechanism group 502 and the inner leg mechanism group 503 swing alternately in sequence to complete the task of climbing the stairs.

[0043] FIG. 6 is a schematic diagram of the planar motion of a robot according to one embodiment of the present invention when climbing stairs. The left and right leg mechanisms of the robot in FIG. 6 are completely overlapped, so the leg mechanisms connected to the two wheels of the robot in FIG. 6 respectively represent the first and second leg mechanisms of the robot. Considering the specific form of the stair-climbing process, the robot in FIG. 6 does not simultaneously contact the same support surface when the wheels are in contact with the ground, so as to match the motion state of an actual staircase. The robot's motion phases in the entire motion process may be divided into a single support phase (SSP) and a double support phase (DSP).

[0044] The first state in Figure 6 is the monopod support stage, in which the robot's first leg mechanism 601 is in contact with the support surface, while the second leg mechanism 602 is not. The first leg mechanism 601 uses the wheels and the joints of the torso to cooperatively control and maintain the robot's balance. In the first stage, the robot swings the second leg mechanism 602, gradually lifting it from the initial vertical position downward in the direction of gravity until it is hung on the upper step, and then transitions to the second state, which is the bipod support stage. During the first stage, the first leg mechanism 601 is a support wheel leg, and the second leg mechanism 602 is a swinging wheel leg. In the second phase, the robot maintains two contact points between the wheels and the support surface within the same plane. During this process, the robot changes the angles of each joint of the body, gradually shifting the projection of the body's center of gravity on the support surface from near the center of the rear wheel of the next step to near the center of the front wheel of the upper step, while maintaining the contact points between the two wheels and the support surface unchanged, thereby transitioning to the third state, which is a double-leg support stage. In the third phase, the robot lifts the first leg mechanism 601 up the lower step and uses the second leg mechanism 602 to maintain balance until the first leg mechanism 601 and the second leg mechanism 602 are vertically overlapping, transitioning to the fourth state, which is a single-leg support stage. During the third phase, the second leg mechanism 602 is a support wheel leg, and the first leg mechanism 601 is a swing wheel leg.

[0045] In the process of moving up the stairs, the robot alternates between the supporting leg mechanism and the swinging leg mechanism, and in the periodic movement of climbing the stairs, the robot performs a movement process in which the supporting leg mechanism and the swinging leg mechanism periodically alternate. Similarly, the division of the stages of the robot's task of descending the stairs is similar to the division of the stages of the task of climbing the stairs described above, except that the direction of movement of each leg mechanism is opposite to that of each leg mechanism in the task of climbing the stairs. Therefore, the description of the task of the robot descending the stairs will be omitted here, and the specific process may be referred to the schematic diagram of the operation sequence of the robot ascending and descending the stairs shown in Figure 7, and will not be described in detail.

[0046] Figure 8 is a block diagram of a robot control system according to one embodiment of the present invention. The robot body may be similar to that shown in Figure 2. The four moving wheels of the robot are independently driven by four rotary motors, and the four moving leg mechanisms are independently driven by four linear motors. Normally, the linear motors of the two outer moving legs have the same driving mode, and the linear motors of the two inner moving legs have the same driving mode.

[0047] Preferably, the two outer moving legs have equal lengths, the two inner moving legs have equal lengths, the two outer moving legs have equal length change rates, and the two inner moving legs have equal length change rates.

[0048] 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 a line L1 perpendicular to the contact surface direction, i.e., the two outer moving legs each have the same angle with the line L1. 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, i.e., the two inner moving legs each have the same angle with the line L1.

[0049] Furthermore, each joint of the trunk mechanism of the leg-wheel robot is provided with a rotary motor, and the rotation of each joint can be actively driven by the rotary motor.

[0050] All of the above rotary motors can receive a rotation angle command, a rotation speed command, a rotation moment command, etc. Here, the rotation angle command is used to indicate the rotation angle of the rotary motor, the rotation speed command is used to indicate the rotation speed and rotation direction of the rotary motor, and the rotation moment is used to indicate the torque that needs to be achieved during the rotation process of the rotary motor.

[0051] After the rotary motor receives a command signal from the rotation angle command, rotation speed command, or rotation moment command, the rotary motor base drive board drives the rotation of the motor according to the received command signal, thereby driving the movement of each joint.

[0052] All the linear motors mentioned above can receive linear movement position commands, linear movement speed commands, driving force commands, etc. The linear motor base driving board drives the linear movement of the motor according to the received command signals, thereby driving the extension and retraction movement of the leg mechanism.

[0053] The rotation and movement of the rotary and linear motors change the robot's posture and position in three-dimensional space, realizing balance control for the leg-wheeled robot. Rapidly changing joint angle commands can control highly dynamic changes in the robot's posture and change the contact situation between the robot and the environment.

[0054] Since the posture and state (e.g., motion state) of a leg-wheeled robot are different at different times, sensors installed on the leg-wheeled robot collect posture information and motion state information of the leg-wheeled robot, generate command signals, and realize balance control and motion state for the leg-wheeled robot.

[0055] Preferably, the state of the leg-wheel robot can be acquired by various sensors attached to the leg-wheel robot body. The sensor types include at least one of the following:

[0056] The IMU sensors are used to determine the posture of the leg-wheeled robot, including the position and attitude information of the leg-wheeled robot.

[0057] The motor encoders are used to determine the rotational speed, positional information regarding movement, and rotational and movement speed information of each joint of the leg-wheel robot in the current state.

[0058] The force / moment sensors are used to determine the magnitude of the force and the magnitude and direction of the moment currently being applied to the joint in which the force / moment sensor is located.

[0059] The tactile sensor is used to determine the contact position between the moving wheels of a leg-wheeled robot and the contact surface, the magnitude of pressure on the body surface, inside the hand, fingertips, and other body parts, and the change characteristics of this pressure over a certain period of time.

[0060] Visual sensors (cameras, infrared sensors, etc.) are used to identify obstacles that appear within the field of view of the leg-wheeled robot and are also used to determine the position information of the leg-wheeled robot's center of gravity and velocity information corresponding to the leg-wheeled robot's center of gravity.

[0061] Preferably, the control system of the leg-wheel robot includes the following control modules:

[0062] 1. The State Estimation module is used to combine the posture and state information acquired by the leg-wheeled robot. For example, the current posture of the leg-wheeled robot acquired by the IMU sensor, distance information acquired by the rotation of the rolling wheels, and visual positioning information can be combined to obtain the position of the leg-wheeled robot in the world coordinate system. Information acquired by force / moment sensors and tactile sensors can be combined to obtain the contact status between the robot and the external environment. The current posture of the leg-wheeled robot acquired by the IMU sensor can be combined with the angle information of each motor joint encoder, and the leg-wheeled robot's own model parameters can be referenced to estimate the position of the leg-wheeled robot's center of gravity. The state information of the leg-wheeled robot acquired by this combination can be used as feedback for the leg-wheeled robot's motion generation, planning, and control.

[0063] 2. The motion generation module employs a motion generation strategy corresponding to the motion mode when the leg-wheeled robot completes its motion. The motion 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 (four-wheel active suspension mode is a mode in which the contact surface is not flat during four-wheel mode travel, and the robot adjusts the posture of the upper body using the four wheels to relatively stabilize the posture of the upper body), folding mode, etc. Considering the complexity of the upper body, which can be used to accomplish various tasks, the robot may include more motion modes, but the description thereof will be omitted here.

[0064] Different modes have different behavior generation methods. These modes invoke some common underlying technologies and algorithm modules, including, but not limited to, model-less controllers, model-based controllers such as LQR (Linear Quadratic Regulator) and MPC (Model Predictive Control) controllers, adaptive controllers, and robust controllers. Preferably, the robust controller according to an embodiment of the present invention is implemented based on sliding mode control, and the robust controller is also called a sliding mode controller.

[0065] For example, when a leg-wheeled robot is in two-wheel mode and needs to control the balance of the moving wheels, a model-less controller, PID control (Proportional Integral Derivative Control), may be used to generate a reference trajectory of the wheels and the center of gravity of the robot. For example, a specific method may call one or more of a model-less controller, a model-based controller (such as LQR or MPC), an adaptive controller, and a robust controller.

[0066] Also, for example, a leg-wheel robot may use a model-less controller, a model-based controller (such as LQR or MPC), an adaptive controller, or a robust controller to control the balance of the moving wheels in the two-wheel control stage in the four-wheel to two-wheel conversion mode.

[0067] For example, when a leg-wheeled robot is in four-wheel mode, the leg mechanism extending forward and the leg mechanism extending backward are equivalent to obtain an equivalent leg mechanism, and the equivalent moving leg and trunk mechanism form a dynamics system expressed using an n-stage inverted pendulum. The control trajectory thus obtained allows the robot to maintain equilibrium in a four-wheeled state. This method allows the leg-wheeled robot to maintain the relative stability of the body of the leg-wheeled robot even when the contact surface is not flat, and there is a depression or obstacle. For example, when the leg-wheeled robot is in four-wheel active suspension mode, the above module can also be used to control the relative stability of the body of the leg-wheeled robot.

[0068] The input of the motion generation module is a series of task information for the leg-wheeled robot. The types of task information include, but are not limited to, center of gravity tasks, supporting leg tasks, swinging leg tasks, waist tasks, etc. Similarly, considering the complexity of the upper body of the leg-wheeled robot, the upper body can independently complete various motions and tasks, and the types of task information may include more, but the description thereof will be omitted here.

[0069] For example, these tasks may be input to a whole body controller (WBC) (also called a whole body dynamics controller). The whole body controller performs detailed modeling and calibration of the leg-wheeled robot, and uses the dynamic model of the leg-wheeled robot and the external force conditions as optimization constraints to calculate, through an optimization process, a target joint angle command, a target joint angular velocity command, a target joint moment command, etc. for a target joint among at least one rotational joint of the leg-wheeled robot. Finally, the whole body controller sends the determined target joint angle command, target joint angular velocity command, target joint moment command, etc. to the actuators of each joint of the robot to complete a closed-loop control of the leg-wheeled robot.

[0070] The balance control method for a leg-wheeled robot according to the present invention is mainly achieved by the robust controller in the control system of Figure 8. Preferably, the balance control method is achieved jointly by the robust controller and the whole-body motion control module. For the specific content of this process, please refer to the following examples.

[0071] Before introducing the specific steps of the balance control method of the present invention, we will first introduce a method for constructing a dynamic model corresponding to the balance control method of the present invention. To make it easier to understand the principle of the n-stage inverted pendulum model of the present invention, we will first introduce a two-stage inverted pendulum model, which is relatively easy to understand.

[0072] FIG. 9 is a schematic diagram of a two-stage inverted pendulum according to one embodiment of the present invention.

[0073] To realize the balance control method for a leg-wheeled robot, dynamics modeling is performed on the leg-wheeled robot to obtain a dynamics model of the leg-wheeled robot during the balance control process. For clarity, simplicity, and ease of understanding, we first start with a situation in which at least one leg mechanism of the leg-wheeled robot is equal in length, the included angle between at least one leg mechanism and the ground is equal, and the rotation speed and position of each moving wheel are identical. Specifically, the following is the description:

[0074] A world coordinate system is established with the forward direction of the leg-wheeled robot as the positive x-axis direction, the rightward movement direction as the positive y-axis direction, and the upward direction perpendicular to the contact surface as the positive z-axis direction. When observing the leg-wheeled robot from the y-axis direction, it can be seen that at least one leg mechanism of the leg-wheeled robot overlaps. The at least one leg mechanism may be an outer leg mechanism of the leg-wheeled robot, or may be all of the leg mechanisms of the leg-wheeled robot.

[0075] For example, the length changes of the four leg mechanisms of a leg-wheeled robot are synchronized, and the angles between the four leg mechanisms and the base of the leg-wheeled robot are synchronized. When observed from the direction corresponding to the y-axis, the four leg mechanisms overlap, and the four moving wheels also overlap. In this case, an abstract two-dimensional model of the leg-wheeled robot is shown in Figure 9 on the y-z plane of the world coordinate system. This two-dimensional model belongs to a two-stage inverted pendulum model. The two-stage inverted pendulum model includes a moving wheel, a connecting rod B (corresponding to at least one moving leg of the leg-wheeled robot), and a connecting rod P (corresponding to the trunk mechanism of the wheel-legged robot).

[0076] As shown in Figure 9, in this two-dimensional model, the direction in which the moving wheel rotates to the left of the contact surface is defined as the positive direction, the traveled distance is defined as x, the angle by which the moving wheel rotates relative to the world coordinate system is defined as φ, and the counterclockwise direction is defined as the positive direction of the moving wheel's rotation angle. The rotation angle of connecting rod 910 (connecting rod B), which is formed so that these four leg mechanisms are overlapped and corresponding to each other, relative to the world coordinate system is defined as α, and the counterclockwise direction is defined as the positive direction. The rotation angle of connecting rod 930 (connecting rod P), which corresponds to this trunk mechanism, relative to the world coordinate system is defined as β, and the counterclockwise direction is defined as the positive direction of the moving wheel's rotation angle.

[0077] where: (outside 1) TIFF2025538768000002.tif8125, (outside 2) TIFF2025538768000003.tif7134, (Outside 3) Let TIFF2025538768000004.tif8122 be the time derivatives of φ, α, and β, respectively. Here, (outside 4) TIFF2025538768000005.tif8126 represents the rotational speed of the moving wheel (also known as the angle of the moving wheel), (outside 5) TIFF2025538768000006.tif8124 shows the angular velocity of the leg mechanism. (outside 6) TIFF2025538768000007.tif8123 shows the angular velocity of the trunk mechanism. (outer 7) TIFF2025538768000008.tif7121, (outside 8) TIFF2025538768000009.tif8125, (outer 9) Define TIFF2025538768000010.tif9122 to be the second derivatives with respect to time of φ, α, and β, respectively. Here, (Outside 10) TIFF2025538768000011.tif7125 shows the angular acceleration of the moving wheel. (Outside 11) TIFF2025538768000012.tif7124 shows the angular acceleration of the leg mechanism. (Outside 12) TIFF2025538768000013.tif9129 shows the angular acceleration of the trunk mechanism.

[0078] The rotation angle of the moving wheel in the world coordinate system is driven by the joint motor of the first rotational joint (corresponding to 920 in Figure 9), and the rotational moment of the first rotational joint is represented by τ1, with the clockwise direction being the positive direction of the rotational moment of the first rotational joint.

[0079] The rotation angle of the trunk mechanism in the world coordinate system is driven by the joint motor of the second rotational joint (corresponding to 940 in Figure 9). The rotational moment of the second rotational joint is represented by τ2, and the counterclockwise direction is the positive direction of the rotational moment of the second rotational joint.

[0080] The masses of the moving wheel, connecting rod B (corresponding to at least one overlapping leg mechanism), and connecting rod P (corresponding to the trunk mechanism) are m W , m B , m P The moments of inertia of the moving wheel, connecting rod B, and connecting rod P are 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 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 l P It is expressed as:

[0081] (1) In defining the above physical quantities, the total kinetic energy of the moving wheel, T W , the total kinetic energy of connecting rod B, T B and the total kinetic energy T of connecting rod P P The total kinetic energy T of the leg-wheel robot is obtained by deriving the expressions for the above. W , the total kinetic energy of connecting rod B, T B and the total kinetic energy T of connecting rod P P The kinetic energy calculations in both cases include horizontal kinetic energy and rotational kinetic energy.

[0082]

number

[0083]

number

[0084]

number

[0085]

number

[0086] Angular velocity of moving wheel with total kinetic energy T of the system (Outside 13) Partial derivative for TIFF2025538768000018.tif8130 (Outside 14) TIFF2025538768000019.tif13139 is expressed as follows:

[0087]

number

[0088]

number

[0089]

number

[0090]

number

[0091]

number

[0092]

number

[0093]

number

[0094]

number

[0095]

number

[0096]

number

[0097] (4) Calculate the total potential energy U of the system and obtain the partial derivatives for each degree of freedom in the general coordinate system.

[0098] Partial derivative of the total potential energy U of the system with respect to the deflection angle φ of the moving wheel (outside 27) TIFF2025538768000042.tif14129 is represented as follows:

[0099]

number

[0100]

number

[0101]

number

[0102]

number

[0103]

number

[0104]

number

[0105]

number

[0106]

number

[0107]

number

[0108]

number

[0109]

number

[0110]

number

[0111]

number

[0112]

number

[0113]

number

[0114]

number

[0115]

number

[0116]

number

[0117]

number

[0118] Each element m in M(α,β) ij (i∈{φ,α,β}, j∈{φ,α,β}) are elements in the inertia matrix, and when the deflection angle of the leg mechanism is α and the deflection angle of the trunk mechanism is β, they represent the mass and rotational inertia of the rigid body of each joint that makes up the leg-wheel robot, as well as the equivalent inertial physical quantity when each mechanism is mutually influenced. (Outside 31) TIFF2025538768000065.tif9127 is a 3*1 deflection force matrix, also called a deflection force vector, specifically: (Outside 32) It includes TIFF2025538768000066.tif8125 and represents the Coriolis force and centripetal force that each mechanism of a leg-wheeled robot receives. G(α,β) represents the 3*1 gravity matrix, also known as the gravity vector. Specifically, (Outside 33) TIFF2025538768000067.tif8124. τ1 represents the rotation moment of the first revolute joint, and τ2 represents the rotation moment of the second revolute joint.

[0119] After the matrix-form dynamic equations are derived through the above process, the subsequent balancing control process can directly use the matrix-form dynamic equations, and there is no need to repeat the above derivation process in the balancing control process.

[0120] The following describes the n-stage inverted pendulum model.

[0121] For ease of understanding, we will assume that at least one leg mechanism of a leg-wheel robot overlaps in the y-axis direction, the change in length of at least one leg mechanism is synchronized, the included angle between at least one leg mechanism and the trunk mechanism is the same, and the movement speed of at least one moving wheel is equal.

[0122] The world coordinate system used in this example has the same definition as the world coordinate system used in FIG. 9, but the world coordinate system may be defined in other ways, and the present invention is not limited to this.

[0123] As shown in Figure 10, an n-stage inverted pendulum is composed of n connecting rods (corresponding to the n connecting rods in the claims) and a moving wheel. Here, the moving wheel is connected to the first connecting rod of the n connecting rods, and the n connecting rods are connected in series, where n is a positive integer greater than or equal to 2. For example, a moving wheel in an n-stage inverted pendulum corresponds to a moving wheel of a leg-wheeled robot. If a leg-wheeled robot has multiple moving wheels, under the above assumption, the motion states of the multiple moving wheels are set to be synchronized, so the multiple moving wheels are equivalent to the same moving wheel in the n-stage inverted pendulum model, and the rotation angle of the moving wheel is represented by φ.

[0124] The n connecting rods of the n-stage inverted pendulum model correspond to the n connecting rods of the leg-wheel robot. Two adjacent connecting rods of the n mechanisms are connected via a rotary joint. The deflection angles of the n connecting rods are q1, q2, ..., q, respectively. n Here, q1 is the deflection angle of the first connecting rod, and q2 is the deflection angle of the second connecting rod. n is the deflection angle of the nth connecting rod. The deflection angle of the connecting rod will be explained using the first connecting rod as an example. As shown in FIG. 10, the deflection angle of the first connecting rod in this derivation process refers to the deflection angle of the first connecting rod with respect to the z-axis in the world coordinate system. Note that the deflection angle of the first connecting rod may be defined using other methods, in which case the derivation process of the n-stage inverted pendulum model is the same as the process in this embodiment.

[0125] For example, when the leg-wheel robot is in a standing position, the distance l1 between the first connecting rod and the contact surface < the distance l2 between the second connecting rod and the contact surface < ... < the distance l between the nth connecting rod and the contact surface nand a first connecting rod of the n connecting rods (the first connecting rod may be a leg mechanism of a leg-wheel robot) is connected to the moving wheel via a first rotary joint. Preferably, the connecting rod refers to a simplified model of each mechanism included in the leg-wheel robot, and the leg-wheel robot has multiple components, each of which may be referred to as a single "mechanism," and each mechanism may be simply regarded as a single connecting rod. In some embodiments, the leg-wheel robot has multiple moving wheels in a position where all of the moving wheels are in contact with a contact surface, and each of the multiple moving wheels has a corresponding leg mechanism. For each moving wheel of the multiple moving wheels, the rotary joint connecting the moving wheel to its corresponding leg mechanism is referred to as a first rotary joint.

[0126] After understanding the n-stage inverted pendulum model, a method similar to the dynamics equations for the two-stage inverted pendulum model is used to construct the dynamics equations for the n-stage inverted pendulum model. Specifically, the total kinetic energy (total kinetic energy includes translational kinetic energy and rotational kinetic energy) and potential energy corresponding to each of the n connecting rods and moving wheels are determined. Specifically, the kinetic energies of the n connecting rods and moving wheels are added together to obtain the total system kinetic energy of the leg-wheeled robot. The potential energies of the n connecting rods and moving wheels are added together to obtain the total system potential energy of the leg-wheeled robot.

[0127] For any degree of freedom among the multiple degrees of freedom in the general 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), the partial derivative of the total kinetic energy of the system with respect to that degree of freedom is determined, and the derivative with respect to time of the partial derivative of that degree of freedom is determined.

[0128] For any degree of freedom among the multiple degrees of freedom in a general coordinate system, determine the partial derivative of the total potential energy of the system with respect to that degree of freedom.Based on the partial derivative of the total potential energy of the system with respect to each degree of freedom, the derivative with respect to time of the partial derivative of each degree of freedom, and the derivative with respect to time of the partial derivative of each degree of freedom, determine the system dynamics equation of an n-stage inverted pendulum according to the Euler-Lagrange equation.

[0129]

number

[0130] To determine the plane where the moving wheel is located as the 0-position energy surface, the first term in the G matrix is 0, indicating that the gravity corresponding to the moving wheel on the 0-position energy surface is 0. Note that other 0-position energy surfaces may be selected, but the present invention is not limited thereto. I n represents the n×n identity matrix,​​​​​​​The following describes a balance control method for a leg-wheeled robot after abstracting it into an n-stage inverted pendulum. This method can be realized by a robust controller in the control system of the leg-wheeled robot based on the sensor measurement results, or by cooperation between the robust controller and other control modules such as a whole-body dynamics controller in the control system. For details, please refer to the following examples.

[0132] 11 is a flowchart of a balance control method for a leg-wheeled robot according to one embodiment of the present invention. The method is executed by a computer device. The leg-wheeled robot includes a moving wheel, n connecting rods, and n rotary joints, where the moving wheel and a first connecting rod of the n connecting rods are connected to each other by a first rotary joint of the n rotary joints, and the n connecting rods are connected in series by n-1 rotary joints other than the first rotary joint, where n is a positive integer greater than or equal to 2. The method may include at least one of the following steps (steps 1110 to 1150):

[0133] Step 1110: Obtain a state quantity of the leg-wheeled robot at a first time point. The state quantity at the first time point is used to represent the motion state of the leg-wheeled robot at the first time point.

[0134] In some embodiments, the moving wheel is used to contact the contact surface, the rotary joint refers to a joint driven by a joint motor, and the n connecting rods refer to connecting rods connecting to at least one of the n rotary joints. Preferably, the n rotary joints are configured to linearly connect the n connecting rods in series, and a first connecting rod of the n connecting rods is connected to the moving wheel by a first rotary joint. That is, the moving wheel, n connecting rods, and n rotary joints of the leg-wheel robot can be abstracted into the above-mentioned n-stage inverted pendulum. A balance control method according to an embodiment of the present invention is based on an n-stage inverted pendulum design.

[0135] Preferably, the leg-wheel robot includes a plurality of components, each of which (excluding the driving joint) may be called a mechanism, and the mechanism can be simply regarded as a connecting rod.

[0136] Preferably, any of the connecting rods in the n units corresponds to a connecting rod in an n-stage inverted pendulum. That is, in an ideal state, the connecting rods do not undergo bending deformation. For example, any of the n connecting rods is an independent connecting rod (for example, in a leg-wheel robot, one connecting rod is used for the leg mechanism and one connecting rod is used for the trunk mechanism).

[0137] For example, the n connecting rods may include a combined connecting rod consisting of at least one independent connecting rod connected by m joints, where m is a positive integer greater than 1. In this case, the joints used to connect the m independent connecting rods do not generate rotational or linear motion during the balance control process. For example, these joints are locked in the balance control, and the combined connecting rod consisting of the m independent connecting rods is regarded as one connecting rod included in the n connecting rods.

[0138] In some embodiments, the first connecting rod refers to a connecting rod that is connected to a moving wheel of a leg-wheel robot by a first rotational joint. Preferably, among the n connecting rods, the distance between the first connecting rod and the moving wheel in a direction perpendicular to the contact surface (Z-axis direction in the world coordinate system) is the shortest.

[0139] Preferably, when the leg mechanism of the leg-wheel robot is a straight leg, the first connecting rod refers to the leg mechanism of the leg-wheel robot. When the leg mechanism of the leg-wheel robot is an articulated leg, i.e., includes two sub-units connected to the leg mechanism via a knee joint, and the knee joint is used to control the joint angle between the two sub-units, the first connecting rod refers to the sub-unit directly connected to the first rotary joint in the leg mechanism.

[0140] In the present invention, n is a positive integer greater than 1, for example, n is equal to 2, 3, 4, 5, etc. The maximum value of n is related to the structure of the leg-wheel robot, and the present invention is not limited thereto.

[0141] For example, when n is equal to 2, the n connecting rods include the leg mechanism and trunk mechanism of a leg-wheel robot. For example, when n is equal to 3, the n connecting rods include the leg mechanism (the leg mechanism is a straight leg), trunk mechanism, and head mechanism of a leg-wheel robot. For example, when n is equal to 3, the n connecting rods include the leg mechanism (the leg mechanism is a straight leg), trunk mechanism, and mechanical arm mechanism of a leg-wheel robot. For example, when n is equal to 4, the n connecting rods include the leg mechanism (the leg mechanism is a straight leg), trunk mechanism, a first mechanical arm connecting rod connected to the trunk mechanism, and a second mechanical arm connecting rod connected to the first mechanical arm, or a mechanical hand. For example, when n is equal to 4, the n connecting rods include the first sub-mechanism of the leg mechanism (the leg mechanism is a straight leg), a second sub-mechanism connected to the first sub-mechanism via a knee joint, the trunk mechanism, and a first mechanical arm connecting rod connected to the trunk mechanism.

[0142] Preferably, the n rotary joints are used to connect the n connecting rods in series. For example, any of the n rotary joints refers to a single type of rotary joint with the same action. For example, if a leg-wheeled robot includes multiple moving wheels, there will be multiple rotary joints for connecting each moving wheel to its corresponding first connecting rod, and all of the multiple rotary joints belong to the first rotary joint.

[0143] The value of n is related to the actual needs of the leg-wheeled robot, such as the structure of the leg-wheeled robot, the computing power of the computer equipment, power consumption, etc., and is not limited to this value in the present invention. The larger the value of n, the more connecting rods that can adjust the posture during the balance control process, which increases the posture diversity of the leg-wheeled robot during the balance adjustment process and improves the leg-wheeled robot's balance ability to respond to external interference.

[0144] In some embodiments, the first time point is an arbitrary time point during the motion process of the leg-wheel robot.

[0145] Preferably, at the first time point, the posture of the leg-wheel robot is as follows: all first connecting rods have the same angle with the direction perpendicular to the contact surface, the angular velocities of the moving wheels corresponding to each first connecting rod are equal, and at least one first rotational joint connecting the first connecting rod and the moving wheel rotates synchronously. That is, when observed from the side of the leg-wheel robot, at least one first connecting rod overlaps and at least one moving wheel overlaps. For example, if the leg-wheel robot has four moving wheels, at the first time point, the leg-wheel robot is in a two-wheel balance mode (two moving wheels roll on the contact surface, and the other two moving wheels are retracted and unused).

[0146] In some embodiments, the state quantity is used to represent a motion state of the leg-wheeled robot at a first time point. The state quantity at the first time point can determine the posture and motion state of the leg-wheeled robot at the first time point. For example, the state quantity at the first time point is measured by a sensor of the leg-wheeled robot.

[0147] Preferably, the state quantity at the first time point is the deflection angles q1, q2, ..., q of the n connecting rods. n , angular velocity of the moving wheel (outside 53) TIFF2025538768000088.tif7170, Angular velocity of n connecting rods (outside 54) Contains at least one of the following: TIFF2025538768000089.tif9170.

[0148] For example, each physical quantity included in the state quantity is measured in the world coordinate system. Here, the deflection angle q of the ith connecting rod among n connecting rods is i (i∈[1,n]) is the deflection angle of the ith connecting rod relative to the z-axis of the world coordinate system. (outside 55) TIFF2025538768000090.tif9170 refers to the rotational speed of the moving wheel in the clockwise direction of the x-axis of the world coordinate system. The angular velocity of the i-th connecting rod is (outside 56) TIFF2025538768000091.tif7170Represents the angular velocity of the i-th connecting rod, i.e., the rate of change of the deflection angle of the i-th connecting rod.

[0149] Each physical quantity in the state quantity may be expressed by the relative position between the connecting rods of the leg-wheel robot. For example, the deflection angle q of the j-th connecting rod j '(i∈[2,n]) is the deflection angle of the j-th connecting rod relative to the j-1-th connecting rod. Here, the j-1-th connecting rod and the j-th connecting rod are connected by a rotary joint. Preferably, the distance between the j-th connecting rod and the contact surface is greater than the distance between the j-1-th connecting rod and the contact surface. Note that the measurement coordinate system corresponding to each physical quantity in the state quantity may be determined as needed, and the present invention is not limited thereto.

[0150] The physical quantities in the equations in the present invention are measured based on the world coordinate system, but the present balance control method can also be realized with physical quantities determined using other measurement coordinate systems, and related equations may be obtained by equivalently replacing them based on the equations in the present invention, and the explanation of this will be omitted in this specification.

[0151] When the moving wheels of a leg-wheeled robot that are in contact with the contact surface are aligned in the y-axis direction of the world coordinate system, the angular velocities of the n moving wheels are the same, and the deflection angles of the first connecting rods connected to at least one of the moving wheels are the same. For a method of obtaining the state quantity at the first time point, see the following example.

[0152] For example, the state quantities are the deflection angles q1, q2, ..., q of n connecting rods. n , angular velocity of the moving wheel (outside 57) TIFF2025538768000092.tif7170, Angular velocity of n connecting rods (outside 58) The state quantity can be expressed using the symbol ξ, and the state quantity ξ is (outside 59) It can be represented as TIFF2025538768000094.tif8170.

[0153] where q T represents the transpose vector of vector q, (outside 60) TIFF2025538768000095.tif6170, (outside 61) TIFF2025538768000096.tif7170 is a vector (outside 62) represents the transposed vector of TIFF2025538768000097.tif7170, (outside 63) The file is TIFF2025538768000098.tif7170.

[0154] Preferably, the step of acquiring state quantities of the leg-wheel robot at a first time point includes acquiring deflection angles q1, q2, ..., q of the n connecting rods by the IMU sensor and the motor encoder. n and determining the angular velocity of the moving wheel by the motor encoder. (outside 64) TIFF2025538768000099.tif7170, Angular velocity of n connecting rods (outside 65) and determining a state quantity (physical quantity) at a first time point. For example, the clock periods of the IMU sensors and motor encoders in a leg-wheeled robot are the same or have a multiple relationship, so that each physical quantity included in the state quantity is a physical quantity at the first time point. For details about the IMU encoder and the motor encoder, please refer to the above content, and a detailed description thereof will be omitted here.

[0155] In some embodiments, the robust controller receives the state quantity at the first time point as input information and executes the equilibrium control process according to the state quantity at the first time point.

[0156] Step 1120: Determine dynamic model parameters based on the dynamic equations of the leg-wheeled robot and the state quantities at the first time point. The dynamic model parameters are used to define a mapping relationship between the angular acceleration at the first time point and the rotational moment at the second time point, where the angular acceleration at the first time point includes the angular accelerations of the n connecting rods and the angular acceleration of the moving wheels, and the rotational moment at the second time point includes the rotational moments of the n rotational joints.

[0157] In some embodiments, the angular acceleration at the first time point refers to the rotational acceleration of n connecting rods after abstracting the leg-wheel robot into an n-stage inverted pendulum model (which may be understood as the angular acceleration of joint motor rotations corresponding to n rotary joints), and the angular acceleration at the first time point is expressed as: (outside 66) It can be represented as TIFF2025538768000101.tif7170.

[0158] From the above, after abstracting the leg-wheel robot into an n-stage inverted pendulum model, we can obtain the dynamic equations in matrix form.

[0159]

number

[0160] According to the physical relationships between acceleration, velocity, and position, the acceleration at a first time point can be used to predict the angular velocity of the n connecting rods of the leg-wheeled robot at the next time point after the first time point, as well as the posture of the leg-wheeled robot at the next time point. The rotational moment of the joints can change the velocity and posture of the leg-wheeled robot. In designing the robust controller of the present invention, we focus on dynamic equations based on matrix form to establish a mapping relationship between the acceleration of the leg-wheeled robot and the rotational moment of the joints.

[0161] For example, partial feedback linearization is performed on the dynamic equations in matrix form, and a matrix related to the acceleration of the leg-wheeled robot is placed on one side of the dynamic equations, and a matrix related to the rotational moment of the rotational joint is placed on the other side, thereby determining a mapping relationship between the acceleration and the rotational moment at a first time point. The mapping relationship between the acceleration at the first time point and the rotational moment of the rotational joint is represented by dynamic parameters. This process can be completed during the design process of the robust controller and stored in the robust controller, eliminating the need to redundantly derive related equations when actually performing balance control.

[0162] In some embodiments, the dynamic model parameters represent a linear mapping relationship between the acceleration and rotational moment at the first time point. That is, the acceleration and rotational moment at the first time point satisfy an equivalence relationship in an equation obtained by converting the acceleration and rotational moment based on the dynamic equation using the dynamic model parameters. Because there are multiple accelerations and rotational moments at the first time point, the dynamic model parameters can be expressed in matrix form.

[0163] For example, the dynamic model parameters include a proportional parameter matrix g[] and a shift parameter matrix f[], where the proportional parameter matrix g[] represents the proportional relationship between the acceleration and the rotational moment at the first time point, and the shift parameter matrix f[] represents the amount of shift between the acceleration and the rotational moment at the first time point. For methods of calculating the above two dynamic model parameter matrices, please refer to the following examples.

[0164] Preferably, in the design process of the robust controller, the representation format of the dynamic model parameters (i.e., the calculation formula of the dynamic model parameters) is determined in advance and stored in the robust controller. When actually performing balance control, after acquiring the state quantity at a first time point, the robust controller can substitute the state quantity at the first time point into the representation format of the dynamic model parameters and determine the numerical values ​​of each element included in the dynamic model parameters.

[0165] Step 1130: Establish a sliding surface based on the state quantities at the first time point. The state quantities of the leg-wheeled robot gradually approach a stable value on the sliding surface.

[0166] In some embodiments, a sliding surface (sliding mode surface) is a virtual vector plane in sliding mode control, and the state of the leg-wheeled robot gradually approaches a stable value along the sliding surface. Preferably, the stable value is 0, i.e., the state of the leg-wheeled robot gradually approaches 0 along the sliding surface. A sliding surface is introduced into the equilibrium process of the leg-wheeled robot, and the sliding surface limits the calculated values ​​of the rotational moments of the n rotational joints. After adjusting the posture of the leg-wheeled robot according to the rotational moments of the n rotational joints, the leg-wheeled robot can maintain or gradually recover its equilibrium state. That is, the state of the leg-wheeled robot gradually approaches equilibrium along the sliding surface. The sliding surface can be represented by the symbol s. Preferably, the sliding surface is a rational number, and the value of the sliding surface may be greater than, equal to, or less than 0.

[0167] Preferably, the sliding surface is a linear sliding surface having a linear relationship with the state variable, or the sliding surface belongs to a sliding surface having a higher-order mapping relationship with the state variable. In consideration of reducing the calculation pressure of the robust controller and reducing the energy consumption of the leg-wheeled robot, the embodiment of the present invention will mainly take the creation of a linear sliding surface as an example to describe a method for determining a sliding surface based on the state variable.

[0168] In some embodiments, the number of sliding surfaces that the robust controller needs to establish is related to the number of rotational moments to be determined. Preferably, the number of sliding surfaces that the robust controller needs to establish is equal to the number of rotational moments to be determined. In the present invention, a leg-wheeled robot is abstracted into an n-stage inverted pendulum, which is associated with a total of n rotational joints. Each of the n rotational joints has its own independent rotational moment, so the rotational moment at the second time point includes the rotational moments of the n rotational joints. In this case, n sliding surfaces need to be established. Here, any two sliding surfaces among the n sliding surfaces are different sliding surfaces. For specific steps of establishing the sliding surfaces, please refer to the following examples.

[0169] Step 1140: Calculate the rotation moments of the n revolute joints based on the sliding surface and dynamic model parameters.

[0170] In some embodiments, for any of the n rotary joints, the rotational moment of the rotary joint is used to control the rotation of the joint motor of the rotary joint. Preferably, the joint motor of the rotary joint can rotate according to a certain angular velocity, speed, or moment, such that the rotary joint reaches a corresponding rotational moment.

[0171] In some embodiments, the robust controller has designed equations for calculating the rotation moments of the n rotation joints according to the sliding surfaces and dynamic model parameters. By substituting the sliding surfaces and dynamic model parameters into the equations, the rotation moments of the n rotation joints can be calculated, and the rotation motors corresponding to the n rotation joints can be controlled according to the rotation moments of the n rotation joints to adjust the posture of the leg-wheeled robot so that the leg-wheeled robot can reach or maintain an equilibrium state.

[0172] Preferably, the process of calculating the rotation moments of the n rotational joints according to the sliding surfaces and dynamic model parameters should further consider the system stability criterion. The system stability criterion is used to constrain the equilibrium state of the robot. For specific procedures related to this part, please refer to the following examples. For example, steps 1110 to 1140 are performed by a robust controller.

[0173] Step 1150: At a second time point, the n rotary joints are controlled based on the rotation moments of the n rotary joints.

[0174] In some embodiments, the second time point refers to any time point after the first time point. Preferably, the second time point refers to a time point after the rotation moments of the n revolute joints have been calculated.

[0175] In some embodiments, control of the n rotational joints is used to change the posture of the leg-wheeled robot. Rotation of the rotational joint changes the deflection angle of the connecting rod connected to the rotational joint, which changes the joint angle between the two connecting rods connected by the rotational joint, thereby changing the posture of the leg-wheeled robot and changing the center of gravity of the leg-wheeled robot, thereby adjusting the equilibrium state of the leg-wheeled robot.

[0176] Preferably, after determining the rotation moments of the n rotation joints, the s rotation joints may be controlled, where s is a positive integer equal to or less than n.

[0177] Preferably, the implementation method for controlling n rotary joints by the rotation moments of the n rotary joints includes the following method.

[0178] 1. The moments of the n rotary joints are transmitted to the joint motors of the n rotary joints by the robust controller, and the joint motors of the n rotary joints are rotated to the corresponding rotation moments.

[0179] 2. The task acceleration of the leg-wheeled robot is calculated according to the rotation moments of the n rotational joints. The whole-body dynamics controller in the control system of the leg-wheeled robot calculates the force and moment commands corresponding to each joint in the whole body of the leg-wheeled robot according to the task acceleration of the leg-wheeled robot, and determines the force and moment commands of the corresponding n rotational joints in the n-stage inverted pendulum model. The force and moment commands corresponding to each of the n rotational joints are sent to the n rotational joints by the whole-body dynamics controller, and the n rotational joints are rotated according to their respective force and moment commands.

[0180] The whole-body joints refer to the active joints of a leg-wheeled robot. After determining the force and moment commands for the whole-body joints, not only can the rotary motors of the n rotary joints be controlled, but the force and moment commands for the whole-body joints can also be used to control the joint motor motion of joints other than the n rotary joints, further improving the diversity of the leg-wheeled robot's posture changes. Because the whole-body dynamics controller is used to control the robot's motion task execution, this method can integrate the balance control method with the leg-wheeled robot's motion process, improving the balance control method's adaptability to different scenarios.

[0181] Preferably, the step of calculating the task acceleration of the leg-wheeled robot according to the rotational moments of the n rotational joints is performed by a measurement module in the control system of the leg-wheeled robot. The measurement module and the robust controller are connected, and the measurement module and the whole-body dynamics controller are connected, and the measurement module obtains the rotational moments of the n rotational joints from the robust controller, calculates the task acceleration according to the rotational joint moments, and transmits the task acceleration to the whole-body dynamics controller. The whole-body dynamics controller determines the force and moment commands corresponding to the joint motors of the whole body according to the task acceleration. For a specific process of the step, please refer to the following examples.

[0182] By associating the control results (n rotational moments) of the robust controller with the whole-body dynamics controller, the whole-body dynamics controller can receive information related to balance control. The whole-body dynamics controller can perform rational optimization based on the received input information (including n rotational moments and parameters related to the motion process), generate optimized joint commands (i.e., force and moment commands), and send these joint commands to the corresponding joints. This allows more connecting rods of the leg-wheeled robot to rotate during the balance control process, improving the balance control ability of the leg-wheeled robot during its motion process. This method also allows the leg-wheeled robot to complete balance adjustment during its motion process.

[0183] As described above, by abstracting the leg-wheeled robot into a multi-stage inverted pendulum model, the deflection angles of the multiple connecting rods of the leg-wheeled robot can be adjusted to change the posture of the leg-wheeled robot during balance control. Compared with related art that only adjusts the included angle between the mobile wheel and the connecting rod of the leg during balance control, the present invention allows the postures of the multiple connecting rods of the leg-wheeled robot to be changed during balance adjustment, greatly improving the versatility of the robot's posture, allowing the robot to quickly adjust to a equilibrium state, improving the robot's ability to recover to a equilibrium state under the action of different interference forces, and improving the robustness of the robot's balance control process.

[0184] A method for acquiring the state quantity at the first time point will be described below with reference to several examples.

[0185] In some embodiments, state quantities of the leg-wheeled robot at a first time point are determined by sensors included in the leg-wheeled robot, and the state quantities at the first time point include deflection angles of the n connecting rods, angular velocities of the n connecting rods, and angular velocities of the moving wheels.

[0186] Preferably, the method for acquiring the state quantity at the first time point may be related to the posture of the leg-wheeled robot at the first time point. In one possible implementation, the state quantity at the first time point is measured by a sensor of the leg-wheeled robot. In another possible implementation, the measurement results measured by the sensor of the leg-wheeled robot are processed to acquire the state quantity at the first time point.

[0187] The moving wheels whose contact surfaces are in contact with the leg-wheeled robot are overlapped in the y-axis direction of the world coordinate system, and the first connecting rod is overlapped in the y-axis direction of the world coordinate system. Preferably, the leg-wheeled robot is in a two-wheel equilibrium state, and step 1110 further includes the following substeps:

[0188] Sub-step 1110-a: The deflection angles of the n connecting rods are determined by the inertial measurement unit and motor encoders of the leg-wheel robot.

[0189] Sub-step 1110-b: The angular velocities of the n connecting rods and the angular velocity of the moving wheel are determined by the motor encoders.

[0190] Using an inertial measurement unit and a motor encoder, the state quantity at a first point in time can be determined, the posture and movement tendency of the leg-wheeled robot at the first point in time can be grasped, and balance adjustments can be made to the leg-wheeled robot based on the state quantity at the first point in time.

[0191] For details regarding the inertial measurement unit and the motor encoder, refer to the above description. Preferably, the robust controller acquires state quantities related to each of the n rotary joints from the IMUs and motor encoders corresponding to the n rotary joints, respectively, and combines the state quantities related to the n rotary joints to acquire a state quantity at a first time point.

[0192] The process of determining the dynamic model parameters will be described below with reference to several examples, each step of which may be performed by a computer device.

[0193] Step 1120 in the above embodiment, i.e., determining dynamic model parameters according to the dynamic equations of the leg-wheel robot and the state quantities at the first time point, may include the following steps:

[0194] Step 1123 (not shown): Substitute the state quantities at the first time point into the dynamics equations to determine an inertia matrix, a deflection force matrix, and a gravity matrix at the first time point. The inertia matrix is ​​used to represent the mass and moment of inertia of the n rotational joints at the first time point, the deflection force matrix is ​​used to represent the deflection forces of the leg-wheeled robot at the first time point, and the gravity matrix is ​​used to represent gravity of the leg-wheeled robot at the first time point.

[0195] In some embodiments, the inertia matrix represents the inertia of rigid bodies of n rotational joints constituting the leg-wheeled robot at a posture at a first time point. The inertia includes at least one of mass and moment of inertia. Preferably, the inertia matrix can be calculated using dynamic equations. When the leg-wheeled robot is abstracted into an n-stage inverted pendulum model, the inertia matrix is ​​a matrix of size (n+1)*(n+1).

[0196] In some embodiments, the deflection force matrix represents the Coriolis force and centripetal force that each connecting rod experiences. Preferably, the deflection force matrix includes a deflection force caused by a deflection angle of the moving wheel and a deflection force caused by a deflection angle of the n connecting rods.

[0197] In some embodiments, the gravity matrix represents the gravity force acting on each connecting rod. Preferably, the gravity matrix includes the gravity force acting on the moving wheel and the gravity force acting on each of the n connecting rods. Preferably, the moving wheel (e.g., the moving wheel of the outer leg mechanism) is always in contact with the contact surface, the height of the moving wheel is constant during the balance control process, the gravity force acting on the moving wheel is constant, the plane on which the center of gravity of the moving wheel is located is the zero potential energy plane, and the gravity force acting on the moving wheel is zero. This reduces the calculation overhead of the balance control process.

[0198] For details regarding the inertia matrix, the deflection force matrix, and the gravity matrix, please refer to the corresponding specification in Figure 10, and further description will be omitted here. Expressions for each element in the inertia matrix, the deflection force matrix, and the gravity matrix are also derived in advance in the dynamics equations. For example, after determining the state quantities at the first time point, the robust controller calculates specific numerical values ​​for each element included in the inertia matrix, the deflection force matrix, and the gravity matrix at the first time point based on the state quantities at the first time point and the expression formats of each element in the inertia matrix, the deflection force matrix, and the gravity matrix, thereby obtaining the inertia matrix, the deflection force matrix, and the gravity matrix at the first time point.

[0199] Step 1126 (not shown): Determine dynamic model parameters based on the inertia matrix, the deflection force matrix, and the gravity matrix.

[0200] In some embodiments, the dynamic model parameters include a proportional parameter matrix and a shift parameter matrix. The proportional parameter matrix represents a proportional relationship between the angular acceleration and the rotational moment at a first time point, and the shift parameter matrix represents a shift relationship between the angular acceleration and the rotational moment at the first time point. Preferably, the robust controller calculates the shift parameter matrix using an inertia matrix, a bias force matrix, and a gravity matrix, and calculates the proportional parameter matrix using the inertia matrix.

[0201] The rotational relationship between the acceleration of the leg-wheeled robot and the rotational moments of the n rotational joints can be determined using the dynamic model parameters, and the rotational moments of the n rotational joints can then be determined relatively quickly using the dynamic model parameters and sliding surfaces, thereby reducing unnecessary transformations performed during the process of determining the rotational moments of the rotational joints and reducing the calculation load on the computer equipment.

[0202] In some embodiments, step 1126 further includes the following substeps.

[0203] Sub-step 1126-a (not shown): Process the product of the inverse of the inertia matrix and the deflection force matrix using a selection matrix. The selection matrix is ​​used to extract the rotation moments of the n revolute joints from the dynamics equations.

[0204] Sub-step 1126-b (not shown): Process the product of the inverse of the inertia matrix and the gravity matrix using a selection matrix to obtain a shift parameter matrix.

[0205] Preferably, elements in the selection matrix include three values ​​(0, 1, -1). The selection matrix is ​​used to allow each rotational moment within τ to exist independently in the dynamic equations. That is, the selection matrix is ​​used to process the dynamic equations so that the coefficients of the rotational moments of each rotational joint in the dynamic equations have the same sign and so that the dynamic equations do not include any fundamental operations (e.g., τ1-τ2) between the rotation matrices of any two rotational joints. Step 1126-a may be executed prior to step 1126-b, or step 1126-b may be executed prior to step 1126-a. Steps 1126-a and 1126-b may be executed in parallel, and the present invention is not limited to the timing of these two execution steps.

[0206] Step 1126-c (not shown): Invert the inertia matrix using the selection matrix to obtain a proportional parameter matrix.

[0207] Following the above example content in step 1120, two sub-steps included in step 1126 will be described. The dynamic equations in matrix form are subjected to partial feedback linearization to obtain Equation 1.

[0208]

number

[0209] Furthermore, in order to simplify the execution logic during the balance control process and reduce the computational complexity of the robust controller, further adjustments are made to the above Equation 1 during the robust controller design process, and a selection matrix is ​​used to process Equation 1 to obtain Equation 2.

[0210]

number

[0211] Preferably, Equation 2 is derived after the leg-wheeled robot is abstracted and modeled as an n-stage inverted pendulum model. During the balance control process, after obtaining the state quantity at a first time point, the robust controller may calculate the proportional parameter matrix and the dynamic model parameter matrix according to Equation 2 and the expressions of each element in the inertia matrix, deflection force matrix, and gravity matrix obtained during the process of deriving the dynamic equations of the n-stage inverted pendulum model.

[0212] In some embodiments, the dynamic equations of the robot are derived based on the Euler-Lagrange equations by abstracting the leg-wheeled robot into an n-stage inverted pendulum model. The moving wheels of the leg-wheeled robot correspond to the wheels in the n-stage inverted pendulum model, and at least one connecting rod of the leg-wheeled robot corresponds to the n connecting rods in the n-stage inverted pendulum model. The derivation process of the dynamic equations may refer to the above embodiments, and a detailed description thereof will be omitted here. After abstracting the leg-wheeled robot into an n-stage inverted pendulum model, the rotation moments of the n rotary joints are included in the dynamic equations. The balance control process controls the rotational manner of the n rotary joints, and the position, posture, and motion of the connecting rods connected to the rotary joints are changed by the rotation of the rotary joints. All n mechanisms can participate in the balance control process, which makes the posture of the leg-wheeled robot more flexible during the balance control process, is advantageous for adapting to the balance control demands in different scenarios, and improves the robustness of the balance control method.

[0213] The following describes how the sliding surface is established with reference to some examples.

[0214] In some embodiments, the sliding surfaces include n sliding surfaces, where the n sliding surfaces are used to constrain the rotational moments of the n revolute joints. Preferably, no two sliding surfaces among the n sliding surfaces are identical, and the n sliding surfaces are used together to participate in the rotational moment calculation process.

[0215] Step 1130 in the above embodiment, ie, establishing a sliding surface based on the state quantity at a first time point, may include the following steps:

[0216] Step 1133 (not shown): Determine at least two sliding mode parameters for the i-th sliding surface of the n sliding surfaces, where i is a positive integer less than or equal to n.

[0217] In some embodiments, the sliding surface is associated with at least one element of a state quantity, which element is also referred to as a state parameter. (outside 73) Included in TIFF2025538768000111.tif5160 q1, q2, … q n , (outside 74) TIFF2025538768000112.tif8160, (outside 75) TIFF2025538768000113.tif9160 both belong to the state parameters.

[0218] For example, a sliding surface is associated with the deflection angle of the first connecting rod and the acceleration of the first connecting rod in the state quantity. Also, for example, a sliding surface is associated with the deflection angle of the i-th connecting rod and the acceleration of the i-th connecting rod. Alternatively, each of the n sliding surfaces is associated with a first state parameter in the state quantity. For example, the first state parameter is the angular velocity of the moving wheel, i.e., all of the n sliding surfaces are associated with the angular velocity of the moving wheel.

[0219] Preferably, the sliding mode parameter is a real number. The sliding mode parameter is used to represent the proportional relationship between the state parameter in the state quantity and the sliding surface. For example, the sliding mode parameter is not shared between different sliding surfaces. In other words, there are at least two sliding surfaces among the n sliding surfaces, and the sliding mode parameters corresponding to the at least two sliding surfaces are not equal.

[0220] In some embodiments, the number of state parameters used to create the sliding surfaces is greater than the number of sliding mode parameters. Preferably, for each of the n sliding surfaces, the number of state parameters used during the creation process of the sliding surface is greater than the number of sliding mode parameters used. This ensures that the rotational moment determined by the sliding surfaces and the dynamic model parameters can be calculated, and the determined rotational moment can be used to perform balance adjustment on the leg-wheeled robot.

[0221] For example, when creating a sliding surface, three state parameters and two sliding mode parameters in the state quantity must be used.Also, for example, when creating a sliding surface, four state parameters and three sliding mode parameters in the state quantity must be used.

[0222] During the process of creating a sliding surface, the number of sliding mode parameters used is less than the number of state parameters, so the coefficient of at least one state parameter in the sliding surface is equal to 1. That is, there are no state parameters corresponding to these sliding mode parameters, and the remaining state parameters that need to be used when creating a sliding surface have a one-to-one correspondence with the sliding mode parameters.

[0223] In some embodiments, for an i-th sliding surface among n sliding surfaces, at least two sliding mode parameters are included in the i-th sliding surface. Preferably, the state parameters included in different sliding surfaces are not completely identical, and the number of state parameters required to be used when creating each sliding surface is equal. For example, the number of sliding mode parameters included in each of the n sliding surfaces is equal. Suppose three state parameters are used when creating the i-th sliding surface, then three state parameters are also used when creating the (i+k)th sliding surface, where k is a positive integer and i+k is less than or equal to n.

[0224] In some embodiments, the number of sliding mode parameters included in the i-th sliding surface is related to the number of state parameters used in establishing the i-th sliding surface. Preferably, the number of state parameters used to create the i-th sliding surface is one more than the number of sliding mode parameters used to create the i-th sliding surface. To ensure that a determination solution for the rotation moments of the n rotational joints can be calculated using the sliding surfaces and dynamic model parameters, the i-th sliding surface is associated with at least three state parameters of the state quantities at the first time point. Preferably, the at least three state parameters associated with the i-th sliding surface and the at least three state parameters associated with the l-th sliding surface are not completely identical, and l is a positive integer less than or equal to n.

[0225] In order to improve the reliability of the determined rotation moment, the sliding mode parameters need to satisfy the system stability conditions, and for details on this, please refer to the examples below.

[0226] Preferably, the number of state parameters used to create each of the n sliding surfaces is equal. Preferably, each of the n sliding surfaces includes three state parameters.

[0227] The following describes how to create a sliding surface, taking the creation of the i-th sliding surface as an example.

[0228] Typically, the more state parameters associated with a sliding surface among the state quantities at the first time point, the more reference information is used to calculate the rotation moments of the n rotation joints. Mutual constraints between the state quantities can improve the accuracy of the rotation moments of the n rotation joints determined from the n sliding surfaces and dynamic model parameters, thereby improving the effectiveness of balancing.

[0229] Preferably, the creation of the i-th sliding surface requires at least three state parameters and at least two sliding mode parameters.

[0230] For example, 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 mode parameters used to create the i-th sliding surface are the sliding mode parameter corresponding to the deflection angle of the i-th connecting rod and the sliding mode parameter corresponding to the angular velocity of the moving wheel. For example, the i-th sliding surface is associated with four state parameters in the state quantity, that is, the i-th sliding surface is associated with 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, which are included in the state quantity. m is a positive integer not divisible by n, and "%" represents the remainder of the division. In this case, the at least three sliding mode parameters included in the i-th sliding surface are respectively a sliding mode parameter corresponding to the deflection angle of the i-th connecting rod, a sliding mode parameter corresponding to the angular velocity of the moving wheel, and a sliding mode parameter corresponding to the deflection angle of the (i+m)%n-th connecting rod. Note that the number of state parameters and the number of sliding mode parameters associated with the sliding surface can be designed according to actual needs, and the present invention is not limited thereto.

[0231] In some embodiments, multiple sets of sliding surface creation schemes are designed for the robust controller, and the number of sliding mode parameters and the number of state parameters used to create the i-th sliding surface in different sliding surface creation schemes are not completely equal. For example, the first sliding surface creation scheme requires two sliding mode parameters and three state parameters to create the i-th sliding surface. The second sliding surface creation scheme requires five sliding mode parameters and six state parameters to create the i-th sliding surface. That is, the number of sliding mode parameters used to create the sliding surface in the first sliding surface creation scheme is not equal to the number of sliding mode parameters used 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.

[0232] Preferably, during the process of performing balance control, the robust controller selects a target generation scheme from a plurality of sets of sliding surface generation schemes according to the actual situation, and determines the number of sliding mode parameters that need to be used to generate the i-th sliding surface according to the target generation scheme.

[0233] For example, when the robust controller has higher computational performance, the robust controller selects a sliding surface creation scheme associated with more sliding mode parameters as the target creation scheme when selecting from the multiple sets of sliding surface creation schemes. For example, the robust controller determines the target creation scheme based on the task currently being performed by the wheeled robot. When the task currently being performed by the wheeled robot has higher requirements for balance and the robust controller has better computing power, the robust controller selects a sliding surface creation scheme including more sliding mode parameters from the multiple sets of sliding surface creation schemes as the target creation scheme. For example, when the robust controller has average computational performance or there is a demand for power consumption, the robust controller selects a sliding surface creation scheme including fewer sliding mode parameters from at least one set of sliding surface creation schemes as the target creation scheme. For example, the robust controller receives a control command from a remote control, and the control command instructs the target creation scheme selected from the multiple sliding surface creation schemes.

[0234] Step 1136 (not shown): Establish an ith sliding surface based on at least two sliding mode parameters and the state quantity at the first time point.

[0235] In some embodiments, the state quantities include deflection angles of the n connecting rods, angular velocities of the moving wheel, and angular velocities of the n connecting rods. Preferably, the robust controller generates the i-th sliding surface based on at least three state parameters of the state quantities at the first time point and at least two sliding mode parameters.

[0236] Preferably, step 1136, ie, establishing the i-th sliding surface based on at least two sliding mode parameters and a state quantity at a first time point, includes the following sub-steps:

[0237] Sub-step 1136-a: Process the deflection angle of the ith connecting rod based on a first sliding mode parameter of the at least two sliding mode parameters, and obtain a processing result of the ith connecting rod.

[0238] Preferably, 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.

[0239] Preferably, the processing result of the i-th connecting rod is a result of processing the deflection angle of the i-th connecting rod using the first sliding mode parameter in the process of constructing the i-th sliding surface. For example, the method of processing the deflection angle of the i-th connecting rod using the first sliding mode parameter includes, but is not limited to, performing basic operations (e.g., addition, subtraction, multiplication, division, etc.) using the first sliding mode parameter and the deflection angle of the i-th mechanism to obtain the processing result of the i-th connecting rod. For example, the first sliding mode parameter is used to multiply the angular velocity of the i-th connecting rod to obtain the processing result of the first connecting rod.

[0240] Sub-step 1136-b: Process the angular velocity of the moving wheel based on a second sliding mode parameter of the at least two sliding mode parameters to obtain a processing result of the moving wheel. Preferably, in the process of creating the i-th sliding surface, the processing result of the moving wheel refers to the result of processing the angular velocity of the moving wheel using the parameters of the second sliding surface. For example, the method of processing the angular velocity of the moving wheel using the parameters of the second sliding surface includes, but is not limited to, performing basic operations using the parameters of the second sliding surface and the angular velocity of the moving wheel. For example, the processing result of the moving wheel is obtained by multiplying the angular velocity of the moving wheel by the parameters of the second sliding surface.

[0241] In addition, the parameters of the second sliding surface corresponding to different sliding surfaces are different, that is, in the process of creating different sliding surfaces, the parameters of the second sliding surface are used to process the angular velocity of the moving wheel, and the processing results of the obtained moving wheel are different.

[0242] Sub-step 1136-c: Establish the i-th sliding surface based on 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.

[0243] In some embodiments, the i-th sliding surface is directly proportional to the processing result of the i-th connecting rod, the i-th sliding surface is directly proportional to the processing result of the moving wheel, and the first sliding surface is directly proportional to the angular velocity of the i-th connecting rod. For example, 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.

[0244] Preferably, the robust controller generates the i-th sliding surface based on the processing result of the i-th connecting rod, the processing result of the moving wheel, the angular velocity of the i-th connecting rod, and a sliding mode constant, which may be a preset value.

[0245] The robust controller determines each of the n sliding surfaces by the method for creating the i-th sliding surface described above.

[0246] The n sliding surfaces can be expressed by the following equation:

[0247]

number

[0248] Establishing n sliding surfaces in this way ensures that the rotation moments of the n rotary joints determined by the sliding surfaces and dynamic model parameters can be subsequently calculated. At the same time, the number of sliding mode parameters and state parameters used in the process of creating the sliding surfaces can be controlled, thereby controlling the computational cost of calculating the rotation moments of the n rotary joints, accelerating the speed at which the rotation moments are determined, reducing power consumption, and achieving balance control for the robot.

[0249] After describing the design method for the robust controller of the dynamic model parameters and n sliding surfaces, the following describes the design of the robust controller corresponding to step 1140, i.e., the step of calculating the rotation moments of the n rotary joints based on the sliding surfaces and dynamic model parameters.

[0250] After establishing the n sliding surfaces using the state quantities, the robust controller determines the equations for the first derivatives with respect to time of each of the n sliding surfaces, and expresses the angular accelerations of the n connecting rods using moments using the dynamic equation (Equation 2), which is rearranged to obtain the following Equation 3:

[0251]

number

[0252] Shifting the terms in equation 3 gives equation 4.

[0253]

number

[0254]

number

[0255]

number

[0256] Preferably, Equations 3 and 4 are calculated in real time by the robust controller during the balance control process.

[0257] By utilizing the properties of the sliding surface, if the sliding surface is controlled to be equal to 0, the state parameter related to the sliding surface will gradually approach 0 along the sliding surface, i.e., the leg-wheeled robot will recover to an equilibrium state. The state quantity (state parameter in) satisfies the following condition on the sliding surface.

[0258]

number

[0259]

number

[0260]

number

[0261]

number

[0262]

number

[0263]

number

[0264] Adding the three equations in the dynamics equation above gives Equation 6:

[0265]

number

[0266]

number

[0267]

number

[0268]

number

[0269]

number

[0270]

number

[0271] Preferably, the system stability criterion is related to a state equation determined from the dynamic equations and the sliding surface, e.g., the stability criterion is related to a coefficient matrix of the state equation, and the parameters of the sliding surface must satisfy the coefficient matrix of the state equation to ensure that the system stability criterion is met. (outside 99) The characteristic roots of TIFF2025538768000154.tif19154 are all distributed in the left half of the complex plane. The state equation can be a matrix inequality constraint, that is, the values ​​of the parameters of the sliding surface are distributed in the left half of the complex plane of the coefficient matrix.

[0272] Preferably, in the balance control process of the present invention, the robust controller determines the rotation moments of the n rotary joints based on Equation 4 and the state equation. In the process of performing balance control, the robust controller calculates the rotation moments τ of the n rotary joints based on Equation 4. A sliding surface matrix s is configured in relation to the n sliding surfaces in Equation 4, and is also related to the dynamic model parameters and sliding mode parameters in Equation 2.

[0273] The robust controller obtains the state quantities at a first time point, determines the dynamic model parameters by substituting the state quantities at the first time point into the corresponding equations, creates n sliding surfaces, and the sliding mode parameters on the sliding surfaces satisfy the system stability conditions.The robust controller then ensures that the sliding mode parameters satisfy the inequality constraints of the matrix formed by the above state equations, while calculating the rotation moments τ of the n rotary joints based on Equation 4.

[0274] For example, in the balance control method according to the present invention, first, sliding mode parameters that satisfy the matrix inequality constraints are determined, and then n sliding surfaces are constructed according to the sliding mode parameters. The robust controller determines a state equation according to the dynamic equations and the representation format of the sliding surfaces (at this point, the sliding mode parameters of the sliding surfaces are unknown). The robust controller determines the value or value range of the sliding mode parameters under the system stability condition that the characteristic root of the coefficient matrix that satisfies the state equations is located on the left half plane, and obtains the actual value of the sliding mode parameters required in the process of generating the sliding surfaces. The robust controller substitutes the sliding mode parameters into the sliding surfaces, and calculates the rotation moments of the n rotational joints according to the sliding surfaces and the dynamic model parameters.

[0275] For example, the balance control method according to the present invention first arbitrarily selects sliding mode parameters within a certain numerical range corresponding to n sliding surfaces, constructs n sliding surfaces using these sliding mode parameters, and calculates the rotation moments τ of the n rotary joints according to Equation 4. The robust controller then verifies whether the four sliding mode parameters satisfy the matrix inequality constraints. If all four sliding mode parameters satisfy the matrix inequality constraints, the rotation moments τ of the n rotary joints can be used to control the n rotary joints. If the n sliding mode parameters do not satisfy the matrix inequality constraints, it is determined that the determined rotation moments τ of the n rotary joints cannot be used.

[0276] The following describes how to determine the sliding mode parameters with reference to some examples.

[0277] In some embodiments, determining at least two sliding mode parameters for an ith sliding surface of the n sliding surfaces includes determining a first sliding mode parameter of the at least two sliding mode parameters from a 2i-1th predictor parameter set and determining a second sliding mode parameter of the at least two sliding mode parameters from a 2ith predictor parameter set, where the sliding mode parameters included in the 2i-1th predictor parameter set and the 2ith predictor parameter set, respectively, satisfy a constraint of a stability criterion.

[0278] In this embodiment, after determining the state at the first time point, the computer device first determines a solution set corresponding to each of the sliding mode parameters required by each of the n sliding surfaces using the state equation as a matrix inequality constraint, thereby obtaining 2n prediction parameter sets, that is, for each of the 2n prediction parameter sets, the sliding mode parameters in the prediction parameter set satisfy the system stability principle.

[0279] During the process of generating the i-th sliding surface, a first sliding mode parameter among the at least two sliding mode parameters is determined from the (2i-1)-th prediction parameter set, a second sliding mode parameter among the at least two sliding mode parameters is determined from the 2i-th prediction parameter set, and the i-th sliding surface is generated according to the state quantities at the first time point and the at least two sliding mode parameters. Then, the robust controller calculates the rotation moments of the n rotary joints according to Equation 4.

[0280] In this embodiment, the method for determining sliding mode parameters will be described using an example in which a sliding surface is created using two sliding mode parameters. However, if k sliding mode parameters are required to create one sliding surface, then in the process of creating the i-th sliding surface, one sliding mode parameter must be obtained for each of the k prediction parameter sets corresponding to the i-th sliding surface, thereby obtaining k sliding mode parameters. When k is equal to 2, this is the method described in the above embodiment. k is a positive integer greater than or equal to 2, and the maximum value of k may be set as necessary, and the present invention is not limited thereto.

[0281] This method can avoid the situation where sliding mode parameters that do not satisfy system stability are selected, and the rotational moments of the n rotational joints calculated using these sliding mode parameters cannot control the equilibrium of the leg-wheeled robot. It also improves the availability of the determined rotational joints' rotational moments, avoids calculations that a computer must perform when newly determining rotational moments, and shortens the time required to determine the rotational moments of the n rotational joints.

[0282] Below, a method for adjusting the posture of a leg-wheel robot using the rotation moments of n rotational joints will be described with reference to several examples.

[0283] In some embodiments, step 1150 in the above embodiment, i.e., controlling the n rotary joints based on the rotation moments of the n rotary joints, includes the following substeps.

[0284] Sub-step 1150a: For any one of the n rotary joints, the rotation of the rotary motor corresponding to the rotary joint is controlled based on the rotation moment of the rotary joint.

[0285] In this embodiment, the robust controller calculates the rotation moments of the n rotary joints and then transmits the rotation moments to the rotary motors corresponding to the n rotary joints. After receiving the rotation moment of any one of the n rotary joints, the rotary motor corresponding to that rotary joint rotates based on the rotation moment of the rotary joint, moving at least one connecting rod connected to the rotary joint and changing the deflection angle and angular velocity of the n connecting rods.

[0286] Preferably, the rotary motors corresponding to the n rotary joints respectively rotate simultaneously at a second time point after receiving the rotation moments of the corresponding rotary joints, thereby changing the posture of the leg-wheel robot.

[0287] The position and state of the leg-wheeled robot are adjusted by n rotary motors, and balance control is performed on the leg-wheeled robot. Multiple connecting rods in the leg-wheeled robot are allowed to participate in the balance control process, and the efficiency of adjusting the posture and movement state of the leg-wheeled robot by the rotational moment can be improved.

[0288] In some of the above embodiments, after determining the rotation moments of the n rotary joints, the robust controller directly transmits the rotation moments of the n rotary joints to the rotary motors to control the rotary motors corresponding to the n rotary joints, and changes the deflection angles of the n connecting rods to change the posture of the leg-wheeled robot and adjust the equilibrium state. The robust controller controls the rotation of the rotary motors of the rotary joints according to the rotation moments of the rotary joints. After determining the rotation moments of the rotary joints, the equilibrium state of the leg-wheeled robot can be adjusted in a timely manner, allowing the leg-wheeled robot to quickly restore equilibrium.

[0289] After determining the rotation moments of the n rotational joints, the robust controller may further determine the rotation moments corresponding to each joint in the whole body of the leg-wheeled robot based on the rotation moments of the n rotational joints. In this way, more connecting rods than the n connecting rods in the leg-wheeled robot can participate in the balance control process, thereby realizing the coupling of the balance control process and the motion process. This method will be described below with reference to several examples.

[0290] In some embodiments, step 1150, i.e., controlling the rotary motors corresponding to the n rotary joints based on the rotation moments of the n rotary joints, may include the following substeps.

[0291] Sub-step 1153: Calculate a task acceleration of the leg-wheeled robot at a second time point based on the rotation moments of the n rotational joints. The task acceleration includes an acceleration of the leg-wheeled robot with respect to the center of gravity.

[0292] Preferably, the center of gravity of the leg-wheel robot refers to a virtual point where all the mass of the leg-wheel robot is collected, and is related to factors such as the mass distribution of each mechanism of the leg-wheel robot and the posture of the leg-wheel robot.

[0293] Preferably, the task acceleration includes, but is not limited to, at least one of the acceleration of the leg-wheeled robot in the x-axis of the center of gravity, the acceleration of the leg-wheeled robot in the y-axis of the center of gravity, the acceleration of the leg-wheeled robot in the z-axis of the center of gravity, the angular acceleration of rotation about the x-axis of the center of gravity, the angular acceleration of rotation about the y-axis of the center of gravity, and the angular acceleration of rotation about the z-axis of the center of gravity of the leg-wheeled robot. For example, the task acceleration is measured in motion space or in joint space.

[0294] The motion space refers to the space related to the motion task of a leg-wheeled robot, and physical quantities in the motion are measured in a Cartesian coordinate system (World Coordinates). The joint space refers to the coordinate system that measures the motion state of a joint. For example, physical quantities in the motion space can be converted to physical quantities in the task space. The position information of a mechanism in the motion space can be converted to its position in the joint space using a kinematic equation, and the velocity in the motion space can be converted to its velocity in the joint space using a Jacobian matrix. Here, the Jacobian matrix refers to a matrix in which first-order partial derivatives are arranged in a certain manner.

[0295] In some embodiments, the task acceleration comprises an acceleration relative to the center of mass of the leg-wheeled robot as the leg-wheeled robot performs the motion space task. Preferably, the task acceleration is relative to the position of the center of mass of the leg-wheeled robot relative to the leg-wheeled robot, see below for methods of determining task acceleration.

[0296] A motion space task can be understood as a task that the leg-wheeled robot needs to perform in the motion space. The motion task that the leg-wheeled robot needs to perform at a certain time point is determined based on the motion scene of the leg-wheeled robot. Preferably, there may be multiple motion space tasks that the leg-wheeled robot performs at a first time point.

[0297] For example, the types of motion space tasks include, but are not limited to, at least one of a support wheel task, a trunk vertical task, a trunk posture task, a swing wheel task, and a center of gravity task. Here, the support wheel task refers to a task related to at least one of the moving wheels of a leg-wheeled robot that is in contact with a contact surface, the trunk vertical task refers to a task in which the trunk mechanism (also called the torso mechanism) of the leg-wheeled robot is in the z-axis direction of the world coordinate system, and the trunk posture task refers to a task related to the Euler angles of the trunk mechanism of the leg-wheeled robot, where the Euler angles include the roll angle, pitch angle, and yaw angle. The swing wheel task refers to a task related to at least one of the moving wheels of the leg-wheeled robot that is not in contact with a contact surface. The center of gravity task refers to a task related to the center of gravity of the leg-wheeled robot.

[0298] Sub-step 1156: Determine force and moment commands at a second time point for the joints of the whole body of the leg-wheeled robot based on the task acceleration. The joints of the whole body include n rotational joints.

[0299] In some embodiments, the whole-body joint refers to the prime mover joint of a leg-wheel robot. Preferably, the types of whole-body joints include rotary joints and linear joints. For example, the rotary joint corresponds to a rotary motor, and the rotation of the rotary motor changes the deflection angle, angular velocity, etc. of the connecting rod connected to the rotary joint. The linear joint corresponds to a linear motor, and the linear motor is used to change the length of the mechanism. For example, a linear motor is included in the leg mechanism (first connecting rod) of the leg-wheel robot, and the length of the leg mechanism can be adjusted by the linear motor.

[0300] In some embodiments, after determining the task acceleration, the measurement module sends the task acceleration to a whole-body dynamics controller. The whole-body dynamics controller determines force and moment commands corresponding to each joint of the whole body according to the task acceleration. Preferably, when the leg-wheeled robot performs multiple motion space tasks at a first time point, in addition to determining the task acceleration relative to the center of gravity of the leg-wheeled robot, other task accelerations corresponding to each of the other motion space tasks need to be calculated. For details of this process, see the following examples.

[0301] Preferably, the whole-body dynamics controller is designed with whole-body dynamics equations for the leg-wheeled robot. The whole-body dynamics equations are used to represent the relationship between the posture and whole-body state variables of the leg-wheeled robot. The whole-body dynamics equations are obtained by kinematic derivation by establishing a whole-body dynamics model of the leg-wheeled robot.

[0302] Preferably, the whole body dynamics model can be expressed by the following equation:

[0303]

number

[0304] Preferably, the whole-body dynamics equations are obtained by constructing a whole-body dynamics model for the leg-wheeled robot based on rigid body dynamics, and are used to express the relationship between the posture of the complete leg-wheeled robot, the motion states of each active joint, and the external force conditions it receives.

[0305] In some embodiments, the force and moment command includes at least one of a force command and a moment command. Preferably, the force and moment command for the rotary motor includes a moment command, and the moment command is used to control the rotary motor to rotate in accordance with the moment command. Preferably, the force and moment command for the linear motor includes a force command, and the force command is used to control the linear motor to move linearly.

[0306] Sub-step 1159: Control the joints of the whole body based on the force and moment commands at the second time point.

[0307] After determining the force and moment commands for the joints of the whole body, the whole body dynamics controller sends the force and moment commands to the joint motors corresponding to the joints of the whole body, which then perform linear motion or rotation according to the received force and moment commands to change the posture of the leg-wheeled robot and adjust the equilibrium state of the leg-wheeled robot.

[0308] Preferably, after receiving the force and moment command, each of the n rotary motors rotates to change the deflection angle, angular velocity, and angular acceleration of at least one leg-wheeled robot corresponding to the n-stage inverted pendulum model. For the driving joints not considered in the n-stage inverted pendulum (driving joints other than the n joints), these driving joints start moving after receiving the force and moment command.

[0309] For example, after the linear motor of the leg mechanism receives the force and moment command, the linear motor moves to change the length of the leg mechanism, thereby changing the height of the leg-wheel robot and changing the position of the center of gravity of the leg-wheel robot in the z-axis direction. For example, for the rotary motors other than the n rotary motors, the other rotary motors rotate according to the received force and moment command.

[0310] Note that the rotational moments of the n rotary joints and the force and moment command values ​​corresponding to the n rotary joints may be different. During the process of the whole-body dynamics controller determining the force and moment commands for the whole-body joints, state variables related to the motion space task of the leg-wheeled robot are used to relate to more rotary joints.

[0311] Balance control is performed using the force and moment commands generated by the whole-body dynamics controller, and more connecting rods (more than n connecting rods) are allowed to participate in balance control, thereby improving the diversity of the postures of the leg-wheeled robot during the balance adjustment process, realizing the combination of balance adjustment and the motion space task of the movement process, and completing balance adjustment by combining the robust controller and the whole-body dynamics controller, providing a new concept of balance control.

[0312] The following describes how to determine task acceleration with reference to some examples.

[0313] In some embodiments, in sub-step 1153, a task acceleration of the leg-wheeled robot at a second time point is calculated based on the rotational moments of the n revolute joints. Sub-step 1153 is performed by a measurement module that determines the task acceleration, and preferably includes a method for converting the rotational moments of the n revolute joints into task acceleration.

[0314] Preferably, sub-step 1153 may include the following sub-steps:

[0315] Sub-step 1153-a: Determine the angular acceleration at a second time point based on the dynamic equations and the rotational moments of the n rotational joints.

[0316] The dynamic equations refer to the dynamic equations obtained based on an n-stage inverted pendulum model, and the dynamic equations relate to the motion states of n mechanisms and the rotation moments of n rotary joints.

[0317] Preferably, the robust controller of the leg-wheeled robot determines the rotational moments of the n rotational joints based on the state quantities at a first time point, and then transmits the rotational moments of the n rotational joints to a measurement module in the control system, which calculates the angular acceleration of the leg-wheeled robot at a second time point according to Equation 2 above.

[0318]

number

[0319] Sub-step 1153-b: Determine a desired incremental position and a desired incremental velocity of the center of gravity of the leg-wheeled robot at a second time point based on the state quantity at the first time point and the angular acceleration at the second time point. The desired incremental position is used to represent the distance in the first direction between the projection of the center of gravity of the leg-wheeled robot on the contact surface and a virtual contact point, the desired incremental velocity is used to represent the rate of change of the distance in the first direction, and the virtual contact point refers to the center of each contact point between the leg-wheeled robot and the contact surface.

[0320] In some embodiments, when at least two moving wheels of a leg-wheel robot contact the contact surface, the virtual contact point refers to the center of the connecting line of the contact points between the at least two moving wheels and the contact surface.

[0321] In some embodiments, the desired position increment is used to represent the position of the leg-wheeled robot's center of mass relative to the leg-wheeled robot, and the desired incremental velocity is the first derivative with respect to time of the desired position increment, i.e., the desired position increment is used to represent the rate of change of the position of the leg-wheeled robot's center of mass relative to the leg-wheeled robot.

[0322] Preferably, the desired position increment and the desired velocity increment refer to the relative position and relative velocity of the leg-wheeled robot's center of gravity in a first direction, respectively. The first direction refers to the forward direction of the leg-wheeled robot (the x-axis direction in the world coordinate system). When the leg-wheeled robot is associated with a lateral movement (the y-axis direction in the world coordinate system), the desired velocity increment refers to the component of the relative velocity of the leg-wheeled robot's center of gravity in the first direction.

[0323] In some embodiments, after determining the angular acceleration at the second time point, the measurement module employs a positive kinematics method to determine the desired incremental position and desired incremental velocity of the center of gravity of the leg-wheeled robot at the second time point based on the acceleration at the second time point, the deflection angles of the n connecting rods, the rotation angles of the moving wheels, the angular velocities of the n connecting rods, and the structure, model, and parameters of the leg-wheeled robot.

[0324] Preferably, when state quantities such as the acceleration at the second time point, the deflection angles of the n mechanisms, the rotation angles of the moving wheels, and the angular velocities of the n mechanisms are known, the position and velocity of the tip of the leg-wheeled robot are calculated using positive kinematics, i.e., the posture of the leg-wheeled robot at the second time point is determined. Based on the position in the motion space of the leg-wheeled robot and the posture of the leg-wheeled robot, the position of the center of gravity of the leg-wheeled robot in the motion space is calculated to obtain the desired incremental position and desired incremental velocity.

[0325] Sub-step 1153-c: Determining a task acceleration for the leg-wheeled robot at a second time point based on the desired incremental position and the desired incremental velocity.

[0326] In some embodiments, the measurement module determines a set of reference state variables for the center of mass of the leg-wheeled robot based on the desired incremental position and the desired incremental velocity. The measurement module determines a task acceleration based on the set of reference state variables and the set of actual state variables for the center of mass of the leg-wheeled robot.

[0327] Here, the reference state variable group is used to represent the state variables of the center of gravity of the leg-wheeled robot at the second time point estimated from the kinematics. Preferably, the reference state variable group is a desired incremental position (Outside 109) TIFF2025538768000166.tif7155, desired increase speed (Outside 110) TIFF2025538768000167.tif6155, desired position (Outside 111) TIFF2025538768000168.tif8155, desired speed (Outside 112) The desired position refers to the motion space position of the center of gravity of the leg-wheeled robot at the second time point, or refers to the joint space position at the second time point, and the desired velocity refers to the first derivative with respect to time of the desired position.

[0328] The set of actual state variables is used to represent the state variables of the leg-wheel robot measured by the sensors. Preferably, the set of actual state variables is the actual incremental position (Outside 113) TIFF2025538768000170.tif8155, actual incremental speed (Outside 114) TIFF2025538768000171.tif7155, actual location (Outside 115) TIFF2025538768000172.tif7155, actual speed (Outside 116) The actual position refers to the position in the motion space where the center of gravity of the leg-wheeled robot is located, and the actual velocity refers to the first derivative of the actual position with respect to time.

[0329] Preferably, the task acceleration of the leg-wheel robot at the second time point (Outside 117) TIFF2025538768000174.tif8157 can be calculated using the following formula:

[0330]

number

[0331] In some embodiments, the measurement module sends the calculated task acceleration of the leg-wheeled robot to a whole-body dynamics control unit. The whole-body dynamics control unit generates force and moment commands for the whole-body joints of the leg-wheeled robot based on the task acceleration. The whole-body dynamics control unit sends the force and moment commands for the whole-body joints to the joint motors corresponding to each driving joint to realize whole-body joint motion control, adjust the posture of the leg-wheeled robot, and keep the leg-wheeled robot in a balanced state.

[0332] In some embodiments, the measurement module's generating whole-body joint force and moment commands for the leg-wheeled robot based on task accelerations includes the following processes: the whole-body dynamics controller determines a desired motion space task for the leg-wheeled robot at a second time point; the desired motion space task includes task accelerations corresponding to at least one motion space task; the whole-body dynamics controller performs a space transformation on the desired motion space task to obtain a desired joint space task; and the whole-body dynamics controller substitutes the desired joint space task into whole-body dynamics equations for the leg-wheeled robot to obtain whole-body joint force and moment commands.

[0333] Preferably, the desired motion space task includes a task acceleration at the second time point. (Outside 119) TIFF2025538768000177.tif7157 can be expressed as follows:

[0334]

number

[0335] Preferably, the relationship between the acceleration under the motion space included in the desired motion space task and the joint space velocity and acceleration during the joint space task is as follows:

[0336]

number

[0337] whole body dynamics equation (Outside 127) TIFF2025538768000187.tif15158, desired joint space task (Outside 128) TIFF2025538768000188.tif9158 (Outside 129) TIFF2025538768000189.tif15158 can be calculated, where τ represents the force and moment commands of the joints of the whole body.

[0338] To improve the rationality of the force and moment commands of the whole-body joints, at least one constraint is added during the process of solving the whole-body dynamics equations, including but not limited to at least one of joint physics constraints and friction constraints.

[0339] Preferably, the joint physical constraints are used to limit the amplitude of the force and moment commands based on the characteristics of the joint motors corresponding to the joints throughout the body of the leg-wheeled robot. The joint physical constraints can be expressed as follows:

[0340]

number

[0341] Preferably, the friction constraint is the contact force f i satisfies the friction cone constraint. To reduce nonlinearity, the friction cone may be approximated by a friction cone, and the friction inequality constraint is expressed as:

[0342]

number

[0343] The following describes the process of solving the whole body dynamics equations, which may preferably be performed by an optimizer: The whole body dynamics equations are expressed in the AX=B form of polynomial solving.

[0344] where: (Outside 130) TIFF2025538768000192.tif14158, (Outside 131) TIFF2025538768000193.tif14158, (Outside 132) TIFF2025538768000194.tif13158,Use the quadratic programming optimizer to construct the objective function, the objective function is (Outside 133) It can be expressed as TIFF2025538768000195.tif8158, where Q and R are weighting matrices. The quadratic programming optimizer calculates the minimum value of the objective function, (Outside 134) Obtain each variable in TIFF2025538768000196.tif15158, that is, obtain the force and moment commands τ of the joints of the whole body.

[0345] This method allows the force and moment commands corresponding to each joint in the entire body to be determined independently, and even if the multiple real wheels of a leg-wheeled robot do not overlap in the first direction, it is possible to achieve control of at least one real wheel and at least one real first rotational joint.

[0346] The following describes how to determine each desired acceleration in the desired motion space task. The method for determining each element in the desired motion space task is set in advance. Preferably, the desired acceleration is determined by the actual acceleration and the reference acceleration.

[0347] 1. First acceleration corresponding to the support wheel task (Outside 135) How to determine TIFF2025538768000197.tif9158.

[0348] The support wheel rolls on the contact surface, and there is no relative slip between the contact surface and the support wheel. (Outside 136) TIFF2025538768000198.tif10158 is always equal to 0. The desired acceleration of the support wheel is (Outside 137) It can be represented as TIFF2025538768000199.tif8153. When a leg-wheeled robot operates in four-wheel mode, it has four support wheels, and each support wheel has one task in the x-direction. Assuming that the support wheels are not off the ground, the height of the support wheels in the z-axis direction of the world coordinate system is constant, so the tasks in the z-axis direction of the four support wheels are not considered. Assuming that the leg-wheeled robot does not perform left-right turning movements or translational movements along the y-axis direction of the leg-wheeled robot's world coordinate system in four-wheel mode, the tasks in the y-axis direction of the four support wheels are not considered.

[0349] When a leg-wheeled robot operates in two-wheel balance mode, it has two support wheels and the other two moving wheels are oscillating wheels. The wheel support tasks are not considered. The tasks related to the two supports are included in the related explanation of "center of gravity tasks" below, and the tasks of the two oscillating wheels both involve two dimensions, the x-axis and the z-axis. When a leg-wheeled robot operates in two-wheel balance mode, the left and right turning movements and the translational movements of the leg-wheeled robot along the y-axis of the leg-wheeled robot are not considered, and the tasks of the two oscillating wheels in the y-direction are not considered.

[0350] 2. The second acceleration corresponds to the trunk vertical task. (Outside 138) How to determine TIFF2025538768000200.tif8153.

[0351] The camera in the leg-wheel robot captures the change in height of the contact surface within its line of sight to obtain position information of the wheel support at multiple future points in time. Expressions for the position information at multiple future points in time are determined using a planning method such as spline interpolation, and the vertical reference position of the trunk mechanism is calculated based on these expressions. (Outside 139) TIFF2025538768000201.tif8153, speed (Outside 140) TIFF2025538768000202.tif6153, acceleration (Outside 141) TIFF2025538768000203.tif7153 is determined by positive kinematics based on the IMU sensors, joint angles, and angular velocities of the trunk mechanism. (Outside 142) TIFF2025538768000204.tif8153, speed (Outside 143) TIFF2025538768000205.tif8153 is calculated. A PD (Proportional Derivative) feedback controller corresponding to the trunk vertical direction task is constructed, and the desired acceleration in the trunk vertical direction, i.e., the second acceleration (Outside 144) Calculate TIFF2025538768000206.tif8153.

[0352]

number

[0353] In some scenarios (e.g., climbing stairs), the trunk mechanism of the wheeled robot needs to keep as vertical as possible, and the trunk mechanism does not rotate, that is, the reference trajectory of Euler angles consisting of the roll angle, pitch angle, and yaw angle of the trunk mechanism, i.e., (Outside 146) TIFF2025538768000209.tif8153, (Outside 147) TIFF2025538768000210.tif8153, (outside 148) TIFF2025538768000211.tif8153 is all 0. The wheeled robot calculates the actual Euler angle using positive kinematics based on the measurement results of the IMU sensor. (outside 149) TIFF2025538768000212.tif8153, angular velocity (outside 150) The PD feedback controller corresponding to the trunk posture task calculates the desired trunk posture angular acceleration, i.e., the third acceleration (Outside 151) TIFF2025538768000214.tif9153 can be calculated.

[0354]

number

[0355] In the scenario under two-wheel balance, for example, when two-wheel balance runs on the ground, the two swinging wheels must take a specific posture and movement, or when the two wheels run forward on the ground, there is a switching process between the support wheel leg and the swinging wheel leg, or when going up and down stairs, there is a switching process between the support wheel leg and the swinging wheel leg. (Outside 153) TIFF2025538768000217.tif9156 exists.

[0356] The reference position of the oscillating wheel in the operating space is calculated by the method of spline interpolation. (Outside 154) TIFF2025538768000218.tif8156, speed (Outside 155) TIFF2025538768000219.tif7156, acceleration (Outside 156) Plan TIFF2025538768000220.tif8156. Based on the IMU sensor measurement results, joint angle and angular velocity information, the actual position of the swinging wheel is calculated by positive kinematics. (Outside 157) TIFF2025538768000221.tif8156, speed (Outside 158) TIFF2025538768000222.tif8156 and construct a PD feedback controller corresponding to the swing wheel task to obtain the desired acceleration of the swing wheel, i.e., the third acceleration (outside 159) TIFF2025538768000223.tif8156 can be calculated. The PD feedback controller calculates the third acceleration. (Outside 160) The formula to calculate TIFF2025538768000224.tif8156 is as follows:

[0357]

number

[0358] Preferably, a reference position of the center of gravity along the forward direction is determined by a heuristic or model-based method. (Outside 162) TIFF2025538768000227.tif7156, speed (Outside 163) The plan is to design TIFF2025538768000228.tif8156. During the movement process of a leg-wheeled robot, the center of gravity of the leg-wheeled robot not only constantly moves along the forward direction, but also needs to be located within the range where the leg-wheeled robot maintains dynamic equilibrium. The design is based on a method for determining the desired acceleration (i.e., task acceleration) relative to this center of gravity.

[0359] Assuming that the mass of the leg-wheeled robot is concentrated at the center of gravity of the leg-wheeled robot, the center of the connecting line of at least two support wheels is set as a virtual contact point between the inverted pendulum and the contact surface related to the center of gravity, and an inverted pendulum model is constructed that connects the center of gravity and the virtual contact point to obtain the center of gravity.

[0360] FIG. 12 is a schematic diagram of an inverted pendulum relative to its center of gravity according to one embodiment of the present invention.

[0361] The center of gravity of the leg-wheel robot is indicated by 1210, and the virtual contact point is indicated by 1220. The dynamic equations related to the center of gravity are determined by an inverted pendulum model related to the center of gravity.

[0362]

number

[0363] In some embodiments, the balance control method according to the present invention is continuously executed during the operation of the leg-wheeled robot, i.e., the robust controller continuously performs the process of obtaining the state quantities at the current time, determining the dynamic model parameters based on the state quantities at the current time, establishing the sliding surface, and determining the rotation moments of the n rotational joints based on the dynamic model parameters and the sliding surface control.

[0364] In some other embodiments, when the IMU sensor detects a sudden change in the deflection angle of a connecting rod (e.g., the first connecting rod) in the leg-wheel robot, the robust controller executes the balance control method starting from step 1110. For example, if the IMU sensor detects that the change in the deflection angle of the first connecting rod is greater than an angle threshold at a certain time, the IMU sensor sends the detected state parameter to the robust controller and starts the balance adjustment process. Preferably, the angle threshold is set in advance.

[0365] In some other embodiments, if the moving wheel is not receiving the controller's control signal and the motor encoder detects movement of the moving wheel, the robust controller begins executing the balance control method starting at step 1110.

[0366] This method allows the leg-wheeled robot to perform balance control intermittently using a robust controller, which can save energy consumption of the leg-wheeled robot without significantly affecting the balance control effect, improve the leg-wheeled robot's ability to resist external interference, and improve the robustness of the balance control.

[0367] The following describes the flow of the balance control method with reference to an example. In some embodiments, if the IMU sensor detects that the deflection angle change of the first connecting rod is greater than the angle threshold, it means that the vibration generated in the leg-wheeled robot will change significantly due to the interference of external forces, affecting the balance of the leg-wheeled robot, and the robust controller will start the balance control process.

[0368] Step A10: The robust controller is i Here, the state quantity is the deflection angles q1, q2, ..., q of the n connecting rods. n , angular velocity of the moving wheel (outside 167) TIFF2025538768000233.tif7154, Angular velocity of n connecting rods (Outside 168) Includes TIFF2025538768000234.tif9154.

[0369] Step A20: The robust controller substitutes the state quantities at the first time point into the dynamics equations to determine the inertia matrix, the deflection force matrix, and the gravity matrix at the first time point. This step mainly uses the following equations.

[0370]

number

[0371]

number

[0372]

number

[0373] Step A40: The robust controller is (outside 169) Establish TIFF2025538768000238.tif7154 respectively.

[0374] Step A50: Calculate the rotation moments of the n rotation joints based on the sliding surface and dynamic model parameters. The equations mainly used in calculating the rotation moments of the n rotations are the above Equation 3 and Equation 4. These two equations are specifically Equation 3 (Outside 170) TIFF2025538768000239.tif8154 and Equation 4 (Outside 171) The file is TIFF2025538768000240.tif8154.

[0375] Preferably, after determining the rotation moments of the n rotary joints, the robust controller may further determine whether to continue executing the balancing adjustment process. For example, the robust controller determines whether the rotation moments of the n rotary joints are greater than a first threshold. If the rotation moments of the n rotary joints are greater than the first threshold, the robust controller continues to execute step A60. If all of the rotation moments of the n rotary joints are equal to or less than the first threshold, the robust controller does not execute step A60 and terminates the balancing control.

[0376] Step A60: At a second time point t i+1 In this example, the leg-wheel robot controls the rotation motors of n rotary joints based on the rotation moments of the n rotary joints to adjust the included angle between the connecting rod of the body and the connecting rod of the leg. Before the balance control process is completed, the above steps A10 to A60 are repeatedly executed. Note that the equations in this example are all equations that appear in the above examples, and the parameters in these equations may be interpreted by referring to the above examples, and their explanation will be omitted here.

[0377] By abstracting the leg-wheel robot into an n-stage inverted pendulum model, the joint motors of multiple rotary joints can be adjusted during the balancing process, improving the diversity of postures during the balancing process of multiple connecting rods, allowing the equilibrium state to be reached relatively quickly, and improving the robustness of the balance control method.

[0378] The following describes the flow of the balance control method with reference to another example.

[0379] In the equilibrium control process, the following steps are performed: Step B10: The robust controller i Here, the state quantity is the deflection angles q1, q2, ..., q of the n connecting rods. n , angular velocity of the moving wheel (Outside 172) TIFF2025538768000241.tif8153, Angular velocity of n connecting rods (Outside 173) Includes TIFF2025538768000242.tif9153.

[0380] Step B20: The robust controller substitutes the state variables at the first time point into the dynamics equations to determine the inertia matrix, the deflection force matrix, and the gravity matrix at the first time point. The robust controller uses the 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 a shift parameter matrix. The specific content of this process may refer to the above embodiment, and its description will be omitted.

[0381] Step B30: The robust controller determines, from the predicted parameter set, the sliding mode parameters that each of the n sliding surfaces should use.

[0382] Step B40: The robust controller generates n sliding surfaces based on the sliding mode parameters and the state quantities. (Outside 174) Establish TIFF2025538768000243.tif8153.

[0383] Step B50: Calculate the rotation moments of the n rotary joints based on the sliding surfaces and dynamic model parameters. Preferably, after determining the rotation moments of the n rotary joints, the robust controller determines whether the rotation moments of the n rotary joints are greater than a first threshold. If the rotation moments of the n rotary joints are greater than the first threshold, the robust controller continues to execute step B50. If all of the rotation moments of the n rotary joints are equal to or less than the first threshold, the robust controller does not execute step B50 and terminates the balance control.

[0384] Step B60: The robust controller sends the rotation moments of the n rotary joints to the measurement module, and the measurement module determines a task acceleration based on the rotation moments of the n rotary joints. The measurement module sends the task acceleration to the whole-body dynamics controller, and the whole-body dynamics controller determines force and moment commands for the whole-body joints based on the task acceleration, and the whole-body dynamics controller sends the corresponding force and moment commands to each joint motor.

[0385] Step B70: Second time point t i+1 In this example, the leg-wheeled robot controls the motion of the motors corresponding to each joint in the body based on force and moment commands, and adjusts the posture of the leg-wheeled robot. Before the balance control process is completed, the above steps B10 to B70 are repeatedly executed. Note that the equations used in this example are all equations that appear in the above-mentioned embodiments, and the parameters in these equations may be interpreted by referring to the above-mentioned embodiments, and their explanation will be omitted here.

[0386] By abstracting the leg-wheeled robot into an n-stage inverted pendulum model, the rotational moments of n rotary joints can be calculated, the task acceleration of the leg-wheeled robot can be determined based on the rotational moments of the n rotary joints, the input of the whole-body dynamics controller during the balance control process can be obtained, and the whole-body dynamics controller can calculate the force and moment commands of the joints of the whole body, allowing each mechanism in the leg-wheeled robot to participate in the balance control process, further improving the diversity of the posture of the leg-wheeled robot during the balance control process and improving the robustness of the balance control method.

[0387] The following describes the balance control method using n=2 as an example. As can be seen from FIG. 9, when n is equal to 2, the n-stage inverted pendulum model includes a moving wheel, two connecting rods, and two rotary joints. Preferably, the two connecting rods refer to the leg mechanism and trunk mechanism of a leg-wheeled robot. When the leg-wheeled robot has multiple moving wheels, the first moving wheels that contact the contact surface of the multiple moving wheels overlap in the y-axis direction of the world coordinate system, and the leg mechanisms connected to at least one first moving wheel overlap in the y-axis direction. The leg mechanism and the moving wheel are connected by a first rotary joint, and the trunk mechanism and the leg mechanism are connected by a second rotary joint. As shown in FIG. 13, the balance control method includes the following steps.

[0388] Step 1310: Obtain a state quantity of the leg-wheeled robot at a first time point. The state quantity at the first time point is used to represent the motion state of the leg-wheeled robot at the first time point.

[0389] Preferably, the state quantities at the first time point include a deflection angle α of the leg mechanism, a deflection angle β of the trunk mechanism, and an angular velocity of the moving wheel. (Outside 175) TIFF2025538768000244.tif7153, Angular velocity of leg mechanism (outside 176) TIFF2025538768000245.tif8153 and trunk mechanism (Outside 177) The state quantity can be expressed using the symbol ξ, and the state quantity ξ is (Outside 178) TIFF2025538768000247.tif9153. Each physical quantity included in the state quantity is measured in the world coordinate system. Here, the deflection angle α of the leg mechanism means the deflection angle of the leg mechanism relative to the z-axis in the world coordinate system, the deflection angle β of the trunk mechanism means 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 is (outside 179) TIFF2025538768000248.tif8153 means the rotational speed of the moving wheel in the x-axis counterclockwise (or clockwise) direction in the world coordinate system, and the angular velocity of the leg mechanism (outside 180) TIFF2025538768000249.tif6153 is used to represent the rate of change of the deflection angle of the leg mechanism, and the angular velocity of the trunk mechanism (Outside 181) TIFF2025538768000250.tif8153 is used to represent the rate of change of the deflection angle of the leg mechanism.

[0390] The physical quantities in the state quantities can also be determined by the relative positions of the mechanisms of the leg-wheeled robot. For example, the deflection angle α of a leg mechanism means the deflection angle of the leg mechanism with respect to the z-axis in the world coordinate system, and the deflection angle β' of a trunk mechanism means the deflection angle of the trunk mechanism with respect to the leg mechanism, i.e., β = α + β' (β' and β have the same positive direction). The coordinate system for measuring each physical quantity may be determined as needed and is not limited here.

[0391] In some embodiments, the computing device, when acquiring the state quantities of the leg-wheeled robot at the first time point, includes the following steps: determining a deflection angle α of the leg mechanism and a deflection angle β of the trunk mechanism by the IMU sensor and the motor encoder; and determining the angular velocity of the running wheels by the motor encoder. (Outside 182) TIFF2025538768000251.tif7153, Angular velocity of leg mechanism (Outside 183) TIFF2025538768000252.tif8153 and trunk mechanism (outside 184) Determine the angular velocity of TIFF2025538768000253.tif9153.

[0392] Step 1320: Dynamic model parameters are determined based on the dynamic equations of the leg-wheel robot and the state quantities at the first time point.

[0393] Step 1320 includes the following sub-steps: Sub-step 1323: The robust controller substitutes the state quantities at the first time point into the dynamics equations to determine an inertia matrix, a deflection force matrix, and a gravity matrix at the first time point. The inertia matrix is ​​used to represent the mass and moment of inertia of each joint rigid body constituting the leg-wheeled robot at the first time point, the deflection force matrix is ​​used to represent the deflection force of the leg-wheeled robot at the first time point, and the gravity matrix is ​​used to represent gravity of the leg-wheeled robot at the first time point.

[0394] Sub-step 1326: Determine dynamic model parameters based on the inertia matrix, the deflection force matrix, and the gravity matrix.

[0395] When n is equal to 2, the leg-wheel robot is abstracted into a two-stage inverted pendulum model, and then the dynamic equations used in the balance control process are derived according to the Euler-Lagrange equations. The dynamic equations can be expressed as follows:

[0396]

number

[0397] In the process of designing a robust controller,

[0398]

number

[0399]

number

[0400] Process equation a, unify the rotation moment τ1 of the first rotary joint and the rotation moment τ2 of the second rotary joint into equation a, and process equation a using a selection matrix to obtain equation b.

[0401]

number

[0402] Equation b may be designed in advance after the leg-wheeled robot is abstracted and modeled as a two-stage inverted pendulum model. During the balance control method, the robust controller acquires the state quantities at a first time point, then substitutes the state quantities at the first time point into the dynamics equations to determine the inertia matrix, deflection force matrix, and gravity matrix at the first time point, and determines the dynamics model parameters based on the inertia matrix, deflection force matrix, and gravity matrix.

[0403] Preferably, sub-step 1326 may be realized by the following steps: The robust controller uses 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; obtain a deflection parameter matrix, and the selection matrix is ​​used to extract the rotation moments of the n rotational joints from the dynamics equation; The robust controller uses the selection matrix to process the inverse matrix of the inertia matrix to obtain a proportional parameter matrix; The specific content of this process may refer to the above-mentioned embodiment, and its description will be omitted here.

[0404] In other words, in the equilibrium control process, the robust controller can calculate the proportional parameter matrix and the dynamic model parameter matrix based on the equation b and each equation in part (5) of the corresponding specification content in Figure 9.

[0405] Step 1330: Establish a sliding surface based on the state quantities at the first time point. The state quantities of the leg-wheeled robot gradually approach 0 on the sliding surface.

[0406] When n is equal to 2, the rotation moment of the first rotary joint and the rotation moment of the second rotary joint need to be determined, and the robust controller needs to establish two sliding surfaces, including: 1. the sliding surface of the first rotary joint (i.e., the state quantity associated with the first rotary joint gradually approaches 0 on this sliding surface), and 2. the sliding surface of the second rotary joint (i.e., the state quantity associated with the second rotary joint gradually approaches 0 on this sliding surface).

[0407] Preferably, 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 rotation moment of the first rotary joint and the rotation moment of the second rotary joint, and the first sliding surface and the second sliding surface jointly participate in the calculation process of the rotation moments of the first rotary joint and the second rotary joint. The definition of the first sliding surface does not have to be limited to the sliding surface corresponding to the first rotary joint. Similarly, the definition of the second sliding surface does not have to be limited to the sliding surface corresponding to the second rotary joint. The first sliding surface and the second sliding surface can be defined according to actual needs, and the present invention is not limited thereto.

[0408] As can be seen from the above description of the n-stage inverted pendulum model, at least three state parameters and at least two sliding mode parameters are required to establish the sliding surface to ensure that the determined rotation moment can be calculated. Here, the state parameters are: (Outside 190) TIFF2025538768000263.tif7160, (outside 191) TIFF2025538768000264.tif9160 are both state parameters.

[0409] In some embodiments, step 1330 includes the following sub-steps: Sub-step 1333: The robust controller determines at least four sliding mode parameters, which are used to constrain the rotational moment of the first revolute joint and the rotational moment of the second revolute joint to satisfy a system stability condition for the leg-wheel robot.

[0410] Preferably, different state parameters are used to establish different sliding planes, and different sliding mode parameters are used to establish different sliding planes. In some embodiments, at least the deflection angle of the leg mechanism, the angular velocity of the moving wheels, and the angular velocity of the leg mechanism among the state quantities are required to establish the first sliding plane. At least the deflection angle of the trunk mechanism, the angular velocity of the moving wheels, and the angular velocity of the trunk mechanism among the state quantities at a first time point are required to establish the second sliding plane. In this case, the at least two sliding mode parameters included in the first sliding plane are a sliding mode parameter corresponding to the deflection angle of the leg mechanism and a sliding mode parameter corresponding to the angular velocity of the moving wheels, respectively. The at least two sliding mode parameters included in the second sliding plane are a sliding mode parameter corresponding to the deflection angle of the trunk mechanism and a sliding mode parameter corresponding to the angular velocity of the moving wheels, respectively.

[0411] In some embodiments, step 1330 further includes the following sub-steps: Sub-step 1336: The robust controller establishes a first sliding surface and a second sliding surface based on the state quantity at the first time point and the at least four sliding mode parameters.

[0412] Preferably, the robust controller establishes a first sliding surface based on the first sliding mode parameter, the second sliding mode 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 mode parameter, the fourth sliding mode parameter, the deflection angle of the trunk mechanism, the angular velocity of the trunk mechanism, and the angular acceleration of the leg mechanism.

[0413] For example, the robust controller processes the deflection angle of the leg mechanism using a first sliding mode parameter, obtains the processing result of the leg mechanism, processes the angular velocity of the moving wheel using a second sliding mode parameter, and obtains the processing result of the moving wheel. The robust controller determines a first sliding plane based on the processing result of the leg mechanism, the processing result of the moving wheel, and the angular velocity of the leg mechanism. Preferably, the first sliding plane is directly proportional to the processing result of the leg mechanism, the first sliding plane is directly proportional to the processing result of the moving wheel, and the first sliding plane is directly proportional to the angular velocity of the leg mechanism.

[0414] 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.

[0415] For example, the robust controller processes the deflection angle of the trunk mechanism using the third sliding mode parameter to obtain the processing result of the trunk mechanism, processes the angular velocity of the moving wheel using the fourth sliding mode parameter to obtain the processing result of the moving wheel. The robust controller determines the second sliding plane based on the processing result of the trunk mechanism, the processing result of the moving wheel, and the angular velocity of the trunk mechanism. Preferably, the second sliding plane is directly proportional to the processing result of the trunk mechanism, the second sliding plane is directly proportional to the processing result of the moving wheel, and the second sliding plane is directly proportional to the angular velocity of the leg mechanism.

[0416] 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.

[0417] In some embodiments, in the balance control process, the robust controller establishes the first sliding surface s1 and the second sliding surface s2 according to the following two equations:

[0418]

number

[0419]

number

[0420] By establishing the first sliding surface and the second sliding surface in this manner and controlling the number of sliding mode parameters in the first sliding surface and the second sliding surface, it is possible to determine the rotational moments of the first rotary joint and the second rotary joint that satisfy the system stability principle with a relatively small calculation cost, thereby improving the speed at which the rotational moments are determined and achieving balance control for the robot.

[0421] Step 1340: Calculate the rotation moment of the first revolute joint and the rotation moment of the second revolute joint based on the sliding surface and dynamic model parameters.

[0422] After determining the first sliding surface and the second sliding surface, the robust controller calculates an equation for the first derivative with respect to time of the first sliding surface s1 and an equation for the first derivative with respect to time of the second sliding surface s2.

[0423]

number

[0424]

number

[0425] Equation c is obtained by rearranging the equation for the first derivative with respect to time of the first sliding surface s1 and the equation for the first derivative with respect to time of the second sliding surface s2 in matrix form.

[0426]

number

[0427]

number

[0428] Formula d may be further written as formula e.

[0429]

number

[0430] Preferably, the robust controller needs to consider the system stability condition in the calculation process of the rotational moment. Please refer to the following examples for how to satisfy the system stability condition in the balance control process of the two-stage inverted pendulum model.

[0431] Step 1350: At a second time point, the included angle between the leg mechanism and the moving wheel is adjusted based on the rotation moment of the first rotary joint, and the included angle between the trunk mechanism and the leg mechanism is adjusted based on the rotation moment of the second rotary joint.

[0432] In one aspect, the robust controller transmits the rotation moment of the first rotary joint and the rotation moment of the second rotary joint to the joint motor of the first rotary joint and the joint motor of the second rotary joint. That is, step 1350 is realized as follows: the robust controller adjusts the included angle between the leg mechanism and the moving wheel based on the rotation moment of the first rotary joint using the rotation motor of the first rotary joint; and the robust controller adjusts the included angle between the trunk mechanism and the leg mechanism based on the rotation moment of the second rotary joint using the rotation motor of the second rotary joint.

[0433] In another aspect, after the robust controller determines the rotational moment of the first rotational joint and the rotational moment of the second rotational joint, the robust controller transmits the rotational moments of the first rotational joint and the second rotational joint to a measurement module. The measurement module calculates an angular acceleration at a first time point based on the rotational moment of the first rotational joint and the second rotational joint and a dynamic equation, and calculates a task acceleration of the leg-wheeled robot based on the angular acceleration at the first time point. The measurement module transmits the task acceleration to a whole-body dynamics controller. The whole-body dynamics controller determines force and moment commands for the whole-body joints of the leg-wheeled robot based on the task acceleration. The whole-body dynamics controller controls the joint motor of the first rotational joint to adjust the included angle between the leg mechanism and the moving wheel based on the force and moment commands for the first rotational joint included in the force and moment commands for the whole-body joints. The whole body dynamics controller controls the joint motor of the second rotary joint based on the force and moment command of the second rotary joint among the force and moment commands of the joints of the whole body to adjust the included angle between the trunk mechanism and the leg mechanism.

[0434] Preferably, the whole body dynamics controller may further control the motion of joints other than the first and second rotational joints in the leg-wheeled robot based on the force and moment commands of the joints of the whole body, thereby allowing more driving joints to participate in the balance control process and improving the diversity of postures in the balance control process of the leg-wheeled robot.

[0435] For a detailed explanation of the above content, please refer to the relevant content in the n-stage inverted pendulum model above, and the explanation will be omitted here.

[0436] As described above, by abstracting the leg-wheeled robot into a two-stage inverted pendulum model, the angle between the mobile wheels and the leg mechanisms can be adjusted during the balance control process, and the angle between the trunk mechanism and the leg mechanisms can be adaptively adjusted. This improves the diversity of the robot's posture during the balance adjustment process, making the robot's posture changes more flexible and enabling it to quickly adjust to a balance state. It also improves the robot's ability to recover to a balance state even when subjected to different disturbance forces, thereby improving the robustness of the robot's balance control process.

[0437] The following describes the process of satisfying the system stability criterion in the process of calculating the rotation moment of the first rotation joint and the rotation moment of the second rotation joint, with reference to one embodiment.

[0438] As can be seen from the definition and properties of the sliding surface, the state parameters satisfy the following conditions on the sliding surface:

[0439]

number

[0440]

number

[0441]

number

[0442]

number

[0443]

number

[0444]

number

[0445]

number

[0446]

number

[0447]

number

[0448]

number

[0449]

number

[0450]

number

[0451]

number

[0452]

number

[0453]

number

[0454]

number

[0455]

number

[0456] The simultaneous equation 1 may be written as a state equation relating to state variables (ξ1, ξ2, ξ3). Preferably, the state equation refers to an equation relating to a state quantity.

[0457] For convenience of explanation, a1 (Outside 215) TIFF2025538768000312.tif8152, m1 (Outside 216) TIFF2025538768000313.tif6152, m2 (Outside 217) TIFF2025538768000314.tif8153, m3 (outside 218) Representing TIFF2025538768000315.tif8153, the equation of state can be written as:

[0458]

number

[0459] To ensure that the system satisfies the stability criterion, the coefficient matrix (Outside 219) The characteristic roots of TIFF2025538768000317.tif18153 must all be distributed in the left half of the complex plane. The state equation can also be a matrix inequality constraint, i.e., the value of the sliding mode parameter must make the characteristic roots of the coefficient matrix negative.

[0460] Preferably, in the balance control process of the present invention, the robust controller determines the rotation moment of the first rotary joint and the rotation moment of the second rotary joint based on the equation d and the equation group 1.

[0461] In the process of performing balance control, the robust controller calculates the rotational moment τ1 of the first rotary joint and the rotational moment τ2 of the second rotary joint based on equation d. Equation d relates to sliding surface s1 and second sliding surface s2, and equation 2 relates to the dynamic model parameters and sliding mode parameters. The robust controller obtains state quantities at a first time point from a sensor, substitutes the state quantities at the first time point into the corresponding equations, determines the first sliding surface s1, the second sliding surface s2, and the dynamic model parameters, searches for sliding mode parameters that satisfy the system stability conditions, and calculates the rotational moment τ1 of the first rotary joint and the rotational moment τ2 of the second rotary joint based on equation d, thereby simultaneously ensuring that the sliding mode parameters satisfy the matrix inequality constraints formed from the state equations.

[0462] In the balance control method according to the present invention, first, four sliding mode parameters that satisfy the matrix inequality constraints are determined, and then a first sliding surface and a second sliding surface are constructed based on the sliding mode parameters.

[0463] Alternatively, first, four sliding mode parameters are arbitrarily selected within a certain numerical range, and the first and second sliding surfaces are constructed using the four sliding mode parameters. After calculating the rotation moment τ1 of the first rotary joint and the rotation moment τ2 of the second rotary joint according to equation d, it is verified whether the four sliding mode parameters satisfy the matrix inequality constraint.

[0464] Preferably, if the four sliding mode parameters satisfy the matrix inequality constraint, it is determined that the determined rotation moment τ1 of the first rotary joint and the determined rotation moment τ2 of the second rotary joint can be used, and if the four sliding mode parameters do not satisfy the matrix inequality constraint, it is determined that the determined rotation moment τ1 of the first rotary joint and the determined rotation moment τ2 of the second rotary joint cannot be used.

[0465] The following describes how to determine the sliding mode parameters with reference to some examples.

[0466] In some embodiments, determining at least four sliding mode parameters includes the following steps: the computing device determines a first sliding mode parameter from the first prediction parameter set, a second sliding mode parameter from the second prediction parameter set, a third sliding mode parameter from the third prediction parameter set, and a fourth sliding mode parameter from the fourth prediction parameter set, where the sliding mode parameters included in the first prediction parameter set, the second prediction parameter set, the third prediction parameter set, and the fourth prediction parameter set respectively satisfy a stability criterion constraint.

[0467] In this embodiment, after determining the state at the first time point, the robust controller first determines solution sets corresponding to λ1, λ2, λ3, and λ4, respectively, using the state equation as a matrix inequality constraint. Then, the robust controller selects first, second, third, and fourth sliding mode parameters from each parameter set, respectively, and establishes first and second sliding mode surfaces based on the sliding mode parameters, second, third, and fourth sliding mode parameters, and the state quantities at the first time point. Then, the robust controller calculates the rotation moments of the first and second rotary joints according to the above equation d.

[0468] In some implementations, the process for determining the prediction parameter set for any one of the four prediction solution sets is as follows: (Outside 220) Calculate the feature roots of TIFF2025538768000318.tif18153, and use all feature roots corresponding to the coefficient matrix as the prediction parameter set.

[0469] This method avoids the inability to control the equilibrium of the leg-wheeled robot using the rotational moment corresponding to the first rotational joint and the rotational moment corresponding to the second rotational joint obtained by calculation using the sliding mode parameters, which may be obtained by selecting sliding mode parameters that do not satisfy system stability. This method prevents the computer from performing invalid calculations and reduces the time required to determine the rotational moment corresponding to the first rotational joint and the rotational moment corresponding to the second rotational joint.

[0470] In the following, a test is carried out to verify the robust control effect of balance control of a leg-wheel robot when the balance control method according to this embodiment is applied.

[0471] FIG. 14 is a schematic diagram of a simulation of a two-wheel balance control method according to one embodiment of the present invention.

[0472] The background of Figure 14 is as follows: The leg-wheeled robot is in two-wheel mode and is subjected to a lateral interference force. The leg-wheeled robot is abstracted into an n-stage inverted pendulum, and then the state variables of the leg-wheeled robot are obtained using a robust controller. The rotational moment of the nth rotary joint is calculated using the methods described in the above embodiments. The postures of the leg mechanisms and trunk mechanism of the leg-wheeled robot are then adjusted based on the rotational moments of the n rotary joints. As shown in Figure 14, when subjected to a lateral interference force, the leg-wheeled robot simultaneously adjusts the postures of the n connecting rods of the leg-wheeled robot, causing the leg-wheeled robot to swing back and forth. 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 the force-receiving portion of the leg-wheeled robot, allowing the entire leg-wheeled robot to quickly regain equilibrium.

[0473] FIG. 15 is a schematic diagram of a simulation of a two-wheel balance control method according to another embodiment of the present invention. The background of FIG. 15 is as follows: A leg-wheeled robot is in two-wheel motion mode. In this example, n is equal to 2, i.e., balance control for the leg-wheeled robot is based on a two-stage inverted pendulum model. When the leg-wheeled robot falls from a high place and contacts a contact surface, an initial angle exists between the leg mechanism and the z-axis. When the leg-wheeled robot starts moving from an initial position relatively far from the equilibrium point and falls to the ground, the two outer leg mechanisms act like springs. Due to the relatively large impact, the first rotational joint controls the large forward and backward swings of the two outer leg mechanisms to maintain the robot's equilibrium posture. The (n-1) connecting rods above the leg mechanism (i.e., the first mechanism) also move relatively large in a timely manner, adjusting the center of gravity and the force received, allowing the entire robot to quickly restore equilibrium.

[0474] The following describes an embodiment of an apparatus of the present invention that can be used to carry out an embodiment of a method of the present invention. For details not disclosed in the embodiment of the apparatus of the present invention, reference may be made to the embodiment of the method of the present invention.

[0475] FIG. 16 is a block diagram of a balance control device for a leg-wheeled robot according to one embodiment of the present invention. The device has a function for implementing the balance control method for a leg-wheeled robot described above. This function may be implemented by hardware, or by hardware executing corresponding software. The device may be the computer device described above, or may be configured within the computer device. The leg-wheeled robot includes a moving wheel, n connecting rods, and n rotating joints. The moving wheel and a first connecting rod of the n connecting rods are connected to each other by a first rotating joint of the n rotating joints, and the n connecting rods are connected in series by n-1 rotating joints other than the first rotating joint, where n is a positive integer greater than or equal to 3.

[0476] As shown in FIG. 16, the device 1600 may include a state acquisition module 1610, a parameter determination module 1620, a sliding plane establishment module 1630, a moment calculation module 1640, and a joint rotation module 1650.

[0477] The state acquisition module 1610 acquires a state quantity of the leg-wheeled robot at a first time point. The state quantity at the first time point is used to represent the motion state of the leg-wheeled robot at the first time point.

[0478] The parameter determination module 1620 determines dynamic model parameters based on the dynamic equations of the leg-wheeled robot and the state quantities at a first time point. The dynamic model parameters are used to define a mapping relationship between angular accelerations at the first time point and rotational moments at a second time point, where the angular accelerations at the first time point include the angular accelerations of the n connecting rods and the angular acceleration of the moving wheels, and the rotational moments at the second time point include the rotational moments of the n rotational joints.

[0479] The sliding surface establishment module 1630 establishes a sliding surface based on the state quantities at the first time point. The state quantities of the leg-wheeled robot gradually approach stable values ​​on the sliding surface.

[0480] The moment calculation module 1640 calculates the rotation moments of the n revolute joints based on the sliding surface and dynamic model parameters.

[0481] The joint rotation module 1650 controls the n rotary joints based on the rotation moments of the n rotary joints at a second time point.

[0482] In some embodiments, the parameter determination module 1620 includes a matrix calculation unit that substitutes state quantities at a first time point into the dynamics equations and determines an inertia matrix, a deflection force matrix, and a gravity matrix at the first time point, where the inertia matrix is ​​used to represent the mass and moment of inertia of the n rotational joints at the first time point, the deflection force matrix is ​​used to represent the deflection forces of the leg-wheeled robot at the first time point, and the gravity matrix is ​​used to represent gravity of the leg-wheeled robot at the first time point; and a parameter determination unit that determines dynamics model parameters based on the inertia matrix, the deflection force matrix, and the gravity matrix.

[0483] In some embodiments, the dynamics model parameters include a proportional parameter matrix and a shift parameter matrix, where the proportional parameter matrix is ​​used to represent a proportional relationship between the angular acceleration at a first time point and the rotational moment at a second time point, and the shift parameter matrix is ​​used to represent a shift relationship between the angular acceleration at the first time point and the rotational moment at the second time point. The parameter determination module processes a product of the inverse of the inertia matrix and the deflection force matrix using a selection matrix, processes a product of the inverse of the inertia matrix and the gravity matrix using the selection matrix to obtain the shift parameter matrix, the selection matrix is ​​used to extract the rotational moments of the n rotational joints from the dynamics equations, and processes the inverse of the inertia matrix using the selection matrix to obtain the proportional parameter matrix.

[0484] In some embodiments, the dynamic equations of the robot are derived by abstracting the leg-wheel robot into an n-stage inverted pendulum model and deriving it according to the Euler-Lagrange equations.

[0485] In some embodiments, the sliding surface includes n sliding surfaces, and the n sliding surfaces are used to constrain rotational moments of the n revolute joints. The sliding surface establishment module 1630 includes a sliding mode parameter determiner step that determines at least two sliding mode parameters for an i-th sliding surface of the n sliding surfaces, where i is a positive integer less than or equal to n, and a sliding surface establisher that establishes the i-th sliding surface based on the at least two sliding mode parameters and the state quantity at the first time point.

[0486] In some embodiments, the sliding mode parameter determiner determines a first sliding mode parameter of the at least two sliding mode parameters from the 2i-1th prediction parameter set and a second sliding mode parameter of the at least two sliding mode parameters from the 2ith prediction parameter set, where the sliding mode parameters included in the 2i-1th prediction parameter set and the 2ith prediction parameter set, respectively, satisfy a constraint of a stability criterion.

[0487] In some embodiments, the state quantities at the first time point include deflection angles of the n connecting rods, angular velocities of the n connecting rods, and angular velocity of the moving wheel, and the sliding surface establishment unit processes the deflection angle of the i-th connecting rod based on a first sliding mode parameter of the at least two sliding mode parameters, obtains a processing result of the i-th connecting rod, processes the angular velocity of the moving wheel based on a second sliding mode parameter of the at least two sliding mode parameters, obtains a processing result of the moving wheel, and establishes the i-th sliding surface based on 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.

[0488] In some embodiments, the joint rotation module 1650 controls, for any one of the n rotary joints, the rotation of the rotary motor corresponding to the rotary joint based on the rotation moment of the rotary joint.

[0489] In some embodiments, the joint rotation module 1650 calculates a task acceleration of the leg-wheeled robot at a second time point based on the rotation moments of the n rotational joints, where the task acceleration includes an acceleration about the center of gravity of the leg-wheeled robot, and determines force and moment commands for the joints of the whole body of the leg-wheeled robot at the second time point based on the task acceleration, where the joints of the whole body include the n rotational joints, and controls the joints of the whole body based on the force and moment commands at the second time point.

[0490] In some embodiments, the joint rotation module 1650 determines an angular acceleration at a second time point based on the dynamic equations and the rotation moments of the n rotational joints, determines a desired incremental position and a desired incremental velocity of the center of gravity of the leg-wheeled robot at the second time point based on the state quantity at the first time point and the angular acceleration at the second time point, the desired incremental position is used to represent the distance in a first direction between the projection of the center of gravity of the leg-wheeled robot on the contact surface and a virtual contact point, the desired incremental velocity is used to represent the rate of change of the distance in the first direction, the virtual contact point means the center of each contact point between the leg-wheeled robot and the contact surface, and determines a task acceleration of the leg-wheeled robot at the second time point based on the desired incremental position and the desired incremental velocity.

[0491] In some embodiments, the state quantities include deflection angles of the n connecting rods, angular velocities of the n connecting rods, and angular velocities of the moving wheels. The state acquisition module 1610 determines the deflection angles of the n connecting rods through an inertial measurement unit and motor encoders of the leg-wheeled robot, and determines the angular velocities of the n connecting rods and angular velocities of the moving wheels through the motor encoders.

[0492] In some embodiments, the moving wheel refers to a virtual wheel formed by superimposing at least two non-overlapping real wheels in a first direction of the leg-wheel robot, the first connecting rod refers to a virtual first connecting rod formed by superimposing at least two non-overlapping real first connecting rods in a first direction of the leg-wheel robot, and the first direction refers to the forward direction of the leg-wheel robot.

[0493] In some embodiments, the state quantities include deflection angles of the n connecting rods, angular velocities of the n connecting rods, and angular velocity of the moving wheels. The state acquisition module 1610 determines deflection angles of connecting rods other than the first connecting rod among the n connecting rods and a deflection angle of each true first connecting rod using an inertial measurement unit and a motor encoder of the leg-wheel robot, determines angular velocities of connecting rods other than the first connecting rod among the n connecting rods, the angular velocity of each true first connecting rod, and the angular velocity of each true wheel using the motor encoder, determines the angular velocity of the moving wheels based on the angular velocity of each true wheel, and determines the deflection angle and angular velocity of the first connecting rod based on the length, deflection angle, and angular velocity of each true first connecting rod.

[0494] It should be noted that the apparatus according to the embodiments of the present invention is exemplified only by the division of each of the above-mentioned functional blocks when realizing its functions, and in actual applications, the allocation of the above-mentioned functions may be divided into different functional blocks as necessary to realize all or part of the above-mentioned functions. It should be noted that the apparatus according to the embodiments of the present invention belongs to the same concept as the method embodiments, and for the specific realization process thereof, please refer to the method embodiments not described in this specification.

[0495] 17 is a block diagram of a configuration of a computer device 1700 according to one embodiment of the present invention. The computer device 1700 may be any electronic device having data calculation, processing, and storage functions. The computer device 1700 may be used to implement the balance control method for a leg-wheeled robot according to the above embodiment.

[0496] Typically, the computing device 1700 includes a processor 1701 and a memory 1702 .

[0497] The processor 1701 may include one or more processing cores, such as a 4-core processor or an 8-core processor. The processor 1701 may be implemented using at least one hardware form of a DSP (Digital Signal Processing), an FPGA (Field Programmable Gate Array), or a PLA (Programmable Logic Array). The processor 1701 may include a main processor, also referred to as a CPU (Central Processing Unit), which is a processor for processing data in a wake-up state, and a coprocessor. The coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 1701 may incorporate a GPU (Graphics Processing Unit) responsible for rendering and drawing content required for display on a display screen. In some embodiments, the processor 1701 may also include an AI processor for processing computational operations related to machine learning.

[0498] Memory 1702 may include one or more non-transitory computer-readable storage media. Memory 1702 may include high-speed random access memory as well as non-volatile memory such as one or more magnetic disk storage devices, flash memory devices, etc. In some embodiments, the non-transitory computer-readable storage media in memory 1702 are used to store computer programs configured to be executed by one or more processors to implement the balance control method for a leg-wheeled robot described above.

[0499] It should be noted that those skilled in the art will appreciate that the configuration shown in FIG. 17 is not intended to limit the computing device 1700, which may include more or fewer components than those shown, may combine certain components, or may employ different component arrangements.

[0500] In an exemplary embodiment, a computer-readable storage medium having a computer program stored thereon is further provided, the computer program, when executed by a processor of a terminal device, performing the above-described balance control method for a leg-wheeled robot. In an exemplary embodiment, the above-described computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, etc.

[0501] In an exemplary embodiment, a computer program product is further provided, the computer program being stored on a computer-readable storage medium, wherein a processor of a terminal device reads the computer program from the computer-readable storage medium and executes the computer program to cause the terminal device to perform the balance control method for a leg-wheeled robot described above.

[0502] It should be understood that the term "plurality" in this specification refers to two or more. The term "and / or" in this specification describes a relationship between related objects and indicates that three relationships may exist. For example, A and / or B can indicate that A exists alone, that A and B exist simultaneously, or that B exists alone. The symbol " / " generally indicates that the related objects before and after are in an "or" relationship. Furthermore, the numbering of steps described in this specification is merely an example of a possible order between steps. In some other embodiments, for example, two different numbered steps may be performed simultaneously, two different numbered steps may be performed in the reverse order to that shown, or steps may not be performed in the numbered order; the embodiments of the present invention are not limited thereto.

Claims

1. A balance control method for a leg-wheeled robot, executed by a computing device, the leg-wheeled robot including a moving wheel, n connecting rods, and n rotary joints, the moving wheel and a first connecting rod of the n connecting rods being connected to each other by a first rotary joint of the n rotary joints, the n connecting rods being connected in series by n-1 rotary joints other than the first rotary joint, n being a positive integer equal to or greater than 2, a step of acquiring a state quantity of the leg-wheeled robot at a first time point, the state quantity at the first time point being used to represent a motion state of the leg-wheeled robot at the first time point; determining dynamic model parameters based on dynamic equations of the leg-wheeled robot and state quantities at the first time point, the dynamic model parameters being used to define a mapping relationship between angular accelerations at the first time point and rotational moments at a second time point, the angular accelerations at the first time point including angular accelerations of the n connecting rods and angular accelerations of the moving wheels, and the rotational moments at the second time point including rotational moments of the n rotational joints; establishing a sliding surface based on the state quantities at the first time point, wherein the state quantities of the leg-wheeled robot gradually approach stable values ​​on the sliding surface; calculating rotation moments of the n revolute joints based on the sliding surfaces and the dynamic model parameters; and controlling the n rotary joints based on the rotation moments of the n rotary joints at the second point in time.

2. determining dynamic model parameters based on a dynamic equation of the leg-wheeled robot and a state quantity at the first time point, a step of substituting the state quantities at the first time point into the dynamics equations to determine an inertia matrix, a deflection force matrix, and a gravity matrix at the first time point, wherein the inertia matrix is ​​used to represent the mass and moment of inertia of the n rotational joints at the first time point, the deflection force matrix is ​​used to represent the deflection force of the leg-wheeled robot at the first time point, and the gravity matrix is ​​used to represent the gravity of the leg-wheeled robot at the first time point; and determining the dynamic model parameters based on the inertia matrix, the deflection force matrix, and the gravity matrix.

3. the dynamic model parameters include a proportional parameter matrix and a shift parameter matrix, the proportional parameter matrix being used to represent a proportional relationship between the angular acceleration at the first time point and the rotational moment at the second time point, and the shift parameter matrix being used to represent a shift relationship between the angular acceleration at the first time point and the rotational moment at the second time point; The step of determining the dynamic model parameters based on the inertia matrix, the deflection force matrix, and the gravity matrix includes: processing a product of the inverse of the inertia matrix and the deflection force matrix using a selection matrix, the selection matrix being used to extract rotation moments of the n rotational joints from the dynamic equations; processing a product of the inverse of the inertia matrix and the gravity matrix using the selection matrix to obtain the shift parameter matrix; and inverting the inertia matrix using the selection matrix to obtain the proportional parameter matrix.

4. The method according to claim 1 , wherein the dynamic equations are obtained by abstracting the leg-wheeled robot into an n-stage inverted pendulum model and deriving them according to the Euler-Lagrange equations.

5. the sliding surfaces include n sliding surfaces, the n sliding surfaces being used to constrain rotational moments of the n revolute joints; The step of establishing a sliding surface based on the state quantity at the first time point includes: determining at least two sliding mode parameters for an i-th sliding surface of the n sliding surfaces, where i is a positive integer less than or equal to n; establishing the i-th sliding surface based on the at least two sliding mode parameters and a state quantity at the first time point.

6. The step of determining at least two sliding mode parameters for an i-th sliding surface of the n sliding surfaces comprises: determining a first sliding mode parameter of the at least two sliding mode parameters from a 2i-1 prediction parameter set and determining a second sliding mode parameter of the at least two sliding mode parameters from a 2i prediction parameter set; The method of claim 5 , wherein the sliding mode parameters included in the (2i−1)th prediction parameter set and the 2ith prediction parameter set respectively satisfy constraints of a stability criterion.

7. the state quantities include deflection angles of the n connecting rods, angular velocities of the n connecting rods, and angular velocity of the moving wheel; The step of establishing the i-th sliding surface based on the at least two sliding mode parameters and the state quantity at the first time point includes: Processing a deflection angle of an i-th connecting rod according to a first sliding mode parameter of the at least two sliding mode parameters, and obtaining 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; establishing the i-th sliding surface based on the processed result of the i-th connecting rod, the processed result of the moving wheel, and the angular velocity of the i-th connecting rod.

8. The step of controlling the n rotational joints based on the rotation moments of the n rotational joints includes: The method according to claim 1 , further comprising the step of controlling, for any one of the n rotary joints, rotation of a rotary motor corresponding to the rotary joint based on a rotation moment of the rotary joint.

9. The step of controlling the n rotational joints based on the rotation moments of the n rotational joints includes: calculating a task acceleration of the leg-wheeled robot at the second time point based on rotation moments of the n rotational joints, wherein the task acceleration includes an acceleration about a center of gravity of the leg-wheeled robot; determining force and moment commands for the joints of the whole body of the leg-wheeled robot at the second time point based on the task acceleration, wherein the joints of the whole body include the n rotational joints; and controlling the joints of the whole body based on the force and moment commands at the second point in time.

10. The step of calculating a task acceleration of the leg-wheeled robot at the second time point based on the rotation moments of the n rotational joints includes: determining angular accelerations at the second time point based on the dynamic equations and rotation moments of the n rotational joints; determining a desired incremental position and a desired incremental velocity of the center of gravity of the leg-wheeled robot at the second time point based on the state quantity at the first time point and the angular acceleration at the second time point, wherein the desired incremental position is used to represent the distance in a first direction between a projection of the center of gravity of the leg-wheeled robot on a contact surface and a virtual contact point, the desired incremental velocity is used to represent the rate of change of the distance in the first direction, and the virtual contact point means the center of each contact point between the leg-wheeled robot and the contact surface; and determining a task acceleration for the leg-wheeled robot at the second time point based on the desired incremental position and the desired incremental velocity.

11. the state quantities include deflection angles of the n connecting rods, angular velocities of the n connecting rods, and angular velocity of the moving wheel; The step of acquiring a state quantity of the leg-wheeled robot at a first time point includes: determining deflection angles of the n connecting rods by an inertial measurement unit and motor encoders of the leg-wheel robot; and determining, by the motor encoder, the angular velocities of the n connecting rods and the angular velocity of the moving wheel.

12. A balance control device for a leg-wheeled robot, the leg-wheeled robot including a moving wheel, n connecting rods, and n rotary joints, the moving wheel and a first connecting rod of the n connecting rods being connected to each other by a first rotary joint of the n rotary joints, the n connecting rods being connected in series by n-1 rotary joints other than the first rotary joint, n being a positive integer equal to or greater than 2, a state acquisition module that acquires a state quantity of the leg-wheeled robot at a first time point, the state quantity at the first time point being used to represent a motion state of the leg-wheeled robot at the first time point; a parameter determination module that determines dynamic model parameters based on dynamic equations of the leg-wheeled robot and state quantities at the first time point, the dynamic model parameters being used to define a mapping relationship between angular accelerations at the first time point and rotational moments at a second time point, the angular accelerations at the first time point including angular accelerations of the n connecting rods and angular accelerations of the moving wheels, and the rotational moments at the second time point including rotational moments of the n rotational joints; a sliding surface establishment module that establishes a sliding surface based on the state quantities at the first time point, wherein the state quantities of the leg-wheeled robot gradually approach a stable value on the sliding surface; a moment calculation module that calculates rotation moments of the n rotational joints based on the sliding surfaces and the dynamic model parameters; a joint rotation module that controls the n rotary joints based on the rotation moments of the n rotary joints at the second time point.

13. A computer device including a processor and a memory having a computer program stored therein, the computer program being loaded and executed by the processor to implement a balance control method for a leg-wheeled robot according to any one of claims 1 to 11.

14. A computer program that causes a computer to execute the balance control method for a leg-wheeled robot according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Self-stabilization control method, system and device of wheel-legged robot

    CN110764413A

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

    CN113753150A

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

    CN115291514A

  • Motion target generating apparatus of mobile robot

    US20160016308A1

  • Feedforward control method for floating base dynamics, computer-readable storage medium and robot

    US20220019196A1