Distributed control method and device for dual-quadruped robot splicing assembly

By employing distributed control methods and nonlinear model predictive control strategies, the problems of insufficient dynamic stability and environmental interaction capabilities of bipedal robot assembly were solved, achieving higher stability and environmental adaptability.

CN117245654BActive Publication Date: 2026-02-10SHANDONG UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202311204770.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-18
Publication Date
2026-02-10
Estimated Expiration
2043-09-18

AI Technical Summary

Technical Problem

Existing bipedal quadruped robot assembly systems have shortcomings in dynamic stability, environmental interaction capabilities, and constraint optimization, exhibiting poor dynamic stability, poor environmental interaction capabilities, and poor constraint optimization capabilities.

Method used

A distributed control method is adopted to acquire the motion state information of the fore-and-aft quadruped robot, construct the controller's constraints and loss function, determine the optimal foot force and drive joint torque, and use nonlinear model predictive control and distributed whole-body control strategies to achieve coordinated control of the fore-and-aft quadruped robot. A system optimization method with multiple constraints and multiple losses is established to ensure dynamic stability.

Benefits of technology

It improves the dynamic stability and environmental interaction capabilities of bipedal quadruped robot assembly, optimizes constraint management, and enhances the overall stability, terrain adaptability, and mobility efficiency of the robot.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117245654B_ABST
    Figure CN117245654B_ABST
Patent Text Reader

Abstract

The application discloses a distributed control method and device for a double quadruped robot splicing combination, constraint conditions and a loss function of controllers of front and rear quadruped robots are constructed according to motion state information of the front and rear quadruped robots and control instructions of an upper computer; optimal foot base forces of the front and rear quadruped robots are determined according to the constraint conditions and the loss function; expected driving joint angles, angular velocities and angular accelerations of the front and rear quadruped robots are determined according to respective control tasks of the front and rear quadruped robots; driving joint torques of the front and rear quadruped robots are determined according to the expected driving joint angles, angular velocities and angular accelerations of the front and rear quadruped robots and the optimal foot base forces, the driving joint torques are input into joint driving controllers, and the front and rear quadruped robots start to move; and it is judged whether observation states of the front and rear quadruped robots satisfy hard constraint limits, and the movement is continuously performed if the observation states satisfy the hard constraint limits. The application has the advantages of giving consideration to dynamic stability and coordinated control.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of bipedal robot control technology, and in particular to a distributed control method and apparatus for bipedal robot assembly. Background Technology

[0002] The statements in this section merely refer to the background art related to this invention and do not necessarily constitute prior art.

[0003] Quadruped robots have been widely used in various fields after years of development. However, single quadruped robots currently face numerous problems in environmental interaction due to their inherent structural and design limitations. Bi-quadruped robot assemblies, while enabling collaborative task completion through coordinated control, reduce overall design costs and control complexity by using fewer robots. Traditional assemblies use a rigid link to connect two quadruped robots, whose structural configuration and motion parameters are still limited by the length of the rigid link and the total degrees of freedom. Bi-quadruped robot assemblies with non-rigid connection mechanisms, however, increase the number of degrees of freedom, improving robot stability, terrain adaptability, mobility, load-bearing capacity, and flexible operation capabilities, significantly expanding the control methods for the assemblies. Assemblies with non-rigid connection mechanisms can fully combine the structural characteristics of multiple quadruped robots with the motion characteristics of individual quadruped robots. By designing motion control methods for the assemblies, they can effectively overcome the chaotic and contradictory movements of multiple robots, effectively manage and coordinate each individual robot in the assembly, and show great promise in fully leveraging the advantages of individual robots.

[0004] Current research on bipedal quadruped robot assembly still faces the following core problems: poor dynamic stability, poor environmental interaction capabilities, and poor constraint optimization capabilities. Summary of the Invention

[0005] To address the shortcomings of existing technologies, this invention provides a distributed control method and device for bipedal quadruped robot assembly, which has the advantages of balancing dynamic stability and coordinated control.

[0006] According to one aspect of the embodiments of this application, a distributed control method for a bipedal robot assembly is provided, comprising:

[0007] Acquire motion state information of the fore and hind quadruped robots respectively;

[0008] Based on the motion state information of the quadruped robots and the different control commands from the host computer to the quadruped robots, the constraints and loss functions of the controllers for the quadruped robots are constructed respectively.

[0009] Based on the constraints and loss function of the controller of the quadruped robot, the optimal foot force of the quadruped robot is determined.

[0010] Based on the respective control tasks of the front and rear quadruped robots, determine the desired drive joint angles, angular velocities, and angular accelerations of the front and rear quadruped robots;

[0011] Based on the desired drive joint angles, angular velocities, angular accelerations, and optimal foot force of the quadruped robot, the drive joint torque of the quadruped robot is determined, and the drive joint torque is input into the joint drive controller, and the quadruped robot begins to move.

[0012] Determine whether the observed states of the two quadruped robots satisfy the hard constraints. If they do, continue the motion process; otherwise, stop the motion.

[0013] According to one aspect of the embodiments of this application, a distributed control device for a biquadric robot assembly is provided;

[0014] A distributed control device for a bipedal quadruped robot assembly includes:

[0015] The acquisition module is configured to acquire motion state information of the fore and hind quadruped robots respectively.

[0016] The module is configured to: construct the constraints and loss functions of the controller for the quadruped robot based on the motion state information of the quadruped robot and the different control commands from the host computer to the quadruped robot.

[0017] The first determining module is configured to: determine the optimal foot force of the quadruped robot based on the constraints and loss function of the controller of the quadruped robot;

[0018] The second determining module is configured to: determine the desired drive joint angles, angular velocities, and angular accelerations of the quadruped robots based on their respective control tasks.

[0019] The third determining module is configured to: determine the driving joint torque of the quadruped robot based on the desired driving joint angle, angular velocity, angular acceleration and optimal foot force of the quadruped robot, input the driving joint torque into the joint driving controller, and the quadruped robot starts to move.

