Control Method, Device, Equipment and Storage Medium of Robot

By designing mechanical leg sets and mechanical feet with hip joints in wheel-leg robots and using the expected tasks and expected angle sets for control, the problem of insufficient stability of existing wheel-leg robots is solved, achieving higher joint control accuracy and motion stability.

CN119002325BActive Publication Date: 2025-06-10TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410325402.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-03-20
Publication Date
2025-06-10
Estimated Expiration
2044-03-20

AI Technical Summary

Technical Problem

Existing wheel-leg robots are inadequate instability when standing and moving, resulting in unstable movements.

Method used

By designing a first and second mechanical leg set with a hip joint in a robot, each mechanical leg set includes at least two mechanical legs, and a pair of coaxial mechanical wheels and mechanical feet are provided at the foot away from the hip joint. The robot's movement is controlled using the expected tasks and the expected angle set, allowing the mechanical foot to assist the mechanical wheel to ensure stable standing.

Benefits of technology

Improves the accuracy of joint control and motion stability of the robot, allowing the robot to stand and move more stably.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119002325B_ABST
    Figure CN119002325B_ABST
Patent Text Reader

Abstract

The present application discloses a control method, device, equipment and storage medium for a robot, relating to the field of artificial intelligence technology. The method includes: for a robot having a first mechanical leg group and a second mechanical leg group, and a mechanical leg provided with a pair of coaxial mechanical wheels and mechanical feet, obtaining a first desired task of the robot on a support surface, where the first desired task includes the desired positions of each part of the robot in the operation space of the robot, and the first desired task is used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to move on the support surface, and the mechanical feet are used to assist the mechanical wheels so that the robot stands on the support surface; obtaining a set of desired angles corresponding to the first desired task, where the set of desired angles includes the desired angles for controlling the joints corresponding to each part of the robot; and controlling the robot to move under the guidance of the first desired task according to the set of desired angles. The embodiments of the present application can improve the motion stability of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of artificial intelligence technology, and particularly to a control method, device, equipment and storage medium for a robot. Background Art

[0002] With the development of robot control technology, some organizations and research institutions have successively introduced wheel-legged robots with wheels as feet. This wheel-legged robot can not only rely on the wheels to slide quickly, but also rely on wheel gaits to walk, climb stairs, cross obstacles, etc.

[0003] Taking a quadruped wheel-legged robot as an example, the related technology can control the two groups of mechanical legs of the quadruped wheel-legged robot to swing alternately to achieve tasks such as gait walking, climbing stairs, and crossing obstacles on the support surface. However, the related technology only relies on the mechanical feet to contact the support surface, that is, only two contact points between a group of mechanical legs and the support surface are used to keep the quadruped wheel-legged robot standing. In this way, it is easy to cause the robot to stand unstably, and then cause the robot to move unstably. Summary of the Invention

[0004] The embodiments of the present application provide a control method, device, equipment and storage medium for a robot. The technical solutions include the following content.

[0005] According to one aspect of the embodiments of the present application, a control method for a robot is provided. The robot includes a fuselage, a first mechanical leg group and a second mechanical leg group connected to the fuselage through hip joints. At least one of the first mechanical leg group and the second mechanical leg group includes at least two mechanical legs. There is at least one mechanical leg with a pair of coaxial mechanical wheels and mechanical feet at the foot away from the hip joint. The rotation axes of the hip joints corresponding to the first mechanical leg group and the rotation axes of the hip joints corresponding to the second mechanical leg group are located in the same vertical plane. The method includes:

[0006] Obtain a first expected task of the robot on the support surface, where the first expected task includes the expected positions of each part of the robot in the operation space of the robot. The first expected task is used to guide the robot to swing the first mechanical leg group and the second mechanical leg group alternately to move in a first direction on the support surface. During the movement of the robot, the mechanical feet are used to assist the mechanical wheels so that the robot stands on the support surface;

[0007] Obtain an expected angle set corresponding to the first expected task, where the expected angle set includes the expected angles of the joints corresponding to each part of the robot for controlling the robot;

[0008] According to the desired angle set, the robot is controlled to move under the guidance of the first desired task.

[0009] According to one aspect of an embodiment of the present application, a control device of a robot is provided, wherein the robot comprises a body, a first mechanical leg group and a second mechanical leg group connected to the body via a hip joint, wherein at least one of the first mechanical leg group and the second mechanical leg group comprises at least two mechanical legs, and a foot of at least one of the mechanical legs away from the hip joint is provided with a pair of coaxial mechanical wheels and a mechanical foot, and a rotation axis of the hip joint corresponding to the first mechanical leg group and a rotation axis of the hip joint corresponding to the second mechanical leg group are located in the same vertical plane; the device comprises:

[0010] an expected task acquisition module, used to acquire a first expected task of the robot on a support surface, wherein the first expected task includes expected positions of various parts of the robot in the operation space of the robot, and the first expected task is used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to move in a first direction on the support surface, and during the movement of the robot, the mechanical foot is used to assist the mechanical wheel so that the robot stands on the support surface;

[0011] An expected angle acquisition module, used to acquire an expected angle set corresponding to the first expected task, wherein the expected angle set includes expected angles of joints corresponding to various parts of the robot for controlling the robot;

[0012] The robot control module is used to control the robot to move under the guidance of the first expected task according to the expected angle set.

[0013] According to one aspect of an embodiment of the present application, a chip is provided, in which a computer program is stored. The computer program is loaded and executed by a processor to implement the above-mentioned robot control method.

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

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

[0016] According to one aspect of the embodiments of the present application, a computer program product is provided. The computer program product includes 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, so that the computer device executes the above-mentioned control method of the robot.

[0017] The technical solutions provided by the embodiments of the present application may include the following beneficial effects:

[0018] For a robot with a first mechanical leg group and a second mechanical leg group, and a mechanical leg with a pair of coaxial mechanical wheels and mechanical feet provided on the foot, by the expected positions of each part of the robot, the expected angles of each joint of the robot are calculated, and then directly through the expected angles, each joint is controlled so that the robot moves on the support surface, realizing the effective following of the joint to the expected angle, and avoiding the problem of poor force control transparency in the related art (that is, following the expected acceleration, it is impossible to ensure that the corresponding part of the joint can accurately move to the expected position, that is, it is impossible to make the joint accurately follow the expected angle, resulting in low following accuracy of the joint to the angle), thereby effectively improving the control accuracy of the joints of the robot.

[0019] In addition, during the process of controlling the movement of the robot in the way that the first mechanical leg group and the second mechanical leg group swing alternately, the mechanical foot of the foot assists the mechanical wheel so that the robot can stand on the support surface, realizing that the foot keeps the robot standing in a way with no less than 2 contact points (such as the contact points between the mechanical foot and the mechanical wheel and the support surface respectively), which can make the robot stand more stably on the support surface and is not easy to fall, thereby effectively improving the movement stability of the robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

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

[0022] Figure 2 It is a schematic diagram of a four-legged wheel hybrid robot provided by an embodiment of the present application;

[0023] Figure 3 It is a schematic diagram of a wheel-leg hybrid robot climbing stairs provided by an embodiment of the present application;

[0024] Figure 4 It is a schematic diagram of a wheel - foot hybrid robot crossing a road shoulder provided by an embodiment of the present application;

[0025] Figure 5 It is a schematic diagram of a wheel - foot hybrid robot crossing a pit provided by an embodiment of the present application;

[0026] Figure 6 It is a flowchart of a control method for a robot provided by an embodiment of the present application;

[0027] Figure 7 It is a schematic diagram of the stepping process of a robot provided by an embodiment of the present application;

[0028] Figure 8 It is a schematic diagram of the stepping process of a robot provided by another embodiment of the present application;

[0029] Figure 9 It is a flowchart of a method for obtaining a first expected task provided by an embodiment of the present application;

[0030] Figure 10 It is a schematic diagram of an inverted pendulum model of a robot provided by an embodiment of the present application;

[0031] Figure 11 It is a simplified model diagram of a quadruped wheel - foot hybrid robot provided by an embodiment of the present application;

[0032] Figure 12 It is a simplified model diagram of a quadruped wheel - foot hybrid robot provided by another embodiment of the present application;

[0033] Figure 13 It is a flowchart of a method for obtaining an expected angle set provided by an embodiment of the present application;

[0034] Figure 14 It is a flowchart of a method for obtaining an expected angle set provided by another embodiment of the present application;

[0035] Figure 15 It is a flowchart of a control method for a robot provided by another embodiment of the present application;

[0036] Figure 16 It is a flowchart of a method for obtaining a second expected task provided by an embodiment of the present application;

[0037] Figure 17 It is a schematic diagram of a control method for a quadruped wheel - foot hybrid robot provided by an embodiment of the present application;

[0038] Figure 18 It is a schematic diagram of the simulation flat - ground stepping motion data of a quadruped wheel - foot hybrid robot provided by an embodiment of the present application;

[0039] Figure 19 It is a schematic diagram of the simulated flat-ground stepping motion data of a quadruped-wheel hybrid robot provided by another embodiment of the present application;

[0040] Figure 20 It is a block diagram of a control device of a robot provided by an embodiment of the present application;

[0041] Figure 21 It is a block diagram of a control device of a robot provided by another embodiment of the present application;

[0042] Figure 22 It is a simplified structural block diagram of a computer device provided by an embodiment of the present application. Detailed implementation manners

[0043] To make the objectives, technical solutions, and advantages of the present application clearer, the following will further describe the embodiments of the present application in detail with reference to the accompanying drawings.

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

[0045] Artificial intelligence technology is an interdisciplinary subject, involving a wide range of fields, including both hardware-level technologies and software-level technologies. The basic technologies of artificial intelligence generally include, for example, sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, pre-trained model technology, operation / interaction systems, mechatronics, etc. Among them, the pre-trained model, also known as the large model or the basic model, can be widely applied to downstream tasks in various major directions of artificial intelligence after fine-tuning. The artificial intelligence software technology mainly includes several major directions such as computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.

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

[0047] The technical solution provided by the embodiments of this application mainly relates to robotics in artificial intelligence technology, and mainly relates to robot intelligent control. A robot is a mechatronic device that combines mechanical transmission and modern microelectronics technology and can imitate a certain skill of a human. Robots are developed on the basis of electronics, machinery, and information technology. A robot does not necessarily have to look like a human. As long as it can autonomously complete the tasks and commands given by humans, it belongs to the members of the robot family. A robot is an automated machine that has some intelligent capabilities similar to those of humans or living organisms, such as perception capabilities, planning capabilities, motion capabilities, and cooperation capabilities. It is an automated machine with high flexibility. With the development of computer technology and artificial intelligence technology, robots have been greatly improved in terms of function and technical level. Mobile robots and technologies such as robot vision and touch are typical representatives.

[0048] For the technical solution provided by the embodiments of this application, the execution subject of each step can be a computer device, which can refer to an electronic device with data calculation, processing, and storage capabilities.

[0049] Optionally, the computer device can be a PC (Personal Computer) device such as a desktop computer or a laptop computer for controlling the robot; it can also be a server for controlling the robot. Among them, the server can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The computer device and the robot can be connected through physical lines, networks, etc. For example, refer to Figure 1, the computer device 101 can calculate the corresponding expected angle set of the robot 103 according to the first expected task of the robot 103 on the support surface, and then control the movement of the robot 103 (such as each joint) through the network 102 according to the expected angle set. 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 angle set corresponding to the first expected task of the robot 103, so that the robot 103 moves on the support surface according to the expected position corresponding to the first expected task. During the movement of the robot 103, the mechanical foot is controlled to assist the mechanical wheel so that the robot stands on the support surface. Wherein, the expected position can be obtained by planning the robot according to the support surface.

[0050] Optionally, the computer device can also be the robot itself, that is, the execution subject of each step in the technical solution provided in the embodiments of the present application is the robot. For example, refer to Figure 1 , the computer device 101 can send the first expected task of the robot 103 (such as the expected position of each part) to the robot 103 through the network 102. The robot 103 calculates the corresponding expected angle set (such as the expected angle of each joint) according to the first expected task, and then moves according to the expected angle set. Optionally, the robot 103 can also automatically plan the first expected task according to the real environment to perform different tasks in the real environment. The embodiments of the present application do not limit this.

[0051] In some embodiments, the robot in the embodiments of the present application may refer to a wheel-leg hybrid robot, which is a legged robot with a pair of mechanical wheels and mechanical feet on the feet (that is, a robot that moves based on mechanical legs), such as Figure 1 the shown robot 103, which has two mechanical leg groups, and a pair of coaxial mechanical wheels and mechanical feet are provided on each foot. The wheel-leg hybrid robot can perform tasks such as sliding, gait walking, climbing stairs, and crossing obstacles alone through the mechanical wheels, or can perform tasks such as gait walking, climbing stairs, crossing obstacles, and standing still in place through the mechanical feet assisting the mechanical wheels. The embodiments of the present application do not limit this.

[0052] Exemplarily, the robot in the embodiment of the present application may include a body, a first mechanical leg group and a second mechanical leg group connected to the body through a hip joint, at least one of the first mechanical leg group and the second mechanical leg group includes at least two mechanical legs, such as the first mechanical leg group includes at least two mechanical legs, the second mechanical leg group may also include at least two mechanical legs, there are at least two mechanical legs in the first mechanical leg group, which are respectively located on both sides of the central axis (i.e., sagittal plane) of the robot, and there are at least two mechanical legs in the second mechanical leg group, which are also respectively located on both sides of the central axis of the robot, and the mechanical legs of the robot are distributed side by side, that is, the rotation axis of the hip joint corresponding to the first mechanical leg group and the rotation axis of the hip joint corresponding to the second mechanical leg group are located in the same vertical plane. Optionally, in the case where the first mechanical leg group is an outer mechanical leg group, the first mechanical leg group 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; in the case where the second mechanical leg group is an outer mechanical leg group, the second mechanical leg group 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, and the embodiment of the present application does not limit this.

[0053] Optionally, the robot may be a four-legged wheeled hybrid robot, that is, the robot includes two outer mechanical legs and two inner mechanical legs; the robot may be a three-legged wheeled hybrid robot, that is, the robot includes two outer mechanical legs and one inner mechanical leg, which is not limited in the present embodiment. The robot may stand on the support surface by means of the mechanical feet on the outer mechanical legs or the inner mechanical legs, or may slide on the support surface by means of the mechanical feet on the outer mechanical legs or the inner mechanical legs, or may move (i.e. walk) on the support surface by controlling the outer mechanical leg group and the inner mechanical leg group to swing alternately.

[0054] In the embodiment of the present application, for the above robot, there is at least one mechanical leg that is far from the hip joint and is provided with a pair of coaxial mechanical wheels and mechanical feet, that is, there is at least one foot, and the rotation axis of the corresponding mechanical wheel and the rotation axis of the corresponding mechanical foot are located on the same straight line. Exemplarily, all the mechanical legs of the robot are provided with a pair of coaxial mechanical wheels and mechanical feet; or, some of the mechanical legs of the robot are provided with a pair of coaxial mechanical wheels and mechanical feet.

[0055] For example, taking a quadrupedal foot-wheel hybrid robot as an example, each mechanical leg corresponding to the quadrupedal foot-wheel hybrid robot may be provided with a pair of coaxial mechanical wheels and mechanical feet; or, for the two mechanical leg groups corresponding to the quadrupedal foot-wheel hybrid robot, each mechanical leg in one and only one mechanical leg group is provided with a pair of coaxial mechanical wheels and mechanical feet; or, for the two mechanical leg groups corresponding to the quadrupedal foot-wheel hybrid robot, one mechanical leg in each mechanical leg group is provided with a pair of coaxial mechanical wheels and mechanical feet; or, for each mechanical leg corresponding to the quadrupedal foot-wheel hybrid robot, one and only one mechanical leg is provided with a pair of coaxial mechanical wheels and mechanical feet. The embodiments of the present application are not limited to this.

[0056] Each mechanical wheel can be driven independently, and each mechanical foot can rotate independently. The mechanical foot can be set on the left side of the mechanical wheel, or on the right side of the mechanical wheel, or the mechanical wheel can be set in a hollowed-out area at the root of the mechanical foot in a hollowed-out style, which is not limited in the embodiment of the present application.

[0057] The embodiment of the present application does not limit the size of the mechanical wheel and the mechanical foot. For example, the diameters of the mechanical wheels are the same, the lengths of the mechanical feet are the same, and the lengths of the mechanical feet can be 1.5 times or 2 times the diameter of the mechanical wheel. The embodiment of the present application does not limit the style of the mechanical foot. For example, the style of the mechanical foot can include at least one of the following: a foot-like style, a rectangular style, and a triangular style.

[0058] The mechanical foot can be used to assist the mechanical wheel to make the robot stand more stably on the support surface. Optionally, without the need for the mechanical foot, the mechanical foot can be rotated to coincide with the mechanical leg, or can be rotated to be perpendicular to the mechanical leg, or can be rotated to any angle that does not affect the contact between the mechanical foot and the support surface, which is not limited in the embodiments of the present application. In the case where the mechanical foot is needed, the mechanical foot can be rotated to contact the support surface to support the robot standing on the support surface together with the mechanical wheel.

[0059] For example, taking a quadruped foot-wheel hybrid robot as an example, when a pair of coaxial mechanical wheels and mechanical feet are provided on each mechanical leg corresponding to the quadruped foot-wheel hybrid robot, if any mechanical wheel contacts the support surface, the mechanical foot coaxial with the mechanical wheel can be used to assist the mechanical wheel to support the robot to stand; or, when a pair of coaxial mechanical wheels and mechanical feet are provided on each mechanical leg in only one mechanical leg group, if the mechanical leg group without mechanical feet is used for support, then only the mechanical wheels corresponding to the mechanical leg group are supported to stand the robot, and if the mechanical leg group with mechanical feet is used for support, then the mechanical wheels and mechanical feet corresponding to the mechanical leg group can be supported to stand the robot; or, when a pair of coaxial mechanical wheels and mechanical feet are provided on one and only one mechanical leg, if the mechanical leg group without mechanical feet is used for support, then only the mechanical wheels corresponding to the mechanical leg group are supported to stand the robot, and if the mechanical leg group with mechanical feet is used for support, then the mechanical wheels and one mechanical foot corresponding to the mechanical leg group can be supported to stand the robot, and the embodiments of the present application are not limited to this.

[0060] For the sake of convenience of explanation, the following will take the example that each foot of the robot is provided with a pair of coaxial mechanical wheels and mechanical feet to illustrate the technical solution provided in the embodiment of the present application.

[0061] Optionally, the fuselage is provided with a pitch joint corresponding to the fuselage, through which the rotation of the fuselage (such as front and rear pitch) can be controlled. The rotation of the mechanical legs can be controlled by the hip joint, and each mechanical leg can be extended and retracted independently. In one example, the mechanical feet corresponding to the first mechanical leg group move synchronously, and the mechanical feet corresponding to the second mechanical leg group move synchronously; the mechanical legs corresponding to the first mechanical leg group move synchronously, and the mechanical legs corresponding to the second mechanical leg group move synchronously; the mechanical wheels corresponding to the first mechanical leg group move synchronously, and the mechanical wheels corresponding to the second mechanical leg group move synchronously.

[0062] For example, refer to Figure 2 , which is a schematic diagram of the structure of a quadrupedal hybrid robot with wheels provided in one embodiment of the present application. The quadrupedal hybrid robot with wheels 200 may include: a body (including a waist 207, a trunk 208, a head 209 and an upper limb 210), a hip joint 211 and mechanical legs (such as a lateral mechanical leg 201 and an inner mechanical leg 202).

[0063] The quadrupedal hybrid robot 200 has four mechanical legs: two outer mechanical legs 201 (recorded as a first mechanical leg group) and two inner mechanical legs 202 (recorded as a second mechanical leg group). The two inner mechanical legs 202 are located between the two outer mechanical legs 201. All four mechanical legs can move along the Figure 2 The four mechanical legs can be symmetrically distributed on both sides of the sagittal plane 206 .

[0064] The feet of the four mechanical legs are each equipped with a pair of coaxial mechanical wheels 203 and mechanical feet 204, that is, the rotation axis corresponding to the mechanical wheel 203 and the rotation axis corresponding to the mechanical foot 204 are located in the same straight line, and the mechanical foot 204 is installed on the outside of the mechanical wheel 203. Each mechanical wheel 203 can be driven independently (which can be achieved by the corresponding wheel joint), and each mechanical foot 204 can also be driven independently (which can be achieved by the corresponding ankle joint).

[0065] The quadrupedal wheeled hybrid robot 200 can stand on the two inner mechanical legs 202 or the two outer mechanical legs 201 to be in a two-legged standing state; the quadrupedal wheeled hybrid robot 200 can also stand on the two inner mechanical legs 202 and the two outer mechanical legs 201 at the same time to be in a four-legged standing state, which is not limited in the embodiments of the present application.

[0066] Optionally, the two inner mechanical legs 202 may be implemented as a whole, that is, the quadrupedal wheeled hybrid robot 200 may be implemented as a tripod wheeled hybrid robot having only one inner mechanical leg.

[0067] The other end of each mechanical leg away from the foot is connected to a hip joint 211, and each mechanical leg can rotate around its own hip joint 211 and maintain linkage. In the embodiment of the present application, the rotation axes of each hip joint 211 corresponding to the quadrupedal wheeled hybrid robot 200 are located in the same vertical plane 205, and the rotation planes of each mechanical leg corresponding to the quadrupedal wheeled hybrid robot 200 are parallel. The hip joints 211 corresponding to the two inner mechanical legs 202 are located between the hip joints 211 corresponding to the two outer mechanical legs 201, and the four hip joints 211 are symmetrically distributed on both sides of the sagittal plane 206.

[0068] Optionally, the hip joints 211 corresponding to the quadrupedal wheeled hybrid robot 200 may be coaxial, that is, the rotation axes of the hip joints 211 are located in the same straight line. The hip joints 211 corresponding to the quadrupedal wheeled hybrid robot 200 may also be coaxial, such as the hip joints 211 corresponding to the two inner mechanical legs 202 are coaxial, and the hip joints 211 corresponding to the two outer mechanical legs 201 are coaxial, but the hip joints 211 corresponding to the two inner mechanical legs 202 are not coaxial with the hip joints 211 corresponding to the two outer mechanical legs 201.

