Balance control method and apparatus for wheel-legged robot, device, and storage medium
By abstracting the wheel-legged robot into an n-order inverted pendulum model and executing the balance control method, the problem of insufficient balance control robustness in the existing technology is solved, and balance control and posture richness in multi-wheel motion modes are achieved, improving It improves the balance recovery ability of the robot under different disturbances and the versatility of the controller.
Patent Information
- Application Number
- PCT/CN2024/093484
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-14
- Filing Date
- 2024-05-15
- Publication Date
- 2025-01-23
AI Technical Summary
The balance control method of existing wheel-leg robots is not robust enough under different motion states and has limited use scenarios.
By abstracting the wheel -leg robot into a n -order piercing model, the computer equipment executes a balanced control method. This method includes obtaining the actual status, calculating the equivalent status, establishing a sliding surface, and based on the sliding surface and dynamics. The equation determines the power and torque instructions of the whole body to adjust the balance of the robot.
It achieves balance control under multi-wheel motion modes, enriches the robot posture, improves the balance recovery ability under different disturbance forces, improves the robustness of the balance control process, and can switch motion modes without adjusting control parameters. state, improving the versatility of the controller.
Smart Images

Figure CN2024093484_23012025_PF_FP_ABST
Abstract
Description
Balance control method, device, equipment and storage medium for wheel-legged robot
[0001] This application claims priority to the Chinese patent application filed on July 14, 2023, with application number 202310872666.5 and invention name “Balance control method, device, equipment and storage medium for wheel-legged robot”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of robotics technology, and in particular to a balance control method, device, equipment and storage medium for a wheel-legged robot. Background Art
[0003] With the continuous development of robotics technology, a wheel-legged robot has emerged in which the moving wheels are connected to the leg mechanism through joints. This wheel-legged robot has the mobility advantages of both wheeled robots and footed robots, and has a movement mode of moving forward by alternating steps through the leg mechanism.
[0004] In related technologies, in order to improve the balance ability of wheel-legged robots during movement, the leg mechanism and torso mechanism of the wheel-legged robot are regarded as a whole, the rotational torque of the joint motor between the moving wheel and the leg mechanism is calculated, and the angle between the moving wheel and the leg mechanism is changed by rotating the joint motor to maintain the balance ability of the wheel-legged robot.
[0005] However, the use scenarios of the balance control process in related technologies are relatively few, and the robustness of the balance control method of wheel-legged robots under different motion states needs to be further improved.
[0006] Summary of the Invention
[0007] The present invention provides a method, device, equipment, and storage medium for balancing a wheel-legged robot.
[0008] According to one aspect of an embodiment of the present application, a balance control method for a wheel-legged robot is provided, the method being executed by a computer device, wherein the wheel-legged robot is simplified to an n-order inverted pendulum model, the n-order inverted pendulum model comprising: a wheel, n connecting rods, and n revolute joints, the wheel and a first connecting rod of the n connecting rods being connected via a first revolute joint of the n revolute joints, the n connecting rods being connected in series via n-1 revolute joints other than the first revolute joint, the first connecting rod being an equivalent connecting rod corresponding to at least two leg mechanisms of the wheel-legged robot, the wheel being an equivalent moving wheel corresponding to moving wheels respectively connected to the at least two leg mechanisms, and n being a positive integer greater than or equal to 2; the method comprising:
[0009] Obtaining actual state quantities of the wheel-legged robot at a first moment, the actual state quantities being used to characterize the motion states of n-1 connecting rods, the at least two leg mechanisms, and the at least two moving wheels, where the n-1 connecting rods are the other connecting rods among the n connecting rods except the first connecting rod;
[0010] calculating an equivalent state quantity at the first moment based on the actual state quantity at the first moment, wherein the equivalent state quantity is used to characterize the motion state of the n connecting rods and the wheel;
[0011] Establishing a sliding surface according to the equivalent state quantity at the first moment, wherein the equivalent state quantity gradually tends to 0 on the sliding surface;
[0012] Determining force and torque instructions for whole-body joints of the wheel-legged robot according to the sliding surface, the equivalent state quantity at the first moment, and the dynamic equation of the wheel-legged robot, wherein the whole-body joints include the n revolute joints, and the dynamic equation is established based on the n-th order inverted pendulum model;
[0013] At the second moment, according to the force and torque instructions of the whole body joints, the n-1 rotational joints and the real rotational joints corresponding to the first rotational joints are controlled respectively to adjust the balance state of the wheel-legged robot. The second moment is located after the first moment.
[0014] According to one aspect of an embodiment of the present application, a balance control device for a wheel-legged robot is provided, wherein the wheel-legged robot is simplified to an n-order inverted pendulum model, wherein the n-order inverted pendulum model includes: wheels, n connecting rods, and n revolute joints, wherein the wheels and a first connecting rod of the n connecting rods are connected via a first revolute joint of the n revolute joints, and the n connecting rods are connected in series via n-1 revolute joints other than the first revolute joint, wherein the first connecting rod is an equivalent connecting rod corresponding to at least two leg mechanisms of the wheel-legged robot, and the wheels are equivalent moving wheels corresponding to moving wheels respectively connected to the at least two leg mechanisms, and n is a positive integer greater than or equal to 2; the device includes:
[0015] a state quantity acquisition module, configured to acquire an actual state quantity of the wheel-legged robot at a first moment, wherein the actual state quantity is used to characterize the motion state of n-1 connecting rods, the at least two leg mechanisms, and the at least two moving wheels, wherein the n-1 connecting rods are the other connecting rods among the n connecting rods except the first connecting rod;
[0016] a state quantity processing module, configured to calculate an equivalent state quantity at the first moment based on the actual state quantity at the first moment, wherein the equivalent state quantity is used to represent the motion state of the n connecting rods and the wheel;
[0017] a sliding surface establishing module, configured to establish a sliding surface according to an equivalent state quantity at the first moment, wherein the equivalent state quantity gradually tends to 0 on the sliding surface;
[0018] an instruction determination module, configured to determine force and torque instructions for whole-body joints of the wheel-legged robot based on the sliding surface, the equivalent state quantity at the first moment, and the dynamic equation of the wheel-legged robot, wherein the whole-body joints include the n revolute joints, and the dynamic equation is established based on the n-th order inverted pendulum model;
[0019] The joint control module is used to control the n-1 rotational joints and the real rotational joints corresponding to the first rotational joints respectively according to the force and torque instructions of the whole-body joints at a second moment, so as to adjust the balance state of the wheel-legged robot, and the second moment is located after the first moment.
[0020] According to one aspect of an embodiment of the present application, a computer device is provided, which includes a processor and a memory, wherein a computer program is stored in the memory, and the computer program is loaded and executed by the processor to implement the above-mentioned balance control method of the wheel-legged robot.
[0021] According to one aspect of an embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored. The computer program is loaded and executed by a processor to implement the above-mentioned balance control method of the wheel-legged robot.
[0022] According to one aspect of an embodiment of the present application, a computer program product is provided, which includes a computer program, and the computer program is loaded and executed by a processor to implement the above-mentioned balance control method of the wheel-legged robot.
[0023] The technical solutions provided in the embodiments of the present application can bring the following beneficial effects:
[0024] On the one hand, by abstracting the wheel-legged robot into an nth-order inverted pendulum model, balance control in multi-wheel motion modes can be achieved. During the balance control process, the deflection angles of multiple links in the wheel-legged robot are adjusted to change the robot's posture. This makes the posture of multiple links in the wheel-legged robot variable during the balance adjustment process, greatly enriching the robot's posture and facilitating rapid adjustment to a balanced state. Furthermore, this helps improve the robot's ability to return to equilibrium under different disturbance forces, enhancing the robustness of the robot's balance control process.
[0025] On the other hand, the solution provided by this application determines equivalent state quantities based on actual state quantities, enabling balance control in a multi-wheel motion mode to share a set of control parameters with balance control in a two-wheel motion mode. This eliminates the need to adjust the control parameters of the controller used for balance control (such as a robust controller) after switching motion modes for a wheel-legged robot, thus improving the versatility of the controller. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] FIG1 is a schematic diagram of an implementation environment of a solution provided by an embodiment of the present application;
[0027] FIG2 is a schematic diagram of a quadruped wheel-legged robot provided by one embodiment of the present application;
[0028] FIG3 is a schematic diagram of a quadruped wheel-legged robot provided by one embodiment of the present application;
[0029] FIG4 is a schematic diagram of a quadruped wheel-legged robot in two-wheel mode provided by one embodiment of the present application;
[0030] FIG5 is a schematic diagram of a quadruped wheel-legged robot climbing stairs provided by one embodiment of the present application;
[0031] FIG6 is a schematic diagram of a planar motion of a robot climbing stairs provided by one embodiment of the present application;
[0032] FIG7 is a schematic diagram of an action sequence of a robot going up and down stairs provided by one embodiment of the present application;
[0033] FIG8 is a block diagram of a robot control system provided by one embodiment of the present application;
[0034] FIG9 is a schematic diagram of the four-wheel motion mode of a wheel-legged robot provided in one embodiment of the present application;
[0035] FIG10 is a schematic diagram of a simplified kinetic model provided in one embodiment of the present application;
[0036] FIG11 is a schematic diagram of a second-order inverted pendulum provided by one embodiment of the present application;
[0037] FIG12 is a schematic diagram of a second-order inverted pendulum provided by one embodiment of the present application;
[0038] FIG13 is a flow chart of a balance control method for a wheel-legged robot provided by one embodiment of the present application;
[0039] FIG14 is a schematic diagram of an inverted pendulum with center of mass correlation provided by one embodiment of the present application;
[0040] FIG15 is a schematic diagram of a simulation of a multi-wheel balancing control method provided by an embodiment of the present application;
[0041] FIG16 is a block diagram of a balance control device for a wheel-legged robot provided by one embodiment of the present application;
[0042] FIG17 is a structural block diagram of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0043] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.
[0044] Artificial Intelligence (AI) refers to the theories, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. AI also studies the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.
[0045] Artificial intelligence (AI) technology is a comprehensive discipline encompassing a wide range of fields, encompassing both hardware and software technologies. Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, operating / interaction systems, and mechatronics. AI software technologies primarily encompass computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0046] The technical solution of this application mainly relates to robotics technology in artificial intelligence technology, mainly to intelligent control of robots. A robot is a mechanical and electronic device that can imitate certain human skills by combining mechanical transmission and modern microelectronics technology. Robots are developed on the basis of electronic, mechanical and information technology. A robot does not necessarily have to look like a human. As long as it can independently complete the tasks and commands assigned to it by humans, it belongs to the robot family. A robot is an automated machine that has some intelligent capabilities similar to those of humans or biological organisms, such as perception, planning, movement and coordination. It is an automated machine with high flexibility. With the development of computer technology and artificial intelligence technology, robots have been greatly improved in terms of function and technical level. Mobile robots and robot vision and touch technologies are typical representatives.
[0047] In the technical solution provided in the embodiments of the present application, the execution entity of each step can be a computer device, which refers to an electronic device with data calculation, processing and storage capabilities.
[0048] Optionally, the computer device can be a PC (Personal Computer) device such as a desktop computer or a laptop computer for controlling the robot; or it can be a server for controlling the robot. The server includes but is not limited to an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The computer device and the robot can be connected via a physical line, a network, etc. For example, referring to FIG1 , the computer device 101 determines the equivalent state quantity corresponding to the n-order inverted pendulum model obtained based on the robot abstraction according to the current actual state quantity of the robot 103, calculates the force and torque instructions of the whole body joints of the robot according to the equivalent state quantity, and controls the multiple rotational joints included in the robot 103 according to the force and torque instructions of the whole body joints, so that the robot 103 maintains or tends to a balanced state.
[0049] Optionally, the computer device is an electronic device integrated into the robot. For example, the computer device is a balance controller in the robot. That is, each step in the technical solution provided in the embodiment of the present application is completed independently by the robot, or is completed by the interaction between the robot and the computer device that has a communication connection with the robot. For example, referring to Figure 1, the computer device 101 measures and sends the state quantity of the robot 103 at the first moment to the robot 103 through the network 102. The robot 103 gradually calculates the force and torque instructions of the robot's whole body joints based on the equivalent state quantity at the first moment, and controls the rotational motor movement of multiple rotational joints through the force and torque instructions of the robot's whole body joints, adjusts the posture of the robot 103, and thus changes the balance state of the robot.
[0050] The types of robots in the embodiments of the present application include but are not limited to: wheel-legged robots, leg-footed robots, etc. A wheel-legged robot refers to a robot that has both a wheel structure and a leg mechanism, and a leg-footed robot refers to a robot that moves by contacting a contact surface with its feet. The embodiments of the present application do not limit this.
[0051] The robot 103 includes at least two moving wheels. Optionally, the balance control solution provided in the present application is applicable to the situation where the j moving wheels of the robot are in contact with the contact surface, and when observed from the side of the wheel-legged robot, the j moving wheels do not completely overlap. For details, please refer to the following introduction. For each of the at least two moving wheels, the moving wheel is connected to its corresponding leg mechanism through a first rotational joint. For example, the robot 103 has two moving wheels, and the robot 103 is driven to move by the rolling of the two moving wheels. The moving wheels are connected to their corresponding leg mechanisms through the first rotational joint. Exemplarily, different moving wheels are respectively connected to different leg mechanisms.
[0052] In some embodiments, the robot in the embodiments of the present application includes a moving wheel and at least two connecting rods. If the wheel-legged robot is composed of at least one mechanism part, each mechanism part can be simplified into a connecting rod. The at least two connecting rods mentioned above can be equivalent to the connecting rod in the n-order inverted pendulum model; that is, in the balance control scheme provided by the method provided in the present application, the wheel-legged robot is simplified into an n-stage inverted pendulum model, and the n-order inverted pendulum model includes wheels and n connecting rods, and the n connecting rods are connected in series through n-1 rotation joints, and the first connecting rod of the n connecting rods is connected to the moving wheel through the first rotation joint, wherein the wheel refers to the equivalent moving wheel obtained based on at least two moving wheels, and the first connecting rod refers to the equivalent leg mechanism obtained based on at least two leg mechanisms.
[0053] A wheel-legged robot includes at least two leg mechanisms, each of which 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 true revolute joint 1. In other words, the number of leg mechanisms in a wheel-legged robot is equal to the number of moving wheels.
[0054] Optionally, at least two leg mechanisms can be divided into an external leg group and an internal leg group according to their relative positions, the external leg group includes at least two leg mechanisms, the internal leg group includes at least one leg mechanism, and at least one leg mechanism in the internal leg group is spaced between at least two leg mechanisms in the external leg group.
[0055] For example, the at least two leg mechanisms included in a certain type of wheel-legged robot are divided into the following two types according to the leg groups: lateral leg mechanisms and medial leg mechanisms; wherein the at least two lateral leg mechanisms are respectively located on either side of the central axis (i.e., sagittal plane) of the wheel-legged robot, and the at least two medial leg mechanisms are respectively located on either side of the central axis of the wheel-legged robot. The rotation centers of the hip joints corresponding to the lateral leg mechanisms and the rotation centers of the hip joints corresponding to the medial leg mechanisms are located in the same vertical plane.
[0056] Exemplarily, the wheel-legged robot is a quadruped wheel-legged robot, that is, the wheel-legged robot includes two outer leg mechanisms and two inner leg mechanisms; the wheel-legged robot is a tripod wheel-legged robot, that is, the wheel-legged robot includes two outer leg mechanisms and one inner leg mechanism. The hip joint corresponding to at least one inner leg mechanism in the inner leg group is located between the hip joints corresponding to the two outer leg mechanisms in the outer leg mechanism group, and the rotation center of the hip joint corresponding to the outer leg mechanism and the rotation center of the hip joint corresponding to the inner leg mechanism are located in the same vertical plane. The wheel-legged robot can stand on a support surface through the outer leg mechanism or the inner leg mechanism, and can also slide on a support surface (such as the ground) through the foot wheels on the outer leg mechanism or the foot wheels (also called moving wheels) on the inner leg mechanism. It can also move (i.e., walk) on the support surface by controlling the outer leg mechanism group and the inner leg mechanism group to swing alternately.
[0057] For example, as shown in Figure 2, which shows a schematic structural diagram of a quadruped wheel-legged robot, the quadruped wheel-legged robot 200 may include: a trunk structure, leg mechanisms, and moving wheels.
[0058] The quadruped-legged robot 200 has four leg mechanisms: two outer leg mechanisms 201 (i.e., a first leg mechanism group) and two inner leg mechanisms 202 (i.e., a second leg mechanism group). The two inner leg mechanisms 202 are located between the two outer leg mechanisms 201, and the four leg mechanisms can be independently extended and retracted in the directions shown. A wheel 203 is installed at the end of each of the four leg mechanisms, and each wheel 203 can be driven independently. The quadruped-legged robot 200 can stand up by using the two inner leg mechanisms 202 or the two outer leg mechanisms 201 to be in a double-wheeled support state; the quadruped-legged robot 200 can stand up by using the two inner leg mechanisms 202 and the two outer leg mechanisms 201 at the same time to be in a quadruped-wheeled support state. This embodiment of the present application does not limit this.
[0059] Alternatively, the two inner leg mechanisms 202 may be implemented as a whole, that is, the quadruped wheel-legged robot 200 may be implemented as a tripod wheel-legged robot having only one inner leg mechanism.
[0060] The other end of each of the four leg mechanisms is connected to a hip joint 204. Each leg mechanism can rotate around its own hip joint 204 and maintain linkage. In this embodiment of the present application, the rotation centers of the hip joints 204 corresponding to the quadruped wheeled leg robot 200 are located in the same vertical plane 205, and the rotation planes of the leg mechanisms corresponding to the quadruped wheeled leg robot 200 are parallel. The hip joints 204 corresponding to the two inner leg mechanisms 202 are located between the hip joints 204 corresponding to the two outer leg mechanisms 201.
[0061] Optionally, the hip joints 204 corresponding to the quadruped wheeled legged robot 200 can be coaxial, that is, the rotation centers of the hip joints 204 are located on the same straight line. The hip joints 204 corresponding to the quadruped wheeled legged robot 200 can also be non-coaxial, such as the hip joints 204 corresponding to the two inner leg mechanisms 202 are coaxial, and the hip joints 204 corresponding to the two outer leg mechanisms 201 are coaxial, but the hip joints 204 corresponding to the two inner leg mechanisms 202 are not coaxial with the hip joints 204 corresponding to the two outer leg mechanisms 201. The hip joint 204 can serve as the revolute joint connected to the first connecting rod among the n revolute joints in the embodiment of the present application, with one end of the first connecting rod connected to the real revolute joint and the other end connected to the hip joint 204.
[0062] Optionally, the hip joints 204 corresponding to the two lateral leg mechanisms 201 share a drive motor, allowing the two lateral leg mechanisms 201 to move synchronously; and the hip joints 204 corresponding to the two medial leg mechanisms 202 share a drive motor, allowing the two medial leg mechanisms 202 to move synchronously. In one feasible example, each hip joint 204 corresponding to the quadruped wheeled leg robot 200 can also be independently driven by its own corresponding drive motor, which is not limited in this embodiment of the application.
[0063] The body of the quadruped wheeled-legged robot 200 may include a waist 206 , a trunk 207 , upper limbs 208 and a head 209 .
[0064] Each hip joint 204 of the quadruped wheeled-legged robot 200 is connected to the same end of the waist 206. The other end of the waist 206 is connected to one end of the trunk (trunk) 207. The waist 206 has two rotation centers: a pitch rotation center that enables the trunk 207 to pitch, and a roll rotation center that enables the trunk 207 to swing. The roll rotation center is designed to be connected in series with the pitch rotation center and is located above the pitch rotation center, connecting to the trunk 207.
[0065] For example, if the body 207 in FIG. 2 is rotated 90 degrees along the lateral rotation center, the robot will be transformed from FIG. 2 to the robot shown in FIG. 3 .
[0066] The other end of the torso 207 is connected to the upper limb (robotic arm link) 208 and the head 209. The upper limb 208 can be a multi-degree-of-freedom upper limb. In some embodiments, an end effector, such as a robotic gripper, a suction cup, etc., is deployed on the upper limb 208. Data acquisition equipment can be deployed in the head 209 to perceive the real environment, such as an image acquisition device, a video shooting device, an IMU (Inertial Measurement Unit), etc. Among them, the IMU can be placed at the geometric center of the torso 207, the center point of the hip joint (i.e., the rotation center of the hip joint), etc., which can be used to measure the actual acceleration, actual posture angular velocity, actual Euler angle, etc. of the torso 207.
[0067] In the technical solution provided in the embodiment of the present application, the moving wheels, leg mechanisms, hip joints, waist and torso mechanisms (including IMU) of the quadruped wheeled-legged robot 200 are necessary hardware for the control algorithm, and the rest are non-essential hardware.
[0068] Compared with bipedal wheeled-legged robots, quadrupedal wheeled-legged robots have a more stable structure and are more resistant to external impact disturbances. Compared with hexapod wheeled-legged robots, they have fewer redundant joints and lower design complexity. They can not only bear large loads, but also pass through narrow spaces and perform tasks on objects of different heights. Quadrupedal wheeled-legged robots have strong adaptability to the environment.
[0069] The balance control method for a wheel-legged robot provided in the embodiments of the present application is applicable to a variety of scenarios, such as maintaining balance during movement and maintaining balance under external force disturbances. The balance control method for a wheel-legged robot provided in the embodiments of the present application can flexibly control the rotation of multiple joints of the wheel-legged robot during balance control, enriching the robot's posture during balance control and helping to quickly control the robot to a balanced state.
[0070] When moving on level ground, the robot maintains a four-wheel motion mode, as shown in Figure 2, or, through the center of rotation of the hip joint, adopts a two-wheel dynamic and smooth motion mode, as shown in Figure 4. In four-wheel motion mode, the robot remains in a stable state (does not fall over), making it easier for the upper limbs to follow operating instructions and perform certain tasks. However, when moving on level ground, switching from four-wheel motion mode to two-wheel motion mode can reduce the robot's footprint, making it compatible with bipedal robots. When moving on uneven ground, such as ascending stairs or crossing thresholds, the wheel-legged robot dynamically traverses obstacles using the alternating two-wheel motion mode, as shown in Figure 5.
[0071] In some embodiments, referring to FIG5 , when a wheeled-legged robot 501 needs to climb stairs, it can first construct an objective function corresponding to the stair climbing task to be performed, and then, based on the joint torque information of the robot 501 when the value of the objective function is minimized, control the outer leg mechanism group 502 (i.e., the first leg mechanism group) and the inner leg mechanism group 503 (i.e., the second leg mechanism group) of the robot 501 to alternately swing to perform the stair climbing task. For example, the outer leg mechanism group 502 is first used as the supporting leg mechanism group and the inner leg mechanism group 503 is used as the swinging leg mechanism group, so that the robot 501 climbs the first step. Then, the inner leg mechanism group 503 is used as the supporting leg mechanism group and the outer leg mechanism group 502 is used as the swinging leg mechanism group, so that the robot 501 climbs the second step. The outer leg mechanism group 502 and the inner leg mechanism group 503 alternately swing in sequence to complete the stair climbing task.
[0072] FIG6 is a schematic diagram of a planar motion of a robot climbing stairs provided by an exemplary embodiment of the present application. The left leg mechanism and the right leg mechanism of the robot in FIG6 completely overlap, so the leg mechanisms respectively connected to the two wheels of the robot in FIG6 are a first leg mechanism and a second leg mechanism. Taking into account the specific form of the process of climbing stairs, the robot shown in FIG6 will not contact the same support surface at the same time when the wheels touch the ground, so as to conform to the actual motion state of the stairs. The motion phases of the robot during the entire motion process can also be divided into a single-leg support phase (Single Support Phase, SSP) and a double-leg support phase (Double Support Phase, DSP).
[0073] The first state shown in Figure 6 is the single-leg support phase. 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 body to coordinate control to maintain the robot's balance. In the first phase, the robot swings the second leg mechanism 602, gradually lifting itself from its initial vertical downward gravitational orientation until it rests on the upper step, entering the second state, the double-leg support phase. During the first phase, the first leg mechanism 601 functions as the supporting wheel leg, while the second leg mechanism 602 functions as the 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 adjusts the angles of the various joints of the body. While maintaining the contact points of the two wheels with the support surface unchanged, the projection of the robot's center of mass on the support surface gradually shifts from near the center of the rear wheels on the next step to near the center of the front wheels on the previous step, entering the third state, the double-leg support phase. In the third phase, the robot lifts its first leg mechanism 601 from the lower step and uses its second leg mechanism 602 to maintain balance until the first and second leg mechanisms 601 and 602 are vertically aligned, entering the fourth state, the single-leg support phase. During the third phase, the second leg mechanism 602 functions as a supporting wheel leg, while the first leg mechanism 601 functions as a swinging wheel leg.
[0074] As the robot ascends another step, the supporting leg mechanism and the swinging leg mechanism interchange. During the cyclical motion of stair ascent, the supporting leg mechanism and the swinging leg mechanism are in a periodic interchange. Similarly, the phases of the robot's stair descent task are identical to those of the stair ascent task, except that the movement directions of the leg mechanisms are opposite to those of the stair ascent task. Therefore, the robot's stair descent task will not be further described here. The specific process can be referred to as the schematic diagram of the robot's stair ascent and descent motion sequence shown in Figure 7, and will not be described in detail.
[0075] Please refer to Figure 8, which shows a block diagram of a robot control system provided by an embodiment of the present application. The body of the robot can refer to Figure 2. The four moving wheels of the robot are driven separately by four rotary motors, and the lengths of the four moving leg mechanisms (i.e., the leg mechanisms mentioned above) are driven separately by four linear motors. Typically, the driving modes of the linear motors of the two outer moving legs (i.e., the outer leg mechanisms mentioned above) are the same, and the driving modes of the linear motors of the two inner moving legs (i.e., the inner leg mechanisms mentioned above) are the same.
[0076] Optionally, the lengths of the two outer moving legs are equal, the lengths of the two inner moving legs are equal, the lengths of the two outer moving legs change at the same speed, and the lengths of the two inner moving legs change at the same speed.
[0077] The two outer moving legs are driven by the same rotary motor, which is used to adjust the angle between the outer moving legs and the line L1 perpendicular to the contact surface, that is, the angles between the two outer moving legs and the line L1 are equal. The two inner moving legs are driven by the same rotary motor, which is used to adjust the angle between the inner moving legs and the line L1, that is, the angles between the two inner moving legs and the line L1 are equal. In addition, each joint of the torso mechanism of the wheel-legged robot is equipped with a rotary motor, and the rotation of each joint is actively driven by its corresponding rotary motor.
[0078] For all of the aforementioned rotating motors, the command signals received by the motors include at least one of the following: a rotation angle command, a rotation speed command, and a rotation torque command. The rotation angle command indicates the motor's rotation angle, the rotation speed command indicates the motor's rotation speed and direction, and the rotation torque indicates the torque required for the motor's rotation. After receiving a command signal, the motor's underlying drive board drives the motor according to the received command signal, thereby driving the various rotating joints.
[0079] For all of the linear motors mentioned above, the linear motors can receive linear movement position commands, linear movement speed commands, driving force commands, etc. The underlying driver board of the linear motor drives the motor to move linearly based on the received command signals, thereby driving the leg mechanism to move telescopically. The rotation of the rotary motor and the movement of the linear motor can adjust the robot's posture and adjust the robot's position in three-dimensional space, thereby adjusting the balance state of the wheel-legged robot and achieving balance control of the wheel-legged robot. Moreover, rapidly changing rotation angle commands cause the robot's posture to change in a highly dynamic manner, thereby changing the robot's contact with the environment.
[0080] Since the posture and state (such as motion state) of the wheel-legged robot are different at different times, it is necessary to collect the posture information and motion state information of the wheel-legged robot through sensors set on the wheel-legged robot, so as to generate command signals based on the posture information and motion state information to achieve balance control of the wheel-legged robot and change the motion state of the wheel-legged robot.
[0081] Optionally, the state of the wheel-legged robot is acquired by various sensors mounted on the robot body. These sensors include at least one of the following: an IMU sensor, used to determine the current posture of the wheel-legged robot. The IMU sensor is capable of determining the position and posture information of the wheel-legged robot; a motor encoder, used to determine the rotational speed, movement-related position information, and rotation and movement speed information of each joint of the wheel-legged robot in its current state; a force / torque sensor, used to determine the magnitude of the force, as well as the magnitude and direction of the torque, applied to the joint where the force / torque sensor is located at the current moment; a tactile sensor, used to determine the contact position between the wheel-legged robot's moving wheels and the contact surface, the pressure applied to parts of the body, such as the hand, and the fingertips, and the changing characteristics of the pressure over a period of time; and a visual sensor (e.g., a camera or infrared sensor), used to identify obstacles within the wheel-legged robot's field of view and to determine the position information of the wheel-legged robot's center of mass and the corresponding velocity information of the wheel-legged robot's center of mass.
[0082] Optionally, the control system of the wheel-legged robot includes the following control modules:
[0083] 1. The State Estimation module is used to integrate various posture and state information related to the wheel-legged robot. For example, the State Estimation module integrates the current posture of the wheel-legged robot sensed by the IMU sensor, the mileage information obtained from the rotation of the mobile wheels, and the visual positioning information to obtain the wheel-legged robot's position in the world coordinate system; it integrates information from the force / torque sensor and the tactile sensor to determine the contact between the robot and the external environment; it integrates the current posture of the wheel-legged robot sensed by the IMU sensor and the angle information of each motor joint encoder to obtain intermediate information, and combines this intermediate information with the wheel-legged robot's own model parameters to estimate the wheel-legged robot's center of mass position. This integrated wheel-legged robot state information will be used as feedback for the wheel-legged robot's motion generation, planning, and control.
[0084] 2. The Motion Generation module is used to generate motion strategies based on the working mode the wheel-legged robot is in when completing an action. The robot's working modes 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 refers to a mode in which the robot relies on the four wheels to adjust the upper body posture to maintain a relatively stable upper body posture when the contact surface is uneven during four-wheel driving), and folding mode. Given the complexity of the upper body, which can be used to complete a variety of tasks, the robot can include many more motion modes, which are not listed here.
[0085] Different modes utilize different methods for generating actions. These modes utilize common underlying technologies and algorithmic modules, including but not limited to model-free controllers, model-based controllers, and model-based controllers such as LQR (Linear Quadratic Regulator), MPC (Model Predictive Control), adaptive controllers, and robust controllers. Optionally, robust controllers can be implemented using sliding mode control, also known as a sliding mode controller.
[0086] For example, when a wheel-legged robot in two-wheel mode needs to control the balance of its mobile wheels, a model-free controller (PID) is used to generate reference trajectories for the wheel and the robot's center of mass. For example, the specific method for motion generation involves invoking one or more of the following: a model-free controller, a model-based controller (such as LQR and MPC), an adaptive controller, or a robust controller.
[0087] For example, in the two-wheel control stage when the wheel-legged robot is in the four-wheel-to-two-wheel mode, model-free controllers, model-based controllers (LQR, MPC, etc.), adaptive controllers, and robust controllers can also be used to control the balance of the moving wheels.
[0088] For another example, when the wheel-legged robot is in four-wheel mode, if the leg mechanism of the wheel-legged robot extending forward and the leg mechanism extending backward are made equivalent, an equivalent leg mechanism is obtained, also called a first link. The first link and other mechanisms in the wheel-legged robot can be simplified into an n-order inverted pendulum model. The posture of the wheel-legged robot is adjusted based on the n-order inverted pendulum model. The control trajectory obtained by this method can maintain the balance of the robot in the four-wheel state. In this way, the wheel-legged robot can maintain the relative stability of the wheel-legged robot body when the contact surface is uneven, potholes or obstacles appear. For example, when the wheel-legged robot is in four-wheel active suspension mode, the action generation module can also be used to control the relative stability of the wheel-legged robot body.
[0089] The input to the motion generation module is a series of task information for the wheeled-legged robot. Task types include, but are not limited to, center-of-mass tasks, support leg tasks, swing leg tasks, and waist tasks. Similarly, given the complexity of the wheeled-legged robot's upper body, which can independently perform a variety of actions and tasks, there are many more types of task information, which we will not list here.
[0090] Exemplarily, these tasks can also serve as input to the Whole Body Controller (WBC) (also known as the Whole Body Dynamics Controller). The Whole Body Motion Control Module includes detailed modeling of the wheel-legged robot (obtaining the whole body dynamics model of the wheel-legged robot) and calibration. The Whole Body Motion Control Module can use the whole body dynamics model of the wheel-legged robot and the external force conditions as optimization constraints, and calculate the target joint angle command, target joint angular velocity command, target joint torque command, etc. of the target shutdown of at least one rotating joint of the wheel-legged robot through the optimization process. Finally, the Whole Body Motion Control Module will send the above-mentioned determined target joint angle command, target joint angular velocity command, target joint torque command, etc. to the drivers of each joint of the robot, thereby completing the control closed loop of the wheel-legged robot.
[0091] The balance control method of the wheel-legged robot provided in this application is mainly completed by the robust controller in the control system of Figure 8. Optionally, the balance control method is jointly completed by the robust controller and the whole-body motion control module. Please refer to the following for details.
[0092] Before introducing the specific steps of the balance control method provided in this application, in order to facilitate understanding of the structure of the wheel-legged robot, the methods related to balance control in the wheel-legged robot are first introduced and explained.
[0093] Please refer to Figure 9, which shows a schematic diagram of the four-wheel motion mode of the wheel-legged robot provided by one embodiment of the present application. When viewed from the side of the wheel-legged robot (i.e., the yoz plane in the world coordinate system), at least two of the mobile wheels in the wheel-legged robot do not overlap in the yoz plane. For the leg mechanisms respectively connected to the at least two mobile wheels, at least two of the leg mechanisms do not overlap in the yoz plane. In other words, along the forward direction of the wheel-legged robot, there are at least two mobile wheels that are both in contact with the contact surface and have different motion states (i.e., do not overlap when viewed from the side of the wheel-legged robot).
[0094] Optionally, the external leg mechanism included in the external leg group of the wheel-legged robot does not overlap with the internal leg mechanism included in the internal leg group in the yoz plane, at least two external leg mechanisms included in the external leg group overlap in the yoz plane, and when the internal leg group includes multiple internal leg mechanisms, the multiple internal leg mechanisms overlap in the yoz plane.
[0095] The wheel-legged robot also includes multiple parts that can be simplified into connecting rods, such as the n-1 connecting rods shown in FIG9 , which are serially connected through revolute joints.
[0096] Please refer to Figure 10, which shows a schematic diagram of a simplified dynamic model provided by one embodiment of the present application. As shown in Figure 10, at least two non-overlapping moving wheels 1012 and 1014 along the forward direction are equivalent to each other, resulting in a wheel 1016 in an n-order inverted pendulum model. At least two non-overlapping leg mechanisms 1022 and 1024 along the forward direction are equivalent to each other, resulting in a first link 1026 in an n-order inverted pendulum model. This allows the wheel-legged robot in a multi-wheel motion mode to be simplified into an n-order inverted pendulum model, and balance control of the wheel-legged robot is achieved based on the n-order inverted pendulum model.
[0097] In some embodiments, the equivalent contact point between the wheel 1016 and the contact surface is located between the contact points of at least two non-overlapping moving wheels 1012 and 1014 with the contact surface. For example, the equivalent contact point between the wheel 1016 and the contact surface is the midpoint of a line connecting the contact points of the at least two non-overlapping moving wheels 1012 and 1014 with the contact surface, where the at least two non-overlapping moving wheels 1012 and 1014 are located on the same side of the axis of the wheel-legged robot.
[0098] Figure 10 only takes the case where two moving wheels do not overlap in the forward direction as an example, showing a method for equivalently obtaining wheels and a first link, and establishing an nth-order inverted pendulum model corresponding to the wheel-legged robot in this posture; when there are multiple moving wheels in the wheel-legged robot that do not overlap in the forward direction, the wheels are also obtained by equivalently obtaining the multiple moving wheels; multiple leg mechanisms are equivalent to obtain the first link, so as to simplify the wheel-legged robot into an nth-order inverted pendulum model and realize the subsequent balance control of the wheel-legged robot.
[0099] Before introducing the specific steps of the balance control method provided by this application, we first introduce the method for establishing the dynamic model corresponding to the balance control method provided by this application. In order to facilitate understanding the principle of the nth-order inverted pendulum model involved in this application, we first introduce the second-order inverted pendulum model, which is easier to understand.
[0100] Please refer to Figure 11, which shows a schematic diagram of a second-order inverted pendulum provided by one embodiment of the present application. As can be seen from the above description, by equivalently designating the non-overlapping moving wheels and leg mechanisms of a wheel-legged robot, the wheel-legged robot can be simplified into an nth-order inverted pendulum model for balance control. Based on this nth-order inverted pendulum model, the dynamic equations of the wheel-legged robot can be derived, facilitating the subsequent implementation of balance control for the wheel-legged robot.
[0101] When n is equal to 2, after completing the equivalent of at least two leg mechanisms and at least two moving wheels, the wheel-legged robot is simplified into a second-order inverted pendulum model. A world coordinate system is established, with the wheel-legged robot's forward direction as the positive x-axis, the rightward direction as the positive y-axis, and the upward direction perpendicular to the contact surface as the positive z-axis.
[0102] As shown in Figure 11, in the two-dimensional model, the direction of the moving wheel rotating to the left of the contact surface is taken as the positive direction, the travel distance is x, and the angle of the wheel relative to the world coordinate system is defined as The counterclockwise direction is taken as the positive direction of the wheel rotation angle. The angle of rotation of the first link 1110 obtained by the equivalent of at least two leg mechanisms relative to the world coordinate system is defined as α, with the counterclockwise direction being positive. The angle of rotation of the second link 1130 corresponding to the torso mechanism (the other link in the n links other than the first link) relative to the world coordinate system is defined as β, with the counterclockwise direction being the positive direction of the wheel rotation angle. In the following, the first link is referred to as link B, and the second link is referred to as link P.
[0103] definition They are The time derivatives of α and β; represents the rotation speed of the wheel (also called the angle of the wheel), represents the angular velocity of the first link, represents the angular velocity of the second link; define They are The second-order derivatives of α and β with respect to time; is the angular acceleration of the wheel, represents the angular acceleration of the first link, represents the angular acceleration of the second link.
[0104] The rotation angle of the wheel relative to the world coordinate system is driven by the joint motor on the first revolute joint (equivalent to 1120 in Figure 11). The rotational torque of the first revolute joint is represented by τ1, and the clockwise direction is the positive direction of τ1.
[0105] The rotation of the second link relative to the world coordinate system is driven by the joint motor of the second revolute joint (equivalent to 1140 in Figure 11). The rotational torque of the second revolute joint is represented by τ2, with the counterclockwise direction being the positive direction of the rotational torque of the second revolute joint. Because the trunk mechanism directly corresponds to the second link, the trunk mechanism and the second link have the same meaning in the derivation of the dynamic equations.
[0106] The masses of the wheels, connecting rod B (equivalent to at least two non-overlapping leg mechanisms), and connecting rod P (equivalent to the trunk mechanism) are expressed as m W , mB , m P The moment of inertia of the wheel, connecting rod B, and connecting rod P are expressed as: J W , J B , J P The radius of the 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 wheel to the geometric center of connecting rod B is represented by l B The length of the line from the intersection of connecting rod B and the wheel to the geometric center of connecting rod P is represented by l P express.
[0107] (1) Based on the above physical quantities, derive the total kinetic energy T of the wheel. W , the total kinetic energy T of connecting rod B B and the total kinetic energy T of the connecting rod P P The total kinetic energy T of the wheel-legged robot is obtained by the expression of W , the total kinetic energy T of connecting rod B B and the total kinetic energy T of the connecting rod P P The calculation of kinetic energy includes both translational kinetic energy and rotational kinetic energy. T=T W +T B +T P
[0108] (2) Calculate the total kinetic energy T of the system for each degree of freedom in generalized coordinates And the partial derivatives of the derivatives of each degree of freedom are calculated respectively, and the results of the partial derivatives of the derivatives of each degree of freedom are derived with respect to time respectively. The specific process is as follows:
[0109] The total kinetic energy T of the system is proportional to the angular velocity of the wheel The partial derivative of Expressed as:
[0110] Partial derivatives Derivative with respect to time Expressed as:
[0111] The total kinetic energy T of the system is proportional to the angular velocity of the first link The partial derivative of Expressed as:
[0112] Partial derivatives Derivative with respect to time Expressed as:
[0113] The total kinetic energy T of the system is proportional to the angular velocity of the second link The partial derivative of Expressed as:
[0114] Partial derivatives The time derivative is expressed as:
[0115] The total kinetic energy T of the system is proportional to the deflection angle of the wheel The partial derivative of Expressed as:
[0116] Partial derivative of the total kinetic energy T of the system with respect to the deflection angle α of the first link Expressed as:
[0117] The partial derivative of the total kinetic energy T of the system with respect to the deflection angle β of the second link Expressed as:
[0118] (3) Calculate the total potential energy U of the system: U = m B gl B cosα+m P g(L B cosα+l P cosβ)
[0119] It should be noted that in the above formula, the plane where the moving wheel is located is regarded as the zero potential energy surface, that is, the potential energy of the moving wheel is considered to be 0, so the potential energy of the wheel does not appear in the formula of the above system total potential energy U. Of course, other potential energy surfaces can also be selected, which will not affect the implementation of the balance control method. This application does not limit the potential energy surface used in the process of calculating the total potential energy of the system.
[0120] (4) Calculate the total potential energy U of the system and take the partial derivative of each degree of freedom in the generalized coordinates:
[0121] The total potential energy U of the system is proportional to the deflection angle of the moving wheel The partial derivative of Expressed as:
[0122] The partial derivative of the total potential energy U of the system with respect to the deflection angle α of the first link Expressed as:
[0123] The partial derivative of the total potential energy U of the system with respect to the deflection angle β of the second link Expressed as:
[0124] (5) Using the above formulas, the dynamic equations of the wheeled-legged robot under the second-order inverted pendulum model are derived based on the Euler-Lagrange equation: m αα =(m B l B 2 +J B +m P L B 2 +J P ) m αβ =m P L B l P cosαcosβ+m P L B l P sinαsinβ+J P m ββ =(m P l P 2 +J P ) g α =-(m B gl B +m P gL B )sinα g β =-m P gl P sinβ
[0125] The dynamic equations can be written in polynomial form:
[0126] The polynomial form of the dynamic equation is written as a matrix form of the dynamic equation: Among them, M(α,β) is a 3*3 inertia matrix; specifically includes
[0127] Each element in M(α,β) It is the elements in the inertia matrix, which are used to characterize the mass and moment of inertia of the joint rigid bodies that make up the wheel-legged robot when the deflection angle of the first link is α and the deflection angle of the second link is β, as well as the equivalent inertial physical quantities of each link under the mutual influence. It is a 3*1 deflection force matrix, also called a deflection force vector, which specifically includes: It is used to characterize the Coriolis force and centripetal force on each link of the wheel-legged robot; G(α,β) represents the 3*1 gravity matrix, also known as the gravity vector, specifically including [0 g α g β ] T τ1 represents the rotational torque of the first revolute joint, and τ2 represents the rotational torque of the second revolute joint.
[0128] After the matrix-form dynamic equation is derived through the above process, the subsequent balance control process directly uses the matrix-form dynamic equation without repeating the above derivation process in the balance control process.
[0129] The world coordinate system used in this example is the same as that used in the embodiment corresponding to FIG11 . Of course, other methods can also be used to define the world coordinate system, which is not limited in this application.
[0130] As shown in Figure 12, the n-order inverted pendulum consists of n connecting rods, n rotating joints and moving wheels; wherein the moving wheel is connected to the first connecting rod among 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, the moving wheels in the n-order inverted pendulum correspond to the moving wheels of the wheel-legged robot. In the case where the wheel-legged robot has multiple moving wheels, the multiple moving wheels are equivalent to the wheels in the n-order inverted pendulum model, and the rotation angle of the wheels is expressed as
[0131] Two adjacent links in the n-order inverted pendulum model are connected by a revolute joint, and the deflection angles of the n links are: q1, q2, ..., q n ; where q1 is the deflection angle of the first connecting rod, q2 is the deflection angle of the second connecting rod, and so on. n is the deflection angle of the nth link. Taking the first link as an example, as shown in Figure 12, in this derivation, the deflection angle of the first link refers to the deflection angle of the first link relative to the z-axis in the world coordinate system. The deflection angles of the other links refer to the deflection angles of the other links relative to the z-axis.
[0132] Of course, the definition of the deflection angle of the connecting rod is not limited to this. When the deflection angle of the connecting rod is defined in a different way, the derivation process of the dynamic equation of the n-th order inverted pendulum model is similar to that of this embodiment and will not be repeated.
[0133] For example, when the wheel-legged robot is in a standing posture, the distance l1 between the first link and the contact surface is less than the distance l2 between the second link and the contact surface, and the distance l2 between the nth link and the contact surface is less than the distance l1 between the nth link and the contact surface. nThe leg mechanisms are connected to the corresponding moving wheels through real revolute joints. Optionally, the link refers to a simplified model of each mechanism included in the wheel-legged robot. The wheel-legged robot includes multiple components, each of which is called a "mechanism". During the balance control process, each mechanism is simplified as a link, where the first link is an equivalent link obtained by equilibrating at least two non-overlapping leg structures.
[0134] In some cases, the wheel-legged robot is in a posture where multiple moving wheels are in contact with the contact surface, and the multiple moving wheels are connected to their respective leg mechanisms; for any one of the multiple moving wheels, the rotational joint connecting the moving wheel and its corresponding leg mechanism is called a real rotational joint, and at least two real rotational joints are equivalent to a first rotational joint.
[0135] After understanding the nth-order inverted pendulum model, the dynamic equations for the nth-order inverted pendulum model are constructed using a method similar to that used for the second-order inverted pendulum model. Specifically, the total kinetic energy (including translational and rotational kinetic energy) and potential energy corresponding to each of the n connecting rods and wheels are determined. The kinetic energy of the n connecting rods and wheels is added together to obtain the total kinetic energy of the wheel-legged robot system. The potential energy of the n connecting rods and wheels is added together to obtain the total potential energy of the wheel-legged robot system.
[0136] For any one of the multiple degrees of freedom in the generalized coordinate system (including the deflection angle of each connecting rod, the angular velocity of each connecting rod, the rotation angle of the wheel and the angular velocity of the wheel), determine the partial derivative of the total kinetic energy of the system with respect to the degree of freedom, and determine the derivative of the partial derivative of the degree of freedom with respect to time.
[0137] For any of the multiple degrees of freedom in the defined coordinate system, determine the partial derivative of the system's total kinetic energy with respect to that degree of freedom. Based on the partial derivatives of the system's kinetic energy with respect to each degree of freedom, the derivatives of the partial derivatives of each degree of freedom with respect to time, and the derivatives of the partial derivatives of each degree of freedom with respect to time, the system dynamics equation of the nth-order inverted pendulum is determined by the Euler-Lagrange equation:
[0138] in, It refers to the inertia matrix, including the mass and moment of inertia of the n rotational joints (regarding the rotational joints as joint rigid bodies) of the wheel-legged robot involved in the n-order inverted pendulum model. q is a vector, and the transposed vector q of q is T =[q1 q2…q n ], is the angular velocity of the wheel, is the angular acceleration of the wheel, represents the angular velocity of the n connecting rods, is a vector, The transposed vector of represents the angular acceleration of the n connecting rods, is a vector, The transposed matrix of Refers to the deflection force matrix, which is used to characterize the angle of the wheel-legged robot at the wheel The deflection angles of the n connecting rods are q1, q2, ..., q n When the vehicle is in the correct posture, each connecting rod is subjected to a deflection force, which includes centripetal force and Coriolis force. is the gravity matrix, which is used to characterize the angle of the wheel-legged robot at the wheel The deflection angles of the n connecting rods are q1, q2, ..., q n When the n links are in the correct posture, they are subjected to gravity.
[0139] Since the plane where the moving wheel is located is determined to be the zero potential energy surface, the first item in the G matrix is 0, indicating that the gravity corresponding to the moving wheel on this zero potential energy surface is zero. Of course, other zero potential energy surfaces can also be selected, and this application does not limit them here. n represents the n×n identity matrix, τ T =[τ1τ2…τ n ], which represents the rotational torque corresponding to n revolute joints.
[0140] The following describes a balance control method for a wheeled-legged robot, abstracted as an nth-order inverted pendulum. This method is primarily implemented through the collaboration of other modules within the control system, such as the robust controller and the whole-body dynamics controller. For details, see the following text.
[0141] Referring to Figure 13, it shows a flow chart of a balance control method for a wheel-legged robot provided by an embodiment of the present application. The execution subject of each step of the method is a computer device. The wheel-legged robot is simplified to an n-order inverted pendulum model, and the n-order inverted pendulum model includes: wheels, n connecting rods and n revolute joints, the wheels and the first connecting rod of the n connecting rods are connected through the first revolute joint of the n revolute joints, the n connecting rods are connected in series through n-1 revolute joints other than the first revolute joint, the first connecting rod is an equivalent connecting rod corresponding to at least two leg mechanisms of the wheel-legged robot, and the wheels are equivalent moving wheels corresponding to the moving wheels respectively connected to at least two leg mechanisms, and n is a positive integer greater than or equal to 2; the method may include at least one of the following steps (1310 to 1350):
[0142] Step 1310, obtaining the actual state quantity of the wheel-legged robot at the first moment, the actual state quantity is used to characterize the motion state of n-1 links, at least two leg mechanisms and at least two moving wheels, and the n-1 links are the other links among the n links except the first link.
[0143] In some embodiments, the moving wheel is used to contact the contact surface, the revolute joint refers to a joint driven by a joint motor, and the n connecting rods refer to connecting rods connected to at least one of the n revolute joints. Optionally, the n revolute joints connect the n connecting rods in series into a linear shape. In some embodiments, for any one of the at least two moving wheels, the leg mechanism is connected to the moving wheel through a real revolute joint, and different moving wheels correspond to different real revolute joints. Optionally, the number of moving wheels included in the wheel-legged robot is equal to the number of real revolute joints. Optionally, the number of moving wheels included in the wheel-legged robot is equal to the number of leg mechanisms. Exemplarily, the other revolute joints except the first revolute joint in the n revolute joints respectively correspond to a real revolute joint in the wheel-legged robot, and the first revolute joint is an equivalent revolute joint obtained based on at least two real revolute joints.
[0144] Optionally, at least two mobile wheels do not overlap in the yoz plane in the world coordinate system, and at least two leg mechanisms do not overlap in the yoz plane in the world coordinate system. For a detailed description of this content, please refer to the above embodiment and will not be repeated here. By equating the at least two mobile wheels to wheels and the at least two leg mechanisms to the first connecting rod, and considering the wheels, the first connecting rod, and the n-1 connecting rods in the wheel-legged robot as a whole, the wheel-legged robot can be abstracted into the nth-order inverted pendulum model introduced above. The balance control method provided in the embodiment of the present application is designed based on the nth-order inverted pendulum model.
[0145] Exemplarily, the wheel-legged robot includes multiple components, each component (excluding active joints) is referred to as a mechanism, and the mechanism is simplified as a connecting rod. In the embodiment of the present application, multiple mechanisms refer to at least two mechanisms in the wheel-legged robot that are serially connected through revolute joints. Exemplarily, the n revolute joints are revolute joints. Under ideal conditions, the connecting rod will not bend or deform.
[0146] In some embodiments, any one of the n connecting rods is an independent connecting rod (for example, the leg mechanism in the wheel-legged robot is a connecting rod and the trunk mechanism is a connecting rod). For other connecting rods except the first connecting rod, each other connecting rod corresponds to 1 mechanism, and the mechanisms corresponding to different connecting rods are different. Exemplarily, the n connecting rods include at least one combined connecting rod composed of m independent connecting rods connected by joints, where m is a positive integer greater than 1. In this case, the joints for connecting the m independent connecting rods do not rotate or move in a straight line during the balance control process. For example, these joints are locked during the balance control, so that the connecting rod combination composed of m independent connecting rods can be regarded as one connecting rod among the n connecting rods.
[0147] In some embodiments, the first link is the link connected to the wheel via the first revolute joint in an n-order inverted pendulum model. Optionally, in a direction perpendicular to the contact surface (i.e., the z-axis in the world coordinate system), the distance between the first link and the wheel is the smallest among the n links. Based on the above, it can be seen that the first link is equivalent to at least two non-overlapping leg mechanisms.
[0148] Optionally, if the leg mechanism of the wheel-legged robot is a linear leg, the first link is derived from at least two non-overlapping leg mechanisms of the wheel-legged robot. If the leg mechanism of the wheel-legged robot is an articulated leg, i.e., the leg mechanism includes two sub-mechanisms connected by a knee joint, and the knee joint is used to control the joint angle between the two sub-structures, then the first link is equivalently derived from at least two first sub-mechanisms, where a first sub-mechanism is a sub-mechanism in the leg mechanism that is connected to the moving wheel at one end via a revolving joint and to the knee joint at the other end. n is a positive integer greater than 1, for example, n is equal to 2, 3, 4, 5, etc. The maximum value of n depends on the structure of the wheel-legged robot and is not limited.
[0149] Exemplarily, when n is equal to 2, the n connecting rods correspond to the leg mechanism and the trunk mechanism of the wheel-legged robot, respectively. Exemplarily, when n is equal to 3, the n connecting rods correspond to the leg mechanism (the leg mechanism is a straight leg), the trunk mechanism, and the head mechanism of the wheel-legged robot, respectively. Exemplarily, when n is equal to 3, the n connecting rods correspond to the leg mechanism (the leg mechanism is a straight leg), the trunk mechanism, and the robotic arm mechanism of the wheel-legged robot, respectively. Exemplarily, when n is equal to 4, the n connecting rods correspond to the leg mechanism (the leg mechanism is a straight leg), the trunk mechanism, the first robotic arm connecting rod connected to the trunk mechanism, and the second robotic arm connecting rod connected to the first robotic arm, or the robotic arm, respectively. Exemplarily, when n is equal to 4, the n connecting rods correspond to the first sub-mechanism of the leg mechanism (the leg mechanism is an articulated leg), the second sub-mechanism connected to the first sub-mechanism through the knee joint, the trunk mechanism, and the first robotic arm connecting rod connected to the trunk mechanism, respectively. Among them, the leg mechanism corresponding to the first link among the n links is equivalently obtained by multiple non-overlapping leg mechanisms, and the multiple non-overlapping leg mechanisms refer to multiple leg mechanisms that have angles with each other when observed from the side of the wheel-legged robot.
[0150] Optionally, n revolute joints are used to connect n connecting rods in series. Exemplarily, any of the n revolute joints respectively correspond to the same type of real revolute joints. For example, in the case where the wheel-legged robot includes multiple moving wheels, there are multiple real revolute joints respectively used to connect each moving wheel with its corresponding leg mechanism, and these multiple real revolute joints collectively correspond to the first revolute joint among the n revolute joints. In other words, the first revolute joint in the n-order inverted pendulum model is equivalent to at least two real revolute joints, and the at least two real revolute joints refer to the revolute joints respectively connected to the at least two moving wheels that do not overlap in the forward direction.
[0151] It should be noted that the value of n depends on the actual requirements of the wheel-legged robot's configuration, the computer's computing power, power consumption, and other practical needs, and is not limited in this application. A larger value of n allows for more linkages to adjust the posture during balance control, resulting in a richer range of postures for the wheel-legged robot during balance adjustment, which helps improve the wheel-legged robot's ability to balance in response to external disturbances. A smaller value of n helps reduce the amount of computation required during balance control and lowers power consumption.
[0152] In some embodiments, the first moment is any moment in the movement process of the wheel-legged robot. Optionally, at the first moment, the posture of the wheel-legged robot is: at least two moving wheels in contact with the contact surface (for example, moving wheel A and moving wheel B) do not overlap in the forward direction of the wheel-legged robot (the x-axis direction in the world coordinate system), and at least two leg mechanisms (for example, leg mechanism 1 connected to moving wheel A, and leg mechanism 2 connected to moving wheel B) do not overlap in the forward direction of the wheel-legged robot. Exemplarily, the wheel-legged robot has 4 moving wheels, and at the first moment the wheel-legged robot is in a four-wheel balancing mode or a two-wheel-four-wheel switching mode. Exemplarily, leg mechanism 1 belongs to the outer leg mechanism group, and leg mechanism 2 belongs to the inner leg mechanism group.
[0153] In some embodiments, the actual state quantity is used to describe the motion state of the wheel-legged robot at the first moment. The posture and motion state of the wheel-legged robot at the first moment can be determined based on the actual state quantity at the first moment. Optionally, the actual state quantity at the first moment is observed by a sensor of the wheel-legged robot. Optionally, the actual state quantity at the first moment includes at least one of the following: the deflection angle of at least two leg mechanisms; The deflection angles q2, ..., q of the connecting rods n , the angular velocities of at least two moving wheels are Angular velocities of at least two leg mechanisms and the angular velocity of the (n-1) connecting rods
[0154] For example, the actual state includes various physical quantities observed in the world coordinate system; wherein the deflection angle of the leg mechanism refers to the deflection angle of the leg mechanism relative to the z-axis in the world coordinate system, and the deflection angle q of the i-th link among the n-1 links is i (i∈[2,n]) refers to: the deflection angle of the i-th link relative to the z-axis in the world coordinate system; the angular velocity of the moving wheel Refers to: the clockwise rotation speed of the moving wheel about the x-axis in the world coordinate system; the angular velocity of the leg mechanism refers to the change rate of the deflection angle of the leg mechanism relative to the z-axis in the world coordinate system; the angular velocity of the i-th link It is used to characterize the angular velocity of the i-th connecting rod, that is, the speed at which the deflection angle of the i-th connecting rod changes.
[0155] It should be noted that the physical quantities in the state quantity can also be represented by the relative positions between the links of the wheel-legged robot. For example, the deflection angle q of the jth link is j′(j∈[2,n]) refers to: the deflection angle of the jth link relative to the j-1th link; wherein the j-1th link is connected to the jth link through a revolute joint. Optionally, the distance between the jth link and the contact surface is greater than the distance between the j-1th link and the contact surface. It should be noted that the observation coordinate system corresponding to each physical quantity in the actual state quantity is determined according to actual needs, and this application does not limit it here. The physical quantities in each formula in this application are obtained based on observations in the world coordinate system. Of course, the physical quantities determined using other observation coordinate systems can also realize the present balance control method. The relevant formulas can be obtained by equivalent substitution based on the formulas provided in this application, and will not be mentioned in detail.
[0156] Optionally, obtaining the actual state quantity of the wheel-legged robot at the first moment includes: determining the deflection angles of at least two leg mechanisms through an IMU sensor and a motor encoder and the deflection angles q2, ..., q of the n-1 connecting rods n ; Determine the angular velocity of the moving wheel through the motor encoder Angular velocities of at least two leg mechanisms and the angular velocity of the n connecting rods
[0157] For example, the clock cycles of the IMU sensors and motor encoders in the wheeled-legged robot are the same, or multiples of each other, so that the physical quantities included in the actual state are all physical quantities at the first moment. For details about the IMU encoders and motor encoders, please refer to the above description and will not be repeated here.
[0158] In some embodiments, the robust controller takes the actual state quantity at the first moment as input information and starts the balancing control process.
[0159] Step 1320: Based on the actual state quantity at the first moment, the equivalent state quantity at the first moment is calculated. The equivalent state quantity is used to characterize the motion state of the n connecting rods and the wheels.
[0160] In some embodiments, the equivalent state quantity refers to the state quantity required for the balance control process, and the at least one physical quantity included in the equivalent state quantity is related to the n-th order inverted pendulum model. In other words, the equivalent state quantity is used to represent the motion state and posture of the n revolute joints and the moving wheel at the first moment.
[0161] Optionally, the equivalent state quantity at the first moment includes at least one of the following: the deflection angles q1, q2, ..., q n , the angular velocity of the wheel Angular velocity of n connecting rods For example, the equivalent state quantity is: the deflection angles q1, q2, ..., qn , the angular velocity of the wheel Angular velocity of n connecting rods The equivalent state quantity is represented by the symbol ξ, and the state quantity ξ is expressed as: Among them, q T Represents the transposed vector of vector q, q T =[q1 q2…q n ], Represents a vector The transposed vector of
[0162] Optionally, the computer device equates physical quantities associated with at least two leg mechanisms to obtain physical quantities associated with the first connecting rod, and equates state quantities associated with at least two moving wheels to obtain physical quantities associated with the wheels in the equivalent state quantities. For details, please refer to the embodiments below.
[0163] It should be noted that the state parameters in the equivalent state quantity are used in the calculation during the balance control process. In the following text, "state quantity" except "actual state quantity" can represent "equivalent state quantity".
[0164] Step 1330: Establish a sliding surface based on the equivalent state quantity at the first moment, and the equivalent state quantity gradually approaches 0 on the sliding surface.
[0165] In some embodiments, the sliding surface is understood as an imaginary vector plane in sliding mode control, where the equivalent state quantity of the wheel-legged robot gradually approaches zero on the sliding surface. In other words, the state of the wheel-legged robot can gradually approach equilibrium on the sliding surface. The sliding surface can be represented by the symbol s. Optionally, the sliding surface is a rational number, and the value of the sliding surface can be greater than 0, equal to 0, or less than 0.
[0166] Optionally, the sliding surface is a linear sliding surface that has a linear relationship with the state variables, or a sliding surface that has a high-order mapping relationship between the state variables. To reduce the computational burden of the robust controller and the energy consumption of the wheel-legged robot in practical applications, this paper describes the method of determining the sliding surface based on the state variables, using the creation of a linear sliding surface as an example.
[0167] In some embodiments, the number of sliding surfaces that the robust controller needs to establish is related to the number of rotational torques to be determined. Rotational torque refers to the physical quantity used to control the rotation of the rotational joint. Optionally, the number of sliding surfaces that the robust controller needs to establish is equal to the number of rotational torques to be determined. In the present application, the wheel-legged robot is abstracted into an n-order inverted pendulum model, involving a total of n rotational joints, and the n rotational joints have independent rotational torques. Therefore, the rotational torque at the second moment includes the rotational torques of the n rotational joints, and n sliding surfaces need to be established; wherein, any two sliding surfaces among the n sliding surfaces are different sliding surfaces. For the specific steps of establishing sliding surfaces, please refer to the following examples.
[0168] Step 1340, based on the sliding surface, the equivalent state quantity at the first moment and the dynamic equation of the wheel-legged robot, determine the force and torque instructions for the whole body joints of the wheel-legged robot, the whole body joints include n rotational joints, and the dynamic equation is established based on the nth-order inverted pendulum model.
[0169] Optionally, the whole body joints include active joints in the wheel-legged robot. Exemplarily, the whole body joints include n revolute joints and other active joints in the wheel-legged robot except the n revolute joints.
[0170] In some embodiments, a computer device determines force and torque instructions for the whole-body joints of the wheel-legged robot based on the sliding surface, the equivalent state quantity at the first moment and the dynamic equations of the wheel-legged robot, including: determining the rotational torque of n rotational joints based on the sliding surface, the equivalent state quantity at the first moment and the dynamic equations of the wheel-legged robot; calculating the task acceleration of the wheel-legged robot through the rotational torque of the n rotational joints; and calculating the force and torque instructions for the whole-body joints of the wheel-legged robot based on the task acceleration of the wheel-legged robot by a whole-body dynamics controller in the control system of the wheel-legged robot.
[0171] Optionally, this step is completed by at least one controller in the wheel-legged robot. Exemplarily, this step 1340 is completed by the collaboration of a robust controller and a whole-body dynamics controller. Among them, the robust controller participates in the calculation process of the rotational torque of n rotational joints, and the whole-body dynamics controller calculates the force and torque instructions of the whole-body joints of the wheel-legged robot according to the task acceleration. In some cases, the robust controller and the whole-body dynamics controller cannot interact directly, so step 1340 also requires the participation of an observation module. The observation module is used to implement information transfer between multiple controllers; there are communication connections (including wired connections and wireless connections) between the observation module and the multiple controllers.
[0172] Exemplarily, the step of calculating the task acceleration of the wheel-legged robot through the rotational torque of n rotational joints is implemented by an observation module in the control system of the wheel-legged robot. The observation module is connected to the robust controller, and the observation module is connected to the whole-body dynamics controller. The observation module obtains the rotational torque of the n rotational joints from the robust controller, calculates the task acceleration according to the rotational torque of the rotational joints, and transmits the task acceleration to the whole-body dynamics controller; the whole-body dynamics controller determines the force and torque corresponding to the whole-body joint motors according to the task acceleration. For the specific process of this step, please refer to the embodiment below. By setting up the observation module, multiple controllers of the wheel-legged robot can share data, which helps the controller to control the wheel-legged robot.
[0173] By associating the control results of the robust controller (the two rotational torques mentioned above) with the whole-body dynamics controller, the whole-body dynamics controller can receive information related to balance control. This helps the whole-body dynamics controller to rationally optimize the various input information it receives, generate optimized joint commands (i.e., force and torque commands), and send these joint commands to the corresponding joints. This allows more links in the wheel-legged robot to rotate during balance control, helping to improve the wheel-legged robot's balance control capabilities during movement. For a detailed description of this step, please refer to the examples below.
[0174] Step 1350, at the second moment, according to the force and torque instructions of the joints of the whole body, control the n-1 rotational joints and the real rotational joints corresponding to the first rotational joint respectively to adjust the balance state of the wheel-legged robot. The second moment is after the first moment.
[0175] In some embodiments, the second moment refers to any moment after the first moment. Alternatively, the second moment refers to a moment after the force and torque instructions of the joints of the whole body are calculated.
[0176] In some embodiments, the full-body joints include multiple movable joints of a wheel-legged robot. Optionally, the full-body joints include revolute joints and linear joints. Optionally, the full-body joints include at least n-1 revolute joints. Based on the at least two real revolute joints corresponding to the first revolute joint, the at least two real revolute joints are equivalent to the first revolute joint during the process of establishing the n-th order inverted pendulum model.
[0177] In some embodiments, the n-1 revolute joints are understood to be the revolute joints other than the first revolute joint in the n-order inverted pendulum model. Since each of the n-1 revolute joints corresponds to a real revolute joint in the wheel-legged robot, force and torque commands can directly drive the n-1 revolute joints to move. The first revolute joint is an equivalent revolute joint corresponding to multiple real revolute joints. The first revolute joint does not actually exist in the wheel-legged robot. Therefore, the force and torque commands need to directly control the multiple real revolute joints equivalent to the first revolute joint, rather than controlling the first revolute joint. Therefore, the force and torque commands for the n-1 revolute joints can be directly used to control the corresponding revolute joints in the wheel-legged robot.
[0178] Optionally, this step is completed by the whole-body dynamics controller in the wheel-legged robot. After the whole-body dynamics controller determines the force and torque instructions of the whole-body joints, it determines the force and torque instructions corresponding to n rotational joints from the force and torque instructions of the whole-body joints, and sends these force and torque instructions to the joint motors corresponding to each rotational joint, respectively, to control the joint motors to rotate according to the force and torque instructions, thereby changing the posture of the wheel-legged robot.
[0179] In some embodiments, when the leg mechanisms of a wheel-legged robot are variable in length, a computer device controls the motion of the linear motors in at least two of the leg mechanisms based on force and torque commands from joints throughout the body, thereby controlling the length of the leg mechanisms. This method coordinates with multiple revolute joints to adjust the posture of the wheel-legged robot, shifting its center of gravity and helping it regain balance more quickly, thereby improving its ability to maintain balance.
[0180] To sum up, based on abstracting the wheel-legged robot into a multi-order inverted pendulum model, during the balance control process, the deflection angles of multiple links in the wheel-legged robot can be adjusted to change the posture of the wheel-legged robot; compared with the related technology that can only adjust the angle between the moving wheel and the leg mechanism during the balance control process, this scheme makes the postures of multiple links in the wheel-legged robot variable during the balance adjustment process, greatly enriches the robot posture, helps to quickly adjust the robot to a balanced state, and also helps to improve the robot's ability to recover to a balanced state under different disturbance forces, thereby improving the robustness of the robot's balance control process.
[0181] Furthermore, by using the method provided in this application to determine equivalent state quantities based on actual state quantities, balance control in a multi-wheel motion mode can share a set of control parameters with balance control in a two-wheel motion mode. This eliminates the need to adjust the control parameters of the controller used for balance control (such as a robust controller) after switching motion modes for a wheel-legged robot, thus improving the versatility of the controller.
[0182] The following describes a method for obtaining the equivalent state quantity at the first moment through several embodiments.
[0183] In some embodiments, step 1320 includes the following sub-steps (not shown in the drawings of the specification), and the execution subject of the following sub-steps is a computer device.
[0184] Sub-step 1321 : For the angular velocities of at least two moving wheels included in the actual state quantity, the angular velocities of the at least two moving wheels are superimposed to obtain the angular velocity of the wheel.
[0185] In some embodiments, because the angular velocities of non-overlapping moving wheels in the forward direction are unequal, the angular velocity of the wheels is obtained by vector superposition of the angular velocities of at least two moving wheels. For example, if the at least two moving wheels include moving wheel 1 and moving wheel 2, and the angular velocity of moving wheel 1 is v1 and the angular velocity of moving wheel 2 is v2, then the angular velocity of the wheels is equal to (v1 + v2) / 2, and the direction of the wheel angular velocity is consistent with the larger value of v1 or v2.
[0186] Sub-step 1322, determining the geometric relationship between the at least two leg mechanisms based on the lengths and deflection angles of the at least two leg mechanisms. In some embodiments, the geometric relationship between the at least two leg mechanisms is used to characterize the positional relationship between the at least two leg mechanisms. Optionally, the geometric relationship is used to characterize the geometric figure formed by the lines connecting the at least two leg mechanisms and the at least two moving wheels on the contact surface. Exemplarily, the computer device divides the at least two leg mechanisms into two mechanism groups, and the leg mechanisms belonging to the same mechanism group correspond to one edge of the geometric figure, and the leg mechanisms belonging to the other mechanism group correspond to the other edge of the geometric figure. In this case, the geometric figure is a triangle.
[0187] When the mechanism group includes at least two leg mechanisms with different deflection angles, the computer device first equates the at least two leg mechanisms with different deflection angles into a single intermediate leg mechanism, and then determines the deflection angle and length of the intermediate leg mechanism. The geometric relationship is related to the intermediate leg mechanism. In this process, the equating method for the at least two leg mechanisms with different deflection angles is the same as the method for determining the first connecting rod. Please refer to the embodiments below for details. Optionally, the geometric relationship includes the angle between the at least two leg mechanisms.
[0188] Because one end of the at least two leg mechanisms is connected to the same joint, the other ends of the at least two leg mechanisms are aligned with their respective corresponding moving wheel vectors. Optionally, the at least two leg mechanisms have the same height at one end and the same height at the other end. After determining the lengths of the at least two leg mechanisms, the angle between the at least two leg mechanisms can be determined based on the deflection angles of the at least two leg mechanisms. Exemplarily, the angle between the at least two leg mechanisms is equal to the sum of the deflection angles of the at least two leg mechanisms.
[0189] Sub-step 1323 , determining the deflection angle of the first link and the angular velocity of the first link according to the geometric relationship, the deflection angles of the at least two leg mechanisms, and the angular velocity of the at least two leg mechanisms.
[0190] In some embodiments, the computer device determines the positional relationship between the first link and at least two leg mechanisms through geometric relationships, and determines the relationship between the deflection angles of the two leg mechanisms and the deflection angle of the first link based on the positional relationship, thereby determining the deflection angle of the first link. For example, in the case where the first link is obtained based on the equivalence of the two leg mechanisms, one endpoint of the first link is the same as the endpoint of the two leg mechanisms, and the other end of the first link is located at the midpoint of the line connecting the other ends of the two leg mechanisms. The length of the first link is calculated based on the law of cosines. After the length of the first link is determined, the deflection angle of the first link can also be calculated based on the law of cosines.
[0191] Optionally, the angular velocity of the first link is equal to half of the sum of the angular velocities of the two leg mechanisms, which will not be elaborated here.
[0192] In sub-step 1324, the deflection angles of the n-1 connecting rods in the actual state are used as the deflection angles of the n-1 connecting rods in the equivalent state. For any one of the n-1 connecting rods, the deflection angle of the connecting rod in the actual state is equal to the deflection angle of the connecting rod in the equivalent state.
[0193] In sub-step 1325, the angular velocities of the n-1 connecting rods in the actual state are used as the angular velocities of the n-1 connecting rods in the equivalent state. For any one of the n-1 connecting rods, the angular velocity of the connecting rod in the actual state is equal to the angular velocity of the connecting rod in the equivalent state.
[0194] Through equivalence, the state quantities of the equivalent connecting rod and the equivalent moving wheel that cannot be measured by sensors can be obtained, so that the state quantities of the nth-order inverted pendulum model abstracted from the wheel-legged robot can be known, and the state quantities of some rotating joints do not need to be changed in the process of equivalent processing of actual state quantities. The equivalence method of the state quantities of the equivalent connecting rod and the equivalent moving wheel is simple, which helps to reduce the computational overhead in the process of determining the equivalent state quantities.
[0195] The following describes a method for determining the sliding surface through several embodiments. The number of sliding surfaces is n, and n sliding surfaces are used to constrain the rotational torque of n revolute joints, where n is a positive integer. Optionally, the n sliding surfaces are different from each other, and the n sliding surfaces are used to jointly participate in the calculation process of the rotational torque. Step 1330 in the above embodiment: also includes the following sub-steps (not shown in the drawings of the specification), and the execution subject of the following sub-steps is a computer device.
[0196] Sub-step 1333, for the i-th sliding surface among the n sliding surfaces, determine at least two sliding parameters, where i is a positive integer equivalent number less than or equal to n. In some embodiments, the sliding surface is related to at least one element in the state quantity, and the elements in the state quantity are also called state parameters, such as the equivalent state quantity Included They are all state parameters. For the explanation of the above parameters, please refer to the above embodiments and will not be repeated here.
[0197] Optionally, the sliding surface is represented by a sliding parameter and at least one element included in the equivalent state quantity. That is, the sliding surface in the embodiments of the present application refers to an expression consisting of the sliding parameter and at least one element, and the equivalent state quantity tends to be stable on the sliding surface. That is, under the constraints of the sliding surface, the posture of the wheel-legged robot at the next moment is determined so as to adjust the balance state of the wheel-legged robot.
[0198] For example, a sliding surface is related to the deflection angle of the first connecting rod and the acceleration of the first connecting rod in the equivalent state quantity. For another example, a sliding surface is related to the deflection angle of the i-th connecting rod and the acceleration of the i-th connecting rod. Optionally, n sliding surfaces are respectively related to the first state parameter in the state quantity. For example, the first state parameter is the angular velocity of the moving wheel, that is, all n sliding surfaces are related to the angular velocity of the moving wheel.
[0199] Optionally, the sliding mode parameter is a real number. The sliding mode parameter is used to characterize the proportional relationship between the state parameter in the state quantity and the sliding mode surface. Exemplarily, the sliding mode parameters are not shared between different sliding modes. That is, among the n sliding modes, there are at least two sliding modes, and the sliding mode parameters corresponding to the at least two sliding modes are unequal.
[0200] In some embodiments, the number of state parameters used in creating the sliding surface is greater than the number of sliding parameters. Optionally, for any one of the n sliding surfaces, the number of state parameters used in the creation of the sliding surface is greater than the number of sliding parameters used. This method helps to ensure that the set of equations constructed based on the sliding surface and the dynamic model parameters is solvable, and ensures that the balancing control method provided by the embodiment of the present application can calculate a certain torque. For example, when establishing a certain sliding surface, 3 state parameters and 2 sliding parameters in the state quantity are used. For another example, when establishing a certain sliding surface, 4 state parameters and 3 sliding parameters in the state quantity are used.
[0201] Since the number of sliding parameters used in the process of creating the sliding surface is less than the number of state parameters, the coefficient of at least one state parameter in the sliding surface is equal to 1, that is, these state parameters do not have corresponding sliding parameters in the sliding surface, and the other state parameters required to create a certain sliding surface have a one-to-one correspondence with the sliding parameters.
[0202] In some embodiments, for the i-th sliding surface among n sliding surfaces, the i-th sliding surface includes at least two sliding parameters. Optionally, the state parameters included in different sliding surfaces are not completely the same, and the number of state parameters required to create each sliding surface is equal. For example, the n sliding surfaces each include the same number of sliding parameters. Assume that three state parameters are used to create the i-th sliding surface, and three state parameters are also used to create the i+k-th sliding surface, where k is a positive integer, and i+k is less than or equal to n.
[0203] In some embodiments, the number of sliding parameters included in the i-th sliding surface is related to the number of state parameters used to establish the i-th sliding surface. Optionally, the number of state parameters used to create the i-th sliding surface is one more than the number of sliding parameters used to create the i-th sliding surface. In order to ensure that a definite solution for the rotational torque of n rotational joints can be calculated by the sliding surface and the dynamic model parameters, the i-th sliding surface is related to at least 3 state parameters in the equivalent state quantity at the first moment. Optionally, the at least 3 state parameters associated with the i-th sliding surface are different from the at least 3 state parameters associated with the l-th sliding surface, and l is a positive integer less than or equal to n.
[0204] To improve the reliability of the determined torque, the sliding mode parameters need to meet the system stability conditions. Please refer to the following for details.
[0205] Optionally, the n sliding surfaces each use an equal number of state parameters. For example, each of the n sliding surfaces includes three state parameters. The following describes a method for creating a sliding surface, taking the creation of the i-th sliding surface as an example.
[0206] Generally speaking, the more state parameters related to a certain sliding surface in the equivalent state quantity at the first moment, the more reference information is used in the process of calculating the rotational torque of n rotational joints; the mutual constraints between the various state parameters help to improve the accuracy of the rotational torque of the n rotational joints determined according to the n sliding surfaces and dynamic model parameters, and help to improve the effect of balance adjustment.
[0207] Optionally, at least three state parameters and at least two sliding parameters are used to create the i-th sliding surface.
[0208] Exemplarily, the state parameters used to create the i-th sliding surface include: the deflection angle of the i-th connecting rod, the angular velocity of the moving wheel, and the angular velocity of the i-th connecting rod; in this case, the two sliding parameters used to create the i-th sliding surface are: the sliding parameter corresponding to the deflection angle of the i-th connecting rod, and the sliding parameter corresponding to the angular velocity of the moving wheel. Exemplarily, the i-th sliding surface is associated with four state parameters in the state quantity, and the i-th sliding surface is associated with the state quantities including 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, where m is a positive integer that cannot divide n, and "%" represents the remainder of division. In this case, the i-th sliding surface includes at least three sliding parameters: the sliding parameter corresponding to the deflection angle of the i-th connecting rod, the sliding parameter corresponding to the angular velocity of the moving wheel, and the sliding parameter corresponding to the deflection angle of the (i+m)%n-th connecting rod. It should be noted that the number of state parameters related to the sliding surface and the number of sliding parameters are designed according to actual needs and are not limited here.
[0209] In some embodiments, multiple sliding surface creation schemes are designed in the robust controller. In different sliding surface creation schemes, the number of sliding parameters and the number of state parameters used to create the i-th sliding surface are not exactly the same. For example, in the first sliding surface creation scheme, 2 sliding parameters and 3 state parameters are required to create the i-th sliding surface; in the second sliding surface creation scheme, 5 sliding parameters and 6 state parameters are required to create the i-th sliding surface. In other words, the total number of sliding parameters used to create the sliding surface in the first sliding surface creation scheme is not equal to the total number of sliding parameters required to create the sliding surface in the second sliding surface creation scheme; and 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.
[0210] Optionally, during the balance control process, the robust controller selects a target creation scheme from multiple sliding surface creation schemes based on actual conditions, and determines the total number of sliding mode parameters required to create the i-th sliding surface based on the target creation scheme. Exemplarily, if the robust controller has high computational performance, the robust controller selects the sliding surface creation scheme involving more sliding mode parameters from the multiple sliding surface creation schemes as the target creation scheme. A target creation scheme refers to the sliding surface creation scheme selected for use during the balance control process from the multiple sliding surface creation schemes. Exemplarily, the robust controller determines the target creation scheme based on the current task of the wheel-legged robot. If the task requires high balance and the robust controller has high computational performance, the robust controller selects the sliding surface creation scheme involving more sliding mode parameters from the multiple sliding surface creation schemes as the target creation scheme. Exemplarily, if the robust controller has average computational performance or there are power consumption requirements, the robust controller selects the sliding surface creation scheme involving fewer sliding mode parameters from at least one sliding surface creation scheme as the target creation scheme. Exemplarily, the robust controller receives a control instruction from a remote controller, where the control instruction is used to indicate a target creation scheme selected from a plurality of sliding surface creation schemes.
[0211] Sub-step 1336: establishing the i-th sliding mode surface according to the at least two sliding mode parameters and the equivalent state quantity at the first moment.
[0212] In some embodiments, the equivalent state quantities include the deflection angles of the n connecting rods, the angular velocities of the moving wheels, and the angular velocities of the n connecting rods. Optionally, the robust controller creates the i-th sliding surface based on at least three state parameters and at least two sliding mode parameters in the equivalent state quantities at the first moment. Optionally, step 1336: Establishing the i-th sliding surface based on the at least two sliding mode parameters and the equivalent state quantities at the first moment, includes the following sub-steps, which are performed by a computer device.
[0213] Sub-step 1336-a: Determine a first processing result related to the deflection angle of the i-th link based on a first sliding mode parameter of the at least two sliding mode parameters. Optionally, the first sliding mode parameter is a coefficient corresponding to the deflection angle of the i-th link, and the second sliding mode parameter is a coefficient corresponding to the angular velocity of the moving wheel link.
[0214] Optionally, the first processing result refers to the result obtained by 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. Exemplarily, 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 (such as addition, subtraction, multiplication, and division) based on the first sliding mode parameter and the deflection angle of the i-th connecting rod to obtain the processing result of the i-th connecting rod. For example, the first processing result is obtained by multiplying the first sliding mode parameter by the angular velocity of the i-th connecting rod.
[0215] Sub-step 1336-b, determines a second processing result related to the angular velocity of the moving wheel based on the second sliding mode parameter of the at least two sliding mode parameters. Optionally, in the process of establishing the i-th sliding surface, the second processing result refers to the result obtained by processing the angular velocity of the moving wheel using the second sliding mode parameter. Exemplarily, the method of processing the angular velocity of the moving wheel using the second sliding mode parameter includes but is not limited to: performing basic operations based on the second sliding mode parameter and the angular velocity of the moving wheel. For example, the second sliding mode parameter is multiplied by the angular velocity of the moving wheel to obtain the second processing result. It should be noted that the second sliding mode parameters corresponding to different sliding surfaces are different, that is, for the creation process of different sliding surfaces, the angular velocity of the moving wheel is processed using the second sliding mode parameter, and the processing results of the moving wheel obtained are different.
[0216] Sub-step 1336 - c , establishing the i th sliding surface according to the first processing result, the second processing result, and the angular velocity of the i th connecting rod.
[0217] In some embodiments, the i-th sliding mode surface is proportional to the processing result of the i-th connecting rod, the i-th sliding mode surface is proportional to the processing result of the moving wheel, and the first sliding mode surface is proportional to the angular velocity of the i-th connecting rod. Exemplarily, the robust controller adds the processing result of the i-th connecting rod, the processing result of the moving wheel, and the angular velocity of the i-th connecting rod to obtain the i-th sliding mode surface.
[0218] Optionally, the robust controller establishes an i-th sliding mode 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. Exemplarily, the sliding mode constant is a preset value, and the sliding mode constant is a rational number, such as 0, 1, 1.1, etc. Exemplarily, the robust controller adds 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 the sliding mode constant to obtain the i-th sliding mode surface.
[0219] The sliding surface is constructed by using some sliding mode parameters in the equivalent state quantity, so that both the sliding surface and the dynamic equation can be represented by expressions containing the equivalent state quantity. In the process of solving the rotational torque of the rotational joint, the sliding surface is used to constrain the value of the rotational torque, so that the calculated rotational torque can provide positive assistance to the balance control process, reduce the occurrence of inappropriate calculated rotational torque, and help improve the reliability of balance control.
[0220] The robust controller determines n sliding surfaces respectively by the above method of creating the i-th sliding surface.
[0221] The n sliding surfaces can be expressed by the following formula: Wherein, s represents a sliding surface matrix including n sliding surfaces; Including the first sliding mode parameters corresponding to the deflection angles of the n connecting rods, Including the second sliding mode parameters corresponding to the angular velocity of the moving wheel in the n sliding mode surfaces. For the explanation of other parameters, please refer to the above introduction and will not be repeated.
[0222] By establishing n sliding surfaces in this way, while ensuring that the rotational torque of the determined n rotational joints can be calculated based on the sliding surfaces and the dynamic model parameters, the number of sliding parameters and state parameters used in the process of creating the sliding surfaces is controlled, which helps to control the computational overhead of calculating the rotational torque of the n rotational joints, helps to speed up the speed of determining the rotational torque, reduce power consumption and achieve balance control of the robot.
[0223] The following describes a method for determining force and torque instructions for joints throughout the body through several embodiments. The execution subject of each step of the process is a computer device. Step 1340 in the above embodiment includes at least sub-steps 1343 and 1346 (not shown in the accompanying drawings).
[0224] Sub-step 1343, calculates the rotational torque at the second moment based on the dynamic equation, the equivalent state quantity at the first moment and the sliding surface. The rotational torque at the second moment includes: the rotational torque of n rotational joints. For each of the n rotational joints, the rotational torque of the rotational joint is used to adjust the angle between the two connecting rods connected by the rotational joint.
[0225] In some embodiments, the rotational torque at the second moment is calculated based on the dynamic equation and the sliding surface, including: determining the dynamic model parameters based on the dynamic equation of the wheel-legged robot and the equivalent state quantity at the first moment, the dynamic model parameters are used to define the mapping relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of n connecting rods; and calculating the rotational torque at the second moment based on the dynamic parameters and the sliding surface.
[0226] The following describes the method for determining the parameters of the kinetic model through several embodiments.
[0227] In some embodiments, the angular acceleration at the first moment refers to the rotational acceleration of the n connecting rods after the wheel-legged robot is abstracted into an n-order inverted pendulum model (it can also be understood as the angular acceleration of the joint motors corresponding to the n rotating joints). The angular acceleration at the first moment can be expressed as From the above content, we can know that after abstracting the wheel-legged robot into an n-order inverted pendulum model, the matrix form of the dynamic equation can be obtained:
[0228] In an embodiment of the present method, a robust controller in the control system of the wheel-legged robot is designed based on the equation, so that the robust controller can implement the balance control method provided in the embodiment of the present application.
[0229] Based on the physical relationship between acceleration, velocity, and position, the acceleration at the first moment can be used to predict the angular velocity of the n connecting rods at the next moment after the first moment, as well as the posture of the wheel-legged robot at subsequent moments. The rotational torque of the joints can change the speed and posture of the wheel-legged robot. In the design of this robust controller, the focus is on the matrix-based dynamic equations to establish a mapping relationship between the wheel-legged robot's acceleration and the rotational torque of the joints.
[0230] For example, partial feedback linearization is performed on the matrix-form dynamic equation, placing the matrix related to the wheel-legged robot's acceleration on one side of the dynamic equation and the matrix related to the rotational torque of the revolute joint on the other side. The mapping relationship between the acceleration and the rotational torque at the first moment is determined, and this mapping relationship is represented by dynamic parameters. It should be noted that this process is completed during the robust controller design process, and the relevant formulas do not need to be repeatedly derived during actual balance control.
[0231] In some embodiments, the dynamic model parameters are used to represent the linear mapping relationship between acceleration and torque at the first moment. That is, the dynamic model parameters are used to ensure that the acceleration and torque at the first moment satisfy the equivalent relationship in a formula derived from the dynamic formula. Because there is more than one acceleration and torque at the first moment, the dynamic model parameters can be represented in matrix form.
[0232] Exemplarily, the dynamic model parameters include a proportional parameter matrix g[] and an offset parameter matrix f[]; the proportional parameter matrix g[] is used to characterize the proportional relationship between acceleration and torque at a first moment, and the offset parameter matrix f[] is used to characterize the offset between acceleration and torque at a first moment. For calculation methods of the two dynamic model parameter matrices, please refer to the following examples.
[0233] Optionally, during the design process of the robust controller, the representation form of the dynamic model parameters is predetermined. After obtaining the state quantity at the first moment, the robust controller brings the state quantity at the first moment into the representation form of the dynamic model parameters to determine the numerical values of each element included in the dynamic model parameters.
[0234] In some embodiments, determining the dynamic model parameters according to the dynamic equation and the equivalent state quantity at the first moment includes the following steps:
[0235] Step 10 (not shown in the figure) substitutes the equivalent state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment. The inertia matrix is used to characterize the mass and moment of inertia of the n rotating joints at the first moment, the deflection force matrix is used to characterize the deflection force of the wheel-legged robot at the first moment, and the gravity matrix is used to characterize the gravity of the wheel-legged robot at the first moment.
[0236] In some embodiments, an inertia matrix is used to represent the inertia of the joint rigid bodies corresponding to each of the n revolving joints that make up the wheel-legged robot at a first moment in time. The inertia matrix includes at least one of the following: mass and moment of inertia. Alternatively, the inertia matrix can be calculated based on dynamic equations. When the wheel-legged robot is abstracted as an n-order inverted pendulum model, the inertia matrix is a (n+1)*(n+1) matrix.
[0237] In some embodiments, a deflection force matrix is used to characterize the Coriolis force and centripetal force acting on each connecting rod. Optionally, the deflection force matrix includes the deflection force caused by the deflection angle of the wheel and the deflection force caused by the deflection angle of the n connecting rods. In some embodiments, a gravity matrix is used to characterize the gravity acting on each connecting rod. Optionally, the gravity matrix includes the gravity acting on the wheel and the gravity acting on each of the n connecting rods. Optionally, the wheel is always in contact with the contact surface, and the height of the moving wheel remains unchanged during the balancing control process. The plane where the center of mass of the wheel is located is used as the zero potential energy surface, and the gravity acting on the wheel is 0, so as to reduce the computational overhead of the balancing control process.
[0238] For the relevant contents of the inertia matrix, deflection force matrix and gravity matrix, please refer to the contents of the corresponding instructions of Figures 11 and 12, which will not be repeated here. Optionally, the expressions of each element in the above-mentioned inertia matrix, deflection force matrix and gravity matrix are also pre-derived based on the dynamic formula; after determining the equivalent state quantity at the first moment, the robust controller calculates the specific values of each element included in the inertia matrix, deflection force matrix and gravity matrix at the first moment based on the equivalent state quantity at the first moment and the representation form of each element in the inertia matrix, deflection force matrix and gravity matrix; and then obtains the inertia matrix, deflection force matrix and gravity matrix at the first moment.
[0239] Step 20 (not shown in the figure) determines the dynamic model parameters based on the inertia matrix, the deflection force matrix and the gravity matrix.
[0240] Optionally, the dynamic model parameters include: a scale parameter matrix and an offset parameter matrix. The scale parameter matrix is used to characterize the proportional relationship between the angular acceleration at a first moment and the rotational torque of the n rotational joints, and the offset parameter matrix is used to characterize the offset relationship between the angular acceleration at a first moment and the rotational torque of the n rotational joints. Optionally, the robust controller calculates the offset parameter matrix based on the inertia matrix, the deflection force matrix, and the gravity matrix; and calculates the scale parameter matrix based on the inertia matrix.
[0241] The conversion relationship between the acceleration of the wheel-legged robot and the rotational torque of n rotational joints is determined by the dynamic model parameters. Subsequently, the rotational torque of the n rotational joints can be determined relatively quickly based on the dynamic model parameters and the sliding surface, which helps to reduce unnecessary conversions in the process of determining the rotational torque of the rotational joints and alleviates the calculation pressure of computer equipment.
[0242] In some embodiments, step 20 includes the following sub-steps, and the execution subject of the following sub-steps is a computer device.
[0243] Sub-step 20-a (not shown in the figure) uses a selection matrix to process the product between the inverse matrix of the inertia matrix and the deflection force matrix, and the product between the inverse matrix of the inertia matrix and the gravity matrix, respectively, to obtain an offset parameter matrix. The selection matrix is used to extract the rotational torque of the n rotational joints from the dynamic equation.
[0244] Optionally, the elements in the selection matrix include the three values (0, 1, -1). The selection matrix is used to ensure that each rotational torque in τξ exists independently in the dynamic equation. That is, the dynamic equation is processed using the selection matrix so that the coefficients of the rotational torque of each revolute joint in the dynamic equation have the same sign, and the dynamic equation does not include basic operations (such as τ1-τ2, etc.) between the rotation matrices of any two revolute joints.
[0245] Sub-step 20-b (not shown in the figure) uses the selection matrix to process the inverse matrix of the inertia matrix to obtain the scale parameter matrix.
[0246] The following describes the derivation process of the dynamic model parameters. After applying partial feedback linearization to the matrix dynamic equation, we obtain Formula 1:
[0247] Among them, M -1 (q) is the inverse matrix of the inertia matrix, M -1 (q)*M(q)=E, where E is the unit matrix. The physical meanings of other parameters in Formula 1 can be found in the above embodiment and will not be elaborated here.
[0248] To simplify the execution logic of the balancing control process and reduce the computational complexity of the robust controller, the above formula 1 needs to be adjusted during the design of the robust controller. That is, the corresponding expressions of the offset parameter matrix and the proportional parameter matrix are predetermined based on the dynamic equations.
[0249] Alternatively, using a selection matrix to process Equation 1 yields Equation 2:
[0250] in, represents the offset parameter matrix; represents the scale parameter matrix, S T is the selection matrix.
[0251] Optionally, Formula 2 is derived after the wheel-legged robot is abstracted as an n-order inverted pendulum model. During the balance control process, after obtaining the state quantity at the first moment, the robust controller can calculate the proportional parameter matrix and the offset parameter matrix based on Formula 2 and the expressions of each element in the inertia matrix, deflection force matrix and gravity matrix obtained in the derivation of the dynamic equation of the n-order inverted pendulum model. In this way, the efficiency of determining the proportional parameter matrix and the offset parameter matrix during the balance control process is improved.
[0252] In some embodiments, the dynamic equations of the above-mentioned robot are derived based on the Euler-Lagrange equations based on the abstraction of the wheel-legged robot into an n-order inverted pendulum model, and the moving wheels of the wheel-legged robot correspond to the wheels in the n-order inverted pendulum model. Please refer to the above embodiments for the derivation process of the dynamic equations, which will not be repeated here. Abstracting the wheel-legged robot into an n-order inverted pendulum model to complete the balance control of the wheel-legged robot helps to adapt to the balance control requirements in different scenarios and improve the robustness of the balance control method.
[0253] The following describes a process for calculating the rotational torque at the second moment based on the dynamic parameters and the sliding surface. The execution subject of this process is a computer device, such as a robust controller of a wheel-legged robot.
[0254] After introducing the design methods for the dynamic model parameters and n sliding surfaces in the robust controller, the robust controller design corresponding to the steps of calculating the rotational torque of n revolute joints based on the sliding surfaces and dynamic model parameters is introduced. After establishing n sliding surfaces based on the state equivalent state, the robust controller determines the formula for the first-order derivative of each of the n sliding surfaces with respect to time and uses the torque to represent the angular acceleration of the n connecting rods based on the dynamic equation (Formula 2), which is summarized as Formula 3:
[0255] in, represents the first-order derivative of n sliding surfaces with respect to time, is the offset parameter matrix f[] in formula 2 above f q is the offset parameter matrix f[] in formula 2 above is the proportional parameter matrix g[] in formula 2 above g q In the above formula 2, the scale parameter matrix g[] For other parameters, please refer to the above introduction and will not be repeated here.
[0256] By performing transposition processing on Formula 3, we can obtain Formula 4:
[0257] Among them, sgn() is the symbol function, is a constant matrix, s T is the transposed matrix of the sliding matrix s including n sliding surfaces, |s| represents the absolute value of n sliding surfaces, represents the first-order derivative of the n sliding surfaces with respect to time. For other parameters, please refer to the above description and will not be repeated. Optionally, Formula 3 and Formula 4 are calculated in real time by the robust controller during the balancing control process.
[0258] By utilizing the properties of the sliding surface, when the sliding surface is controlled to be equal to 0, the state parameters related to the sliding surface will gradually tend to 0 along the sliding surface, that is, the wheel-legged robot returns to the equilibrium state. The state quantity (state parameters in) on the sliding surface satisfies: The above formula can be used to express the angular velocity of the n connecting rods:
[0259] The robust controller determines the angular velocity of the n links and takes the first-order derivative with respect to time, obtaining Formula 5 which can express the angular acceleration of the n links: Since q is a vector of the deflection angles of n links, split q: let α denote q1 (the deflection angle of the first link), let β denote That is, β includes the deflection angles of the other links except the first link among the n links. The dynamic equation based on the n-order inverted pendulum model is written as:
[0260] In this formula, represents the angular acceleration of the first link; represents the angular acceleration of the n connecting rods except the first connecting rod; Represents the inertia related to the moving wheel in the inertia matrix M; Represents the inertia matrix M Among them is the inertia related to the first connecting rod; It refers to the inertia matrix M The inertia that is not related to the first connecting rod; m αα represents the m in the inertia matrix M qq The inertia associated with the first connecting rod; m ββ represents the m in the inertia matrix M qq The inertia that is not related to the first connecting rod; c α Indicates the deflection force received by the first connecting rod; c β g represents the eccentric force on the other connecting rods except the first connecting rod; α Indicates the gravity acting on the first mechanism; g β represents the gravity acting on the other links except the first link among the n links; τ1 represents the rotational torque of the first rotational joint; τ2 represents the rotational torque corresponding to the other rotational joints except the first rotational joint among the n rotational joints.
[0261] Adding the three formulas included in the above kinetic equation can obtain Formula 6:
[0262] In formula 6 Merge into We get formula 7:
[0263] Use Formula 5 to solve Formula 7 Performing equivalent substitutions, we obtain Formula 8:
[0264] Formula 8 is used to express Formula 9:
[0265] Formulas 5 and 9 are used to express Formula 10:
[0266] right The matrix form of the state equation is obtained by simultaneous equation:
[0267] in, I is the identity matrix.
[0268] Optionally, the system stability criterion is related to a state equation determined based on the dynamic equation and the sliding surface. For example, the stability criterion is related to the coefficient matrix in the state equation. To ensure that the system stability criterion is met, the sliding mode parameters must satisfy the coefficient matrix of the state equation: The characteristic roots of are distributed in the left half plane of the complex plane. This state equation can be used as a matrix inequality constraint, that is, the values of the sliding mode parameters are distributed in the left half plane of the complex plane of the coefficient matrix.
[0269] Optionally, during the balancing control process of the present application, the robust controller determines the rotational torque of the n revolute joints according to Formula 4 and the state equation. During the balancing control process, the robust controller calculates the rotational torque τ of the n revolute joints according to Formula 4. Formula 4 involves n sliding surfaces forming a sliding surface matrix s, and Formula 2 includes dynamic model parameters and also involves sliding parameters.
[0270] The robust controller obtains the state quantity at the first moment, substitutes the state quantity at the first moment into the corresponding formula to determine the dynamic model parameters and create n sliding surfaces. The sliding mode parameters in the sliding mode surfaces meet the system stability conditions. Then, the robust controller ensures that the sliding mode parameters meet the matrix inequality constraints formed by the above state equations while calculating the rotational torque τ of the n rotational joints based on Formula 4.
[0271] For example, in the balancing control method provided in this application, sliding mode parameters that satisfy matrix inequality constraints are first determined, and then n sliding surfaces are constructed using the sliding mode parameters. The robust controller determines the state equation based on the dynamic equation and the representation of the sliding surface (in this case, the sliding mode parameters in the sliding surface are unknown). The robust controller determines the value or value range of the sliding mode parameter under the system stability condition that the characteristic root of the coefficient matrix that satisfies the state equation is in the left half plane, and obtains the actual value of the sliding mode parameter required in the process of creating the sliding surface. The sliding mode parameters are introduced into the sliding surface, and the rotational torque of the n rotational joints is calculated based on the sliding surface and the dynamic model parameters.
[0272] For example, the balancing control method provided herein first randomly selects sliding mode parameters corresponding to n sliding mode surfaces within a certain numerical range, constructs n sliding mode surfaces using these sliding mode parameters, and calculates the rotational torque τ of the n revolute joints using Formula 4. A robust controller then verifies whether the four sliding mode parameters satisfy the aforementioned matrix inequality constraints. If all four sliding mode parameters satisfy the aforementioned matrix inequality constraints, the rotational torque τ of the n revolute joints can be used to control the n revolute joints. If the n sliding mode parameters do not satisfy the aforementioned matrix inequality constraints, the determined rotational torque τ of the n revolute joints cannot be used.
[0273] The following describes the method for determining sliding mode parameters through several embodiments.
[0274] In some embodiments, for the i-th sliding surface among the n sliding surfaces, the robust controller determines at least two sliding mode parameters, including: determining a first sliding mode parameter among at least one sliding mode parameter from the (2i-1)-th prediction parameter set, and determining a second sliding mode parameter among at least one sliding mode parameter from the 2i-th prediction parameter set; wherein the sliding mode parameters respectively included in the (2i-1)-th prediction parameter set and the 2i-th prediction parameter set satisfy the constraints of the stability criterion.
[0275] In this embodiment, after determining the state at the first moment, the computer device first uses the state equation as a matrix inequality constraint to determine the solution sets corresponding to the sliding mode parameters required for each of the n sliding surfaces, thereby obtaining 2n prediction parameter sets. In other words, for any of the 2n prediction parameter sets, the sliding mode parameters in the prediction parameter set satisfy the system stability principle.
[0276] In the process of creating the i-th sliding surface, the first sliding parameter of at least two sliding parameters is determined from the (2i-1)-th prediction parameter set, and the second sliding parameter of at least two sliding parameters is determined from the 2i-th prediction parameter set. The i-th sliding surface is created based on the state quantity at the first moment and the above-mentioned at least two sliding parameters. Then, the robust controller calculates the rotational torque of the n rotational joints according to the above formula 4. It should be noted that in this embodiment, the method of determining the sliding parameters is introduced by taking the use of two sliding parameters to create a sliding surface as an example. If k sliding parameters are required to create a sliding surface, then in the process of creating the i-th sliding surface, one sliding parameter is obtained from each of the k prediction parameter sets corresponding to the i-th sliding surface, and k sliding parameters are obtained. When k is equal to 2, the method described in the above embodiment is used. k is a positive integer greater than or equal to 2. The maximum value of k is set according to actual needs and is not limited here.
[0277] This setting helps to avoid selecting sliding mode parameters that do not meet the system stability requirements, which results in the rotational torque of the n rotational joints calculated using these sliding mode parameters being unable to control the balance of the wheel-legged robot. It improves the availability of the determined rotational torque of the rotational joints, helps to avoid the computational overhead of the computer equipment in re-determining the rotational torque due to the sliding mode parameter selection operation, reduces unnecessary calculation steps, and helps to shorten the time spent on determining the rotational torque of the n rotational joints.
[0278] The following describes the calculation process of force and torque instructions for joints throughout the body through several embodiments.
[0279] In some embodiments, step 1340 further includes sub-step 1346: Sub-step 1346, calculating the force and torque instructions of the joints of the whole body according to the rotational torque at the second moment.
[0280] In some embodiments, sub-step 1346 includes: calculating the task acceleration of the wheel-legged robot at the second moment based on the rotational torques of the n rotational joints, where the task acceleration includes the acceleration related to the center of mass of the wheel-legged robot.
[0281] Optionally, the center of mass of the wheel-legged robot refers to an imaginary point where all the mass of the wheel-legged robot is concentrated. The center of mass of the wheel-legged robot is related to factors such as the mass distribution of each mechanism of the wheel-legged robot and the posture of the wheel-legged robot.
[0282] Optionally, the task acceleration includes, but is not limited to, at least one of the following: the acceleration of the wheel-legged robot's center of mass on the x-axis, the acceleration of the wheel-legged robot's center of mass on the y-axis, the acceleration of the wheel-legged robot's center of mass on the z-axis, the angular acceleration of the wheel-legged robot's center of mass around the x-axis, the angular acceleration of the wheel-legged robot's center of mass around the y-axis, and the angular acceleration of the wheel-legged robot's center of mass around the z-axis. Exemplarily, the task acceleration is observed in the operating space or in the joint space.
[0283] The operation space refers to the space related to the operation task of the wheel-legged robot, in which the physical quantities in the operation are observed in the Cartesian coordinate system (world coordinates), and the joint space refers to the coordinate system for observing the motion state of the joint. For example, the physical quantities in the operation space and the physical quantities in the task space can be converted. The position information of a mechanism in the operation space and the position in the joint space can be converted through kinematic formulas, and the speed in the operation space and the speed in the joint space are converted through the Jacobian matrix; wherein the Jacobian matrix refers to a matrix in which the first-order partial derivatives are arranged in a certain way.
[0284] In some embodiments, the task acceleration comprises the acceleration relative to the center of mass of the wheel-legged robot while the wheel-legged robot is performing a spatial manipulation task. Alternatively, the task acceleration is related to the position of the wheel-legged robot's center of mass relative to the wheel-legged robot. The method for determining the task acceleration is described below.
[0285] An operational space task can be understood as a task that the wheel-legged robot needs to perform in the operational space. At a given moment, the operational task that the wheel-legged robot needs to perform is determined by the robot's motion scenario. Optionally, the wheel-legged robot can perform multiple operational space tasks at a first moment.
[0286] Exemplarily, the types of operating space tasks include but are not limited to at least one of the following: support wheel tasks, trunk vertical direction tasks, trunk posture tasks, swinging wheel tasks, center of mass tasks, etc.; wherein, the support wheel task refers to the task related to the moving wheel of at least one moving wheel of the wheel-legged robot that is in contact with the contact surface, the trunk vertical direction task refers to the task of the torso mechanism (also referred to as the body mechanism) of the wheel-legged robot in the z-axis direction of the world coordinate system, the torso posture task refers to the task related to the Euler angle of the torso mechanism of the wheel-legged robot, and the Euler angle includes roll angle, pitch angle and yaw angle; the swinging wheel task refers to the task related to the moving wheel of at least one moving wheel of the wheel-legged robot that is not in contact with the contact surface; the center of mass task refers to the task related to the center of mass of the wheel-legged robot.
[0287] In some embodiments, sub-step 1346 further includes: the whole-body dynamics controller determines the force and torque instructions of the whole-body joints of the wheel-legged robot at the second moment according to the task acceleration, and the whole-body joints include n rotational joints.
[0288] In some embodiments, full-body joints refer to active joints in a wheel-legged robot. Optionally, full-body joints include revolute joints and linear joints. For example, a revolute joint corresponds to a rotary motor, which changes the deflection angle, angular velocity, etc. of the connecting rod connected to the revolute joint by rotating the rotary motor. A linear joint corresponds to a linear motor, which is used to change the length of the mechanism. For example, the leg mechanism (first connecting rod) of a wheel-legged robot includes a linear motor, and the length of the leg mechanism can be adjusted by the linear motor.
[0289] In some embodiments, after determining the task acceleration, the observation module transmits the task acceleration to the whole-body dynamics controller; the whole-body dynamics controller determines the force and torque commands corresponding to each joint of the whole body based on the task acceleration. Optionally, if the wheel-legged robot is performing multiple operational space tasks at the first moment, in addition to determining the task acceleration related to the wheel-legged robot's center of mass, it is also necessary to calculate other task accelerations corresponding to each of the other operational space tasks. For details on this process, please refer to the examples below.
[0290] Optionally, the whole-body dynamics controller includes a whole-body dynamics equation for the wheel-legged robot. The whole-body dynamics equation is used to characterize the relationship between the posture of the wheel-legged robot and its whole-body state variables. The whole-body dynamics equation is derived by establishing a whole-body dynamics model for the wheel-legged robot and using kinematics.
[0291] Alternatively, the whole-body dynamics model can be expressed by the following formula: in, represents the joint space inertia matrix, which includes the inertia of the joint rigid bodies of the whole body joints; Represents the offset forces received by the joints of the whole body in the joint space. The C matrix includes the sum of the Coriolis force, centripetal force, and gravity received by the complete wheel-legged robot. represents the selection matrix; represents the contact point Jacobian matrix; represents a contact force vector, including at least one contact force on the wheel-legged robot; Respectively represent generalized position, generalized velocity, and generalized acceleration; N G Represents the total degree of freedom of the robot, N G =N f +N J , N f is the floating degree of freedom, N J is the degree of freedom of the active joint, which is the joint that can move automatically. C Indicates the number of contact forces, N C Equal to the number of contact points n C With the dimension N of a single contact force D ∈{0,1,2,3}. It should be noted that in the formulas in this article, τ is the vector of force and torque commands for all joints, while τ is the vector of rotational torques for n rotational joints. Please note that the two have different meanings.
[0292] Optionally, the whole-body dynamics equation is constructed based on the rigid body dynamics of the whole-body dynamics model of the wheel-legged robot, and the whole-body dynamics equation is used to describe the relationship between the posture of the complete wheel-legged robot and the motion state of each active joint and the external force it is subjected to.
[0293] In some embodiments, the force and torque instructions include at least one of the following instructions: a force instruction, a torque instruction. Optionally, the force and torque instructions for the rotary motor include a torque instruction, and the torque instruction is used to control the rotary motor to rotate according to the torque instruction; the force and torque instructions for the linear motor include a force instruction, and the force instruction is used to control the linear motion of the linear motor. The whole-body dynamics controller controls the motion of the whole-body joints according to the force and torque instructions of the whole-body joints. After determining the force and torque instructions of the whole-body joints, the whole-body dynamics controller sends the force and torque instructions to the joint motors corresponding to the whole-body joints respectively, and the joint motors corresponding to the whole-body joints respectively perform linear motion or rotation according to the received force and torque instructions, so that the posture of the wheel-legged robot changes and the balance state of the wheel-legged robot is adjusted.
[0294] Optionally, after the rotating motors corresponding to the n rotating motors receive force and torque instructions, the rotating motors rotate so that the deflection angle, angular velocity, and angular acceleration of at least one wheel-legged robot corresponding to the n-order inverted pendulum model change; for the active joints not considered in the n-order inverted pendulum (i.e., other active joints other than the n joints), these active joints start to move after receiving the force and torque instructions.
[0295] Exemplarily, after receiving force and torque commands, the linear motors in the leg mechanisms move to change the length of the leg mechanisms, thereby changing the height of the wheel-legged robot and causing the z-axis position of the wheel-legged robot's center of mass to change. Exemplarily, the rotary motors other than the n rotary motors rotate based on the received force and torque commands, adjusting the angle between the two connecting rods connected by the rotary motors.
[0296] It should be noted that the rotational torque of the n rotational joints and the force and torque instructions corresponding to the n rotational joints are different. In the process of determining the force and torque instructions of the whole-body joints by the whole-body dynamics controller, state quantities related to the operating space tasks of the wheel-legged robot are used, and more rotational joints are involved.
[0297] Balance control is performed using force and torque commands generated by a whole-body dynamics controller, allowing more links (more than n links) to participate in balance control. This enriches the posture of the wheel-legged robot during balance adjustment and integrates balance adjustment with the operational space tasks of the motion process. By combining the robust controller with the whole-body dynamics controller to complete balance adjustment, this provides a new approach to balance control, facilitating flexible adjustment of the wheel-legged robot's posture during balance control. Providing data from the robust controller to the whole-body dynamics controller in this way increases reference information for determining force and torque commands for joints throughout the body, helping to determine optimal force and torque commands. This not only improves the speed at which the wheel-legged robot returns to a balanced state while completing its motion tasks, but also prevents the wheel-legged robot from falling during movement.
[0298] The following describes a method for determining task acceleration through several embodiments.
[0299] In some embodiments, the observation module calculates the task acceleration of the wheel-legged robot at a second moment based on the rotational torques of the n rotational joints. Optionally, the observation module includes a method for converting the rotational torques of the n rotational joints into task accelerations. This process includes the following sub-steps, which are executed by a computer device, such as a whole-body dynamics controller in a wheel-legged human.
[0300] The observation module determines the angular acceleration at the second moment based on a dynamic equation and the rotational torques of the n rotational joints. The dynamic equation is a dynamic equation derived from an n-order inverted pendulum model and is related to the kinematic states of the n mechanisms and the rotational torques of the n rotational joints.
[0301] Optionally, the robust controller of the wheel-legged robot determines the rotational torque of n rotational joints based on the state quantity at the first moment, and then sends the rotational torque of the n rotational joints to the observation module in the control system. The observation module calculates the angular acceleration of the wheel-legged robot at the second moment according to Formula 2 above.
[0302] Optionally, the angular acceleration at the second moment refers to the angular acceleration related to the n-th order inverted pendulum model. Exemplarily, the angular acceleration at the second moment includes the angular accelerations of the n connecting rods at the second moment and the angular acceleration of the moving wheel at the second moment.
[0303] The whole-body dynamics controller determines the expected incremental position and expected incremental speed of the center of mass of the wheel-legged robot at the second moment based on the state quantity at the first moment and the angular acceleration at the second moment. The expected incremental position is used to characterize the distance between the projection point of the center of mass of the wheel-legged robot on the contact surface and the virtual contact point in the first direction. The expected incremental speed is used to characterize the changing speed of the distance in the above-mentioned first direction. The virtual contact point refers to the center of each contact point of the wheel-legged robot and the contact surface.
[0304] In some embodiments, when at least two moving wheels of a wheel-legged robot are in contact with a contact surface, the virtual contact point is the center of a line connecting the contact points of the at least two moving wheels with the contact surface. This virtual contact point is located at the center of the contact points between the two moving wheels and the contact surface, helping to maintain the stability of the wheel-legged robot's center of gravity.
[0305] In some embodiments, the expected position increment is used to represent the position of the center of mass of the wheel-legged robot relative to the wheel-legged robot. The expected incremental velocity is the first-order derivative of the expected position increment with respect to time, that is, the expected position increment is used to represent the velocity at which the center of mass of the legged robot changes relative to the wheel-legged robot.
[0306] Optionally, the expected position increment and the expected velocity increment refer to the relative position and relative velocity of the wheel-legged robot's center of mass in a first direction, respectively. The first direction refers to the wheel-legged robot's forward direction (i.e., the x-axis direction in the world coordinate system). If the wheel-legged robot involves left-right movement (i.e., the y-axis direction in the world coordinate system), the expected velocity increment refers to the component of the relative velocity of the wheel-legged robot's center of mass in the first direction.
[0307] In some embodiments, after determining the angular acceleration at the second moment, the observation module uses a forward kinematics method to determine the expected incremental position and expected incremental velocity of the center of mass of the wheel-legged robot at the second moment based on the acceleration at the second moment, the deflection angles of the n connecting rods, the rotation angles of the moving wheels, the angular velocities of the n connecting rods, and the configuration, model, and parameters of the wheel-legged robot. Alternatively, when the acceleration at the second moment, the deflection angles of the n mechanisms, the rotation angles of the moving wheels, the angular velocities of the n mechanisms, and other state quantities are known, the position and velocity of the end of the wheel-legged robot are calculated based on forward kinematics, that is, the posture of the wheel-legged robot at the second moment is determined; and based on the position of the wheel-legged robot in the operating space and the posture of the wheel-legged robot, the position of the center of mass of the wheel-legged robot in the operating space is calculated to obtain the expected incremental position and expected incremental velocity.
[0308] The whole-body dynamics controller determines the task acceleration of the wheel-legged robot at the second moment based on the expected incremental position and the expected incremental speed. In some embodiments, the observation module determines the reference state variable group of the center of mass of the wheel-legged robot based on the expected incremental position and the expected incremental speed; the observation module determines the task acceleration based on the reference state variable group and the actual state variable group of the center of mass of the legged robot. The reference state variable group is used to characterize: the state variables of the center of mass of the wheel-legged robot at the second moment inferred by kinematics. Optionally, the reference state variable group includes: the expected incremental position Δx r , expected incremental speed Desired location Expected speed The expected position refers to the operation space position of the center of mass of the wheel-legged robot at the second moment, or the joint space position at the second moment, and the expected velocity refers to the first-order derivative of the expected position with respect to time.
[0309] The actual state variable group is used to characterize the state variables of the wheel-legged robot obtained by sensor observation. Optionally, the actual state variable group includes: the actual incremental position Δx a , actual incremental speed Physical location Actual speed The actual position is the position of the center of mass of the wheel-legged robot in the operating space, and the actual velocity is the first-order derivative of the actual position with respect to time.
[0310] Optionally, the mission acceleration of the wheel-legged robot at the second moment is Calculated by the following formula:
[0311] Where K represents the shape feedback gain matrix. For example, LQR is used to construct the objective function of the inverted pendulum dynamics equation. Then, with the goal of minimizing the objective function, the feedback gain matrix of the inverted pendulum dynamics equation is iteratively obtained. LQR is based on the quadratic programming optimization method. Its essence is to find a multidimensional vector that minimizes (or maximizes) the quadratic objective function of the multidimensional vector under linear constraints.
[0312] In some embodiments, the observation module sends the calculated task acceleration of the wheel-legged robot to the whole-body dynamics controller. The whole-body dynamics controller generates force and torque instructions for the whole-body joints of the wheel-legged robot based on the task acceleration. The whole-body dynamics controller sends the force and torque instructions of the whole-body joints to the joint motors corresponding to each active joint to control the movement of the whole-body joints, thereby adjusting the posture of the wheel-legged robot so that the wheel-legged robot maintains a balanced state.
[0313] In some embodiments, the observation module generates force and torque instructions for the whole-body joints of the wheel-legged robot based on the task acceleration, including the following steps: the whole-body dynamics controller determines the expected operation space task of the wheel-legged robot at the second moment, and the expected operation space task includes at least one task acceleration corresponding to the operation space task; the whole-body dynamics controller performs spatial transformation on the expected operation space task to obtain the expected joint space task; the whole-body dynamics controller brings the expected joint space task into the whole-body dynamics equation of the wheel-legged robot to obtain force and torque instructions for the whole-body joints.
[0314] Optionally, the expected operation space task includes a task acceleration at the second moment. It can be expressed as:
[0315] in, Refers to the first acceleration corresponding to the support wheel task, Refers to the second acceleration corresponding to the task in the vertical direction of the trunk, Refers to the third acceleration corresponding to the trunk posture task, The fourth acceleration corresponding to the swing wheel task, It refers to the task acceleration corresponding to the center of mass task. Optionally, the operation space tasks of the wheel-legged robot are different at different times, that is, the values of some accelerations included in the expected operation space tasks can be 0.
[0316] Optionally, the relationship between the acceleration in the operation space included in the desired operation space task and the joint space velocity and acceleration in the joint space task is: Among them, J t represents the Jacobian matrix of the action space task, Derivative of the Jacobian matrix representing the task in the action space.
[0317] According to the whole body dynamics equation: Expected Joint Space Task Can calculate Where τ represents the force and torque commands of the joints throughout the body.
[0318] To improve the rationality of force and torque commands for joints throughout the body, at least one constraint is added during the solution of the whole-body dynamics equations. The constraint includes, but is not limited to, at least one of the following: joint physical constraints and friction constraints.
[0319] Optionally, the joint physical constraint is used to limit the force and torque instructions according to the characteristics of the joint motors corresponding to the joints of the wheel-legged robot. The joint physical constraint can be expressed as: lb≤τ≤τ ub ; where τ represents the matrix of force and torque instructions for all joints, τ lb Represents the matrix including the minimum values of the force and torque instructions corresponding to each active joint, τ ub Represents a matrix including the maximum values of the force and torque commands corresponding to each active joint.
[0320] Optionally, the friction constraint is to set the contact force f at the i-th contact point to i The friction cone constraint should be satisfied. To reduce nonlinearity, the friction cone can be approximated as a friction angle cone, and the friction force inequality constraint can be expressed as:
[0321] Among them, n x 、n y 、n z They represent the unit orthogonal basis along the contact surface of the operation space system, μ i represents the friction coefficient, f i,zlb 、f i,zub They represent the minimum and maximum values of the non-negative positive pressure perpendicular to the contact surface, respectively.
[0322] The following describes the process of solving the whole-body dynamics equation. Optionally, the process can be completed by an optimizer: the whole-body dynamics equation is expressed as a polynomial solution in the form of AX=B.
[0323] in, Use the quadratic programming optimizer to construct the objective function, which can be expressed as: J = min (AX-B) T Q(AX-B)+X T RX; where Q and R are weight matrices, the minimum value of the objective function is calculated by the quadratic programming optimizer to obtain The variables in [ ] are used to obtain the force and torque commands τ for all joints. This method can independently determine the force and torque commands corresponding to each joint in the body. Even in scenarios where multiple real wheels of a wheel-legged robot do not overlap in the first direction, it can still control at least one real wheel and at least one real first revolute joint.
[0324] The following describes a method for determining each expected acceleration in the expected operation space task. The method for determining each element in the expected operation space task is pre-set. Optionally, the expected acceleration is determined based on the actual acceleration and the reference acceleration.
[0325] 1. The first acceleration corresponding to the support wheel task Method for determining .
[0326] Since the support wheel rolls on the contact surface and there is no relative sliding between the support wheel and the contact surface, the expected acceleration of the support wheel is is always equal to 0; the expected acceleration of the support wheel can be expressed as If a wheel-legged robot operates in four-wheel mode, it has four support wheels, each with a task in the x-direction. Assuming the support wheels remain grounded, their height along the z-axis of the world coordinate system is constant, so the four support wheels' tasks in the z-direction are not considered for now. Assuming the wheel-legged robot does not perform left or right turns or translational motion along the y-axis of the world coordinate system in four-wheel mode, the four support wheels' tasks in the y-direction are not considered for now.
[0327] If a wheel-legged robot operates in two-wheel balancing mode, it has two support wheels and two moving wheels called swing wheels. We will not consider the tasks of the support wheels for now; the tasks related to the two support wheels are already covered in the "Center of Mass Task" section below. The tasks of the two swing wheels also involve both the x-axis and the z-axis. If we do not consider the left and right turns of the wheel-legged robot in two-wheel balancing mode and its translational motion along the y-axis, we will not consider the tasks of the two swing wheels in the y-direction for now.
[0328] 2. Second acceleration corresponding to the trunk vertical direction task Method for determining .
[0329] The camera in the wheel-legged robot obtains the position information of the support wheels at multiple future moments by capturing the height changes of the contact surface within the field of view. The expression formula of the position information at multiple future moments is determined through planning methods such as spline curve interpolation, and the vertical reference position of the torso mechanism is determined based on the expression formula. speed acceleration According to the IMU sensor and the deflection angle (joint angle) and angular velocity of the mechanism, the actual vertical position of the trunk mechanism is calculated by forward kinematics. speed Construct a PD (Proportional Derivative) feedback controller corresponding to the trunk vertical direction task and calculate the desired acceleration in the trunk vertical direction, also known as the second acceleration
[0330] 3. The third acceleration corresponding to the trunk posture task Method for determining .
[0331] In some scenarios (such as climbing stairs), the trunk of the wheel-legged robot needs to be kept vertical as much as possible, and the trunk will not rotate, that is, the Euler angle reference trajectory composed of the roll angle, pitch angle, and yaw angle of the trunk is zero, that is, The wheel-legged robot calculates the actual Euler angle based on the observation results of the IMU sensor according to the forward kinematics formula Angular velocity The desired angular acceleration of the trunk can be calculated by the PD feedback controller corresponding to the trunk posture task: that is, the third acceleration
[0332] 4. The fourth acceleration corresponding to the swing wheel task Method for determining .
[0333] In scenarios with two-wheel balancing, for example, when the two-wheel balancing is moving on the ground, the two swinging wheels are required to present specific postures and movements, or when the two wheels are moving forward on the ground, the supporting wheel leg and the swinging wheel leg are switched, or when walking up and down stairs, the supporting wheel leg and the swinging wheel leg are switched, etc., there are corresponding fourth accelerations.
[0334] The reference position of the swing wheel in the operating space is planned by spline curve interpolation method speed acceleration Based on the observation results of the IMU sensor, joint angle and angular velocity information, the actual position of the swing wheel is calculated according to forward kinematics speed By constructing the PD feedback controller corresponding to the swing wheel task, the expected acceleration of the swing wheel can be calculated: that is, the third acceleration The PD feedback controller calculates the third acceleration The formula is as follows:
[0335] 5. Task acceleration corresponding to the center of mass task Method for determining .
[0336] Optionally, a reference position of the center of mass along the forward direction is planned using a heuristic or model-based approach speed During the motion of a wheel-legged robot, the robot's execution center of mass must not only continuously move in the forward direction but also remain within the range within which the robot maintains dynamic equilibrium. Based on this, a method for determining the expected acceleration of the center of mass (i.e., the task acceleration) was designed. Assuming the mass of the wheel-legged robot is concentrated at its center of mass, the center of the line connecting at least two supporting wheels is set as the virtual contact point between the inverted pendulum and the contact surface relative to the center of mass. The center of mass and the virtual contact point are connected to construct an inverted pendulum model of the center of mass.
[0337] FIG14 is a schematic diagram of a mass-center related inverted pendulum provided by an exemplary embodiment of the present application.
[0338] The center of mass of the wheel-legged robot is 1410, and the virtual contact point is 1420. Based on the inverted pendulum model related to the center of mass, the dynamic equation related to the center of mass is determined:
[0339] Using the linear quadratic programming regulator, determine the feedback gain matrix K. Based on the LQR controller, the input of the state equation can be obtained:
[0340] in, represents the actual state variable group, Represents the actual state variable group. For other parameters, please refer to the above introduction and will not be repeated here.
[0341] In some embodiments, the balance control method provided in the present application is continuously executed during the movement of the wheel-legged robot, that is, the robust controller continuously executes the process of obtaining the state quantity at the current moment, determining the dynamic model parameters based on the state quantity at the current moment, establishing the sliding surface, and determining the rotational torque of n rotational joints based on the dynamic model parameters and the sliding surface control.
[0342] In other embodiments, when the IMU sensor detects a dramatic change in the deflection angle of certain links in a wheel-legged robot, the robust controller executes the balance control method starting from step 1310. For example, at a certain moment, if the IMU sensor detects that the deflection angle change of the first link is greater than an angle threshold, the IMU sensor sends its detected state parameters to the robust controller, and the robust controller begins a balance adjustment process. The angle threshold is preset.
[0343] In other embodiments, when the moving wheel does not receive the control signal from the controller and the motor encoder detects that the moving wheel moves, the robust controller starts to execute the balancing control method starting from step 1310 .
[0344] Through this method, the balance control of the wheel-legged robot is intermittently implemented through the robust controller, which helps to save the energy consumption of the wheel-legged robot without greatly affecting the balance control effect, and at the same time improves the wheel-legged robot's ability to resist external interference.
[0345] The following is another example to introduce the balance control method.
[0346] In the balancing control process, step A10: the robust controller obtains the first moment t i The actual state quantity.
[0347] Step A20: Based on the actual state quantity at the first moment, obtain the equivalent state quantity at the first moment. Optionally, this step is implemented by the following sub-steps: superimposing the angular velocities of at least two moving wheels with the angular velocities of at least two moving wheels in the actual state quantity to obtain the angular velocity of the wheels; determining the geometric relationship between the at least two leg mechanisms based on the lengths and deflection angles of the at least two leg mechanisms; determining the deflection angle and angular velocity of the first connecting rod based on the geometric relationship, the deflection angles of the at least two leg mechanisms, and the angular velocities of the at least two leg mechanisms; using the deflection angles of n-1 connecting rods in the actual state quantity as the deflection angles of n-1 connecting rods in the equivalent state quantity; and using the angular velocities of n-1 connecting rods in the actual state quantity as the angular velocity of the n-1 connecting rods in the equivalent state quantity.
[0348] Step A30: The robust controller calculates the rotational torque at the second moment according to the dynamic equation and the sliding surface. The rotational torque at the second moment includes: the rotational torque of the n rotational joints.
[0349] Step A40: Calculate the force and torque instructions of the joints of the whole body according to the rotational torque at the second moment.
[0350] Optionally, this step includes the following sub-steps: the robust controller sends the rotational torque of the n rotational joints to the observation module, and the observation module determines the task acceleration based on the rotational torque of the n rotational joints; the observation module sends the task acceleration to the whole-body dynamics controller, and the whole-body dynamics controller determines the force and torque instructions of the whole-body joints based on the task acceleration, and the whole-body dynamics controller sends corresponding force and torque instructions to each joint motor.
[0351] Step A50: At the second moment, the whole-body dynamics controller controls the n-1 revolute joints and the first revolute joint according to the force and torque instructions of the whole-body joints.
[0352] Step A60: At the second time t i+1 The wheel-legged robot controls the movement of motors corresponding to the joints of the whole body according to the force and torque instructions, and adjusts the posture of the wheel-legged robot.
[0353] Before the balance control process is completed, the above steps A10 to A60 are repeatedly executed.
[0354] It should be noted that the various formulas used in this example are all formulas that appear in the above embodiments. For explanations of the parameters in these formulas, please refer to the above embodiments and will not be repeated here.
[0355] By abstracting the wheel-legged robot into a second-order inverted pendulum model, calculating the rotational torque of n rotational joints, and determining the task acceleration of the wheel-legged robot based on the rotational torque of the n rotational joints, the input of the whole-body dynamics controller in the balance control process is obtained, so that the whole-body dynamics controller can calculate the force and torque instructions of the whole-body joints, so that each mechanism in the wheel-legged robot can participate in the balance control process, further enriching the posture of the wheel-legged robot in the balance control process, and helping to improve the robustness of the balance control method.
[0356] The following takes n equal to 2 as an example to introduce some steps in the balance control method.
[0357] First, we introduce the method for determining the parameters of the dynamic model. When n is equal to 2, after abstracting the wheel-legged robot into a second-order inverted pendulum model, the dynamic equation used in the balance control process is derived based on the Euler-Lagrange equation. This dynamic equation is expressed as:
[0358] Optionally, the dynamic model parameters are determined by derivation based on a second-order inverted pendulum model used for balance control; the dynamic model parameters include: a proportional parameter matrix and an offset parameter matrix.
[0359] In the design process of the robust controller, the dynamic equation is partially linearized to obtain formula a:
[0360] M -1 (α, β) is the inverse matrix of the inertia matrix, M -1 (α, β)*M(α, β)=E(identity matrix), other parameters are as above.
[0361] Formula a is processed so that the rotational torque τ1 of the first revolute joint and the rotational torque τ2 of the second revolute joint are unified in formula a. Formula a is processed using the selection matrix to obtain formula b:
[0362] in, That is the offset parameter matrix f[], That is the scale parameter matrix g[], S Tis the transposed matrix of matrix S, S T The matrix is a 3*2 selection matrix, for example, S T The matrix is specifically
[0363] Formula b can be pre-designed after the wheel-legged robot is abstracted into a second-order inverted pendulum model. During the implementation of the balance control method, after the robust controller obtains the state quantity at the first moment, it substitutes the state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment; and according to the inertia matrix, deflection force matrix and gravity matrix, the dynamic model parameters are determined.
[0364] The robust controller uses a selection matrix to process the product of the inverse inertia matrix with the deflection force matrix, and the product of the inverse inertia matrix with the gravity matrix, respectively, to obtain an offset parameter matrix. The selection matrix is used to extract the rotational torque of the first joint and the rotational torque of the second joint from the dynamic equation. The robust controller also uses the selection matrix to process the inverse inertia matrix to obtain a scale parameter matrix. For details about this process, please refer to the above embodiment and will not be repeated here.
[0365] The following introduces the method of establishing the sliding surface under the second-order inverted pendulum model.
[0366] The robust controller establishes a sliding surface based on the equivalent state quantity at the first moment, and the state quantity of the wheel-legged robot gradually approaches 0 on the sliding surface.
[0367] When n is equal to 2, it is necessary to determine the rotational torque of the first rotational joint and the rotational torque of the second rotational joint, and the robust controller is required to establish two sliding surfaces. The two sliding surfaces include: 1. The sliding surface of the first rotational joint. That is, the state quantity related to the first rotational joint gradually tends to 0 on the sliding surface; 2. The sliding surface of the second rotational joint. That is, the state quantity related to the second rotational joint gradually tends to 0 on the sliding surface. Optionally, the first sliding surface is different from the second sliding surface. The purpose of setting the first sliding surface and the second sliding surface is to calculate the rotational torque of the first rotational joint and the rotational torque of the second rotational joint. The first sliding surface and the second sliding surface jointly participate in the calculation process of the rotational torque of the first rotational joint and the second rotational joint. The definition of the first sliding surface is not limited to the sliding surface corresponding to the first rotational joint. Similarly, the definition of the second sliding surface is not limited to the sliding surface corresponding to the second rotational joint. The first sliding surface and the second sliding surface are defined according to actual needs and are not limited here.
[0368] From the introduction of the n-order inverted pendulum model above, we can see that in order to ensure the calculation of a certain torque, the establishment of the sliding surface requires at least 3 state parameters and at least 2 sliding parameters in the state quantity; among them, the equivalent state quantity is written as but These are all state parameters.
[0369] The robust controller determines at least four sliding mode parameters, and the sliding mode parameters are used to constrain the rotational torque of the first joint and the rotational torque of the second joint to meet the system stability conditions of the wheel-legged robot.
[0370] Optionally, different sliding surfaces are established using different state parameters and sliding parameters. For example, establishing a first sliding surface requires at least the deflection angle of the leg mechanism, the angular velocity of the moving wheel, and the angular velocity of the leg mechanism in the equivalent state quantities; establishing a second sliding surface requires at least the deflection angle of the trunk mechanism, the angular velocity of the moving wheel, and the angular velocity of the trunk mechanism in the state quantities at the first moment; in this case, the at least two sliding parameters included in the first sliding surface are: the sliding parameter corresponding to the deflection angle of the leg mechanism, and the sliding parameter corresponding to the angular velocity of the moving wheel. The at least two sliding parameters included in the second sliding surface are: the sliding parameter corresponding to the deflection angle of the trunk mechanism, and the sliding parameter corresponding to the angular velocity of the moving wheel.
[0371] The robust controller establishes a first sliding surface and a second sliding surface based on the equivalent state quantity at the first moment and at least four sliding parameters. Optionally, the robust controller establishes the first sliding surface based on the first sliding parameter, the second sliding parameter, the deflection angle of the leg mechanism, the angular velocity of the moving wheel and the angular velocity of the leg mechanism; and establishes the second sliding surface based on the third sliding parameter, the fourth sliding parameter, the deflection angle of the trunk mechanism, the angular velocity of the trunk mechanism and the angular acceleration of the leg mechanism. Exemplarily, the robust controller processes the deflection angle of the leg mechanism through the first sliding parameter to obtain a processing result of the leg mechanism (equivalent to the first processing result mentioned above); processes the angular velocity of the moving wheel through the second sliding parameter to obtain a processing result of the moving wheel (equivalent to the second processing result mentioned above), and the robust controller determines the first sliding surface based on the processing result of the leg mechanism, the processing result of the moving wheel and the angular velocity of the leg mechanism. Optionally, the first sliding surface is proportional to the processing result of the leg mechanism, the first sliding surface is proportional to the processing result of the moving wheel, and the first sliding surface is proportional to the angular velocity of the leg mechanism. For example, the first sliding surface is obtained by adding the processing result of the leg mechanism, the processing result of the moving wheel, and the angular velocity of the leg mechanism.
[0372] Exemplarily, the robust controller processes the deflection angle of the trunk mechanism through the third sliding mode parameter to obtain the processing result of the trunk mechanism (equivalent to the first processing result mentioned above); processes the angular velocity of the moving wheel through the fourth sliding mode parameter to obtain the processing result of the moving wheel (equivalent to the second processing result mentioned above); the robust controller determines the second sliding mode surface based on the processing result of the trunk mechanism, the processing result of the moving wheel, and the angular velocity of the trunk mechanism. Optionally, the second sliding mode surface is proportional to the processing result of the trunk mechanism, the second sliding mode surface is proportional to the processing result of the moving wheel, and the second sliding mode surface is proportional to the angular velocity of the leg mechanism. 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 mode surface.
[0373] In some embodiments, during the balancing control process, the robust controller establishes a first sliding mode surface s1 and a second sliding mode surface s2 according to the following two formulas: s1 = λ1ξ1 + λ2ξ3 + ξ4; s2 = λ3ξ2 + λ4ν3 + ξ5; wherein λ1 represents the first sliding mode parameter, λ2 represents the second sliding mode parameter, λ3 represents the third sliding mode parameter, λ4 represents the fourth sliding mode parameter, and ξ1 represents the equivalent state quantity The first element α, ν2 in represents the equivalent state quantity The second element β,ν3 in represents the equivalent state quantity The third element in ν4 represents the equivalent state quantity The fourth element in ν5 represents the equivalent state quantity The fifth element in
[0374] By establishing the first sliding surface and the second sliding surface in this way and controlling the number of sliding parameters in the first sliding surface and the second sliding surface, the rotational torque of the first joint and the rotational torque of the second joint that meet the system stability principle can be determined with a smaller computational overhead, which helps to improve the speed of determining the rotational torque and achieve balance control of the robot.
[0375] The following describes a method for determining the rotational torque. The robust controller calculates the rotational torque of the first and second rotational joints based on the sliding surface and dynamic model parameters. After determining the first and second sliding surfaces, the robust controller calculates the first-order derivative formula of the first sliding surface s1 with respect to time and the first-order derivative function formula of the second sliding surface s2 with respect to time:
[0376] in, represents the first-order derivative of the first sliding surface s1 with respect to time, represents the first-order derivative of the second sliding surface s2 with respect to time, f k (k∈(1, 2, 3)) is the element in the offset parameter matrix f[] in formula 2 above, g mn (m∈(1, 2, 3), n∈(1, 2, 3)) are the elements in the scale parameter matrix g[] in formula 2 above.
[0377] Arrange the first-order derivative formula of the first sliding surface s1 with respect to time and the first-order derivative formula of the second sliding surface s2 with respect to time into a matrix form, and obtain formula c:
[0378] By shifting the terms in formula c, we get formula d:
[0379] in, g s -1 g s The inverse matrix of , sgn() is the sign function,
[0380] Formula d can be further written as formula e:
[0381] That is, when n = 2 in the n-order inverted pendulum model, Formula 4 above is implemented as Formula d, and Formula 5 is implemented as Formula e. In the method for balancing control based on the second-order inverted pendulum model, the calculation process of the rotational torque of the first revolute joint and the rotational torque of the second revolute joint requires the use of Formula d and Formula e.
[0382] Optionally, the robust controller needs to consider the system stability condition during the calculation of the torque. For a method of satisfying the system stability condition during the balance control process of the second-order inverted pendulum model, please refer to the following embodiment.
[0383] In summary, based on the abstraction of the wheel-legged robot into a second-order inverted pendulum model, during the balance control process, the angle between the moving wheel and the leg mechanism can be adjusted, as well as the angle between the trunk mechanism and the leg mechanism can be adaptively adjusted; the robot's posture during the balance adjustment process is enriched, making the robot's posture change more flexible, which helps to quickly adjust the robot to a balanced state, improve the robot's ability to return to a balanced state under different disturbance forces, and improve the robustness of the robot's balance control process.
[0384] The following describes a method for satisfying the system stability criterion in the process of calculating the rotational torque of the first rotational joint and the rotational torque of the second rotational joint through an embodiment.
[0385] From the definition and properties of the sliding surface, it can be seen that the state parameters on the sliding surface satisfy: s1=λ1ν1+λ2ξ3+ξ4=0 s2=λ3ξ2+λ4ξ3+ξ5=0
[0386] Through the above two formulas, we can express ξ4 and ξ5 inversely: ξ4=-λ1ξ1-λ2ξ3 ξ5=-λ3ξ2-λ4ξ3
[0387] Then the first-order derivative of ξ4 with respect to time is The first derivative of ξ5 with respect to time Expressed as:
[0388] Since ξ4 represents ξ1 represents α, ξ5 represents ξ2 represents β; therefore, ξ1, ξ2 are expressed by the following formulas:
[0389] Review the dynamic equation of the second-order inverted pendulum model in polynomial form mentioned above:
[0390] By adding the three formulas included in the polynomial form of the dynamic equation, we can get the formula f:
[0391] Replace the formula f Make substitutions and get formula g:
[0392] Arrange formula g to get formula h:
[0393] The inverse expression is expressed by the formula h get:
[0394] Jointly include The three formulas give Equation 1:
[0395] Due to space constraints, Eq. The representation on the right side of the equation is somewhat distorted. The “[]” represents an algebraic expression, not a matrix or other meaning. Please refer to the above equation group 1. Representation to understand Equation 1 The way of expressing.
[0396] Optionally, the equation group 1 is written as a state equation about the state variables (ξ1,ξ2,ξ3). Optionally, the state equation refers to an equation related to the state quantity. If a1 is used to represent m1 represents m2 represents m3 represents The state equation can be written as:
[0397] Optionally, the system stability criterion refers to that the characteristic roots of the coefficient matrix in the state equation determined according to the sliding surface and the dynamic equation are negative, that is, the characteristic roots are distributed in the left half plane of the phase plane.
[0398] In order to ensure that the system meets the stability criterion, the coefficient matrix needs to be satisfied The characteristic roots of are all distributed in the left half plane of the complex plane. This state equation can be used as a matrix inequality constraint, that is, the value of the sliding mode parameter needs to make the characteristic roots of the coefficient matrix negative.
[0399] Optionally, in the balancing control process of the present application, the robust controller determines the rotational torque of the first joint and the rotational torque of the second joint according to formula d and equation group 1. In the balancing control process, the robust controller calculates the rotational torque τ1 of the first joint and the rotational torque τ2 of the second joint according to formula d. Formula d involves the sliding surface s1, the second sliding surface s2, the dynamic model parameters and the sliding parameters in formula 2; the state quantity at the first moment is obtained from the sensor, and the state quantity at the first moment is substituted into the corresponding formula to determine the sliding surface s1, the second sliding surface s2 and the dynamic model parameters, and find the sliding parameters that meet the system stability conditions; the rotational torque τ1 of the first joint and the rotational torque τ2 of the second joint are calculated by formula d, and it is ensured that the sliding parameters meet the matrix inequality constraints formed by the above state equations.
[0400] Exemplarily, the robust controller first determines four sliding mode parameters that satisfy the matrix inequality constraints, and then constructs the first sliding surface and the second sliding surface through the sliding mode parameters, or first selects any four sliding mode parameters within a certain numerical range, uses the four sliding mode parameters to construct the first sliding surface and the second sliding surface, and calculates the rotational torque τ1 of the first joint and the rotational torque τ2 of the second joint through formula d, and then verifies whether the four sliding mode parameters satisfy the above-mentioned matrix inequality constraints.
[0401] Optionally, when the four sliding mode parameters satisfy the above-mentioned matrix inequality constraints, the determined rotational torque τ1 of the first joint and the rotational torque τ2 of the second joint are available torques, that is, they are effective for the balance control process; when the four sliding mode parameters do not satisfy the above-mentioned matrix inequality constraints, the determined rotational torque τ1 of the first joint and the rotational torque τ2 of the second joint cannot be used.
[0402] The following describes a method for determining sliding mode parameters through several embodiments.
[0403] In some embodiments, determining at least four sliding mode parameters includes: a computer device determining a first sliding mode parameter from a first prediction parameter set, determining a second sliding mode parameter from a second prediction parameter set, determining a third sliding mode parameter from a third prediction parameter set, and determining a fourth sliding mode parameter from a fourth prediction parameter set; wherein the sliding mode parameters respectively included in the first prediction parameter set, the second prediction parameter set, the third prediction parameter set, and the fourth prediction parameter set satisfy the constraints of the stability criterion.
[0404] In this embodiment, after determining the state at the first moment, the robust controller first uses the above-mentioned state equation as a matrix inequality constraint to determine the solution sets corresponding to λ1, λ2, λ3, and λ4, namely, the first prediction parameter set, the second prediction parameter set, the third prediction parameter set, and the fourth prediction parameter set. The robust controller then selects the first sliding mode parameter, the second sliding mode parameter, the third sliding mode parameter, and the fourth sliding mode parameter from each parameter set, and establishes the first sliding mode surface and the second sliding mode surface using the first sliding mode parameter, the second sliding mode parameter, the third sliding mode parameter, and the fourth sliding mode parameter and the state quantity at the first moment. Furthermore, the rotational torque of the first joint and the rotational torque of the second joint are calculated according to the above formula d. Optionally, the process of determining any one of the four prediction parameter sets is as follows: calculating the characteristic roots of the coefficient matrix, and all the characteristic roots corresponding to the coefficient matrix are used as the prediction parameter set.
[0405] This method can avoid selecting sliding mode parameters that do not satisfy the stability of the system, resulting in the rotational torque corresponding to the first joint and the rotational torque corresponding to the second joint calculated using these sliding mode parameters being unable to control the balance of the wheel-legged robot, avoiding invalid calculations by computer equipment, and helping to shorten the time required to determine the rotational torque corresponding to the first joint and the rotational torque corresponding to the second joint.
[0406] Next, the robustness of the balance control of a wheel-legged robot using the balance control method provided in this embodiment is experimentally verified. As shown in Figure 15 , the wheel-legged robot has four moving wheels and four leg mechanisms. When the wheel-legged robot is in a four-wheeled motion state, the four moving wheels are divided into two forward moving wheels and two backward moving wheels, and the four leg mechanisms are divided into two forward leg mechanisms and two backward leg mechanisms. Balance control during four-wheel motion: During a certain posture adjustment of the wheel-legged robot, after the robust controller determines the rotational torques of n revolving joints, a task acceleration is calculated based on the rotational torques of the n revolving joints. This task acceleration is input into the whole-body dynamics controller to obtain force and torque commands for the whole-body joints output by the whole-body dynamics controller. The whole-body joints of the wheel-legged robot are driven using the force and torque commands of the whole-body joints. Optionally, the joint angles between the n mechanisms can be changed, the lengths of the forward and backward leg mechanisms can be changed, and the speeds of the forward and backward wheels can be different. During the balance control process, the distance between the forward and backward moving wheels, that is, the size of the supporting footprint, is changed until the front and rear moving wheels allow the four wheels to move to a collinear position, and the wheel-legged robot changes to a state close to two-wheel balance.
[0407] The following is an embodiment of the device of the present application, which is used to implement an embodiment of the method of the present application. Please refer to Figure 16, which shows a block diagram of a balance control device for a wheel-legged robot provided by an embodiment of the present application. The device has the function of implementing the balance control method of the wheel-legged robot described above, and the function can be implemented by hardware or by hardware executing corresponding software. The device can be the computer device described above, or it can be set in a computer device. The wheel-legged robot is simplified to an n-order inverted pendulum model, which includes: wheels, n connecting rods and n rotational joints, the wheels and the first connecting rod of the n connecting rods are connected through the first rotational joint of the n rotational joints, the n connecting rods are connected in series through n-1 rotational joints other than the first rotational joint, the first connecting rod is an equivalent connecting rod corresponding to at least two leg mechanisms of the wheel-legged robot, the wheels are equivalent moving wheels corresponding to the moving wheels respectively connected to the at least two leg mechanisms, and n is a positive integer greater than or equal to 2; the wheel-legged robot includes: moving wheels, n connecting rods and n rotational joints, the moving wheels and the first connecting rod of the n connecting rods are connected through the first rotational joint of the n rotational joints, the n connecting rods are connected in series through n-1 rotational joints other than the first rotational joint, and n is a positive integer greater than or equal to 3;
[0408] As shown in FIG. 16 , the device 1600 at least includes: a state quantity acquisition module 1610 , a state quantity processing module 1620 , a sliding surface establishment module 1630 , an instruction determination module 1640 and a joint control module 1650 .
[0409] The state quantity acquisition module 1610 is used to obtain the actual state quantity of the wheel-legged robot at the first moment, and the actual state quantity is used to characterize the motion state of the n-1 links, the at least two leg mechanisms and the at least two moving wheels. The n-1 links are the other links among the n links except the first link.
[0410] The state quantity processing module 1620 is configured to calculate an equivalent state quantity at the first moment based on the actual state quantity at the first moment, where the equivalent state quantity is used to characterize the motion state of the n connecting rods and the wheel.
[0411] The sliding surface establishing module 1630 is configured to establish a sliding surface according to the equivalent state quantity at the first moment, wherein the equivalent state quantity gradually approaches 0 on the sliding surface.
[0412] The instruction determination module 1640 is used to determine the force and torque instructions about the whole-body joints of the wheel-legged robot based on the sliding surface, the equivalent state quantity at the first moment and the dynamic equation of the wheel-legged robot, the whole-body joints including the n rotational joints, and the dynamic equation is established based on the n-order inverted pendulum model.
[0413] The joint control module 1650 is used to control the n rotational joints respectively according to the force and torque instructions of the whole body joints at the second moment so as to adjust the balance state of the wheel-legged robot. The second moment is located after the first moment.
[0414] In some embodiments, the equivalent state quantity includes: the deflection velocity of the n links, the angular velocity of the n links and the angular velocity of the wheel; the state quantity processing module 1620 is used to superimpose the angular velocity of the at least two moving wheels on the angular velocity of the at least two moving wheels in the actual state quantity to obtain the angular velocity of the wheel; determine the geometric relationship between the at least two leg mechanisms based on the length and deflection angle of the at least two leg mechanisms; determine the deflection angle and the angular velocity of the first link based on the geometric relationship, the deflection angle of the at least two leg mechanisms and the angular velocity of the at least two leg mechanisms; use the deflection angle of the n-1 links in the actual state quantity as the deflection angle of the n-1 links in the equivalent state quantity; use the angular velocity of the n-1 links in the actual state quantity as the angular velocity of the n-1 links in the equivalent state quantity.
[0415] In some embodiments, the instruction determination module 1640 includes: a torque determination unit, used to calculate the rotational torque at the second moment based on the dynamic equation, the equivalent state quantity at the first moment and the sliding surface, the rotational torque at the second moment including: the rotational torque of the n rotational joints, for each of the n rotational joints, the rotational torque of the rotational joint is used to adjust the angle between the two connecting rods connected by the rotational joint; an instruction calculation unit, used to calculate the force and torque instructions of the whole body joints based on the rotational torque at the second moment.
[0416] In some embodiments, the torque determination unit includes: a first speed subunit, used to determine the angular acceleration of the wheel-legged robot at the second moment based on the dynamic equation and the rotational torque at the second moment, the angular acceleration at the second moment including the angular acceleration of the n connecting rods at the second moment; a second speed subunit, used to determine the task acceleration of the wheel-legged robot at the second moment based on the angular acceleration at the second moment, the task acceleration is related to the acceleration of the center of mass of the wheel-legged robot; an instruction calculation subunit, used to calculate the force and torque instructions of the whole body joints based on the task acceleration.
[0417] In some embodiments, the second speed subunit is used to determine the expected incremental position and expected incremental speed of the center of mass of the wheel-legged robot at the second moment based on the equivalent state quantity at the first moment and the angular acceleration at the second moment. The expected incremental position is used to characterize the distance between the projection point of the center of mass of the wheel-legged robot on the contact surface and the virtual contact point in the first direction. The expected incremental speed is used to characterize the changing speed of the distance in the first direction. The virtual contact point refers to the center of each contact point between the wheel-legged robot and the contact surface. The first direction is used to characterize the forward direction of the wheel-legged robot during the movement; based on the expected incremental position and the expected incremental speed, the task acceleration of the wheel-legged robot at the second moment is determined.
[0418] In some embodiments, the torque determination unit includes: a parameter determination subunit, used to determine the dynamic model parameters based on the dynamic equation and the equivalent state quantity at the first moment, and the dynamic model parameters are used to define the mapping relationship between the angular acceleration at the first moment and the torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of the n connecting rods; the torque determination subunit, used to calculate the torque at the second moment based on the dynamic parameters and the sliding surface.
[0419] In some embodiments, the parameter determination subunit is used to substitute the equivalent state quantity at the first moment into the dynamic equation to determine the inertia matrix, deflection force matrix and gravity matrix at the first moment, the inertia matrix is used to characterize the mass and rotational inertia of the n rotating joints at the first moment, the deflection force matrix is used to characterize the deflection force of the wheel-legged robot at the first moment, and the gravity matrix is used to characterize the gravity of the wheel-legged robot at the first moment; the dynamic model parameters are determined based on the inertia matrix, the deflection force matrix and the gravity matrix.
[0420] In some embodiments, the dynamic model parameters include: a proportional parameter matrix and an offset parameter matrix, the proportional parameter matrix is used to characterize the proportional relationship between the angular acceleration at the first moment and the rotational torque at the second moment, and the offset parameter matrix is used to characterize the offset relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the parameter determination subunit is used to use a selection matrix to process the product of the inverse matrix of the inertia matrix and the deflection force matrix, and the product of the inverse matrix of the inertia matrix and the gravity matrix, respectively, to obtain the offset parameter matrix, and the selection matrix is used to extract the rotational torque of the n rotational joints from the dynamic equation; the inverse matrix of the inertia matrix is processed using the selection matrix to obtain the proportional parameter matrix.
[0421] In some embodiments, the number of the sliding surfaces is n, and the n sliding surfaces are used to constrain the rotational torque of the n rotational joints, n is a positive integer, and the sliding surface establishment module 1630 includes: a sliding mode determination unit, used to determine at least two sliding mode parameters for the i-th sliding surface among the n sliding surfaces, i is a positive integer less than or equal to n; and a sliding mode establishment unit, used to establish the i-th sliding surface based on the at least two sliding mode parameters and the equivalent state quantity at the first moment.
[0422] In some embodiments, the sliding mode determination unit is used to determine a first sliding mode parameter among the at least two sliding mode parameters from a 2i-1th prediction parameter set, and to determine a second sliding mode parameter among the at least two sliding mode parameters from a 2i-th prediction parameter set; wherein the sliding mode parameters respectively included in the 2i-1th prediction parameter set and the 2i-th prediction parameter set satisfy the constraints of the stability criterion.
[0423] In some embodiments, the equivalent state quantity includes: the deflection angles of the n links, the angular velocities of the n links and the angular velocity of the wheel; the sliding mode establishment unit is used to determine a first processing result related to the deflection angle of the i-th link based on a first sliding mode parameter among the at least two sliding mode parameters; determine a second processing result related to the angular velocity of the wheel based on a second sliding mode parameter among the at least two sliding mode parameters; and establish the i-th sliding mode surface based on the first processing result, the second processing result and the angular velocity of the i-th link.
[0424] In some embodiments, the force and torque instructions for the whole-body joints are further used to change the effective lengths of the at least two leg structures. The apparatus 1600 further includes a motor control unit configured to control the linear motors in the at least two leg structures to extend or contract based on the force and torque instructions for the whole-body joints, whereby the linear motors in the leg structures control the lengths of the leg structures. In some embodiments, the virtual contact point of the wheel on the contact surface is located between the contact points of the at least two moving wheels on the contact surface.
[0425] It should be noted that the apparatus provided in the above embodiments, when implementing its functions, is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the content structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0426] Please refer to Figure 17, which shows a block diagram of a computer device 1700 provided in one embodiment of the present application. The computer device 1700 can be any electronic device with data calculation, processing, and storage functions. The computer device 1700 can be used to implement the balance control method for the wheel-legged robot provided in the above-mentioned embodiment. Generally, the computer device 1700 includes: a processor 1701 and a memory 1702. The processor 1701 can include one or more processing cores, such as a quad-core processor or an octal-core processor. The processor 1701 can be implemented in at least one hardware form selected from the group consisting of a DSP (Digital Signal Processing), an FPGA (Field Programmable Gate Array), and a PLA (Programmable Logic Array). The processor 1701 can also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 1701 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content that needs to be displayed on the display screen. In some embodiments, the processor 1701 may also include an AI processor, which is used to process computing operations related to machine learning. The memory 1702 may include one or more computer-readable storage media, which may be non-transitory. The memory 1702 also includes high-speed random access memory, non-volatile memory, etc. For example, a limited number of disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1702 is used to store a computer program, and the computer program is configured to be executed by one or more processors to implement the above-mentioned balance control method of the wheel-legged robot.
[0427] Those skilled in the art will appreciate that the structure shown in FIG17 does not limit the computer device 1700 and may include more or fewer components than shown, or combine certain components, or adopt a different component arrangement.
[0428] In one exemplary embodiment, a computer-readable storage medium is also provided, storing a computer program that, when executed by a processor of a computer device, implements the above-described balance control method for a wheel-legged robot. Alternatively, the computer-readable storage medium may be a ROM (Read-Only Memory), a RAM (Random Access Memory), a CD-ROM (Compact Disc Read-Only Memory), a magnetic tape, a floppy disk, or an optical data storage device.
[0429] In one exemplary embodiment, a computer program product is also provided, comprising a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the above-described balance control method for a wheel-legged robot.
[0430] It should be understood that the "multiple" mentioned in this article refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent three situations: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship. In addition, the step numbers described in this article only illustrate a possible execution sequence between the steps. In some other embodiments, the above steps may not be executed in the order of the numbers, such as two steps with different numbers are executed at the same time, or two steps with different numbers are executed in the opposite order to the diagram. The embodiments of the present application do not limit this.
[0431] The above description is merely an exemplary embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A balance control method for a wheel-legged robot, the method being executed by a computer device, wherein the wheel-legged robot is simplified to an n-order inverted pendulum model, and the n-order inverted pendulum model comprises: A wheel, n connecting rods and n revolute joints, wherein the wheel and a first connecting rod among the n connecting rods are connected through a first revolute joint among the n revolute joints, the n connecting rods are connected in series through n-1 revolute joints other than the first revolute joint, the first connecting rod is an equivalent connecting rod corresponding to at least two leg mechanisms of the wheel-legged robot, the wheel is an equivalent moving wheel corresponding to the moving wheels respectively connected to the at least two leg mechanisms, and n is a positive integer greater than or equal to 2; the method comprises: Acquire an actual state quantity of the wheel-legged robot at a first moment, wherein the actual state quantity is used to characterize the motion state of n-1 connecting rods, the at least two leg mechanisms and the at least two moving wheels, wherein the n-1 connecting rods are other connecting rods among the n connecting rods except the first connecting rod; Based on the actual state quantity at the first moment, calculating the equivalent state quantity at the first moment, the equivalent state quantity is used to characterize the motion state of the n connecting rods and the wheel; According to the equivalent state quantity at the first moment, a sliding surface is established, wherein the equivalent state quantity gradually tends to 0 on the sliding surface; Determine force and torque instructions for whole-body joints of the wheel-legged robot according to the sliding surface, the equivalent state quantity at the first moment and the dynamic equation of the wheel-legged robot, wherein the whole-body joints include the n revolute joints, and the dynamic equation is established based on the n-th order inverted pendulum model; At the second moment, according to the force and torque instructions of the whole body joints, the n-1 rotational joints and the real rotational joints corresponding to the first rotational joints are controlled respectively to adjust the balance state of the wheel-legged robot, and the second moment is located after the first moment.
2. The method according to claim 1, wherein: The equivalent state quantities include: the deflection angles of the n connecting rods, the angular velocities of the n connecting rods and the angular velocities of the wheels; The calculating, based on the actual state quantity at the first moment, to obtain the equivalent state quantity at the first moment comprises: For the angular velocities of the at least two moving wheels included in the actual state quantity, superimpose the angular velocities of the at least two moving wheels to obtain the angular velocities of the wheels; Determining a geometric relationship between the at least two leg mechanisms according to the lengths and deflection angles of the at least two leg mechanisms; Determining a deflection angle of the first connecting rod and an angular velocity of the first connecting rod according to the geometric relationship, the deflection angles of the at least two leg mechanisms, and the angular velocity of the at least two leg mechanisms; Using the deflection angles of the n-1 connecting rods in the actual state quantity as the deflection angles of the n-1 connecting rods in the equivalent state quantity; The angular velocities of the n-1 connecting rods in the actual state quantity are used as the angular velocities of the n-1 connecting rods in the equivalent state quantity.
3. The method according to claim 1 or 2, wherein: The step of determining force and torque instructions for whole body joints of the wheel-legged robot according to the sliding surface, the equivalent state quantity at the first moment and the dynamic equation of the wheel-legged robot comprises: Calculating the rotational torque at the second moment according to the dynamic equation, the equivalent state quantity at the first moment and the sliding surface, wherein the rotational torque at the second moment includes: the rotational torque of the n rotational joints, and for each of the n rotational joints, the rotational torque of the rotational joint is used to adjust the angle between two connecting rods connected by the rotational joint; The force and torque instructions of the joints of the whole body are calculated according to the rotational torque at the second moment.
4. The method according to claim 3, wherein: The step of calculating the force and torque instructions of the joints of the whole body according to the rotational torque at the second moment comprises: According to the dynamic equation and the rotational torque at the second moment, determine the wheel-legged robot at the second moment The angular acceleration at the second moment includes the angular accelerations of the n connecting rods at the second moment; Determine, according to the angular acceleration at the second moment, a task acceleration of the wheel-legged robot at the second moment, wherein the task acceleration is related to the acceleration of the center of mass of the wheel-legged robot; The force and torque instructions of the joints of the whole body are calculated according to the task acceleration.
5. The method according to claim 4, wherein: Determining the task acceleration of the wheel-legged robot at the second moment according to the angular acceleration at the second moment includes: According to the equivalent state quantity at the first moment and the angular acceleration at the second moment, determine the expected incremental position and expected incremental speed of the center of mass of the wheel-legged robot at the second moment, the expected incremental position is used to characterize the distance in the first direction between the projection point of the center of mass of the wheel-legged robot on the contact surface and the virtual contact point, the expected incremental speed is used to characterize the speed of change of the distance in the first direction, the virtual contact point refers to the center of each contact point between the wheel-legged robot and the contact surface, and the first direction is used to characterize the forward direction of the wheel-legged robot during movement; The task acceleration of the wheel-legged robot at the second moment is determined according to the expected incremental position and the expected incremental speed.
6. The method according to any one of claims 3 to 5, wherein: The calculating the rotational torque at the second moment according to the dynamic equation, the equivalent state quantity at the first moment and the sliding surface comprises: Determine a dynamic model parameter according to the dynamic equation and the equivalent state quantity at the first moment, wherein the dynamic model parameter is used to define a mapping relationship between the angular acceleration at the first moment and the rotational torque at the second moment; the angular acceleration at the first moment includes the angular acceleration of the n connecting rods; The rotational torque at the second moment is calculated according to the dynamic parameters and the sliding surface.
7. The method according to claim 6, wherein: Determining the dynamic model parameters according to the dynamic equation of the wheel-legged robot and the equivalent state quantity at the first moment includes: Substituting the equivalent state quantity at the first moment into the dynamic equation, determining the inertia matrix, deflection force matrix and gravity matrix at the first moment, wherein the inertia matrix is used to characterize the mass and moment of inertia of the n revolute joints at the first moment, the deflection force matrix is used to characterize the deflection force of the wheel-legged robot at the first moment, and the gravity matrix is used to characterize the gravity of the wheel-legged robot at the first moment; The dynamic model parameters are determined according to the inertia matrix, the deflection force matrix and the gravity matrix.
8. The method according to claim 7, wherein: The dynamic model parameters include: a proportional parameter matrix and an offset parameter matrix, wherein the proportional parameter matrix is used to characterize the proportional relationship between the angular acceleration at the first moment and the turning moment at the second moment, and the offset parameter matrix is used to characterize the offset relationship between the angular acceleration at the first moment and the turning moment at the second moment; determining the dynamic model parameters according to the inertia matrix, the deflection force matrix and the gravity matrix includes: Using a selection matrix to respectively 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, to obtain the offset parameter matrix, wherein the selection matrix is used to extract the rotational torque of the n revolute joints from the dynamic equation; The inverse matrix of the inertia matrix is processed using the selection matrix to obtain the scale parameter matrix.
9. The method according to any one of claims 1 to 8, wherein: The number of the sliding surfaces is n, and the n sliding surfaces are used to constrain the rotational torque of the n revolute joints, where n is a positive integer; The step of establishing a sliding surface according to the equivalent state quantity at the first moment includes: For an i-th sliding surface among the n sliding surfaces, determining at least two sliding parameters, where i is a positive integer less than or equal to n; The i-th sliding mode surface is established according to the at least two sliding mode parameters and the equivalent state quantity at the first moment.
10. The method according to claim 9, wherein: The step of determining at least two sliding mode parameters for the i-th sliding mode surface among the n sliding mode surfaces comprises: Determining a first sliding mode parameter among the at least two sliding mode parameters from a 2i-1th prediction parameter set, and determining a second sliding mode parameter among the at least two sliding mode parameters from a 2ith prediction parameter set; The sliding mode parameters respectively included in the 2i-1th prediction parameter set and the 2ith prediction parameter set satisfy the constraint conditions of the stability criterion.
11. The method according to claim 9 or 10, wherein: The equivalent state quantities include: the deflection angles of the n connecting rods, the angular velocities of the n connecting rods and the angular velocities of the wheels; and the step of establishing the i-th sliding mode surface according to the at least two sliding mode parameters and the equivalent state quantities at the first moment includes: Determining a first processing result related to a deflection angle of an i-th connecting rod according to a first sliding mode parameter of the at least two sliding mode parameters; Determining a second processing result related to the angular velocity of the wheel according to a second sliding mode parameter of the at least two sliding mode parameters; The i-th sliding surface is established according to the first processing result, the second processing result and the angular velocity of the i-th connecting rod.
12. The method according to any one of claims 1 to 11, wherein: The force and torque instructions of the whole body joints are also used to change the effective lengths of the at least two leg structures, and the method further includes: The linear motors in the at least two leg mechanisms are controlled to extend or contract according to the force and torque instructions of the whole body joints, and the linear motors in the leg mechanisms control the length of the leg mechanisms.
13. The method according to any one of claims 1 to 12, wherein: The virtual contact point of the wheel on the contact surface is between the contact points of the at least two moving wheels on the contact surface.
14. A balance control device for a wheel-legged robot, wherein the wheel-legged robot is simplified to an n-order inverted pendulum model, and the n-order inverted pendulum model comprises: A wheel, n connecting rods and n revolute joints, wherein the wheel and a first connecting rod among the n connecting rods are connected through a first revolute joint among the n revolute joints, the n connecting rods are connected in series through n-1 revolute joints other than the first revolute joint, the first connecting rod is an equivalent connecting rod corresponding to at least two leg mechanisms of the wheel-legged robot, the wheel is an equivalent moving wheel corresponding to the moving wheels respectively connected to the at least two leg mechanisms, and n is a positive integer greater than or equal to 2; the device comprises: a state quantity acquisition module, used for acquiring the actual state quantity of the wheel-legged robot at a first moment, wherein the actual state quantity is used for characterizing the motion state of n-1 connecting rods, the at least two leg mechanisms and the at least two moving wheels, wherein the n-1 connecting rods are the other connecting rods among the n connecting rods except the first connecting rod; a state quantity processing module, used to calculate an equivalent state quantity at the first moment based on the actual state quantity at the first moment, wherein the equivalent state quantity is used to characterize the motion state of the n connecting rods and the wheel; A sliding surface establishing module, used to establish a sliding surface according to the equivalent state quantity at the first moment, wherein the equivalent state quantity gradually tends to 0 on the sliding surface; an instruction determination module, for determining force and torque instructions about whole-body joints of the wheel-legged robot according to the sliding surface, the equivalent state quantity at the first moment and the dynamic equation of the wheel-legged robot, wherein the whole-body joints include the n revolute joints, and the dynamic equation is established based on the n-th order inverted pendulum model; The joint control module is used to control the n rotating joints respectively according to the force and torque instructions of the whole body joints at a second moment so as to adjust the balance state of the wheel-legged robot, and the second moment is located after the first moment.
15. A computer device, comprising a processor and a memory, wherein a computer program is stored in the memory, and the computer program is loaded and executed by the processor to implement the balance control method of the wheel-legged robot according to any one of claims 1 to 13.
16. A computer-readable storage medium, wherein a computer program is stored in the computer-readable storage medium, wherein the computer program is loaded and executed by a processor to implement the balance control method of the wheel-legged robot according to any one of claims 1 to 13.
17. A computer program product, comprising a computer program, wherein the computer program is loaded and executed by a processor to implement the balance control method of the wheel-legged robot according to any one of claims 1 to 13.
Citation Information
Patent Citations
Acrobot model-based diagonal support static balance control method for quadruped robot
CN112147890A
Optimal control method for underwater robot with slip control function
CN113419545A
Biped robot space domain gait planning and control method
CN114248855A
Robot motion control method and device, robot and storage medium
CN114986526A
Two-dimensional stable movement control method for multi-degree-of-freedom wheeled inverted pendulum type robot
CN115291514A
Cited By
Dynamic robust motion control method and system for wheeled biped robot
CN119882455A
Robot fiber placement method
CN120406319A
Omnidirectional movement and obstacle avoidance control device and method for mobile charging robot
CN121680407A