[0020] The judgment module is configured to: determine whether the observed states of the two quadruped robots in front and behind meet the hard constraints; if they do, continue the motion process; otherwise, stop the motion.

[0021] According to one aspect of the embodiments of this application, a bipedal quadruped robot assembly is provided, the bipedal quadruped robot assembly including a processor and a memory, the memory storing at least one instruction, at least one program, code set or instruction set, the at least one instruction, the at least one program, the code set or instruction set being loaded and executed by the processor to implement the above-described robot control method.

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

[0023] According to one aspect of the embodiments of this application, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A robot's processor reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the robot to perform the aforementioned robot control method.

[0024] One of the above technical solutions has the following advantages or beneficial effects:

[0025] 1. Establish the configuration of the bipedal quadruped robot assembly, and use right-angle connecting rods to form splicing joints to connect the front and rear quadruped robots.

[0026] 2. Establish a distributed control system and method suitable for bipedal quadruped robot assembly. Divide the distributed control subsystem into multiple units, with different units performing different control tasks. At the same time, adopt a two-layer information communication system architecture with nested bus to realize the control of the front and rear quadruped robot distributed control subsystems through the host computer.

[0027] 3. By adopting the Nonlinear Model Predictive Control (NMPC) strategy and the Distributed Whole Body Control (WBC) strategy, the different control tasks of the front and rear quadruped robot controllers are divided into sub-tasks and their priorities are set respectively, and the optimal foot force and drive joint torque are solved.

[0028] 4. This invention establishes a system optimization method with multiple constraints and multiple losses. For the force exerted on the end of the right-angle link by another quadruped robot on one quadruped robot in the combined system, dynamic stability inequality constraints and normalized dynamic energy stability margin (NDESM) are established under static gait. The NDESM is designed as a normalized dynamic energy loss to achieve dynamic stability of the quadruped robot under external force. Attached Figure Description

[0029] The accompanying drawings, which form part of this invention, are used to provide a further understanding of the invention. The illustrative embodiments of the invention and their descriptions are used to explain the invention and do not constitute an improper limitation of the invention.

[0030] Figure 1 This is a diagram illustrating the safe distance between the joint and the fuselage.

[0031] Figure 2 This is a flowchart of the distributed control method in this invention;

[0032] Figure 3 This is a schematic diagram illustrating the process of establishing the Normalized Dynamic Energy Stability Margin (NDESM).

[0033] Figure 4 This is a distributed WBC flowchart for quadruped robots with different motion tasks.

[0034] Figure 5 This is a schematic diagram of the overall assembly of the bipedal quadruped robot.

[0035] Figure 6 This is a top view of the assembled bipedal quadruped robot.

[0036] Figure 7(a) is a schematic diagram of the position of the cylindrical base of the quadruped robot;

[0037] Figure 7(b) is a schematic diagram of the position of the cylindrical base of the quadruped robot;

[0038] Figure 8(a) is a schematic diagram of the hardware layer of the distributed control system of the present invention;

[0039] Figure 8(b) is a schematic diagram of the distributed control method of the present invention.

[0040] Figure 9 This is a hardware connection diagram of the distributed control system in this invention;

[0041] Among them, 0 is the left front leg of the quadruped robot, 1 is the right front leg of the quadruped robot, 2 is the left hind leg of the quadruped robot, 3 is the right hind leg of the quadruped robot, 4 is the left front leg of the quadruped robot, 5 is the right front leg of the quadruped robot, 6 is the left hind leg of the quadruped robot, and 7 is the right hind leg of the quadruped robot; ① is the initial surface, ② is the vertical surface, and ③ is the surface of rotation. Detailed Implementation

[0042] It should be noted that the following detailed descriptions are exemplary and intended to provide further illustration of the invention. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains.

[0043] Example 1

[0044] This embodiment provides a distributed control method for a bipedal robot assembly;

[0045] A distributed control method for bipedal robot assembly includes:

[0046] S101: Obtain the motion state information of the front quadruped robot and the rear quadruped robot;

[0047] S102: Based on the motion state information of the quadruped robot and the control instructions from the host computer, construct the constraints and loss function of the quadruped robot's controller;

[0048] Based on the motion state information of the quadruped robot and the control instructions from the host computer, the constraints and loss function of the quadruped robot's controller are constructed.

[0049] S103: Determine the optimal foot force of the quadruped robot based on the constraints and loss function of the controller.

[0050] Based on the constraints and loss function of the quadruped robot's controller, the optimal foot force of the quadruped robot is determined.

[0051] S104: Based on the control task of the quadruped robot, determine the desired drive joint angles, angular velocities, and angular accelerations of the quadruped robot;

[0052] Based on the control task of the quadruped robot, determine the desired drive joint angles, angular velocities, and angular accelerations of the quadruped robot.

[0053] S105: Based on the expected drive joint angle, angular velocity, and angular acceleration of the quadruped robot, as well as the optimal plantar force, determine the drive joint torque of the quadruped robot, input the drive joint torque into the joint drive controller, and the quadruped robot begins to move.

[0054] Based on the desired drive joint angle, angular velocity, angular acceleration, and optimal foot force of the quadruped robot, the drive joint torque of the quadruped robot is determined, and the drive joint torque is input into the joint drive controller, and the quadruped robot begins to move.

[0055] S106: Determine whether the observed states of the two quadruped robots in front and behind meet the hard constraints. If they do, continue the motion process; otherwise, stop the motion.

[0056] Further, S101: Obtain the motion state information of the front quadruped robot and the motion state information of the rear quadruped robot, wherein the motion state information specifically includes: the position of the body center of mass, velocity, body attitude angle and angular velocity, etc.

[0057] Furthermore, the constraints in S102 include: nonlinear inequality constraints of collision friction cone, orthogonal equality constraints of collision distance, orthogonal equality constraints of collision velocity, and dynamic stability inequality constraints under static gait.

[0058] Define the rotational torque M generated by the quadruped robot rotating about the j-th side of the supporting polygon. j as follows:

[0059] M j =(F s ×s j +M s )·r j

