Control method of half-horse robot, electronic equipment and computer program product

By using an elastic coupling structure in the Centaur robot to connect the wearable structure and torso, the human-machine interaction status is measured in real time and the motion information of the mechanical legs is calculated. This solves the problems of inaccurate control and poor stability of human-machine collaborative walking in existing technologies, and achieves more efficient and safe human-machine collaborative walking.

CN120697053AActive Publication Date: 2025-09-26SOUTHERN UNIVERSITY OF SCIENCE AND TECHNOLOGY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510660731.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-21
Publication Date
2025-09-26
Estimated Expiration
2045-05-21

AI Technical Summary

Technical Problem

Existing Centaur robot control methods are unable to respond to user movement changes in real time, resulting in poor control accuracy and stability of human-machine collaborative walking. The rigid connection structure also causes large impedance and safety hazards in the human-machine system.

Method used

An elastic coupling structure is used to connect the wearable structure and the torso. The human-computer interaction status is obtained in real time by measuring the relative displacement of the coupling interface. The motion model of the Centaur robot is established, and the motion information of the mechanical legs is calculated based on the actual force. The power assistance is adjusted in real time to respond to the user's actions.

Benefits of technology

It improves the control accuracy and stability of human-machine collaborative walking, enhances the smoothness and safety of the human-machine system, and reduces computing costs and energy consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120697053A_ABST
    Figure CN120697053A_ABST
Patent Text Reader

Abstract

The embodiment of the invention is suitable for the technical field of computers, provides a control method of a half-horse robot, electronic equipment and a computer program product, and is applied to the half-horse robot with a wearable structure. A user wears the half-horse robot through the wearing structure, and the method comprises the steps that in the state that the user wears the half-horse robot, based on the actual deformation quantity of the elastic coupling structure of the half-horse robot, the actual acting force between the trunk part of the half-horse robot and the user at the first moment is determined; according to the actual acting force at the first moment, the actual posture parameters of the half-horse robot at the first moment and a preset gait cycle, motion information of mechanical legs of the half-horse robot at the second moment is determined; and at the second moment, the supporting legs and the swinging legs of the half-horse robot are controlled to move according to the movement information. According to the method provided by the embodiment of the invention, the control accuracy and stability of the half-horse robot can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application belong to the field of computer technology, and in particular, relate to a control method, electronic equipment, and computer program product of a Centaur robot. Background Art

[0002] In the prior art, a Centaur robot typically consists of a wearable structure, a torso, two supporting legs, and a rigid connection structure. The rigid connection structure connects the wearable structure and the torso. Users can wear the Centaur robot through the wearable structure to assist with walking or carrying loads.

[0003] Because the wearable structure and torso of a Centaur robot are connected by a rigid connection structure, existing Centaur robot control methods often treat the interaction force between the Centaur robot and the user as a constant value and control the Centaur robot according to a preset motion sequence and trajectory. Because existing control methods cannot control the Centaur robot based on real-time interaction information between the user and the Centaur robot, the Centaur robot under existing control methods cannot respond to changes in the user's movements in real time, thereby reducing the control accuracy and stability of human-robot collaborative walking. Summary of the Invention

[0004] In view of this, the embodiments of the present application provide a control method, electronic device and computer program product for a centaur robot to improve the control accuracy and stability of human-machine collaborative walking.

[0005] A first aspect of an embodiment of the present application provides a control method for a Centaur robot, which is applied to a Centaur robot having a wearable structure; a user wears the Centaur robot through the wearable structure, and the method includes:

[0006] When a user is wearing the Centaur robot, determining an actual force between a torso of the Centaur robot and the user at a first moment based on an actual deformation of the elastic coupling structure of the Centaur robot;

[0007] determining, based on the actual applied force at the first moment, the actual posture parameters of the Centaur robot at the first moment, and a preset gait cycle, motion information of a mechanical leg of the Centaur robot at a second moment; the mechanical leg includes a supporting leg and a swinging leg; the second moment is later than the first moment;

[0008] At the second moment, the support leg and the swing leg of the Centaur robot are controlled to move respectively according to the motion information.

[0009] In a possible implementation of the first aspect, determining motion information of the mechanical leg of the Centaur robot at a second moment based on the actual applied force at the first moment, the actual posture parameter of the Centaur robot at the first moment, and a preset gait cycle includes:

[0010] Calculating expected posture parameters of the Centaur robot at the second moment based on actual posture parameters of the Centaur robot at the first moment;

[0011] Calculating an expected speed of the Centaur robot at a second moment based on the actual force at the first moment; the expected speed is the speed of the center of mass of the Centaur robot when it moves at the second moment;

[0012] The motion information of each of the mechanical legs at the second moment is determined according to the expected speed at the second moment, the expected posture parameter at the second moment, and a preset gait cycle.

[0013] In a possible implementation of the first aspect, the actual posture parameters include an actual height and an actual pitch angle of the Centaur robot; the expected posture parameters include an expected Euler angle and an expected height;

[0014] The calculating, based on the actual posture parameters of the Centaur robot at the first moment, the expected posture parameters of the Centaur robot at the second moment, comprises:

[0015] constructing a first parameter matrix according to the actual pitch angle and actual height of the Centaur robot at the first moment;

[0016] constructing a second parameter matrix according to the expected pitch angle and expected height of the Centaur robot at the first moment;

[0017] constructing a first function according to the first parameter matrix and the second parameter matrix;

[0018] Solving the first function based on a preset first constraint condition to determine an expected height and an expected pitch angle of the Centaur robot at the second moment;

[0019] determining an expected heading angle of the Centaur robot at the second moment based on the actual heading angle of the user moving at the first moment;

[0020] The expected Euler angle of the Centaur robot at the second moment is determined according to the expected pitch angle at the second moment, the expected heading angle at the second moment, and the preset roll angle.

[0021] In a possible implementation of the first aspect, the expected posture parameter further includes an expected angular velocity;

[0022] After determining the expected Euler angle of the Centaur robot at the second moment according to the expected pitch angle at the second moment, the expected heading angle at the second moment, and the preset roll angle, the method further includes:

[0023] Calculating the difference between the expected Euler angle of the Centaur robot at the second moment and the actual Euler angle of the Centaur robot at the first moment;

[0024] The expected angular velocity at the second moment is calculated according to the difference and a preset angular velocity coefficient.

[0025] In a possible implementation of the first aspect, calculating the expected speed of the Centaur robot at the second moment based on the actual force at the first moment includes:

[0026] Inputting a preset desired force value into a preset deformation function to determine a desired deformation amount of the elastic coupling structure;

[0027] calculating a first velocity at the second moment according to a difference between the actual deformation amount and the expected deformation amount; the first velocity being a velocity of a connection point between the elastic coupling structure and the wearable structure during movement at the second moment;

[0028] Performing a coordinate system transformation on the first velocity at the second moment according to a preset rotation matrix to determine a second velocity at the second moment;

[0029] The expected velocity of the Centaur robot at the second moment is calculated based on the expected angular velocity at the second moment, the second velocity at the second moment, and a first distance matrix; the first distance matrix is ​​used to represent the distance from the center of mass of the Centaur robot to the connection point.

[0030] In a possible implementation of the first aspect, the motion information includes an expected supporting force of the supporting leg and an expected landing position of the swinging leg;

[0031] The determining, based on the actual force at the first moment, the actual posture parameters of the Centaur robot at the first moment, and a preset gait cycle, motion information of the mechanical legs of the Centaur robot at the second moment includes:

[0032] determining the supporting leg and the swinging leg at the second moment from the two mechanical legs according to the gait cycle;

[0033] Calculating an expected supporting force of the supporting leg at the second moment according to an expected posture parameter and an expected speed of the Centaur robot at the second moment;

[0034] According to the expected speed at the second moment, the expected landing position of the swing leg at the second moment is calculated.

[0035] In a possible implementation of the first aspect, calculating the expected supporting force of the supporting leg at the second moment based on the expected posture parameter and expected speed of the Centaur robot at the second moment includes:

[0036] Constructing N expected state matrices according to the expected posture parameters and expected speed at the second moment, wherein N is a positive integer greater than or equal to 1;

[0037] Constructing N actual state matrices according to the actual speed and actual posture parameters of the Centaur robot at the first moment;

[0038] Constructing an objective function according to the N desired state matrices, the N actual state matrices, and a preset weight matrix;

[0039] Solving the objective function according to the preset second constraint condition to determine N predicted support forces;

[0040] An expected supporting force of the supporting leg at the second moment is determined based on the N predicted supporting forces.

[0041] In a possible implementation of the first aspect, calculating the expected landing position of the swing leg at the second moment based on the expected speed at the second moment includes:

[0042] Calculating an initial landing position of the swing leg according to the center of mass position of the Centaur robot at the first moment and a preset expected force;

[0043] Calculating a correction parameter according to the desired speed at the second moment, the actual speed of the Centaur robot at the first moment, and a preset swinging duration;

[0044] The expected landing position of the swing leg at the second moment is calculated according to the initial landing position and the correction parameter.

[0045] A second aspect of the embodiments of the present application provides a control device for a Centaur robot, comprising:

[0046] a force determination module for determining, when the user is wearing the Centaur robot, an actual force between the torso of the Centaur robot and the user at a first moment based on an actual deformation of the elastic coupling structure of the Centaur robot;

[0047] a motion information determination module, configured to determine motion information of a mechanical leg of the Centaur robot at a second moment based on the actual applied force at the first moment, the actual posture parameters of the Centaur robot at the first moment, and a preset gait cycle; the mechanical leg includes a supporting leg and a swinging leg; the second moment is later than the first moment;

[0048] A control module is used to control the support leg and the swing leg of the Centaur robot respectively according to the motion information at the second moment.

[0049] A third aspect of an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the control method of the Centaur robot as described in the first aspect above is implemented.

[0050] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the control method of the Centaur robot as described in the first aspect above is implemented.