[0069] In one example, the hip joints 211 corresponding to the two outer mechanical legs 201 share the same drive motor, so that the two outer mechanical legs 201 move synchronously; the hip joints 211 corresponding to the two inner mechanical legs 202 share the same drive motor, so that the two inner mechanical legs 202 move synchronously. In a feasible example, each hip joint 211 corresponding to the quadrupedal foot-wheel hybrid robot 200 can also be independently driven by its own corresponding drive motor, which is not limited in the embodiment of the present application.

[0070] The fuselage of the quadrupedal wheeled hybrid robot 200 may include a waist 207, a torso 208, a head 209 and an upper limb 210. Among them, each hip joint 211 corresponding to the quadrupedal wheeled hybrid robot 200 is connected to the same end of the waist 207, and the other end of the waist 207 is connected to one end of the torso 208. The waist 207 has two rotation axes: a pitch rotation axis (a pitch joint may be correspondingly provided) that enables the torso 208 to pitch, and a side swing rotation axis (a side swing joint may be correspondingly provided) that enables the torso 208 to side swing, the side swing joint and the pitch joint are designed in series, and are at the upper end of the pitch joint and connected to the torso 208. The rotating fuselage in the embodiment of the present application may refer to the process of rotating the pitch joint around the pitch rotation axis to rotate the torso 208.

[0071] The other end of the torso 208 is connected to the head 209 and the upper limb 210, and the upper limb 210 can be an upper limb with multiple degrees of freedom. In some embodiments, an end effector, such as a mechanical gripper, a suction cup, etc., is deployed on the upper limb 210. A data acquisition device can be deployed in the head 209 to perceive the real environment, such as an image acquisition device, a video shooting device, an IMU (Inertial Measurement Unit, inertial measurement unit), etc. Among them, the IMU can be placed at the geometric center of the torso 208, the center point of the hip joint, etc., which can be used to measure the actual acceleration, actual attitude angular velocity, actual Euler angle, actual position, actual angle, actual angular velocity, etc. of the torso 208.

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

[0073] Optionally, the corresponding hip joints, ankle joints, wheel joints, telescopic joints, pitch joints and roll joints of the quadruped-foot-wheel hybrid robot 200 can be independently driven by their respective corresponding drive motors.

[0074] In the technical solution provided in the embodiment of the present 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 roll joint) of the quadrupedal foot-wheel hybrid robot 200 are necessary hardware for the control algorithm, and the rest are non-essential hardware.

[0075] In some embodiments, the robot control method provided in the embodiments of the present 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 pits, robot marking time, and any scenario of crossing obstacles, which is conducive to improving the robot's ability to adapt to the environment and the robot's versatility. In addition, the embodiments of the present application can improve the robot's motion stability by using mechanical feet to assist mechanical wheels to keep the robot standing.

[0076] The following will take a four-legged foot-wheel hybrid robot as an example to illustrate the application scenario of the technical solution provided in the embodiments of the present application.

[0077] Compared with the quadruped wheel-legged robot, the quadruped foot-wheel hybrid robot has a more stable structure. Based on the mechanical feet, the quadruped foot-wheel hybrid robot has a stronger ability to resist external impact disturbances. It can bear large loads, pass through narrow spaces, and perform tasks on objects of different heights. This makes the quadruped foot-wheel hybrid robot have a strong adaptability to the environment.

[0078] In one example, reference Figure 3 When the quadruped-wheeled hybrid robot 301 needs to climb stairs, it can first plan the first desired task corresponding to the quadruped-wheeled hybrid robot 301 according to the stairs, and the first desired task can guide the quadruped-wheeled hybrid robot 301 to complete the stair climbing task, and then calculate the desired angle set corresponding to the first desired task, and then control the outer mechanical leg group 302 (i.e., the first mechanical leg group) and the inner mechanical leg group 303 (i.e., the second mechanical leg group) to swing alternately according to the desired angle set to complete the stair climbing. For example, first use the outer mechanical leg group 302 as the supporting mechanical leg group and the inner mechanical leg group 303 as the swinging mechanical leg group, so that the quadruped-wheeled hybrid robot 301 climbs the first step, and then use the inner mechanical leg group 303 as the supporting mechanical leg group and the outer mechanical leg group 302 as the swinging mechanical leg group, so that the quadruped-wheeled hybrid robot 301 climbs the second step, and the outer mechanical leg group 302 and the inner mechanical leg group 303 swing alternately in sequence to complete the stair climbing task.

[0079] During this process, the mechanical feet can also be controlled to assist the mechanical wheels so that the four-legged and wheeled hybrid robot 301 can maintain a stable standing position; or, the robot can also be controlled to rotate its body to coordinate with the alternating swinging of the mechanical leg group so that the four-legged and wheeled hybrid robot 301 can climb stairs.

[0080] In one example, reference Figure 4 When the quadrupedal-wheeled hybrid robot 401 needs to cross the shoulder, it can first plan the first expected task corresponding to the quadrupedal-wheeled hybrid robot 401 according to the shoulder. The first expected task can guide the quadrupedal-wheeled hybrid robot 401 to complete the shoulder crossing task, and then calculate the expected angle set corresponding to the first expected task, and finally control the outer mechanical leg group 402 and the inner mechanical leg group 403 to swing alternately according to the expected angle set to complete the shoulder crossing. For example, the inner mechanical leg group 403 is first used as the supporting mechanical leg group, and the outer mechanical leg group 402 is used as the swinging mechanical leg group, so that the outer mechanical leg group 402 of the quadrupedal-wheeled hybrid robot 401 climbs onto the shoulder, and then the outer mechanical leg group 402 is used as the supporting mechanical leg group, and the inner mechanical leg group 403 is used as the swinging mechanical leg group, so that the quadrupedal-wheeled hybrid robot 401 completely crosses the shoulder.

[0081] During this process, the mechanical feet can also be controlled to assist the mechanical wheels so that the four-legged and wheeled hybrid robot 401 can maintain a stable standing position; or, the robot can also be controlled to rotate its body to coordinate with the alternating swinging of the mechanical leg group so that the four-legged and wheeled hybrid robot 401 can cross the shoulder of the road.

[0082] In one example, reference Figure 5 When the quadrupedal-wheeled hybrid robot 501 needs to cross a pit, it can first plan a first desired task corresponding to the quadrupedal-wheeled hybrid robot 501 according to the pit, and the first desired task can guide the quadrupedal-wheeled hybrid robot 501 to complete the task of crossing the pit, and then calculate the desired angle set corresponding to the first desired task, and finally control the outer mechanical leg group 502 and the inner mechanical leg group 503 to swing alternately according to the desired angle set to complete crossing the pit. For example, first use the inner mechanical leg group 503 as the supporting mechanical leg group and the outer mechanical leg group 502 as the swinging mechanical leg group, so that the outer mechanical leg group 502 of the quadrupedal-wheeled hybrid robot 501 crosses the pit, and then use the outer mechanical leg group 502 as the supporting mechanical leg group and the inner mechanical leg group 503 as the swinging mechanical leg group, so that the quadrupedal-wheeled hybrid robot 501 completely crosses the pit.

[0083] During this process, the mechanical feet can also be controlled to assist the mechanical wheels so that the four-legged and wheeled hybrid robot 501 can maintain a stable standing position; or, the robot can also be controlled to rotate its body to coordinate with the alternating swinging of the mechanical leg group so that the four-legged and wheeled hybrid robot 501 can cross the shoulder of the road.

[0084] The following will use a method embodiment to illustrate the control method of the robot provided in the embodiment of the present application. For the contents not described in the method embodiment, reference can be made to the above embodiment.

[0085] Please refer to Figure 6 , which shows a flow chart of a robot control method provided by an embodiment of the present application. In the embodiment of the present application, the robot control method is described by taking the robot as an example of the execution subject of each step. The method may include the following steps (601-603):

[0086] Step 601, obtaining a first expected task of the robot on a support surface, wherein the first expected task includes expected positions of various parts of the robot in the operating space of the robot, and the first expected task is used to guide the robot to alternately swing a first mechanical leg group and a second mechanical leg group to move in a first direction on the support surface, and during the movement of the robot, the mechanical feet are used to assist the mechanical wheels so that the robot stands on the support surface.

[0087] The expected task refers to the task that the robot is expected to perform in the operating space. The expected task can be for each part of the robot, such as the position, velocity and acceleration of each part; the expected task can also be for each joint of the robot, such as the angle, angular velocity and angular acceleration of each joint, which is not limited in the embodiment of the present application. The robot is the same as that described in the above embodiment. For the contents not described in the embodiment of the present application, reference can be made to the above embodiment and will not be repeated here.

[0088] In the embodiment of the present application, the first expected task may refer to a task set for the position of each part of the robot. The first expected task may be obtained by planning based on the robot and the real environment in which the robot is located. For example, the expected position of each part of the robot relative to the support surface is planned based on the size of the support surface, the size of each part of the robot, and the structure of the robot, and the first expected task corresponding to the scene may be obtained. Among them, for each part, the expected position relative to the support surface is the expected position of the part, and the expected position of a part can be used to indicate the position that the part is expected to reach.

[0089] Optionally, the first expected task corresponds to the complete motion process of the robot. If the complete motion process corresponds to multiple control moments, the first expected task may include the expected positions of various parts of the robot corresponding to the multiple controls. The control moment refers to the moment when the robot is controlled by a control signal. The control moments are arranged at a specified time interval, and the specified time interval can be set and adjusted according to actual use requirements. In this way, the first expected task can be obtained by unified planning for the overall motion process of the robot.

[0090] For example, corresponding first desired tasks can be planned for scenes such as gait walking, climbing stairs, crossing obstacles, and marking time. For example, the first desired task corresponding to gait walking can be used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to achieve the gait walking task; the first desired task corresponding to climbing stairs can be used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to achieve the stair climbing task; the first desired task corresponding to crossing obstacles can be used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to achieve the obstacle crossing task.

[0091] The robot can control the movement of various parts of the robot through the expected position in the above-mentioned first expected task to realize the movement of the robot on the support surface. For example, the robot controls the mechanical legs, mechanical feet, mechanical wheels and body of the robot through the expected position in the above-mentioned first expected task, so that the robot alternately swings the first mechanical leg group and the second mechanical leg group to move on the support surface, and controls the mechanical feet to assist the mechanical wheels, so that the robot stands on the support surface.

[0092] In one example, the first expected task includes the expected positions of the mechanical feet, mechanical wheels and fuselage at each control moment, so as to enable the robot to complete the above-mentioned complete motion process. Optionally, the expected positions corresponding to the mechanical legs can be used to control the mechanical legs (including mechanical wheels and mechanical feet) to swing, and to control the mechanical legs to extend and retract, the expected positions corresponding to the mechanical feet can be used to control the mechanical feet to rotate, and the expected positions corresponding to the fuselage can be used to control the fuselage to rotate (including pitch and roll). In a feasible example, the above-mentioned various parts can also include the robot's mechanical legs, mechanical feet, mechanical wheels and fuselage, then the first expected task can include the expected positions of the mechanical legs, mechanical feet, mechanical wheels and fuselage at each control moment.

[0093] The operating space of the robot may refer to the Cartesian space corresponding to the robot. In the task-oriented whole body control of the robot, the Cartesian space corresponding to the robot may be referred to as the operating space of the robot. In the embodiment of the present application, each position in the operating space of the robot may be characterized based on the world coordinate system of the robot.

[0094] Exemplarily, the world coordinate system of the robot can be constructed with the contact point between the foot (such as a mechanical wheel) of the robot in the initial state and the support surface as the origin, the horizontal direction as the x-axis direction, the vertical direction as the z-axis direction, and the direction perpendicular to both the horizontal and vertical directions as the y-axis direction. The position of the robot in the operating space can be characterized based on the three-dimensional coordinates of the robot in the world coordinate system. Optionally, the calculation processes in the embodiments of the present application all occur in the world coordinate system of the robot.

[0095] The embodiment of the present application does not limit the first direction, which can be used to indicate the direction of the robot. For example, in scenes such as gait walking, climbing stairs, crossing obstacles, and marking time, the first direction may refer to the horizontal direction (i.e., the direction perpendicular to the direction of gravity) to indicate the direction of the robot. The support surface refers to the surface for the robot to stand. In the embodiment of the present application, the support surface may include only one plane, such as a flat ground, a road, etc., and the support surface may also include multiple planes of different heights, such as stairs, a road surface with shoulders, a ground with pits, etc., which is not limited in the embodiment of the present application.

[0096] In one example, the robot stops moving after a plurality of control moments, i.e., completes the first desired task. During the movement of the robot, the mechanical leg used for swinging is a swinging mechanical leg, and the mechanical leg used for standing is a supporting mechanical leg. The mechanical foot on the swinging mechanical leg is a swinging mechanical foot, the mechanical foot on the supporting mechanical leg is a supporting mechanical foot, the mechanical wheel on the swinging mechanical leg is a swinging mechanical wheel, the mechanical wheel on the supporting mechanical leg is a supporting mechanical wheel, and the supporting mechanical foot can assist the supporting mechanical wheel, so that the robot stands on the supporting surface.

[0097] Exemplarily, when the robot stands on a supporting surface by the first mechanical leg group and controls the second mechanical leg group of the robot to swing, the mechanical legs in the first mechanical leg group can be called supporting mechanical legs, and the mechanical legs in the second mechanical leg group can be called swinging mechanical legs; when the robot stands on a supporting surface by the second mechanical leg group and controls the first mechanical leg group of the robot to swing, the mechanical legs in the second mechanical leg group can be called supporting mechanical legs, and the mechanical legs in the first mechanical leg group can be called swinging mechanical legs; when the robot stands on a supporting surface by the first mechanical leg group and the second mechanical leg group at the same time, the mechanical legs in the first mechanical leg group and the mechanical legs in the second mechanical leg group can both be called supporting mechanical legs, and the embodiments of the present application are not limited to this.

[0098] In the scenarios of robot walking, climbing stairs, crossing obstacles, and marking time, the robot's movement process can be realized as a process in which the first mechanical leg group and the second mechanical leg group swing alternately. Figure 7 Taking gait walking as an example, the robot 701 first uses the first mechanical leg group 702 as support and swings the second mechanical leg group 703 to complete the first step of movement, and then uses the second mechanical leg group 703 as support and swings the first mechanical leg group 702 to complete the second step of movement. By alternately swinging the first mechanical leg group 702 and the second mechanical leg group 703, gait walking can be completed.

[0099] For example, refer to Figure 8Taking climbing stairs as an example, the robot 801 first uses the first mechanical leg group 802 as support, swings the second mechanical leg group 803, and crosses the first step. Then, it uses the second mechanical leg group 803 as support, swings the first mechanical leg group 802, and crosses the second step. By alternately swinging the first mechanical leg group 802 and the second mechanical leg group 803, the robot can complete climbing stairs.

[0100] When the mechanical leg group is used for support, the mechanical feet and mechanical wheels on the mechanical leg group are in contact with the support surface at the same time, so that the robot can stand stably.

[0101] In one example, the first expected task includes the expected position corresponding to the mechanical wheel, such as the expected position corresponding to the supporting mechanical wheel and the swinging mechanical wheel at each control moment, such as Figure 9 As shown, for any control moment in each control moment, step 601 may include the following sub-steps.

[0102] Step 601a: for the supporting mechanical wheels on the supporting mechanical legs, obtain the expected positions corresponding to the supporting mechanical wheels at the control time according to the supporting surface planning.

[0103] In an embodiment of the present application, the robot moves on the supporting surface in the form of walking (i.e., alternately swinging two mechanical leg groups), and during the robot's walking process, there is no relative displacement between the supporting mechanical wheels and the supporting surface. Therefore, it is only necessary to plan the position of the supporting mechanical wheels in each walking process to obtain the expected position of the supporting mechanical wheels at each control moment.

[0104] Exemplarily, the expected position of the supporting mechanical wheel at each control moment can be planned according to the size information of the supporting surface (such as width, height, length, etc.) and the size of the supporting mechanical wheel (such as radius, diameter, etc.).

[0105] Taking a quadruped-foot-wheel hybrid robot climbing stairs as an example, for each step corresponding to the stairs, the center position of the step can be determined as the contact point between the supporting mechanical wheel and the supporting surface, that is, the position of the contact point in each step process can be determined, and then based on the size of the supporting mechanical wheel, the expected position corresponding to the supporting mechanical wheel at each control moment can be obtained.

[0106] For example, the expected position of the wheel center of the supporting mechanical wheel is used as the expected position corresponding to the supporting mechanical wheel. For each step, the x-coordinate and y-coordinate of the supporting mechanical wheel can be determined according to the x-coordinate and y-coordinate of the center position of the step (i.e., the contact point), and the z-coordinate of the supporting mechanical wheel can be determined according to the wheel radius of the supporting mechanical wheel, so that the expected position of the supporting mechanical wheel on each step can be obtained, and then the expected position corresponding to the supporting mechanical wheel at each control moment can be obtained. Among them, the x-coordinate, y-coordinate and z-coordinate are all represented based on the world coordinate system of the robot, and the world coordinate system can take the first contact point between the robot and the supporting surface as the origin, the x-axis is parallel to the first direction, and the z-axis is parallel to the vertical direction.

[0107] Optionally, in the embodiment of the present application, the expected position corresponding to the supporting mechanical wheel at the control time is recorded as Among them, t is a certain control moment, r is used to indicate that x is the expected position, and stance wheel is used to indicate that the position is the expected position corresponding to the supporting mechanical wheel.

[0108] Step 601b, for the swinging mechanical wheel on the swinging mechanical leg, the expected position of the swinging mechanical wheel at the control time is planned according to the supporting surface and the expected position of the supporting mechanical wheel at the control time.

[0109] During the robot's walking process, there is a relative displacement between the swinging mechanical wheel and the supporting surface. The walking process is essentially a process of mutual functional replacement between the swinging mechanical wheel and the supporting mechanical wheel. For example, for the nth walking process, the supporting mechanical wheel in the n+1th walking process is the swinging mechanical wheel in the nth walking process, and n is a positive integer. That is, for the swinging mechanical wheel in the nth walking process, its initial position is the expected position corresponding to the supporting mechanical wheel in the nth walking process, and its end position is the expected position corresponding to the supporting mechanical wheel in the n+1th walking process. By using the spline curve interpolation method to interpolate the initial position and end position of the swinging mechanical wheel in the nth walking process, the expected position of the swinging mechanical wheel at each control moment corresponding to the nth walking process can be obtained.

[0110] Optionally, in the embodiment of the present application, the desired position corresponding to the swinging mechanical wheel at the control time is recorded as Among them, t is a certain control moment, r is used to indicate that x is a desired position, and swing wheel is used to indicate that the position is the desired position corresponding to the swinging mechanical wheel.

[0111] Optionally, the above spline curve interpolation method can be constrained by the size of the support surface to avoid collision between the swinging mechanical leg and the support surface. Figure 8For each step, the relative distance between the swinging mechanical wheel and the step can be set to be greater than the collision threshold, and the swinging mechanical leg should be prevented from colliding with the left side of the step. The collision threshold can be set and adjusted according to empirical values, and the embodiment of the present application does not limit this.

[0112] In one example, the first desired task also includes a desired position corresponding to the fuselage, such as the desired position corresponding to the fuselage at each control moment, such as Figure 9 As shown, for any control moment in each control moment, step 601 may further include the following sub-steps.

[0113] Step 601c, for the center of mass of the robot, the expected position corresponding to the center of mass at the control time is planned according to the expected positions corresponding to the supporting surface and the supporting mechanical wheels at the control time.

[0114] The center of gravity of the robot refers to the point where the gravity of the robot is concentrated. The center of mass of the robot is the weighted average of the mass position with respect to its mass. If the gravity is uniform, the center of mass and the center of gravity can coincide. During the movement of the robot, the center of mass of the robot not only needs to move continuously along the first direction (i.e., the forward direction), but also needs to help the robot maintain dynamic balance. The embodiment of the present application can determine the expected position of the center of mass in the first direction as the expected position corresponding to the center of mass.

[0115] Optionally, the expected position of the center of mass in the first direction can be obtained by using a planning method such as heuristic (i.e., giving the position based on experience and the real environment) or an inverted pendulum model (planning the position using an inverted pendulum model), based on the expected position corresponding to the supporting mechanical legs. This is not limited to the embodiments of the present application.

[0116] For example, since the robot always moves in the first direction (e.g., no displacement occurs in the y-axis direction of the above-mentioned world coordinate system), 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 hip joints of the robot are coaxial, the robot can be simplified into a sagittal plane (e.g., Figure 2 Plane model under the sagittal plane).

[0117] refer to Figure 10 When the gravity field in which the robot is located is uniform, the mass of the robot is concentrated at the center of mass 1002 of the robot (that is, the center of mass and the center of gravity coincide). The center of the line between the feet of the two supporting mechanical legs is set as the virtual support contact point 1001 between the inverted pendulum model of the robot and the supporting surface. By connecting the center of mass 1002 and the virtual support contact point 1001, the plane model of the robot can be converted into an inverted pendulum model 1000 of the robot.

[0118] After the expected positions of the two supporting mechanical legs at the control moment are determined, the expected position of the virtual supporting contact point 1001 at the control moment can also be determined. For example, the expected positions of the two supporting mechanical legs at the control moment are averaged to obtain the expected position of the virtual supporting contact point 1001 at the control moment. Then, combined with the relative distance between the center of gravity of the robot and the virtual supporting contact point 1001, the expected position of the center of mass 1002 at the control moment can be calculated. For example, the Pythagorean theorem is used to calculate to determine the expected position of the center of mass 1002 at the control moment and in the first direction (i.e., the x-axis).

[0119] Optionally, in the embodiment of the present application, the expected position of the center of mass at the control time is recorded as Among them, t is a certain control moment, r is used to indicate that x is the expected position, and com is used to indicate that the position is the expected position corresponding to the center of mass.

[0120] Step 601d, determining the expected position of the fuselage at the control time based on the expected position of the center of mass at the control time, the actual position of the center of mass at the control time, and the actual position of the fuselage at the control time.