[0060] Define the dynamic stability inequality constraints under static gait as follows:

[0061] M j >0

[0062] Where j = 1, ..., n c -1, n c F represents the number of supporting feet in the current state. s and M s Let r represent the net force and net torque acting on the quadruped robot, respectively. j Let s be the unit vector supporting the j-th edge of the polygon. j Let represent the orthogonal vector of the j-th side of the supporting polygon, starting on the j-th side of the supporting polygon and pointing towards the center of gravity of the quadruped robot.

[0063] Furthermore, the nonlinear inequality constraints of the collision friction cone include:

[0064]

[0065] Where i = 1, ..., n c F cziF represents the normal component of the force on the sole of the i-th leg. czi,max F represents the maximum normal plantar force of a single leg, μ represents the coefficient of sliding friction, and F represents the maximum normal plantar force of a single leg. cxi Let x represent the tangential component of the force on the sole of the i-th leg along the x-direction.

[0066] Furthermore, the collision distance orthogonal equality constraint and the collision velocity orthogonal equality constraint are as follows:

[0067]

[0068] Where k represents the current time k, F czi [k] represents the normal component of the plantar force of the i-th leg at time k, p cxi [k] represents the position of the foot touching the ground in the x-direction at time k, p cxi [k-1] represents the position of the foot touching the ground in the x-direction at time k-1, d zi [k] represents the vertical distance from the contact foot to the contact surface in the z-direction at time k. The tangential velocity in the orthogonal constraint of the collision velocity is discretized and expressed as the position deviation at time k.

[0069] Further, in S102: based on the motion state information of the quadruped robot and the control instructions of the host computer, the constraints and loss function of the controller of the quadruped robot are constructed; based on the motion state information of the hind quadruped robot and the control instructions of the host computer, the constraints and loss function of the controller of the hind quadruped robot are constructed, wherein the loss function includes: normalized dynamic energy loss, joint-body safety distance loss, and state tracking error loss.

[0070] Define the normalized dynamic energy stability margin index S for the j-th edge of the supporting polygon. NDESMj as follows:

[0071]

[0072]

[0073] Among them, U j Let F represent the stability metric of the quadruped robot on the j-th side of the supporting polygon, where α represents the angle between the vertical plane and the plane of rotation, β represents the angle between the initial face and the vertical plane, δ represents the angle between the j-th side of the supporting polygon and the horizontal ground, and F... sng I represents the non-gravitational component of the net force acting on a quadruped robot. j and ω j Let represent the moment of inertia and angular velocity of rotation about the j-th side of the supporting polygon, respectively.

[0074] Furthermore, the normalized dynamic energy loss H is defined. NDESM as follows:

[0075]

[0076] The process of calculating the joint-fuselage distance is as follows:

[0077] h1=l2sinγ2

[0078] h2=l2cosγ2tan(π-γ)

[0079] h3=(d-r0)[1+cos(π-γ)]

[0080]

[0081]

[0082] a2=cos(π-γ)[h3-h1-h2-h6tan(π-γ)]

[0083] Where γ represents the splicing joint angle, γ2 is the hip joint angle of the left hind leg of the quadruped robot, d represents the horizontal length of the right-angle link, l2 represents the length of the thigh link, h1 represents the horizontal distance between the tail of the quadruped robot and the knee joint of the left hind leg, h2, h3, and h6 are intermediate variables, h4 represents the height of the robot body, h5 represents the sum of the vertical length of the right-angle link and the height of the cylindrical base, a2 represents the distance from the knee joint of the left hind leg of the quadruped robot to the front of the quadruped robot body along a direction perpendicular to the front of the quadruped robot body; a3 represents the distance from the knee joint of the right hind leg of the quadruped robot to the front of the quadruped robot body along a direction perpendicular to the front of the quadruped robot body.

[0084] The solution process for a3 is the same as that for a2. The safe joint-fuselage distance a is defined as min{a2,a3}. Therefore, the safe joint-fuselage distance loss H... f as follows:

[0085] H f =|a| 2

[0086] State tracking error loss H f as follows:

[0087] H f =‖η-η d || 2

[0088] Where η and η d These represent the state feedback values ​​and state expectation values ​​of the two quadruped robots, respectively.

[0089] Based on the joint body safety distance loss, state tracking error loss, and normalized dynamic energy loss, a loss function H for the quadruped robot controller is established. e ,as follows:

[0090] H e =-w e1 H p +w e2 H f +w e3 H NDESM

[0091] Among them, w e1 w e2 w e3 These represent the weights for joint-fuselage safety distance loss, state tracking error loss, and normalized dynamic energy loss, respectively.

[0092] Taking a quadruped robot as an example, this invention considers the potential conflict between the leg joints of the quadruped robot's hind legs and the body of the quadruped robot during environmental interaction. The distance between the left hind leg knee joint and the body of the quadruped robot (numbered 2) is set as a2, and the distance between the right hind leg knee joint and the body of the quadruped robot (numbered 3) is set as a3. Figure 1 As shown in the figure, Figure 1 This is a schematic diagram of the joint-fuselage safety distance from the side view of the combined structure.

[0093] Figure 2 A flowchart of the control method for the combined distributed system is presented. It should be understood that the motion constraints of the two quadruped robot controllers include collision friction cone inequality constraints, collision distance orthogonality constraints, and collision velocity orthogonality constraints. Furthermore, considering the interaction between the two quadruped robots through the right-angle links of the front and rear quadruped robots, dynamic stability inequality constraints and NDESM in static gait are introduced. NDESM is designed as a normalized dynamic energy loss, and joint-body safety distance loss and state tracking error loss are designed, thereby establishing the loss function of the control system for the two quadruped robots.

[0094] The dynamic stability inequality constraint introduced in this invention describes the condition under which a quadruped robot in a static gait state remains dynamically stable when an external disturbance causes it to rotate around one or more sides of its supporting polygon. NDESM is used to evaluate the motion stability of a quadruped robot and is a quantitative index describing the balance between the kinetic energy and potential energy of the quadruped robot. Potential energy refers to the potential energy brought about by the gravity of the quadruped robot. The normalization is used to limit the quantitative index between 0 and 1. The closer it is to 1, the better the balance between the kinetic energy and potential energy of the quadruped robot, and the more stable the motion.

