Robot control method and apparatus, chip, computer device, storage medium, and program product

By acquiring robot state information and determining target driving parameters, the mechanical leg assembly of the wheel-legged robot is controlled to swing alternately, solving the problem of inaccurate control and achieving higher motion flexibility and control accuracy.

WO2025246908A1PCT designated stage Publication Date: 2025-12-04TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/094518
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-29
Filing Date
2025-05-13
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

In existing technologies, wheeled-legged robots are prone to inaccurate control during the control process.

Method used

By acquiring the robot's state information at the first control moment, the target driving parameters are obtained based on this state information, and the first and second mechanical leg groups are controlled to swing alternately to achieve stable movement of the robot on the support surface.

Benefits of technology

This improves the robot's mobility and adaptability, ensures smooth and safe movement, and enhances control accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025094518_04122025_PF_FP_ABST
    Figure CN2025094518_04122025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of artificial intelligence, and discloses a robot control method and apparatus, a chip, a computer device, a storage medium, and a program product. The method comprises: acquiring state information of a robot at a first control moment; and on the basis of the state information, obtaining a target driving parameter used for controlling, from the first control moment, a first mechanical leg group and a second mechanical leg group to alternately swing, so that the robot moves on a supporting surface, wherein the target driving parameter corresponds to at least one second control moment after the first control moment.
Need to check novelty before this filing date? Find Prior Art

Description

Robot control methods, devices, chips, computer equipment, storage media, and software products

[0001] Cross-reference of related applications

[0002] This application is based on and claims priority to Chinese Patent Application No. 202410685541.6, filed on May 29, 2024, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of artificial intelligence technology, and in particular to a robot control method, device, chip, computer equipment, storage medium, and program product. Background Technology

[0004] With the development of robot control technology, some organizations and research institutions have successively launched wheeled-legged robots. Wheeled-legged robots can not only glide quickly using their wheels, but also walk, climb stairs, and overcome obstacles using their wheeled gait.

[0005] Taking the gait walking of a wheeled-legged robot as an example, the relevant technology uses offline planning to control the gait walking of the wheeled-legged robot. For example, the relevant technology first plans the reference driving parameters of the robot on the support surface offline, such as the reference driving parameters of the mechanical legs and the reference driving parameters of ZMP (Zero Moment Point). Then, during the control process, the robot's movement is controlled according to the reference driving parameters to perform the gait walking task.

[0006] However, in the process of robot control, the relevant technologies have problems that can easily lead to inaccurate robot control. Summary of the Invention

[0007] This application provides a robot control method, device, chip, computer equipment, storage medium, and program product. The technical solution may include the following:

[0008] According to one aspect of the embodiments of this application, a robot control method is provided, applied to a computer device. The robot includes a body, a first mechanical leg assembly and a second mechanical leg assembly connected to the body via hip joints, wherein a first rotation center of the first hip joint corresponding to the first mechanical leg assembly and a second rotation center of the second hip joint corresponding to the second mechanical leg assembly are located in the same vertical plane; the method includes:

[0009] Obtain the state information of the robot at the first control moment;

[0010] Based on the state information, target driving parameters are obtained for controlling the first mechanical leg group and the second mechanical leg group to swing alternately from the first control moment, so that the robot moves on the support surface. The target driving parameters correspond to at least one second control moment after the first control moment.

[0011] According to one aspect of the embodiments of this application, a robot control device is provided, applied to a computer device. The robot includes a body, a first mechanical leg assembly and a second mechanical leg assembly respectively connected to the body via hip joints. The first rotation center of the first hip joint corresponding to the first mechanical leg assembly and the second rotation center of the second hip joint corresponding to the second mechanical leg assembly are located in the same vertical plane. The device includes:

[0012] The status acquisition module is configured to acquire the status information of the robot at the first control moment;

[0013] The adjustment module is configured to obtain, based on the state information, target driving parameters for controlling the first mechanical leg group and the second mechanical leg group to swing alternately from the first control moment, so that the robot moves on the support surface, wherein the target driving parameters correspond to at least one second control moment after the first control moment.

[0014] According to one aspect of the present application, a chip is provided, the chip storing a computer program, the computer program being loaded and executed by a processor to implement the above-described robot control method.

[0015] According to one aspect of the embodiments of this application, a computer device is provided, the robot including a processor and a memory, the memory storing a computer program, the computer program being loaded and executed by the processor to implement the above-described robot control method.

[0016] According to one aspect of the embodiments of this application, a computer-readable storage medium is provided, wherein a computer program is stored in the storage medium, the computer program being loaded and executed by a processor to implement the above-described robot control method.

[0017] According to one aspect of the embodiments of this application, a computer program product is 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 aforementioned robot control method.

[0018] The technical solutions provided in this application embodiment may have the following beneficial effects:

[0019] For a robot with a body, a first set of mechanical legs, and a second set of mechanical legs, target driving parameters are obtained based on the robot's state information at the first control moment. These parameters are used to control the alternating swinging of the first and second sets of mechanical legs, enabling the robot to move on the support surface. Since the target driving parameters are based on the state information at the first control moment, obtaining the robot's state information and determining the target driving parameters at the first control moment allows the robot to adjust its motion trajectory in real time during movement, improving its flexibility and adaptability. The use of target driving parameters ensures that the robot can dynamically adjust its motion strategy according to the current state information, avoiding motion errors caused by changes in the environment or internal state. This minimizes the error between the target driving parameters and the robot's actual driving parameters. By controlling the robot's movement through the target driving parameters and controlling the alternating swinging of the first and second sets of mechanical legs, stable movement on the support surface can be achieved, improving the smoothness and safety of the movement, thereby effectively improving the robot's control accuracy. Attached Figure Description

[0020] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0021] Figure 1 is a schematic diagram of a robot control system provided in one embodiment of this application;

[0022] Figure 2 is a schematic diagram of a quadruped wheeled robot provided in one embodiment of this application;

[0023] Figure 3 is a schematic diagram of a quadrupedal wheeled hybrid robot provided in one embodiment of this application;

[0024] Figure 4 is a schematic diagram of a foot-wheel hybrid robot climbing stairs according to an embodiment of this application;

[0025] Figure 5 is a schematic diagram of a foot-wheel hybrid robot crossing a road shoulder according to an embodiment of this application;

[0026] Figure 6 is a schematic diagram of a foot-wheel hybrid robot traversing a pit according to an embodiment of this application;

[0027] Figure 7 is a flowchart of a robot control method provided in an embodiment of this application;

[0028] Figure 8 is a flowchart of a method for obtaining target driving parameters provided in an embodiment of this application;

[0029] Figure 9 is a schematic diagram of an inverted pendulum model of a robot provided in one embodiment of this application;

[0030] Figure 10 is a schematic diagram of gait information of a robot provided in one embodiment of this application;

[0031] Figure 11 is a schematic diagram of a control method for a quadrupedal wheeled hybrid robot provided in an embodiment of this application;

[0032] Figure 12 is a schematic diagram of a method for obtaining target driving parameters provided in an embodiment of this application;

[0033] Figure 13 is a schematic diagram of a planar model of a footwheel hybrid robot provided in one embodiment of this application;

[0034] Figure 14 is a schematic diagram of a planar model of a foot-wheel hybrid robot climbing stairs according to an embodiment of this application;

[0035] Figure 15 is a schematic diagram of a quadrupedal wheeled hybrid robot walking on flat ground according to an embodiment of this application;

[0036] Figures 16 to 29 exemplarily illustrate data curves during the control process of a quadrupedal wheeled hybrid robot;

[0037] Figure 30 is a block diagram of a robot control device provided in an embodiment of this application;

[0038] Figure 31 is a block diagram of a robot control device provided in another embodiment of this application;

[0039] Figure 32 is a simplified structural block diagram of a computer device provided in one embodiment of this application. Detailed Implementation

[0040] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0041] Artificial intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.

[0042] Artificial intelligence (AI) is a comprehensive discipline encompassing a wide range of fields, including both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, pre-trained model technology, operating / interactive systems, and mechatronics. Among these, pre-trained models, also known as large-scale models or foundational models, can be widely applied to downstream tasks across various AI fields after fine-tuning. AI software technologies primarily include computer vision, speech processing, natural language processing, and machine learning / deep learning.

[0043] With the research and advancement of artificial intelligence (AI) technology, AI is being studied and applied in various fields, such as smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, autonomous driving, drones, digital twins, virtual humans, robots, AI-generated content (AIGC), conversational interaction, smart healthcare, smart customer service, and game AI. It is believed that with the development of technology, AI will be applied in more fields and play an increasingly important role.

[0044] The technical solutions provided in this application mainly relate to robotics within artificial intelligence technology, specifically intelligent robot control. A robot is a mechanical and electronic device that combines mechanical transmission and modern microelectronics technology to mimic certain human skills. Robots have evolved based on electronic, mechanical, and information technologies. A robot doesn't necessarily have to resemble a human; as long as it can autonomously complete tasks and commands given to it by humans, it belongs to the robot family. A robot is an automated machine possessing some intelligent abilities similar to humans or other living beings, such as perception, planning, movement, and coordination. It is a highly flexible automated machine. With the development of computer technology and artificial intelligence technology, robots have greatly improved in terms of function and technology. Mobile robots and technologies such as robot vision and touch are typical examples.

[0045] The technical solutions provided in this application can be executed by computer equipment, which refers to electronic devices capable of data computation, processing, and storage. For example, the computer equipment can be a PC (Personal Computer) device used to control the robot, such as a desktop computer or laptop computer; or it can be a server used to control the robot. The server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The computer equipment and the robot can be connected via physical lines, networks, etc.

[0046] For example, referring to Figure 1, in the robot control system 100, the computer device 101 can determine the expected set of joint torques corresponding to the robot 103 based on the initial driving parameters of the robot 103 (such as the reference driving parameters corresponding to each part (such as mechanical legs, body) and center of mass, which can be planned according to the movement of the robot on the support surface). Based on the expected set of joint torques, the computer device 101 controls the movement of the robot 103 (such as each joint motor) through the network 102. For example, the computer device 101 can control the first mechanical leg group 104 and the second mechanical leg group 105 of the robot 103 to swing alternately according to the expected set of joint torques corresponding to the initial driving parameters of the robot 103, so that the robot 103 moves on the support surface according to the initial driving parameters.

[0047] In some embodiments, the computer device may also be the robot itself, meaning that the execution entity of each step in the technical solution provided in this application is the robot. For example, referring to FIG1, the computer device 101 can send the initial driving parameters of the robot 103 to the robot 103 through the network 102. The robot 103 calculates the corresponding expected joint torque set based on the initial driving parameters and then moves according to the expected joint torque set. In some embodiments, the robot 103 can also automatically plan the initial driving parameters according to the real environment and calculate the expected joint torque set corresponding to the initial driving parameters to perform different tasks in the real environment. This application does not limit this aspect.

[0048] The robot in this application embodiment can refer to a wheel-legged robot, a legged robot, a foot-and-foot hybrid robot, etc. A wheel-legged robot is a legged robot with wheels as its feet (i.e., a robot that moves based on mechanical legs), a legged robot is a legged robot with feet as its feet, and a foot-and-foot hybrid robot is a legged robot with a pair of mechanical wheels and mechanical feet at its feet. This application embodiment does not limit this. As shown in Figure 1, taking a foot-and-foot hybrid robot as an example, robot 103 has four mechanical legs, and each mechanical leg has a pair of coaxial mechanical wheels and mechanical feet at its feet. The foot-and-foot hybrid robot can perform tasks such as gliding, gait walking, climbing stairs, and overcoming obstacles by using the mechanical wheels alone, or it can perform tasks such as gait walking, climbing stairs, overcoming obstacles, and stepping in place by using the mechanical feet to assist the mechanical wheels. This application embodiment does not limit this.

[0049] In one example, referring to Figure 1, taking a wheeled-legged robot as an example, the robot 103 in this embodiment (the mechanical legs only include mechanical wheels, ignoring the mechanical feet) may include a body 106, a first mechanical leg group 104 and a second mechanical leg group 105 connected to the body 106 via hip joints. The first rotation center of the first hip joint corresponding to the first mechanical leg group and the second rotation center of the second hip joint corresponding to the second mechanical leg group are located in the same vertical plane. At least one of the first mechanical leg group 104 and the second mechanical leg group 105 includes at least two mechanical legs. For example, the first mechanical leg group 104 includes at least two mechanical legs, and the second mechanical leg group 105 may also include at least two mechanical legs. In the first mechanical leg group 104, there are at least two mechanical legs located on both sides of the central axis (i.e., the sagittal plane) of the robot 103, and in the second mechanical leg group 105, there are at least two mechanical legs located on both sides of the central axis of the robot 103. The mechanical legs of the robot 103 are arranged side by side, that is, the rotation axis of the hip joint corresponding to the first mechanical leg group 104 and the rotation axis of the hip joint corresponding to the second mechanical leg group 105 are located in the same vertical plane.

[0050] In some embodiments, in the robot's structure, the body is the main part connecting the two mechanical leg assemblies. The first and second mechanical leg assemblies are connected to the body via hip joints, respectively. Each hip joint has a center of rotation, namely the first center of rotation and the second center of rotation. A vertical plane refers to a plane perpendicular to the ground. In the robot's position, the vertical plane is closely related to the robot's standing position. When the robot stands, the centers of rotation of the two hip joints lie in the same vertical plane, meaning that the robot's two legs are symmetrically distributed on a plane perpendicular to the ground. The orientational relationship of the robot's position relates to the robot's posture and position in space. In the vertical plane, the robot's position can be described as the symmetry and balance of its body and legs relative to the vertical plane when the robot is standing, walking, or performing other actions. When the centers of rotation of the two hip joints lie in the same vertical plane, the robot can maintain better balance when standing because the robot's weight distribution is more even within a symmetrical plane.

[0051] In some embodiments, when the first mechanical leg group 104 is an outer mechanical leg group, the first mechanical leg group 104 includes at least two mechanical legs, and the at least two mechanical legs can be evenly arranged on both sides of the second mechanical leg group 105; when the second mechanical leg group 105 is an outer mechanical leg group, the second mechanical leg group 105 includes at least two mechanical legs, and the at least two mechanical legs can be evenly arranged on both sides of the first mechanical leg group 104. This application embodiment does not limit this.

[0052] In some embodiments, robot 103 can be a quadrupedal wheeled robot, such as robot 103 including two outer mechanical legs and two inner mechanical legs; robot 103 can also be a tripedal wheeled robot, such as robot 103 including two outer mechanical legs and one inner mechanical leg, and this application embodiment does not limit this. Robot 103 can stand on the support surface by means of the mechanical feet on the outer or inner mechanical legs, or slide on the support surface by means of the mechanical feet on the outer or inner mechanical legs, or move on the support surface by controlling the outer and inner mechanical leg groups to swing alternately (i.e., gait walking).

[0053] In some embodiments, the body 106 is provided with a pitch joint, which controls the rotation of the body 106 (e.g., pitching forward and backward). The hip joint controls the rotation of the mechanical legs, and each mechanical leg can extend and retract independently. In one example, the mechanical legs corresponding to the first mechanical leg group 104 move synchronously, and the mechanical legs corresponding to the second mechanical leg group 105 move synchronously; the mechanical wheels corresponding to the first mechanical leg group 104 move synchronously, and the mechanical wheels corresponding to the second mechanical leg group 105 move synchronously.

[0054] For example, referring to Figure 2, which is a structural schematic diagram of a quadrupedal wheeled robot provided in one embodiment of this application. The quadrupedal wheeled robot 200 may include: a body (including a waist 206, a torso 207, a head 209, and an upper limb 208), a hip joint 210, and mechanical legs (such as an outer mechanical leg 201 and an inner mechanical leg 202).

[0055] The quadrupedal wheeled robot 200 has four mechanical legs: two outer mechanical legs 201 (referred to as the first mechanical leg group) and two inner mechanical legs 202 (referred to as the second mechanical leg group). The two inner mechanical legs 202 are located between the two outer mechanical legs 201. All four mechanical legs can extend and retract independently in the direction shown in Figure 2 (double-headed arrows) (achieved by corresponding telescopic joints). The four mechanical legs can be symmetrically distributed on both sides of the sagittal plane 205. Each foot of the four mechanical legs is equipped with a mechanical wheel 203, and each mechanical wheel 203 can be driven independently (achieved by corresponding wheel joints).

[0056] The quadrupedal wheeled robot 200 can stand on two inner mechanical legs 202 or two outer mechanical legs 201 to be in a bipedal standing state; the quadrupedal wheeled robot 200 can also stand on two inner mechanical legs 202 and two outer mechanical legs 201 at the same time to be in a quadrupedal standing state, and this application embodiment does not limit this.

[0057] In some embodiments, the two inner mechanical legs 202 can be implemented as a single unit, that is, the quadrupedal wheeled robot 200 can be implemented as a tripedal wheeled robot with only one inner mechanical leg.

[0058] Each robotic leg has a hip joint 210 connected to its other end away from the foot. Each robotic leg can rotate around its respective hip joint 210 and maintain linkage. In this embodiment, the rotation axes of the hip joints 210 of the quadrupedal wheeled robot 200 are located in the same vertical plane 211, and the rotation planes of the robotic legs of the quadrupedal wheeled robot 200 are parallel. The hip joints 210 corresponding to the two inner robotic legs 202 are located between the hip joints 210 corresponding to the two outer robotic legs 201, and the four hip joints 210 are symmetrically distributed on both sides of the sagittal plane 205.

[0059] In some embodiments, the hip joints 210 of the quadrupedal wheeled robot 200 can be coaxial, meaning that the rotation axes of the hip joints 210 are located on the same straight line. Alternatively, the hip joints 210 of the quadrupedal wheeled robot 200 can be non-coaxial. For example, the hip joints 210 corresponding to the two inner mechanical legs 202 are coaxial, and the hip joints 210 corresponding to the two outer mechanical legs 201 are coaxial, but the hip joints 210 corresponding to the two inner mechanical legs 202 are not coaxial with the hip joints 210 corresponding to the two outer mechanical legs 201.

[0060] In one example, the hip joints 210 corresponding to the two outer robotic legs 201 share the same drive motor, so that the two outer robotic legs 201 move synchronously; the hip joints 210 corresponding to the two inner robotic legs 202 share the same drive motor, so that the two inner robotic legs 202 move synchronously. In a feasible example, each hip joint 210 of the quadrupedal wheeled robot 200 can also be driven independently by its respective drive motor, and this application embodiment does not limit this.

[0061] The quadrupedal wheeled robot 200 may include a waist 206, a torso 207, a head 209, and upper limbs 208. Each hip joint 210 of the quadrupedal wheeled robot 200 is connected to the same end of the waist 206, and the other end of the waist 206 is connected to one end of the torso 207. The waist 206 has two rotation axes: a pitch rotation axis (which may have a corresponding pitch joint) that allows the torso 207 to pitch, and a lateral rotation axis (which may have a corresponding lateral joint) that allows the torso 207 to sway. The lateral joint is connected in series with the pitch joint and is located above the pitch joint, connected to the torso 207. In this embodiment, rotating the robot body refers to rotating the pitch joint around the pitch rotation axis, causing the torso 207 to rotate.

[0062] The other end of the torso 207 is connected to the head 209 and the upper limb 208, which can be a multi-degree-of-freedom upper limb. In some embodiments, an end effector, such as a robotic gripper or a suction cup, is deployed on the upper limb 208. Data acquisition devices, such as image acquisition devices, video recording devices, and IMUs (Inertial Measurement Units), can be deployed in the head 209 to perceive the real environment. The IMU can be placed at the geometric center of various parts (such as the torso 207), the center point of joints, etc., and can be used to measure the acceleration, attitude angular velocity, Euler angle, position, angle, angular velocity, etc. of various parts, thereby obtaining the actual acceleration, actual attitude angular velocity, actual Euler angle, position, actual angle, actual angular velocity, etc.

[0063] In some feasible examples, a workstation can also be deployed in the quadrupedal wheeled robot 200. The workstation can be used to control the movement of various parts of the robot, such as controlling the joints to make the parts move. The workstation can be implemented as a NUC (Next Unit of Computing) minicomputer.

[0064] In some embodiments, the hip joints, wheel joints, telescopic joints, pitch joints, and lateral joints of the quadrupedal wheeled robot 200 can be independently driven by their respective drive motors. In the technical solution provided in the embodiments of this application, the mechanical wheels, mechanical legs, body (including IMU), and various joints (including 4 hip joints, 4 wheel joints, 4 telescopic joints, 1 pitch joint, and 1 lateral joint) of the quadrupedal wheeled robot 200 are essential hardware for the control algorithm, while the rest are non-essential hardware.

[0065] Compared to bipedal wheeled robots, quadrupedal wheeled robots have a more stable structure and stronger resistance to external impacts and disturbances. Compared to hexapedal wheeled robots, they have fewer redundant joints, lower design complexity, and can bear heavy loads, move through narrow spaces, and perform tasks on objects of different heights. Quadrupedal wheeled robots have a strong adaptability to the environment.

[0066] In one example, referring to Figure 1, compared to the wheel-legged robot described above, the foot-wheel hybrid robot has at least one mechanical leg with a pair of coaxial mechanical wheels and mechanical feet located on the foot portion away from the hip joint. That is, there is at least one foot whose corresponding mechanical wheel's rotation axis and its corresponding mechanical foot's rotation axis are on the same straight line. Exemplarily, all mechanical legs of robot 103 are provided with a pair of coaxial mechanical wheels and mechanical feet; or, some mechanical legs of robot 103 are provided with a pair of coaxial mechanical wheels and mechanical feet.

[0067] For example, taking a quadrupedal wheel-driven hybrid robot as an example, each of the corresponding mechanical legs of the quadrupedal wheel-driven hybrid robot can be equipped with a pair of coaxial mechanical wheels and mechanical feet; or, for the two mechanical leg groups corresponding to the quadrupedal wheel-driven hybrid robot, only one of the mechanical leg groups has a pair of coaxial mechanical wheels and mechanical feet on each mechanical leg; or, for the two mechanical leg groups corresponding to the quadrupedal wheel-driven hybrid robot, each mechanical leg group has one mechanical leg corresponding to a pair of coaxial mechanical wheels and mechanical feet; or, for each mechanical leg corresponding to the quadrupedal wheel-driven hybrid robot, only one mechanical leg has a pair of coaxial mechanical wheels and mechanical feet. The embodiments of this application do not limit this.

[0068] Each mechanical wheel can be driven independently, and each mechanical foot can rotate independently. The mechanical feet can be located on the left or right side of the mechanical wheels, or the mechanical wheels can be located in the hollowed-out area at the base of the mechanical feet in a hollowed-out style. This application embodiment does not limit this.

[0069] This application does not limit the dimensions of the mechanical wheels and mechanical feet. For example, all mechanical wheels may have the same diameter, and all mechanical feet may have the same length. The length of the mechanical feet may be 1.5 times, 2 times, or the diameter of the mechanical wheels. This application also does not limit the style of the mechanical feet. For example, the style of the mechanical feet may include at least one of the following: foot-like style, rectangular style, and triangular style.