[0051] A fifth aspect of the embodiments of the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the control method of the Centaur robot described in the first aspect.

[0052] Compared with the prior art, the embodiments of the present application have the following advantages:

[0053] In an embodiment of the present application, the electronic device can determine the actual force between the torso of the centaur robot and the user based on the actual deformation of the elastic coupling structure on the centaur robot, and calculate the motion information of the centaur robot at the second moment based on the actual force between the torso of the centaur robot and the user; since the actual force between the torso of the centaur robot and the user can reflect the real-time interaction between the centaur robot and the user, the method provided in this embodiment enables the centaur robot to control the movement of the centaur robot according to the real-time interaction between the centaur robot and the user, so that the movement of the centaur robot can respond to the movement of the user in real time, thereby improving the control accuracy and stability of interpersonal coordinated walking. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] To more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application, and those skilled in the art can derive other drawings based on these drawings without inventive effort.

[0055] Figure 1 This is a schematic structural diagram of a centaur robot provided in an embodiment of the present application;

[0056] Figure 2 is a schematic diagram of a user subsystem and a Centaur robot subsystem provided in an embodiment of the present application;

[0057] Figure 3 is a schematic diagram of a control method for a Centaur robot provided in an embodiment of the present application;

[0058] Figure 4 is a schematic diagram of another control method of a Centaur robot provided in an embodiment of the present application;

[0059] Figure 5 This is a schematic diagram of a process of providing a horizontal thrust to a user by an elastic coupling structure provided in an embodiment of the present application;

[0060] Figure 6 This is a schematic diagram of the speed relationship of a Centaur robot provided in an embodiment of the present application;

[0061] Figure 7 This is a schematic diagram of a motion information calculation process provided by an embodiment of the present application;

[0062] Figure 8 is a schematic diagram of another control method of a Centaur robot provided in an embodiment of the present application;

[0063] Figure 9 This is an example diagram of force analysis of a centaur robot provided in an embodiment of the present application;

[0064] Figure 10 This is a schematic diagram of a walking route provided in an embodiment of the present application;

[0065] Figure 11 is a schematic diagram of an interaction force curve and a velocity curve provided in an embodiment of the present application;

[0066] Figure 12 is a schematic diagram of a control device for a Centaur robot provided in an embodiment of the present application;

[0067] Figure 13 This is a schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0068] In the following description, specific details such as specific system structures and technologies are provided for the purpose of illustration rather than limitation to facilitate a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid obstructing the description of the present application with unnecessary details.

[0069] In modern life, whether it is personal activities or industrial production, people often need to walk with loads for long periods of time and over long distances in various scenarios. However, long-term weight-bearing walking can cause fatigue in the human body and may even cause irreversible damage to the human body. Therefore, there are many wearable walking-assisting Centaur robots that can be used to assist walking, such as leg exoskeletons, joint exoskeletons, and lower limb exo-limb Centaur robots. The above-mentioned walking-assisting Centaur robots mainly help people carry weight by providing joint assistance or load support, but these walking-assisting Centaur robots do not change the form of human bipedal weight-bearing walking. Therefore, the human-machine coordination of the above-mentioned walking-assisting Centaur robots is poor, and they cannot reduce the energy consumption required for users to walk.

[0070] Among them, leg-type exoskeletons, due to their inherent weight, even impose additional weight and metabolic costs on the user. Furthermore, because leg-type exoskeletons are often constructed of rigid materials, they can easily restrict the normal movement of human joints, thereby interfering with the user's natural gait and resulting in poor human-machine coordination. While joint-assisted exoskeletons are constructed of flexible materials and do not restrict the normal movement of human joints, they cannot directly share the user's load and therefore cannot reduce the user's load. Lower-limb exo-limb centaur robots can improve human-machine coordination by sharing weight through independent mechanical legs. However, these exo-limb centaur robots often have mechanical legs suspended from the user's back via a backpack structure, so they can only improve load distribution during dynamic walking. In summary, these load-assisted centaur robots are mostly limited to providing partial assistance or support to the user and fail to break through the limitations of the human bipedal load-bearing walking mode. Therefore, their performance in terms of stability on complex terrain and reducing user energy consumption remains unsatisfactory.

[0071] The Centaur robot primarily consists of two mechanical legs mounted behind the wearer, a torso, and a wearable structure. The wearable structure allows the user to wear the Centaur robot. The Centaur's unique structure distributes the weight normally borne by the human's two feet across the user and the Centaur's four legs. Specifically, the Centaur's mechanical legs provide support, reducing the vertical load on the user and the pressure on the spine. Simultaneously, the elastic coupling structure provides horizontal thrust, similar to someone pushing the user from behind, improving stability and reducing energy consumption when carrying a load. Due to its unique structure, the Centaur robot and the user form a human-machine quadruped system, thus extending the human load-bearing modality. The Centaur's independence from the user allows it to share the user's load in the vertical direction. It also provides horizontal forward thrust to reduce energy consumption when carrying a load.

[0072] However, existing Centaur robots are usually connected between the wearable structure and the torso by a rigid connection structure, which causes the thrust provided by the Centaur robot to the user to vary dramatically. In addition, the rigid connection structure will also cause a large impedance in the human-machine system, making it difficult for the Centaur robot to output accurate and stable thrust to the user. Furthermore, rigid coupling may also reduce the comfort and safety of human-machine collaboration. When the gait of the Centaur robot and the user is out of sync, impact force is easily transmitted, posing a safety hazard. In summary, existing Centaur robots have obvious shortcomings in both mechanical structure and control methods.

[0073] In view of this, an embodiment of the present application proposes a Centaur robot connected via an elastic coupling structure. Figure 1 This is a schematic diagram of the structure of a centaur robot provided in an embodiment of the present application. Figure 1 As shown, the Centaur robot consists of a wearable structure 11 mounted behind a user 2, a torso 12, an elastic coupling structure 13, and two mechanical legs 14. The elastic coupling mechanism 13 connects the wearable structure 11 and torso 12 (like a person wearing a mechanical "hindquarters"). The elastic coupling structure 13 can reduce stiffness during coordinated human-machine motion within a certain range, thereby improving the smoothness and controllability of the relative motion between the Centaur robot and the user.

[0074] The mechanical properties of elastic coupling structures can transform the rapidly changing forces of human-machine interaction into measurable and predictable elastic forces. Specifically, the state of human-machine interaction can be captured in real time by measuring the relative displacement of the coupling interface. Directly measuring the interaction force, by contrast, can introduce significant noise. This approach successfully enables independent modeling of the human-machine system, overcoming the previous difficulties in modeling human-machine interaction forces under rigid connections and the limitations of static force assumptions that lack real-time interaction information.

[0075] In the prior art, there are two main control methods for centaurs. One is based on the centaur robot's motion model. However, because the centaur robot's body and wearable structure are connected by a rigid connection structure, the interaction forces between the centaur robot and the user cannot be accurately captured. Therefore, it is difficult to independently model the centaur robot's motion state and must be modeled in conjunction with the user's motion state. This results in a complex centaur robot motion model and, consequently, a complex control method derived from this motion model. This method, in turn, requires a large amount of computation and is costly. The other method controls the centaur robot's motion based on a preset walking sequence and trajectory. This method typically assumes the interaction force between the centaur robot and the user is fixed and sets the centaur robot's walking sequence and trajectory based on this fixed force. The electronic device then controls the centaur robot's motion based on the preset walking sequence and trajectory. Because the fixed force cannot effectively reflect the dynamic characteristics of human-robot collaborative walking, and the fixed walking trajectory also prevents the centaur robot from responding to the user's movements in real time to change its posture and trajectory, this control method suffers from poor control accuracy and stability.

[0076] In view of this, the present application further proposes a control method for a centaur robot comprising an elastic coupling structure. By using the elastic coupling structure to connect the wearable structure and torso of the centaur robot, researchers can effectively decouple the originally highly coupled human-machine system into two relatively independent but real-time interacting subsystems: one is the centaur robot subsystem that is subject to the real-time human-machine interaction force, and the other is the human body subsystem. After decoupling the centaur robot and the user, since the actual force calculated based on the elastic coupling structure can well represent the actual interaction state between the user and the centaur robot, researchers can calculate the actual force between the centaur robot's torso and the user based on the deformation of the coupling structure and construct a motion model of the centaur robot based on the actual force. Furthermore, since the motion model of the centaur robot does not include the user's motion data, the control method designed by researchers based on this motion model can not only enable the centaur robot's movements to change in real time in response to changes in the user's movements, but also completely decouple the control method from the user, that is, only the data on the centaur robot is needed to control the centaur robot to follow the user's movements. The control method provided in this embodiment enables the Centaur robot to dynamically adapt to changes in human gait, adjust interactive assistance in real time, and improve the control accuracy and stability of human-machine collaborative walking, thereby achieving more stable, efficient and comfortable human-machine four-legged collaborative weight-bearing walking.

[0077] The technical solution of the present application is described below through specific embodiments. The present application provides a control method for a Centaur robot.

[0078] Among them, the control method of the embodiment of the present application includes two stages: a model establishment stage for establishing a motion model of the Centaur robot, and a control stage for performing motion control on the Centaur robot based on the motion model of the Centaur robot.

[0079] Phase 1: Model building

[0080] In this embodiment, the Centaur robot's torso is connected to the wearable structure via an elastic coupling structure, i.e., there are essential structural differences between the Centaur robot provided in this embodiment and the Centaur robots in the prior art. Therefore, the motion models of Centaur robots in the prior art cannot accurately describe the motion state of the Centaur robot provided in this embodiment. Therefore, researchers need to establish a motion model suitable for the Centaur robot provided in this embodiment based on the structural and motion characteristics of the Centaur robot provided in this embodiment.