[0095] The NDESM establishment process of this invention is as follows: Figure 3 As shown, Figure 3 Taking a quadruped robot as an example, an external torque coordinate system {M} is introduced, with its origin placed at the splicing joint. This system is used to describe the interaction forces on the connecting rods of the two quadruped robots. From the controller's perspective, the external torque coordinate system is used to describe the external forces applied to the two quadruped robots. To represent the resultant force on the quadruped robot, this invention transforms the external force on the quadruped robot from the external torque coordinate system to the center of gravity coordinate system {G}. The magnitude of the external force is obtained through a force sensor at the splicing joint.

[0096] Let the plane that is the center of gravity of the quadruped robot in its current state and the plane supporting the j-th edge of the polygon be defined as the initial plane, such as... Figure 3 In the diagram, ① represents the initial plane, where the quadruped robot's center of gravity is located in its current state. A plane passing through the j-th side of the supporting polygon and perpendicular to the ground is defined as the vertical plane of that side. ② represents the vertical plane, where the quadruped robot's center of gravity falls during rotation around the j-th side of the supporting polygon. The plane formed by the quadruped robot's center of gravity and that side in its final state after rotation is defined as the rotation plane of that side. ③ represents the rotation plane, where the quadruped robot's center of gravity after rotation lies on the rotation plane. The dynamic stability inequality constraint under static gait in this invention is defined as follows: If the torque generated when the quadruped robot rotates clockwise around one side of the supporting polygon is positive, this torque will tend to maintain the horizontal projection of the robot's center of gravity within the supporting polygon, preventing the quadruped robot from losing balance while rotating around that side. If the quadruped robot rotates clockwise around all sides of the supporting polygon, i.e., the generated torques are all positive, then dynamic stability is achieved.

[0097] Furthermore, S103: Determining the optimal foot force of the quadruped robot based on the constraints and loss function of the controller is implemented using the NMPC algorithm. Specifically, NMPC includes: establishing a state space model of the quadruped robot, setting the control command as the desired state of the quadruped robot, defining the optimal foot force as the control objective, constructing an optimization problem using the constraints and loss function of the quadruped robot's controller, solving the optimization problem, i.e., minimizing the loss function while satisfying the constraints, to obtain the optimal foot force of the quadruped robot.

[0098] Furthermore, S104: Determining the desired drive joint angles, angular velocities, and angular accelerations of the quadruped robots based on their respective control tasks is achieved using a distributed WBC strategy.

[0099] Define the control tasks for the quadruped robot, including:

[0100] The tasks include: swing phase foot trajectory following task, support phase foot position following task, splicing joint motion task including splicing joint angle following sub-task and position following sub-task, and also include swing phase foot start angle following task and end angle following task set according to the set environment and terrain.

[0101] Since the two quadruped robots have the same motion task, such as climbing stairs while maintaining the same body posture, the task of following the trajectory of the swinging leg is set as the first priority; the task of following the joint position and the task of following the angle are set as the second and third priorities, respectively; and finally, the task of following the position of the supporting leg is set as the fourth priority.

[0102] When the front and rear quadruped robots have different motion tasks, such as the front quadruped robot only needing to climb stairs while the rear quadruped robot needs to change its body posture while climbing stairs, the number, type, and priority of subtasks of the two controllers are adjusted according to the corresponding task requirements. The number, type, and priority of subtasks for the front quadruped robot remain unchanged, while the number, type, and priority of subtasks for the rear quadruped robot are adjusted. The joint angle following task of the rear quadruped robot is adjusted to the second priority, and the starting angle following task and the ending angle following task of the swinging foot are added. The starting angle following task of the swinging foot is set to the third priority, the ending angle following task of the swinging foot is set to the fourth priority, and the position following task of the supporting foot is set to the lowest priority.

[0103] The first priority is the highest priority, and the priority decreases step by step thereafter.

[0104] The process for determining the desired drive joint angles, angular velocities, and angular accelerations of a quadruped robot is as follows:

[0105] The quadruped robot control task is divided into subtasks, and subtask priorities are set. The null projection matrix of the Jacobian matrix of the highest priority subtask is calculated. The null projection matrix is ​​used to map the highest priority subtask to the joint space. The Jacobian matrices and corresponding null projection matrices of other subtasks are used in descending order of priority to add other subtasks to the mapping relationship. Finally, the driving joint angles, angular velocities, and angular accelerations in the joint space are calculated. The calculated driving joint angles, angular velocities, and angular accelerations can satisfy the highest priority subtasks first, while also satisfying the lower priority subtasks as much as possible.

[0106] The distributed WBC strategy comprehensively considers the control tasks of the combined body during motion as well as the individual control tasks of the two quadruped robots in front and behind. It divides the control tasks of each quadruped robot into sub-control tasks and sets the priority of each sub-control task, so that the two quadruped robots in front and behind can better complete their respective control tasks. Finally, the desired drive joint angle, angular velocity and angular acceleration can be obtained.

[0107] The flowchart of the distributed WBC scheme for the quadruped robot of the present invention when the quadrupeds have different control tasks is as follows: Figure 4 As shown.

[0108] Further, in step S105: based on the desired drive joint angle, angular velocity, and angular acceleration of the quadruped robot, as well as the optimal plantar force, the drive joint torque of the quadruped robot is determined, and the drive joint torque is input into the joint drive controller, and the quadruped robot begins to move.

[0109] Based on the desired drive joint angles, angular velocities, angular accelerations, and optimal foot force of the quadruped robot, the drive joint torque of the quadruped robot is determined and input into the joint drive controller, and the quadruped robot begins to move.

[0110] The torque of the driving joint is solved using an inverse dynamics model, and the inverse dynamics equations are expressed as follows:

[0111]