[0070] Mechanical feet can be used to assist mechanical wheels, enabling the robot to stand more stably on the support surface. In some embodiments, when mechanical feet are not needed, the mechanical feet can rotate to coincide with the mechanical legs, or rotate to be perpendicular to the mechanical legs, or rotate to any angle that does not affect the contact between the mechanical feet and the support surface; this application does not limit this. When mechanical feet are needed, the mechanical feet can rotate to contact the support surface, so as to support the robot standing on the support surface together with the mechanical wheels.

[0071] For example, referring to Figure 1, taking a quadrupedal wheel-and-machine hybrid robot as an example, when each mechanical leg of robot 103 (which includes both mechanical wheels and mechanical feet) is equipped with a pair of coaxial mechanical wheels and mechanical feet, if any mechanical wheel contacts the support surface, the mechanical foot coaxial with the mechanical wheel can be used to assist the mechanical wheel and support robot 103 to stand. Alternatively, if each mechanical leg in one and only one mechanical leg group is equipped with a pair of coaxial mechanical wheels and mechanical feet, and there is no mechanical leg group without mechanical feet for support, then the support is provided solely by the mechanical wheels corresponding to the mechanical leg group. The robot 103 stands upright. If it has a mechanical leg assembly with mechanical feet for support, the robot 103 can stand upright by relying on the corresponding mechanical wheels and mechanical feet of the mechanical leg assembly. Alternatively, if only one mechanical leg has a pair of coaxial mechanical wheels and mechanical feet, and there is no mechanical leg assembly with mechanical feet for support, the robot 103 can stand upright solely by relying on the corresponding mechanical wheels of the mechanical leg assembly. If there is a mechanical leg assembly with mechanical feet for support, the robot 103 can stand upright by relying on the corresponding mechanical wheels and one mechanical foot of the mechanical leg assembly. This application embodiment does not limit this. For ease of explanation, the following will use the example of each foot of the robot having a pair of coaxial mechanical wheels and mechanical feet to describe the technical solution provided by the embodiments of this application.

[0072] In one example, the mechanical feet corresponding to the first mechanical leg group 104 move synchronously, and the mechanical feet corresponding to the second mechanical leg group 105 move synchronously; the mechanical legs corresponding to the first mechanical leg group 104 move synchronously, and the mechanical legs corresponding to the second mechanical leg group 105 move synchronously; the mechanical wheels corresponding to the first mechanical leg group 104 move synchronously, and the mechanical wheels corresponding to the second mechanical leg group 105 move synchronously.

[0073] For example, referring to Figure 3, which is a structural schematic diagram of a quadrupedal wheeled hybrid robot provided in one embodiment of this application. The quadrupedal wheeled hybrid robot 300 may include: a body (including a waist, torso, head, and upper limbs), a hip joint, and mechanical legs (such as an outer mechanical leg 301 and an inner mechanical leg 302).

[0074] The quadrupedal wheel-foot hybrid robot 300 has four mechanical legs: two outer mechanical legs 301 (referred to as the first mechanical leg group) and two inner mechanical legs 302 (referred to as the second mechanical leg group). Each of the four mechanical legs is equipped with a pair of coaxial mechanical wheels 303 and mechanical feet 304, meaning that the rotation axis corresponding to the mechanical wheel 303 and the rotation axis corresponding to the mechanical foot 304 are located on the same straight line. The mechanical feet 304 are mounted on the outer side of the mechanical wheels 303. Each mechanical wheel 303 can be driven independently (achieved by the corresponding wheel joint), and each mechanical foot 304 can also be driven independently (achieved by the corresponding ankle joint). The wheel joint and ankle joint can be collectively referred to as foot joints.

[0075] When the mechanical leg assembly is used for support, the mechanical foot 304 can be used to assist the mechanical wheel 303, so that the quadrupedal wheel hybrid robot 300 stands on the support surface. In this way, by using the mechanical foot to assist the mechanical wheel in keeping the robot standing, the robot's motion stability can be improved.

[0076] In some embodiments, the hip joint, ankle joint, wheel joint, telescopic joint, pitch joint, and lateral joint of the quadrupedal wheel hybrid robot 300 can be driven independently by their respective drive motors.

[0077] In the technical solution provided in the embodiments of this application, the mechanical wheels, mechanical feet, mechanical legs, body (including IMU), and various joints (including 4 hip joints, 4 ankle joints, 4 wheel joints, 4 telescopic joints, 1 pitch joint and 1 lateral joint) of the quadrupedal wheel hybrid robot 300 are necessary hardware for the control algorithm, and the rest are non-essential hardware.

[0078] In some embodiments, the robot control method provided in this application can be applied to a variety of scenarios, such as robot gait walking, robot climbing stairs, robot crossing thresholds, robot crossing shoulders, robot crossing potholes, robot standing still, and any scenario of crossing obstacles. This is beneficial to improving the robot's adaptability to the environment and the robot's versatility.

[0079] The following section will use a quadrupedal wheeled hybrid robot as an example to illustrate the application scenarios of the technical solutions provided in this application. Compared with quadrupedal wheeled robots, quadrupedal wheeled hybrid robots have a more stable structure. Based on mechanical legs, quadrupedal wheeled hybrid robots have stronger resistance to external impacts and disturbances. They can bear heavy loads, move through narrow spaces, and perform tasks on objects of different heights, thus giving them a strong adaptability to the environment.

[0080] In some embodiments, referring to Figure 4, when the quadrupedal wheeled hybrid robot 401 needs to climb stairs, it can first plan the initial driving parameters (such as the support reference driving parameters, center of mass reference driving parameters, and swing reference driving parameters mentioned below) corresponding to the quadrupedal wheeled hybrid robot 401 according to the stairs, and then calculate the expected joint torque set corresponding to the initial driving parameters. This allows the outer mechanical leg group 402 (such as the first mechanical leg group) and the inner mechanical leg group 403 (such as the second mechanical leg group) to swing alternately to complete the stair climbing task. For example, the outer mechanical leg group 402 can be used as the support mechanical leg group and the inner mechanical leg group 403 as the swing mechanical leg group, allowing the quadrupedal wheeled hybrid robot 401 to climb the first step. Then, the inner mechanical leg group 403 can be used as the support mechanical leg group and the outer mechanical leg group 402 as the swing mechanical leg group, allowing the quadrupedal wheeled hybrid robot 401 to climb the second step. The outer mechanical leg group 402 and the inner mechanical leg group 403 swing alternately in sequence to complete the stair climbing task.

[0081] During this process, the mechanical legs can also be controlled to assist the mechanical wheels, enabling the quadrupedal wheeled hybrid robot 401 to maintain a stable standing position and rotate its body to coordinate with the alternating swing of the mechanical leg groups, thus enabling the quadrupedal wheeled hybrid robot 401 to climb stairs. In some embodiments, during the process of the quadrupedal wheeled hybrid robot 401 climbing stairs, the initial drive parameters can be adjusted based on the robot's state information at the first control moment to obtain target drive parameters. Then, starting from the first control moment, the outer mechanical leg group 402 (such as the first mechanical leg group) and the inner mechanical leg group 403 (such as the second mechanical leg group) are controlled to swing alternately through the desired joint torque set corresponding to the target drive parameters to complete the stair climbing, thereby improving the control accuracy of the quadrupedal wheeled hybrid robot 401.

[0082] In some embodiments, referring to Figure 5, when the quadrupedal wheeled hybrid robot 501 needs to cross a curb, the initial driving parameters corresponding to the quadrupedal wheeled hybrid robot 501 can be planned according to the stairs first, and then the expected joint torque set corresponding to the initial driving parameters can be calculated. The outer mechanical leg group 502 and the inner mechanical leg group 503 can be controlled to swing alternately to complete the task of crossing the curb. For example, the inner mechanical leg group 503 can be used as the supporting mechanical leg group and the outer mechanical leg group 502 can be used as the swinging mechanical leg group, so that the outer mechanical leg group 502 of the quadrupedal wheeled hybrid robot 501 climbs onto the curb. Then, the outer mechanical leg group 502 can be used as the supporting mechanical leg group and the inner mechanical leg group 503 can be used as the swinging mechanical leg group, so that the quadrupedal wheeled hybrid robot 501 completely crosses the curb. The inner mechanical leg group 503 and the outer mechanical leg group 502 swing alternately in sequence to complete the task of crossing the curb.

[0083] During this process, the mechanical legs can also be controlled to assist the mechanical wheels, enabling the quadrupedal wheeled hybrid robot 501 to maintain a stable standing position and rotate its body to coordinate with the alternating swing of the mechanical leg groups, so that the quadrupedal wheeled hybrid robot 501 can cross the road shoulder. In some embodiments, during the process of the quadrupedal wheeled hybrid robot 501 crossing the road shoulder, the initial drive parameters can be adjusted based on the robot's state information at the first control moment to obtain the target drive parameters. Then, starting from the first control moment, the outer mechanical leg group 502 (such as the first mechanical leg group) and the inner mechanical leg group 503 (such as the second mechanical leg group) are controlled to swing alternately through the expected joint torque set corresponding to the target drive parameters to complete the crossing of the road shoulder, thereby improving the control accuracy of the quadrupedal wheeled hybrid robot 501.

[0084] In some embodiments, referring to Figure 6, when the quadrupedal wheeled hybrid robot 601 needs to cross a pit, the initial driving parameters corresponding to the quadrupedal wheeled hybrid robot 601 can be planned according to the stairs first, and then the expected joint torque set corresponding to the initial driving parameters can be calculated. The outer mechanical leg group 602 and the inner mechanical leg group 603 can be controlled to swing alternately to complete the crossing of the pit. For example, the inner mechanical leg group 603 can be used as the supporting mechanical leg group and the outer mechanical leg group 602 can be used as the swinging mechanical leg group, so that the outer mechanical leg group 602 of the quadrupedal wheeled hybrid robot 601 crosses the pit. Then, the outer mechanical leg group 602 can be used as the supporting mechanical leg group and the inner mechanical leg group 603 can be used as the swinging mechanical leg group, so that the quadrupedal wheeled hybrid robot 601 completely crosses the pit. The inner mechanical leg group 603 and the outer mechanical leg group 602 swing alternately in sequence to complete the task of crossing the pit.

[0085] During this process, the mechanical legs can also be controlled to assist the mechanical wheels, enabling the quadrupedal wheeled hybrid robot 601 to maintain a stable standing position, and to rotate the body to coordinate with the alternating swing of the mechanical leg groups, so that the quadrupedal wheeled hybrid robot 601 can cross the road shoulder. In some embodiments, during the process of the quadrupedal wheeled hybrid robot 601 crossing the pothole, the initial drive parameters can be adjusted based on the robot's state information at the first control moment to obtain the target drive parameters. Then, starting from the first control moment, the outer mechanical leg group 602 (such as the first mechanical leg group) and the inner mechanical leg group 603 (such as the second mechanical leg group) are controlled to swing alternately through the expected joint torque set corresponding to the target drive parameters to complete the crossing of the pothole, thereby improving the control accuracy of the quadrupedal wheeled hybrid robot 601.

[0086] The following will use method embodiments to describe the robot control method provided in the embodiments of this application. For content not described in the method embodiments, please refer to the above embodiments.

[0087] Please refer to Figure 7, which shows a flowchart of a robot control method according to an embodiment of this application. In this embodiment, the robot control method is described using a robot as the executing entity for each step. The method may include the following steps (701-702):

[0088] Step 701: Obtain the robot's state information at the first control moment.

[0089] In some embodiments, for the first control moment among multiple control moments corresponding to the robot, the actual state information of the robot at the first control moment is obtained. The robot stops moving after multiple control moments, that is, the robot completes a certain task after multiple control moments, such as gait walking, climbing stairs, crossing obstacles, or stepping in place. The robot may also complete a certain stage of movement in the task after multiple control moments, such as a task being divided into multiple stages, each stage corresponding to multiple control moments. This application embodiment does not limit this. The robot is described in the same way as in the above embodiments, and will not be repeated here.

[0090] A control moment refers to the moment when the robot is controlled via control information. Control moments are arranged at specified time intervals, which can be set and adjusted according to actual usage requirements. A first control moment can be any control moment among multiple control moments that meets the adjustment conditions. Adjustment conditions refer to the conditions used to trigger the adjustment of the robot's initial drive parameters. For example, when each first control moment is reached, the robot's initial drive parameters are adjusted once. Adjustment conditions can be set and adjusted according to actual usage requirements; this application does not limit this. Examples of first control moments will be provided below, and will not be repeated here.

[0091] The aforementioned state information is used to describe the actual state of the robot, such as the position, velocity, and actual acceleration of various parts of the robot at the first control moment, as well as the position, velocity, and actual acceleration of the robot's center of mass, ZMP, and contact points at the first control moment. This application embodiment does not limit the state information.

[0092] In some embodiments, acquiring the robot's state information at specific control moments is crucial in a robot control system, as it forms the basis for effective control decisions. A control moment refers to the moment when the system executes a control action. In robot control, these moments are typically arranged at certain time intervals, which can be set and adjusted according to specific task requirements and system characteristics. The first control moment, within a series of control moments, may be the first moment that meets a specific condition, typically the condition that triggers the adjustment process. The first control moment may be fixed, such as being the first in a series of control moments; it may also be based on certain dynamic conditions, such as when the robot detects an impending collision. State perception measures the position, velocity, and acceleration of various parts of the robot (such as robotic legs, body, etc.) using sensors (such as accelerometers, gyroscopes, encoders, vision systems, etc.). State estimation processes sensor data using filtering algorithms (such as Kalman filtering) to estimate the robot's state variables, including the position, velocity, and acceleration of the center of mass, ZMP, contact points, etc. State integration integrates all measured and estimated state variables into a single state vector, representing the robot's complete state information at the first control moment.

[0093] The contact point refers to the point where the robot contacts the support surface. This contact point can be the geometric center of the contact area between the foot and the support surface, or any point within the contact area. If the foot consists only of mechanical wheels, the geometric center of the contact area between the mechanical wheels and the support surface is defined as the contact point. If the foot includes both mechanical wheels and a mechanical foot, the geometric center of the contact area between the mechanical wheels and the support surface is defined as one contact point, and the geometric center of the contact area between the mechanical foot and the support surface is defined as another contact point. This application does not limit this specific definition. ZMP (also known as the zero tilt moment point) is a concept related to the dynamics and control of legged motion. For humanoid or quadrupedal robots, it specifies the point where the reaction force at the contact point between the foot and the support surface does not produce any torque in the horizontal direction; that is, the point where the sum of the horizontal inertial force and gravity is zero. This concept assumes that the contact area is planar and has sufficiently high friction to prevent the foot from slipping.

[0094] In some embodiments, the robot's state information can be used to describe the robot's actual state in its operating space. The robot's operating space can refer to the Cartesian space corresponding to the robot. In task-oriented whole-body control, the Cartesian space corresponding to the robot can be called the robot's operating space. In this embodiment, the robot's state information (such as position) can be represented based on the robot's world coordinate system.

[0095] For example, a world coordinate system for the robot can be constructed with the contact point between the robot's feet (such as mechanical wheels) and the supporting surface in the initial state as the origin, the horizontal direction as the x-axis, the vertical direction as the z-axis, and the direction perpendicular to both the horizontal and vertical directions as the y-axis. In some embodiments, the coordinate axes in the world coordinate system must satisfy the right-hand rule. The robot's position in the operating space can be characterized based on the robot's three-dimensional coordinates in the world coordinate system. In some embodiments, the calculation processes in this application all occur in the robot's world coordinate system.

[0096] A support surface refers to the surface on which the robot stands. In the embodiments of this application, the support surface may include only one plane, such as at least one of a flat ground, a road, etc., or the support surface may include multiple planes of different heights, such as at least one of a staircase, a road surface with shoulders, a ground with depressions, etc. The embodiments of this application do not limit this.

[0097] In some embodiments, the robot's state information can be obtained by measurement and calculation through IMU sensors, navigation modules, force / torque sensors, tactile sensors, vision sensors, encoders of drive motors, etc. installed on the robot. This application embodiment does not limit this.

[0098] Step 702: Based on the state information, obtain the target driving parameters for controlling the first mechanical leg group and the second mechanical leg group to swing alternately from the first control moment so that the robot moves on the support surface. The target driving parameters correspond to at least one second control moment after the first control moment.

[0099] In some embodiments, initial drive parameters refer to a set of drive parameters pre-set according to the robot's initial state and task requirements. These parameters include the motion angles, velocities, and accelerations of each joint of the robot, as well as parameters related to the overall motion of the robot, such as the position and velocity of the center of mass and the position of the zero-torque point (ZMP). The purpose of designing initial drive parameters is to ensure that the robot can maintain balance when it starts moving, control the movement and posture of the robot body, and achieve dynamic behavior. Target drive parameters refer to a new set of drive parameters obtained by adjusting the initial drive parameters based on the robot's real-time state information on the support surface. These parameters also include the motion angles, velocities, and accelerations of each joint of the robot, as well as parameters related to the overall motion of the robot. The purpose of designing target drive parameters is to guide the robot to move on the support surface and achieve the expected motion trajectory and behavior.

[0100] In some embodiments, drive parameters refer to parameters used to control the various joints and moving parts of the robot. These drive parameters determine the robot's trajectory, speed, acceleration, and other characteristics during movement. **Motion Angle:** Refers to the rotational angle of the robot's joints during movement. The motion angle determines the degree of bending and range of motion of the robot's limbs. **Speed:** Refers to the rotational speed of the robot's joints during movement. Speed ​​determines the speed and smoothness of the robot's movement. **Acceleration:** Refers to the rotational acceleration of the robot's joints during movement. Acceleration determines the acceleration and deceleration process of the robot's movement. **Center of Gravity Position:** Refers to the overall center of gravity position of the robot. The center of gravity position determines the robot's balance and stability during movement. **Center of Gravity Velocity:** Refers to the overall center of gravity velocity of the robot. The center of gravity velocity determines the robot's speed and direction of movement during movement.

[0101] In some embodiments, drive parameters refer to a series of drive parameter values ​​arranged in chronological order during robot motion. These parameter values ​​describe the robot's motion state and behavior at each control moment. Drive parameters are the core of robot control, determining how the robot moves, maintains balance, and performs specific tasks. Drive parameters include parameters such as the motion angles, velocities, and accelerations of each joint of the robot, as well as parameters related to the overall motion of the robot, such as the position of the center of mass, the velocity of the center of mass, and the position of the zero-torque point (ZMP). These parameters are preset according to the robot's initial state and task requirements, or are obtained after adjustment based on the robot's real-time state information on the support surface.

[0102] The initial driving parameters and the target driving parameters are different driving parameters corresponding to the same multiple target moments. The initial driving parameters can be obtained by planning for the task to be performed by the robot. The initial driving parameters of the robot can include reference driving parameters for various parts of the robot, as well as reference driving parameters for the robot's center of mass, ZMP, etc. For example, the initial driving parameters of the robot can include at least one of the following: support reference driving parameters planned for the robot's support mechanical leg assembly, swing reference driving parameters planned for the robot's swing mechanical leg assembly, body reference driving parameters planned for the robot's body, center of mass reference driving parameters planned for the robot's center of mass, and ZMP reference driving parameters planned for the robot's ZMP. In some examples, the initial driving parameters of the robot can simultaneously include: support reference driving parameters, swing reference driving parameters, body reference driving parameters, center of mass reference driving parameters, and ZMP reference driving parameters. The support reference driving parameters are the trajectory designed for the robot's support mechanical leg assembly, used to maintain the robot's balance. The swing reference driving parameters are the trajectory designed for the robot's body, used to control the movement and attitude of the body. The center-of-mass reference drive parameters are trajectories designed for the robot's center of mass, used to control the movement of the center of mass to maintain balance and achieve dynamic behavior. The ZMP reference drive parameters are trajectories designed for the robot's ZMP, used to control the robot's dynamic balance.

[0103] In some embodiments, initial drive parameters refer to a set of reference drive parameters pre-planned based on task requirements and the robot's own kinematic and dynamic characteristics before the robot performs a task. This set of parameters includes the drive parameters of various parts of the robot (such as the supporting mechanical leg assembly, the swinging mechanical leg assembly, the body, etc.), as well as the reference drive parameters of the center of mass and the zero moment point (ZMP) related to the overall motion of the robot. The purpose of designing the initial drive parameters is to ensure that the robot can maintain balance, control the movement and posture of the body, and achieve dynamic behavior when performing tasks. By optimizing the initial drive parameters, the robot's motion efficiency and stability can be improved, enabling it to better adapt to different task environments and requirements.

[0104] In some embodiments, the adjustment process begins with the robot's state information at the first control moment, including the robot's position, velocity, acceleration, etc. Based on the robot's state information, the initial drive parameters of the robot on the support surface are adjusted. The support surface refers to the plane that the robot contacts when standing. Through the adjustment process, new drive parameters, i.e., target drive parameters, are obtained. These drive parameters will replace the original initial drive parameters and be used to guide the robot's movement. Planned drive parameters include new reference drive parameters for the robot's movement; these trajectories will replace the initial drive parameters to adapt to new situations and task requirements.

[0105] Here, the reference driving parameters refer to the planned driving parameters, which can be used to guide the robot's movement. For example, support reference driving parameters can be used to guide the movement of the support mechanical leg assembly, swing reference driving parameters can be used to guide the movement of the swing mechanical leg assembly, body reference driving parameters can be used to guide the movement of the body, center of mass reference driving parameters can be used to guide the movement of the center of mass, and ZMP reference driving parameters can be used to guide the movement of the ZMP. In this way, the robot can be guided to perform tasks using the initial driving parameters. In some embodiments, for the control moments before the first first control moment, the robot can be moved using the initial driving parameters.

[0106] In some embodiments, the reference driving parameters include reference positions at the aforementioned multiple control moments. The reference position refers to the planned position, i.e., the desired position. During the robot's movement, the mechanical leg assembly used for standing is a supporting mechanical leg assembly, and the mechanical leg assembly used for swinging is a swinging mechanical leg assembly. For example, when the first mechanical leg assembly is used for standing and the second mechanical leg assembly is used for swinging, the first mechanical leg assembly is a supporting mechanical leg assembly, and the second mechanical leg assembly is a swinging mechanical leg assembly; when the first mechanical leg assembly is used for swinging and the second mechanical leg assembly is used for standing, the first mechanical leg assembly is a swinging mechanical leg assembly, and the second mechanical leg assembly is a supporting mechanical leg assembly. In one example, when the first mechanical leg assembly is a supporting mechanical leg assembly, the second mechanical leg assembly is a swinging mechanical leg assembly; when the second mechanical leg assembly is a supporting mechanical leg assembly, the first mechanical leg assembly is a swinging mechanical leg assembly.

[0107] In some examples, embodiments of this application focus on the robot's motion in the x-axis and z-axis directions. The position of the supporting mechanical leg assembly can be characterized by the position of any supporting mechanical leg in the x-axis direction and its position in the z-axis direction. Similarly, the position of the swinging mechanical leg assembly can be characterized by the position of any swinging mechanical leg in the x-axis direction and its position in the z-axis direction. Support reference drive parameters can be characterized by the reference drive parameters of any supporting mechanical leg in both the x-axis and z-axis directions, and swing reference drive parameters can be characterized by the reference drive parameters of any swinging mechanical leg in both the x-axis and z-axis directions.