[0081] In the embodiments of the present application, the torso of the Centaur robot and the wearable structure are connected via an elastic coupling structure. When a user uses the Centaur robot, they must wear the wearable structure. That is, the wearable structure can be understood as a part of the user's body. Therefore, the actual force between the user and the Centaur robot's torso is reflected in the elastic coupling structure. Furthermore, because the elastic coupling structure is retractable, the actual force between the Centaur robot's torso and the user causes the elastic coupling structure to expand and contract, i.e., the actual force between the Centaur robot's torso and the user causes the elastic coupling structure to deform. Given this, the deformation of the elastic coupling structure can represent the actual force between the Centaur robot's torso and the user. Specifically, when the relative position between the Centaur robot's torso and the human user changes, the Centaur robot generates a thrust or pull on the user. For example, when the Centaur robot accelerates forward, it generates a forward thrust on the user, thereby propelling the user to accelerate along with the robot. For another example, when the user suddenly accelerates forward, a forward pulling force is generated on the Centaur robot, thereby pulling the Centaur robot forward and accelerating.

[0082] Since the actual force between the user and the Centaur's torso can be calculated using the deformation of the elastic coupling structure, that is, the deformation of the elastic coupling structure can be used to represent the user's motion state relative to the Centaur's torso, when controlling the Centaur's motion, the electronic device does not need to collect the user's motion state. Instead, it controls the Centaur's motion through the deformation of the elastic coupling structure, that is, the electronic device can control the Centaur's motion entirely based on the Centaur's own data. In view of this, when establishing the Centaur's motion model, researchers can decouple the system when the user is wearing the Centaur into two independent but real-time interacting subsystems. Figure 2 Schematic diagram of the user subsystem and Centaur robot subsystem provided in an embodiment of the present application. Figure 2 (a) in the figure is the Centaur robot subsystem when the user is wearing the Centaur robot. Figure 2 As shown in (a) of FIG, the centaur robot subsystem can be regarded as an autonomous legged robot with a six-degree-of-freedom floating base. When the user uses the centaur robot to move, the two mechanical legs 14 of the centaur robot subsystem can be subjected to the ground reaction force F L and F R Among them, F L F can be the ground reaction force on the left mechanical leg 14 of the Centaur robot. RThe ground reaction force on the right mechanical leg 14 of the Centaur robot can be the ground reaction force. In the Centaur robot, the connection point between the torso 12 and the elastic coupling structure 13 can also be affected by the force F between the torso of the Centaur robot and the user. inter . Figure 2 (b) in the example is the user subsystem. Figure 2 As shown in (b), when user 2 uses the Centaur robot to move, the user subsystem can be affected by the actual force F between the Centaur robot and the user. inter The reaction force F′ inter .

[0083] Finally, since the torso of a centaur robot is usually much heavier than its legs (for example, the torso of a common centaur robot can be 22 kg and the two mechanical legs can be 2.6 kg), when establishing the motion model of the centaur robot, researchers can ignore the mass of the two mechanical legs of the centaur robot, simplify the centaur robot into a single rigid body with the mass concentrated in the torso, and establish the motion model of the centaur robot based on the single rigid body model.

[0084] To sum up, the motion model of the Centaur robot provided in the embodiment of the present application can be specifically as follows.

[0085]

[0086] Among them, 13 can represent a matrix with 3 rows, 1 column, and all elements are 1, such as r L It can be expressed as the position vector pointing from the center of mass of the Centaur robot to the left foot of the Centaur robot. R It can be expressed as the position vector pointing from the center of mass of the Centaur robot to the right foot of the Centaur robot. inter It can be a first distance matrix, used to represent the distance from the center of mass of the Centaur robot to the connection point between the Centaur robot's torso and the elastic coupling structure. × It can represent the cross product of antisymmetric matrices. grf It can represent the ground reaction force on the left and right feet of the Centaur robot. Specifically, in,[] T Can represent the transposed matrix; F L can be the matrix representing the ground reaction force on the left foot of the Centaur robot, The matrix F L The transposed matrix of R can be the matrix representing the ground reaction force on the left foot of the Centaur robot, The matrix F RThe transposed matrix of . m can represent the mass of the torso of the centaur robot. ω can represent the acceleration of the centaur robot's center of mass. g can represent the acceleration due to gravity. I can represent the centaur robot's moment of inertia. c It can represent the angular velocity of the Centaur robot.

[0087] Therefore, when the user is wearing the Centaur robot, the electronic device can collect the deformation of the elastic coupling structure of the Centaur robot through the sensor installed on the elastic coupling structure, and input the collected deformation into the preset force function to calculate the actual force corresponding to the deformation through the force function. Specifically, the force function can be determined by the R&D personnel based on the stiffness coefficient of the elastic coupling structure. The force function can also be fitted by the R&D personnel based on the experimental measurement data of the elastic coupling structure. Specifically, when conducting experimental measurements on the elastic coupling structure, the R&D personnel can install a force sensor at the force-bearing position of the elastic coupling structure to measure the force exerted on the elastic coupling structure, and use a displacement sensor to measure the deformation of the structure. The electronic device can fit the force function based on the force collected by the force sensor and the deformation collected by the displacement sensor.

[0088] Based on the above motion model, when controlling the Centaur robot, the electronic device can calculate the actual force between the Centaur robot's torso and the user based on the deformation of the elastic coupling structure. Specifically, when there is no relative displacement between the Centaur robot's torso and the user, the deformation of the elastic coupling structure is zero, and it is in a stress-free state, meaning that the actual force between the Centaur robot's torso and the user is also zero. When there is relative displacement between the Centaur robot's torso and the user, the deformation of the elastic coupling structure is not zero. In this case, the electronic device can calculate the actual force corresponding to the deformation based on the force function, thereby obtaining real-time interaction information between the Centaur robot and the user.

[0089] Phase 2: Control Phase

[0090] Reference Figure 3, showing a schematic diagram of a control method for a centaur robot provided in an embodiment of the present application. The method can be applied to electronic devices assembled inside the robot, such as a microcontroller unit (MCU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA), a system on chip (SoC), etc.; the method can also be applied to electronic devices that are arranged outside the robot but have a communication link with the robot for controlling the robot, such as computers, tablet computers, mobile terminals, servers, etc. The control method of the above-mentioned robot may specifically include the following steps:

[0091] S301. When a user is wearing the Centaur robot, determine the actual force between the torso of the Centaur robot and the user at a first moment based on the actual deformation of the elastic coupling structure of the Centaur robot.

[0092] In this embodiment, when a user needs to use a centaur robot to assist in exercising, such as using a centaur robot to assist in walking or using a centaur robot to assist in carrying heavy objects, the user can wear the centaur robot through a wearable structure. When the user wears the centaur robot, the electronic device can periodically collect the actual deformation of the elastic coupling structure through a displacement sensor installed on the elastic coupling structure. During the process of the user using the centaur robot to exercise, at a certain moment, after collecting the actual deformation, the electronic device can calculate the actual force between the torso of the centaur robot and the user at the first moment based on the actual deformation at the first moment, and calculate the motion information of the centaur robot at the second moment based on the force at the first moment. The first moment can be any moment during the process of the user using the centaur robot to assist in exercising, and the second moment can be a moment later than the first moment.

[0093] Specifically, the electronic device may input the actual deformation amount collected at the first moment into a preset force function, so as to calculate the actual force between the torso of the Centaur robot and the user at the first moment through the force function.

[0094] S302: Determine motion information of the mechanical legs of the Centaur robot at the second moment based on the actual acting force at the first moment, the actual posture parameters of the Centaur robot at the first moment, and a preset gait cycle.

[0095] In this embodiment, after obtaining the actual force applied by the Centaur robot at the first moment, the electronic device can calculate the motion information of the Centaur robot's mechanical legs at the second moment based on the actual force applied by the Centaur robot at the first moment, the Centaur robot's actual posture parameters at the first moment, and a preset gait cycle. Specifically, when a user uses the Centaur robot for assisted movement, the Centaur robot's mechanical legs can be divided into a supporting leg and a swinging leg. The motion information calculated by the electronic device may include the expected supporting force of the supporting leg at the second moment and the expected landing position of the swinging leg at the second moment.

[0096] The gait phase of the mechanical legs on the Centaur robot may include a swing phase and a support phase. The gait cycle can be used to achieve periodic replacement of the support leg and the swing leg, that is, the electronic device can determine the gait phase corresponding to each mechanical leg of the Centaur robot at the second moment based on the gait cycle, thereby determining the support leg and the swing leg at the second moment. For example, if the electronic device determines that the gait phase of the right mechanical leg at the second moment is the support phase and the gait phase of the left mechanical leg is the swing phase based on the gait cycle, then the electronic device can determine that the support leg of the Centaur robot at the second moment can be the right mechanical leg, and the swing leg can be the left mechanical leg.

[0097] S303. At the second moment, the support leg and the swing leg of the Centaur robot are controlled to move respectively according to the motion information.

[0098] In this embodiment, after determining the motion information of the mechanical legs at the second moment, the electronic device can control the movement of the Centaur robot's supporting leg and swinging leg based on the motion information at the second moment. For example, if the Centaur robot's supporting leg is the right mechanical leg and its swinging leg is the left mechanical leg at the second moment, the electronic device can control the Centaur robot's right mechanical leg to output a desired supporting force to the ground and control the Centaur robot's left mechanical leg to swing based on the desired foot placement position.

[0099] In this embodiment, the electronic device can determine the actual force between the human and the machine based on the actual deformation of the elastic coupling structure, and plan the motion information of the mechanical leg at the second moment in combination with the actual force at the first moment and the actual posture parameters of the robot. It can be seen that the electronic device can not only control the movement of the Centaur robot in real time according to the user's movements and posture changes, but also further control the movement of the Centaur robot in combination with the current force conditions and posture of the robot. Therefore, the method provided in this embodiment can improve the smoothness and stability of human-machine collaborative walking. For example, when the user suddenly accelerates or changes direction, the robot can quickly adjust its own state and keep in sync with the user, greatly improving the smoothness of human-machine collaborative walking.