[0121] In actual scenarios, there is a positional deviation between the position of the fuselage and the position of the center of mass, so the embodiment of the present application distinguishes the expected position corresponding to the center of mass from the expected position corresponding to the fuselage. Figure 11 , which is a simplified model diagram of a quadrupedal hybrid robot provided by an embodiment of the present application. Based on the body 1102 and each mechanical leg 1103, the center of mass 1101 of the robot 1100 can be determined, and there is a position deviation between the body 1102 and the center of mass 1101.

[0122] In one example, the expected position of the fuselage at the control time can be planned based on the position deviation between the center of mass and the fuselage, and the expected position of the center of mass at the control time, which is conducive to improving the accuracy of determining the expected position corresponding to the fuselage. Among them, the position deviation between the center of mass and the fuselage can be solved in real time based on the actual angle of each joint, and the actual angle refers to the real angle measured by the joint at the current moment.

[0123] For example, the expected position of the fuselage at the control time can be expressed as follows:

[0124]

[0125] in, is the expected position of the fuselage at the control time t, is the expected position of the center of mass at the control time t, is the actual position of the center of mass at the control time t, is the actual position of the fuselage at the control time t.

[0126] In some feasible examples, when the position deviation between the center of mass and the fuselage is small, it can be approximately considered that the position (position and attitude) of the center of mass is basically consistent with the position of the fuselage. In this way, the expected position corresponding to the center of mass at the control moment can be directly determined as the expected position corresponding to the fuselage at the control moment, thereby effectively reducing the workload of determining the expected position corresponding to the fuselage, thereby improving the efficiency of determining the expected position.

[0127] In one example, the first desired task may further include the desired position corresponding to the mechanical foot, such as the desired positions corresponding to the supporting mechanical foot and the swinging mechanical foot at each control moment, such as Figure 9 As shown, for any control moment in each control moment, step 601 may further include the following sub-steps.

[0128] Step 601e, based on the expected position of the supporting mechanical wheel at the control time and the size of the supporting mechanical foot corresponding to the supporting mechanical wheel, determine the expected position of the supporting mechanical foot at the control time.

[0129] In the embodiment of the present application, the supporting mechanical wheel on the supporting mechanical leg is coaxial with the supporting mechanical foot, and when the supporting mechanical wheel starts the supporting function, the supporting mechanical foot also contacts the supporting surface to start the supporting function at the same time, such as the supporting mechanical foot can contact the supporting surface through the toe, or can contact the supporting surface through the auxiliary surface, which is not limited in the embodiment of the present application. Among them, the auxiliary surface is used to contact the supporting surface to assist the mechanical wheel so that the robot stands. The auxiliary surface can be a plane, which can be set at the bottom of the toe to fit with the supporting surface (i.e. parallel and contact) when contacting the supporting surface. The embodiment of the present application does not limit the size and style of the auxiliary surface, which can be set and adjusted according to actual use requirements.

[0130] When the toe of the mechanical foot is in contact with the supporting surface, each foot includes a contact point between the mechanical wheel and the supporting surface, and a contact point between the mechanical foot and the supporting surface; when the auxiliary surface of the mechanical foot is in contact with the supporting surface, each foot includes a contact point between the mechanical wheel and the supporting surface, and multiple contact points between the auxiliary surface and the supporting surface, so that each foot supports the robot to stand through at least two contact points. This allows the robot to stand more stably on the supporting surface and is less likely to fall, thereby effectively improving the robot's movement stability.

[0131] In one example, the position of the auxiliary surface of the supporting mechanical foot when it just contacts and is parallel to the supporting surface can be determined as the corresponding expected position of the supporting mechanical foot, or the position of any contact point between the supporting mechanical foot and the supporting surface can be determined as the corresponding expected position of the supporting mechanical foot.

[0132] For example, reference Figure 12 , which is a simplified model diagram of a four-legged foot-wheel hybrid robot provided in another embodiment of the present application. When the expected position corresponding to the supporting mechanical wheel 1202 of the robot 1200 is known and the size of the supporting mechanical foot 1203 is known, the position of the contact point between the supporting mechanical foot 1203 and the supporting surface can be calculated, and the position of the contact point can be directly determined as the expected position corresponding to the supporting mechanical foot 1203.

[0133] During each step, there is no displacement between the supporting mechanical foot and the supporting surface. After determining the position of the contact point between the supporting mechanical foot and the supporting surface, the expected position of the supporting mechanical foot at each control moment corresponding to the step can be determined.

[0134] Optionally, in the embodiment of the present application, the desired position corresponding to the supporting mechanical foot at the control time is recorded as Among them, t is a certain control moment, r is used to indicate that x is the expected position, and stance foot is used to indicate that the position is the expected position corresponding to the supporting mechanical foot.

[0135] Step 601f, determining the expected position of the swinging mechanical foot at the control time based on the expected position of the swinging mechanical wheel at the control time and the size of the swinging mechanical foot corresponding to the swinging mechanical wheel.

[0136] Optionally, the swinging mechanical wheel moves synchronously with the corresponding swinging mechanical wheel, and the expected position corresponding to the swinging mechanical foot should be constrained by the expected position of the corresponding swinging mechanical wheel. On the premise of ensuring that the swinging mechanical wheel does not collide with the supporting surface, the expected position corresponding to the swinging mechanical foot at the control moment can be calculated based on the expected position corresponding to the swinging mechanical wheel at the control moment and the size of the swinging mechanical foot as a parameter.

[0137] Optionally, the robot's stepping process is essentially a process of mutual functional replacement between the swinging mechanical wheel and the supporting mechanical wheel, and also a process of mutual functional replacement between the swinging mechanical foot and the supporting mechanical foot. For example, for the nth stepping process, the supporting mechanical foot in the n+1th stepping process is the swinging mechanical foot in the nth stepping process, that is, for the swinging mechanical foot in the nth stepping process, its initial position is the expected position corresponding to the supporting mechanical foot in the nth stepping process, and its end position is the expected position corresponding to the supporting mechanical foot in the n+1th stepping process. By using the spline curve interpolation method to interpolate the initial position and end position of the swinging mechanical wheel foot in the nth stepping process, the expected position of the swinging mechanical foot at each control moment corresponding to the nth stepping process can be obtained.

[0138] Optionally, in the embodiment of the present application, the desired position corresponding to the swinging mechanical foot at the control time is recorded as Among them, t is a certain control moment, r is used to indicate that x is the desired position, and swing foot is used to indicate that the position is the desired position corresponding to the swinging mechanical foot.

[0139] In one example, if Figure 9 As shown, for any control moment in each control moment, step 601 may further include the following sub-steps.

[0140] Step 601g, based on the expected position of the supporting mechanical wheels at the control moment, the expected position of the supporting mechanical wheels at the control moment, the expected position of the fuselage at the control moment, the expected position of the supporting mechanical feet at the control moment, and the expected position of the swinging mechanical feet at the control moment, obtain the first expected task corresponding to the robot at the control moment.

[0141] Optionally, the first expected task includes the expected position corresponding to the swinging mechanical wheel on the swinging mechanical leg, the expected position corresponding to the swinging mechanical foot on the swinging mechanical leg, the expected position corresponding to the supporting mechanical wheel on the supporting mechanical leg, the expected position corresponding to the supporting mechanical foot on the supporting mechanical leg, and the expected position corresponding to the fuselage. The expected position corresponding to the supporting mechanical wheel at the control moment, the expected position corresponding to the supporting mechanical wheel at the control moment, the expected position corresponding to the fuselage control moment, the expected position corresponding to the supporting mechanical foot at the control moment, and the expected position corresponding to the swinging mechanical foot at the control moment can be combined to obtain the first expected task corresponding to the robot at the control moment.

[0142] Optionally, the first expected task may include the expected position corresponding to the swinging mechanical wheel on the swinging mechanical leg, the expected position corresponding to the supporting mechanical wheel on the supporting mechanical leg, and the expected position corresponding to the fuselage. The expected position corresponding to the supporting mechanical wheel at the control moment, the expected position corresponding to the supporting mechanical wheel at the control moment, and the expected position corresponding to the fuselage control moment are combined to obtain the first expected task corresponding to the robot at the control moment.

[0143] In one example, the robot body is kept vertical as much as possible during the robot's movement (hereinafter referred to as the vertical task), that is, the Euler angles composed of the roll, pitch, and yaw of the body are all zero, denoted as While performing the first desired task, a vertical task also needs to be performed.

[0144] In one example, the body of the robot rotates dynamically during the movement of the robot (hereinafter referred to as the angular momentum task). The angular momentum task can be achieved by planning the angular momentum of the center of mass. The angular momentum task needs to be performed while performing the first desired task.

[0145] In one example, during the movement of the robot, the robot takes into account the vertical task and angular momentum task of the fuselage in a weighted manner. For example, when the weight parameter of the vertical task is greater than the weight parameter of the angular momentum task, the robot will focus on performing the vertical task but will not abandon the angular momentum task; when the weight parameter of the vertical task is less than or equal to the weight parameter of the angular momentum task, the robot will focus on performing the angular momentum task but will not abandon the vertical task. The weight parameters of the vertical task and the weight parameters of the angular momentum task can be dynamically set and adjusted according to actual use requirements, and the embodiments of the present application are not limited to this.

[0146] Step 602: Obtain an expected angle set corresponding to a first expected task, where the expected angle set includes expected angles of joints corresponding to various parts of the robot for controlling the robot.

[0147] In an embodiment of the present application, the expected angle set corresponding to the first expected task includes the expected angles corresponding to the hip joint, ankle joint, wheel joint, telescopic joint, pitch joint and roll joint at each control moment. The expected angle refers to the angle to which the joint is expected to rotate. Among them, the expected angle corresponding to the hip joint, wheel joint and telescopic joint is related to the expected position corresponding to the mechanical wheel, the expected angle corresponding to the ankle joint is related to the expected position corresponding to the mechanical foot, and the expected angle corresponding to the pitch joint and roll joint is related to the expected position corresponding to the fuselage.

[0148] In one example, the robot's whole body kinematics model can be used to calculate the desired angle set corresponding to the first desired task. Figure 13 As shown, step 602 may include the following sub-steps.

[0149] Step 602a, based on the whole-body kinematic model of the robot, obtain a first kinematic model and a second kinematic model, the first kinematic model is used to indicate the relationship between the positions of various parts of the robot in the operating space and the angles of various joints of the robot in the joint space of the robot, the second kinematic model is used to indicate the relationship between the speeds of various parts of the robot in the operating space and the angular velocities of various joints of the robot in the joint space.

[0150] The whole-body kinematic model of a robot is a mathematical expression that describes the robot's motion state and position relationship. The robot's motion state can be represented by the angles of the joints or the position and posture of the end effector. The whole-body kinematic model includes a forward kinematic model and a kinematic model. The forward kinematic model determines the position of the robot by the joint angles or the position and posture of the end effector of the robot. The embodiment of the present application determines the first kinematic model and the second kinematic model based on the forward kinematic model.

[0151] Exemplarily, the forward kinematics model can be directly determined as the first kinematics model, denoted as x=f(q), where x is the position of each part of the robot in the operating space, and q is the angle of each joint of the robot in the joint space of the robot.

[0152] The variant of the forward kinematics model can be determined as the second kinematics model, denoted as in, is the speed of each part of the robot in the operating space, The angular velocity of each joint of the robot in the robot's joint space.

[0153] Step 602b, based on the first kinematic model and the second kinematic model, construct a kinematic equation to be solved, wherein the kinematic equation to be solved uses the joint angles of each joint of the robot in the joint space as unknown variables.

[0154] Exemplarily, the first kinematic model and the second kinematic model are combined, and the kinematic equation to be solved after simplification can be expressed as follows:

[0155]

[0156] Among them, q cmd is the expected angle set corresponding to each joint, J t is the Jacobian Matrix corresponding to the first desired task t, q act is the actual angle set corresponding to each joint, which can be obtained from the feedback of the joint motor encoder corresponding to the joint, x des is the first expected task t (i.e., the expected position of each joint corresponding to the part), x act is the actual position of the parts corresponding to each joint.

[0157] The second line of the kinematic equation to be solved gives (the first-order derivative (i.e., expected velocity) of the expected position of each joint corresponding to the control moment), and (ie, the first-order derivative of the desired angle set with respect to the control time). It should be noted that the positions in the embodiments of the present application are all characterized based on the world coordinate system.

[0158] Among them, q act 、x des 、x act and is a known variable. By solving the kinematic equation to be solved, the unknown variable q can be obtained. cmd . For example, the q cmdIt may include the expected angles corresponding to the robot's hip joint, ankle joint, wheel joint, telescopic joint, pitch joint and roll joint at the control moment.

[0159] Step 602c, for any control moment among the control moments, the first expected task of the robot at the control moment is substituted into the kinematic equation to be solved, and the expected angle set corresponding to the robot at the control moment is calculated.

[0160] Optionally, the movement of the joint is also subject to the physical limitations of the joint motor corresponding to the joint. In order to improve the rationality and accuracy of obtaining the desired angle set, the embodiment of the present application also sets constraints in the process of solving the desired angle set. Exemplarily, the calculation process of the kinematic equation to be solved can be as follows:

[0161] 1. Replace the positions of various parts of the robot in the operation space in the kinematic equation to be solved with the first expected task of the robot at the control moment to obtain the intermediate kinematic equation.

[0162] Optionally, replace x in the kinematic equation to be solved des Replace with x r , we can get the intermediate kinematic equation.

[0163] in,

[0164] 2. Construct the joint physical constraint expression of the robot. The joint physical constraint expression is used to constrain the various joints of the robot.

[0165] Optionally, the expected angle set q in the unknown variables is calculated based on the actual physical characteristics of the robot's joint motors. cmd The line limit, that is, the physical constraint expression of the joint can be: lb ≤q cmd ≤q ub ; Among them, q lb and q ub Respectively represent the minimum and maximum angles of the joint motor.

[0166] 3. Under the constraints of the joint physical constraint expression, based on the intermediate kinematic equation, the expected angle set corresponding to the robot at the control moment is calculated.

[0167] Optionally, a quadratic programming optimization method is used to construct an objective function of the intermediate kinematic equation; under the constraints of the joint physical constraint expression, the desired angle set corresponding to the robot at the control moment is calculated with minimization of the objective function as the optimization goal.

[0168] Exemplarily, the objective function of the intermediate kinematic equation is constructed by a linear quadratic programming regulator (LQR), and under the constraints of the joint physical constraint expression, the desired angle set corresponding to the robot at the control moment is calculated with the minimization of the objective function as the optimization goal. The linear quadratic programming regulator is constructed based on the quadratic programming optimization method (Quadratic Programming), and its essence is: under linear constraints, find a multidimensional vector that minimizes (or maximizes) the quadratic objective function of the multidimensional vector.

[0169] For example, first rewrite the intermediate kinematic equation into the form of AX = B;

[0170] in,

[0171] The essence of the solution process of AX=B is to find the solution of the linear equations. A and B are known variables, and X is an unknown variable. Here, a linear quadratic programming regulator can be used to construct the objective function of the intermediate kinematic equation.

[0172] Alternatively, the objective function of the intermediate kinematic equation can be expressed as follows:

[0173] Z=(AX-B) T W 1 (AX-B)+X T W 2 X;

[0174] Among them, W 1 and W 2 represents the weight matrix.

[0175] Through the linear quadratic programming optimizer, under the constraints of the robot's joint physical constraint expression, the unknown variable X can be obtained by minimizing the objective function as the optimization goal. cmd Determined as the desired angle set.

[0176] by Figure 2 Taking a quadruped foot-wheel hybrid robot as an example, the expected angle set may include the expected angles corresponding to two hip joints (each hip joint corresponds to a mechanical leg group), the telescopic joints corresponding to the four mechanical legs, the wheel joints of the four mechanical wheels, the ankle joints of the four mechanical feet, one pitch joint and one roll joint.

[0177] Alternatively, if the robot model structure is relatively simple, the robot's whole-body dynamics model (such as a forward kinematics model) is also relatively simple, and the intermediate kinematics equation can be solved directly by using the matrix inversion method, that is, X = A -1 B, to obtain the desired angle set.

[0178] The first term in the above objective function represents the kinematic relationship, and the second term is to make the expected angle smaller to save energy. The linear quadratic programming optimizer is used to calculate the expected angle, which can ensure that the robot's movement conforms to the kinematic relationship while making the expected angle of the joint relatively small, thereby saving energy.

[0179] In one example, the structural relationship of the robot can be used to calculate the desired angle set corresponding to the first desired task. Figure 14 As shown, for any control moment in each control moment, step 602 may further include the following sub-steps.

[0180] Step 602d, based on the expected position of the body at the control time, the expected position of the supporting mechanical wheels at the control time, and the expected position of the swing mechanical wheels at the control time, obtain the expected angles of each hip joint at the control time, and the expected angles of the telescopic joints of each mechanical leg at the control time.

[0181] Constrained by the model structure of the robot, the expected position corresponding to the fuselage and the expected position corresponding to the mechanical wheel satisfy a geometric relationship, and the expected angles corresponding to the hip joint and the telescopic joint can be determined according to the geometric relationship. Exemplarily, the process may include the following:

[0182] 1. Determine a first relative expected position between the fuselage and the supporting mechanical wheel based on the expected position of the fuselage at the control moment and the expected position of the supporting mechanical wheel at the control moment; and determine a second relative expected position between the fuselage and the swinging mechanical wheel based on the expected position of the fuselage at the control moment and the expected position of the swinging mechanical wheel at the control moment.

[0183] Optionally, the difference between the expected position of the fuselage at the control time and the expected position of the supporting mechanical wheel at the control time is determined as the first relative expected position between the fuselage and the supporting mechanical wheel. The first relative expected position can be expressed as:

[0184]

[0185] The difference between the expected position of the fuselage at the control time and the expected position of the oscillating mechanical wheel at the control time is determined as the second relative expected position between the fuselage and the oscillating mechanical wheel. The second relative expected position can be expressed as:

[0186]

[0187] In the embodiment of the present application, the relative expected position includes a relative position in a first direction and a relative position in a second direction, and the second direction is perpendicular to the first direction, such as the first direction is a horizontal direction and the second direction is a vertical direction. Exemplarily, the first relative expected position includes a relative expected position of the supporting mechanical wheel and the fuselage in the first direction, and a relative expected position of the supporting mechanical wheel and the fuselage in the second direction, and the second relative expected position includes a relative expected position of the swinging mechanical wheel and the fuselage in the first direction, and a relative expected position of the swinging mechanical wheel and the fuselage in the second direction.

[0188] For example, refer to Figure 12 , for the mechanical wheel 1202 and the body 1201, the corresponding relative desired positions may include: and

[0189] 2. Determine the expected angle of the hip joint on the supporting mechanical leg where the supporting mechanical wheel is located based on the first relative expected position, and determine the expected angle of the hip joint on the swinging mechanical leg where the swinging mechanical wheel is located based on the second relative expected position.

[0190] Optionally, the arc tangent of the relative expected positions of the supporting machine wheel and the body in the first direction and the relative expected positions in the second direction are determined as the expected angle of the hip joint on the supporting machine leg.

[0191] For example, the desired angle of the hip joint on the supporting robotic leg can be expressed as follows:

[0192]

[0193] The inverse tangent of the relative expected position of the swing mechanical wheel and the fuselage in the first direction and the relative expected position in the second direction is determined as the expected angle of the hip joint on the swing mechanical leg.

[0194] For example, the desired angle of the hip joint on a swinging robotic leg may be expressed as follows:

[0195]

[0196] The embodiment of the present application uses the inverse tangent to determine the desired angle of the hip joint, which can effectively reduce the amount of calculation of the desired angle, thereby improving the efficiency of determining the desired angle.

[0197] 3. Based on the first relative expected position, determine the expected length corresponding to the supporting mechanical leg where the supporting mechanical wheel is located, and based on the second relative expected position, determine the expected length corresponding to the swinging mechanical leg where the swinging mechanical wheel is located.

[0198] Optionally, the norm of the relative expected position of the supporting mechanical wheel and the fuselage in the first direction and the relative expected position in the second direction is determined as the expected length corresponding to the supporting mechanical leg. Figure 12 For the mechanical leg 1204, after the position of the mechanical wheel 1202 on the mechanical leg 1204 and the position of the hip joint of the mechanical wheel 1202 on the mechanical leg 1204 (i.e., the position of the fuselage 1201) are determined, the length of the mechanical leg 1204 can be determined, which is essentially to calculate the distance between two points.

[0199] Exemplarily, the expected length corresponding to the supporting mechanical leg can be expressed as follows:

[0200]

[0201] Optionally, the norm of the relative expected position of the swinging mechanical wheel and the body in the first direction and the relative expected position in the second direction is determined as the expected length corresponding to the swinging mechanical leg.

[0202] Exemplarily, the expected length corresponding to the swinging mechanical leg can be expressed as follows:

[0203]

[0204] The embodiment of the present application determines the expected length of the mechanical leg by utilizing the norm, which can effectively reduce the amount of calculation of the expected length of the mechanical leg, thereby improving the efficiency of determining the expected angle.

[0205] 4. Determine the expected angle of the telescopic joint corresponding to the supporting mechanical leg based on the expected length of the supporting mechanical leg, and determine the expected angle of the telescopic joint corresponding to the swinging mechanical leg based on the expected length of the swinging mechanical leg.

[0206] Optionally, there is a mapping relationship between the expected length corresponding to the mechanical leg and the expected angle of the telescopic joint, such as a linear correlation between the expected length corresponding to the mechanical leg and the expected angle of the telescopic joint.

[0207] According to the mapping relationship, the expected angle of the telescopic joint corresponding to the supporting mechanical leg and the expected angle of the telescopic joint corresponding to the swinging mechanical leg can be determined, which are respectively recorded as: and

[0208] Step 602e, based on the expected angles of each hip joint at the control moment, or the expected position of the body at the control moment, as well as the expected positions of the supporting mechanical wheels and the expected positions of the swinging mechanical wheels at the control moment, obtain the expected angles of the ankle joints of each mechanical foot at the control moment.