[0108] In this application's embodiments, "adjustment" refers to the process of replanning the robot's drive parameters. Target drive parameters refer to a set or sequence of target drive parameters. Target drive parameters are the drive parameters obtained through adjustment. Target position refers to the reference position obtained through adjustment, and target time refers to the control time at which the reference position needs adjustment. For example, target drive parameters may include at least one of the following: support target drive parameters obtained by adjusting the robot's support mechanical leg assembly, swing target drive parameters obtained by adjusting the robot's swing mechanical leg assembly, body target drive parameters obtained by adjusting the robot's body, centroid target drive parameters obtained by centroid planning for the robot, and ZMP target drive parameters obtained by ZMP planning for the robot. In some examples, target drive parameters may simultaneously include: centroid target drive parameters and ZMP target drive parameters.

[0109] Among them, target driving parameters can replace reference driving parameters to guide robot movement. For example, support target driving parameters can replace support reference driving parameters to guide the movement of support mechanical leg assembly, swing target driving parameters can replace swing reference driving parameters to guide the movement of swing mechanical leg assembly, body target driving parameters can replace body reference driving parameters to guide the movement of body, center of mass target driving parameters can replace center of mass reference driving parameters to guide the movement of center of mass, and ZMP target driving parameters can replace ZMP reference driving parameters to guide the movement of ZMP. In this way, the robot can be guided to perform tasks by replacing the initial driving parameters with target driving parameters.

[0110] In some embodiments, reference driving parameters are ideal movement paths generated by a planning algorithm, containing a sequence of reference positions that the robot should follow during task execution. These driving parameters are used to guide different parts of the robot to move in a predetermined manner. Initial driving parameters are a pre-planned set of driving parameters that include the reference driving parameters that the robot needs to follow throughout the task. This set guides the robot to start the task from a starting position. Before the first control moment, the robot can move using the initial driving parameters. This means that before the task begins, the robot already has a set of predetermined driving parameters to follow until the point where adjustments are needed. A reference position is a specific point in the reference driving parameters that represents the position the robot is expected to reach at a given control moment. These positions are calculated by the planning algorithm based on task requirements and the robot's dynamic characteristics. In bipedal robots or similar systems, the concepts of supporting mechanical leg groups and swinging mechanical leg groups alternate, depending on the robot's gait: leg groups that bear the robot's weight at a given moment. They must remain stable to prevent the robot from falling. Leg groups that do not directly bear weight at a given moment, but swing forward or backward. They are used to propel the robot forward or change position.

[0111] In some embodiments, if the first robotic leg group is used for standing (supporting robotic leg group), then the second robotic leg group is used for swinging (swinging robotic leg group); if the first robotic leg group is used for swinging, then the second robotic leg group is used for standing. When the first robotic leg group is the supporting robotic leg group, the second robotic leg group is the swinging robotic leg group; when the second robotic leg group becomes the supporting robotic leg group, the first robotic leg group becomes the swinging robotic leg group. Flexible role assignment allows the robot to adjust its motion strategy under different gaits and task requirements. By rationally planning the reference drive parameters and adjusting the roles between the robotic leg groups in real time, the robot can achieve stable dynamic walking and other complex motion behaviors.

[0112] Obtaining target driving parameters using the robot's state information at the first control moment as initial information can refer to the process of determining the robot's target position at the first control moment, and the target position at at least one second control moment after the first control moment, based on the robot's state information at the first control moment.

[0113] In some embodiments, the aforementioned state information includes the robot's center of mass being at a first position in a first direction at the first control moment, the robot's zero torque point (ZMP) being at a second position in the first direction at the first control moment, and the velocity of the center of mass in the first direction at the first control moment.

[0114] In some embodiments, the target driving parameters for controlling the first and second mechanical leg groups to swing alternately from the first control moment, so that the robot moves on the support surface, based on the state information, can be obtained as follows: A state variable group of the robot at the first control moment is constructed using the first position, the second position, and the velocity as elements; based on the state variable group, the initial driving parameters at the second control moment, which correspond to the same target driving parameters, are adjusted to obtain the target driving parameters for controlling the first and second mechanical leg groups to swing alternately from the first control moment, so that the robot moves on the support surface.

[0115] In some embodiments, the state information includes the following three key elements: Center of mass position: The robot's center of mass is located at a first position in the first direction at the first control moment. Zero torque point (ZMP) position: The robot's zero torque point (ZMP) is located at a second position in the first direction at the first control moment. Center of mass velocity: The velocity of the center of mass in the first direction at the first control moment.

[0116] In some embodiments, the robot's center of mass is located at a specific position in the first direction at the first control moment. The center of mass is the point where the robot's overall weight is concentrated, and its position directly affects the robot's balance and stability. The robot's zero-moment point (ZMP) is located at a specific position in the first direction at the first control moment. The ZMP is the instantaneous equilibrium point of the robot's support point, and its position determines the robot's stability on the support surface. The velocity of the center of mass in the first direction at the first control moment. Velocity information reflects the dynamic changes of the center of mass and is crucial for predicting the robot's motion trend and adjusting the control strategy.

[0117] In some embodiments, based on the above state information, a state variable set for the robot is constructed at the first control moment. The state variable set is a collection containing the center of mass position, ZMP position, and center of mass velocity, specifically as follows: Center of mass position: the specific position of the center of mass in the first direction at the first control moment; ZMP position: the specific position of the ZMP in the first direction at the first control moment; Center of mass velocity: the velocity of the center of mass in the first direction at the first control moment.

[0118] In some embodiments, the robot's current dynamic state is evaluated based on the center of mass position, ZMP position, and center of mass velocity in the state variable set. For example, if the ZMP position deviates from the center of the support surface, the robot may be in an unstable state. Based on the evaluation results, the drive parameters that need adjustment are determined. For example, if the ZMP position deviates from the center of the support surface, it may be necessary to adjust the drive parameters of the swing leg to move it in the direction of ZMP deviation in order to restore balance. The initial drive parameters are adjusted to generate target drive parameters. The initial drive parameters may include the drive parameters of the support leg, the drive parameters of the swing leg, the drive parameters of the body posture, etc. By adjusting these parameters, stable movement of the robot on the support surface can be ensured. Through the above adjustments, target drive parameters are generated for controlling the alternating swing of the first and second robotic leg groups from the first control moment. These target drive parameters ensure that the robot maintains balance and stability when moving on the support surface.

[0119] In some embodiments, the adjustment of the initial driving parameters at the second control moment corresponding to the target driving parameters based on the state variable set to obtain the target driving parameters for controlling the first and second mechanical leg groups to swing alternately from the first control moment, so that the robot moves on the support surface, can be achieved as follows: Based on the state variable set of the robot at the third control moment, obtain the prior state variable set of the robot at the first control moment, where the third control moment is the control moment preceding the first control moment; fuse the state variable set and the prior state variable set to obtain the adjusted state variable set, wherein the adjusted state variable set includes: the adjusted position of the center of mass in the first direction at the first control moment, the adjusted position of the ZMP in the first direction at the first control moment, and the adjusted velocity of the center of mass in the first direction at the first control moment; based on the adjusted state variable set, adjust the initial driving parameters to obtain the target driving parameters.

[0120] In some embodiments, the state variable set describes the robot's dynamic state at a given control moment, including key information such as the center of mass position, zero-torque point (ZMP) position, and center of mass velocity. This information is crucial for controlling the robot's motion because it directly affects the robot's balance and stability. To more accurately adjust the drive parameters, the robot's state at the previous control moment needs to be considered. Based on the robot's state variable set at the third control moment, the robot's prior state variable set at the first control moment can be obtained. The third control moment is the control moment preceding the first control moment. The state variable set at the third control moment contains information such as the robot's center of mass position, ZMP position, and center of mass velocity at the third control moment. The prior state variable set predicts the robot's state at the first control moment based on the state variable set at the third control moment. This information provides the robot's dynamic state at the previous moment, which helps predict the state at the current moment.

[0121] In some embodiments, the state variable set at the first control moment is fused with the prior state variable set to obtain the adjusted state variable set. The fusion process comprehensively considers the state information at the current moment and the previous moment to more accurately reflect the robot's true dynamic state. The adjusted state variable set includes the adjusted position of the center of mass in the first direction at the first control moment, the adjusted position of the ZMP in the first direction at the first control moment, and the adjusted velocity of the center of mass in the first direction at the first control moment. The purpose of fusion is to smooth the changes in state variables, reduce abrupt changes caused by measurement noise or dynamic changes, and improve the stability and accuracy of control. Based on the adjusted state variable set, the initial driving parameters are adjusted to obtain the target driving parameters. The initial driving parameters are the robot's driving parameters at the second control moment and need to be adjusted according to the current state information to ensure that the robot can move stably at the first control moment.

[0122] In some embodiments, the initial driving parameters include the driving parameters of the supporting legs, the driving parameters of the swinging legs, and the driving parameters of the body posture. The adjustment process involves evaluating the robot's current dynamic state based on the center of mass position, ZMP position, and center of mass velocity in the adjusted state variable group, and determining the driving parameters that need adjustment. For example, if the ZMP position deviates from the center of the support surface, it may be necessary to adjust the driving parameters of the swinging legs to move them in the direction of ZMP deviation to restore balance. The target driving parameters are the adjusted driving parameters used to control the alternating swinging of the first and second robotic leg groups from the first control moment, ensuring stable movement of the robot on the support surface.

[0123] As an example, suppose we are controlling a quadruped robot to move on an uneven surface. The robot needs to adjust the motion parameters of its legs in real time according to the current dynamic state to maintain balance and stability. At the third control moment, the robot records its state information such as center of mass position, ZMP position, and center of mass velocity. Based on this information, the robot's prior state variable set at the first control moment is predicted. At the first control moment, the robot detects its state information such as center of mass position, ZMP position, and center of mass velocity. This information is fused with the prior state variable set to obtain the adjusted state variable set. Analyzing the adjusted state variable set determines the driving parameters that need to be adjusted. For example, if the ZMP position deviates from the center of the support surface, the driving parameters of the swinging leg are adjusted to move it in the direction of ZMP deviation to restore balance. The adjusted driving parameters generate target driving parameters to control the alternating swinging of the first and second mechanical leg groups from the first control moment. By acquiring prior state variable sets, fusing state variable sets, and adjusting initial driving parameters, the robot can adjust the motion parameters of its legs in real time according to the current and previous dynamic states, thereby achieving stable movement. This not only improves the robot's adaptability in complex environments but also enhances the accuracy and stability of its motion control.

[0124] In one example, taking the initial driving parameters as including: support reference driving parameters, swing reference driving parameters, fuselage reference driving parameters, center of mass reference driving parameters, and ZMP reference driving parameters, this embodiment of the application can adjust only the center of mass reference driving parameters, while retaining the support reference driving parameters, swing reference driving parameters, fuselage reference driving parameters, and ZMP reference driving parameters. This ensures that the robot completes the task while reducing the workload of adjusting the initial driving parameters. As shown in Figure 8, step 702 may include the following sub-steps:

[0125] Step 702a: Using the position of the center of mass in the first direction at the first control time, the position of the robot's ZMP in the first direction at the first control time, and the velocity of the center of mass in the first direction at the first control time as elements, construct the state variable group of the robot at the first control time.

[0126] In some embodiments, the centroid reference driving parameters include: centroid reference driving parameters planned along a first direction and centroid reference driving parameters planned along a second direction; or the centroid reference driving parameters include only the centroid reference driving parameters planned along the first direction. The ZMP reference driving parameters include: ZMP reference driving parameters planned along a first direction and ZMP reference driving parameters planned along a second direction; or the ZMP reference driving parameters include only the ZMP reference driving parameters planned along the first direction. This application embodiment does not limit the first and second directions, which can be used to indicate the robot's forward direction. For example, in tasks such as gait walking, climbing stairs, crossing obstacles, and stationary walking, the first direction can refer to the horizontal direction (i.e., the direction perpendicular to the direction of gravity), corresponding to the x-axis direction in the world coordinate system, to indicate the robot's forward direction. The second direction can refer to the vertical direction (such as the opposite direction of gravity), corresponding to the z-axis direction in the world coordinate system.

[0127] In some embodiments, the state variable group is constructed based on real-time data of the robot at the first control moment, and it includes the following elements: the position of the center of mass in the first direction at the first control moment, which is the coordinate value of the robot's center of mass position along the first direction (typically the horizontal direction) at the first control moment; the position of the robot's ZMP in the first direction at the first control moment, which is the coordinate value of the robot's ZMP position along the first direction at the first control moment; and the velocity of the center of mass in the first direction at the first control moment, which is the velocity of the robot's center of mass along the first direction at the first control moment.

[0128] The embodiments of this application may only adjust the centroid reference driving parameters planned along the first direction, so as to further reduce the workload of adjusting the initial driving parameters.

[0129] The position of the centroid in the first direction at the first control moment can refer to the position observed along the first direction with respect to the centroid at the first control moment. The position of the ZMP in the first direction at the first control moment can refer to the position observed along the first direction with respect to the ZMP at the first control moment. The velocity of the centroid in the first direction at the first control moment can refer to the velocity observed along the first direction with respect to the centroid at the first control moment. In some embodiments, the velocity of the centroid in the first direction at the first control moment can also be the first derivative of the position of the centroid in the first direction at the first control moment with respect to time.

[0130] A state variable set refers to a group of state variables constructed based on state information. This set can be used to indicate the robot's state. A state variable set can be a group or sequence of state variables. State variables are variables used to describe the robot's state; for example, the robot's state information can be defined as state variables.

[0131] For example, the robot's state variable set at the first control moment can be represented as follows:

[0132] Where, p zmp,x Let p be the position of ZMP in the first direction at the first control time k. com,x Let the position of the center of mass in the first direction be defined at the first control time k. Let be the velocity of the center of mass in the first direction at the first control moment k.

[0133] Step 702b: Based on the robot's state variable set at the second control time, obtain the robot's prior state variable set at the first control time. The second control time is the control time preceding the first control time.

[0134] In some embodiments, the state variable set of the robot at the second control time is constructed based on the state information of the robot at the second control time, such as the position of the center of mass in the first direction at the second control time, the position of the ZMP in the first direction at the second control time, and the velocity of the center of mass in the first direction at the second control time.

[0135] In some embodiments, the estimation and prediction of state variables is a core issue in robot control. This section analyzes how to infer the robot's prior state variables at the first control time based on the robot's state variable set at the second control time. Assuming the robot's state changes can be represented by a linear time-invariant system, a state transition equation can be used to describe the transition process of state variables from the second control time to the first control time. If the state variables include position and velocity, inverse kinematics equations can be used to estimate the prior state at the first control time. For example, if the robot's position and velocity at the second control time are known, the position at the first control time can be estimated through a relationship.

[0136] In a feasible example, if the robot has an adjusted set of state variables at the second control time, the adjusted set of state variables at the second control time can be determined as the robot's state variable set at the second control time. Specifically, the adjusted set of state variables at the second control time can be obtained by fusing the robot's state variable set at the second control time with its prior state variable set at the second control time.

[0137] If the robot does not have an adjusted set of state variables at the second control time, the prior set of state variables of the robot at the second control time can be determined as the state variable set of the robot at the second control time. This application does not limit this.

[0138] The prior state variable set at the first control time can be a set of state variables predicted based on the state variable set at the second control time; this prior state variable set is the predicted value. For example, the prior state variable set of the robot at the first control time can be determined based on the robot's state-space equations. This acquisition process can be represented as follows:

[0139] in, Let be the robot's prior state variables at the first control time k. Let u be the state variable set of the robot at the second control time k-1. k-1 Let A be the actual control variables set for the robot at the second control time k-1. Let A and B be matrices A and B corresponding to the robot's state-space equations.

[0140] The state-space equation of a robot is constructed based on a set of control variables, a set of state variables, and a set of output variables. It describes the robot's state at a given control moment (e.g., represented by a set of state control variables), and its state at the next control moment after being influenced by the control information (e.g., represented by the set of control variables) at that control moment. The state-space equation can also describe the relationship between output information (e.g., represented by a set of output variables) and the robot's state information. Output information may include the robot's sensor readings and other parameters of interest. The output information can be set and adjusted according to actual usage requirements; this application does not limit this.

[0141] In one example, the movement of the robot's center of mass in the first direction can be simplified to an inverted pendulum model. For example, referring to Figure 9, a quadrupedal wheeled robot can be simplified to an inverted pendulum model 90°, where m is the total mass of the robot, and P... com,x P represents the position of the centroid in the first direction (i.e., the x-axis) in the world coordinate system. zmp,x Let P be the position of ZMP in the first direction in the world coordinate system. com,z This refers to the position of the centroid in the second direction (i.e., the z-axis direction) in the world coordinate system.

[0142] For example, the state-space equations of the robot can be expressed as follows: x(k+1)=Ax(k)+Bu(k) (3) y(k)=Cx(k) (4)

[0143] Where x(k+1) is the state variable set at control time k+1, x(k) is the state variable set at control time k, u(k) is the control variable set at control time k, y(k) is the output variable set at control time k, and t cThis represents the control period (i.e., the time interval specified above), where a is a constant and g is the gravitational acceleration.

[0144] In some embodiments, the state variable group, control variable group, and output variable group can be set and adjusted according to actual usage requirements.

[0145] Step 702c: Merge the state variable set and the prior state variable set to obtain the adjusted state variable set, wherein the adjusted state variable set includes: the adjusted position of the center of mass in the first direction at the first control time, the adjusted position of the ZMP in the first direction at the first control time, and the adjusted velocity of the center of mass in the first direction at the first control time.

[0146] The above fusion refers to the process of data fusion. The adjusted position refers to the position obtained by combining the fused position with the prior positions in the prior state variable group, and the adjusted velocity refers to the position obtained by combining the fused velocity with the prior velocity in the prior state variable group.

[0147] In some embodiments, in robot control and motion planning, the state variable set is a set of parameters describing the robot's current state. These parameters may include the position and velocity of the center of mass, the position of the zero-moment point (ZMP), etc. Fusing the state variable set and the prior state variable set is to obtain a more accurate robot state estimate. The state variable set is real-time data obtained from sensors (such as accelerometers, gyroscopes, encoders, etc.) and reflects the robot's current actual state. The prior state variable set is a robot state estimate based on previous motion states and prediction models. For example, if the robot is moving, its position at the next moment can be predicted based on its velocity and acceleration. The adjusted state variable set is a more accurate robot state estimate obtained by fusing the state variable set and the prior variable set. This process typically involves filtering techniques, such as Kalman filters, which estimate the most probable robot state based on sensor data and prediction models. The adjusted position is obtained by fusing the current position and the prior position. The current position comes from sensor data, and the prior position is an estimate based on the prediction model. The fusion process considers the uncertainties of both the sensors and the model to obtain the most probable position estimate. The adjusted velocity is obtained by fusing the velocity and the prior velocity. The velocity is also derived from sensor data, with the prior velocity estimated based on a predictive model. The fusion process also considers sensor noise and model uncertainty to obtain the most probable velocity estimate. At the first control moment, the adjusted position and adjusted velocity in the first direction are the robot's most probable position and velocity estimates along the first direction at that moment. These estimates are used for robot control and motion planning to ensure that the robot can move according to the expected drive parameters and maintain balance.

[0148] In some embodiments, to avoid instantaneous changes in the robot's state and control torque caused by adjustments (i.e., directly changing the reference position to the position, which would cause instantaneous changes in the robot's state and control torque), this application introduces an observer when adjusting the initial drive parameters. This observer is used to fuse the state variable set and the prior state variable set, so that the robot can smoothly transition from the actual state at the current moment to the planned target state, making the transition between the current state information and the target position smoother, thereby improving the overall control stability of the robot.

[0149] In one example, the process of fusing the state variable set and the prior state variable set may include the following:

[0150] 1. Based on the state variable set, the output variable set of the robot at the first control moment is obtained. The output variable set is used to indicate the state information of the robot observed at the first control moment.

[0151] In some embodiments, the robot's output variable set at the first control moment can be obtained based on the robot's state-space equations. This output variable set can be represented as follows: y k =Hx k (6)

[0152] Where, x k Let H be the set of state variables of the robot at the first control time k. H is the identity matrix when all state information of the robot can be observed.

[0153] 2. Based on the robot's state-space equation, obtain the robot's Kalman gain at the first control moment. The state-space equation can be used to indicate the relationship between the robot's prior state variable set, prior control variable set, and prior output variable set.

[0154] Kalman gain is used to measure the uncertainty when fusing the set of state variables and the set of prior state variables.

[0155] In some embodiments, state-space equations and Kalman filters are important tools for estimating robot states in robot control and motion planning. The output variable set is the robot's output state information obtained based on the state variable set at the first control time. These output variable sets are used to indicate the state information observed in the robot at the first control time. For example, if the robot is a mobile robot, the output variable set might include the robot's current position and velocity. The state-space equation is a mathematical model describing the relationship between the robot's state variable set, control variable set, and output variable set. The state-space equation typically includes state equations and output equations. The state equations describe how the state variable set changes over time, while the output equations describe how the output variable set is generated by the state variable set and control variable set. The prior state variable set, prior control variable set, and prior output variable set are robot state estimates obtained based on the state-space equation and previous motion state predictions. For example, if the robot is moving, its position at the next time step can be predicted based on its velocity and acceleration.

[0156] In some embodiments, the Kalman gain is a key parameter in the Kalman filter, used to measure the uncertainty when fusing the state variable set and the prior state variable set. The Kalman gain determines the weights of the state variable set and the prior state variable set during the fusion process. If the uncertainty of the sensor data is low, the Kalman gain will be higher, meaning the state variable set has a greater weight in the fusion. Conversely, if the uncertainty of the sensor data is high, the Kalman gain will be lower, meaning the prior state variable set has a greater weight in the fusion. At the first control moment, based on the robot's state-space equations, the robot's Kalman gain at that moment can be obtained. Then, using this Kalman gain, the state variable set and the prior state variable set can be fused to obtain a more accurate robot state estimate. This process ensures that the robot can perform control and motion planning based on the latest state information to achieve the expected motion trajectory and maintain balance.

[0157] For example, the process of obtaining the Kalman gain of the robot at the first control moment can be as follows:

[0158] (1) By adjusting the posterior value of the covariance at the second control time through the first matrix corresponding to the prior state variable group in the state space equation, the prior value of the covariance at the first control time is obtained. This covariance is used to measure the correlation between the output variable group and the prior state variable group.

[0159] For example, the prior value of the covariance at the first control time can be expressed as follows:

[0160] in, Let P be the prior value of the covariance at the first control time k.k-1 Let Q1 be the posterior value of the covariance at the second control time k-1, and let Q1 be the parameter matrix, which can be set based on empirical values. The initial values ​​of the covariance (including prior and posterior values) can be obtained through random initialization.

[0161] In some embodiments, the posterior value of the covariance at the second control time k-1 can be expressed as follows:

[0162] Where I is the identity matrix, K k-1 For the Kalman gain at the second control time k-1, Let be the prior value of the covariance at the second control time k-1.

[0163] (2) Based on the prior value of the covariance at the first control time, the Kalman gain is obtained.

[0164] In some embodiments, the Kalman gain of the robot at the first control moment can be expressed as follows:

[0165] R1 is a parameter matrix, which can be set based on empirical values.

[0166] In some embodiments, within the framework of a Kalman filter, the state-space equations describe the dynamic behavior of the system, while the covariance matrix represents the uncertainty of the state estimate. The state-space equations typically include state equations and output equations. The state equations describe how the system state evolves over time, while the output equations describe how the system output is generated by the state and possible inputs. The covariance matrix represents the uncertainty of the state estimate. In a Kalman filter, the covariance matrix is ​​adjusted via the state transition matrix. The covariance matrix measures the correlation between the set of output variables and the set of prior state variables. In a Kalman filter, this correlation is used to calculate the Kalman gain, thereby determining how to incorporate actual observation data into the prior state estimate.

[0167] 3. Based on Kalman gain, the output variable set and the prior state variable set are fused to obtain the adjusted state variable set.

[0168] In some embodiments, the adjusted state variable set can be obtained by substituting the Kalman gain, the fused output variable set, and the prior state variable set into the fusion formula. For example, this process may include the following:

[0169] (1) Based on the output variable group and the prior state variable group, the first intermediate variable group is obtained.

[0170] In some embodiments, the first intermediate variable set is obtained by subtracting the product of the output variable set, the prior state variable set, and the matrix H described above. The first intermediate variable set can be represented as follows: y k -Hx k (10)

[0171] (2) Based on the first set of intermediate variables and the Kalman gain, the second set of intermediate variables is obtained.

[0172] In some embodiments, multiplying the first set of intermediate variables by the Kalman gain yields the second set of intermediate variables, which can be represented as follows: K K (yk-Hx k (11)

[0173] (3) Based on the second intermediate variable group and the prior state variable group, the adjusted state variable group is obtained.

[0174] In some embodiments, the adjusted state variable set can be obtained by adding the second intermediate variable set and the prior state variable set. The adjusted state variable set can be represented as follows:

[0175] In some embodiments, the prior state variable set is a robot state estimate obtained based on previous motion states and a prediction model before updating. For example, if the robot is moving, its position at the next moment can be predicted based on its velocity and acceleration. The first intermediate variable set is obtained by comparing the output variable set and the prior state variable set. Specifically, the first intermediate variable set is typically represented as the measurement residual, i.e., the difference between the actual output and the predicted output. The Kalman gain is a key parameter in the Kalman filter used to determine how the measurement residual is incorporated into the prior state estimate. The second intermediate variable set is obtained by multiplying the measurement residual by the Kalman gain and represents the amount by which the prior state variable set needs to be adjusted. The adjusted state variable set is a more accurate robot state estimate obtained by adding the second intermediate variable set to the prior state variable set.

[0176] Thus, by comparing the output variable set and the prior state variable set, the measurement residuals, i.e., the first intermediate variable set, can be obtained, reflecting the difference between actual observations and predictions. Then, using Kalman gain, the measurement residuals are transformed into adjustments to the prior state variable set, i.e., the second intermediate variable set. This process considers measurement noise and the uncertainty of the system model. Finally, the second intermediate variable set is added to the prior state variable set to obtain the adjusted state variable set. This result not only includes the latest observation information but also considers dynamic characteristics and noise effects, thereby improving the accuracy of state estimation. This provides reliable robot state information in uncertain environments, laying a solid foundation for robot control and motion planning.

[0177] Step 702d: Based on the adjusted state variable group, adjust the centroid reference driving parameters to obtain the centroid target driving parameters.

[0178] The centroid target-driven parameters include the target position at each target time.

[0179] In some embodiments, the Discrete Linear Quadratic Regulator (DLQR) method can be used to obtain the centroid target driving parameters based on the adjusted set of state variables. Compared to the Singular Quadratic Regulator (SLQR) method, the DLQR method adds consideration to Q and R (parameter matrices, which can be set according to empirical values ​​and are different from Q1 and R1 mentioned above) in the LQR method. This allows Q and R to be adjusted according to actual usage requirements during the adjustment of the centroid target driving parameters, thereby improving the flexibility of adjusting the reference driving parameters.

[0180] For example, the process of obtaining the centroid target-driven parameters may include the following:

[0181] 1. Based on the adjusted state variable set, construct the adjusted control variable set for the robot at the first control moment.

[0182] In some embodiments, the adjusted set of control variables for the robot at the first control time k can be represented as follows:

[0183] Where, x k This represents the adjusted state variable set for the robot at the first control time k, where k+i is the i-th control time after the first control time k. In some embodiments, the control variable set may include the velocity p determined by ZMP along a first direction. zmp,x ,but This can be the reference position for ZMP at control time k+i. i = (R+B) T PB) -1 B T P(A-BK) T(i-1) C T Q (14)

[0184] Where P = A T PA+C T QC-A T PB(R+B T PB) -1 B T PA is the intermediate variable matrix, A, B, and C are the matrices corresponding to the state-space equations, and Q and R are the matrices corresponding to the discrete linear quadratic control method.

[0185] 2. Using the adjusted control variable set at the first control moment as the initial value, construct the sequence of control variable sets to be solved, and using the position of ZMP in the adjusted state variable set as the initial value, construct the ZMP target driving parameters to be solved.

[0186] In some embodiments, the sequence of control variables to be solved includes the integrated control variable set at the target time, such as the first control time, and the integrated control variable set at at least one second control time after the first control time. All adjusted control variable sets in the sequence of control variables to be solved, except for the adjusted control variable set at the first control time, are unknowns, i.e., quantities to be solved.

[0187] The ZMP target driving parameters to be solved include the target position of ZMP at the target time, such as the first control time, and the target position at at least one second control time after the first control time. Except for the target position at the first control time, all other target positions in the ZMP target driving parameters to be solved are unknowns, i.e., variables to be solved. The target position of ZMP at the first control time is the position of ZMP in the adjusted control variable set.

[0188] In some embodiments, the sequence of control variables to be solved is denoted as u = {u k ,u k+1 The ZMP target driving parameters to be solved are denoted as ,…} This refers to the position of ZMP in the adjusted control variable group at the first control time k.

[0189] 3. Using the discrete linear quadratic tuning machine control method, a cost function is constructed based on the sequence of control variables to be solved, the ZMP target driving parameters to be solved, and the ZMP reference driving parameters. The cost function is used to define the difference between the ZMP target driving parameters and the ZMP reference driving parameters, as well as the energy of the sequence of control variables.

[0190] In this embodiment of the application, the cost function is used to make the control variable set sequence u = {u k ,u k+1 The energy of ,…} should not be too high, while making Close to p ref (i.e., ZMP reference driving parameters), therefore, the cost function can be constructed as follows:

[0191] Where J is the value of the cost function.

[0192] 4. With the goal of minimizing the cost function, iteratively adjust the sequence of control variables to be solved to obtain the adjusted sequence of control variables.

[0193] In some embodiments, the adjusted sequence of control variables can be represented as follows: u′={u′ k ,u′ k+1 ,…} (16)

[0194] 5. Based on the adjusted sequence of control variables, the centroid target driving parameters are obtained.

[0195] In some embodiments, for the first control time, the position of the centroid in the first direction in the adjusted state variable group at the first control time k can be determined as the target position of the centroid in the first direction at the first control time, while the reference position of the centroid in the second direction at the first control time remains unchanged. For example, The position of the centroid in the first direction is determined as the target position of the centroid in the first control moment k in the first direction.

[0196] In some embodiments, the third control time refers to the control time following the first control time, denoted as k+1. Based on the adjusted control variable set of the robot at the first control time and the adjusted state variable set in the adjusted control variable set sequence, the adjusted state variable set of the robot at the third control time is obtained.