[0100] Figure 4The following is a flowchart showing a specific implementation of S302 in a control method for a centaur robot provided in an embodiment of the present application. The process may include: S401 to S403, which are described in detail as follows:

[0101] S401. Calculate expected posture parameters of the Centaur robot at a second moment based on actual posture parameters of the Centaur robot at a first moment.

[0102] In this embodiment, when a user wears a Centaur robot and exercises, the electronic device can continuously collect the actual posture parameters of the Centaur robot through the posture sensor on the Centaur robot. The electronic device can also collect the user's heading angle through the sensor. After the electronic device obtains the actual posture parameters of the Centaur robot and the user's heading angle, it can calculate the expected posture parameters of the Centaur robot at the second moment based on the actual posture parameters of the Centaur robot at the first moment and the user's heading angle at the first moment. Specifically, the actual posture parameters obtained by the electronic device may include the actual height and actual pitch angle of the Centaur robot. The expected posture parameters calculated by the electronic device include the expected height and expected Euler angle.

[0103] Among them, the expected Euler angle can be composed of an expected pitch angle, an expected heading angle, and a preset roll angle. Specifically, the expected heading angle of the Centaur robot at the second moment can be determined by the electronic device based on the actual heading angle of the user's downward movement at the first moment. In order to reduce the probability of the Centaur robot rolling over, the preset roll angle of the Centaur robot can be 0. The expected pitch angle of the Centaur robot at the second moment can be calculated by the electronic device based on the actual pitch angle and actual height of the Centaur robot at the first moment. After determining the expected pitch angle, expected heading angle, and preset roll angle of the Centaur robot at the second moment, the electronic device can determine the expected Euler angle of the Centaur robot at the second moment based on the expected pitch angle, expected heading angle, and preset roll angle.

[0104] In one possible implementation, the expected posture parameter calculated by the electronic device may further include the expected angular velocity of the Centaur robot at the second moment. Specifically, after determining the expected Euler angle of the Centaur robot at the second moment, the electronic device may further calculate the difference between the expected Euler angle of the Centaur robot at the second moment and the actual Euler angle at the first moment. The electronic device may then calculate the expected angular velocity of the Centaur robot at the second moment based on the difference between the expected Euler angle at the second moment and the actual Euler angle at the first moment and a preset angular velocity coefficient.

[0105] The specific function for the electronic device to calculate the expected angular velocity can be shown as follows.

[0106]

[0107] in, It can represent the expected angular velocity of the Centaur robot at the second moment. K can represent a preset angular velocity coefficient. It can be expressed as the expected Euler angle of the Centaur robot at the second moment. It can represent the actual Euler angle of the Centaur robot at the first moment.

[0108] In one possible implementation, the electronic device may calculate the desired pitch angle and desired height as follows. After obtaining the actual pitch angle and actual height of the Centaur robot at a first moment, the electronic device may construct a first parameter matrix based on the actual pitch angle and actual height of the Centaur robot at the first moment. The electronic device may then construct a second parameter matrix based on the desired pitch angle and desired height of the Centaur robot at the first moment. The electronic device may then construct a first function based on the first parameter matrix and the second parameter matrix. After determining the first function, the electronic device may solve the first function based on a preset first constraint to determine the desired height and desired pitch angle of the Centaur robot at the second moment. The first constraint may cause the Centaur robot's pitch angle to change with the height difference between the Centaur robot and the user, thereby enabling the Centaur robot to adapt to users of different heights and on a variety of terrains.

[0109] Specifically, the first parameter matrix can be shown as follows.

[0110]

[0111] Among them, η default It can represent the first parameter matrix. default It can represent the actual pitch angle of the Centaur robot at the first moment. It can represent the actual height of the Centaur robot at the first moment.

[0112] The second parameter matrix can be specifically expressed as follows.

[0113]

[0114] Among them, η last It can represent the second parameter matrix. last It can represent the expected pitch angle of the Centaur robot at the first moment. It can represent the expected height of the Centaur robot at the first moment. Among them, the expected posture parameters of the Centaur robot at the first moment, such as the expected pitch angle of the Centaur robot at the first moment and the expected height at the first moment, can be calculated by the electronic device based on the actual posture parameters of the Centaur robot at the third moment. The third moment may be earlier than the first moment. It should be noted that the method for calculating the expected posture parameters provided in the embodiment of the present application can be applied to any moment in the process of the user using the Centaur robot, that is, the electronic device can calculate the expected posture parameters of the Centaur robot at the next moment based on the actual posture parameters at the current moment at any moment in the process of the user using the Centaur robot.

[0115] Therefore, the specific method by which the electronic device calculates the expected posture parameters at the first moment based on the actual posture parameters at the third moment is the same as the method by which the electronic device calculates the expected posture parameters at the second moment based on the actual posture parameters at the first moment in the embodiment of the present application. The reader can refer to the method by which the electronic device calculates the expected posture parameters at the second moment in the embodiment of the present application, and replace "the actual posture parameters at the first moment" with "the actual posture parameters at the third moment" and replace "the expected posture parameters at the second moment" with "the expected posture parameters at the first moment" to understand the specific method by which the electronic device calculates the expected posture parameters at the first moment.

[0116] The first function can be specifically as follows.

[0117]

[0118] Among them, η ref It can represent the third parameter matrix constructed by the desired pitch angle and desired height of the Centaur robot at the second moment. Specifically, θ ref It can represent the expected pitch angle of the Centaur robot at the second moment. w1 may represent the desired height of the Centaur robot at the second moment. w1 may represent a first weight matrix, which may be determined based on the user's height and used to adjust the Centaur robot's desired pitch angle and desired height at the second moment to adapt the Centaur robot's desired pitch angle and desired height to the user's height. w2 may represent a second weight matrix, which may be used to adjust the rate of change of the Centaur robot's desired pitch angle and desired height to reduce sudden changes in the desired pitch angle and desired height.

[0119] The first constraint condition can be specifically expressed as follows.

[0120]

[0121] p′ Z =h+h foot

[0122]

[0123] Among them, st is the abbreviation of "subject to", which means "limited to" and can be used to express constraints. It can represent the distance in the x-direction from the centaur robot's center of mass to the connection point between the centaur robot's trunk and the elastic coupling structure. θ' can represent the preset angle coefficient. p' Z It can represent the height difference coefficient. h can represent the height of the centaur robot's center of mass compared to the centaur robot's foot end in the world coordinate system. foot It can represent the height of the centaur robot's foot in the world coordinate system. min It can represent the minimum value of the preset desired pitch angle. max It can indicate the maximum value of the preset desired pitch angle. It can indicate the preset minimum value of the expected altitude. It can indicate the maximum value of the preset expected altitude.

[0124] S402: Calculate the expected speed of the Centaur robot at the second moment based on the actual force at the first moment.

[0125] In this embodiment, because the elastic coupling structure outputs elastic force to both sides of the elastic coupling structure when compressed, the Centaur robot can provide a certain force to the user to assist the user in movement. Furthermore, because the magnitude of the force provided by the elastic coupling structure depends on the deformation of the elastic coupling structure, the electronic device can control the deformation of the elastic coupling mechanism when controlling the movement of the Centaur robot, thereby adjusting the force provided by the elastic coupling structure to the user. Since the elastic coupling structure is the component used to connect the Centaur robot's torso and the wearable structure, and the Centaur robot's center of mass is typically located on the Centaur robot's torso, when the user is wearing the Centaur robot, the deformation of the elastic coupling structure depends on the distance between the user, the Centaur robot's center of mass, and the user. Therefore, at the second moment, the electronic device needs to control the speed of the Centaur robot's center of mass so that the elastic coupling structure provides the desired force to the user. The desired force can be determined by the electronic device based on the user's movement type. Specifically, the electronic device can store a preset force mapping table, which can include multiple different movement types and the desired forces corresponding to each movement type. The user's exercise type may include a slow walking type, a fast walking type, an uphill type, a downhill type, a heavy object carrying type, and the like.

[0126] Given this, the electronic device can calculate the actual force exerted by the Centaur robot's torso and the user at the first moment based on the deformation of the elastic coupling structure at the first moment. It can then calculate the Centaur robot's expected velocity at the second moment based on the actual force exerted at the first moment. Specifically, the expected velocity calculated by the electronic device can be the velocity of the Centaur robot's center of mass at the second moment. The electronic device can then calculate the Centaur robot's motion information at the second moment based on the expected velocity at the second moment, so that the horizontal thrust provided by the elastic coupling structure to the user meets the preset expected force.

[0127] Figure 5 The following is a schematic diagram showing a process flow of a horizontal thrust provided to a user by an elastic coupling structure provided in an embodiment of the present application. Figure 5 As shown, the electronic device can input the value of the desired force into the deformation function to determine the expected deformation corresponding to the desired force. Then, the electronic device can calculate the expected speed of the Centaur robot at the second moment based on the actual deformation and the expected deformation of the elastic coupling structure at the first moment. After determining the expected speed at the second moment, the electronic device can calculate the motion information of the Centaur robot at the second moment based on the expected speed of the Centaur robot at the second moment, and input the motion information into the Proportional-Integral-Derivative Controller (PID) to control the motion of the Centaur robot through the Proportional-Integral-Derivative Controller. During the movement of the Centaur robot, the elastic coupling structure will provide horizontal thrust to the user, thereby assisting the user in walking.

[0128] In one possible implementation, after determining the expected applied force corresponding to the second moment, the electronic device may input the expected applied force value into a preset deformation function to determine the expected deformation of the elastic coupling structure at the second moment. The electronic device may then calculate the first velocity of the Centaur robot at the second moment based on the difference between the actual deformation of the elastic coupling structure at the first moment and the expected deformation at the second moment. The first velocity may be the velocity of the connection point between the elastic coupling structure and the wearable structure in the human body coordinate system during the movement at the second moment. The electronic device may then perform a coordinate system transformation on the first velocity at the second moment based on a preset rotation matrix to determine a second velocity of the connection point between the elastic coupling structure and the wearable structure at the second moment. The second velocity may be the velocity of the connection point between the elastic coupling structure and the wearable structure in the world coordinate system during the movement at the second moment. The rotation matrix may be used to perform the coordinate system transformation from the human body coordinate system to the world coordinate system. Specifically, the second velocity may be expressed as follows.