[0209] In one example, for each hip joint, the negative number of the expected angle corresponding to the hip joint at the control moment can be directly determined as the expected angle corresponding to the ankle joint on the mechanical leg where the hip joint is located at the control moment.

[0210] Exemplarily, the expected angle of the ankle joint at the control moment can be expressed as follows:

[0211] as well as

[0212] In one example, the third relative expected position between the supporting mechanical wheel and the supporting mechanical foot can be determined based on the expected position corresponding to the supporting mechanical wheel at the control moment and the expected position corresponding to the supporting mechanical foot at the control moment, and the fourth relative expected position between the swinging mechanical wheel and the swinging mechanical foot can be determined based on the expected position corresponding to the swinging mechanical wheel at the control moment and the expected position corresponding to the swinging mechanical foot at the control moment; based on the third relative expected position, the expected angle of the ankle joint on the supporting mechanical leg where the supporting mechanical foot is located is determined, and based on the fourth relative expected position, the expected angle of the ankle joint on the swinging mechanical leg where the swinging mechanical foot is located is determined.

[0213] Optionally, the arc tangent of the third relative expected position can be determined as the expected angle of the ankle joint corresponding to the supporting mechanical foot, and the arc tangent of the fourth relative expected position can be determined as the expected angle of the ankle joint corresponding to the swinging mechanical foot. This method is the same as the calculation method of the expected angle of the hip joint described above, and will not be repeated here.

[0214] Exemplarily, the desired angle of the ankle joint on the supporting robotic leg may be expressed as follows:

[0215]

[0216] The desired angle of the ankle joint on a swinging robotic leg can be expressed as follows:

[0217]

[0218] Step 602f, setting the expected angle corresponding to the wheel joint of each mechanical wheel at the control time to zero.

[0219] During the robot's stepping process, the mechanical wheels do not need to rotate, and the desired angles corresponding to the wheel joints at each control moment can be directly set to zero.

[0220] Optionally, the desired angle corresponding to the wheel joint at the control moment can be expressed as follows:

[0221] Step 602g, setting the expected angles corresponding to the pitch joint and roll joint of the fuselage at the control moment to zero.

[0222] During the robot's step, the body can be kept vertical as much as possible, and the expected angles corresponding to the pitch joint and the roll joint at each control moment can be directly set to zero.

[0223] Optionally, the expected angles corresponding to the pitch joint and the roll joint at the control moment can be expressed as follows:

[0224] Step 602h, based on the expected angles of each hip joint at the control moment, the expected angles of each extension joint at the control moment, the expected angles of each ankle joint at the control moment, the expected angles of each wheel joint at the control moment, the expected angles of the pitch joint at the control moment and the expected angles of the roll joint at the control moment, obtain the expected angle set corresponding to the robot at the control moment.

[0225] Alternatively, the desired angle set can be expressed as follows:

[0226]

[0227] The embodiment of the present application utilizes the model structure of the robot to calculate the expected angle of each joint based on the expected position of each part, which can effectively reduce the amount of calculation of the expected angle set, thereby improving the efficiency of obtaining the expected angle set.

[0228] In one example, in order to reduce joint oscillation during the desired angle following process, the angular velocity of all joints is kept to zero, denoted as

[0229] Step 603: According to the expected angle set, the robot is controlled to move under the guidance of the first expected task.

[0230] Optionally, each desired angle in the desired angle set may be converted into a corresponding desired torque, so as to control the movement of each joint through the desired torque, so that the robot achieves the first desired task.

[0231] Exemplarily, step 603 may also include the following content:

[0232] 1. A PD (Proportional Derivative) feedback controller is used to calculate a first desired torque set corresponding to the desired angle set according to the desired angle set, the actual angle set corresponding to each joint, and the actual angular velocity set corresponding to each joint. The first desired torque set includes a first desired torque for controlling each joint.

[0233] Exemplarily, the first desired moment set may be expressed as follows:

[0234]

[0235] in, is the desired angle set, is the actual angle set, is the actual angular velocity set, k p,q and They correspond to the proportional coefficient of position feedback and the differential coefficient of speed feedback respectively.

[0236] k p,q and The tracking accuracy of the desired angle can be ensured, thereby improving the robot's motion stability and accuracy. Following the desired angle can effectively avoid the problem of poor force control transparency caused by following the desired acceleration, that is, when a small torque is given, the joint does not move, and when the torque is greater than a certain value, the joint moves violently under the drive of a larger force.

[0237] 2. According to the first expected torque set, control the robot to move under the guidance of the first expected task.

[0238] The first expected torque set includes the first expected torque of each joint of the robot at each control moment, and the first expected torque is used to control the rotation of the joint. At any control moment, the first expected task can be followed by driving the joint motors corresponding to each joint according to the first expected torque of each joint at the control moment, that is, the robot can move under the guidance of the first expected task, follow each expected position corresponding to the first expected task, and realize the control of the robot.

[0239] To summarize, the technical solution provided in the embodiments of the present application is for a robot having a first mechanical leg group and a second mechanical leg group, and having mechanical legs with a pair of coaxial mechanical wheels and mechanical feet at the feet. The expected angles of each joint of the robot are calculated through the expected positions of various parts of the robot, and then each joint is directly controlled through the expected angles to make the robot move on the supporting surface, thereby achieving effective following of the joints with the expected angles, avoiding the problem of poor force control transparency in related technologies, and thereby effectively improving the control accuracy of the robot's joints.

[0240] In addition, in the process of controlling the movement of the robot by alternatingly swinging the first mechanical leg group and the second mechanical leg group, the mechanical feet of the feet assist the mechanical wheels to keep the robot standing on the support surface, so that the feet can keep the robot standing with no less than two contact points (such as the contact points between the mechanical feet and the mechanical wheels and the support surface respectively). This allows the robot to stand on the support surface more stably and is less likely to fall, thereby effectively improving the robot's movement stability.

[0241] In addition, since the rotation centers of the corresponding hip joints of the robot are located in the same vertical plane, the robot can be planned to stand with one set of mechanical legs and move quickly with another set of mechanical legs in a dynamic equilibrium state (i.e., the center of gravity of the robot can exceed the support area of ​​the robot), thereby improving the movement efficiency of the robot. The support area of ​​the robot refers to the area surrounded by the contact points between the feet of each mechanical leg of the robot and the support surface. The related technology needs to always control the projection of the center of gravity within the support area, resulting in a very small center of mass speed of the robot and a very slow overall movement. The center of gravity of the robot in the embodiment of the present application can exceed the support area of ​​the robot, and the overall movement is very fast, thereby improving the movement efficiency of the robot.

[0242] In addition, by adopting the robot's whole-body kinematic model, the expected angle set corresponding to executing the first expected task can be accurately obtained according to the first expected task, and then the first expected task can be accurately achieved according to the expected angle set, thereby improving the control accuracy of the robot.

[0243] In addition, under the constraints of the robot's joint physical constraint expressions, solving the intermediate kinematic equations can obtain a reasonable and accurate set of expected angles, which can further improve the robot's control accuracy.

[0244] Please refer to Figure 15 , which shows a flow chart of a robot control method provided by another embodiment of the present application. In the embodiment of the present application, the robot control method is described by taking the robot as an example of the execution subject of each step. The method may include the following steps (1501-1506):

[0245] Step 1501, obtaining a first expected task of the robot on a support surface, wherein the first expected task includes expected positions of various parts of the robot in the operating space of the robot, and the first expected task is used to guide the robot to alternately swing a first mechanical leg group and a second mechanical leg group to move in a first direction on the support surface, and during the movement of the robot, the mechanical feet are used to assist the mechanical wheels so that the robot stands on the support surface.

[0246] Step 1502: Obtain an expected angle set corresponding to a first expected task, where the expected angle set includes expected angles of joints corresponding to various parts of the robot for controlling the robot.

[0247] Steps 1501-1502 are the same as steps 601-602 in the above embodiment. The contents not described in the embodiment of the present application can be referred to the above embodiment and will not be repeated here.

[0248] Step 1503: Acquire a first desired torque set corresponding to the desired angle set, where the first desired torque set includes a first desired torque for controlling each joint.

[0249] The method for obtaining the first desired torque set corresponding to step 1503 is the same as the method for obtaining the first desired torque set corresponding to step 603 in the above embodiment. The contents not described in the embodiment of the present application can be referred to the above embodiment and will not be repeated here.

[0250] Step 1504, obtaining a second expected task of the robot on the support surface, wherein the second expected task includes expected accelerations of various parts of the robot in the robot's operating space and expected accelerations of the robot's center of mass in the operating space, and the second expected task is used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to move in a first direction on the support surface, and during the movement of the robot, the mechanical feet are used to assist the mechanical wheels so that the robot stands on the support surface.

[0251] In the embodiment of the present application, the expected task refers to the task that the robot is expected to perform in the operating space. The above-mentioned second expected task may refer to the task set for the acceleration of each part of the robot. The second expected task can be planned according to the robot and the real environment in which the robot is located. For example, according to the size of the support surface, the size of each part of the robot and the structure of the robot, the acceleration expected for each part and the center of mass of the robot is planned, and the second expected task corresponding to the scene can be obtained. Among them, for each part or center of mass, the acceleration expected is the expected acceleration of the part or center of mass. The expected acceleration of a part or center of mass can be used to indicate the acceleration expected to be achieved by the part or center of mass.

[0252] Optionally, the second expected task corresponds to the complete motion process of the robot. If the complete motion process corresponds to multiple control moments, the second expected task may include the expected accelerations of various parts and the center of mass of the robot corresponding to the multiple controls. The control moment refers to the moment when the robot is controlled by a control signal. The control moments are arranged at specified time intervals, and the specified time intervals can be set and adjusted according to actual usage requirements. In this way, the second expected task can be obtained by unified planning for the overall motion process of the robot.

[0253] For example, corresponding second desired tasks can be planned for scenes such as gait walking, climbing stairs, crossing obstacles, and marking time. For example, the second desired task corresponding to gait walking can be used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to achieve the gait walking task; the second desired task corresponding to climbing stairs can be used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to achieve the stair climbing task; the second desired task corresponding to crossing obstacles can be used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to achieve the obstacle crossing task.

[0254] The robot can control the movement of various parts of the robot through the expected acceleration in the above-mentioned second expected task to realize the movement of the robot on the support surface. For example, the robot controls the mechanical legs, mechanical feet, mechanical wheels and body of the robot through the expected acceleration in the above-mentioned second expected task, so that the robot alternately swings the first mechanical leg group and the second mechanical leg group to move on the support surface, and controls the mechanical feet to assist the mechanical wheels, so that the robot stands on the support surface.

[0255] The expected acceleration refers to the acceleration obtained by combining the real environment and used to actually control the robot, while the reference acceleration below is a planned value, which is used to guide the robot to move along the reference movement trajectory. The reference movement trajectory is the trajectory obtained by planning the movement trajectory of the robot, and the reference movement trajectory may include various parts of the robot and the reference movement trajectory corresponding to the center of mass.

[0256] The robot can control the robot to move along the reference moving trajectory through the expected acceleration. Exemplarily, the second expected task includes the expected accelerations of the mechanical legs, mechanical feet, mechanical wheels and fuselage, and the center of mass of the robot at each control moment, so as to enable the robot to complete the above-mentioned complete motion process. For example, the expected acceleration corresponding to the mechanical legs can be used to control the mechanical legs to swing, and to control the mechanical legs to extend and retract, the expected acceleration corresponding to the mechanical feet can be used to control the mechanical feet to rotate, the expected acceleration corresponding to the mechanical wheels can be used to control the mechanical wheels to rotate, and the expected acceleration corresponding to the fuselage and the center of mass can be used to control the fuselage to rotate (including pitch and roll).

[0257] The operating space of the robot may refer to the Cartesian space corresponding to the robot. In the task-oriented whole body control of the robot, the Cartesian space corresponding to the robot may be referred to as the operating space of the robot. In the embodiment of the present application, each position in the operating space of the robot may be characterized based on the world coordinate system of the robot.

[0258] Exemplarily, the world coordinate system of the robot can be constructed with the contact point between the foot (such as a mechanical wheel) of the robot in the initial state and the support surface as the origin, the horizontal direction as the x-axis direction, the vertical direction as the z-axis direction, and the direction perpendicular to both the horizontal and vertical directions as the y-axis direction. The position of the robot in the operating space can be characterized based on the three-dimensional coordinates of the robot in the world coordinate system. Optionally, the calculation processes in the embodiments of the present application all occur in the world coordinate system of the robot.

[0259] The embodiment of the present application does not limit the first direction, which can be used to indicate the direction of the robot. For example, in scenes such as gait walking, climbing stairs, crossing obstacles, and marking time, the first direction may refer to the horizontal direction (i.e., the direction perpendicular to the direction of gravity) to indicate the direction of the robot. The support surface refers to the surface for the robot to stand. In the embodiment of the present application, the support surface may include only one plane, such as a flat ground, a road, etc., and the support surface may also include multiple planes of different heights, such as stairs, a road surface with shoulders, a ground with pits, etc., which is not limited in the embodiment of the present application.

[0260] In one example, the robot stops moving after a plurality of control moments, i.e., completes the second desired task. During the movement of the robot, the mechanical leg used for swinging is a swinging mechanical leg, and the mechanical leg used for standing is a supporting mechanical leg. The mechanical foot on the swinging mechanical leg is a swinging mechanical foot, the mechanical foot on the supporting mechanical leg is a supporting mechanical foot, the mechanical wheel on the swinging mechanical leg is a swinging mechanical wheel, the mechanical wheel on the supporting mechanical leg is a supporting mechanical wheel, and the supporting mechanical foot can assist the supporting mechanical wheel, so that the robot stands on the supporting surface.

[0261] Exemplarily, when the robot stands on a support surface through the first mechanical leg group and controls the robot's second mechanical leg group to swing, the mechanical legs in the first mechanical leg group can be referred to as supporting mechanical legs, and the mechanical legs in the second mechanical leg group can be referred to as swinging mechanical legs; when the robot stands on a support surface through the second mechanical leg group and controls the robot's first mechanical leg group to swing, the mechanical legs in the second mechanical leg group can be referred to as supporting mechanical legs, and the mechanical legs in the first mechanical leg group can be referred to as swinging mechanical legs; when the robot stands on a support surface through both the first mechanical leg group and the second mechanical leg group, the mechanical legs in the first mechanical leg group and the mechanical legs in the second mechanical leg group can both be referred to as supporting mechanical legs, and the embodiments of the present application do not limit this. When the mechanical leg group is used for support, the mechanical feet and mechanical wheels on the mechanical leg group are in contact with the support surface at the same time, so that the robot can stand stably.

[0262] Optionally, the expected acceleration included in the second expected task can be calculated by a feedback controller, such as a PD feedback controller, and other feedback controllers based on the reference movement trajectory of each part of the robot and the actual state of the robot.

[0263] In one example, reference Figure 16 , the above step 1504 may also include the following sub-steps:

[0264] Step 1504a, obtaining the expected swing acceleration of the swing mechanical leg group in the operating space according to the swing reference movement trajectory corresponding to the swing mechanical leg group, wherein the swing reference movement trajectory is obtained by planning the movement trajectory of the swing mechanical leg group according to the support surface.

[0265] The swing reference movement trajectory refers to the reference movement trajectory of the swing mechanical leg in the swing mechanical leg group, such as the reference movement trajectory of the swing mechanical wheel on the swing mechanical leg. The reference movement trajectory is used to guide the movement of the robot, such as the reference movement trajectory may include the reference position of the robot at each control moment, and the reference position refers to the position that the robot is expected to reach. For example, the reference movement trajectory of the mechanical wheel includes the reference position of the mechanical wheel at each control moment to guide the mechanical wheel to move according to the reference movement trajectory of the mechanical wheel. The reference position in the embodiment of the present application is the expected position in the above embodiment, which is a planned value.

[0266] Optionally, the reference movement trajectory in the embodiment of the present application can be obtained by using a spline curve interpolation method. For example, the initial position and the end position of the supporting mechanical leg (such as a mechanical wheel) in each step process can be planned according to the size information of the supporting surface, and then the initial position and the end position can be interpolated by using a spline curve interpolation method to obtain the swing reference movement trajectory corresponding to the swinging mechanical leg.

[0267] For example, taking a quadruped-foot-wheel hybrid robot climbing stairs as an example, the reference position (i.e., the above-mentioned expected position) of the supporting mechanical legs (such as mechanical wheels) on each step can be planned according to the size information of each step of the stairs (such as width, height, length, etc.), and then interpolation is performed between each reference position to obtain the swing reference movement trajectory.

[0268] The above-mentioned swing expected acceleration includes the expected acceleration of the swing mechanical leg at each control moment. For example, the expected acceleration of the mechanical wheel of the swing mechanical leg at each control moment can be determined as the swing expected acceleration. The swing expected acceleration can be used to control the swing mechanical leg (including the mechanical wheel) to move along the swing reference movement trajectory so that the swing mechanical leg swings.

[0269] Exemplarily, when the robot stops moving after a plurality of control moments, the process of obtaining the swing expected acceleration may be as follows:

[0270] 1. For any of the control moments, obtain the reference position, reference speed and reference acceleration of the swinging mechanical leg group at the control moment according to the swinging reference movement trajectory.

[0271] Optionally, the reference position of the swinging mechanical leg group (such as a mechanical wheel) at a certain control moment can be directly determined based on the swinging reference movement trajectory, and then the reference speed and reference acceleration of the swinging mechanical leg group at the control moment can be obtained based on the reference position of the swinging mechanical leg group at the control moment. For example, the reference speed and reference acceleration of the swinging mechanical leg group at the control moment can be obtained by taking the first-order derivative and the second-order derivative of the reference position of the swinging mechanical leg group at the control moment with respect to time. Among them, the reference speed refers to the speed expected to be reached, and the reference acceleration refers to the acceleration expected to be reached, but they are not directly used to control the robot.

[0272] 2. Using a PD feedback controller, the expected acceleration of the swing at the control time is calculated based on the reference position, reference speed and reference acceleration of the swing mechanical leg group at the control time, as well as the actual position and actual speed of the swing mechanical leg group at the control time.

[0273] Optionally, based on the IMU on the fuselage, the acceleration, angular velocity and posture (i.e., actual Euler angle) of the fuselage can be measured, and then combined with the actual angles and actual accelerations of all joints of the robot, as well as the contact points between the robot and the support surface, the actual position, actual velocity, actual posture and actual angular velocity of the fuselage in the world coordinate system can be obtained by using the state estimation algorithm. If the relative position, relative velocity and relative angular velocity between the hip joint center point and the IMU of the hip joint are known, the state of the hip joint center point can be calculated according to the state of the fuselage (i.e., the actual position, actual velocity, actual posture and actual angular velocity of the fuselage in the world coordinate system).

[0274] In the embodiment of the present application, the center point of the hip joint is the origin of the floating base coordinate system of the robot. According to the state of the center point of the hip joint, the state of the floating base coordinate system can be obtained. Combined with the actual angles and actual angular velocities of all joints of the robot, the forward kinematics model of the full model of the robot can be used to calculate the actual position, actual speed, actual posture and actual angular velocity of all the connecting rods corresponding to the robot in the world coordinate system. All the connecting rods include swinging mechanical legs, and the actual position and actual speed of the swinging mechanical legs (such as mechanical wheels) in the operating space can be obtained. Among them, the actual position refers to the actual position of the swinging mechanical leg, which is the true value, and the actual speed refers to the actual speed of the swinging mechanical leg, which is the true value. The variant of the forward kinematics model can be used to indicate the relationship between the acceleration of the robot in the operating space and the speed and acceleration of the robot in the joint space of the robot.

[0275] For example, the swing expected acceleration can be expressed as follows:

[0276]

[0277] in, and are the reference position, reference velocity and reference acceleration of the swinging mechanical leg (such as a mechanical wheel) in the operating space at the control time t, and are the actual position and actual speed of the swinging mechanical leg (such as a mechanical wheel) in the operating space at the control time t, respectively, p,swing and k d,swing They correspond to the proportional coefficient (position feedback) and differential coefficient (speed feedback) for the swinging mechanical legs respectively.

[0278] In some examples, the mechanical legs corresponding to the first mechanical leg group move synchronously, and the mechanical legs corresponding to the second mechanical leg group move synchronously, that is, the swinging mechanical legs in the swinging mechanical leg group move synchronously. If the robot has no displacement in the y-axis direction, then after ignoring the y-axis direction, the swing reference movement trajectory of each swinging mechanical leg in the swinging mechanical leg group is the same. By calculating the expected swing acceleration for any swinging mechanical leg, the expected swing acceleration corresponding to the swinging mechanical leg group can be obtained, which can reduce the amount of calculation of the expected swing acceleration, thereby improving the control efficiency of the robot.

[0279] Step 1504b, obtaining the expected support acceleration of the supporting mechanical leg group in the operating space according to the supporting reference movement trajectory corresponding to the supporting mechanical leg group, wherein the supporting reference movement trajectory is planned according to the movement trajectory of the supporting mechanical leg group by the supporting surface.

[0280] The support reference movement trajectory refers to the reference movement trajectory of the support mechanical leg in the support mechanical leg group, such as the reference movement trajectory of the mechanical foot on the support mechanical leg. The support expected acceleration includes the expected acceleration of the support mechanical leg at each control moment. The support expected acceleration is used to control the support mechanical leg to follow the support reference movement trajectory to keep the robot standing.

[0281] In an embodiment of the present application, the reference position (i.e., the expected position) of the supporting mechanical leg on the supporting surface is a fixed value, and during the supporting process of the supporting mechanical leg, there is no relative sliding between the mechanical foot of the supporting mechanical leg and the supporting surface, so the value of the expected support acceleration is always zero.

[0282] For example, the support expected acceleration can be expressed as follows:

[0283]

[0284] Among them, N c is the number of supporting mechanical legs (the mechanical feet of each supporting mechanical leg in the supporting mechanical leg group are in contact with the supporting surface, N c It can also be recorded as the number of contact points between the supporting mechanical legs and the supporting surface).

[0285] Step 1504c, obtaining the expected acceleration of the center of mass in the operating space according to the center of mass reference movement trajectory corresponding to the center of mass of the robot, wherein the center of mass reference movement trajectory is planned according to the movement trajectory of the support surface to the center of mass.