[0112] Where, q e This represents the generalized coordinates of a quadruped robot, including the robot's position, joint angles, and drive joint angles. Represents the generalized coordinate velocity. M represents generalized coordinate acceleration. e Represents the inertia matrix. τ represents forces such as centrifugal force, Coriolis force, and gravity. e F represents the torque driving the joint. ce This represents the plantar force generated between the foot end of the supporting phase and the contact surface. F′ represents the transpose of the contact Jacobian matrix. ext The force F represents the interaction force between the forelegs and hindlegs acting on the external moment coordinate system of the splicing joint. ext The force is converted to the lateral joint coordinate system.

[0113] Further, S106: Determine whether the observed states of the two quadruped robots satisfy the hard constraint. If they do, continue the movement process; otherwise, stop the movement. Specifically, this includes:

[0114] The system determines whether the observed states of the two quadruped robots meet the hard constraints. If at least one quadruped robot does not meet the hard constraints, the two quadruped robots are determined to be in an abnormal state. The quadruped robot whose observed state does not meet the hard constraints will sound an alarm, and the two quadruped robots will immediately execute a safety recovery procedure. After the procedure is completed, the joint motors will be shut down to avoid damaging the motors.

[0115] Hard constraints include: fuselage attitude limits, joint angle limits, joint torque limits, etc.

[0116] Meeting hard constraints ensures that the quadruped robot operates safely and prevents joint movements from exceeding the working range allowed by the quadruped robot's mechanical structure, thus preventing damage to the joint motors.

[0117] If the observed states of both the front and rear quadruped robots meet the hard constraints, the combined robot is determined to be in a normal state and continues the motion process.

[0118] If at least one quadruped robot's observed state does not meet the hard constraint limit, the assembly is determined to be in an abnormal state. The quadruped robot whose observed state does not meet the hard constraint limit will sound an alarm, and at the same time, the front and rear quadruped robots will immediately execute the safety recovery procedure. After the procedure is completed, the joint motors will be shut down to avoid damage to the motors.

[0119] Example 2

[0120] The control device for the bipedal quadruped robot assembly includes:

[0121] The acquisition module is configured to acquire motion state information of the fore and hind quadruped robots respectively.

[0122] The module is configured to: construct the constraints and loss functions of the controller for the quadruped robot based on the motion state information of the quadruped robot and the different control commands from the host computer to the quadruped robot.

[0123] The first determining module is configured to: determine the optimal foot force of the quadruped robot based on the constraints and loss function of the controller of the quadruped robot;

[0124] The second determining module is configured to: determine the desired drive joint angles, angular velocities, and angular accelerations of the quadruped robots based on their respective control tasks.

[0125] The third determining module is configured to: determine the driving joint torque of the quadruped robot based on the desired driving joint angle, angular velocity, angular acceleration and optimal foot force of the quadruped robot, input the driving joint torque into the joint driving controller, and the quadruped robot starts to move.

[0126] The judgment module is configured to: determine whether the observed states of the two quadruped robots in front and behind meet the hard constraints; if they do, continue the motion process; otherwise, stop the motion.

[0127] Example 2 is an embodiment of the apparatus of this application, which can be used to execute the method embodiment of this application. For details not disclosed in the apparatus embodiment of this application, please refer to the method embodiment of this application.

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

[0129] Example 3

[0130] This embodiment provides a bipedal robot assembly;

[0131] The bipedal quadruped robot assembly includes a processor and a memory. The processor includes, but is not limited to, any of the following: CPU (Central Processing Unit), GPU (Graphics Processing Unit), and FPGA (Field Programmable Gate Array). The memory may include storage devices such as RAM (Random Access Memory) and ROM (Read Only Memory). The processor and memory can be connected via a system bus.

[0132] In an exemplary embodiment, the memory stores at least one instruction, at least one program segment, a code set, or an instruction set. The at least one instruction, the at least one program segment, the code set, or the instruction set is loaded and executed by the processor to implement the above-described robot motion control method. A bipedal robot assembly includes: a front quadruped robot and a rear quadruped robot.

[0133] The first cylindrical base is fixed to the end of the body of the quadruped robot, and the first cylindrical base is connected to the first end of the first right-angle connecting rod;

[0134] The front end of the quadruped robot is fixed with a second cylindrical base, and the second cylindrical base is connected to the first end of the second right-angle connecting rod;

[0135] The second end of the first right-angle link is connected to the second end of the second right-angle link, and the connection between the first right-angle link and the second right-angle link forms a splicing joint that can rotate in the pitch direction;

[0136] It should be understood that the first right-angle link and the second right-angle link have the same structure. The first right-angle link includes a first straight rod and a second straight rod that are perpendicularly connected to each other, namely the horizontal rod and the vertical rod of the first right-angle link.

[0137] It should be understood that the bipod robot assembly is composed of two quadruped robots connected together. A cylindrical base is fixed at the end of the front quadruped robot body and at the front of the rear quadruped robot body. A right-angle connecting rod is fixed on each of the two cylindrical bases. The horizontal ends of the two right-angle connecting rods are connected together, and the connection point forms an assembly joint that can only rotate in the pitch direction.

[0138] A schematic diagram of the bipedal quadruped robot assembly described in this invention is shown below. Figure 5 As shown, the bottom view and the leg numbers of the assembly are as follows: Figure 6 As shown, 0, 2, 4, and 6 are the numbers of the left leg of the combined robot, and 1, 3, 5, and 7 are the numbers of the right leg. A cylindrical base is fixed to the end of the front quadruped robot body and the front of the rear quadruped robot body. The cylindrical bases have no degrees of freedom between themselves and the robot body, and the center of the base is located on the vertical line of the robot body. Schematic diagrams of the base positions are shown in Figures 7(a) and 7(b). r0 represents the radius of the cylindrical base, and l1 represents the width of the quadruped robot body. A right-angled link is fixed to each of the two bases. The vertical part of the right-angled link has no degrees of freedom between itself and the base. The horizontal parts of the two right-angled links are connected, forming a splicing joint. This joint can only rotate in the pitch direction, and the angle between the two horizontal parts is defined as the splicing joint angle.