[0129]

[0130] in, It can represent the second velocity at the second moment, that is, the velocity of the connection point between the elastic coupling structure and the wearable structure in the world coordinate system. Can represent the preset rotation matrix. v′ inter It can represent the first velocity at the second moment, that is, the velocity of the connection point between the elastic coupling structure and the wearable structure in the human body coordinate system.

[0131] In this embodiment, according to rigid body kinematics, the second velocity of the connection point between the elastic coupling structure and the wearable structure can be decomposed into the linear velocity and angular velocity at the center of mass of the Centaur robot. Therefore, after calculating the second velocity, the electronic device can calculate the expected velocity of the center of mass of the Centaur robot at the second moment based on the expected angular velocity of the Centaur robot at the second moment, the second velocity of the connection point between the elastic coupling structure and the wearable structure at the second moment, and the first distance matrix. Among them, the expected angular velocity of the Centaur robot at the second moment can be calculated by the electronic device based on the actual posture parameters of the Centaur robot at the first moment. For the specific calculation method, please refer to the content of Example S401 of this application, which will not be repeated here. The first distance matrix can be a matrix representing the distance from the center of mass of the Centaur robot to the connection point.

[0132] Figure 6 FIG. 1 shows a schematic diagram of the speed relationship of a centaur robot provided in an embodiment of the present application. Figure 6 As shown, the second velocity v of the connection point between the elastic coupling structure and the wearable structure is inter can be decomposed into the angular velocity ω at the center of mass of the centaur robot c and the linear velocity v at the centaur robot's center of mass c Therefore, the function for the electronic device to calculate the expected speed based on the second speed can be as follows.

[0133]

[0134] in, It can represent the expected speed at the second moment, that is, the speed of the center of mass of the Centaur robot when it moves at the second moment. It can represent the second speed of the connection point between the elastic coupling structure and the wearable structure moving at the second moment. It can be expressed as the expected angular velocity of the Centaur robot at the second moment. inter The first distance matrix can be represented.

[0135] S403 : Determine motion information of each mechanical leg at the second moment according to the expected speed at the second moment, the expected posture parameter at the second moment, and a preset gait cycle.

[0136] In this embodiment, after determining the expected speed and expected posture parameters of the Centaur robot at the second moment, the electronic device can determine the motion information of each mechanical leg on the Centaur robot at the second moment based on the expected speed at the second moment, the expected posture parameters at the second moment and the preset gait cycle.

[0137] Specifically, the motion information may include the expected support force corresponding to the supporting leg and the expected landing position corresponding to the swinging leg. The electronic device may first determine the supporting leg and the swinging leg of the Centaur robot at a second moment from each of the Centaur robot's two mechanical legs through a gait cycle. The electronic device may then calculate the expected support force of the supporting leg at the second moment based on the expected posture parameters and expected speed of the Centaur robot at the second moment, and calculate the expected landing position of the swinging leg at the second moment based on the expected speed at the second moment.

[0138] Figure 7 FIG. 1 shows a schematic diagram of a motion information calculation process provided by an embodiment of the present application. Figure 7 As shown, after obtaining the actual posture parameters and actual applied force of the Centaur robot at the first moment, the electronic device can calculate the expected posture parameters and expected velocity of the Centaur robot at the second moment based on the actual posture parameters and actual applied force of the Centaur robot at the first moment. The expected posture parameters may include the expected Euler angles, expected angular velocity, and expected height of the Centaur robot. Specifically, the expected Euler angles may also include the expected heading angle, expected pitch angle, and expected roll angle of the Centaur robot.

[0139] After calculating the desired posture parameters and desired speed of the Centaur robot at the second moment, the electronic device can determine the motion information of the Centaur robot at the second moment based on the preset gait cycle, the desired posture parameters, and the desired speed. The motion information may include the desired support force corresponding to the Centaur robot's supporting leg and the desired landing position corresponding to the swing leg. After determining the motion information of the Centaur robot at the second moment, the electronic device can transmit the motion information to a proportional-integral-differential controller, which then controls the motion of the Centaur robot's supporting and swing legs.

[0140] Figure 8 The following is a flowchart showing a specific implementation of S403 in a control method for a centaur robot provided in an embodiment of the present application. The process may include: S4031 to S4033, which are described in detail as follows:

[0141] S4031. Determine the supporting leg and the swinging leg at the second moment from the two mechanical legs according to the gait cycle.

[0142] In this embodiment, because the Centaur robot requires more frequent gait phase transitions to maintain dynamic balance, the Centaur robot's gait phase is not limited to the user's gait phase. Given this, the Centaur robot's gait cycle can be pre-set by the developer. Specifically, the electronic device can determine the gait phase corresponding to each of the Centaur robot's mechanical legs at a second moment based on the gait cycle, and then determine the stance leg and swing leg from the two mechanical legs based on the gait phases corresponding to each mechanical leg. Specifically, if a particular mechanical leg is in the stance phase at the second moment, then the leg can be the stance leg; if a particular mechanical leg is in the swing phase at the second moment, then the leg can be the swing leg. For example, if the Centaur robot's gait cycle is 1 second, the electronic device can control the mechanical legs to complete a gait phase transition every 1 second. For mechanical leg i, if the current gait phase of mechanical leg i is the stance phase, and the stance duration of mechanical leg i at the second moment has reached 1 second, then the electronic device can determine that the gait phase of mechanical leg i at the second moment is the swing phase. When the swinging time of the robotic leg i in the swinging phase reaches the gait cycle, the electronic device can switch the gait phase of the robotic leg i back to the support phase, and repeat this cycle to achieve periodic replacement.

[0143] After determining the gait phase of each robotic leg at the second moment, i.e., determining the stance leg and swing leg at the second moment, the electronic device can generate a gait vector corresponding to each robotic leg based on the gait phase of the robotic leg, thereby controlling the movement of each robotic leg based on the gait vector. The gait vector can be used to represent the gait phase and motion state of the robotic leg.

[0144] Specifically, the gait vector of any mechanical leg on the Centaur robot can be shown as follows.

[0145] S i =[s i ,φ i ],i={L,R}

[0146] Among them, S i It can represent the gait vector of the mechanical leg i. Specifically, the value of i can be L or R. When i=L, it can represent the gait vector of the left mechanical leg; when i=R, it can represent the gait vector of the right mechanical leg. i It can represent the gait phase of the robot leg i. Specifically, when s i = 0, the robot leg i can be in the supporting phase, that is, the robot leg i can be the supporting leg; when s i=1, the robot leg i can be in the swing phase, that is, the robot leg i can be a swing leg. i It can represent the motion state of the robot leg i. Specifically, when φ i = 0, it means that the motion state of the robot leg i is the starting state, that is, the robot leg i has just started to support or swing; when φ i =1, it indicates that the motion state of the robot leg i is the end state, that is, the robot leg i has finished supporting or swinging.

[0147] In this embodiment, since the gait phase of the Centaur robot is not limited to the gait phase of the user, but is controlled by an independent gait cycle, the method provided in this embodiment can more effectively improve the balance of the Centaur robot, thereby enhancing the adaptability of the Centaur robot to different terrains.

[0148] S4032. Calculate the expected supporting force of the supporting leg at the second moment based on the expected posture parameters and expected speed of the Centaur robot at the second moment.

[0149] In this embodiment, before designing the control method of the Centaur robot, the researchers can first establish a state model corresponding to the supporting leg based on the single rigid body dynamic model to analyze and calculate the parameters required for the desired supporting force.

[0150] Specifically, the state model of the supporting leg can be shown as follows.

[0151]

[0152] in, It can represent the state model of the supporting leg. Can represent the first parameter matrix, the first parameter matrix It can be used to represent the influence of the Centaur robot's posture on the support force of the supporting leg; among them, the first parameter matrix in It can represent the rotation matrix corresponding to the heading angle of the Centaur robot.

[0153] B(r L ,r R ) can represent the second parameter matrix, the second parameter matrix B(r L ,r R ) can be used to represent the relationship between the support force of the supporting leg and the ground reaction force; wherein the second parameter matrix B(r L ,r R ) in r L It can be the matrix of the distance between the left mechanical leg of the Centaur robot and the center of mass of the Centaur robot, r RIt can be the matrix of the distance between the right mechanical leg of the Centaur robot and the center of mass of the Centaur robot, I can be the moment of inertia of the Centaur robot, and m can be the mass of the Centaur robot's torso.

[0154] D(F inter ,r inter ,g) can represent the third parameter matrix, the third parameter matrix D(F inter ,r inter ,g) can be used to represent the force between the Centaur robot and the user, as well as the influence of gravity on the support force of the supporting legs; where, r inter The matrix that can represent the distance between the connection point and the center of mass of the centaur robot, F inter It can represent the force acting on the connection point, that is, the force between the Centaur robot and the user, and g can represent the acceleration due to gravity.

[0155] U can represent the support force matrix, which can be the vector formed by the support forces of the two robotic legs; where F L It can represent the support force of the left mechanical leg of the Centaur robot; F R It can represent the support force of the right mechanical leg of the Centaur robot; specifically, when the supporting leg is the left mechanical leg of the Centaur robot, F L Can be greater than 0, and F R Can be equal to 0; when the supporting leg is the right mechanical leg of the Centaur robot, F L You can wait for 0, and F R Can be greater than 0.

[0156] X can represent the state vector of the Centaur robot; where, It can represent the transposed matrix of Euler angles in the posture parameters of the Centaur robot; p z It can represent the height of the Centaur robot's posture parameters; The transposed matrix of angular velocity can be expressed in the posture parameters of the Centaur robot; It can represent the velocity of the centaur robot's center of mass.