[0286] The mass center reference movement trajectory refers to the reference movement trajectory of the mass center of the robot. The mass center reference movement trajectory includes the reference position of the mass center of the robot at each control time (ie, the above-mentioned expected position).

[0287] Optionally, during the movement of the robot, the center of mass of the robot not only needs to move continuously along the first direction (i.e., the forward direction), but also needs to help the robot maintain dynamic balance. Therefore, a balance controller needs to be constructed to calculate the expected acceleration of the center of mass in the first direction.

[0288] Exemplarily, the reference movement trajectory of the center of mass may be divided into a sub-reference movement trajectory in a first direction and a sub-reference movement trajectory in a vertical direction, and then the sub-expected acceleration of the center of mass in the first direction is determined according to the sub-reference movement trajectory in the first direction, and the sub-expected acceleration of the center of mass in the vertical direction is determined according to the sub-reference movement trajectory in the vertical direction. The process may include the following contents:

[0289] 1. According to the sub-reference moving trajectory of the center of mass reference moving trajectory in the first direction, obtain the sub-expected acceleration of the center of mass in the first direction.

[0290] The first direction may be the forward direction of the robot, such as the x-axis direction of the world coordinate system. Optionally, the robot may be converted into an inverted pendulum model to construct a balance controller.

[0291] For example, since the robot always moves in the first direction (e.g., no displacement occurs in the y-axis direction of the above-mentioned world coordinate system), 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 hip joints of the robot are coaxial, the robot can be simplified into a sagittal plane (e.g., Figure 2 The plane model under the sagittal plane 206). Figure 10 , which is a schematic diagram of an inverted pendulum model of a robot provided in one embodiment of the present application.

[0292] After constructing the inverted pendulum model of the robot, a balance controller can be constructed according to the inverted pendulum model, and then the expected acceleration of the center of mass in the first direction can be calculated based on the balance controller. The process can be as follows:

[0293] 1) With the position of the center of mass, the speed of the center of mass, the distance between the center of mass and the support contact point in the first direction, and the derivative of the distance as state variables, and the acceleration of the center of mass relative to the support contact point in the first direction as the control variable, the dynamic equation of the robot's inverted pendulum is constructed. The support contact point refers to the contact point between the foot corresponding to the supporting mechanical leg group and the support surface.

[0294] In the inverted pendulum model, the support contact point is represented by a virtual support contact point. For example, the inverted pendulum dynamics equation of the robot can be expressed as follows:

[0295]

[0296] Among them, Δx and are the distance between the center of mass and the support contact point (i.e., the virtual support contact point) in the first direction and the derivative of the distance, x com and are the position and velocity of the center of mass in the first direction, is the acceleration of the center of mass relative to the virtual support contact point in the first direction, z com is the vertical position of the center of mass, and g is the acceleration due to gravity.

[0297] 2) Using the linear quadratic programming regulator, calculate the feedback gain matrix of the inverted pendulum dynamics equation.

[0298] The Linear Quadratic Regulator (LQR) is constructed based on the Quadratic Programming optimization method. Its essence is to find a multidimensional vector under linear constraints so that the quadratic objective function of the multidimensional vector is minimized (or maximized).

[0299] Exemplarily, a linear quadratic programming regulator is used to construct an objective function of the inverted pendulum dynamics equation, and then the feedback gain matrix of the inverted pendulum dynamics equation is iteratively obtained with the goal of minimizing the objective function.

[0300] 3) For any of the control moments, according to the sub-reference movement trajectory in the first direction, obtain the reference position, reference speed, reference distance and reference speed between the center of mass and the support contact point at the control moment and in the first direction.

[0301] Optionally, the sub-reference movement trajectory of the center of mass in the first direction can be obtained by planning methods such as heuristic (i.e., giving the trajectory based on experience and the real environment) and inverted pendulum model (planning the trajectory using an inverted pendulum model), based on the reference position of the supporting mechanical leg. This is not limited to the embodiments of the present application.

[0302] Exemplarily, based on the sub-reference movement trajectory in the first direction, the reference position of the center of mass at the control time and in the first direction can be directly obtained, and then the first-order derivative of the reference position of the center of mass at the control time and in the first direction is taken with respect to time to obtain the reference speed of the center of mass at the control time and in the first direction.

[0303] According to the support reference movement trajectory, the reference position and reference speed of the support contact point at the control time and the first direction can be obtained, and then the reference position of the virtual support contact point can be obtained by taking the geometric average of the reference position of the support contact point at the control time and the first direction, and the reference speed of the virtual support contact point can be obtained by taking the geometric average of the reference speed of the support contact point at the control time and the first direction, and then the reference distance between the center of mass and the virtual support contact point can be obtained by subtracting the reference position of the virtual support contact point at the control time and the first direction from the reference position of the center of mass at the control time and the first direction, and the reference speed between the center of mass and the virtual support contact point can be obtained by subtracting the reference speed of the virtual support contact point at the control time and the first direction from the reference speed of the center of mass at the control time and the first direction.

[0304] 4) According to the feedback gain matrix, the reference position of the center of mass at the control time and in the first direction, the reference speed, the reference distance and the reference speed between the center of mass and the support contact point, the third sub-expected acceleration at the control time and in the first direction is obtained.

[0305] Optionally, the reference position of the center of mass at the control time and in the first direction, the reference speed, the reference distance between the center of mass and the support contact point, and the reference speed are used as reference values ​​of the control variables, and then the control variables of the inverted pendulum dynamics equation can be obtained based on the reference values ​​of the control variables through LQR. The process can be expressed as follows:

[0306] in, is the actual value of the state variable.

[0307] Control variables of the inverted pendulum dynamics equation That is the expected acceleration of the center of mass in the first direction, denoted as The sub-expected acceleration of the center of mass in the first direction obtained in this way can not only ensure the following of the reference moving trajectory of the center of mass in the first direction, but also maintain the dynamic balance of the robot during the movement, thereby improving the movement stability of the robot.

[0308] Optionally, the expected acceleration of the center of mass in the first direction can also be calculated using a PD feedback controller based on the reference position, reference velocity and reference acceleration of the center of mass in the first direction at the control moment, and the actual position and actual velocity of the center of mass in the first direction at the control moment. This embodiment of the present application is not limited to this.

[0309] 2. According to the sub-reference moving trajectory of the center of mass reference moving trajectory in the vertical direction, obtain the sub-expected acceleration of the center of mass in the vertical direction.

[0310] Optionally, the vertical direction may refer to the z-axis direction of the world coordinate system.

[0311] In the embodiment of the present application, the height between the center of mass of the robot and the foot of the supporting mechanical leg of the robot is set to a constant value, and the constant value may refer to the distance between the center of mass of the robot and the center of the foot corresponding to the supporting mechanical leg (such as the wheel center) in the z-axis direction. Therefore, according to the supporting reference moving trajectory and the constant value, the sub-reference moving trajectory of the center of mass in the vertical direction can be planned. For example, by using the spline curve interpolation method, based on the sum of the reference position in the supporting reference moving trajectory and the constant value, the sub-reference moving trajectory of the center of mass in the vertical direction is interpolated.

[0312] Optionally, the sub-reference movement trajectory in the vertical direction may be equivalent to the reference movement trajectory of the robot's body in the vertical direction. By following the sub-reference movement trajectory in the vertical direction, the body can be moved in the vertical direction to complete the adjustment of the center of mass position. Especially in the stair climbing scenario, by following the sub-reference movement trajectory in the vertical direction, the robot can climb the stairs in the vertical direction.

[0313] Exemplarily, when the robot stops moving after a plurality of control moments, the process of obtaining the expected acceleration of the center of mass in the vertical direction may be as follows:

[0314] 1) For any control moment in each control moment, according to the sub-reference movement trajectory in the vertical direction, obtain the reference position, reference velocity and reference acceleration of the center of mass in the vertical direction at the control moment.

[0315] Optionally, the reference position of the center of mass in the vertical direction at a certain control moment can be determined directly based on the sub-reference movement trajectory in the vertical direction, and then the first-order derivative and second-order derivative of the reference position of the center of mass in the vertical direction at the control moment are taken with respect to time, respectively, to obtain the reference velocity and reference acceleration of the center of mass in the vertical direction at the control moment.

[0316] 2) A PD feedback controller is used to calculate the expected acceleration of the center of mass at the control time and in the vertical direction according to the reference position, reference velocity and reference acceleration of the center of mass at the control time and in the vertical direction, as well as the actual position and actual velocity of the center of mass at the control time and in the vertical direction.

[0317] Optionally, based on the IMU on the fuselage, the acceleration, angular velocity and posture (i.e., the actual Euler angle) of the fuselage can be measured, and then combined with the actual angles, actual accelerations of all the joints of the robot, and the contact points between the robot and the supporting surface, the state estimation algorithm can be used to obtain the actual position, actual speed, actual posture and actual angular velocity of the fuselage in the world coordinate system. Finally, based on the actual position and actual speed of the fuselage and the mechanical legs in the world coordinate system, the actual position and actual speed of the center of mass in the world coordinate system are determined, and then the actual position and actual speed of the center of mass in the vertical direction are obtained.

[0318] For example, the expected acceleration of the center of mass in the vertical direction can be expressed as follows:

[0319]

[0320] in, and are the reference position, reference velocity and reference acceleration of the center of mass at the control time t and in the vertical direction, respectively. and The actual position and actual velocity of the center of mass at the control time t and in the vertical direction, k p,bese and k d,base They correspond to the proportional coefficient and differential coefficient for the center of mass respectively.

[0321] 3. The expected acceleration of the center of mass is obtained according to the expected acceleration of the center of mass in the first direction and the expected acceleration of the center of mass in the vertical direction.

[0322] For any of the control moments, the center of mass sub-expected acceleration of the center of mass in the first direction and the vertical sub-expected acceleration of the center of mass in the vertical direction are combined to obtain the center of mass expected acceleration. The center of mass expected acceleration can be used to control the center of mass of the robot to follow the center of mass reference moving trajectory, so that the robot moves in the first direction as a whole.

[0323] Step 1504d, obtaining the expected acceleration of the body's attitude in the operating space according to the reference change trajectory of the body's attitude, wherein the reference change trajectory of the body is obtained by planning the change trajectory of the body.

[0324] The attitude reference change trajectory refers to the reference change trajectory of the attitude of the robot's body, which can be used to describe the attitude change of the robot's body, such as it can include the reference attitude of the robot's body at each control moment. Optionally, the attitude of the body can be expressed by Euler angles, such as Euler angles composed of roll, pitch and yaw of the body, and the above attitude reference change trajectory can refer to the Euler angle reference movement trajectory corresponding to the robot's body, and the Euler angle reference movement trajectory includes the reference attitude angle (i.e., reference Euler angle) at each control moment.

[0325] The expected acceleration of the posture includes the expected acceleration of the robot body at each control moment. When the posture of the body is expressed by Euler angles, the expected acceleration may refer to the expected posture angular acceleration (ie, the expected Euler angle acceleration).

[0326] In one example, the body of the robot remains vertical during the movement of the robot (hereinafter referred to as the vertical task); in one example, the body of the robot rotates dynamically during the movement of the robot (hereinafter referred to as the angular momentum task); in one example, during the movement of the robot, the robot takes into account the vertical task and the angular momentum task of the body in a weighted manner. For example, when the weight parameter of the vertical task is greater than the weight parameter of the angular momentum task, the robot will focus on performing the vertical task but will not abandon the angular momentum task; when the weight parameter of the vertical task is less than or equal to the weight parameter of the angular momentum task, the robot will focus on performing the angular momentum task but will not abandon the vertical task. The weight parameters of the vertical task and the weight parameters of the angular momentum task can be dynamically set and adjusted according to actual use requirements, and the embodiments of the present application are not limited to this.

[0327] The following will explain the attitude expected acceleration corresponding to the vertical task and the angular momentum expected acceleration corresponding to the angular momentum task (also belongs to the attitude expected acceleration). Among them, the attitude expected acceleration is used to guide the fuselage to keep vertical, and the angular momentum expected acceleration is used to guide the fuselage to rotate.

[0328] In one example, when the robot stops moving after a plurality of control moments, the process of obtaining the expected acceleration of the posture may be as follows:

[0329] 1. For any control moment in each control moment, obtain the reference attitude angle, reference attitude angular velocity and reference attitude angular acceleration of the fuselage at the control moment according to the attitude reference change trajectory.

[0330] When the robot body remains vertical during the movement of the robot, the value of the reference attitude angle, the value of the reference attitude angular velocity, and the value of the reference attitude angular acceleration corresponding to the body are all zero. Exemplarily, the value of the reference attitude angle, the value of the reference attitude angular velocity, and the value of the reference attitude angular acceleration can be expressed as:

[0331] and

[0332] 2. Using the PD feedback controller, the expected attitude acceleration at the control moment is calculated based on the reference attitude angle, reference attitude angular velocity and reference attitude angular acceleration of the fuselage at the control moment, as well as the actual attitude angle and actual attitude angular velocity of the fuselage at the control moment.

[0333] Optionally, based on the IMU on the fuselage, the acceleration, angular velocity and attitude (i.e., actual Euler angle) of the fuselage can be measured, and then combined with the actual angles, actual accelerations of all joints of the robot, and the contact points between the robot and the supporting surface, the state estimation algorithm can be used to obtain the actual position, actual speed, actual attitude and actual angular velocity (i.e., actual state) of the fuselage in the world coordinate system. Finally, based on the actual state of the fuselage in the world coordinate system, the actual attitude angle (i.e., actual Euler angle) and actual attitude angular velocity (i.e., actual Euler angular velocity) of the fuselage can be obtained.

[0334] Exemplarily, the expected acceleration of the attitude can be expressed as follows:

[0335]

[0336] and are the actual attitude angle and actual attitude angular velocity of the fuselage in the operating space at the control time t, k p,euler and k d,euler They correspond to the proportional coefficient and differential coefficient for the body posture respectively. The desired acceleration of the posture is used to control the robot's body to move along the reference posture change trajectory so as to keep the body vertical.

[0337] In one example, when the second expected task also includes the expected acceleration of the angular momentum of the center of mass of the robot in the operation space, the acquisition process of the expected acceleration of the angular momentum may be as follows:

[0338] 1. For any control moment in each control moment, obtain the reference angular momentum, reference angular momentum velocity and reference angular momentum acceleration of the center of mass at the control moment according to the reference change trajectory of angular momentum corresponding to the center of mass, wherein the reference change trajectory of angular momentum is planned according to the angular momentum of the support surface to the center of mass.

[0339] The angular momentum reference change trajectory may include the reference angular momentum of the robot's center of mass at each control moment. The reference angular momentum of the center of mass at a certain control moment may be determined directly according to the angular momentum reference change trajectory, and then the reference angular momentum of the center of mass at the control moment is respectively first-order and second-order derivatives with respect to time (i.e., the first-order derivative of the reference angular momentum with respect to time, and the second-order derivative of the reference angular momentum with respect to time), so as to obtain the reference angular momentum velocity and reference angular momentum acceleration of the center of mass at the control moment. Optionally, the reference angular momentum, the reference angular momentum velocity, and the reference angular momentum acceleration may all be set to zero to simplify the calculation, or only the reference angular momentum velocity may be set to zero, which is not limited in the embodiments of the present application.

[0340] In the embodiment of the present application, angular momentum refers to the product of moment of inertia and angular acceleration. The angular momentum of the center of mass can be determined based on the moment of inertia and angular acceleration of the line between the center of mass and the center of rotation of the mechanical wheel supporting the mechanical leg. If the initial angular momentum of the center of mass is zero, the angle can be directly determined as the angular momentum of the center of mass. Among them, the center of mass of the robot is used to characterize the center of mass of the robot, which can be calculated based on the center of mass of each part of the robot at the current moment and each joint angle, and is recorded as CoM. Optionally, the position of the center of mass of the robot can be obtained based on the position of the center of mass of each part of the robot. For example, the position of the center of mass of each part of the robot can be obtained by averaging the positions of the center of mass of each part of the robot.

[0341] After determining the reference moving trajectory of the center of mass and the support reference moving trajectory, the moment of inertia and angular acceleration of the line between the center of mass and the rotation center of the mechanical wheel on the supporting mechanical leg at each control moment can be determined, so that the angular momentum of the center of mass can be obtained, and then the reference change trajectory of the angular momentum can be obtained.

[0342] For example, refer to Figure 11, which is a simplified model diagram of a quadrupedal foot-wheel hybrid robot provided by an embodiment of the present application. Among them, based on the fuselage 1102 and each mechanical leg 1103, the center of mass 1101 of the robot 1100 can be calculated, and the line between the center of mass 1101 and the rotation center of the mechanical wheel supporting the mechanical leg is first obtained, and the angular momentum of the center of mass is determined by the product of the moment of inertia and angular acceleration of the line. As the various joints of the robot 1100 rotate (i.e., the various parts move), the joint angles are different, the position of the center of mass 1101 changes all the time, and the angular momentum of the center of mass 1101 also changes all the time.

[0343] 2. Using a PD feedback controller, the expected angular momentum acceleration at the control time is calculated based on the reference angular momentum, reference angular momentum velocity and reference angular momentum acceleration of the center of mass at the control time, as well as the actual angular momentum and actual angular momentum velocity of the center of mass at the control time.

[0344] Optionally, based on the IMU on the fuselage, the acceleration, angular velocity and posture (i.e., actual Euler angle) of the fuselage can be measured, and then combined with the actual angles, actual accelerations of all joints of the robot, and the contact points between the robot and the supporting surface, the state estimation algorithm can be used to obtain the actual position and actual posture of the fuselage and mechanical legs in the world coordinate system, and then the position of the center of mass is determined based on the actual position and actual posture of the fuselage and mechanical legs in the world coordinate system, and then the actual angular momentum and actual angular momentum velocity of the center of mass are obtained.

[0345] Exemplarily, the angular momentum desired acceleration can be expressed as follows:

[0346]

[0347] in, and are the reference angular momentum, reference angular momentum velocity and reference angular momentum acceleration of the center of mass in the operating space at the control time t, and are the actual angular momentum and actual angular momentum velocity (i.e., the first-order derivative of the actual angular momentum) of the center of mass in the operating space at the control time t, respectively, p,momentum and k d,momentum are the proportional coefficient and differential coefficient corresponding to the angular momentum of the center of mass.

[0348] Among them, the expected acceleration of angular momentum is used to control the robot's body to move along the angular momentum reference change trajectory to achieve the angular momentum task of the body. By adding the angular momentum task, during the robot's movement process (such as gait walking and climbing stairs), the body can be made not locked at a fixed angle, but move based on the principle of mutual cancellation of different joints and associated angular momentum. The reference movement trajectory is more in line with the dynamic relationship of the robot system, thereby further improving the bionic degree of the robot's gait.

[0349] In one example, the second expected task also includes the expected acceleration of each mechanical foot in the operating space, and the expected acceleration of the foot is used to control the mechanical foot to move along the reference movement trajectory of the foot to assist the mechanical wheel to make the robot stand more stably, thereby improving the stability of the robot during movement.

[0350] Exemplarily, the robot stops moving after a plurality of control moments, and the embodiment of the present application may further include the following steps:

[0351] Step 1504e, obtaining the expected acceleration of the mechanical foot in the operating space according to the reference movement trajectory of the mechanical foot of the robot, wherein the reference change trajectory of the mechanical foot is obtained by planning the change trajectory of the mechanical foot.

[0352] The foot reference movement trajectory is obtained by planning the movement trajectory of the support surface to the mechanical foot. The foot reference movement trajectory refers to the reference movement trajectory of the mechanical foot, such as the reference movement trajectory of the mechanical foot on the supporting mechanical leg or the swinging mechanical leg. The foot expected acceleration includes the expected acceleration of the mechanical foot at each control moment.

[0353] The foot reference movement trajectory may include the expected position corresponding to the mechanical foot (such as the supporting mechanical foot and the swinging mechanical foot) at each control moment. The method for obtaining the expected position is the same as the method in the above embodiment, which will not be repeated here.

[0354] Exemplarily, for any one of the control moments, the process of obtaining the expected acceleration may be as follows:

[0355] 1. According to the reference movement trajectory of the mechanical foot, obtain the reference position, reference speed and reference acceleration of the mechanical foot at the control time.

[0356] The foot reference movement trajectory may include the reference position of the robot's mechanical foot at each control moment (i.e., the above-mentioned expected position). The reference position of the mechanical foot at a certain control moment can be determined directly based on the foot reference movement trajectory, and then the reference position of the mechanical foot at the control moment can be derived with respect to time by taking the first-order derivative and the second-order derivative respectively, thereby obtaining the reference speed and reference acceleration of the mechanical foot at the control moment.

[0357] Optionally, the reference speed of the mechanical foot at each control moment may be set to zero to simplify the calculation, which is not limited in the embodiments of the present application.

[0358] 2. Using the PD feedback controller, the expected acceleration of the foot at the control moment is calculated based on the reference position, reference speed and reference acceleration of the mechanical foot at the control moment, as well as the actual position and actual speed of the mechanical foot at the control moment.

[0359] Optionally, based on the IMU on the fuselage, the acceleration, angular velocity and posture (i.e., actual Euler angle) of the fuselage can be measured, and then combined with the actual angles, actual accelerations of all joints of the robot, and the contact points between the robot and the supporting surface, the state estimation algorithm can be used to obtain the actual position and actual posture of the fuselage and mechanical legs in the world coordinate system, and then based on information such as the rotation angle and joint angular velocity of the foot joint, the actual position and actual speed of the mechanical foot at the control moment can be determined, among which the actual position and actual speed of the toe of the mechanical foot at the control moment can be determined as the actual position and actual speed of the mechanical foot at the control moment.

[0360] For example, the expected acceleration can be expressed as follows:

[0361]

[0362] in, and are the reference position, reference velocity and reference acceleration of the robot foot in the operating space at the control time t, and are the actual position and actual speed of the robot foot in the operating space at the control time t, k p,foot and k d,foot are the proportional coefficient and differential coefficient corresponding to the mechanical foot respectively.