[0139] Furthermore, the quadruped robot is equipped with four legs, namely: the left front leg 0, the right front leg 1, the left hind leg 2, and the right hind leg 3.

[0140] The quadruped robot is equipped with four legs, namely: the left front leg 4, the right front leg 5, the left hind leg 6, and the right hind leg 7.

[0141] The left front leg, right front leg, left hind leg, right hind leg, left front leg, right front leg, left hind leg, and right hind leg of the quadruped robot have the same structure and all include:

[0142] The lateral swing joint, lateral swing bar, hip joint, thigh, knee joint, and calf are connected in sequence.

[0143] The lateral swing joint of the left front leg of the quadruped robot is connected to the front left side of the quadruped robot body; the lateral swing joint of the right front leg of the quadruped robot is connected to the front right side of the quadruped robot body; the lateral swing joint of the left hind leg of the quadruped robot is connected to the rear left side of the quadruped robot body; the lateral swing joint of the right hind leg of the quadruped robot is connected to the rear right side of the quadruped robot body.

[0144] The lateral swing joint of the left front leg of the quadruped robot is connected to the front left side of the quadruped robot's body; the lateral swing joint of the right front leg of the quadruped robot is connected to the front right side of the quadruped robot's body; the lateral swing joint of the left hind leg of the quadruped robot is connected to the rear left side of the quadruped robot's body; and the lateral swing joint of the right hind leg of the quadruped robot is connected to the rear right side of the quadruped robot's body.

[0145] The lateral joint, located at the head and tail of the quadruped robot, has only a roll degree of freedom and is used to control the quadruped robot's roll direction.

[0146] The side swing arm is implemented using a straight rod, connecting the single-leg side swing joint and the hip joint.

[0147] It should be understood that the drive joints of the two quadruped robots are the joints of their legs. Each leg has three joint control units, which control the lateral swing joint, hip joint, and knee joint respectively. Each joint control unit includes a joint drive controller, a joint encoder, and a joint torque sensor. The joint control unit receives the drive joint torque and inputs it into the joint drive controller, while simultaneously feeding back data from the joint encoder and joint torque sensor, thus achieving distributed control of the legs of the two quadruped robots. The splicing joint is a passive joint, and it has a joint sensing unit, including a joint encoder and a force sensor, for feeding back sensor data from the splicing joint.

[0148] Furthermore, the splicing joint encoder is connected to the controller of the front quadruped robot and the controller of the rear quadruped robot respectively, and the force sensor is connected to the controller of the front quadruped robot and the controller of the rear quadruped robot respectively.

[0149] The quadruped robot is equipped with joint control units for its lateral joints, hip joints, and knee joints. Each joint control unit includes a joint drive controller, a joint encoder, and a joint torque sensor. The joint drive controller, joint encoder, and joint torque sensor for each joint of the quadruped robot are connected to the controller of the quadruped robot.

[0150] The lateral joints, hip joints, and knee joints of the quadruped robot are all equipped with joint control units. The joint control units include: a joint drive controller, a joint encoder, and a joint torque sensor. The joint drive controller, joint encoder, and joint torque sensor of each joint of the quadruped robot are all connected to the controller of the quadruped robot.

[0151] The controllers of both the front quadruped robot and the rear quadruped robot are connected to a host computer.

[0152] It should be understood that the host computer is used to set control instructions for different tasks such as path planning, motion control, posture adjustment, and coordination control of the combined robot, including the position of the splicing joints, the position and posture of the front and rear quadruped robot bodies, etc. At the same time, the host computer transmits the above control instructions to the front and rear quadruped robot controllers through Ethernet communication to complete information communication and interaction.

[0153] It should be understood that the two quadruped robot controllers use the Upboard as the main control board, and both the Upboard and the host computer have Ethernet interfaces. The Ethernet communication is used to achieve high-speed transmission and provides a relatively stable and reliable communication connection. By configuring IP addresses and subnet masks, it is ensured that the Upboard and the host computer are on the same subnet, thereby enabling them to discover and communicate with each other.

[0154] A two-tiered bus system is used for communication and data transmission. The outer bus connects the host computer and the two quadruped robot controllers (front and rear) via Ethernet communication. Two Ethernet cables are used to transmit data, and one cable connects to one controller, enabling data interaction between the host computer and the two controllers, thus achieving distributed control of the assembly. The inner bus uses EtherCAT, connecting the controllers to the joint control units of the drive joints and the joint sensing units of the passive joints. Each quadruped robot controller uses four EtherCAT cables to transmit data with the three joint control units on the four legs and one EtherCAT cable to transmit data with the joint sensing unit in the passive joint, achieving low-latency, high-response-speed joint data interaction and feedback.

[0155] The hardware of the distributed control system for the bipedal quadruped robot assembly consists of a host computer, two quadruped robot controllers (front and rear), joint control units for the drive joints, and joint sensing units for the passive joints. The control method consists of a motion constraint unit, a control strategy unit, and a safety detection unit. The schematic diagrams of the hardware and control method are shown in Figure 8(a) and Figure 8(b).

[0156] Figure 9A hardware connection diagram of the distributed control system is provided. Each leg of the combined robot described in this invention has three joint control units: a lateral swing joint control unit, a hip joint control unit, and a knee joint control unit. Each leg's lateral swing joint, hip joint, and knee joint are driven joints, totaling 24 driven joints. The splicing joints are passive joints and have one joint sensing unit. Each splicing joint and each driven joint is equipped with a joint encoder, utilizing its high resolution and accuracy to provide real-time feedback of joint angle data, thereby achieving precise posture control and motion planning. Each driven joint is equipped with a joint motor drive controller and a joint torque sensor to receive joint drive control signals, control the joint motors to enable the robot to perform the set movements, and simultaneously provide feedback on the actual joint torque during motor operation. In addition to the joint encoders, the splicing joints are also equipped with force sensors to measure the interaction forces applied by the two quadruped robots through the linkage during movement.