[0157] As can be seen from the state model of the supporting leg described above, it can be constructed using the Centaur robot's posture parameters and center of mass velocity. Given this, the expected support force of the supporting leg at the second moment can be calculated based on the Centaur robot's expected posture parameters and expected velocity at that moment. Therefore, for a mechanical leg on the Centaur robot, if the electronic device determines that the mechanical leg is the supporting leg at the second moment, the electronic device can calculate the expected support force of the mechanical leg at that moment based on the Centaur robot's expected posture parameters and expected velocity at that moment.

[0158] In one possible implementation, the electronic device can determine N fourth moments based on the predicted duration preset by the R&D personnel. Wherein, N can be a positive integer greater than or equal to 1. The fourth moment can be later than the first moment, and the second moment can be included in the multiple fourth moments. Exemplarily, when the first moment is 0:00, the second moment is 0:01, and the predicted duration is 5 seconds, the electronic device can determine five fourth moments, and the five fourth moments are 0:01, 0:02, 0:03, 0:04 and 0:05 respectively. After determining the N fourth moments, the electronic device can construct the expected state matrix and the actual state matrix corresponding to each fourth moment. Specifically, for any fourth moment, the electronic device can construct the expected state matrix corresponding to the fourth moment based on the expected posture parameters and expected speed of the Centaur robot at the second moment; and construct the actual state matrix corresponding to the fourth moment based on the actual speed and actual posture parameters of the Centaur robot at the first moment.

[0159] Specifically, the function of the electronic device to construct the expected state matrix can be as follows.

[0160]

[0161] in It can represent the expected state matrix corresponding to the fourth moment i+1. The value of i can be 0 to N-1. Among them, when i=0, The expected state matrix of the Centaur robot at the first moment can be represented, wherein the expected state matrix of the Centaur robot at the first moment can be constructed by the expected posture parameters and the expected height of the Centaur robot at the first moment. It can represent the first parameter matrix corresponding to the first fourth moment. Specifically, It can be constructed from the heading angle of the Centaur robot in the actual posture parameters at the first moment. It can represent the second parameter matrix corresponding to the first fourth moment. Specifically, The matrix r can be expressed as the distance between the left mechanical leg and the center of mass of the centaur robot at the first moment. L And the matrix r of the distance between the right robotic leg and the center of mass R Constructed. It can represent the third parameter matrix corresponding to the first fourth moment. Specifically, Can be U i The matrix r of the distance between the connection point and the center of mass of the Centaur robot at the first moment inter , the force F acting on the connection point inter and the acceleration due to gravity. It can represent the support force matrix corresponding to the first fourth moment. Specifically, It can be constructed from the supporting forces corresponding to the two robotic legs at the first moment. The specific construction methods of the first parameter matrix, the second parameter matrix, the third parameter matrix, and the supporting force matrix can be found in the state model of the supporting leg and will not be repeated here.

[0162] The function of the electronic device to construct the actual state matrix can be shown as follows.

[0163]

[0164] in It can represent the actual state matrix corresponding to the fourth moment i+1. The value of i can be 0 to N-1. Among them, when i=0, The actual state matrix of the Centaur robot at the first moment can be represented by It can be constructed from the actual posture parameters and actual height of the Centaur robot at the first moment. It can represent the first parameter matrix corresponding to the first fourth moment. Specifically, It can be constructed from the heading angle of the Centaur robot in the actual posture parameters at the first moment. It can represent the second parameter matrix corresponding to the first fourth moment. Specifically, The matrix r can be expressed as the distance between the left mechanical leg and the center of mass of the centaur robot at the first moment. L And the matrix r of the distance between the right robotic leg and the center of mass R Constructed. It can represent the third parameter matrix corresponding to the first fourth moment. Specifically, Can be U i The matrix r of the distance between the connection point and the center of mass of the Centaur robot at the first moment inter , the force F acting on the connection point inter and the acceleration due to gravity. It can represent the support force matrix corresponding to the first fourth moment. Specifically, It can be constructed from the supporting forces corresponding to the two robotic legs at the first moment. The specific construction methods of the first parameter matrix, the second parameter matrix, the third parameter matrix, and the supporting force matrix can be found in the state model of the supporting leg and will not be repeated here.

[0165] After determining the expected state matrix and the actual state matrix corresponding to the N fourth moments, the electronic device can construct an objective function based on the N expected state matrices, the N actual state matrices and the preset weight matrix. After determining the objective function, the electronic device can solve the objective function according to the second constraint condition pre-set by the R&D personnel to determine the predicted support force corresponding to the N fourth moments. Among them, the second constraint condition can be used to reduce the impact force when the swinging leg lands, thereby achieving a soft landing. Then, the electronic device can determine the expected support force of the support leg of the Centaur robot at the second moment based on the predicted support force corresponding to the N fourth moments. Specifically, the electronic device can determine the predicted support force corresponding to the fourth moment that is the same as the second moment as the expected support force of the support leg at the second moment.

[0166] Specifically, the objective function can be expressed as follows.

[0167]

[0168] Among them, U i+1 It can represent the predicted support matrix corresponding to the i+1th moment, where i can be from 0 to N-1. min can be the minimum function. It can represent the expected state matrix corresponding to the i-th fourth moment. To represent the actual state matrix corresponding to the i-th fourth moment. P can represent the preset third weight matrix. Q can represent the preset fourth weight matrix.

[0169] The second constraint condition can be specifically expressed as follows.

[0170]

[0171] Among them, F i It can represent the support force corresponding to the robot leg i. μ can represent the friction coefficient of the ground. s i It can be the motion state of the robotic leg i in the gait vector. It can represent the maximum value of the support force in the z direction. soft It can be expressed as the support coefficient, k soft ·F max It can represent the preset initial value of the support force, F max Indicates the preset maximum support force, φ soft It can represent the preset motion state coefficient.

[0172] Because the supporting leg needs to switch from the swing phase to the support phase at the second moment, if the impact force between the foot of the supporting leg and the ground is large just after the swing phase ends, that is, when the supporting leg just contacts the ground, this will affect the Centaur robot's torso posture and movement speed, thereby affecting the Centaur robot's balance. In this embodiment, because the electronic device can determine the support force of the swing leg at the second moment based on the second constraint condition, the supporting leg will not significantly impact the ground when landing. Therefore, the method provided in this embodiment can control the supporting leg to achieve a soft landing from the moment of contact, thereby improving the balance and stability of the Centaur robot.

[0173] In one possible implementation, the third weight matrix P in the objective function may include the speed weight P v Among them, the speed weight P v The expected force can be preset Fdes , speed weight P v Minimum value P0 in the horizontal direction, speed weight P v The maximum value P in the horizontal direction max The difference ΔF between the actual force between the Centaur robot and the user at the first moment and the preset expected force is calculated. v The specific calculation formula can be shown as follows.

[0174]

[0175] During the movement of the Centaur robot, its posture stability is a key factor influencing the force between the Centaur robot and the user. Therefore, when the difference ΔF between the actual force and the preset expected force is large (i.e., the actual force is much smaller than or much smaller than the expected force), the horizontal thrust experienced by the user is small. Therefore, the electronic device needs to quickly reduce the difference ΔF between the actual force and the preset expected force to provide the user with an appropriate horizontal thrust. Therefore, in this case, the weight of speed in the adjustment process can be appropriately reduced, and the Centaur robot's posture parameters and height can be prioritized to adjust the actual force between the Centaur robot and the user close to the expected force. When the difference ΔF between the actual force and the preset expected force is small, the Centaur robot requires a larger ground reaction force to offset the interference of the actual force between the Centaur robot and the user. Therefore, the electronic device can gradually increase the weight of speed, appropriately increasing the weight of speed in the adjustment process.

[0176] S4033. Calculate the expected landing position of the swing leg at the second moment based on the expected speed at the second moment.

[0177] In this embodiment, before designing the control method for the Centaur robot, researchers can first establish a torque balance equation for the swinging leg in a stable state. This equation can then be used to determine the parameters required to calculate the desired foot placement. The torque balance equation can be determined by performing a dynamic analysis of the swinging leg in a stable state. Figure 9 FIG1 shows an example diagram of force analysis of a centaur robot provided in an embodiment of the present application. Figure 9 As shown in the figure, during the movement of the Centaur robot, the Centaur robot's swinging legs will be affected by the ground reaction force. The Centaur robot will also be affected by the actual force between the Centaur robot and the user and gravity. Therefore, when establishing the torque balance equation, it is necessary to simultaneously consider the ground reaction force, the actual force between the Centaur robot and the user, and the influence of gravity on the swinging legs. In addition, since the ground reaction force on the swinging legs is limited by the torque balance condition, and the ground reaction force is limited by the force between the Centaur robot and the user, the torque balance equation can be constructed based on parameters such as the torque balance condition and the force between the Centaur robot and the user. Specifically, the torque balance equation for the swinging legs in a stable state can be shown as follows.

[0178]

[0179] Among them, F i,x It can represent the value of the force at the foot end of the swinging leg in the x direction. i F i,z It can represent the value of the force at the foot end of the swinging leg in the z direction. inter,x It can represent the value of the force between the Centaur robot and the user in the x-direction. inter,z The value of the force between the Centaur robot and the user in the z direction, m, and g represent the mass of the Centaur robot's torso. It can represent the value of the acceleration in the x direction at the center of mass of the Centaur robot. It can represent the value of the acceleration in the z direction at the center of mass of the Centaur robot. foot,x It can represent the distance from the centaur robot's center of mass to the swing leg in the x direction. foot,z It can represent the distance from the centaur robot's center of mass to the swing leg in the z direction. CoM,x It can be expressed as the distance in the x-direction from the centaur robot's center of mass to the connection point between the torso and the elastic coupling structure. mg·r CoM,x It can represent the gravitational torque on the centaur robot’s center of mass caused by gravity. inter It can represent the moment of inertia of the Centaur robot in the pitch direction of the torso. It can represent the angular acceleration of the Centaur robot in the pitch direction of the torso. For example, Can be 0.