[0363] Step 1504f, obtaining a second expected task according to the expected swing acceleration, the expected support acceleration, the expected center of mass acceleration, the expected posture acceleration and the expected foot acceleration.

[0364] Alternatively, without including the angular momentum task of the fuselage, the second desired task can be expressed as follows:

[0365]

[0366] Alternatively, in the case of an angular momentum mission involving the fuselage, the second desired mission may be expressed as follows:

[0367]

[0368] Step 1505 , according to the second expected task, and the whole-body dynamics model and the whole-body kinematics model of the robot, obtain a second expected torque set corresponding to the second expected task, wherein the second expected torque set includes second expected torques for controlling each joint.

[0369] Optionally, each expected acceleration in the second expected task can be converted into a corresponding expected torque, so as to control the movement of each joint through the expected torque, so that the robot can achieve the second expected task. For example, the second expected torque set includes the second expected torque corresponding to the hip joint, ankle joint, wheel joint, telescopic joint, pitch joint and roll joint of the robot at each control moment, and the second expected torque is used to control the joint to rotate.

[0370] In one example, the second desired task can be used for task-oriented whole body control of the robot, that is, considering the mass, inertia and other dynamic information of all the links of the robot, mobilizing all degrees of freedom of the robot, and controlling the robot to complete one or more set tasks.

[0371] For example, based on the rigid body dynamics of the robot, the whole body dynamics model of the robot in the joint space system can be expressed as follows:

[0372]

[0373] in, represents the robot's joint space inertia matrix, represents the joint space offset force vector of the robot, which is the sum of the Coriolis force, centrifugal force and gravity corresponding to the robot. represents the robot's selection matrix, represents the Jacobian matrix of the contact points between the robot and the support surface, represents the torque vector of the robot's joints, represents the contact force vector of the robot, Represents the generalized position vector, generalized velocity vector and generalized acceleration vector at each degree of freedom of the robot, N G Represents the total degree of freedom of the robot, that is, the floating basis degree of freedom N F and joint degrees of freedom N J sum, N C Indicates the number of contact forces corresponding to the robot, that is, the number of contact points n C With the dimension N of a single contact force D ∈{0, 1, 2, 3}.

[0374] by Figure 2Taking the quadrupedal-foot-wheel hybrid robot in as an example, the connecting rods of the quadrupedal-foot-wheel hybrid robot may include 4 mechanical legs, 4 mechanical wheels, 4 mechanical feet, the waist in the fuselage (as a separate connecting root) and the torso, upper limbs and head in the fuselage (the three are a whole). Among them, the joints of the quadrupedal-foot-wheel hybrid robot may include 2 hip joints, the telescopic joints corresponding to the 4 mechanical legs, the wheel joints of the 4 mechanical wheels, the ankle joints of the 4 mechanical feet, and 1 pitch joint and 1 lateral swing joint. Optionally, the robot's joint degrees of freedom are the degrees of freedom corresponding to the above 16 joints.

[0375] The floating base degrees of freedom refer to the six degrees of freedom of the robot's floating base coordinate system in the world coordinate system, namely, position px-py-pz and posture yaw-roll-pitch. The floating base coordinate system is constructed with the rotation center of the hip joint as the origin, and the coordinate axis direction of the floating base coordinate system in the initial state is the same as that of the world coordinate system. The number of contact points can refer to the number of contact points between the supporting mechanical leg and the supporting surface. For example, during the swinging process of the swinging mechanical leg group, the number of contact points is at least 4 (each supporting mechanical leg corresponds to at least 2 contact points).

[0376] The above-mentioned whole-body kinematics model may refer to a variation of the forward kinematics model of the robot, and the variation of the forward kinematics model is used to indicate the relationship between the acceleration of the robot in the operation space and the velocity and acceleration of the robot in the joint space of the robot.

[0377] Alternatively, from rigid body dynamics, a variant of the forward kinematics model can be expressed as follows:

[0378]

[0379] in, represents the acceleration of the robot in the operating space at the control time t, and They represent the velocity and acceleration of the robot in the joint space, that is, the generalized position vector and generalized velocity vector at each degree of freedom of the robot, J t and Represents the Jacobian matrix and the first-order derivative of the Jacobian matrix corresponding to the expected task t (i.e., task space).

[0380] Exemplarily, the process of acquiring the second desired torque set may include the following contents:

[0381] 1. Based on the whole-body dynamics model and the whole-body kinematics model, the dynamics equation to be solved is constructed, and the dynamics equation to be solved takes the acceleration of the robot in the joint space as the unknown variable.

[0382] For example, the whole body dynamics model and the whole body kinematics model are combined, and the dynamics equation to be solved after simplification can be expressed as follows:

[0383] in, is an unknown variable, and the rest are known variables.

[0384] The above is the process of constructing the dynamic equation to be solved, which is a preset step and only needs to be constructed once before the calculation process of the second expected torque set. The second expected torque set at each subsequent control moment can be obtained by applying the dynamic equation to be solved.

[0385] 2. Substitute the second expected task into the dynamic equation to be solved and calculate the second expected torque set.

[0386] Optionally, the robot is also subject to the physical limitations of the robot's body structure and the drive motor during movement. In order to improve the rationality and accuracy of the second desired torque set, the present application also sets constraints in the process of solving the second desired torque set. Exemplarily, the process of solving the dynamic equation to be solved can be as follows:

[0387] 1) Replace the acceleration of the robot in the operation space in the dynamic equation to be solved with the second desired task to obtain an intermediate dynamic equation.

[0388] Optionally, the above The acceleration of the robot in the operation space in the dynamic equation to be solved By substituting, we can obtain the intermediate kinetic equation.

[0389] 2) Construct the joint physical constraint expression and friction constraint expression of the robot. The joint physical constraint expression is used to constrain the various joints of the robot. The contact force between the robot and the supporting surface under the constraint of the friction constraint expression satisfies the friction cone constraint.

[0390] Optionally, according to the actual physical characteristics of the robot's drive motor, the joint torque τ in the unknown variable is limited, that is, the joint physical constraint expression can be: τ lb ≤τ≤τ ub ; where τ lb and τ ub Respectively represent the minimum and maximum values ​​of the joint motor torque.

[0391] Optionally, the contact force corresponding to the foot of the robot's mechanical leg should satisfy the friction cone constraint. In order to reduce nonlinearity, the friction cone can be approximated as a friction angle cone, and the friction constraint expression can be:

[0392]

[0393] Among them, n x 、n y and n z They represent the unit orthogonal basis along the contact surface in the world coordinate system, μ i represents the friction coefficient corresponding to the i-th contact force, f i represents the ith contact force, f z,lb and f z,ub Respectively represent the minimum and maximum values ​​of the non-negative positive pressure perpendicular to the contact surface. Wherein, each foot corresponds to a contact force, which may refer to the superposition force of the mechanical wheel and the mechanical foot; or, each foot may be divided into two contact forces, one contact force corresponding to the mechanical wheel and one contact force corresponding to the mechanical foot, which is not limited in the embodiments of the present application.

[0394] For example, refer to Figure 11 For supporting the mechanical leg, the supporting surface will give the mechanical wheel a reaction force f w (i.e. contact force), the friction cone constraint is satisfied on the mechanical wheel, so that the wheel does not slip and does not leave the ground; the support surface will also give a sufficient reaction force f f , the friction cone constraint is satisfied on the mechanical foot, so that the mechanical foot does not slip and does not leave the ground. The combination of the two is equivalent to superimposing the torque of the mechanical wheel and the torque of the mechanical foot on each other, which together help the body to maintain balance, so that the robot can stand more stably.

[0395] 3) For any control moment in each control moment, under the constraints of the joint physical constraint expression and the friction constraint expression of the robot, the second desired torque set is calculated based on the intermediate dynamics equation.

[0396] Alternatively, the intermediate kinetic equation can be rewritten in the form of AX = B;

[0397] in,

[0398] The essence of the solution process of AX=B is to find the solution of the linear equations. Here, the quadratic programming optimization method can be used to construct the objective function of the intermediate dynamics equation.

[0399] Alternatively, the objective function of the intermediate kinetic equation can be expressed as follows:

[0400] J = min (AX-B) T Q(AX-B)+X T RX;

[0401] Among them, Q and R represent weight matrices.

[0402] Under the constraints of the robot's joint physical constraint expression and friction constraint expression, the second desired torque set is obtained by minimizing the objective function as the optimization goal. For example, through the quadratic programming optimizer, under the constraints of the robot's joint physical constraint expression and friction constraint expression, the unknown variable X can be obtained, and the joint torque τ in the unknown variable X can be directly determined as the second desired torque set, which is recorded as

[0403] by Figure 2 Taking a quadruped foot-wheel hybrid robot as an example, the second desired torque set may include two hip joints (each hip joint corresponds to a mechanical leg group), the telescopic joints corresponding to the four mechanical legs, the wheel joints of the four mechanical wheels, the ankle joints of the four mechanical feet, and the second desired torques corresponding to one pitch joint and one roll joint, respectively.

[0404] Alternatively, if the robot model structure is relatively simple, the robot's whole-body dynamics model and whole-body kinematics model are also relatively simple, and the intermediate dynamics equation can be solved directly by using the matrix inversion method, that is, X = A -1 B, to obtain the second desired moment set.

[0405] Step 1506: Control the robot to move under the guidance of the first expected task and the second expected task according to the first expected torque set and the second expected torque set.

[0406] Optionally, in the embodiment of the present application, the first desired torque set and the second desired torque set act together on the robot to control the robot to move, such as determining a mixed desired torque set for ultimately controlling the robot in a complementary manner.

[0407] Exemplarily, step 1506 may also include the following content:

[0408] 1. Based on the first desired moment set and the second desired moment set, a mixed desired moment set is obtained by weighted summation.

[0409] Alternatively, the mixed desired moment set can be expressed as follows:

[0410]

[0411] Among them, α is the second desired moment set The weight coefficient of (1-α) is the first desired moment set For example, α can be taken as 80%, that is, The weight coefficient is 80%, The weighting factor is 20%.

[0412] 2. According to the mixed desired torque set, the robot is controlled to move under the guidance of the first desired task and the second desired task.

[0413] The mixed expected torque set includes the mixed expected torque of each joint of the robot at each control moment, and the mixed expected torque is used to control the rotation of the joint. At any control moment, only the joint motors corresponding to each joint need to be driven according to the mixed expected torque of each joint at the control moment, so as to realize the common following of the first expected task and the second expected task, that is, the robot can move under the guidance of the first expected task and the second expected task, follow each expected position corresponding to the first expected task, and follow each expected acceleration corresponding to the second expected task, so as to realize the control of the robot.

[0414] In some embodiments, the robot may also be controlled to move under the guidance of the second desired task based solely on the second desired torque set, which is not limited in this embodiment of the present application.

[0415] To sum up, the technical solution provided in the embodiment of the present application, by adopting the robot's whole-body dynamic model and whole-body kinematic model, can accurately obtain the second expected moment set corresponding to the second expected task according to the second expected task, and then can accurately implement the second expected task according to the second expected moment set, thereby improving the control accuracy of the robot.

[0416] In addition, by jointly applying the first expected task (i.e., the expected position) and the second expected task (i.e., the expected acceleration) to the robot, under the joint action of the expected acceleration and the expected position, not only can the joints of the robot have better dynamic performance, but also the tracking accuracy of the joint angles can be taken into account, thereby effectively improving the control stability and control accuracy of the robot.

[0417] In addition, under the constraints of the robot's joint physical constraint expressions and friction constraint expressions, the intermediate dynamic equations are solved to obtain a reasonable and accurate second desired task, thereby further improving the robot's control accuracy.

[0418] In addition, the inverted pendulum model is used to calculate the expected acceleration of the center of mass in the first direction (i.e., the forward direction), so that the center of mass of the robot can not only move continuously along the first direction, but also help the robot maintain dynamic balance, so that the robot can move stably and quickly, further improving the control stability and movement efficiency of the robot.

[0419] In some embodiments, reference Figure 17Taking the motion process of a quadrupedal hybrid robot as an example, the technical solution provided by the embodiment of the present application is described. The motion process may include a pre-motion cycle, multiple swing cycles and a final motion cycle. Among them, the pre-motion cycle, the swing cycle and the final motion cycle can all be realized as a step process.

[0420] In an embodiment of the present application, the above-mentioned first desired torque set or the second desired torque set or the mixed desired torque set can be used to control the robot to move in the pre-motion cycle, the swing cycle and the final motion cycle respectively, so as to achieve tasks such as gait walking, climbing stairs, crossing obstacles, and marking time.

[0421] In the pre-motion cycle: the robot 1701 in the initial state, supported by the second mechanical leg group 1703, swings the first mechanical leg group 1702 to enter the first state.

[0422] Among them, for the two swinging mechanical legs in the first mechanical leg group 1702, the hip joints are controlled to rotate according to the desired torque of the corresponding hip joints (such as the first desired torque or the second desired torque or the mixed desired torque) so that the two swinging mechanical legs can swing synchronously in the forward direction, and at the same time, the telescopic joints are controlled to contract according to the desired torque of the corresponding telescopic joints, and the two swinging mechanical legs are first shortened synchronously to avoid collision with the ground, and then the telescopic joints are controlled to extend according to the desired torque of the corresponding telescopic joints, and the two swinging mechanical legs are extended synchronously, so that the first mechanical leg group 1702 is in contact with the ground to take the first step.

[0423] In this process, the two supporting mechanical legs in the second mechanical leg group 1703 are controlled to keep standing by the desired torque of the hip joints corresponding to the second mechanical leg group 1703 .

[0424] For the fuselage, the pitch joint is controlled to rotate by the desired torque corresponding to the fuselage, so that the fuselage rotates clockwise first and then counterclockwise to match the swing of the first mechanical leg group 1702. At the same time, the side swing joint is controlled not to rotate by the desired torque corresponding to the fuselage.

[0425] For the mechanical foot, the desired torque of the ankle joint corresponding to the first mechanical leg group 1702 is used to control the auxiliary surface of the mechanical foot in the first mechanical leg group 1702 to always remain parallel to the support surface, and the desired torque of the ankle joint corresponding to the second mechanical leg group 1703 is used to control the auxiliary surface of the mechanical foot in the second mechanical leg group 1703 to be parallel to and in contact with the support surface, so that the robot 1701 can stand stably during movement.

[0426] The first swing cycle: the robot 1701 in the first state, with the first mechanical leg group 1702 as support, swings the second mechanical leg group 1703 to enter the second state; the robot 1701 in the second state controls the shortening of each mechanical leg in the first mechanical leg group 1702, and controls the lengthening of each mechanical leg in the second mechanical leg group 1703 to enter the third state, interchanges the functions of the first mechanical leg group 1702 and the second mechanical leg group 1703, and enters the first state.

[0427] Among them, for the two swinging mechanical legs in the second mechanical leg group 1703, the hip joints are controlled to rotate according to the desired torque of the corresponding hip joints, so that the two swinging mechanical legs swing synchronously in the forward direction, and at the same time, the telescopic joints are controlled to contract according to the desired torque of the corresponding telescopic joints, and the two swinging mechanical legs are first shortened synchronously to avoid collision with the ground, and then the telescopic joints are controlled to extend according to the desired torque of the corresponding telescopic joints, and the two swinging mechanical legs are extended synchronously, so that the second mechanical leg group 1703 is in contact with the ground to take the second step.

[0428] In the process of entering the second state from the first state, for the two supporting mechanical legs in the first mechanical leg group 1702, the two supporting mechanical legs in the first mechanical leg group 1702 are controlled to keep standing through the desired torque of the hip joints corresponding to the first mechanical leg group 1702.

[0429] For the fuselage, the pitch joint is controlled to rotate by the desired torque corresponding to the fuselage, so that the fuselage rotates clockwise first and then counterclockwise to cooperate with the swing of the second mechanical leg group 1703. At the same time, the side swing joint is controlled not to rotate by the desired torque corresponding to the fuselage.

[0430] For the mechanical foot, the desired torque of the ankle joint corresponding to the second mechanical leg group 1703 is used to control the auxiliary surface of the mechanical foot in the second mechanical leg group 1703 to always remain parallel to the support surface, and the desired torque of the ankle joint corresponding to the first mechanical leg group 1702 is used to control the auxiliary surface of the mechanical foot in the first mechanical leg group 1702 to be parallel to and in contact with the support surface, so that the robot 1701 can stand stably during movement.

[0431] In the process of entering the third state from the second state, the two supporting mechanical legs in the first mechanical leg group 1702 are controlled to be shortened through the desired torque of the telescopic joint corresponding to the first mechanical leg group 1702, and the respective mechanical legs in the second mechanical leg group 1703 are controlled to be shortened through the desired torque of the telescopic joint corresponding to the second mechanical leg group 1703, so that the fuselage is located directly above the first mechanical leg group 1702.

[0432] For the second and third swing cycles, the control method of the robot is the same as that for the first swing cycle, which will not be repeated here.

[0433] Ending motion cycle: The robot 1701 in the first state, supported by the second mechanical leg group 1703, swings the first mechanical leg group 1702 to overlap with the second mechanical leg group 1703, and enters the initial state. During this process, the body of the robot 1701 remains vertical.

[0434] Among them, for the two swinging mechanical legs in the first mechanical leg group 1702, the hip joints are controlled to rotate according to the desired torque of the corresponding hip joints, so that the two swinging mechanical legs swing synchronously in the forward direction, and at the same time, the telescopic joints are controlled to contract according to the desired torque of the corresponding telescopic joints, and the two swinging mechanical legs are first shortened synchronously to avoid collision with the ground, and then the telescopic joints are controlled to extend according to the desired torque of the corresponding telescopic joints, and the two swinging mechanical legs are extended synchronously, so that the first mechanical leg group 1702 swings to overlap with the second mechanical leg group 1703.

[0435] In this process, the two supporting mechanical legs in the second mechanical leg group 1703 are controlled to keep standing by the desired torque of the hip joints corresponding to the second mechanical leg group 1703 .

[0436] For the fuselage, the pitch joint is controlled not to rotate by the desired torque corresponding to the fuselage, so that the fuselage remains vertical. At the same time, the roll joint is controlled not to rotate by the desired torque corresponding to the fuselage.

[0437] For the mechanical foot, the desired torque of the ankle joint corresponding to the first mechanical leg group 1702 is used to control the auxiliary surface of the mechanical foot in the first mechanical leg group 1702 to always remain parallel to the support surface until the auxiliary surface of the mechanical foot in the first mechanical leg group 1702 is parallel to and in contact with the support surface (i.e., four-leg standing state), and the desired torque of the ankle joint corresponding to the second mechanical leg group 1703 is used to control the auxiliary surface of the mechanical foot in the second mechanical leg group 1703 to be parallel to and in contact with the support surface, so that the robot 1701 can stand stably during movement.

[0438] During the above movement process, the wheel joint corresponding to the mechanical wheel is controlled not to rotate through the desired torque corresponding to the mechanical wheel, so that the mechanical wheel does not rotate.

[0439] In some embodiments, reference Figure 18, which is the simulated flat-ground stepping action data of a quadrupedal foot-wheel hybrid robot provided by an embodiment of the present application. Among them, curve 1801 is the variation curve of the second expected torque command of the wheel joint of the mechanical wheel over time, and curve 1802 is the variation curve of the second expected torque command of the ankle joint of the mechanical foot over time. In addition to the peak of the first expected torque command coming from the preparatory action of stepping (i.e., the pre-motion cycle), the quadrupedal foot-wheel hybrid robot took a total of 3 steps forward in this process (i.e., three swing cycles). The situation of each step is relatively similar, and the approximate magnitude is: the wheel joint of the mechanical wheel can contribute a maximum torque of about 2.5Nm, and the ankle joint can contribute about 15-30Nm. From this point of view, the contribution of the mechanical wheel is relatively small, because the radius of the mechanical wheel is small. In addition, due to the need to meet the constraint that there is no relative sliding between the mechanical wheel and the ground, the contribution of the mechanical wheel would not be too large in the physical limit analysis, but the experimental data proves that the wheel-foot hybrid structure has a torque superposition effect, so that the robot can stand more stably.

[0440] In some embodiments, reference Figure 19 , which is the simulated flat-ground walking motion data of a quadrupedal foot-wheel hybrid robot provided by another embodiment of the present application. Among them, line graph 1901 is the data of the mixed expected torque command corresponding to the hip joint on the supporting mechanical leg changing with time, line graph 1902 is the data of the mixed expected torque command corresponding to the hip joint on the swinging mechanical leg changing with time, line graph 1903 is the data of the mixed expected torque command corresponding to the telescopic joint on the supporting mechanical leg changing with time, line graph 1904 is the data of the mixed expected torque command corresponding to the telescopic joint on the swinging mechanical leg changing with time, line graph 1905 is the data of the mixed expected torque command corresponding to the ankle joint on the supporting mechanical leg changing with time, line graph 1906 is the data of the mixed expected torque command corresponding to the ankle joint on the swinging mechanical leg changing with time, line graph 1907 is the data of the mixed expected torque command corresponding to the pitch joint changing with time, and line graph 1908 is the data of the mixed expected torque command corresponding to the side swing joint changing with time. Since the mixed expected torque command of the wheel joint of the mechanical wheel is relatively small, Figure 19 The data on the variation of the mixed desired force of the wheel joints over time are not shown.

[0441] For each line graph, the two curves in the line graph represent the first expected torque (corresponding to the expected position) and the second expected torque (corresponding to the expected acceleration). At about 5 seconds, the robot is in the preparatory action stage of taking a step (i.e., the pre-motion cycle). At this time, the second expected torque accounts for about 80% of the mixed expected torque corresponding to the joint, and the first expected torque accounts for about 20% of the mixed expected torque corresponding to the joint. The experimental data proves that the mixed expected torque has a torque complementary effect, which can not only make the robot's joints have better dynamic performance, but also ensure the robot's control accuracy.

[0442] To sum up, the technical solution provided in the embodiment of the present application, by jointly applying the first expected task (i.e., the expected position) and the second expected task (i.e., the expected acceleration) to the robot, under the joint action of the expected acceleration and the expected position, not only can the joints of the robot have better dynamic performance, but also the tracking accuracy of the joint angles can be taken into account, thereby effectively improving the control stability and control accuracy of the robot.

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