[0157] Based on the different task requirements such as path planning, motion control, posture adjustment, and coordinated control of the combined robot, the control instructions for the combined robot are set through the host computer, including the position of the splicing joints, the position and posture of each quadruped robot body, etc. At the same time, the control instructions are transmitted to the front and rear quadruped robot controllers through Ethernet communication to complete information communication and interaction.

[0158] The two quadruped robot controllers, one at the front and one at the back, use the Upboard as the main control board. Both the Upboard and the host computer have Ethernet interfaces. The Ethernet communication is used to achieve high-speed transmission and provides a relatively stable and reliable communication connection. By configuring IP addresses and subnet masks, it is ensured that the Upboard and the host computer are on the same subnet, thus enabling them to discover and communicate with each other.

[0159] This distributed control system adopts a two-layer information communication system architecture with nested buses. Two bus layers are used for communication and data transmission. The outer bus connects the host computer and the front and rear quadruped robot controllers via Ethernet communication, using two Ethernet cables for data transmission. One Ethernet cable connects to one controller, enabling data interaction between the host computer and the two controllers, thus achieving distributed control of the assembly. The inner bus uses EtherCAT, connecting the controllers to the drive joints and the passive joints. Each quadruped robot controller uses four EtherCAT buses to transmit data with the three joint control units on its four legs, and one EtherCAT bus to transmit data with the joint sensing unit in the passive joint, achieving low-latency, high-response-speed joint data interaction and feedback.

[0160] The combined distributed system control method consists of a motion constraint unit, a control strategy unit, and a safety detection unit. First, based on the mechanical structure and mass distribution of the quadruped robot, a whole-body kinematic model is established for the movement processes of the quadruped robot in the preceding and following phases. The whole-body kinematic model includes the position of the body center of mass, the position of the center of mass of the thigh and lower leg links, and the position of the foot end, etc. Then, the whole-body dynamic model of the quadruped robot under the action of external forces is established using the Lagrangian function to describe the different motion behaviors of the quadruped robot.

[0161] The whole-body dynamics model of the quadruped robot under external force is as follows:

[0162]

[0163] In an exemplary embodiment, a computer-readable storage medium is also provided, the storage medium storing at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set implements the above-described robot motion control method when executed by a processor of a computer device.

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

[0165] In an exemplary embodiment, a computer program product or computer program is also provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A robot's processor reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, causing the robot to perform the described robot motion control method.

[0166] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A control method for a bipedal quadruped robot assembly, characterized in that, include: Acquire motion state information of the fore and hind quadruped robots respectively; Based on the motion state information of the quadruped robot and the control instructions from the host computer, the constraints and loss functions of the controller for the quadruped robot are constructed respectively. Based on the constraints and loss function of the controller of the quadruped robot, the optimal foot force of the quadruped robot is determined. Based on the respective control tasks of the front and rear quadruped robots, determine the desired drive joint angles, angular velocities, and angular accelerations of the front and rear quadruped robots; Based on the desired drive joint angles, angular velocities, angular accelerations, and optimal foot force of the quadruped robot, the drive joint torque of the quadruped robot is determined, and the drive joint torque is input into the joint drive controller, and the quadruped robot begins to move. Determine whether the observed states of the two quadruped robots in front and behind meet the hard constraints. If they do, continue the motion process; otherwise, stop the motion. The constraints include: nonlinear inequality constraint of collision friction cone, orthogonal equality constraint of collision distance, orthogonal equality constraint of collision velocity, and dynamic stability inequality constraint under static gait. The rotational torque generated by the quadruped robot rotating around the sides of the supporting polygon is as follows: The dynamic stability inequality constraints under static gait are as follows: in, , This indicates the number of supporting feet in the current state. and These represent the net force and net torque acting on the quadruped robot, respectively. Represents the supporting polygon. The unit vector of the edge, Represents the supporting polygon. The orthogonal vectors of the edges originate from the first edge of the supporting polygon. The edge points towards the quadruped robot's center of gravity; The nonlinear inequality constraints for collision friction cones include: in, , Indicates the first The normal component of the force on the sole of the leg. This represents the maximum normal plantar force of a single leg. Represents the coefficient of sliding friction. Indicates the first The force of the foot along the leg Tangential component of force in the direction; Orthogonal equality constraints for collision distance and collision velocity: in, Indicates the current position is number 1. time, Indicates the first At that moment, the The normal component of the force on the sole of the leg. Indicates the first The feet are always in contact with the ground. The position of direction, Indicates the first The feet are always in contact with the ground. The position of direction, Indicates the first The feet are always in contact with the ground. The vertical distance from the contact surface in the direction.

2. The control method for the bipedal quadruped robot assembly as described in claim 1, characterized in that, The loss function includes: normalized dynamic energy loss, joint-fuselage safety distance loss, and state tracking error loss.

3. The control method for the bipedal quadruped robot assembly as described in claim 2, characterized in that, Supporting polygons Normalized dynamic energy stability margin index of strip edges as follows: in, This indicates that the quadruped robot supports the polygon of the first... Stability measure of a strip edge Indicates the angle between the vertical plane and the plane of revolution. This represents the angle between the initial plane and the vertical plane. Represents the supporting polygon. The angle between the strip's edge and the horizontal ground. This represents the non-gravitational component of the net force acting on a quadruped robot. and Representing the number of the supporting polygons respectively The moment of inertia and angular velocity of the rotating edge; Define normalized dynamic energy loss as follows: The process of calculating the joint-fuselage distance is as follows: in, Indicates the angle of the splicing joint. The angle of the hip joint of the left hind leg of the quadruped robot. The length of the horizontal bar representing the right-angle connecting rod. Indicates the length of the thigh link. This indicates the horizontal distance between the tail of the quadruped robot and the knee joint of its left hind leg. , , As an intermediate variable, Indicates fuselage height. This represents the sum of the length of the vertical rod of the right-angled connecting rod and the height of the cylindrical base; This represents the distance from the knee joint of the left hind leg of the front quadruped robot to the front of the rear quadruped robot's body in a direction perpendicular to the front of the rear quadruped robot's body; This represents the distance from the knee joint of the right hind leg of the front quadruped robot to the front of the rear quadruped robot's body in a direction perpendicular to the front of the rear quadruped robot's body; The solution process and The solution process is the same, defining the safe distance between the joints and the fuselage of the assembly. Therefore, the loss of joint-fuselage safety distance is as follows: The state tracking error loss is as follows: in, and These represent the state feedback values ​​and state expectation values ​​of the two quadruped robots, respectively. Based on the joint safety distance loss, state tracking error loss, and normalized dynamic energy loss, the quadruped robot controller loss function is established as follows: in, , , These represent the weights for joint-fuselage safety distance loss, state tracking error loss, and normalized dynamic energy loss, respectively.