[0197] In some embodiments, based on sensor data and a prediction model, an adjusted set of state variables is obtained using a Kalman filter. This includes the robot's center of mass position, velocity, and ZMP position at the first control moment. Based on the adjusted set of state variables, an adjusted set of control variables for the robot at the first control moment is constructed. These control variables may include joint angles, motor torque, etc., used to control the robot's motion. Using the adjusted set of control variables at the first control moment as initial values, a sequence of control variables to be solved is constructed. Simultaneously, using the ZMP position in the adjusted set of state variables as initial values, a target ZMP driving parameter to be solved is constructed. These sequences and trajectories will be adjusted in subsequent optimization processes. Using control methods such as Discrete Linear Quadratic Regulation (LQR), a cost function is constructed based on the sequence of control variables to be solved, the target ZMP driving parameter to be solved, and a predefined reference ZMP driving parameter. This cost function typically includes two parts: one is the difference between the target ZMP driving parameter and the reference ZMP driving parameter, and the other is the energy of the control variable sequence (such as the sum of squares of the control inputs) to penalize large control inputs. With the objective of minimizing the cost function, optimization algorithms (such as gradient descent and Newton's method) are used to iteratively adjust the sequence of control variables to be solved. During this process, the sequence of control variables is continuously adjusted to make the ZMP target driving parameters as close as possible to the reference driving parameters, while keeping the energy of the control input low. After optimization, the adjusted sequence of control variables is obtained. Based on this sequence, the target driving parameters of the center of mass can be calculated using the robot's dynamic model. This trajectory reflects the motion of the robot's center of mass after executing the control input and is an important basis for robot motion planning and control.

[0198] For example, substitute the adjusted control variable set of the robot at the first control moment, and the adjusted state variable set from the adjusted control variable set sequence into the robot's state-space equation (e.g., x(k+1)=Ax(k)+Bu(k) or By doing so, we can obtain the adjusted state variable set of the robot at the third control moment.

[0199] The position of the centroid in the first direction in the adjusted state variable group at the third control time is determined as the target position of the centroid in the first direction at the third control time. For example, The position of the centroid in the first direction is determined to be the target position of the centroid in the first direction at the third control time k+1.

[0200] In some embodiments, the nth control time refers to the control time after the third control time, denoted as k+n-2, where n is an integer greater than 3. For example, the fourth control time is the second control time after the first control time. Based on the adjusted control variable set of the robot at the (n-1)th control time and the adjusted state variable set of the robot at the (n-1)th control time, the adjusted state variable set of the robot at the nth control time is obtained.

[0201] For example, substitute the adjusted control variable set of the robot at control time n-1, and the adjusted state variable set of the robot at control time n-1, into the robot's state-space equation (e.g., x(k+1)=Ax(k)+Bu(k) or By doing so, we can obtain the adjusted state variable set of the robot at the (n-1)th control time.

[0202] Thus, based on the adjusted state variable set, an adjusted control variable set for the robot at the first control moment is constructed, ensuring a close correlation between the control input and the current robot state. Then, using the adjusted control variable set as initial values, a sequence of control variables to be solved and ZMP target driving parameters are constructed. This sequence and driving parameters provide the foundation for subsequent optimization. Next, using control methods such as Discrete Linear Quadratic Regulation (LQR), a cost function is constructed based on the sequence of control variables to be solved, the ZMP target driving parameters, and the ZMP reference driving parameters. This cost function not only defines the difference between the ZMP target driving parameters and the reference driving parameters but also considers the energy of the control variable set sequence, thereby balancing the accuracy of driving parameter detection with the economy of control input during optimization. With the goal of minimizing the cost function, an optimal control variable set sequence that meets both the reference driving parameter requirements and the control input energy is obtained through iterative adjustment of the control variable set sequence. Finally, based on this optimal control variable set sequence, the target driving parameters for the centroid are obtained. These driving parameters ensure that the robot maintains good stability and motion efficiency when performing motion tasks. Therefore, the process of obtaining the target driving parameters of the centroid has important practical application value in robot motion control.

[0203] The position of the center of mass in the first direction in the adjusted state variable set of the robot at control time n is determined as the target position of the center of mass in the first direction at control time n. For example, The position of the centroid in the first direction is determined as the target position of the centroid in the first direction at the nth control time, and the centroid in the first direction is... The ZMP in the first direction is determined to be the target position of the ZMP in the first direction at the nth control time.

[0204] In some embodiments, for each target time, the reference position of the centroid in the second direction remains unchanged, thereby obtaining the centroid target driving parameters.

[0205] Step 702e: Replace the centroid reference driving parameters in the initial driving parameters with the centroid target driving parameters to obtain the target driving parameters.

[0206] In some embodiments, for each target time, the target driving parameters can be obtained by replacing the reference position in the initial driving parameters where the centroid is located in the first direction with the target position where the centroid is located in the first direction.

[0207] In one example, this application embodiment may adjust only the ZMP reference drive parameters, while retaining the support reference drive parameters, swing reference drive parameters, body reference drive parameters, and center of mass reference drive parameters. This ensures that the robot completes the task while reducing the workload of adjusting the initial drive parameters. For content not described in this application embodiment, please refer to the above embodiments. This process may include the following:

[0208] 1. Using the position of the center of mass in the first direction, the position of the robot's ZMP in the first direction, and the velocity of the center of mass in the first direction in the first control moment as elements, construct the robot's state variable set in the first control moment.

[0209] In some embodiments, the ZMP reference driving parameters include: ZMP reference driving parameters planned along a first direction and ZMP reference driving parameters planned along a second direction. Alternatively, the ZMP reference driving parameters may include only the ZMP reference driving parameters planned along the first direction. Embodiments of this application may adjust only the ZMP reference driving parameters planned along the first direction to further reduce the workload of adjusting the initial driving parameters.

[0210] For example, the robot's state variable set at the first control moment can be represented as follows:

[0211] Where, p zmp,x Let p be the position of ZMP in the first direction at the first control time k. com,x Let the position of the center of mass in the first direction be defined at the first control time k. Let be the velocity of the center of mass in the first direction at the first control moment k.

[0212] 2. Based on the robot's state variable set at the second control time, the robot's prior state variable set at the first control time is obtained. The second control time is the control time preceding the first control time.

[0213] For example, the prior state variable set of the robot at the first control moment can be determined based on the robot's state-space equations. This acquisition process can be represented as follows:

[0214] in, Let be the robot's prior state variables at the first control time k. Let u be the state variable set of the robot at the second control time k-1. k-1 Let A be the actual control variables set for the robot at the second control time k-1. Let A and B be matrices A and B corresponding to the robot's state-space equations.

[0215] 3. The state variable set and the prior state variable set are merged to obtain the adjusted state variable set, which includes: the adjusted position of the center of mass in the first direction at the first control time, the adjusted position of the ZMP in the first direction at the first control time, and the adjusted velocity of the center of mass in the first direction at the first control time.

[0216] In some embodiments, the adjusted state variable group can be represented as follows:

[0217] 4. Based on the adjusted state variable group, adjust the ZMP reference driving parameters to obtain the ZMP target driving parameters.

[0218] In some embodiments, at the first control moment, a set of state variables for the robot is constructed based on sensor data and state information. This set of variables includes the position of the center of mass in the first direction, the position of the robot's ZMP (zero torque point) in the first direction, and the velocity of the center of mass in the first direction. These data reflect the actual state of the robot at the first control moment. Based on the state variable set of the robot at the second control moment, the prior state variable set of the robot at the first control moment is obtained through state-space equations or prediction models. The second control moment is the control moment preceding the first control moment. The prior state variable set is an estimate of the current state based on the previous motion state and the prediction model. The state variable set and the prior state variable set are fused to obtain the adjusted variable set. State estimation techniques such as Kalman filters are involved, which can combine actual observation data and prediction models to provide more accurate robot state estimates. The adjusted state variable set includes the adjusted position of the center of mass in the first direction, the adjusted position of the ZMP in the first direction, and the adjusted velocity of the center of mass in the first direction. Based on the adjusted state variable set, the ZMP reference driving parameters are adjusted to obtain the ZMP target driving parameters. The ZMP target driving parameters reflect the optimal motion trajectory of the robot after considering the actual state and the predicted state. This process ensures that the robot can maintain balance and move stably when performing motion tasks.

[0219] Thus, based on the state information at the first control moment, including the position of the center of mass and ZMP in the first direction, as well as the velocity of the center of mass, a set of state variables is constructed. This process ensures the real-time performance and accuracy of state estimation. Then, based on the set of state variables at the second control moment, the prior state variable set for the first control moment is obtained through state-space equations or a prediction model. This process utilizes the dynamic characteristics of the system and improves the predictive ability of state estimation. Next, the set of state variables and the prior state variable set are fused to obtain the adjusted set of state variables. This process combines actual observation data and the prediction model, and uses techniques such as Kalman filters to reduce the uncertainty of state estimation and improve its accuracy. Finally, based on the adjusted set of state variables, the ZMP reference driving parameters are adjusted to obtain the ZMP target driving parameters. This process ensures that the robot can make real-time adjustments based on the latest state information when performing motion tasks, maintaining balance and stable motion. Therefore, this method of constructing state variable sets and estimating state has significant practical application value in robot motion control, and can improve the robot's motion stability and adaptability.

[0220] ZMP target-driven parameters include the target position at each target time.

[0221] For example, the process of obtaining ZMP target driving parameters may include the following:

[0222] (1) Based on the adjusted state variable set, construct the adjusted control variable set of the robot at the first control moment.

[0223] (2) Using the adjusted control variable set at the first control moment as the initial value, construct the sequence of control variable sets to be solved, and using the position of ZMP in the adjusted state variable set as the initial value, construct the ZMP target driving parameters to be solved.

[0224] (3) Using the discrete linear quadratic tuning machine control method, a cost function is constructed based on the sequence of control variables to be solved, the ZMP target driving parameters to be solved, and the ZMP reference driving parameters. The cost function is used to define the difference between the ZMP target driving parameters and the ZMP reference driving parameters, as well as the energy of the sequence of control variables.

[0225] (4) With the goal of minimizing the cost function, iteratively adjust the sequence of control variables to be solved to obtain the adjusted sequence of control variables.

[0226] In some embodiments, the adjusted sequence of control variables can be represented as follows: u'={u' k ,u' k+1 ,…} (20)

[0227] (5) Based on the adjusted control variable set sequence, the ZMP target driving parameters are obtained.

[0228] In some embodiments, for a first control time, the position of ZMP in the first direction in the adjusted state variable group at the first control time can be determined as the target position of ZMP in the first direction at the first control time, while the reference position of ZMP in the second direction at the first control time remains unchanged. For example, The ZMP in the first direction is determined to be the target position of ZMP in the first control time k in the first direction.

[0229] In some embodiments, based on sensor data and a prediction model, an adjusted set of state variables is obtained through a Kalman filter. This includes the robot's center of mass position, velocity, and ZMP position at the first control moment. Based on the adjusted set of state variables, we construct an adjusted set of control variables for the robot at the first control moment. These control variables may include joint angles, motor torque, etc., used to control the robot's motion. Using the adjusted set of control variables at the first control moment as initial values, we construct a sequence of control variables to be solved. Simultaneously, using the ZMP position in the adjusted set of state variables as initial values, we construct a target ZMP driving parameter to be solved. These sequences and trajectories will be adjusted in subsequent optimization processes. Using control methods such as Discrete Linear Quadratic Regulation (LQR), we construct a cost function based on the sequence of control variables to be solved, the target ZMP driving parameter to be solved, and a predefined reference ZMP driving parameter. This cost function typically includes two parts: one is the difference between the target ZMP driving parameter and the reference ZMP driving parameter, and the other is the energy of the control variable sequence (such as the sum of squares of the control inputs) to penalize large control inputs. With the objective of minimizing the cost function, optimization algorithms (such as gradient descent and Newton's method) are used to iteratively adjust the sequence of control variables to be solved. The sequence of control variables is continuously adjusted to make the ZMP target driving parameters as close as possible to the reference driving parameters, while keeping the energy of the control input low. After optimization, the adjusted sequence of control variables is obtained. Based on this sequence, the target driving parameters of ZMP can be calculated using the robot's dynamic model. This trajectory reflects the robot's ZMP motion after executing the control input and is an important basis for robot motion planning and control.

[0230] In some embodiments, the third control time refers to the control time following the first control time, denoted as k+1. Based on the adjusted control variable set of the robot at the first control time and the adjusted state variable set in the adjusted control variable set sequence, the adjusted state variable set of the robot at the third control time is obtained.

[0231] For example, substitute the adjusted control variable set of the robot at the first control moment, and the adjusted state variable set from the adjusted control variable set sequence into the robot's state-space equation (e.g., x(k+1)=Ax(k)+Bu(k) or By doing so, we can obtain the adjusted state variable set of the robot at the third control moment.

[0232] The position of ZMP in the first direction in the adjusted state variable group at the third control time is determined as the target position of ZMP in the first direction at the third control time. For example, The ZMP in the first direction is determined to be the target position of the ZMP in the first direction at the third control time k+1.

[0233] In some embodiments, the nth control time refers to the control time after the third control time, denoted as k+n-2, where n is an integer greater than 3. For example, the fourth control time is the second control time after the first control time. Based on the adjusted control variable set of the robot at the (n-1)th control time and the adjusted state variable set of the robot at the (n-1)th control time, the adjusted state variable set of the robot at the nth control time is obtained.

[0234] For example, substitute the adjusted control variable set of the robot at control time n-1, and the adjusted state variable set of the robot at control time n-1, into the robot's state-space equation (e.g., x(k+1)=Ax(k)+Bu(k) or By doing so, we can obtain the adjusted state variable set of the robot at the (n-1)th control time.

[0235] The position of ZMP in the first direction in the adjusted state variable set of the robot at control time n is determined as the target position of ZMP in the first direction at control time n. For example, The ZMP in the first direction is determined to be the target position of the ZMP in the first direction at the nth control time.

[0236] In some embodiments, for each target time, the reference position of ZMP in the second direction remains unchanged, thereby obtaining the ZMP target driving parameters.

[0237] 5. Replace the ZMP reference driving parameters in the initial driving parameters with the ZMP target driving parameters to obtain the target driving parameters.

[0238] In some embodiments, for each target time, the target driving parameters can be obtained by replacing the reference position of ZMP in the first direction in the initial driving parameters with the target position of ZMP in the first direction.

[0239] In one example, embodiments of this application can simultaneously adjust the centroid reference driving parameters and the ZMP reference driving parameters, while retaining the support reference driving parameters and the swing reference driving parameters. This ensures that the robot can complete its task while reducing the workload of adjusting the initial driving parameters.

[0240] In some embodiments, after obtaining the centroid target driving parameters and ZMP target driving parameters based on the adjusted control variable set sequence, the centroid reference driving parameters and ZMP reference driving parameters in the initial driving parameters are replaced with the centroid target driving parameters and ZMP target driving parameters to obtain the target driving parameters.

[0241] Thus, based on the adjusted state variable set, the adjusted control variable set for the robot at the first control moment is constructed. This process ensures a close correlation between the control input and the current robot state. Using the adjusted control variable set as initial values, the sequence of control variables to be solved and the ZMP target driving parameters are constructed. The construction of this sequence and trajectory provides the foundation for subsequent optimization. Next, using control methods such as Discrete Linear Quadratic Regulation (LQR), a cost function is constructed based on the sequence of control variables to be solved, the ZMP target driving parameters, and the ZMP reference driving parameters. This cost function not only defines the difference between the ZMP target driving parameters and the reference driving parameters but also considers the energy of the control variable set sequence, thereby balancing the accuracy of trajectory detection and the economy of control input during the optimization process. With the goal of minimizing the value of the cost function, by iteratively adjusting the sequence of control variables to be solved, we can obtain an optimal control variable set sequence that meets the requirements of the reference driving parameters and takes into account the energy of the control input. Finally, based on this optimal sequence of control variables, we obtain the target driving parameters of ZMP and replace the ZMP reference driving parameters in the initial driving parameters with them to obtain the target driving parameters. This ensures that the robot can make real-time adjustments based on the latest state information when performing motion tasks, maintain balance and stable motion, thereby improving the robot's motion stability and adaptability.

[0242] In some embodiments, obtaining the target driving parameters for controlling the first and second robotic leg groups to alternately swing from the first control moment, so that the robot moves on the support surface, based on the state information, can be achieved as follows: Constructing a state variable set for the robot at the first control moment using the position of the center of mass in the first direction, the position of the robot's zero torque point ZMP in the first direction, and the velocity of the center of mass in the first direction as elements; and obtaining a priori state variable set for the robot at the first control moment based on the state variable set at the second control moment. The second control time is the control time preceding the first control time; the state variable group and the prior state variable group are fused to obtain the adjusted state variable group, wherein the adjusted state variable group includes: the adjusted position of the center of mass in the first direction at the first control time, the adjusted position of the ZMP in the first direction at the first control time, and the adjusted velocity of the center of mass in the first direction at the first control time; based on the adjusted state variable group, at least one of the support reference drive parameter, the swing reference drive parameter, the fuselage reference drive parameter, the center of mass reference drive parameter, and the ZMP reference drive parameter in the initial drive parameters is adjusted to obtain the target drive parameter.

[0243] In some embodiments, starting from a first control moment, based on target driving parameters, the first and second mechanical leg groups are controlled to swing alternately so that the robot moves on the support surface.

[0244] In some embodiments, for the first control moment and at least one second control moment after the first control moment, the first and second mechanical leg groups are controlled to swing alternately by using the reference position of the supporting mechanical leg, the reference position of the swinging mechanical leg, the target position of the center of mass, and the target position of ZMP, so that the robot moves in the first direction on the support surface; or, for the first control moment and at least one second control moment after the first control moment, the first and second mechanical leg groups are controlled to swing alternately by using the reference position of the supporting mechanical leg, the reference position of the swinging mechanical leg, the target position of the center of mass, and the reference position of ZMP, so that the robot moves in the first direction on the support surface; or, for the first control moment and at least one second control moment after the first control moment, the first and second mechanical leg groups are controlled to swing alternately by using the reference position of the supporting mechanical leg, the reference position of the swinging mechanical leg, the reference position of the center of mass, and the target position of ZMP, so that the robot moves in the first direction on the support surface. This embodiment of the application does not limit the scope of the embodiments.

[0245] In some embodiments, during the movement of the robot, there are multiple first control moments. For each first control moment, a target driving parameter is obtained, and the robot is controlled to move by replacing the target driving parameter adopted at that first control moment.

[0246] In this embodiment, the swinging of the mechanical leg assembly refers to the process of the mechanical leg assembly rotating around the hip joint as a fixed point, which is equivalent to rotating the mechanical leg assembly corresponding to the hip joint through the hip joint. In some embodiments, the length of the mechanical leg can be adjusted according to actual usage requirements during the swinging process of the mechanical leg assembly. The swinging of the first mechanical leg assembly refers to the swinging of the mechanical leg in the first mechanical leg assembly, the swinging of the second mechanical leg assembly refers to the swinging of the mechanical leg in the second mechanical leg assembly, and the alternating swinging of the first and second mechanical leg assemblies refers to the alternating swinging of the mechanical leg in the first and second mechanical leg assemblies.

[0247] In some embodiments, the initial driving parameters and target driving parameters in this application are used to control the alternating swing of the first and second mechanical leg groups so that the robot moves in the first direction on the support surface. At each control moment, the robot's supporting mechanical leg group moves with the support reference driving parameters corresponding to the supporting mechanical leg group, the robot's swinging mechanical leg group moves with the swing reference driving parameters corresponding to the swinging mechanical leg group, the robot's body moves with the body reference driving parameters corresponding to the body, the robot's center of mass moves with the center of mass reference driving parameters or center of mass target driving parameters corresponding to the center of mass, and the robot's ZMP moves with the ZMP reference driving parameters or ZMP target driving parameters corresponding to the ZMP. This enables the alternating swing of the first and second mechanical leg groups, allowing the robot to move in the first direction on the support surface.

[0248] In summary, for a robot with a body, a first mechanical leg assembly, and a second mechanical leg assembly, at the first control moment, the reference driving parameters of the robot on the support surface are adjusted based on the robot's state information at the first control moment to obtain the target driving parameters. Since the target driving parameters are based on the state information at the first control moment, the error between the target driving parameters and the robot's actual driving parameters can be minimized. Controlling the robot's movement through the target driving parameters can effectively improve the robot's control accuracy.

[0249] In addition, since the error between the target driving parameters of the center of mass and the actual driving parameters of the center of mass is small, and the error between the target driving parameters of ZMP and the actual driving parameters of ZMP is small, the joint torque corresponding to the foot joint (referred to as foot joint torque) can be reduced to a certain extent, making it less likely for the foot joint torque to reach the physical limit of the joint point, thus extending the robot's ultimate performance and also making it less likely to cause damage to the drive motor.

[0250] In some embodiments, the aforementioned multiple control moments are divided into m stepping cycles. Each stepping cycle is used to indicate the duration for the first or second mechanical leg group to complete a swing. Within each stepping cycle, the mechanical leg group used for swinging is called the swinging mechanical leg group, and the mechanical leg group used for standing is called the supporting mechanical leg group, where m is a positive integer. In some embodiments, each stepping cycle includes the same number of control moments.

[0251] In some embodiments, each stepping cycle may include a swinging cycle and a support cycle. During the swinging cycle, the mechanical leg assembly is swung in a first direction with support as a base. During the support cycle, the transition between the swinging mechanical leg assembly and the support mechanical leg assembly is completed. The support cycle follows the swinging cycle.

[0252] For example, the swing cycle and support cycle can be determined by the robot's support ratio, which indicates the proportion of time the robot's swinging mechanical leg assembly is in a supported state during each step cycle. In some embodiments, the support mechanical leg assembly is in a supported state during each step cycle.

[0253] For example, let the stepping cycle be T, and the support phase ratio be α∈[0,1). Then the swinging cycle of the swinging mechanical leg assembly within one stepping cycle is: T swing =(1-α)T stance The support period is: T stance =αT. In some embodiments, the ratio of stepping period to support period can be a parameter preset in the robot, or it can be a parameter that the robot automatically adjusts according to the real environment. This application does not limit this.

[0254] In one example, gait information within each step cycle can be planned based on the swing cycle and support cycle corresponding to each step cycle. Then, initial drive parameters can be planned based on the gait information. The gait information is used to indicate whether the robot's mechanical leg group is a swinging mechanical leg group within each step cycle. It can be used to instruct the robot's first and second mechanical leg groups to swing alternately.

[0255] For example, the gait information of each robotic leg can be represented as a time series of support and swing states. For instance, assuming the support state is 1 and the swing state is 0, the first robotic leg group includes robotic legs c1 and c2, and the second robotic leg group includes robotic legs c3 and c4. If the robot swings the second robotic leg group first, then at control time t, the gait of each robotic leg can be represented as follows:

[0256] Where n = floor(t / T) represents the current step number (i.e., the current step cycle).

[0257] If the robot swings its first robotic leg group, then at control time t, the gait of each robotic leg can be represented as follows:

[0258] For example, referring to Figure 10, taking the second mechanical leg assembly as an example, the robot's gait information can be represented by the line graph shown in Figure 10. For the first stepping cycle 1001, in the swing cycle T... swing Within (1-α)T, the second mechanical leg group is in a swinging state, and the first mechanical leg group is in a supporting state, i.e., a standing state with both legs; within the supporting period T swing = (1-α)T, the second mechanical leg group is in a supporting state, and the first mechanical leg group is also in a supporting state, that is, a four-legged standing state. For the second stepping cycle 1002, during the swinging cycle, the first mechanical leg group is in a swinging state, and the second mechanical leg group is in a supporting state; during the supporting cycle, the first mechanical leg group is in a supporting state, and the second mechanical leg group is also in a supporting state, and so on.

[0259] In some embodiments, the swing cycle can be zero within the same stepping cycle. That is, at the last control moment within the stepping cycle, the original support mechanical leg group is directly switched to the swing mechanical leg group, and the original swing mechanical leg group is directly switched to the support mechanical leg group.

[0260] In one example, s first control moments can be determined from the stepping cycle to which the first control moment belongs, where s is a positive integer. That is, for each stepping cycle, s first control moments can be determined from the stepping cycle. This application embodiment does not limit the value of s, and it can be set and adjusted according to actual usage requirements, which is beneficial to improving the triggering flexibility of obtaining target driving parameters. This application embodiment does not limit the method for determining the first control moment.

[0261] In some embodiments, s first control moments are determined from the stepping cycle to which the first control moment belongs, including at least one of the following:

[0262] When s equals 1, for a wheel-legged robot, the first control moment in the stepping cycle where the torque of the wheel joint corresponding to the mechanical wheel is greater than or equal to the torque threshold can be determined as the first control moment; alternatively, a specified control moment in the stepping cycle, such as the middle control moment in the stepping cycle, can also be determined as the first control moment; furthermore, the control moment when the robot switches from a four-wheel standing state (i.e., the four-legged standing state corresponding to a wheel-legged robot) to a two-wheel standing state (i.e., the two-legged standing state corresponding to a wheel-legged robot) in the stepping cycle (such as T, 2T, etc. in Figure 10) can also be determined as the first control moment; and the control moment when the robot switches from a two-wheel standing state to a four-wheel standing state in the stepping cycle (such as (1-α)T, etc. in Figure 10) can also be determined as the first control moment. This embodiment of the application does not limit these possibilities. The torque threshold is the threshold corresponding to the wheel joint torque, which can be set and adjusted according to actual usage requirements.

[0263] For a hybrid foot-wheel robot, the first control moment can be defined as the first control moment when the foot joint torque corresponding to the mechanical foot in the stepping cycle is greater than or equal to the torque threshold; alternatively, a specified control moment in the stepping cycle can be defined as the first control moment, such as a control moment located in the middle of the stepping cycle; the control moment when the robot switches from a quadrupedal standing state (i.e., the four-legged standing state corresponding to the hybrid foot-wheel robot) to a bipedal standing state (i.e., the bipedal standing state corresponding to the hybrid foot-wheel robot) in the stepping cycle (such as T, 2T, etc. in Figure 10) can also be defined as the first control moment; the control moment when the robot switches from a bipedal standing state to a quadrupedal standing state in the stepping cycle (such as (1-α)T, etc. in Figure 10) can also be defined as the first control moment. This embodiment of the application does not limit these limitations. The torque threshold is the threshold corresponding to the foot joint torque, which can be set and adjusted according to actual usage requirements.

[0264] In some embodiments, for wheeled robots, during a stepping cycle, the control moment when the torque of the wheel joint corresponding to the mechanical wheel first reaches or exceeds a preset torque threshold is determined as the first control moment. This method identifies key points in the robot's motion state based on torque changes. Any specified control moment in the stepping cycle can be selected as the first control moment, such as the middle moment of the stepping cycle. This method is suitable for scenarios with specific requirements for motion rhythm. The control moment when the robot switches from a four-wheeled standing state to a two-wheeled standing state, or vice versa, can be determined as the first control moment. For example, moments T, 2T, etc. Key control moments are determined based on the switching of the robot's motion state.

[0265] In some embodiments, for a hybrid foot-wheel robot, during a stepping cycle, the control moment when the torque of the foot joint corresponding to the mechanical foot first reaches or exceeds a preset torque threshold is determined as the first control moment. This method also identifies critical control moments based on torque changes. Any specified control moment in the stepping cycle can be selected as the first control moment, such as the middle moment of the stepping cycle. This method is also applicable to scenarios with specific requirements for motion rhythm. The control moment when the robot switches from a quadrupedal standing state to a bipedal standing state, or vice versa, can be determined as the first control moment. For example, the moment (1-α)T. This method determines critical control moments based on the switching of the robot's motion state.

[0266] Thus, by using the first control moment—the moment when the joint torque corresponding to the mechanical wheel or foot exceeds the torque threshold—as the first control moment, key changes in the robot's motion state can be captured in real time, ensuring the timeliness and effectiveness of the control strategy. Secondly, selecting a specific control moment within the stepping cycle, such as an intermediate control moment, provides the robot with a fixed control reference point, helping to maintain the rhythm and stability of the movement. Furthermore, by identifying the control moment when the robot switches from a four-wheeled or quadrupedal standing state to a two-wheeled or bipedal standing state, the transition of the robot's motion state can be accurately grasped, thereby optimizing the control strategy and improving the robot's adaptability and flexibility. The torque threshold, as a parameter that can be set and adjusted according to actual usage needs, provides greater flexibility and applicability for robot control. It has significant practical application value in the motion control of wheel-legged and hybrid wheeled robots, significantly improving the robot's motion performance and stability.

[0267] In some embodiments, when s equals 2, for a wheel-legged robot, the control moments when the robot switches from a four-wheeled standing state to a two-wheeled standing state during the stepping cycle, and the control moments when the robot switches from a two-wheeled standing state to a four-wheeled standing state during the stepping cycle, can both be defined as the first control moments; alternatively, the first control moment and the second control moment when the torque of the wheel joint corresponding to the mechanical wheel is greater than or equal to the torque threshold during the stepping cycle can both be defined as the first control moments; alternatively, two specified control moments during the stepping cycle can be defined as the first control moments. This embodiment of the application does not limit this.

[0268] For a foot-wheel hybrid robot, the control moments when the robot switches from a quadrupedal standing state to a bipedal standing state during the stepping cycle, and the control moments when the robot switches from a bipedal standing state to a quadrupedal standing state during the stepping cycle, can both be defined as the first control moments. Alternatively, the first and second control moments when the foot joint torque corresponding to the mechanical foot is greater than or equal to the torque threshold during the stepping cycle can both be defined as the first control moments. Alternatively, two specified control moments during the stepping cycle can be defined as the first control moments. This application does not limit this aspect in the embodiments.

[0269] In some embodiments, when s equals 2, the method for determining the first control moment becomes more diverse and complex for wheel-legged robots and hybrid wheel-footed robots. For wheel-legged robots, the control moments when the robot switches from a four-wheeled standing state to a two-wheeled standing state, and from a two-wheeled standing state back to a four-wheeled standing state, are both determined as the first control moment. By capturing the transition points of the robot's motion state, it is ensured that the control strategy can respond to the robot's dynamic changes in a timely manner. For hybrid wheel-footed robots, the same principle applies to the control moments when switching from a four-wheeled standing state to a two-wheeled standing state, and from a two-wheeled standing state back to a four-wheeled standing state. For wheel-legged robots, the control moments when the torque of the wheel joint corresponding to the mechanical wheel reaches or exceeds a preset torque threshold for the first and second time are both determined as the first control moment. This method identifies key points in the robot's motion by monitoring changes in joint torque. For hybrid wheel-footed robots, the control moments when the torque of the foot joint corresponding to the mechanical foot reaches or exceeds a preset torque threshold for the first and second time are also determined as the first control moment. For wheeled and legged robots and hybrid wheeled and footed robots, two designated control moments within the stepping cycle can be selected as the first control moment, providing the robot with a fixed control reference point and helping to maintain the rhythm and stability of movement. The torque threshold is a parameter that can be set and adjusted according to actual usage requirements. It is used to determine when the robot is considered to have reached a critical motion state, thereby triggering the corresponding control strategy. Different application scenarios and robot designs may require different torque threshold settings.

[0270] In some embodiments, when s equals 5, for a wheel-legged robot, the control moments during the stepping cycle when the robot switches from a two-wheeled standing state to a four-wheeled standing state, the control moments during the switch from a four-wheeled standing state to a two-wheeled standing state, and the first, third, and fifth control moments before the switch from a four-wheeled standing state to a two-wheeled standing state are all defined as the first control moments. This takes into account that the strategy of switching from a four-legged standing state to a two-legged standing state will significantly affect the force on the wheel joints after the robot enters the two-legged standing state. In this case, relatively frequent adjustments can achieve a balance between control effect and joint torque. Alternatively, the first five control moments during the stepping cycle when the wheel joint torque corresponding to the mechanical wheel is greater than or equal to the torque threshold can all be defined as the first control moments; or five specified control moments during the stepping cycle can be defined as the first control moments. This embodiment of the application does not limit this.

[0271] For a foot-wheel hybrid robot, the first control moment can be defined as the control moment when the robot switches from a bipedal to a quadrupedal stance during the stepping cycle, the control moment when the robot switches from a quadrupedal to a bipedal stance, and the first, third, and fifth control moments before the control moment when the robot switches from a quadrupedal to a bipedal stance. Alternatively, the first five control moments during the stepping cycle when the foot joint torque corresponding to the mechanical foot is greater than or equal to the torque threshold can all be defined as the first control moments. Alternatively, five specified control moments during the stepping cycle can be defined as the first control moments. This embodiment of the application does not limit this.

[0272] In some embodiments, where s is the total number of control times, each control time can be defined as the first control time.

[0273] In some embodiments, every other control moment among multiple control moments is defined as the first control moment; alternatively, every two control moments among multiple control moments may be defined as the first control moment. This application does not limit this approach.

[0274] In some embodiments, the first control time in step 701 can refer to any one of the s first control times. When there are s first control times corresponding to each stepping cycle, the control times following the first control time in the current stepping cycle, as well as the control times corresponding to t stepping cycles after the current stepping cycle, can be determined as target times. For example, the value of t can be 2, 3, 4, etc. This eliminates the need to adjust all target positions after the first control time, thereby reducing the workload of acquiring target driving parameters and improving the efficiency of acquiring target driving parameters.

[0275] For the first control moment, the target driving parameters of the first control moment are used instead of the initial driving parameters to control the robot's movement. For the second control moment, the target driving parameters of the second control moment are used instead of the target driving parameters of the first control moment to control the robot's movement, and so on, until the robot completes the task.

[0276] In summary, by supporting flexible adjustments to the number of first control moments and the determination method, the triggering flexibility for acquiring target driving parameters can be effectively improved.

[0277] In some embodiments, referring to FIG11, it is a schematic diagram of a control method for a quadrupedal wheeled hybrid robot provided in an embodiment of this application.

[0278] For the quadrupedal wheel-driven hybrid robot 1100, its four mechanical wheels are driven individually by four rotary motors (corresponding to wheel joints), and the length of its four mechanical legs is driven individually by four linear motors (corresponding to telescopic joints). The four mechanical legs can be divided into two internally linked legs and two externally linked legs. The two internally linked legs are driven by the same rotary motor (corresponding to the hip joint), and the two externally linked legs are driven by the same rotary motor. In addition, the joints on the waist of the quadrupedal wheel-driven hybrid robot 1100 (such as the pitch joint and lateral joint) and the joints on the upper limbs are all driven by rotary motors.

[0279] All the rotary motors described above can receive rotation angle commands, rotation speed commands, and rotation torque commands (such as the desired joint torque set mentioned above). The underlying drive board of the rotary motor will drive the rotary motor to rotate according to the received command signals. All the linear motors described above can receive linear movement position commands, linear movement speed commands, and driving force commands. The underlying drive board of the linear motor will drive the linear motor to move linearly according to the received command signals. The rotation and movement of the rotary motors and linear motors change the robot's posture and position in three-dimensional space, realizing the control of the quadrupedal wheeled hybrid robot 1100. Through the coordination of rapidly changing joint angle commands, the posture of the quadrupedal wheeled hybrid robot 1100 can also undergo highly dynamic changes, thereby changing the contact between the quadrupedal wheeled hybrid robot 1100 and the environment.

[0280] The state of the quadrupedal wheeled hybrid robot 1100 can be acquired by different sensors mounted on its body. For example:

[0281] 1. An IMU sensor can be used to obtain the robot's actual posture at the current control moment.

[0282] 2. Motor encoders can be used to obtain information such as the actual rotation angle, position, speed, and actual acceleration of each joint of the robot at the current control moment.

[0283] 3. Force / torque sensors can be used to obtain the magnitude and direction of the force or torque at the joint where the sensor is located at the current control moment.

[0284] 4. Tactile sensors can be used to obtain the pressure levels of the mechanical feet, robot surface, upper limb robotic hand, and fingertips, as well as the changes in pressure at these locations over a period of time.

[0285] 5. Visual sensors such as cameras can be used to identify obstacles within the robot's field of vision and indirectly obtain the robot's own status information.

[0286] The State Estimation module fuses the various posture and state information acquired by the quadrupedal wheeled hybrid robot 1100 to obtain the aforementioned state information. For example:

[0287] 1. Based on the robot's actual posture obtained from the IMU sensor, the mileage information obtained from the rotation of the mechanical wheels, and the visual positioning information, the actual position of the quadrupedal wheeled hybrid robot 1100 in the world coordinate system can be obtained by fusing them.

[0288] 2. Based on the data measured by the force / torque sensor and the tactile sensor, the contact status between the quadrupedal wheeled hybrid robot 1100 and the external environment can be obtained.

[0289] 3. Based on the data measured by the IMU sensor, the actual posture of the robot can be obtained. By fusing this posture with the information measured by each motor encoder and combining it with the model parameters of the quadrupedal wheeled hybrid robot 1100, the position of the center of mass and the position of the ZMP of the quadrupedal wheeled hybrid robot 1100 can be estimated.

[0290] The fused state information will be used as feedback for robot motion generation, planning, and control (such as planning reference driving parameters and obtaining the desired torque set).

[0291] The motion generation module is configured to employ different motion generation strategies based on the state of the robot's actions. The quadrupedal wheeled hybrid robot 1100's operating modes include at least one of the following: four-wheeled motion mode, two-wheeled motion mode, four-wheel to two-wheeled conversion mode, stair climbing mode, four-wheeled active suspension mode, folding mode, quadrupedal wheeled motion mode, and two-wheeled motion mode. Considering the complexity of the robot body, the quadrupedal wheeled hybrid robot 1100 can be configured to perform various tasks, such as gait walking, stair climbing, gliding, and obstacle crossing; however, this embodiment does not limit its capabilities.

[0292] The motion planning module obtains the task information (i.e., initial drive parameters) of the quadrupedal wheeled hybrid robot 1100. The task information includes at least one of the following: center of mass task (center of mass reference drive parameters), supporting mechanical leg task (support reference drive parameters), swinging mechanical leg task (swing reference drive parameters), body task (body reference drive parameters), ZMP task (ZMP reference drive parameters), etc. Considering the complexity of the body, the quadrupedal wheeled hybrid robot 1100 can be used to complete a variety of tasks, and this application embodiment does not limit it.

[0293] These task information (initial drive parameters) serve as inputs to the whole-body motion control (WBC) module. The WBC module is used to perform detailed modeling and calibration of the quadrupedal wheeled hybrid robot 1100, and uses the robot's whole-body dynamics model and external force conditions as optimization constraints. Through the optimization process, the target joint angle command, target joint angular velocity command, and target joint torque command (i.e., the desired joint torque set) of each joint of the quadrupedal wheeled hybrid robot 1100 are calculated. The target joint angle command, target joint angular velocity command, and target joint torque command of each joint are sent to the joint actuators of the quadrupedal wheeled hybrid robot 1100 to complete the robot control closed loop.

[0294] The aforementioned motor bottom drive board, motion planning module, and WBC module can be installed in the quadrupedal wheeled hybrid robot 1100 or can be installed independently of the quadrupedal wheeled hybrid robot 1100. This application embodiment does not limit this.

[0295] In this embodiment, the state information obtained by the state estimation module can be used as a feedback quantity. Besides being fed back to the WBC module, it is also fed back to the motion planning module. The motion planning module determines whether the current moment is the first control moment. If the current moment is the first control moment, it uses the robot's state information at the first control moment as initial information to adjust the robot's initial drive parameters on the support surface to obtain target drive parameters. These target drive parameters are used to replace the initial drive parameters to guide the robot's movement. The motion planning module then sends the target drive parameters to the WBC module. Starting from the first control moment, the WBC module, based on the target drive parameters, controls the first and second mechanical leg groups to swing alternately, so that the quadrupedal wheeled hybrid robot 1100 moves in the first direction on the support surface.

[0296] For example, referring to Figure 12, the motion planning module includes an observer 1201 and a planner 1202. The observer 1201 constructs a state variable set for the robot at the first control time using the state information at the first control time (i.e., the actual state at the current time), the position of the center of mass in the first direction at the first control time, the position of the ZMP in the first direction at the first control time, and the velocity of the center of mass in the first direction at the first control time as elements. Based on the state variable set of the quadrupedal wheeled hybrid robot 1100 at the second control time, the prior state variable set of the robot at the first control time (i.e., the prior state at the current time) is obtained. The second control time is the control time preceding the first control time. Based on the Kalman gain, the state variable set and the prior state variable set are fused to obtain the adjusted state variable set (i.e., the adjusted state). The adjusted state variable set includes: the adjusted position of the center of mass in the first direction at the first control time, the adjusted position of the ZMP in the first direction at the first control time, and the adjusted velocity of the center of mass in the first direction at the first control time.

[0297] Observer 1201 sends the adjusted state variable set to planner 1202. Based on the adjusted state variable set, planner 1202 constructs the adjusted control variable set for the robot at the first control time (i.e., the forward velocity of ZMP). Using the adjusted control variable set at the first control time as the initial value, planner 1202 constructs the sequence of control variables to be solved, and uses the position of ZMP in the adjusted state variable set as the initial value to construct the ZMP target driving parameters to be solved. Using the discrete linear quadratic tuning machine control method (corresponding to the ZMP model), a cost function is constructed based on the sequence of control variables to be solved, the ZMP target driving parameters to be solved, and the ZMP reference driving parameters. With the goal of minimizing the cost function, the sequence of control variables to be solved is iteratively adjusted to obtain the adjusted sequence of control variables. Based on the adjusted sequence of control variables, the centroid target driving parameters and ZMP target driving parameters (including the centroid and the target position of ZMP at the next control time) are obtained.

[0298] Planner 1202 finally replaces the centroid reference driving parameters and ZMP reference driving parameters in the initial driving parameters with the centroid target driving parameters and ZMP target driving parameters to obtain the target driving parameters.

[0299] In summary, the technical solution provided in this application, for a robot having a body, a first mechanical leg assembly, and a second mechanical leg assembly, adjusts the reference driving parameters of the robot on the support surface based on the robot's state information at the first control moment to obtain target driving parameters. Since the target driving parameters are based on the state information at the first control moment as initial information, the error between the target driving parameters and the robot's actual driving parameters can be minimized. By controlling the robot's movement through the target driving parameters, the control accuracy of the robot can be effectively improved.

[0300] In some embodiments, when the aforementioned multiple control moments are divided into m stepping cycles, for each stepping cycle, the initial driving parameters of the robot on the support surface can be planned based on the robot's step length within the stepping cycle and the size information of the support surface.

[0301] For example, the initial driving parameters of the robot may include: support reference driving parameters planned for the support robotic leg assembly, swing reference driving parameters planned for the swing robotic leg assembly, ZMP reference driving parameters planned for ZMP, and centroid reference driving parameters planned for the centroid. The planning methods for each reference driving parameter are described below.

[0302] Support reference drive parameters: For each step cycle, the reference drive parameters of the support mechanical leg assembly can be determined based on the size information of the area corresponding to the robot on the support surface within the step cycle, as well as the step length of the robot within the step cycle. These are referred to as support reference drive parameters.

[0303] Since the robot moves by taking steps (i.e., swinging), the support surface can be divided into different areas according to the landing point of each step, that is, each step cycle corresponds to one area.

[0304] For example, when the supporting surface is a staircase with multiple steps, each step corresponding to a region, and each step cycle is used to climb one step, the aforementioned dimensional information may refer to the dimensional information of each step, such as the length, width, and height of the step. In some embodiments, the dimensional information may also include the total number of steps of the staircase. When the supporting surface is flat ground, the flat ground can be divided into multiple regions according to the step length.

[0305] The aforementioned support reference driving parameters can be a position sequence consisting of any support leg in the support leg assembly and its corresponding reference position within each step cycle. This sequence guides the movement of the robot's support leg assembly. For example, each step cycle includes multiple control moments, and each support leg is assigned a reference position at each control moment. That is, each step cycle corresponds to a reference position sequence. By sorting the m reference position sequences in chronological order, the support reference driving parameters can be obtained.

[0306] In some embodiments, if the position of the supporting mechanical leg remains unchanged at each control time t within the same stepping cycle, then a reference position is planned for the supporting mechanical leg in each stepping cycle. The reference positions corresponding to n stepping cycles are then combined in a time sequence to obtain the support reference drive parameters. In some embodiments, the reference position corresponding to each stepping cycle can be characterized by the reference position of the foot of the supporting mechanical leg assembly corresponding to the stepping cycle, such as the geometric center of the foot.

[0307] For example, since the robot always moves in the first direction (i.e., it does not produce displacement in the y-axis direction of the world coordinate system mentioned above), and the mechanical legs in the supporting mechanical leg group move synchronously, the mechanical legs in the swinging mechanical leg group move synchronously, and the robot's various hip joints are coaxial, the robot can be simplified as a planar model in the sagittal plane.

[0308] For example, referring to Figure 13, which is a planar model 1300 of a quadruped wheeled hybrid robot provided in an embodiment of this application in the sagittal plane, the planar model 1300 includes a body 1301, the body 1301 is connected to a waist 1303 via a waist joint 1302 (corresponding to the above-mentioned lateral rotation joint and pitch rotation joint), the waist 1303 is connected to an outer mechanical leg assembly 1306 and an inner mechanical leg assembly 1307 via a hip 1304, the hip joint 1305 of the hip 1304 is configured to rotate the outer mechanical leg assembly 1306 and the inner mechanical leg assembly 1307, and the feet of the outer mechanical leg assembly 1306 and the inner mechanical leg assembly 1307 include mechanical wheels 1308 and mechanical feet 1309.

[0309] For example, referring to Figure 14, taking a quadrupedal wheeled hybrid robot climbing stairs as an example, the process of obtaining the support reference drive parameters of the supporting mechanical leg assembly can be as follows:

[0310] Based on the planar model 1400 and the staircase 1403 of the quadrupedal wheeled hybrid robot, a world coordinate system W-xyz corresponding to the quadrupedal wheeled hybrid robot is constructed. The world coordinate system is constructed with the initial contact point 1402 between the planar model 1400 and the staircase 1403 as the origin, the first direction (i.e. the forward direction) as the x-axis direction, and the second direction perpendicular to the first direction (i.e. the vertical direction) as the z-axis direction.

[0311] A floating base coordinate system B-xyz for the quadrupedal wheeled hybrid robot is then constructed with the hip joint 1401 of the planar model 1400 as the origin. This floating base coordinate system is fixed to the hip joint 1401, meaning it moves with the hip joint 1401. The initial directions of each coordinate axis of the floating base coordinate system are the same as those of the world coordinate system. In some embodiments, the floating base coordinate system may also be fixed to the torso of the quadrupedal wheeled hybrid robot; this is not limited in this application. In some embodiments, the following calculations all occur in both the world coordinate system and the floating base coordinate system.

[0312] In the world coordinate system, the initial position of the supporting mechanical leg assembly can be represented as (0, 0, 0), which is also the first reference position in the support reference drive parameters. If the length of each step on staircase 1403 is Ls and the height is Hs, the distance between the initial position of the supporting mechanical leg assembly and the first step is L, and the step length of the quadrupedal wheeled hybrid robot in each stepping cycle is the length of the step corresponding to the stepping cycle, then the support reference drive parameters can be represented as follows:

[0313] Where n = floor(t / T) represents the current step number (i.e., the current step cycle), t is the control time, r is the radius of the wheel, and L... s,j H represents the step length corresponding to the j-th step cycle (i.e., the length of the j-th step). s,j Let L be the height of the j-th step. Since the quadrupedal wheeled hybrid robot climbs stairs only in the sagittal plane and does not need to focus on movement in the y-axis direction, the position value in the y-axis direction is set to always be 0. In some embodiments, L s,j Greater than L.

[0314] Swing reference drive parameters: Based on the initial and desired positions of the swinging mechanical leg assembly during the stepping cycle, the reference drive parameters of the swinging mechanical leg assembly are interpolated and referred to as swing reference drive parameters.

[0315] The aforementioned swing reference drive parameters can refer to the desired drive parameters of the swinging mechanical leg assembly, that is, the expected drive parameters of the swinging mechanical leg assembly. The swing reference drive parameters can be composed of the desired drive parameters corresponding to each step cycle, and can be configured to guide the swinging mechanical leg assembly of the robot to swing. In some embodiments, the swing reference drive parameters corresponding to each step cycle can be characterized by the drive parameters of the foot of the swinging mechanical leg assembly corresponding to the step cycle.

[0316] The initial and desired positions of the swinging mechanical leg assembly within a stepping cycle can refer to the initial position (i.e., the reference position of the support mechanical leg assembly in the current stepping cycle) and the ending position (i.e., the reference position of the support mechanical leg assembly in the next stepping cycle of the current stepping cycle) of the corresponding support mechanical leg assembly within a stepping cycle.

[0317] In one example, the oscillation reference trajectory can be planned in two directions: a first direction (x-axis) and a second direction (z-axis). The process of obtaining the oscillation reference driving parameters can include the following:

[0318] (1) Using the spline curve interpolation method, the position components of the initial position in the first direction and the position components of the end position in the first direction are interpolated to obtain the swing reference drive parameters of the swinging mechanical leg assembly in the first direction.

[0319] For example, if the cubic spline curve interpolation method is used for interpolation, the swing reference driving parameters in the first direction can be expressed as follows:

[0320] Among them, t n ∈[0,(1-α)T], and t n =t-nT, representing the control time within the nth step cycle after normalization according to the step cycle T, P sw,x (t n () represents the reference position of the swinging mechanical leg assembly in the first direction at control time t, where a0, a1, a2, and a3 are coefficients that can be calculated based on the following constraints: P sw,x (0)=a0=P st,× (nT) (27) P sw,x ((1-α)T)=a0+a1((1-α)T)+a2((1-α)T) 2 +a3((1-α)T) 3 =P st,x ((n+1)T) (28) P sw,x (0)=a1=0 (29) P sw,x ((1-α)T)=a1+2a2((1-α)T)+3a3((1-α)T) 2 =0 (30)

[0321] In some embodiments, during the process of obtaining the swing reference driving parameters in the first direction using the cubic spline curve interpolation method, the parameters corresponding to the cubic spline curve interpolation method can be set to prevent the swing mechanical leg assembly from colliding with the support surface in the first direction.

[0322] (2) Using the spline curve interpolation method, the position components of the initial position in the second direction and the position components of the end position in the second direction are interpolated to obtain the swing reference drive parameters of the swinging mechanical leg assembly in the second direction.

[0323] The process of obtaining the swing reference driving parameters in the second direction is similar to that in the first direction. However, when the support surface includes multiple areas of different heights, in order to avoid collisions between the robot's feet and the support surface, the swing reference driving parameters in the second direction can be divided into segments equal to the number of areas the robot needs to cross within a stepping cycle, in order to plan and avoid collisions between the robot and the areas it needs to cross.

[0324] In some embodiments, the spline interpolation method generates a smooth and continuous trajectory by inserting control points between the initial and final positions. This method not only ensures the smoothness of the robotic leg's movement during swinging but also allows for adjustment of the trajectory's shape and length to suit different motion requirements. Similar to the first direction, in obtaining the swing reference drive parameters in the second direction, we first determine the position components of the initial and final positions in the second direction. Then, we use the spline interpolation method to interpolate these two position components, generating a smooth swing reference drive parameter. This trajectory serves as the motion reference for the robotic leg during swinging, guiding its motion control. When the support surface includes multiple regions of varying heights, simply using the spline interpolation method may cause the robot's foot to collide with the support surface. To avoid this, we need to further plan the swing reference drive parameters in the second direction. The swing reference drive parameters in the second direction can be divided into segments equal to the number of regions the robot needs to traverse within a stepping cycle. Each trajectory segment corresponds to one region, ensuring that the robotic leg does not collide with the support surface during swinging. When planning each trajectory segment, the height of the area and the robot's leg range of motion must be considered. By adjusting the height and shape of the trajectory, it can be ensured that the robotic leg can safely traverse the area during swinging, while maintaining smoothness and stability of movement.

[0325] For example, when the support surface is a staircase with r steps, where r is a positive integer, for each step, the desired sub-position of the swinging mechanical leg assembly at the step is obtained. The foot of the swinging mechanical leg at the desired sub-position is higher than the step in the second direction and does not contact the step in the first direction. Interpolation is performed sequentially between the initial position, the desired positions corresponding to the r steps, and the ending position in chronological order to obtain the swinging reference drive parameters of the swinging mechanical leg assembly. Here, r is a positive integer.

[0326] For example, when the robot is climbing the first step, the swinging mechanical leg only needs to step over the first step, so the swinging reference drive parameters in the second direction can be divided into two segments for planning; when the robot is climbing the second step, the swinging mechanical leg needs to pass the first step and step over the second step, so the swinging reference drive parameters in the second direction can be divided into three segments for planning.

[0327] Taking the planning of the oscillation reference driving parameters in the second direction as an example, let's assume the time corresponding to the desired position is 1 / 2 of the oscillation period (which can be set and adjusted according to actual usage requirements). Using cubic spline curve interpolation, the oscillation reference driving parameters in the second direction in the first stage can be expressed as follows: P sw,z (t n )=a0+a1t n +a2t n 2 +a3t n 3 (31)

[0328] Among them, t n ∈[0,(1-α)T / 2], and t n =t-nT, representing the control time within the nth step cycle after normalization according to the step cycle T, P sw,z (t n () represents the reference position of the swinging mechanical leg assembly in the second direction at control time t, where a0, a1, a2, and a3 are coefficients that can be calculated based on the following constraints: P sw,z (0)=a0=P st,× (nT) (31) P sw,z ((1-α)T)=a0+a1((1-α)T)+a2((1-α)T) 2 +a3((1-α)T) 3 =P st,x ((n+1)T) (32) P sw,z (0)=a1=0 (33) P sw,z ((1-α)T)=a1+2a2((1-α)T)+3a3((1-α)T) 2 =0 (34)

[0329] Where β∈[1,1.5] is the height coefficient, representing the proportion of the foot of the swinging mechanical leg group exceeding the height of the step in the nth step cycle.

[0330] Using cubic spline interpolation, the swing reference driving parameters in the second direction during the second stage can be expressed as follows:

[0331] Among them, t n ∈[(1-α)T / 2,(1-α)T], and t n =t-nT, representing the control time of the nth step cycle normalized by the step cycle T, P sw,z (t n () represents the control time t and the reference position of the swinging mechanical leg assembly in the second direction. b0, b1, b2, and b3 are coefficients that can be calculated based on the following constraints: P sw,z ((1-α)T)=b0+b1(1-α)T+b2((1-α)T) 2 +b3((1-α)T) 3 =P st. ((n+1)T)+βH s (36) P sw,z ((1-α)T)=b0+b1(1-α)T+b2((1-α)T) 2 +b3((1-α)T) 3 =P st. ((n+1)T) (37) P sw,z ((1-α)T / 2)=b1+2b2(1-α)T / 2+3b3((1-α)T / 2) 2 =0 (38)

[0332] By concatenating the swing reference driving parameters in the second direction under the first stage and the swing reference driving parameters in the second direction under the second stage, the swing reference driving parameters in the second direction can be obtained.

[0333] (3) By combining the swing reference drive parameters of the swing mechanical leg in the first direction and the swing reference drive parameters of the swing mechanical leg in the second direction, the swing reference drive parameters can be obtained.

[0334] ZMP reference driving parameters: The ZMP reference driving parameters can be determined based on the support reference driving parameters and the support period ratio, and are referred to as ZMP reference driving parameters.

[0335] In this embodiment of the application, the ZMP corresponding to the stepping cycle can be the contact point between the foot of the supporting mechanical leg and the supporting surface (hereinafter referred to as the supporting contact point) corresponding to the stepping cycle. The ZMP reference driving parameters include the reference positions of multiple ZMPs arranged in chronological order during the robot's movement.

[0336] In some embodiments, since the ZMP is the same as the support contact point, the ZMP reference drive parameters and the support contact point reference drive parameters remain unchanged during the oscillation cycle. If the support contact point needs to be transitioned from the support contact point of the current stepping cycle to the support contact point of the next stepping cycle during the support cycle, an interpolation method can be used to obtain the ZMP reference drive parameters within the support cycle.

[0337] In some embodiments, the swing reference drive parameters of the swinging robotic leg are combined in the first and second directions. By synthesizing the trajectories in these two directions, a complete swing reference drive parameter can be obtained. This trajectory describes the motion path of the robotic leg in a two-dimensional plane and is the basis of robot motion control. The reference drive parameter of ZMP (Zero Moment Point) is determined based on the support reference drive parameter and the support period ratio. The support reference drive parameter describes the motion path of the foot of the supporting robotic leg on the support surface, while the support period ratio represents the proportion of time the supporting robotic leg occupies within the stepping cycle. By combining these two factors, the reference drive parameter of ZMP, i.e., the ZMP reference drive parameter, can be calculated. In the stepping cycle, ZMP can be regarded as the contact point between the foot of the supporting robotic leg and the support surface, i.e., the support contact point. Therefore, in the swinging cycle, the ZMP reference drive parameter is the same as the support contact point reference drive parameter and remains unchanged. This means that in the swinging cycle, the position of ZMP is fixed, and the robot does not need to adjust its center of mass position to maintain balance. However, in the support cycle, the support contact point needs to be transitioned from the support contact point of the current stepping cycle to the support contact point of the next stepping cycle. To achieve this conversion, an interpolation method can be used to generate ZMP reference drive parameters within the support cycle. This method generates a smooth trajectory by inserting an intermediate point between two support contact points, ensuring that the robot can smoothly transition to the next support contact point within the support cycle. The ZMP reference drive parameters include multiple ZMP reference positions arranged chronologically during the robot's movement. These reference positions reflect the robot's equilibrium state during motion and are crucial for robot motion control. By precisely controlling the ZMP positions, the stability and safety of the robot during movement can be ensured.

[0338] For example, during the oscillation cycle, the ZMP reference drive parameters are the same as the reference drive parameters of the contact point between the supporting mechanical leg assembly and the supporting surface. During the support cycle, the ZMP reference drive parameters are obtained by interpolation of the initial and final positions in the support reference drive parameters. Therefore, the ZMP reference drive parameters can be expressed as follows: P zmp (t)=P st (nT),nT≤t≤(n+1)T-αT (40) P zmp (t)=Spline(Pst (nT),P st ((n+1)T),αT),(n+1)T-αT≤t≤(n+1)T (41)

[0339] Among them, P zmp (t) represents the reference position of the robot's ZMP at control time t, P st (nT) represents the reference position of the supporting mechanical leg during the nth step cycle, P st ((n+1)T) represents the reference position of the supporting mechanical leg in the (n+1)th step cycle. Spline is a spline curve interpolation method, such as cubic spline curve interpolation, or any interpolation method that guarantees that the velocity and acceleration of the reference drive parameters are zero at the start and end times, and that the start and end positions satisfy the constraints. Spline is used to interpolate the reference positions of the supporting mechanical leg in the nth step cycle and the (n+1)th step cycle within the support cycle.

[0340] Reference drive parameters for the robot body along the second direction: The reference drive parameters for the robot body along the second direction can be determined based on the support reference drive parameters of the supporting mechanical leg assembly.

[0341] In some embodiments, the body reference drive parameters may include only the body reference drive parameters planned along the second direction. In the embodiments of this application, the height between the robot's body and the feet of the robot's supporting mechanical leg assembly is a constant value, i.e., the constant height hereinafter. The constant height can refer to the distance in the z-axis direction between the center of the robot's body and the center of the corresponding foot (such as the wheel center) of the supporting mechanical leg, denoted as Hcom.

[0342] In some embodiments, a body reference driving parameter, referred to as the second body reference driving parameter, is determined based on the support reference driving parameters, the support period ratio, and the constant height of the robot's body relative to the feet of the supporting mechanical leg assembly. For example, during the swing cycle, the second body reference driving parameter is obtained by interpolating the initial and final positions in the support reference driving parameters with a constant height; during the support cycle, the second body reference driving parameter is determined by the final position and constant height in the support reference driving parameters.

[0343] The initial and ending positions in the support reference drive parameters corresponding to the current stepping cycle are the reference positions of the support mechanical leg assembly in the current stepping cycle and the support mechanical leg assembly in the next stepping cycle, respectively. For the reference drive parameters planned along the second direction for the fuselage for each stepping cycle, the initial position is the position component of the reference position of the support mechanical leg in the second direction (i.e., the z-axis direction) in the current stepping cycle, and the ending position is the position component of the reference position of the support mechanical leg in the second direction (i.e., the z-axis direction) in the next stepping cycle.

[0344] In some embodiments, the support reference drive parameters are the motion trajectory of the foot of the support robotic leg assembly on the support surface, describing the positional change of the foot during the stepping cycle. The support phase proportion is the proportion of time the support robotic leg occupies within the stepping cycle, used to determine the duration of the support and swing phases. The height of the robot body relative to the foot of the support robotic leg assembly remains constant during movement to maintain the robot's balance. During the swing cycle, the foot of the support robotic leg assembly is in a swinging state, while the body needs to remain relatively stable. The second body reference drive parameters are obtained by interpolating the initial and final positions from the support reference drive parameters, combined with constant height. This means that the drive parameters of the body are determined by interpolating the initial and final positions of the support foot while maintaining a constant height relationship between the body and the foot. During the support cycle, the foot of the support robotic leg assembly is in a supported state, and the body needs to adjust according to the positional change of the foot. The second body reference drive parameters are determined by the final position and constant height from the support reference drive parameters. This means that the drive parameters of the body are determined based on the final position of the support foot while maintaining a constant height relationship between the body and the foot.

[0345] During the oscillation cycle of the nth stepping cycle, the reference drive parameters planned for the fuselage along the second direction can be obtained by interpolating from its corresponding initial position to its corresponding ending position; during the support cycle of the nth stepping cycle, the reference position of the fuselage in the second direction remains unchanged, then the second fuselage reference drive parameters can be expressed as follows: P com,z (t)=Spline(P st,z (nT)+H com ,P st,z ((n+1)T)+H com ,(1-α)T), oscillation period (42) P com,z (t)=P st,z ((n+1)T)+H com Support period (43)

[0346] Among them, P com,z(t) represents the reference position of the robot's body in the second direction at control time t, P st,z ((n+1)T) represents the initial position of the fuselage during the nth step cycle (i.e., the sum of the z-axis component of the reference position of the supporting mechanical leg during the nth step cycle and the constant height), P st,z ((n+1)T)+H com The final position of the fuselage within the nth step cycle (i.e., the sum of the z-axis position component of the reference position of the supporting mechanical leg in the (n+1)th step cycle and the constant height) is determined using a spline interpolation method, such as cubic spline interpolation, or any interpolation method that guarantees zero velocity and acceleration at the start and contact moments of the reference drive parameters, and that the start and end positions satisfy the constraints. The spline is used to interpolate the final position of the fuselage within the nth step cycle.

[0347] Reference driving parameters for the center of mass planning along the first direction: The reference driving parameters for the center of mass of the robot planned along the first direction can be determined based on the ZMP reference driving parameters.

[0348] In some embodiments, the centroid reference driving parameters may include only the centroid reference driving parameters planned along the first direction. In some embodiments, the centroid reference driving parameters in the first direction are used to guide the robot's centroid to move in the first direction. These centroid reference driving parameters in the first direction may be a sequence of the position components of the centroid in the first direction, ordered chronologically during the robot's movement. For example, referring to Figure 9, the robot's centroid reference driving parameters in the first direction may be P at each control moment. com,x The sequence formed.

[0349] For example, P at each control time point can be calculated based on SLQR (Singular Quadratic Regulator) control. com,x SLQR control is a variation of LQR (Linear Quadratic Regulator) control. The objective function of SLQR is still a quadratic functional, but the quadratic weights of its control variables are always zero. Otherwise, it is similar to LQR control. The advantage of using SLQR control is that it avoids calculating feedback coefficients using the Riccati equation as in LQR control. Feedback coefficients can be calculated directly through numerical iteration, greatly reducing the computational load and improving computational efficiency. This process specifically includes the following:

[0350] (1) Construct the state variable set of the robot's state space equation using the ZMP position, the robot's center of mass position in the first direction, and the robot's center of mass velocity in the first direction.

[0351] For each control moment, a set of state variables is constructed based on the ZMP position, the centroid position in the first direction, and the centroid velocity in the first direction at that control moment. For example, the set of state variables at each control moment can be represented as follows:

[0352] The state-space equations of the robot can be expressed as follows: x(k+1)=Ax(k)+Bu(k) (45) y(k)=Cx(k) (46)

[0353] (2) Using the SLQR control method, a cost function is constructed based on the reference position of ZMP in the ZMP reference driving parameters.

[0354] For example, the cost function can be expressed as follows:

[0355] in, P represents the reference position of ZMP in the first direction at control time j. zmp,x Let u(j) represent the position of ZMP in the first direction at control time j, and u(j) represent P at control time j. zmp,x .

[0356] (3) Determine the feedback gain matrix based on the cost function.

[0357] Alternatively, by directly setting the input weight R of the cost function to 0, the feedback gain matrix can be obtained as: K=[1+αT / T+α / 1+αT-(2+αT) / T-(2+αT) / α T] (48)

[0358] (4) Based on the feedback gain matrix, the position of the robot's centroid in the first direction, and the reference position of ZMP in the ZMP reference driving parameters, construct the control variable set of the state space equation.

[0359] Optionally, if the control variable set in the state-space equation is the output of the SLQR controller, then the control variable can be expressed as:

[0360] Where u(k) is the set of control variables at control time k. δ j The impulse function takes the value 1 only at the initial moment and 0 at all other moments. Np is the predictive control time per unit control period. To control the reference position of ZMP in the ZMP reference driving parameters at time k+j.

[0361] (5) Substitute the state variable set and control variable set into the state space equation and iterate to obtain the centroid reference driving parameters of the robot in the first direction.

[0362] In some embodiments, for each control time step, the state variable set and the control variable set are substituted into the state-space equation, and x(k) at each control time step is obtained iteratively. Then, y(k) at each control time step is obtained, that is, P at each control time step. com,x Then, by arranging them in chronological order, the reference driving parameters of the robot's center of mass in the first direction can be obtained.

[0363] In some embodiments of this application, LQR control may also be used to calculate P at each control time. com,x If the robot is described as a linear quadratic LQ problem, and the output of the linear system is obtained through iterative calculation of the equations, this output can be used as the control variable for the robot to reach a steady state. Then, P at each control time point can be calculated. com,x However, the embodiments in this application do not limit this.

[0364] In some embodiments, referring to FIG15, taking the walking of a quadrupedal wheeled hybrid robot on flat ground as an example, the technical solution provided by the embodiments of this application is described, which may include the following:

[0365] The gait information of the quadrupedal wheeled hybrid robot 1501 in each step cycle is planned. For example, in the first step cycle, the second mechanical leg group 1502 swings forward with the first mechanical leg group 1503 as support. In the second step cycle, the first mechanical leg group 1503 swings forward with the second mechanical leg group 1502 as support, and so on.

[0366] The robot's step length is planned to determine the reference position of the supporting mechanical leg assembly in each step cycle. For example, when the initial state of the quadrupedal wheeled hybrid robot 1501 is an overlapping standing state (that is, the four mechanical legs are synchronously brought together in the forward direction), the contact point between the first mechanical leg assembly 1503 and the ground is determined as the reference position of the supporting mechanical leg assembly in the first step cycle. The sum of the reference position of the supporting mechanical leg assembly in the first step cycle and the step length is determined as the reference position of the supporting mechanical leg assembly in the second step cycle, and so on, to obtain the support reference drive parameters of the quadrupedal wheeled hybrid robot 1501.

[0367] By interpolating the reference positions of the supporting mechanical leg assembly in the first stepping cycle and the reference positions of the supporting mechanical leg assembly in the second stepping cycle, the swing reference drive parameters of the swinging mechanical leg assembly in the first stepping cycle can be obtained. By analogy, the swing reference drive parameters of the quadrupedal wheel hybrid robot 1501 can be obtained.

[0368] Based on the support reference drive parameters and the support period ratio, the ZMP reference drive parameters of the quadrupedal wheeled hybrid robot 1501 can be obtained. Based on the support reference drive parameters, the body reference drive parameters of the quadrupedal wheeled hybrid robot 1501 in the vertical direction can be obtained, and based on the ZMP reference drive parameters, the center of mass reference drive parameters of the quadrupedal wheeled hybrid robot 1501 in the forward direction can be obtained.

[0369] If each step cycle corresponds to two first control moments, the first first control moment is the control moment when transitioning from a bipedal wheeled standing state to a quadrupedal wheeled standing state, and the second first control moment is the control moment when transitioning from a quadrupedal wheeled standing state to a bipedal wheeled standing state, then the control process of the quadrupedal wheeled hybrid robot 1501 may include the following:

[0370] For the first stepping cycle, before the second first control moment is reached, based on the initial drive parameters of the quadrupedal wheeled hybrid robot 1501, the quadrupedal wheeled hybrid robot 1501 is controlled to swing the second mechanical leg group 1502 in the forward direction with the first mechanical leg group 1503 as support, so that the quadrupedal wheeled hybrid robot 1501 takes the first step. When the second mechanical leg group 1502 contacts the support surface, it enters the quadrupedal standing state. At this time, the support cycle of the first stepping cycle is entered, that is, the functions of the first mechanical leg group 1503 and the second mechanical leg group 1502 are interchanged.

[0371] For the first control moment in the second stepping cycle, the quadrupedal wheeled hybrid robot 1501 transitions from a quadrupedal standing state to a bipedal standing state. At this time, the state information of the quadrupedal wheeled hybrid robot 1501 is acquired, and based on this state information, the initial drive parameters are re-planned to obtain the first target drive parameters. Then, based on the first target drive parameters, the quadrupedal wheeled hybrid robot 1501 is controlled to swing its first mechanical leg assembly 1503 in the forward direction, supported by the second mechanical leg assembly 1502, so that the quadrupedal wheeled hybrid robot 1501... Step 501 takes the second step. When the first mechanical leg assembly 1503 contacts the support surface, it enters the four-legged wheel standing state. That is, the four-legged wheel hybrid robot 1501 changes from the bi-legged wheel standing state to the four-legged wheel standing state. At this time, the state information of the four-legged wheel hybrid robot 1501 is acquired, and the initial drive parameters are re-planned based on the state information of the four-legged wheel hybrid robot 1501 to obtain the second target drive parameters. Then, based on the second target drive parameters, the four-legged wheel hybrid robot 1501 is controlled to switch the functions of the first mechanical leg assembly 1503 and the second mechanical leg assembly 1502.

[0372] For the first control moment in the third stepping cycle, the quadrupedal wheeled hybrid robot 1501 transitions from a quadrupedal standing state to a bipedal standing state. At this time, the state information of the quadrupedal wheeled hybrid robot 1501 is acquired, and based on this state information, the initial drive parameters are re-planned to obtain the fourth target drive parameters. Then, based on the fourth target drive parameters, the quadrupedal wheeled hybrid robot 1501 is controlled to swing its second mechanical leg group 1502 in the forward direction, supported by the first mechanical leg group 1503, so that the quadrupedal wheeled hybrid robot 1501... Step 501 takes the third step. When the second mechanical leg assembly 1502 contacts the support surface, it enters the quadrupedal standing state. That is, the quadrupedal wheel hybrid robot 1501 changes from the bipedal standing state to the quadrupedal standing state. At this time, the state information of the quadrupedal wheel hybrid robot 1501 is acquired, and the initial drive parameters are replanned based on the state information of the quadrupedal wheel hybrid robot 1501 to obtain the fifth target drive parameters. Then, based on the fifth target drive parameters, the quadrupedal wheel hybrid robot 1501 is controlled to switch the functions of the first mechanical leg assembly 1503 and the second mechanical leg assembly 1502.

[0373] During subsequent walking cycles, the second mechanical leg assembly 1502 and the first mechanical leg assembly 1503 swing alternately to enable the quadrupedal wheel hybrid robot 1501 to complete the task of walking on flat ground.

[0374] In some embodiments, a quadrupedal wheeled hybrid robot is used as an example for testing. Referring to Figure 16, curve 1601 is the curve of the foot joint torque corresponding to the left outer mechanical leg of the quadrupedal wheeled hybrid robot changing with time. Without adopting the technical solution provided in the embodiments of this application, when the center of mass offset of the quadrupedal wheeled hybrid robot is kept at 0.055m, the maximum value of the foot joint torque is 29.040Nm.

[0375] In some embodiments, when R = 0 (i.e., R corresponding to DLQR), the technical solution provided in this application is adopted. As shown in Figure 17, curve 1701 is the curve of the foot joint torque corresponding to the left outer mechanical leg of the quadrupedal wheeled hybrid robot changing with time. When adjusting the initial drive parameters each time the quadrupedal standing state is converted to the bipedal standing state, and vice versa, the center of mass offset remains constant at 0.055m, and the DLQR adopts the analytical solution when R = 0. The maximum value of the foot joint torque reaches 33.281 Nm, but this is because the center of mass velocity is poorly followed in the quadrupedal standing state, resulting in a greater acceleration required for deceleration in the bipedal standing state. Therefore, this is not a planning problem, but a control problem. After adding the observer, the weight of the state information is relatively large, that is, the proportion of state information is large, and the proportion of state prior information (i.e., prior state variable set) is small.

[0376] To solve the control and following problem, we will start adjusting kp (proportional coefficient) and kd (differential coefficient), as shown in Figure 18. Curve 1801 is the curve of the speed of the left outer mechanical leg of the quadrupedal wheeled hybrid robot changing with time in the quadrupedal wheeled standing state, and curve 1802 is the curve of the reference speed of the left outer mechanical leg of the quadrupedal wheeled hybrid robot changing with time in the quadrupedal wheeled standing state.

[0377] In the quadrupedal standing position, adjust the kp and kd values ​​of the center of mass corresponding to the WBC module. For example, adjust it from [200 30] to [200 120]. When adjusting the initial drive parameters each time the quadrupedal standing position is switched to the bipedal standing position, and vice versa, the center of mass offset remains constant at 0.055m, and the maximum value of the foot joint torque is 26.167Nm, which is significantly reduced.

[0378] Based on [200 120], if the initial drive parameters are not adjusted using the technical solution provided in the embodiments of this application, as shown in Figures 19, 20 and 21, the foot joint torque changes little for the later steps, but the foot joint torque for the first step will be as large as 32.058 Nm. Curve 1901 is the curve of the foot joint torque corresponding to the left outer mechanical leg of the quadrupedal wheeled hybrid robot changing with time; curve 2001 is the curve of the reference speed corresponding to the left outer mechanical leg of the quadrupedal wheeled hybrid robot changing with time in the quadrupedal wheeled standing state; curve 2002 is the curve of the speed corresponding to the left outer mechanical leg of the quadrupedal wheeled hybrid robot changing with time in the quadrupedal wheeled standing state; and curve 2101 is the curve of the foot joint torque corresponding to the left outer mechanical leg of the quadrupedal wheeled hybrid robot changing with time.

[0379] If the technical solution provided in the embodiments of this application is used to adjust the initial drive parameters, referring to Figure 22, curve 2201 is the curve of the foot joint torque corresponding to the left outer mechanical leg of the quadrupedal wheel hybrid robot changing with time. After adjusting kp and kd, and adding the adjustment of the initial drive parameters, R is still 0, but it seems that the improvement in these two places is not significant, which may be due to R=0.

[0380] In the quadrupedal standing state, the kp and kd of the center of mass corresponding to WBC are kept at [200 120]. When the initial drive parameters are adjusted each time the quadrupedal standing state is converted to the bipedal standing state, and vice versa, the center of mass offset is modified to 0.025m. The maximum value of the foot joint torque is 16.483Nm, and the minimum center of mass offset is 0.025m. As shown in Figures 23 and 24, curve 2301 is the curve of the foot joint torque corresponding to the left outer mechanical leg of the quadrupedal wheeled hybrid robot changing with time, curve 2401 is the curve of the velocity corresponding to the left outer mechanical leg of the quadrupedal wheeled hybrid robot changing with time in the quadrupedal standing state, and curve 2402 is the curve of the reference velocity corresponding to the left outer mechanical leg of the quadrupedal wheeled hybrid robot changing with time in the quadrupedal standing state.

[0381] The above data proves that the technical solution provided in this application can indeed reduce the maximum value of the foot joint torque, thereby reducing the pressure on the drive motor.

[0382] In some embodiments, when R is greater than 0 (i.e., R corresponding to DLQR), the technical solution provided in the embodiments of this application is adopted. For example, in order to introduce the influence of R on the planning and make the generated trajectory smoother, an iterative solution is adopted, and R = 0.03 is added to obtain curves 2501 and 2502 in Figure 25. Curves 2501 and 2502 are curves showing the change of the target position of the centroid over time.

[0383] A slower target driving parameter for the center of mass may result in lower acceleration and potentially lower foot joint torque. However, the center of mass position tracking is poor. Adjusting the kp and kd values ​​for the mechanical feet in both quadruped and bipedal standing states, such as setting kp and kd to [120 10], reduces the maximum foot joint torque to 24.405 Nm. As shown in Figure 26, curve 2601 represents the change in foot joint torque over time for the left outer mechanical leg of the quadrupedal-wheeled hybrid robot.

[0384] Referring to Figure 27, curve 2701 is the curve of the foot joint torque corresponding to the left outer mechanical leg of the quadrupedal wheel hybrid robot changing with time. Under extreme conditions, adjustments can be made: with a center of mass offset of 0.055m and R = 0.05, the maximum value of the foot joint torque can be reduced to below 23Nm.

[0385] Each time an adjustment is made, the foot joint torque decreases instantaneously. This may be because at the moment of replanning, the ZMP position is very close to the ZMP target position, and the center of mass position is also very close to the center of mass target position, resulting in a very small center of mass acceleration. The technical solution provided in this application can control the foot joint torque at the target moment, but it cannot solve the problem permanently. Compared to the original, the reduced foot joint torque at this time will be compensated back later. Therefore, a first control time of s can be set for each stride cycle to solve this problem.

[0386] In a quadrupedal standing position, the planned velocity of the center of mass will first increase and then decrease to around 0.0. When the velocity decreases to a certain level from 0.055m, the center of mass will be behind the mechanical wheels at the instant of switching from quadrupedal to bipedal standing position. The center of mass will then need to rely on its inertia to move forward. If the planned velocity is too small or the position is too far back at this instant, the plan will fail. Adjusting the initial drive parameters can improve the problem to some extent because the target position of the center of mass will become more forward. If adjustments are made at 0.8, 0.99, and 0.98, the velocity of 0.055m can be reduced to 0.0187m. Without adjusting the initial drive parameters, the plan will fail. As shown in Figures 28 and 29, curve 2801 represents the ZMP position of the quadrupedal wheeled hybrid robot over time, curve 2802 represents the center of mass position of the quadrupedal wheeled hybrid robot over time, and curve 2901 represents the torque of the foot joint corresponding to the left outer mechanical leg of the quadrupedal wheeled hybrid robot over time.

[0387] If the center of gravity offset is further reduced, the robot will fail to walk because the mechanical wheels will roll significantly at this time. In fact, when the center of gravity offset is less than 0.02m, the mechanical wheels will roll significantly, but the WBC module was able to overcome its influence to maintain balance.

[0388] In summary, the relevant technical planning requires the ZMP (Zero-Mean-Prime) to be set 5.5cm in front of the rotation center of the mechanical wheel. Using the technical solution provided in this application, this 5.5cm can be reduced to 1.87cm. For a pure-legged robot, the theoretical value of the foot joint torque obtained by the planner is 0. However, for a hybrid legged-wheel robot, due to the slippage of the mechanical wheel, the limit value of the foot joint torque is 1.87cm.

[0389] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.

[0390] Referring to Figure 30, a block diagram of a robot control device according to an embodiment of this application is shown. This device has the function of implementing the robot control method described above. This function can be implemented in hardware or by hardware executing corresponding software. The device can be a computer device as described above (such as a wheeled-legged robot, a hybrid wheeled robot, etc.), or it can be installed within a computer device. As shown in Figure 30, the device 3000 includes: a status acquisition module 3001, an adjustment module 3002, and a robot control module 3003.

[0391] The status acquisition module 3001 is configured to acquire the status information of the robot at the first control moment.

[0392] The adjustment module 3002 is configured to obtain, based on the state information, a target driving parameter for controlling the first mechanical leg group and the second mechanical leg group to swing alternately from the first control moment so that the robot moves on the support surface, wherein the target driving parameter corresponds to at least one second control moment after the first control moment.

[0393] The robot control module 3003 is configured to control the first mechanical leg group and the second mechanical leg group to swing alternately based on the target driving parameters, starting from the first control moment, so that the robot moves on the support surface.

[0394] In some embodiments, the state information includes the robot's center of mass being at a first position in a first direction at the first control moment, the robot's zero torque point (ZMP) being at a second position in the first direction at the first control moment, and the velocity of the center of mass in the first direction at the first control moment; the adjustment module is further configured to construct a state variable group of the robot at the first control moment using the first position, the second position, and the velocity as elements; based on the state variable group, the initial drive parameters at the second control moment, which correspond to the same target drive parameters, are adjusted to obtain target drive parameters for controlling the first mechanical leg group and the second mechanical leg group to swing alternately from the first control moment, so that the robot moves on the support surface.

[0395] In some embodiments, the adjustment module is further configured to: obtain a priori state variable set of the robot at the first control time based on the state variable set of the robot at the third control time, wherein the third control time is the control time preceding the first control time; fuse the state variable set and the priori state variable set to obtain an adjusted state variable set, wherein the adjusted state variable set includes: the adjusted position of the center of mass in the first direction at the first control time, the adjusted position of the ZMP in the first direction at the first control time, and the adjusted velocity of the center of mass in the first direction at the first control time; and adjust the initial driving parameters based on the adjusted state variable set to obtain the target driving parameters.

[0396] In some embodiments, the initial driving parameters include: support reference driving parameters planned for the robot's support mechanical leg assembly, swing reference driving parameters planned for the robot's swing mechanical leg assembly, body reference driving parameters planned for the robot's body, center of mass reference driving parameters planned for the robot's center of mass, and ZMP reference driving parameters planned for the robot's ZMP; the adjustment module 3002 is further configured to construct a state variable group of the robot at the first control time using the position of the center of mass in the first direction at the first control time, the position of the robot's zero torque point ZMP in the first direction at the first control time, and the velocity of the center of mass in the first direction at the first control time as elements; based on the robot's state information at the first control time... The robot's state variable set at two control moments is used to obtain the robot's prior state variable set at the first control moment, where the second control moment is the control moment preceding the first control moment. The state variable set and the prior state variable set are then fused to obtain an adjusted state variable set, which includes: the adjusted position of the center of mass in the first direction at the first control moment, the adjusted position of the ZMP (Zero Motion Point) in the first direction at the first control moment, and the adjusted velocity of the center of mass in the first direction at the first control moment. Based on the adjusted state variable set, at least one of the support reference drive parameter, the swing reference drive parameter, the fuselage reference drive parameter, the center of mass reference drive parameter, and the ZMP reference drive parameter in the initial drive parameters is adjusted to obtain the target drive parameters.

[0397] In some embodiments, the initial driving parameters include: centroid reference driving parameters obtained for the centroid planning of the robot; as shown in FIG31, the adjustment module 3002 includes: actual variable construction submodule 3002a, prior variable acquisition submodule 3002b, adjustment variable acquisition submodule 3002c, adjustment submodule 3002d and acquisition submodule 3002e.

[0398] The actual variable construction submodule 3002a is configured to construct a state variable group of the robot at the first control time using the position of the center of mass in the first direction at the first control time, the position of the robot's zero torque point ZMP in the first direction at the first control time, and the velocity of the center of mass in the first direction at the first control time as elements.

[0399] The prior variable acquisition submodule 3002b is configured to obtain the prior state variable set of the robot at the first control time based on the state variable set of the robot at the second control time, wherein the second control time is the control time preceding the first control time.

[0400] The variable acquisition submodule 3002c is configured to fuse the state variable group and the prior state variable group to obtain an adjusted state variable group, wherein the adjusted state variable group includes: the adjusted position of the centroid in the first direction at the first control time, the adjusted position of the ZMP in the first direction at the first control time, and the adjusted velocity of the centroid in the first direction at the first control time.

[0401] The adjustment submodule 3002d is configured to adjust the centroid reference driving parameters based on the adjusted state variable group to obtain the centroid target driving parameters.

[0402] The acquisition submodule 3002e is configured to replace the centroid reference driving parameter in the initial driving parameters with the centroid target driving parameter to obtain the target driving parameter.

[0403] In some embodiments, the initial driving parameters include: ZMP reference driving parameters obtained from ZMP planning for the robot;

[0404] The actual variable construction submodule 3002a is further configured to construct the state variable group of the robot at the first control time using the position of the centroid in the first direction at the first control time, the position of the ZMP in the first direction at the first control time, and the velocity of the centroid in the first direction at the first control time as elements in the state information at the first control time.

[0405] The prior variable acquisition submodule 3002b is further configured to obtain the prior state variable set of the robot at the first control time based on the state variable set of the robot at the second control time, wherein the second control time is the control time preceding the first control time.

[0406] The adjustment variable acquisition submodule 3002c is further configured to fuse the state variable group and the prior state variable group to obtain an adjusted state variable group, wherein the adjusted state variable group includes: the adjusted position of the centroid in the first direction at the first control time, the adjusted position of the ZMP in the first direction at the first control time, and the adjusted velocity of the centroid in the first direction at the first control time.

[0407] The adjustment submodule 3002d is further configured to adjust the ZMP reference driving parameters based on the adjusted state variable group to obtain the ZMP target driving parameters.

[0408] The acquisition submodule 3002e is further configured to replace the ZMP reference driving parameters in the initial driving parameters with the ZMP target driving parameters to obtain the target driving parameters.

[0409] In some embodiments, the adjustment variable acquisition submodule 3002c is further configured as follows:

[0410] Based on the state variable set, the output variable set of the robot at the first control moment is obtained. The output variable set is used to indicate the state information obtained by observing the robot at the first control moment.

[0411] Based on the state-space equation of the robot, the Kalman gain of the robot at the first control moment is obtained. The state-space equation is used to indicate the relationship between the prior state variable set, the prior control variable set, and the prior output variable set of the robot.

[0412] Based on the Kalman gain, the adjusted state variable set is obtained by fusing the output variable set and the prior state variable set.

[0413] In some embodiments, the adjustment variable acquisition submodule 3002c is further configured as follows:

[0414] Based on the output variable group and the prior state variable group, the first intermediate variable group is obtained;

[0415] Based on the first set of intermediate variables and the Kalman gain, a second set of intermediate variables is obtained;

[0416] The adjusted state variable set is obtained based on the second intermediate variable set and the prior state variable set.

[0417] In some embodiments, the adjustment variable acquisition submodule 3002c is further configured as follows:

[0418] By adjusting the posterior value of the covariance at the second control time using the first matrix corresponding to the prior state variable group in the state space equation, the prior value of the covariance at the first control time is obtained. The covariance is used to measure the correlation between the output variable group and the prior state variable group.

[0419] The Kalman gain is obtained based on the prior value of the covariance at the first control time.

[0420] In some embodiments, the adjustment submodule 3002d is further configured as follows:

[0421] Based on the adjusted state variable set, the adjusted control variable set of the robot at the first control moment is constructed;

[0422] Using the adjusted control variable set at the first control moment as the initial value, a sequence of control variable sets to be solved is constructed, and using the position of ZMP in the adjusted state variable set as the initial value, the ZMP target driving parameters to be solved are constructed.

[0423] Using the discrete linear quadratic tuned machine control method, a cost function is constructed based on the sequence of control variables to be solved, the ZMP target driving parameters to be solved, and the ZMP reference driving parameters. The cost function is used to define the difference between the ZMP target driving parameters and the ZMP reference driving parameters, as well as the energy of the sequence of control variables.

[0424] With the goal of minimizing the cost function, the sequence of control variables to be solved is iteratively adjusted to obtain the adjusted sequence of control variables.

[0425] Based on the adjusted sequence of control variables, the centroid target driving parameters are obtained.

[0426] In some embodiments, the adjustment submodule 3002d is further configured as follows:

[0427] For the third control moment, based on the adjusted control variable group of the robot at the first control moment and the adjusted state variable group in the adjusted control variable group sequence, the adjusted state variable group of the robot at the third control moment is obtained, where the third control moment refers to the control moment after the first control moment; the position of the centroid in the first direction in the adjusted state variable group at the third control moment is determined as the target position of the centroid in the first direction at the third control moment;

[0428] For the nth control time, based on the adjusted control variable set of the robot at the (n-1)th control time and the adjusted state variable set of the robot at the (n-1)th control time, the adjusted state variable set of the robot at the nth control time is obtained. The nth control time refers to the control time after the third control time, and n is an integer greater than 3. The position of the center of mass in the first direction in the adjusted state variable set of the robot at the nth control time is determined as the target position of the center of mass in the first direction at the nth control time.

[0429] In some embodiments, the adjustment submodule 3002d is further configured as follows:

[0430] Based on the adjusted state variable set, the adjusted control variable set of the robot at the first control moment is constructed;

[0431] Using the adjusted control variable set at the first control moment as the initial value, a sequence of control variable sets to be solved is constructed, and using the position of ZMP in the adjusted state variable set as the initial value, the ZMP target driving parameters to be solved are constructed.

[0432] Using the discrete linear quadratic tuned machine control method, a cost function is constructed based on the sequence of control variables to be solved, the ZMP target driving parameters to be solved, and the ZMP reference driving parameters. The cost function is used to define the difference between the ZMP target driving parameters and the ZMP reference driving parameters, as well as the energy of the sequence of control variables.

[0433] With the goal of minimizing the cost function, the sequence of control variables to be solved is iteratively adjusted to obtain the adjusted sequence of control variables.

[0434] Based on the adjusted sequence of control variables, the ZMP target driving parameters are obtained.

[0435] In some embodiments, the adjustment submodule 3002d is further configured as follows:

[0436] For the third control moment, based on the adjusted control variable group of the robot at the first control moment and the adjusted state variable group in the adjusted control variable group sequence, the adjusted state variable group of the robot at the third control moment is obtained, where the third control moment refers to the control moment after the first control moment; the position of the ZMP in the first direction in the adjusted state variable group at the third control moment is determined as the target position of the ZMP in the first direction at the third control moment;

[0437] For the nth control time, based on the adjusted control variable set of the robot at the (n-1)th control time and the adjusted state variable set of the robot at the (n-1)th control time, the adjusted state variable set of the robot at the nth control time is obtained. The nth control time refers to the control time after the third control time, and n is an integer greater than 3. The position of the ZMP in the first direction in the adjusted state variable set of the robot at the nth control time is determined as the target position of the ZMP in the first direction at the nth control time.

[0438] In some embodiments, the plurality of control moments are divided into m stepping cycles, each stepping cycle being used to indicate the duration for which the first mechanical leg group or the second mechanical leg group completes a swing, where m is a positive integer; as shown in FIG31, the device 3000 further includes: a first moment determination module 3004.

[0439] The first moment determination module 3004 is configured to determine s first control moments from the stepping cycle to which the first control moment belongs, where s is a positive integer.

[0440] In some embodiments, at least one of the mechanical legs has a pair of coaxial mechanical wheels and a mechanical foot at its foot portion away from the hip joint; the first moment determination module 3004 is also configured to be at least one of the following:

[0441] When s equals 1, the first control moment in the stepping cycle when the foot joint torque corresponding to the mechanical foot is greater than or equal to the torque threshold is determined as the first control moment.

[0442] When s equals 2, the control moment when the robot switches from a quadrupedal standing state to a bipedal standing state during the stepping cycle, and the control moment when the robot switches from a bipedal standing state to a quadrupedal standing state during the stepping cycle, are determined as the first control moment.

[0443] When s equals 5, the control time when the robot switches from the bipedal wheel standing state to the quadrupedal wheel standing state, the control time when the robot switches from the quadrupedal wheel standing state to the bipedal wheel standing state, and the first, third, and fifth control times before the control time when the robot switches from the quadrupedal wheel standing state to the bipedal wheel standing state are determined as the first control time.

[0444] When s is the total number of the plurality of control moments, each of the control moments is determined as the first control moment.

[0445] In summary, the technical solution provided in this application, for a robot having a body, a first mechanical leg assembly, and a second mechanical leg assembly, adjusts the reference driving parameters of the robot on the support surface based on the robot's state information at the first control moment to obtain the target driving parameters. Since the target driving parameters are based on the state information at the first control moment as initial information, the error between the target driving parameters and the robot's actual driving parameters can be minimized. By controlling the robot's movement through the target driving parameters, the control accuracy of the robot can be effectively improved.

[0446] It should be noted that the apparatus provided in the above embodiments is only illustrated by the division of the above functional modules when implementing its functions. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal 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 belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.

[0447] Please refer to Figure 32, which shows a simplified structural block diagram of a computer device provided in one embodiment of this application. The computer device can refer to any electronic device capable of data computation, processing, and storage.

[0448] In some embodiments, as shown in FIG32, the computer device 3200 includes a processor 3201 and a memory 3202. The processor 3201 includes, but is not limited to, any of the following: CPU (Central Processing Unit), GPU (Graphics Processing Unit), and FPGA (Field Programmable Gate Array). The memory 3202 may include storage devices such as RAM (Random-Access Memory) and ROM (Read-Only Memory). The processor 3201 and the memory 3202 can be connected via a system bus.

[0449] In some embodiments, the memory 3202 stores a computer program, which is loaded and executed by the processor 3201 to implement the robot control method described above.

[0450] In some embodiments, a chip is also provided, wherein a computer program is stored in the chip, the computer program being loaded and executed by a processor to implement the robot control method described above.

[0451] In some embodiments, a computer-readable storage medium is also provided, wherein a computer program is stored therein, which, when executed by a processor of a computer device, implements the above-described robot control method.

[0452] In some embodiments, the computer-readable storage medium may include ROM (Read-Only Memory), RAM (Random-Access Memory), SSD (Solid State Drives), or optical disc, etc. The random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).

[0453] In some embodiments, a computer program product is also provided, the computer program product including 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 the processor executes the computer program, causing the computer device to perform the robot control method described above.

[0454] It should be noted that, in this application embodiment, before and during the collection of user-related data, a prompt interface, pop-up window, or voice prompt message can be displayed. These prompt interfaces, pop-up windows, or voice prompt messages are used to inform the user that their relevant data is being collected. This ensures that the application only begins executing the steps related to collecting user-related data after receiving confirmation from the user regarding the prompt interface or pop-up window; otherwise (i.e., without receiving confirmation from the user), the steps to collect user-related data end, meaning no user-related data is collected. In other words, all user data collected in this application is processed strictly in accordance with the requirements of relevant national laws and regulations. The informed consent or separate consent of the personal information subject is obtained only with the user's consent and authorization. Subsequent data use and processing are conducted within the scope of laws, regulations, and the authorization of the personal information subject. Furthermore, the collection, use, and processing of relevant user data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the robot, support surface, and drive parameters involved in this application are all obtained with full authorization.

[0455] It should be understood that "multiple" as used herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in numerical order, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the illustration. This application does not limit this.

[0456] The above description is merely an exemplary embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A control method of a robot, applied to a computer device, the robot comprising a body, a first mechanical leg group and a second mechanical leg group connected to the body through a first hip joint respectively, a first rotation center of a first hip joint corresponding to the first mechanical leg group and a second rotation center of a second hip joint corresponding to the second mechanical leg group being located in a same vertical plane; the method comprising: obtaining state information of the robot at a first control time; based on the state information, obtaining a target driving parameter for controlling the first mechanical leg group and the second mechanical leg group to swing alternately to make the robot move on a support surface from the first control time, the target driving parameter corresponding to at least one second control time after the first control time; the state information comprising a first position of a center of mass of the robot in a first direction at the first control time, a second position of a zero moment point (ZMP) of the robot in the first direction at the first control time, and a velocity of the center of mass in the first direction at the first control time; the obtaining of the target driving parameter based on the state information comprises: constructing a state variable group of the robot at the first control time with the first position, the second position and the velocity as elements; adjusting an initial driving parameter corresponding to the same second control time as the target driving parameter based on the state variable group to obtain the target driving parameter for controlling the first mechanical leg group and the second mechanical leg group to swing alternately to make the robot move on the support surface from the first control time; the adjusting of the initial driving parameter based on the state variable group comprises: obtaining a prior state variable group of the robot at the first control time based on a state variable group of the robot at a third control time, the third control time being a control time before the first control time; fusing the state variable group and the prior state variable group to obtain an adjusted state variable group, wherein the adjusted state variable group comprises an adjusted position of the center of mass in the first direction at the first control time, an adjusted position of the ZMP in the first direction at the first control time, and an adjusted velocity of the center of mass in the first direction at the first control time; and adjusting the initial driving parameter based on the adjusted state variable group to obtain the target driving parameter; and the initial driving parameter comprising a center of mass reference driving parameter planned for the center of mass of the robot. ​ ​ 2. The method of claim 1, wherein, ​ ​ ​ ​ 3. The method of claim 2, wherein, ​ ​ ​ ​ 4. The method of claim 3, wherein, ​ The adjusting the initial driving parameter based on the adjusted state variable set comprises: adjusting the center-of-mass reference driving parameter based on the adjusted state variable set to obtain a center-of-mass target driving parameter; replacing the center-of-mass reference driving parameter in the initial driving parameter with the center-of-mass target driving parameter to obtain the target driving parameter.

5. The method of claim 3, wherein, The initial driving parameter comprises a ZMP reference driving parameter obtained by ZMP planning of the robot; The adjusting the initial driving parameter based on the adjusted state variable set comprises: adjusting the ZMP reference driving parameter based on the adjusted state variable set to obtain a ZMP target driving parameter; replacing the ZMP reference driving parameter in the initial driving parameter with the ZMP target driving parameter to obtain the target driving parameter.

6. The method of claim 4 or 5, wherein, The fusing the state variable set and the prior state variable set to obtain an adjusted state variable set comprises: obtaining an output variable set of the robot at the first control time based on the state variable set, the output variable set being used to indicate state information observed from the robot at the first control time; obtaining a Kalman gain of the robot at the first control time based on a state space equation of the robot, the state space equation being used to indicate a relationship among a prior state variable set, a prior control variable set and a prior output variable set of the robot; fusing the output variable set and the prior state variable set based on the Kalman gain to obtain the adjusted state variable set.

7. The method of claim 6, wherein, The fusing the output variable set and the prior state variable set based on the Kalman gain to obtain the adjusted state variable set comprises: obtaining a first intermediate variable set based on the output variable set and the prior state variable set; obtaining a second intermediate variable set based on the first intermediate variable set and the Kalman gain; obtaining the adjusted state variable set based on the second intermediate variable set and the prior state variable set.

8. The method of claim 7, wherein, The obtaining the first intermediate variable set based on the output variable set and the prior state variable set comprises: subtracting a product of the output variable set, the prior state variable set and a unit matrix to obtain the first intermediate variable set; The obtaining the second intermediate variable set based on the first intermediate variable set and the Kalman gain comprises: multiplying the first intermediate variable set and the Kalman gain to obtain the second intermediate variable set; The obtaining the adjusted state variable set based on the second intermediate variable set and the prior state variable set comprises: adding the second intermediate variable set and the prior state variable set to obtain the adjusted state variable set.

9. The method of claim 6, wherein, The obtaining the Kalman gain of the robot at the first control time based on the state space equation of the robot comprises: adjusting a posterior value of the covariance at the second control time through a first matrix corresponding to the prior state variable group in the state space equation to obtain a prior value of the covariance at the first control time, the covariance being used to measure a correlation between the output variable group and the prior state variable group; obtaining the Kalman gain based on the prior value of the covariance at the first control time.

10. The method of claim 9, wherein, The adjusting a posterior value of the covariance at the second control time through a first matrix corresponding to the prior state variable group in the state space equation to obtain a prior value of the covariance at the first control time includes: multiplying a product of the first matrix and the posterior value of the covariance at the second control time by a transpose of the first matrix to obtain a candidate prior value; determining an addition of the candidate prior value and a parameter matrix as the prior value of the covariance at the first control time.

11. The method according to any one of claims 4 to 10, wherein, The adjusting the center of mass reference driving parameter based on the adjusted state variable group to obtain a center of mass target driving parameter includes: constructing an adjusted control variable group of the robot at the first control time based on the adjusted state variable group; constructing a control variable group sequence to be solved with the adjusted control variable group at the first control time as an initial value, and constructing a ZMP target driving parameter to be solved with a position of the ZMP in the adjusted state variable group as an initial value; constructing a cost function based on the control variable group sequence to be solved, the ZMP target driving parameter to be solved, and the ZMP reference driving parameter by using a discrete linear quadratic regulator control method, wherein the cost function is used to define a difference between the ZMP target driving parameter and the ZMP reference driving parameter, and an energy of the control variable group sequence; iteratively adjusting the control variable group sequence to be solved to obtain an adjusted control variable group sequence with a minimum value of the cost function as a target; obtaining the center of mass target driving parameter based on the adjusted control variable group sequence.

12. The method of claim 11, wherein, The obtaining the center of mass target driving parameter based on the adjusted control variable group sequence includes: for a third control time, obtaining an adjusted state variable group of the robot at the third control time based on the adjusted control variable group sequence, the adjusted control variable group of the robot at the first control time, and the adjusted state variable group, the third control time being a control time after the first control time; and determining a position of the center of mass in the first direction in the adjusted state variable group at the third control time as a target position of the center of mass in the first direction at the third control time. For the n control moment, based on the adjusted control variable group sequence, the adjusted control variable group of the robot at the n-1 control moment, and the adjusted state variable group of the robot at the n-1 control moment, the adjusted state variable group of the robot at the n control moment is obtained, the n control moment refers to the control moment after the third control moment, and n is an integer greater than 3; the position of the center of mass in the first direction in the adjusted state variable group of the robot at the n control moment is determined as the target position of the center of mass in the first direction at the n control moment.

13. The method according to any one of claims 5 to 10, wherein, The ZMP target driving parameter is obtained by adjusting the ZMP reference driving parameter based on the adjusted state variable group, including: Based on the adjusted state variable group, the adjusted control variable group of the robot at the first control moment is constructed; The adjusted control variable group sequence to be solved is constructed with the adjusted control variable group of the first control moment as the initial value, and the ZMP target driving parameter to be solved is constructed with the position of the ZMP in the adjusted state variable group as the initial value; A cost function is constructed according to the control variable group sequence to be solved, the ZMP target driving parameter to be solved, and the ZMP reference driving parameter by using a discrete linear quadratic regulator control method, wherein the cost function is used to define the difference between the ZMP target driving parameter and the ZMP reference driving parameter, and the energy of the control variable group sequence; The control variable group sequence to be solved is iteratively adjusted to obtain an adjusted control variable group sequence, with the goal of minimizing the value of the cost function; The ZMP target driving parameter is obtained based on the adjusted control variable group sequence.

14. The method of claim 13, wherein, The ZMP target driving parameter is obtained based on the adjusted control variable group sequence, including: For the third control moment, based on the adjusted control variable group sequence, the adjusted control variable group of the robot at the first control moment, and the adjusted state variable group, the adjusted state variable group of the robot at the third control moment is obtained, and the third control moment refers to the control moment after the first control moment; the position of the ZMP in the first direction in the adjusted state variable group at the third control moment is determined as the target position of the ZMP in the first direction at the third control moment. For the nth control moment, based on the adjusted control variable group sequence, the adjusted control variable group of the robot at the (n-1)th control moment, and the adjusted state variable group of the robot at the (n-1)th control moment, the adjusted state variable group of the robot at the n control moment is obtained, the nth control moment refers to the control moment after the third control moment, and n is an integer greater than 3; the position of the ZMP in the first direction in the adjusted state variable group of the robot at the n control moment is determined as the target position of the ZMP in the first direction at the n control moment.

15. The method according to any one of claims 1 to 14, wherein, The plurality of control moments are divided into m step periods, and each step period is used to indicate the duration of one swing of the first mechanical leg group or the second mechanical leg group, and m is a positive integer; Before the state information of the robot at the first control moment is obtained, the method further includes: From the step period to which the first control moment belongs, s first control moments are determined, and s is a positive integer.

16. The method of claim 15, wherein, There is at least one mechanical leg far away from the hip joint of the foot, which is provided with a pair of coaxial mechanical wheels and mechanical feet; The determination of the s first control moments from the step period to which the first control moment belongs includes at least one of the following: In the case where s is equal to 1, the first control moment in the step period corresponding to the first control moment is determined as the first control moment when the torque of the foot joint of the mechanical foot is greater than or equal to the torque threshold value; In the case where s is equal to 2, the control moment when the robot switches from the four-wheel standing state to the two-wheel standing state in the step period, and the control moment when the robot switches from the two-wheel standing state to the four-wheel standing state in the step period are determined as the first control moment; In the case where s is equal to 5, the first control moment, the third control moment and the fifth control moment before the control moment when the robot switches from the two-wheel standing state to the four-wheel standing state in the step period are determined as the first control moment; In the case where s is the total number of the plurality of control moments, each control moment is determined as the first control moment.

17. A control device of a robot, applied to a computer device, the robot comprising a body, a first mechanical leg group and a second mechanical leg group connected to the body through a hip joint respectively, a first rotation center of a first hip joint corresponding to the first mechanical leg group and a second rotation center of a second hip joint corresponding to the second mechanical leg group are located in the same vertical plane; the device comprises: a state acquisition module configured to acquire state information of the robot at a first control moment; An adjusting module, configured to obtain, based on the state information, a target driving parameter for controlling the first mechanical leg group and the second mechanical leg group to swing alternately to move the robot on the support surface from the first control time, the target driving parameter corresponding at least one second control time after the first control time.

18. A chip, in which a computer program is stored, the computer program being loaded and executed by a processor to implement the control method of the robot according to any one of claims 1 to 17.

19. A computer device, comprising a processor and a memory, in which a computer program is stored, the computer program being loaded and executed by the processor to implement the control method of the robot according to any one of claims 1 to 16.

20. A computer readable storage medium, in which a computer program is stored, the computer program being loaded and executed by a processor to implement the control method of the robot according to any one of claims 1 to 16.

21. A computer program product, comprising a computer program stored in a computer readable storage medium, the computer program being read and executed by a processor from the computer readable storage medium to implement the control method of the robot according to any one of claims 1 to 16.

Citation Information

Patent Citations

  • All-landform walking device and control method thereof

    CN104973163A

  • Biped humanoid robot, nonlinear gait planning method thereof and control method

    CN108345211A

  • Multi-sensor fusion algorithm for positioning robot

    CN110515381A

  • Dust-free room intelligent sweeping robot

    CN112535434A

  • Robot optimization method and device, terminal equipment and computer readable storage medium

    CN112597612A