[0444] refer to Figure 20 , which shows a block diagram of a robot control device provided by an embodiment of the present application. The device has the function of implementing the above-mentioned robot control method, and the function can be implemented by hardware, or by hardware executing corresponding software. The device can be the computer device introduced above (such as a foot-wheel hybrid robot), or it can be placed in a computer device. Figure 20 As shown, the device 2000 includes: a desired task acquisition module 2001, a desired angle acquisition module 2002 and a robot control module 2003.

[0445] The expected task acquisition module 2001 is used to acquire a first expected task of the robot on a supporting surface, wherein the first expected task includes expected positions of various parts of the robot in the operating space of the robot, and the first expected task is used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to move in a first direction on the supporting surface, and during the movement of the robot, the mechanical foot is used to assist the mechanical wheel so that the robot stands on the supporting surface.

[0446] The expected angle acquisition module 2002 is used to acquire an expected angle set corresponding to the first expected task, wherein the expected angle set includes expected angles of joints corresponding to various parts of the robot for controlling the robot.

[0447] The robot control module 2003 is used to control the robot to move under the guidance of the first expected task according to the expected angle set.

[0448] In some embodiments, the robot stops moving after a plurality of control moments; Figure 21 As shown, the expected angle acquisition module 2002 includes: a kinematic model acquisition submodule 2002a, a kinematic equation construction submodule 2002b and an expected angle acquisition submodule 2002c.

[0449] The kinematic model acquisition submodule 2002a is used to acquire a first kinematic model and a second kinematic model based on the whole-body kinematic model of the robot, wherein the first kinematic model is used to indicate the relationship between the positions of various parts of the robot in the operating space and the angles of various joints of the robot in the joint space of the robot, and the second kinematic model is used to indicate the relationship between the speeds of various parts of the robot in the operating space and the angular velocities of various joints of the robot in the joint space.

[0450] The kinematic equation construction submodule 2002b is used to construct the kinematic equation to be solved based on the first kinematic model and the second kinematic model, wherein the kinematic equation to be solved uses the joint angles of each joint of the robot in the joint space as unknown variables.

[0451] The expected angle acquisition submodule 2002c is used to, for any control moment among the control moments, bring the first expected task of the robot at the control moment into the kinematic equation to be solved, and calculate the expected angle set corresponding to the robot at the control moment.

[0452] In some embodiments, the expected angle acquisition submodule 2002c is used to:

[0453] Replacing the positions of various parts of the robot in the operation space in the kinematic equation to be solved with the first desired task of the robot at the control time, to obtain an intermediate kinematic equation;

[0454] Constructing a joint physical constraint expression of the robot, wherein the joint physical constraint expression is used to constrain each joint of the robot;

[0455] Under the constraints of the joint physical constraint expressions, based on the intermediate kinematic equations, the desired angle set corresponding to the robot at the control moment is calculated.

[0456] In some embodiments, the expected angle acquisition submodule 2002c is further used to:

[0457] Using a quadratic programming optimization method to construct an objective function of the intermediate dynamics equation;

[0458] Under the constraints of the joint physical constraint expression, the desired angle set corresponding to the robot at the control moment is calculated with minimization of the objective function as the optimization goal.

[0459] In some embodiments, the robot stops moving after a plurality of control moments, during the movement of the robot, the mechanical legs used for swinging are swinging mechanical legs, and the mechanical legs used for standing are supporting mechanical legs, and the first expected task includes an expected position corresponding to a swinging mechanical wheel on the swinging mechanical leg, an expected position corresponding to a swinging mechanical foot on the swinging mechanical leg, an expected position corresponding to a supporting mechanical wheel on the supporting mechanical leg, an expected position corresponding to a supporting mechanical foot on the supporting mechanical leg, and an expected position corresponding to the body;

[0460] like Figure 21 As shown, the desired angle acquisition module 2002 further includes: a first angle acquisition submodule 2002d, a second angle acquisition submodule 2002e, a third angle acquisition submodule 2002f and a fourth angle acquisition submodule 2002g.

[0461] The first angle acquisition submodule 2002d is used to obtain, for each of the control moments, the expected angle corresponding to each hip joint at the control moment, and the expected angle corresponding to each telescopic joint of the mechanical leg at the control moment based on the expected position of the body at the control moment, the expected position of the supporting mechanical wheel at the control moment, and the expected position of the swinging mechanical wheel at the control moment.

[0462] The second angle acquisition submodule 2002e is used to acquire the expected angle corresponding to each ankle joint of the mechanical foot at the control moment based on the expected angle corresponding to each hip joint at the control moment, or the expected position corresponding to the body at the control moment, as well as the expected position corresponding to the supporting mechanical wheel at the control moment and the expected position corresponding to the swinging mechanical wheel at the control moment.

[0463] The third angle acquisition submodule 2002f is used to set the expected angle corresponding to the wheel joint of each of the mechanical wheels at the control moment to zero.

[0464] The fourth angle acquisition submodule 2002g is used to set the expected angles corresponding to the pitch joint and the roll joint of the fuselage at the control moment to zero.

[0465] The expected angle acquisition submodule 2002c is also used to obtain the expected angle set corresponding to the robot at the control moment based on the expected angle corresponding to each hip joint at the control moment, the expected angle corresponding to each extension joint at the control moment, the expected angle corresponding to each ankle joint at the control moment, the expected angle corresponding to each wheel joint at the control moment, the expected angle corresponding to the pitch joint at the control moment and the expected angle corresponding to the side swing joint at the control moment.

[0466] In some embodiments, the first angle acquisition submodule 2002d is used to:

[0467] Determine a first relative expected position between the fuselage and the supporting mechanical wheel based on the expected position of the fuselage at the control time and the expected position of the supporting mechanical wheel at the control time, and determine a second relative expected position between the fuselage and the swinging mechanical wheel based on the expected position of the fuselage at the control time and the expected position of the swinging mechanical wheel at the control time;

[0468] Determine the desired angle of the hip joint on the supporting mechanical leg where the supporting mechanical wheel is located based on the first relative desired position, and determine the desired angle of the hip joint on the swinging mechanical leg where the swinging mechanical wheel is located based on the second relative desired position;

[0469] Based on the first relative expected position, determining the expected length corresponding to the supporting mechanical leg where the supporting mechanical wheel is located, and based on the second relative expected position, determining the expected length corresponding to the swinging mechanical leg where the swinging mechanical wheel is located;

[0470] Based on the expected length corresponding to the supporting mechanical leg, the expected angle of the telescopic joint corresponding to the supporting mechanical leg is determined, and based on the expected length corresponding to the swinging mechanical leg, the expected angle of the telescopic joint corresponding to the swinging mechanical leg is determined.

[0471] In some embodiments, the first relative expected position includes the relative expected position of the supporting mechanical wheel and the fuselage in the first direction, and the relative expected position of the supporting mechanical wheel and the fuselage in a second direction, the second direction is perpendicular to the first direction, and the second relative expected position includes the relative expected position of the swinging mechanical wheel and the fuselage in the first direction, and the relative expected position of the swinging mechanical wheel and the fuselage in the second direction; the first angle acquisition submodule 2002d is further used to:

[0472] Determine the expected relative position of the supporting mechanical wheel and the body in the first direction and the arc tangent of the expected relative position in the second direction as the expected angle of the hip joint on the supporting mechanical leg;

[0473] The desired relative position of the swinging mechanical wheel and the body in the first direction and the arc tangent of the desired relative position in the second direction are determined as the desired angle of the hip joint on the swinging mechanical leg.

[0474] In some embodiments, the first angle acquisition submodule 2002d is further used for:

[0475] Determine the norm of the relative expected position of the supporting mechanical wheel and the fuselage in the first direction and the relative expected position in the second direction as the expected length corresponding to the supporting mechanical leg;

[0476] The norm of the relative expected position of the swinging mechanical wheel and the body in the first direction and the relative expected position in the second direction is determined as the expected length corresponding to the swinging mechanical leg.

[0477] In some embodiments, the second angle acquisition submodule 2002e is further used for:

[0478] For each of the hip joints, the negative number of the expected angle corresponding to the hip joint at the control time is determined as the expected angle corresponding to the ankle joint on the mechanical leg where the hip joint is located at the control time;

[0479] Alternatively, based on the expected position of the supporting mechanical wheel at the control moment and the expected position of the supporting mechanical foot at the control moment, the third relative expected position between the supporting mechanical wheel and the supporting mechanical foot is determined, and based on the expected position of the swinging mechanical wheel at the control moment and the expected position of the swinging mechanical foot at the control moment, the fourth relative expected position between the swinging mechanical wheel and the swinging mechanical foot is determined; based on the third relative expected position, the expected angle of the ankle joint on the supporting mechanical leg where the supporting mechanical foot is located is determined, and based on the fourth relative expected position, the expected angle of the ankle joint on the swinging mechanical leg where the swinging mechanical foot is located is determined.

[0480] In some embodiments, the robot stops moving after a plurality of control moments, and during the movement of the robot, the mechanical legs used for swinging are the swinging mechanical legs, and the mechanical legs used for standing are the supporting mechanical legs; the expected task acquisition module 2001 is further used to:

[0481] For any control moment among the control moments, for the supporting mechanical wheels on the supporting mechanical legs, obtaining the expected position of the supporting mechanical wheels corresponding to the control moment according to the supporting surface planning;

[0482] For the swinging mechanical wheel on the swinging mechanical leg, the expected position of the swinging mechanical wheel corresponding to the control time is planned according to the support surface and the expected position of the supporting mechanical wheel corresponding to the control time;

[0483] For the center of mass of the robot, the expected position of the center of mass corresponding to the control time is planned according to the expected positions of the support surface and the supporting mechanical wheel at the control time;

[0484] Determine the expected position of the fuselage at the control time based on the expected position of the center of mass at the control time, the actual position of the center of mass at the control time, and the actual position of the fuselage at the control time;

[0485] Determining the expected position of the supporting mechanical foot corresponding to the control moment based on the expected position of the supporting mechanical wheel at the control moment and the size of the supporting mechanical foot corresponding to the supporting mechanical wheel;

[0486] Determining the expected position of the swinging mechanical foot at the control time based on the expected position of the swinging mechanical wheel at the control time and the size of the swinging mechanical foot corresponding to the swinging mechanical wheel;

[0487] Based on the expected position of the supporting mechanical wheel at the control moment, the expected position of the swinging mechanical wheel at the control moment, the expected position of the body at the control moment, the expected position of the supporting mechanical foot at the control moment and the expected position of the swinging mechanical foot at the control moment, the first expected task corresponding to the robot at the control moment is obtained.

[0488] In some embodiments, Figure 21 As shown, the robot control module 2003 further includes: a first torque acquisition submodule 2003a and a robot control submodule 2003b.

[0489] The first torque acquisition submodule 2003a is used to adopt a proportional differential PD feedback controller to calculate the first expected torque set corresponding to the expected angle set according to the expected angle set, the actual angle set corresponding to each joint, and the actual angular velocity set corresponding to each joint, wherein the first expected torque set includes the first expected torque for controlling each joint.

[0490] The robot control submodule 2003b is used to control the robot to move under the guidance of the first expected task according to the first expected torque set.

[0491] In some embodiments, the robot control submodule 2003b is further used to:

[0492] Acquire a second expected task of the robot on the support surface, wherein the second expected task includes expected accelerations of various parts of the robot in the operation space of the robot and expected accelerations of the center of mass of the robot in the operation space, and the second expected task is used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to move in the first direction on the support surface, and during the movement of the robot, the mechanical foot is used to assist the mechanical wheel so that the robot stands on the support surface;

[0493] According to the second expected task, and the whole-body dynamics model and the whole-body kinematics model of the robot, obtaining a second expected torque set corresponding to the second expected task, wherein the second expected torque set includes second expected torques for controlling each of the joints;

[0494] According to the first expected torque set and the second expected torque set, the robot is controlled to move under the guidance of the first expected task and the second expected task.

[0495] In some embodiments, the robot control submodule 2003b is further used to:

[0496] Based on the first desired moment set and the second desired moment set, a mixed desired moment set is obtained by weighted summation;

[0497] According to the mixed desired torque set, the robot is controlled to move under the guidance of the first desired task and the second desired task.

[0498] In some embodiments, the second expected task includes the expected acceleration of each of the mechanical feet in the operating space, and the robot stops moving after a plurality of control moments; the robot control submodule 2003b is further used to:

[0499] For each of the control moments, according to the foot reference movement trajectory corresponding to the mechanical foot, a reference position, a reference speed and a reference acceleration of the mechanical foot at the control moment are obtained, wherein the foot reference movement trajectory is obtained by planning according to the movement trajectory of the support surface to the mechanical foot;

[0500] The PD feedback controller is used to calculate the expected acceleration of the foot at the control moment based on the reference position, reference speed and reference acceleration of the mechanical foot at the control moment, as well as the actual position and actual speed of the mechanical foot at the control moment.

[0501] In some embodiments, the second expected task also includes an expected acceleration of the angular momentum of the center of mass of the robot in the operating space, the expected acceleration of the angular momentum is used to guide the body to rotate, and the robot stops moving after a plurality of control moments; the robot control submodule 2003b is further used to:

[0502] For each of the control moments, according to the reference angular momentum change trajectory corresponding to the center of mass, a reference angular momentum, a reference angular momentum velocity and a reference angular momentum acceleration of the center of mass at the control moment are obtained, wherein the reference angular momentum change trajectory is obtained by planning according to the angular momentum of the support surface with respect to the center of mass;

[0503] The PD feedback controller is used to calculate the expected acceleration of the angular momentum at the control moment based on the reference angular momentum, reference angular momentum velocity and reference angular momentum acceleration of the center of mass at the control moment, as well as the actual angular momentum and actual angular momentum velocity of the center of mass at the control moment.

[0504] In some embodiments, the mechanical legs corresponding to the first mechanical leg group move synchronously, the mechanical legs corresponding to the second mechanical leg group move synchronously, the mechanical feet corresponding to the first mechanical leg group move synchronously, and the mechanical feet corresponding to the second mechanical leg group move synchronously.

[0505] To summarize, the technical solution provided in the embodiments of the present application is for a robot having a first mechanical leg group and a second mechanical leg group, and having mechanical legs with a pair of coaxial mechanical wheels and mechanical feet at the feet. The expected angles of each joint of the robot are calculated through the expected positions of various parts of the robot, and then each joint is directly controlled through the expected angles to make the robot move on the supporting surface, thereby achieving effective following of the joints with the expected angles, avoiding the problem of poor force control transparency in related technologies, and thereby effectively improving the control accuracy of the robot's joints.

[0506] In addition, in the process of controlling the movement of the robot by alternatingly swinging the first mechanical leg group and the second mechanical leg group, the mechanical feet of the feet assist the mechanical wheels to keep the robot standing on the support surface, so that the feet can keep the robot standing with no less than two contact points (such as the contact points between the mechanical feet and the mechanical wheels and the support surface respectively). This allows the robot to stand on the support surface more stably and is less likely to fall, thereby effectively improving the robot's movement stability.

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

[0508] Please refer to Figure 22 , which shows a simplified structural block diagram of a computer device 2200 provided in one embodiment of the present application. The computer device 2200 can be any electronic device with data calculation, processing and storage functions. The computer device 2200 can be used to implement the robot control method provided in the above embodiment.

[0509] Typically, the computer device 2200 includes a processor 2201 and a memory 2202 .

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

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

[0512] Those skilled in the art will understand that Figure 22 The structure shown in the figure does not constitute a limitation on the computer device 2200, and the computer device 2200 may include more or fewer components than shown in the figure, or combine some components, or adopt a different component arrangement.

[0513] In some embodiments, a chip is also provided, in which a computer program is stored, and the computer program is loaded and executed by a processor to implement the above-mentioned robot control method.

[0514] In some embodiments, a computer-readable storage medium is also provided, in which a computer program is stored. When the computer program is executed by a processor of a computer device, the control method of the robot is implemented.

[0515] Optionally, the computer readable storage medium may include: ROM (Read-Only Memory), RAM (Random-Access Memory), SSD (Solid State Drives) or optical disks, etc. Among them, the random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).

[0516] In some embodiments, a computer program product is further provided, the computer program product comprising a computer program, the computer program being stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the above-mentioned robot control method.

[0517] It should be noted that, before collecting the relevant data of the user and during the process of collecting the relevant data of the user, the embodiment of the present application can display a prompt interface, a pop-up window or output a voice prompt information, and the prompt interface, pop-up window or voice prompt information is used to prompt the user that the relevant data is currently being collected, so that the present application only starts to execute the relevant steps of obtaining the relevant data of the user after obtaining the confirmation operation issued by the user to the prompt interface or pop-up window, otherwise (that is, when the confirmation operation issued by the user to the prompt interface or pop-up window is not obtained), the relevant steps of obtaining the relevant data of the user are terminated, that is, the relevant data of the user is not obtained. In other words, all user data collected by this application are processed strictly in accordance with the requirements of the laws and regulations of relevant countries, and the informed consent or separate consent of the subject of personal information is obtained with the consent and authorization of the user. The subsequent data use and processing behavior is carried out within the scope of authorization of laws and regulations and the subject of personal information, and the collection, use and processing of relevant user data need to comply with the relevant laws, regulations and standards of relevant countries and regions. For example, the actual location, real environment, robot, etc. involved in this application are all obtained with full authorization.

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

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

Claims

1. A robot control method, characterized in that: The robot comprises a body, a first mechanical leg group and a second mechanical leg group connected to the body via a hip joint, at least one of the first mechanical leg group and the second mechanical leg group comprises at least two mechanical legs, a foot of at least one of the mechanical legs away from the hip joint is provided with a pair of coaxial mechanical wheels and a mechanical foot, and a rotation axis of the hip joint corresponding to the first mechanical leg group and a rotation axis of the hip joint corresponding to the second mechanical leg group are located in the same vertical plane; the method comprises: Acquire a first expected task of the robot on a support surface, wherein the first expected task includes expected positions of various parts of the robot in the operation space of the robot, and the first expected task is used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to move in a first direction on the support surface, and during the movement of the robot, the mechanical foot is used to assist the mechanical wheel so that the robot stands on the support surface; Acquire an expected angle set corresponding to the first expected task, wherein the expected angle set includes expected angles of joints corresponding to various parts of the robot for controlling the robot; According to the desired angle set, controlling the robot to move under the guidance of the first desired task; The robot stops moving after a plurality of control moments; and obtaining the expected angle set corresponding to the first expected task includes: For any control moment among the control moments, the first expected task of the robot at the control moment is brought into the kinematic equation to be solved, and the expected angle set corresponding to the robot at the control moment is calculated, wherein the kinematic equation to be solved includes the relationship between the position and velocity of each part of the robot in the operation space and the angle of each joint of the robot in the joint space of the robot; or, For each of the control moments, based on the expected position of the body at the control moment in the first expected task, as well as the expected positions of the supporting mechanical wheels and the swinging mechanical wheels at the control moment, the expected angles of the hip joints and the expected angles of the telescopic joints of the mechanical legs are obtained; based on the expected angles of the hip joints or the expected position of the body at the control moment, as well as the expected positions of the supporting mechanical wheels and the swinging mechanical wheels at the control moment, the ankle joints of the mechanical feet are obtained. The expected angle corresponding to the joint at the control moment; the expected angle corresponding to the wheel joint of each of the mechanical wheels at the control moment is set to zero; the expected angles corresponding to the pitch joints and the roll joints of the fuselage at the control moment are set to zero; based on the expected angle corresponding to each hip joint at the control moment, the expected angle corresponding to each telescopic joint at the control moment, the expected angle corresponding to each ankle joint at the control moment, the expected angle corresponding to each wheel joint at the control moment, the expected angle corresponding to the pitch joint at the control moment and the expected angle corresponding to the roll joint at the control moment, the expected angle set corresponding to the robot at the control moment is obtained.

2. The method according to claim 1, characterized in that Before obtaining the expected angle set corresponding to the first expected task, the method further includes: Based on the whole-body kinematic model of the robot, a first kinematic model and a second kinematic model are obtained, wherein the first kinematic model is used to indicate the relationship between the position of each part of the robot in the operation space and the angle of each joint of the robot in the joint space of the robot, and the second kinematic model is used to indicate the relationship between the speed of each part of the robot in the operation space and the angular velocity of each joint of the robot in the joint space; Based on the first kinematic model and the second kinematic model, a kinematic equation to be solved is constructed, wherein the kinematic equation to be solved uses the joint angles of each joint of the robot in the joint space as unknown variables.

3. The method according to claim 1, characterized in that Substituting the first expected task of the robot at the control time into the kinematic equation to be solved, and calculating the expected angle set corresponding to the robot at the control time, comprises: Replacing the positions of the various parts of the robot in the operation space in the kinematic equation to be solved with the first desired task of the robot at the control time, to obtain an intermediate kinematic equation; Constructing a joint physical constraint expression of the robot, wherein the joint physical constraint expression is used to constrain each joint of the robot; Under the constraints of the joint physical constraint expressions, based on the intermediate kinematic equations, the desired angle set corresponding to the robot at the control moment is calculated.

4. The method according to claim 3, characterized in that The step of calculating the desired angle set corresponding to the robot at the control time based on the intermediate kinematic equation under the constraint of the joint physical constraint expression includes: The objective function of the intermediate dynamics equation is constructed using the quadratic programming optimization method; Under the constraints of the joint physical constraint expression, the desired angle set corresponding to the robot at the control moment is calculated with minimization of the objective function as the optimization goal.