4. The control method for the bipedal quadruped robot assembly as described in claim 1, characterized in that, Based on the respective control tasks of the four-legged robots, the desired drive joint angles, angular velocities, and angular accelerations of the four-legged robots are determined using a distributed control strategy, including: The quadruped robot's sub-tasks include the trajectory following task of the swing phase foot end and the position following task of the support phase foot end. The splicing joint sub-tasks include the splicing joint angle following task and the position following task. In addition, it also includes the swing phase foot end start angle following task and end angle following task set according to the set environment and terrain. Since the two quadruped robots have the same motion task, such as climbing stairs while maintaining the same body posture, the task of following the trajectory of the swinging leg is set as the first priority; the task of following the joint position and the task of following the angle are set as the second and third priorities, respectively; and finally, the task of following the position of the supporting leg is set as the fourth priority. When the front and rear quadruped robots have different motion tasks, such as the front quadruped robot only needing to climb stairs while the rear quadruped robot needs to change its body posture while climbing stairs, the number, type, and priority of subtasks of the two controllers are adjusted according to the corresponding task requirements. The number, type, and priority of subtasks of the front quadruped robot remain unchanged, while the number, type, and priority of subtasks of the rear quadruped robot are adjusted. The splicing joint angle following task of the rear quadruped robot is adjusted to the second priority, and the swing phase foot end start angle following task and swing phase foot end end angle following task are added. The swing phase foot end start angle following task is set to the third priority, the swing phase foot end end angle following task is set to the fourth priority, and the support phase foot end position following task is set to the lowest priority. Based on the control subtask, the desired drive joint angles, angular velocities, and angular accelerations of the quadruped robot are solved. Based on the desired drive joint angles, angular velocities, and angular accelerations of the quadruped robots, the drive joint torques of the quadruped robots are determined, and the drive joint torques are input into the joint drive controller, at which point the quadruped robots begin to move.

5. The control method for the bipedal quadruped robot assembly as described in claim 1, characterized in that, Determine whether the observed states of the two quadruped robots satisfy the hard constraints. If they do, continue the motion process; otherwise, stop. Specifically, this includes: The system determines whether the observed states of the two quadruped robots meet the hard constraints. If at least one quadruped robot does not meet the hard constraints, the two quadruped robots are determined to be in an abnormal state. The quadruped robot whose observed state does not meet the hard constraints will sound an alarm, and the two quadruped robots will immediately execute a safety recovery procedure. After the procedure is completed, the joint motors will be shut down to avoid damaging the motors.

6. A control device for a bipedal quadruped robot, characterized in that, include: The acquisition module is configured to acquire motion state information of the fore-and-aft quadruped robot. The module is configured to: construct the constraints and loss function of the controller for the quadruped robot based on the motion state information of the quadruped robot and the control instructions of the host computer; The first determining module is configured to: determine the optimal foot force of the quadruped robot based on the constraints and loss function of the controller of the quadruped robot; The second determining module is configured to: determine the desired drive joint angles, angular velocities, and angular accelerations of the quadruped robots based on their respective control tasks. The third determining module is configured to: determine the driving joint torque of the quadruped robot based on the desired driving joint angle, angular velocity, angular acceleration and optimal foot force of the quadruped robot, input the driving joint torque into the joint driving controller, and the quadruped robot starts to move. The judgment module is configured to: determine whether the observed states of the two quadruped robots in front and behind meet the hard constraints; if they do, continue the motion process; if they do not, stop the motion. The constraints include: nonlinear inequality constraint of collision friction cone, orthogonal equality constraint of collision distance, orthogonal equality constraint of collision velocity, and dynamic stability inequality constraint under static gait. The rotational torque generated by the quadruped robot rotating around the sides of the supporting polygon is as follows: The dynamic stability inequality constraints under static gait are as follows: in, , This indicates the number of supporting feet in the current state. and These represent the net force and net torque acting on the quadruped robot, respectively. Represents the supporting polygon. The unit vector of the edge, Represents the supporting polygon. The orthogonal vectors of the edges, starting from the first edge of the supporting polygon. The edge points towards the quadruped robot's center of gravity; The nonlinear inequality constraints for collision friction cones include: in, , Indicates the first The normal component of the force on the sole of the leg. This represents the maximum normal plantar force of a single leg. Represents the coefficient of sliding friction. Indicates the first The force of the foot along the leg Tangential component of force in the direction; Orthogonal equality constraints for collision distance and collision velocity: in, Indicates the current position is number 1. time, Indicates the first At that moment, the The normal component of the force on the sole of the leg. Indicates the first The feet are always in contact with the ground. The position of direction, Indicates the first The feet are always in contact with the ground. The position of direction, Indicates the first The feet are always in contact with the ground. The vertical distance from the contact surface in the direction; the tangential velocity in the orthogonal constraint of the collision velocity is discretized and expressed as the first... Positional deviation at any given moment.

7. A robot characterized by, The robot includes a processor and a memory, the memory storing at least one instruction, at least one program, a code set, or an instruction set, the at least one instruction, the at least one program, the code set, or the instruction set being loaded and executed by the processor to implement the control method of any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The storage medium stores at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the control method of any one of claims 1-5.

Citation Information

Patent Citations

  • Multi-legged robot joint control method and device and multi-legged robot

    CN111506100A