[0180] The torque balance equation above can be used to determine the expected landing position of the swinging leg at the second moment, which can be calculated based on the Centaur's expected speed. Therefore, for a mechanical leg on a Centaur robot, if the electronic device determines that the mechanical leg is a swinging leg at the second moment, the electronic device can calculate the expected landing position of the swinging leg at the second moment based on the Centaur's expected speed at the second moment.

[0181] In one possible implementation, the electronic device may calculate the initial landing position of the swinging leg based on the centaur robot's center of mass at a first moment and a preset desired force. After determining the initial landing position, the electronic device may calculate a correction parameter based on the centaur robot's desired speed at a second moment, the centaur robot's actual speed at the first moment, and a preset swing duration. The electronic device may then calculate the desired landing position of the swinging leg at the second moment based on the initial landing position and the correction parameter.

[0182] Specifically, the specific calculation formula for the electronic device to calculate the expected landing position can be as follows.

[0183]

[0184] r i ref =p configuration +p Raibert ,i∈{L,R}

[0185] Among them, F des It can represent the preset expected force. configuration It can represent the initial landing position of the swing leg. foot A matrix that represents the distance between the swinging leg and the center of mass. CoM It can represent the position matrix of the connection point between the trunk and the elastic coupling structure and the distance between it and the center of mass. Raibert Can represent the correction parameter. k r It can represent the preset safety margin factor. max It can indicate the preset maximum support force. It can represent the position matrix of the robot's center of mass in the world coordinate system, that is, the center of mass position of the Centaur robot at the first moment. It can represent the rotation matrix from the robot coordinate system to the world coordinate system. st T gait It can indicate the preset swing duration. It can represent the actual speed of the Centaur robot at the first moment.v It can represent the preset parameter weight. It can be expressed as the expected speed of the Centaur robot at the second moment. i ref It can represent the expected landing position of the Centaur robot's swinging legs at the second moment.

[0186] Through the method provided by this embodiment, the electronic device can reasonably plan the expected landing position of the swing leg at the second moment based on the center of mass position of the Centaur robot at the first moment, the expected force, the expected speed at the second moment, and the actual speed at the first moment. Since the position is determined by the electronic device in combination with the center of mass position of the Centaur robot, the method provided by this embodiment can improve the stability of the center of mass trajectory in the state of human-machine collaborative walking, thereby improving the stability of the Centaur robot during movement. In addition, the electronic device further calculates the expected landing position in combination with the expected force. Therefore, the method provided by this embodiment can enable the Centaur robot's swinging leg to output a stable force to the user while swinging, thereby providing assistance to the user, thereby reducing the user's energy consumption during movement.

[0187] In order to prove the effectiveness of this solution, the researchers conducted a flat ground walking experiment and an interactive force control experiment based on the control method provided in the embodiments of this application. The specific experimental contents are as follows.

[0188] Experiment 1: Flat Ground Walking Experiment

[0189] To verify the human-robot synergy when wearers of different weights and heights walked using the Centaur robot provided in the embodiments of this application, researchers conducted a flat-bottom walking experiment. The flat-bottom walking experiment can be conducted outdoors, with different subjects performing the flat-bottom walking experiment on the same walking route. Figure 10 FIG1 shows a schematic diagram of a walking route provided by an embodiment of the present application. Figure 10 As shown, the walking route 4 of the flat-bottom walking experiment can be a triangular route around the flower bed 3, and the walking route is about 100 meters long. The subjects can walk around the flower bed 3 and can freely choose the walking speed they feel comfortable and confident to complete the flat-bottom walking experiment.

[0190] R&D personnel can count the control error and average walking speed of all subjects to analyze the human-machine collaboration of the Centaur robot under the control method provided in the embodiment of the present application based on the control error and average walking speed. Specifically, the root mean square error (RMSE) of all subjects in the walking direction can be 0.0856±0.0353 radians (radians, rad), while the root mean square error of the roll angle can be 0.0585±0.0054 radians, and the root mean square error of the pitch angle can be 0.0234±0.0053 radians. Among them, in the flat-bottom walking experiment, the expected values ​​of the root mean square errors of the expected values ​​of the roll angle and the pitch angle can both be 0. The average walking speed of the ten subjects when using the Centaur robot was 1.03 meters per second, which is comparable to the average walking speed of the subjects when walking normally. It can be seen that the Centaur robot does not exert a significant negative impact on the subject's movement process.

[0191] Experiment 2: Interactive Force Control Experiment

[0192] In order to prove that the control method provided in the embodiment of the present application can enable the Centaur robot to provide propulsion to the user in the horizontal direction, the researchers conducted an interactive force control experiment. The researchers recruited four subjects to conduct the interactive force control experiment. Among them, there were 2 male subjects and 2 female subjects, the height range of the subjects was 163-174 cm, and the weight range of the subjects was 55-73 kg. In order to ensure the consistency of the walking speed of each subject in the interactive force control experiment, the interactive force control experiment was carried out on a treadmill. The treadmill speed can be set to 0 meters per second, 0.4 meters per second, 0.7 meters per second and 1.0 meters per second, and each speed interval can last for 15 seconds. During the interactive force control experiment, the treadmill can be uniformly accelerated to the next target speed within 4 seconds, and then maintain a constant speed. After 60 seconds, the treadmill decelerates at an acceleration of -0.1 meters per square second to decelerate from 1.0 meters per second to 0 meters per second.

[0193] Figure 11 A schematic diagram of an interaction force curve and a speed curve provided in an embodiment of the present application is shown. Figure 11 (a) is the interaction force curve of a subject during the interaction force control experiment. Figure 11 (b) in the figure is the speed curve of a subject during the interactive force control experiment. Figure 11 As shown in (a) of Figure 2, after the Centaur robot starts, the interaction force (i.e., the actual force between the Centaur robot and the user) increases rapidly from 0 N to 40 N, and finally stabilizes at 40 N. Figure 11As shown in (b), the subject's movement speed slowly increases from 0 meters per second to 1 meter per second. At 60 seconds, the subject's movement speed begins to decrease by 1.0 meter per second and decelerates to 0 meters per second. During the interactive force control experiment, the interactive force is stabilized at about 40 Newtons, and the root mean square error of the interactive force is 5.4667 Newtons. The average value of the root mean square error of the interactive force of all subjects is 6.3031±0.9404 Newtons. It can be seen that the control method provided in the embodiment of the present application can control the Centaur robot to continuously output a stable driving force to the user, thereby. The proposed motion interaction controller adjusts the torso speed of the Centaur robot according to the compression state of the elastic mechanism to adjust the human-computer interaction force.

[0194] It should be noted that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0195] Reference Figure 12 , shows a schematic diagram of a control device for a centaur robot provided in an embodiment of the present application, which may specifically include a force determination module 1201, a motion information determination module 1202, and a control module 1203, wherein:

[0196] a force determination module 1201 for determining, when a user is wearing the Centaur robot, an actual force between a torso of the Centaur robot and the user at a first moment based on an actual deformation of the elastic coupling structure of the Centaur robot;

[0197] a motion information determining module 1202 for determining motion information of a mechanical leg of the Centaur robot at a second moment based on the actual applied force at the first moment, the actual posture parameters of the Centaur robot at the first moment, and a preset gait cycle; the mechanical leg includes a supporting leg and a swinging leg; the second moment is later than the first moment;

[0198] The control module 1203 is configured to control the movement of the support leg and the swing leg of the Centaur robot according to the movement information at the second moment.

[0199] The motion information determination module 1202 can also be used to calculate the expected posture parameters of the Centaur robot at the second moment based on the actual posture parameters of the Centaur robot at the first moment; calculate the expected speed of the Centaur robot at the second moment based on the actual force at the first moment; the expected speed is the speed of the center of mass of the Centaur robot when it moves at the second moment; determine the motion information of each of the mechanical legs at the second moment based on the expected speed at the second moment, the expected posture parameters at the second moment and the preset gait cycle.

[0200] The motion information determination module 1202 can also be used to construct a first parameter matrix based on the actual pitch angle and actual height of the Centaur robot at the first moment; construct a second parameter matrix based on the expected pitch angle and expected height of the Centaur robot at the first moment; construct a first function based on the first parameter matrix and the second parameter matrix; solve the first function based on a preset first constraint condition to determine the expected height and expected pitch angle of the Centaur robot at the second moment; determine the expected heading angle of the Centaur robot at the second moment based on the actual heading angle of the user moving at the first moment; determine the expected Euler angle of the Centaur robot at the second moment based on the expected pitch angle at the second moment, the expected heading angle at the second moment and the preset roll angle.

[0201] The motion information determination module 1202 can also be used to calculate the difference between the expected Euler angle of the Centaur robot at the second moment and the actual Euler angle at the first moment; and calculate the expected angular velocity at the second moment based on the difference and a preset angular velocity coefficient.

[0202] The motion information determination module 1202 can also be used to input the value of a preset expected force into a preset deformation function to determine the expected deformation of the elastic coupling structure; calculate the first speed at the second moment based on the difference between the actual deformation and the expected deformation; the first speed is the speed of the connection point between the elastic coupling structure and the wearable structure during the movement of the second moment; perform a coordinate system transformation on the first speed at the second moment according to a preset rotation matrix to determine the second speed at the second moment; calculate the expected speed of the Centaur robot at the second moment based on the expected angular velocity at the second moment, the second speed at the second moment and the first distance matrix; the first distance matrix is ​​used to represent the distance from the center of mass of the Centaur robot to the connection point.

[0203] The motion information determination module 1202 can also be used to determine the supporting leg and the swinging leg at the second moment from the two mechanical legs according to the gait cycle; calculate the expected supporting force of the supporting leg at the second moment according to the expected posture parameters and expected speed of the Centaur robot at the second moment; and calculate the expected landing position of the swinging leg at the second moment according to the expected speed at the second moment.