5. The method according to claim 1, characterized in that The method of obtaining the expected angles of each hip joint at the control time and the expected angles of each telescopic joint of each mechanical leg at the control time based on the expected position of the body at the control time in the first expected task, the expected position of the supporting mechanical wheel at the control time, and the expected position of the swinging mechanical wheel at the control time includes: Determine a first relative expected position between the fuselage and the supporting mechanical wheel based on the expected position of the fuselage at the control time and the expected position of the supporting mechanical wheel at the control time, and determine a second relative expected position between the fuselage and the swinging mechanical wheel based on the expected position of the fuselage at the control time and the expected position of the swinging mechanical wheel at the control time; Determine the desired angle of the hip joint on the supporting mechanical leg where the supporting mechanical wheel is located based on the first relative desired position, and determine the desired angle of the hip joint on the swinging mechanical leg where the swinging mechanical wheel is located based on the second relative desired position; Based on the first relative expected position, determining the expected length corresponding to the supporting mechanical leg where the supporting mechanical wheel is located, and based on the second relative expected position, determining the expected length corresponding to the swinging mechanical leg where the swinging mechanical wheel is located; Based on the expected length corresponding to the supporting mechanical leg, the expected angle of the telescopic joint corresponding to the supporting mechanical leg is determined, and based on the expected length corresponding to the swinging mechanical leg, the expected angle of the telescopic joint corresponding to the swinging mechanical leg is determined.

6. The method according to claim 5, characterized in that The first relative expected position includes the relative expected position of the supporting mechanical wheel and the fuselage in the first direction, and the relative expected position of the supporting mechanical wheel and the fuselage in a second direction, the second direction being perpendicular to the first direction, and the second relative expected position includes the relative expected position of the swinging mechanical wheel and the fuselage in the first direction, and the relative expected position of the swinging mechanical wheel and the fuselage in the second direction; The step of determining the desired angle of the hip joint on the supporting mechanical leg where the supporting mechanical wheel is located based on the first relative desired position, and determining the desired angle of the hip joint on the swinging mechanical leg where the swinging mechanical wheel is located based on the second relative desired position, comprises: Determine the expected relative position of the supporting mechanical wheel and the body in the first direction and the arc tangent of the expected relative position in the second direction as the expected angle of the hip joint on the supporting mechanical leg; The relative expected position of the swinging mechanical wheel and the body in the first direction and the arc tangent of the relative expected position in the second direction are determined as the expected angle of the hip joint on the swinging mechanical leg.

7. The method according to claim 6, characterized in that The step of determining the expected length of the supporting mechanical leg where the supporting mechanical wheel is located based on the first relative expected position, and determining the expected length of the swinging mechanical leg where the swinging mechanical wheel is located based on the second relative expected position, comprises: Determine the norm of the relative expected position of the supporting mechanical wheel and the fuselage in the first direction and the relative expected position in the second direction as the expected length corresponding to the supporting mechanical leg; The norm of the relative expected position of the swinging mechanical wheel and the body in the first direction and the relative expected position in the second direction is determined as the expected length corresponding to the swinging mechanical leg.

8. The method according to claim 1, characterized in that The obtaining of the expected angles of the ankle joints of the mechanical feet at the control time based on the expected angles of the hip joints at the control time, or the expected positions of the body at the control time, and the expected positions of the supporting mechanical wheels and the swinging mechanical wheels at the control time, comprises: For each of the hip joints, the negative number of the expected angle corresponding to the hip joint at the control time is determined as the expected angle corresponding to the ankle joint on the mechanical leg where the hip joint is located at the control time; or, Based on the expected position of the supporting mechanical wheel at the control moment and the expected position of the supporting mechanical foot at the control moment, the third relative expected position between the supporting mechanical wheel and the supporting mechanical foot is determined, and based on the expected position of the swinging mechanical wheel at the control moment and the expected position of the swinging mechanical foot at the control moment, the fourth relative expected position between the swinging mechanical wheel and the swinging mechanical foot is determined; based on the third relative expected position, the expected angle of the ankle joint on the supporting mechanical leg where the supporting mechanical foot is located is determined, and based on the fourth relative expected position, the expected angle of the ankle joint on the swinging mechanical leg where the swinging mechanical foot is located is determined.

9. The method according to any one of claims 1 to 8, characterized in that: During the movement of the robot, the mechanical legs used for swinging are called swinging mechanical legs, and the mechanical legs used for standing are called supporting mechanical legs; The obtaining of a first desired task of the robot on the supporting surface comprises: For any control moment among the control moments, for the supporting mechanical wheels on the supporting mechanical legs, obtaining the expected position of the supporting mechanical wheels corresponding to the control moment according to the supporting surface planning; For the swinging mechanical wheel on the swinging mechanical leg, the expected position of the swinging mechanical wheel corresponding to the control time is planned according to the support surface and the expected position of the supporting mechanical wheel corresponding to the control time; For the center of mass of the robot, the expected position of the center of mass corresponding to the control time is planned according to the expected positions of the support surface and the supporting mechanical wheel at the control time; Determine the expected position of the fuselage at the control time based on the expected position of the center of mass at the control time, the actual position of the center of mass at the control time, and the actual position of the fuselage at the control time; Determining the expected position of the supporting mechanical foot corresponding to the control moment based on the expected position of the supporting mechanical wheel at the control moment and the size of the supporting mechanical foot corresponding to the supporting mechanical wheel; Determining the expected position of the swinging mechanical foot at the control time based on the expected position of the swinging mechanical wheel at the control time and the size of the swinging mechanical foot corresponding to the swinging mechanical wheel; Based on the expected position of the supporting mechanical wheel at the control moment, the expected position of the swinging mechanical wheel at the control moment, the expected position of the body at the control moment, the expected position of the supporting mechanical foot at the control moment and the expected position of the swinging mechanical foot at the control moment, the first expected task corresponding to the robot at the control moment is obtained.

10. The method according to any one of claims 1 to 8, characterized in that: The controlling the robot to move under the guidance of the first expected task according to the expected angle set comprises: A proportional differential (PD) feedback controller is used to calculate a first desired torque set corresponding to the desired angle set according to the desired angle set, the actual angle set corresponding to each joint, and the actual angular velocity set corresponding to each joint, wherein the first desired torque set includes a first desired torque for controlling each joint; According to the first desired torque set, the robot is controlled to move under the guidance of the first desired task.

11. The method according to claim 10, characterized in that The controlling the robot to move under the guidance of the first expected task according to the first expected torque set includes: Acquire a second expected task of the robot on the support surface, wherein the second expected task includes expected accelerations of various parts of the robot in the operation space of the robot and expected accelerations of the center of mass of the robot in the operation space, and the second expected task is used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to move in the first direction on the support surface, and during the movement of the robot, the mechanical foot is used to assist the mechanical wheel so that the robot stands on the support surface; According to the second expected task, and the whole-body dynamics model and the whole-body kinematics model of the robot, obtaining a second expected torque set corresponding to the second expected task, wherein the second expected torque set includes second expected torques for controlling each of the joints; According to the first expected torque set and the second expected torque set, the robot is controlled to move under the guidance of the first expected task and the second expected task.

12. The method according to claim 11, characterized in that The controlling the robot to move under the guidance of the first expected task and the second expected task according to the first expected torque set and the second expected torque set comprises: Based on the first desired moment set and the second desired moment set, a mixed desired moment set is obtained by weighted summation; According to the mixed desired torque set, the robot is controlled to move under the guidance of the first desired task and the second desired task.

13. The method according to claim 11, characterized in that The second expected task includes an expected acceleration of each mechanical foot in the operating space; the method further includes: For each of the control moments, according to the foot reference movement trajectory corresponding to the mechanical foot, a reference position, a reference speed and a reference acceleration of the mechanical foot at the control moment are obtained, wherein the foot reference movement trajectory is obtained by planning according to the movement trajectory of the support surface to the mechanical foot; The PD feedback controller is used to calculate the expected acceleration of the foot at the control moment based on the reference position, reference speed and reference acceleration of the mechanical foot at the control moment, as well as the actual position and actual speed of the mechanical foot at the control moment.

14. The method according to claim 11, characterized in that The second expected task also includes an expected acceleration of the angular momentum of the center of mass of the robot in the operation space, and the expected acceleration of the angular momentum is used to guide the body to rotate; the method also includes: For each of the control moments, according to the reference angular momentum change trajectory corresponding to the center of mass, a reference angular momentum, a reference angular momentum velocity and a reference angular momentum acceleration of the center of mass at the control moment are obtained, wherein the reference angular momentum change trajectory is obtained by planning according to the angular momentum of the support surface with respect to the center of mass; The PD feedback controller is used to calculate the expected acceleration of the angular momentum at the control moment based on the reference angular momentum, reference angular momentum velocity and reference angular momentum acceleration of the center of mass at the control moment, as well as the actual angular momentum and actual angular momentum velocity of the center of mass at the control moment.

15. The method according to any one of claims 1 to 8, characterized in that: The mechanical legs corresponding to the first mechanical leg group move synchronously, the mechanical legs corresponding to the second mechanical leg group move synchronously, the mechanical feet corresponding to the first mechanical leg group move synchronously, and the mechanical feet corresponding to the second mechanical leg group move synchronously.

16. A robot control device, characterized in that: The robot comprises a body, a first mechanical leg group and a second mechanical leg group connected to the body via a hip joint, at least one of the first mechanical leg group and the second mechanical leg group comprises at least two mechanical legs, a foot of at least one of the mechanical legs away from the hip joint is provided with a pair of coaxial mechanical wheels and mechanical feet, and a rotation axis of the hip joint corresponding to the first mechanical leg group and a rotation axis of the hip joint corresponding to the second mechanical leg group are located in the same vertical plane; the device comprises: an expected task acquisition module, used to acquire a first expected task of the robot on a support surface, wherein the first expected task includes expected positions of various parts of the robot in the operation space of the robot, and the first expected task is used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to move in a first direction on the support surface, and during the movement of the robot, the mechanical foot is used to assist the mechanical wheel so that the robot stands on the support surface; An expected angle acquisition module, used to acquire an expected angle set corresponding to the first expected task, wherein the expected angle set includes expected angles of joints corresponding to various parts of the robot for controlling the robot; a robot control module, configured to control the robot to move under the guidance of the first desired task according to the desired angle set; wherein the robot stops moving after a plurality of control moments; the desired angle acquisition module includes a desired angle acquisition submodule; The expected angle acquisition submodule is used for, for any control moment among the control moments, bringing the first expected task of the robot at the control moment into the kinematic equation to be solved, and calculating the expected angle set corresponding to the robot at the control moment, wherein the kinematic equation to be solved includes the relationship between the position and velocity of each part of the robot in the operation space and the angle of each joint of the robot in the joint space of the robot; The desired angle acquisition module also includes a first angle acquisition submodule, a second angle acquisition submodule, a third angle acquisition submodule and a fourth angle acquisition submodule; The first angle acquisition submodule is used to acquire, for each of the control moments, the expected angle corresponding to each of the hip joints at the control moment, and the expected angle corresponding to each of the telescopic joints of the mechanical legs at the control moment based on the expected position corresponding to the fuselage at the control moment in the first expected task, the expected position corresponding to the supporting mechanical wheel at the control moment, and the expected position corresponding to the swing mechanical wheel at the control moment; The second angle acquisition submodule is used to acquire the expected angle corresponding to each ankle joint of the mechanical foot at the control time based on the expected angle corresponding to each hip joint at the control time, or the expected position corresponding to the body at the control time, and the expected position corresponding to the supporting mechanical wheel at the control time and the expected position corresponding to the swinging mechanical wheel at the control time; The third angle acquisition submodule is used to set the expected angle corresponding to the wheel joint of each of the mechanical wheels at the control time to zero; The fourth angle acquisition submodule is used to set the expected angles corresponding to the pitch joint and the roll joint of the fuselage at the control time to zero; The expected angle acquisition submodule is also used to obtain the expected angle set corresponding to the robot at the control moment based on the expected angle corresponding to each hip joint at the control moment, the expected angle corresponding to each extension joint at the control moment, the expected angle corresponding to each ankle joint at the control moment, the expected angle corresponding to each wheel joint at the control moment, the expected angle corresponding to the pitch joint at the control moment and the expected angle corresponding to the side swing joint at the control moment.

17. The device according to claim 16, characterized in that The desired angle acquisition module further includes: a kinematic model acquisition submodule and a kinematic equation construction submodule; The kinematic model acquisition submodule is used to acquire a first kinematic model and a second kinematic model based on a whole-body kinematic model of the robot, wherein the first kinematic model is used to indicate the relationship between the position of each part of the robot in the operation space and the angle of each joint of the robot in the joint space of the robot, and the second kinematic model is used to indicate the relationship between the speed of each part of the robot in the operation space and the angular speed of each joint of the robot in the joint space; The kinematic equation construction submodule is used to construct a kinematic equation to be solved based on the first kinematic model and the second kinematic model, wherein the kinematic equation to be solved uses the joint angles of each joint of the robot in the joint space as unknown variables.

18. The device according to claim 16, characterized in that The desired angle acquisition submodule is used to: Replacing the positions of the various parts of the robot in the operation space in the kinematic equation to be solved with the first desired task of the robot at the control time, to obtain an intermediate kinematic equation; Constructing a joint physical constraint expression of the robot, wherein the joint physical constraint expression is used to constrain each joint of the robot; Under the constraints of the joint physical constraint expressions, based on the intermediate kinematic equations, the desired angle set corresponding to the robot at the control moment is calculated.

19. The device according to claim 18, characterized in that The desired angle acquisition submodule is also used for: The objective function of the intermediate dynamics equation is constructed using the quadratic programming optimization method; Under the constraints of the joint physical constraint expression, the desired angle set corresponding to the robot at the control moment is calculated with minimization of the objective function as the optimization goal.

20. The device according to claim 16, characterized in that The first angle acquisition submodule is used to: Determine a first relative expected position between the fuselage and the supporting mechanical wheel based on the expected position of the fuselage at the control time and the expected position of the supporting mechanical wheel at the control time, and determine a second relative expected position between the fuselage and the swinging mechanical wheel based on the expected position of the fuselage at the control time and the expected position of the swinging mechanical wheel at the control time; Determine the desired angle of the hip joint on the supporting mechanical leg where the supporting mechanical wheel is located based on the first relative desired position, and determine the desired angle of the hip joint on the swinging mechanical leg where the swinging mechanical wheel is located based on the second relative desired position; Based on the first relative expected position, determining the expected length corresponding to the supporting mechanical leg where the supporting mechanical wheel is located, and based on the second relative expected position, determining the expected length corresponding to the swinging mechanical leg where the swinging mechanical wheel is located; Based on the expected length corresponding to the supporting mechanical leg, the expected angle of the telescopic joint corresponding to the supporting mechanical leg is determined, and based on the expected length corresponding to the swinging mechanical leg, the expected angle of the telescopic joint corresponding to the swinging mechanical leg is determined.

21. The device according to claim 20, characterized in that The first relative expected position includes the relative expected position of the supporting mechanical wheel and the fuselage in the first direction, and the relative expected position of the supporting mechanical wheel and the fuselage in a second direction, the second direction being perpendicular to the first direction, and the second relative expected position includes the relative expected position of the swinging mechanical wheel and the fuselage in the first direction, and the relative expected position of the swinging mechanical wheel and the fuselage in the second direction; The first angle acquisition submodule is further used for: Determine the expected relative position of the supporting mechanical wheel and the body in the first direction and the arc tangent of the expected relative position in the second direction as the expected angle of the hip joint on the supporting mechanical leg; The relative expected position of the swinging mechanical wheel and the body in the first direction and the arc tangent of the relative expected position in the second direction are determined as the expected angle of the hip joint on the swinging mechanical leg.

22. The device according to claim 21, characterized in that The first angle acquisition submodule is further used for: Determine the norm of the relative expected position of the supporting mechanical wheel and the fuselage in the first direction and the relative expected position in the second direction as the expected length corresponding to the supporting mechanical leg; The norm of the relative expected position of the swinging mechanical wheel and the body in the first direction and the relative expected position in the second direction is determined as the expected length corresponding to the swinging mechanical leg.

23. The device according to claim 16, characterized in that The second angle acquisition submodule is further used for: For each of the hip joints, the negative number of the expected angle corresponding to the hip joint at the control time is determined as the expected angle corresponding to the ankle joint on the mechanical leg where the hip joint is located at the control time; or, Based on the expected position of the supporting mechanical wheel at the control moment and the expected position of the supporting mechanical foot at the control moment, the third relative expected position between the supporting mechanical wheel and the supporting mechanical foot is determined, and based on the expected position of the swinging mechanical wheel at the control moment and the expected position of the swinging mechanical foot at the control moment, the fourth relative expected position between the swinging mechanical wheel and the swinging mechanical foot is determined; based on the third relative expected position, the expected angle of the ankle joint on the supporting mechanical leg where the supporting mechanical foot is located is determined, and based on the fourth relative expected position, the expected angle of the ankle joint on the swinging mechanical leg where the swinging mechanical foot is located is determined.

24. The device according to any one of claims 16 to 23, characterized in that The robot stops moving after a plurality of control moments, and during the movement of the robot, the mechanical legs used for swinging are the swinging mechanical legs, and the mechanical legs used for standing are the supporting mechanical legs; The expected task acquisition module is also used for: For any control moment among the control moments, for the supporting mechanical wheels on the supporting mechanical legs, obtaining the expected position of the supporting mechanical wheels corresponding to the control moment according to the supporting surface planning; For the swinging mechanical wheel on the swinging mechanical leg, the expected position of the swinging mechanical wheel corresponding to the control time is planned according to the support surface and the expected position of the supporting mechanical wheel corresponding to the control time; For the center of mass of the robot, the expected position of the center of mass corresponding to the control time is planned according to the expected positions of the support surface and the supporting mechanical wheel at the control time; Determine the expected position of the fuselage at the control time based on the expected position of the center of mass at the control time, the actual position of the center of mass at the control time, and the actual position of the fuselage at the control time; Determining the expected position of the supporting mechanical foot corresponding to the control moment based on the expected position of the supporting mechanical wheel at the control moment and the size of the supporting mechanical foot corresponding to the supporting mechanical wheel; Determining the expected position of the swinging mechanical foot at the control time based on the expected position of the swinging mechanical wheel at the control time and the size of the swinging mechanical foot corresponding to the swinging mechanical wheel; Based on the expected position of the supporting mechanical wheel at the control moment, the expected position of the swinging mechanical wheel at the control moment, the expected position of the body at the control moment, the expected position of the supporting mechanical foot at the control moment and the expected position of the swinging mechanical foot at the control moment, the first expected task corresponding to the robot at the control moment is obtained.

25. The device according to any one of claims 16 to 23, characterized in that The robot control module also includes a first torque acquisition submodule and a robot control submodule; The first torque acquisition submodule is used to calculate a first desired torque set corresponding to the desired angle set according to the desired angle set, the actual angle set corresponding to each joint, and the actual angular velocity set corresponding to each joint by using a proportional differential PD feedback controller, wherein the first desired torque set includes a first desired torque for controlling each joint; The robot control submodule is used to control the robot to move under the guidance of the first expected task according to the first expected torque set.

26. The device according to claim 25, characterized in that The robot control submodule is also used for: Acquire a second expected task of the robot on the support surface, wherein the second expected task includes expected accelerations of various parts of the robot in the operation space of the robot and expected accelerations of the center of mass of the robot in the operation space, and the second expected task is used to guide the robot to alternately swing the first mechanical leg group and the second mechanical leg group to move in the first direction on the support surface, and during the movement of the robot, the mechanical foot is used to assist the mechanical wheel so that the robot stands on the support surface; According to the second expected task, and the whole-body dynamics model and the whole-body kinematics model of the robot, obtaining a second expected torque set corresponding to the second expected task, wherein the second expected torque set includes second expected torques for controlling each of the joints; According to the first expected torque set and the second expected torque set, the robot is controlled to move under the guidance of the first expected task and the second expected task.

27. The device according to claim 26, characterized in that The robot control submodule is also used for: Based on the first desired moment set and the second desired moment set, a mixed desired moment set is obtained by weighted summation; According to the mixed desired torque set, the robot is controlled to move under the guidance of the first desired task and the second desired task.

28. The device according to claim 26, characterized in that The second expected task includes the expected acceleration of each mechanical foot in the operating space; the robot control submodule is further used for: For each of the control moments, according to the foot reference movement trajectory corresponding to the mechanical foot, a reference position, a reference speed and a reference acceleration of the mechanical foot at the control moment are obtained, wherein the foot reference movement trajectory is obtained by planning according to the movement trajectory of the support surface to the mechanical foot; The PD feedback controller is used to calculate the expected acceleration of the foot at the control moment based on the reference position, reference speed and reference acceleration of the mechanical foot at the control moment, as well as the actual position and actual speed of the mechanical foot at the control moment.

29. The device according to claim 26, characterized in that The second expected task also includes an expected acceleration of the angular momentum of the center of mass of the robot in the operation space, and the expected acceleration of the angular momentum is used to guide the body to rotate; the robot control submodule is further used to: For each of the control moments, according to the reference angular momentum change trajectory corresponding to the center of mass, a reference angular momentum, a reference angular momentum velocity and a reference angular momentum acceleration of the center of mass at the control moment are obtained, wherein the reference angular momentum change trajectory is obtained by planning according to the angular momentum of the support surface with respect to the center of mass; The PD feedback controller is used to calculate the expected acceleration of the angular momentum at the control moment based on the reference angular momentum, reference angular momentum velocity and reference angular momentum acceleration of the center of mass at the control moment, as well as the actual angular momentum and actual angular momentum velocity of the center of mass at the control moment.

30. The device according to any one of claims 16 to 23, characterized in that The mechanical legs corresponding to the first mechanical leg group move synchronously, the mechanical legs corresponding to the second mechanical leg group move synchronously, the mechanical feet corresponding to the first mechanical leg group move synchronously, and the mechanical feet corresponding to the second mechanical leg group move synchronously.

31. A computer device, characterized in that: The computer device includes a processor and a memory, wherein a computer program is stored in the memory, and the computer program is loaded and executed by the processor to implement the robot control method according to any one of claims 1 to 15.

32. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which is loaded and executed by a processor to implement the robot control method according to any one of claims 1 to 15.

33. A computer program product, characterized in that The computer program product comprises a computer program, which is stored in a computer-readable storage medium. A processor reads and executes the computer program from the computer-readable storage medium to implement the robot control method according to any one of claims 1 to 15.

Citation Information

Patent Citations

  • Bionic mechanical leg and bionic robot

    CN112937717A

  • Walking control method, device and equipment of biped robot and storage medium

    CN113172635A