[0204] The motion information determination module 1202 can also be used to construct N expected state matrices based on the expected posture parameters and expected speed at the second moment; N is a positive integer greater than or equal to 1; construct N actual state matrices based on the actual speed and actual posture parameters of the Centaur robot at the first moment; construct an objective function based on the N expected state matrices, the N actual state matrices and a preset weight matrix; solve the objective function according to a preset second constraint condition to determine N predicted support forces; determine the expected support force of the supporting leg at the second moment based on the N predicted support forces.

[0205] The motion information determination module 1202 can also be used to calculate the initial landing position of the swing leg based on the center of mass position of the Centaur robot at the first moment and the preset expected force; calculate the correction parameter based on the expected speed at the second moment, the actual speed of the Centaur robot at the first moment and the preset swinging time; calculate the expected landing position of the swing leg at the second moment based on the initial landing position and the correction parameter.

[0206] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment part.

[0207] Reference Figure 13 , shows a schematic diagram of an electronic device provided by an embodiment of the present application. Figure 13 As shown, the electronic device 1300 in the embodiment of the present application includes: a processor 1310, a memory 1320, and a computer program 1321 stored in the memory 1320 and executable on the processor 1310. When the processor 1310 executes the computer program 1321, the steps in each embodiment of the control method of the centaur robot are implemented, such as Figure 3 Alternatively, when the processor 1310 executes the computer program 1321, the functions of the modules / units in the above-mentioned device embodiments are realized, for example Figure 12 Functions of modules 1201 to 1203 are shown.

[0208] Exemplarily, the computer program 1321 may be divided into one or more modules / units, which are stored in the memory 1320 and executed by the processor 1310 to complete the present application. The one or more modules / units may be a series of computer program instruction segments capable of performing specific functions, which may be used to describe the execution process of the computer program 1321 in the electronic device 1300. For example, the computer program 1321 may be divided into a force determination module, a motion information determination module, and a control module, with the specific functions of each module being as follows:

[0209] a force determination module for determining, when the user is wearing the Centaur robot, an actual force between the torso of the Centaur robot and the user at a first moment based on an actual deformation of the elastic coupling structure of the Centaur robot;

[0210] a motion information determination module, configured to determine motion information of a mechanical leg of the Centaur robot at a second moment based on the actual applied force at the first moment, the actual posture parameters of the Centaur robot at the first moment, and a preset gait cycle; the mechanical leg includes a supporting leg and a swinging leg; the second moment is later than the first moment;

[0211] A control module is used to control the support leg and the swing leg of the Centaur robot respectively according to the motion information at the second moment.

[0212] The electronic device 1300 may include, but is not limited to, a processor 1310 and a memory 1320. Those skilled in the art will appreciate that Figure 13 It is only an example of the electronic device 1300 and does not constitute a limitation of the electronic device 1300. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the electronic device 1300 may also include input and output devices, network access devices, buses, etc.

[0213] The processor 1310 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0214] The memory 1320 may be an internal storage unit of the electronic device 1300, such as a hard disk or memory of the electronic device 1300. The memory 1320 may also be an external storage device of the electronic device 1300, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the electronic device 1300. Furthermore, the memory 1320 may include both an internal storage unit of the electronic device 1300 and an external storage device. The memory 1320 is used to store the computer program 1321 and other programs and data required by the electronic device 1300. The memory 1320 may also be used to temporarily store data that has been output or is about to be output.

[0215] An embodiment of the present application also discloses an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the control method of the Centaur robot as described in the aforementioned embodiments is implemented.

[0216] An embodiment of the present application further discloses a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the control method of the Centaur robot as described in the aforementioned embodiments is implemented.

[0217] An embodiment of the present application further discloses a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the control method of the Centaur robot described in the aforementioned embodiments.

[0218] The above embodiments are intended only to illustrate the technical solutions of the present application and are not intended to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they may still modify the technical solutions described in the above embodiments or replace some of the technical features therein with equivalents; and such modifications or replacements do not deviate from the spirit and scope of the technical solutions of the embodiments of the present application and should be included within the scope of protection of the present application.

Claims

1. A control method for a centaur robot, characterized in that: Applied to Centaur robots with wearable structures; A user wears the Centaur robot through the wearing structure; the method includes: When a user is wearing the Centaur robot, determining an actual force between a torso of the Centaur robot and the user at a first moment based on an actual deformation of the elastic coupling structure of the Centaur robot; determining, based on the actual applied force at the first moment, the actual posture parameters of the Centaur robot at the first moment, and a preset gait cycle, motion information of a mechanical leg of the Centaur robot at a second moment; the mechanical leg includes a supporting leg and a swinging leg; the second moment is later than the first moment; At the second moment, the support leg and the swing leg of the Centaur robot are controlled to move respectively according to the motion information.

2. The method according to claim 1, characterized in that The determining, based on the actual force at the first moment, the actual posture parameters of the Centaur robot at the first moment, and a preset gait cycle, motion information of the mechanical legs of the Centaur robot at the second moment includes: Calculating expected posture parameters of the Centaur robot at the second moment based on actual posture parameters of the Centaur robot at the first moment; Calculating an expected speed of the Centaur robot at a second moment based on the actual force at the first moment; the expected speed is the speed of the center of mass of the Centaur robot when it moves at the second moment; The motion information of each of the mechanical legs at the second moment is determined according to the expected speed at the second moment, the expected posture parameter at the second moment, and a preset gait cycle.

3. The method according to claim 2, characterized in that The actual posture parameters include the actual height and actual pitch angle of the Centaur robot; the expected posture parameters include the expected Euler angle and the expected height; The calculating, based on the actual posture parameters of the Centaur robot at the first moment, the expected posture parameters of the Centaur robot at the second moment, comprises: constructing a first parameter matrix according to the actual pitch angle and actual height of the Centaur robot at the first moment; constructing a second parameter matrix according to the expected pitch angle and expected height of the Centaur robot at the first moment; constructing a first function according to the first parameter matrix and the second parameter matrix; Solving the first function based on a preset first constraint condition to determine an expected height and an expected pitch angle of the Centaur robot at the second moment; determining an expected heading angle of the Centaur robot at the second moment based on the actual heading angle of the user moving at the first moment; The expected Euler angle of the Centaur robot at the second moment is determined according to the expected pitch angle at the second moment, the expected heading angle at the second moment, and the preset roll angle.

4. The method according to claim 3, characterized in that The desired posture parameters also include desired angular velocity; After determining the expected Euler angle of the Centaur robot at the second moment according to the expected pitch angle at the second moment, the expected heading angle at the second moment, and the preset roll angle, the method further includes: Calculating the difference between the expected Euler angle of the Centaur robot at the second moment and the actual Euler angle of the Centaur robot at the first moment; The expected angular velocity at the second moment is calculated according to the difference and a preset angular velocity coefficient.

5. The method according to claim 4, characterized in that Calculating the expected speed of the Centaur robot at the second moment based on the actual force at the first moment includes: Inputting a preset desired force value into a preset deformation function to determine a desired deformation amount of the elastic coupling structure; calculating a first velocity at the second moment according to a difference between the actual deformation amount and the expected deformation amount; the first velocity being a velocity of a connection point between the elastic coupling structure and the wearable structure during movement at the second moment; Performing a coordinate system transformation on the first velocity at the second moment according to a preset rotation matrix to determine a second velocity at the second moment; The expected velocity of the Centaur robot at the second moment is calculated based on the expected angular velocity at the second moment, the second velocity at the second moment, and a first distance matrix; the first distance matrix is ​​used to represent the distance from the center of mass of the Centaur robot to the connection point.

6. The method according to any one of claims 2 to 5, characterized in that: The motion information includes the expected support force of the supporting leg and the expected landing position of the swinging leg; The determining, based on the actual force at the first moment, the actual posture parameters of the Centaur robot at the first moment, and a preset gait cycle, motion information of the mechanical legs of the Centaur robot at the second moment includes: determining the supporting leg and the swinging leg at the second moment from the two mechanical legs according to the gait cycle; Calculating an expected supporting force of the supporting leg at the second moment according to an expected posture parameter and an expected speed of the Centaur robot at the second moment; According to the expected speed at the second moment, the expected landing position of the swing leg at the second moment is calculated.

7. The method according to claim 6, characterized in that Calculating the expected supporting force of the supporting leg at the second moment according to the expected posture parameter and the expected speed of the Centaur robot at the second moment includes: Constructing N expected state matrices according to the expected posture parameters and expected speed at the second moment, wherein N is a positive integer greater than or equal to 1; Constructing N actual state matrices according to the actual speed and actual posture parameters of the Centaur robot at the first moment; Constructing an objective function according to the N desired state matrices, the N actual state matrices, and a preset weight matrix; Solving the objective function according to the preset second constraint condition to determine N predicted support forces; An expected supporting force of the supporting leg at the second moment is determined based on the N predicted supporting forces.

8. The method according to claim 6, characterized in that Calculating the expected landing position of the swing leg at the second moment according to the expected speed at the second moment includes: Calculating an initial landing position of the swing leg according to the center of mass position of the Centaur robot at the first moment and a preset expected force; Calculating a correction parameter according to the desired speed at the second moment, the actual speed of the Centaur robot at the first moment, and a preset swinging duration; The expected landing position of the swing leg at the second moment is calculated according to the initial landing position and the correction parameter.

9. An electronic device, characterized in that: The electronic device comprises a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the electronic device implements the control method of the Centaur robot according to any one of claims 1 to 8.

10. A computer program product, characterized in that The invention comprises a computer program, which enables the control method of the centaur robot according to any one of claims 1 to 8 to be executed when the computer program is executed.

Citation Information

Patent Citations

  • Gait control method and device for wearable auxiliary load-bearing robot

    CN117103260A

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

    CN117798907A