Robot stability control method and device, electronic equipment, robot and readable storage medium
Patent Information
- Application Number
- CN202611472431.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-21
- Publication Date
- 2026-10-27
AI Technical Summary
直接回切可能引起目标关节的运动状态突变,影响机器人的姿态稳定和接触稳定
[0038]由上述技术方案可知,本发明具备以下优点和积极效果中的至少之一:
Smart Images

Figure CN122975701A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and specifically to a robot stability control method, apparatus, electronic device, robot, and readable storage medium. Background Technology
[0002] With the development of robotics technology, robots are increasingly being applied to industrial production, home assistance, and commercial services. In particular, bipedal robots, quadrupedal robots, wheeled robots, and humanoid robots typically have multiple joints and relatively complex motion control systems. They require task controllers to generate joint control commands to control the robots to complete tasks such as walking, working, or interacting.
[0003] During task execution, robots may experience issues such as joint position, speed, torque, or temperature exceeding normal ranges; control command reception timeouts; control communication link interruptions; sudden changes in task control commands; or excessive deviations between the robot's actual and desired postures. These situations may render the control commands generated by the task controller inapplicable to the robot's current operating state. If these control commands continue to act on the robot's joints, it may cause loss of control, postural instability, foot slippage, or changes in support relationships, thereby increasing the risk of the robot falling, colliding, or suffering hardware damage.
[0004] Furthermore, during normal robot operation, it may receive active interruption commands or high-priority preemption commands due to safety protection, manual intervention, or the execution requirements of higher-priority tasks. In this case, although the robot itself may not necessarily malfunction, it is still necessary to stop or restrict the control of the relevant joints by the current task control commands and bring the corresponding joints into a control state that can maintain the stability of the robot.
[0005] Some robot protection solutions can stop the robot from operating completely or execute pre-set protective actions when an anomaly is detected or an emergency control command is received. For example, the risk of the robot falling or colliding can be reduced by lowering its center of gravity, adjusting its leg posture, or performing an emergency braking action.
[0006] However, when the anomaly only involves some joints, some control links, or some task control commands, shutting down the robot entirely or switching its control mode may cause joints unaffected by the anomaly to also stop performing their original control tasks. Furthermore, pre-set fixed protective actions may not be compatible with the robot's actual posture and support contact relationship when the control protection is triggered.
[0007] On the other hand, different anomalies or control commands may affect different joints. For example, when an anomaly occurs in some upper body joints of the robot, the joints that are not affected may actually be the lower body joints that are needed to maintain the robot's support stability. Determining which joints need to be taken over by the stabilization control process based on the specific reason for triggering the control protection and the robot's current support contact relationship is a problem that needs to be considered in the robot stabilization control process.
[0008] After switching the relevant joints from task control state to stable control state, it is also necessary to generate appropriate joint control commands based on the robot's current posture and contact state. If the target state adopted by the stable control does not match the robot's current posture or current support contact relationship, it may lead to sudden changes in joint control commands, slippage of the supporting legs, or further deviation of the robot's posture from the stable range during the control switching process.
[0009] After the triggering conditions that caused the control switch are removed, if the relevant joints are directly handed back to the task controller, there may be significant differences between the joint control commands generated by the task controller and those generated during the stabilization control process. Direct reversal may cause abrupt changes in the motion state of the target joint, affecting the robot's posture stability and contact stability.
[0010] Therefore, a robot stabilization control scheme is needed to determine the target joint from which the instruction source needs to be switched based on the corresponding trigger information when an operational abnormality occurs or an active control instruction is received, and to implement stabilization control on the determined target joint, thereby reducing the risk of robot instability caused by inappropriate task control instructions continuing to act on the target joint. Summary of the Invention
[0011] In view of the technical problem in the prior art that it is difficult to determine the target joint that needs to switch the command source based on the corresponding trigger information when the robot experiences an operational abnormality or receives an active control command, and to implement stable control adapted to the robot's current state for the determined target joint, the present invention provides a robot stability control method, device, electronic device, robot, and computer-readable storage medium. The purpose is to determine the target joint based on the trigger information and switch the command source of the execution channel corresponding to the target joint to the whole-body stability controller, so as to reduce the risk of robot instability caused by inappropriate task control commands continuing to act on the target joint.
[0012] To achieve the above objectives, according to one aspect of the present invention, a robot stabilization control method is provided, comprising: Monitor whether the control switching trigger conditions for the robot are met, and when the control switching trigger conditions are met, obtain the trigger information that represents the control switching trigger conditions; Based on the trigger information, at least one target joint is determined from multiple joints of the robot; The instruction source for the execution channel corresponding to at least one target joint is switched from the task controller to the whole body stability controller, and the execution channel is used to provide joint control instructions to the corresponding target joint; When there are joints that are not identified as target joints, the instruction source for the execution channel corresponding to the joints that are not identified as target joints remains unchanged; Based on the robot's current posture and contact state information, the whole-body stabilization controller generates stabilization side joint control commands for at least one target joint. By executing the channel, stable side joint control commands are output to at least one target joint to control the robot to maintain or restore a stable state.
[0013] Specifically, determining at least one target joint from multiple joints of the robot based on trigger information includes: determining the trigger type corresponding to the control switching trigger condition based on the trigger information, wherein the trigger type is used to characterize the reason category for the switching of the command source that triggers at least one joint of the robot; and determining at least one target joint from multiple joints of the robot based on the trigger type and the trigger information.
[0014] The trigger type includes active trigger type or abnormal trigger type. Based on the trigger information, the trigger type corresponding to the control switching trigger condition is determined, including: when the trigger information indicates that an active interrupt command or a high-priority preemption command has been received, the trigger type is determined to be active trigger type; when the trigger information indicates that the robot's joint state, control communication state, task control command change state, or posture deviation state is abnormal, the trigger type is determined to be abnormal trigger type.
[0015] Specifically, based on the trigger type and trigger information, at least one target joint is determined from multiple joints of the robot, including: when the trigger type is an abnormal trigger type and the trigger information indicates that at least one upper body joint of the robot is abnormal, determining the current support contact relationship based on the robot's current contact state information, wherein the current support contact relationship is used to characterize the foot end of the robot currently in a support state and the contact state between the foot end and the contact surface; determining at least one target lower body joint from the robot's lower body joints that is not abnormal and participates in maintaining the current support contact relationship; and determining at least one target lower body joint as at least one target joint.
[0016] Specifically, based on the trigger type and trigger information, at least one target joint is determined from multiple joints of the robot, including: when the trigger type is an abnormal trigger type, the trigger information indicates that at least one upper body joint of the robot is abnormal, the robot is in a standing state, and none of the robot's lower body joints are abnormal, all lower body joints of the robot are determined as target joints.
[0017] Specifically, the whole-body stabilization controller generates stabilization side joint control commands for at least one target joint based on the robot's current posture and contact state information. This includes: determining a stabilization control target based on the robot's posture and contact state information when switching control at at least one target joint. The stabilization control target characterizes the target state that the robot needs to achieve or maintain after the whole-body stabilization controller gains control of at least one target joint; and generating stabilization side joint control commands for at least one target joint based on the robot's posture information, contact state information, and stabilization control target in the current control cycle after the whole-body stabilization controller gains control of at least one target joint.
[0018] The process of determining a stability control target based on the robot's posture and contact state information during control switching at at least one target joint includes: determining the robot's current posture based on its posture information during control switching, and determining the current support contact relationship based on its contact state information during control switching; when the robot meets a preset stability condition based on its current posture and current support contact relationship, defining the current posture and current support contact relationship as a stability maintenance target, and using the stability maintenance target as the stability control target; when the robot does not meet the preset stability condition based on its current posture and current support contact relationship, defining a preset safety state as a stability recovery target, and using the stability recovery target as the stability control target; wherein the preset safety state includes a preset safety posture and a preset support contact relationship corresponding to the preset safety posture.
[0019] Specifically, based on the robot's posture information, contact state information, and stability control target in the current control cycle, at least one stable side joint control command for a target joint is generated, including: determining the current torso state based on the robot's posture information in the current control cycle, and determining the current support contact relationship based on the robot's contact state information in the current control cycle; and generating at least one stable side joint control command for a target joint based on the stability control target, the current torso state, and the current support contact relationship.
[0020] The stability control target includes the target torso state and the target support contact relationship. Based on the stability control target, the current torso state, and the current support contact relationship, at least one stable side joint control command for the target joint is generated, including: determining a whole-body stability constraint based on the current torso state and the target torso state, the whole-body stability constraint being used to constrain at least one of the robot's torso state, center of mass state, and joint running state; determining a contact consistency constraint based on the current support contact relationship and the target support contact relationship, the contact consistency constraint being used to constrain at least one of the robot's support contact state, foot sliding state, and contact state switching state; and generating at least one stable side joint control command for the target joint based on the whole-body stability constraint and the contact consistency constraint.
[0021] The process of determining the current support contact relationship based on the robot's contact state information in the current control cycle includes: determining at least one foot currently in a support state based on the contact state of each foot of the robot; acquiring the contact force and contact area between each foot currently in a support state and the contact surface; determining the support area based on the contact area corresponding to each foot currently in a support state; and determining the current support contact relationship based on each foot currently in a support state, the contact force, and the support area.
[0022] The step of switching the command source of the execution channel corresponding to at least one target joint from the task controller to the whole-body stability controller includes: acquiring joint identification information of at least one target joint and command source identification information corresponding to the whole-body stability controller; generating a command source switching command based on the joint identification information and the command source identification information, wherein the command source switching command is used to instruct the execution channel corresponding to at least one target joint to switch the command source from the task controller to the whole-body stability controller; and executing the command source switching command so that the execution channel receives and outputs the stabilization side joint control command generated by the whole-body stability controller.
[0023] The method further includes: when the control switching trigger condition is detected to be released, acquiring the task-side joint control command generated by the task controller for at least one target joint, and the stabilization-side joint control command generated by the whole-body stabilization controller for at least one target joint; determining whether the control switching condition for switching back the command source of the execution channel corresponding to at least one target joint to the task controller is met based on the task-side joint control command, the stabilization-side joint control command, and the robot's current posture information and contact state information; when the control switching condition is met, performing command source switching processing on the execution channel corresponding to at least one target joint, so that the task controller regains control of at least one target joint.
[0024] The process of acquiring task-side joint control commands generated by the task controller for at least one target joint, and stability-side joint control commands generated by the whole-body stability controller for at least one target joint, includes: acquiring the current task control commands and the robot's current operating state; generating task-side joint control commands through the task controller based on the current task control commands and the robot's current operating state; acquiring the robot's current posture information and contact state information; and generating stability-side joint control commands through the whole-body stability controller based on the robot's current posture information and contact state information.
[0025] The process of switching back the command source for the execution channel corresponding to at least one target joint includes: determining transition control parameters, which characterize the degree of influence of the stable-side joint control command and the task-side joint control command on the transition joint control command, and the change of the degree of influence during the transition period; fusing the stable-side joint control command and the task-side joint control command according to the transition control parameters to obtain the transition joint control command; outputting the transition joint control command to at least one target joint through the execution channel during the transition period; and switching the command source of the execution channel corresponding to at least one target joint from the whole-body stability controller to the task controller after the transition period ends.
[0026] The transition control parameters include transition duration, first fusion weight, second fusion weight, and the fusion weight variation law. The first fusion weight is used to characterize the influence of the stable-side joint control command on the transition joint control command, and the second fusion weight is used to characterize the influence of the mission-side joint control command on the transition joint control command. According to the transition control parameters, the stable-side joint control command and the mission-side joint control command are fused, including: gradually decreasing the first fusion weight and gradually increasing the second fusion weight within the transition duration according to the fusion weight variation law; and performing weighted fusion of the stable-side joint control command and the mission-side joint control command according to the first fusion weight and the second fusion weight to obtain the transition joint control command.
[0027] Specifically, based on the task-side joint control commands, the stabilizing-side joint control commands, and the robot's current posture and contact state information, it is determined whether the control handover condition is met. This includes: determining the command deviation between the task-side joint control commands and the stabilizing-side joint control commands, and determining whether the command deviation is less than a preset command deviation threshold; determining the current torso posture based on the robot's current posture information, and determining whether the posture deviation of the current torso posture relative to the preset handover posture is less than a preset handover posture threshold; determining the current support contact relationship based on the robot's current contact state information, and determining whether the current support contact relationship meets the preset handover contact condition; and determining that the control handover condition is met when the command deviation is less than the preset command deviation threshold, the posture deviation is less than the preset handover posture threshold, and the current support contact relationship meets the preset handover contact condition.
[0028] The whole-body stabilization controller includes a policy network trained through reinforcement learning. Based on the robot's current posture and contact state information, the whole-body stabilization controller generates stabilization side joint control commands for at least one target joint, including: acquiring the robot's current joint state information, which includes at least one of joint position and joint velocity; constructing policy observations based on the robot's current posture, contact state, and joint state information, which include at least one of the robot's trunk posture and trunk angular velocity, at least one of foot contact state and foot contact force, and at least one of joint position and joint velocity; inputting the policy observations into the policy network to obtain total joint motion quantities, which include joint motion quantities corresponding to multiple joints of the robot, each joint motion quantity including at least one of the desired position, desired velocity, and desired torque of the corresponding joint; selecting target joint motion quantities corresponding to at least one target joint from the total joint motion quantities; and generating stabilization side joint control commands for at least one target joint based on the target joint motion quantities.
[0029] The monitoring of whether the control handover triggering conditions for the robot are met includes: acquiring at least one of the following during the robot's operation: task instruction status, joint status, control communication status, change status of task control instructions, and posture deviation status; determining that the control handover triggering conditions are met when the task instruction status indicates that an active interruption instruction or a high-priority preemption instruction has been received; and determining that the control handover triggering conditions are met when the joint status, control communication status, change status of task control instructions, or posture deviation status meets the corresponding anomaly judgment conditions.
[0030] Specifically, when the joint state, control communication state, task control command change state, or attitude deviation state meets the corresponding anomaly judgment condition, the control handover trigger condition is determined to be met. This includes: when any state among the joint state, control communication state, task control command change state, or attitude deviation state meets the corresponding candidate anomaly condition, obtaining the duration for which any state continuously meets the candidate anomaly condition; when the duration reaches the preset confirmation duration, the control handover trigger condition is determined to be met, and the state information corresponding to any state is determined as the trigger information.
[0031] The joint state includes at least one of joint position, joint velocity, joint torque, and joint temperature. The candidate abnormal conditions for the joint state include at least one of joint position, joint velocity, joint torque, and joint temperature exceeding the corresponding safety threshold. The control communication state includes at least one of control command reception state and control communication link state. The candidate abnormal conditions for the control communication state include control command reception timeout or control communication link interruption. The candidate abnormal conditions for the task control command change state include the change in task control command between adjacent control cycles exceeding a preset command change threshold. The attitude deviation state includes the deviation between the desired attitude corresponding to the desired action output by the task controller and the robot's current attitude. The candidate abnormal conditions for the attitude deviation state include the deviation exceeding a preset attitude deviation threshold.
[0032] According to another aspect of the present invention, a robot stabilization control device is also provided, comprising: The trigger monitoring module is used to monitor whether the control switching trigger conditions for the robot are met, and to obtain trigger information representing the control switching trigger conditions when the control switching trigger conditions are met. The target joint determination module is used to determine at least one target joint from multiple joints of the robot based on trigger information. The instruction source switching module is used to switch the instruction source of the execution channel corresponding to at least one target joint from the task controller to the whole body stability controller. The execution channel is used to provide joint control instructions to the corresponding target joint, and when there is a joint that is not identified as a target joint, the instruction source of the execution channel corresponding to the joint that is not identified as a target joint remains unchanged. The stabilization command generation module is used to generate stabilization side joint control commands for at least one target joint based on the robot's current posture information and contact state information through the whole body stabilization controller. The stabilization control module is used to output stabilization side joint control commands to at least one target joint through the execution channel, so as to control the robot to maintain or restore a stable state.
[0033] According to another aspect of the present invention, an electronic device is also provided, comprising: a processor; and a memory storing a computer program, wherein when the computer program is executed by the processor, the processor performs the above-described robot stabilization control method.
[0034] According to another aspect of the present invention, a robot is also provided, comprising: a robot body including a plurality of joints; a processor; and a memory storing a computer program, wherein when the computer program is executed by the processor, the processor performs the above-described robot stabilization control method.
[0035] The robots include bipedal robots, quadrupedal robots, or wheeled robots.
[0036] Or, the robot is a humanoid robot.
[0037] According to another aspect of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the processor performs the above-described robot stabilization control method.
[0038] As can be seen from the above technical solution, the present invention possesses at least one of the following advantages and positive effects: The robot stabilization control method provided by this invention acquires corresponding trigger information when the control switch trigger conditions for the robot are met, and determines at least one target joint from multiple joints of the robot based on the trigger information. The instruction source of the execution channel corresponding to the target joint is switched from the task controller to the whole-body stabilization controller. If there are joints not determined as target joints, the instruction source of the execution channel corresponding to the non-target joints remains unchanged. Therefore, the joint requiring stabilization control takeover can be determined according to the specific circumstances of the trigger control protection, and the control switch is limited to the execution channel corresponding to the determined target joint, reducing the impact of the control switch on the original control process of the non-target joints when non-target joints exist.
[0039] After gaining control of the target joint, the whole-body stabilization controller generates stabilization side joint control commands based on the robot's current posture and contact state information, and outputs these commands through the execution channel corresponding to the target joint. This allows the control commands executed by the target joint to be adapted to the robot's current posture and contact state, reducing the risk of inappropriate task control commands continuing to act on the target joint and causing robot motion loss, posture instability, or abnormal support state, thus helping the robot maintain or restore a stable state. Attached Figure Description
[0040] To more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0041] Figure 1 A system architecture diagram of a robot stabilization control method according to an embodiment of the present invention is shown.
[0042] Figure 2 A flowchart illustrating a robot stabilization control method according to an embodiment of the present invention is shown.
[0043] Figure 3 The diagram shows a flowchart illustrating the specific control process of a robot stabilization control method according to an embodiment of the present invention.
[0044] Figure 4 The diagram illustrates the input and output during the deployment inference phase when the whole-body stability controller employs a policy network in one embodiment of the present invention.
[0045] Figure 5 A flowchart illustrating the control handover process in one embodiment of the present invention is shown.
[0046] Figure 6 This diagram illustrates the change pattern of fusion weights during the control reversal process in one embodiment of the present invention.
[0047] Figure 7 A schematic diagram of the robot's state before a passive interruption occurs is shown in one embodiment of the present invention.
[0048] Figure 8 This diagram illustrates the state of the robot when an abnormality occurs in the upper body, according to one embodiment of the present invention.
[0049] Figure 9 This diagram illustrates the state of the robot when the target joints of the lower body implement stabilization control after an abnormality occurs in the upper body, according to an embodiment of the present invention.
[0050] Figure 10 This diagram illustrates the state of the robot when the upper body experiences another abnormality during a passive interruption process, according to an embodiment of the present invention.
[0051] Figure 11 This diagram illustrates the state of the robot after stabilization control in the event of a passive interruption, according to one embodiment of the present invention.
[0052] Figure 12 This diagram illustrates the state of the robot performing its current task before an active interruption occurs, according to an embodiment of the present invention.
[0053] Figure 13 A schematic diagram of the robot's state when an active interruption occurs is shown in one embodiment of the present invention.
[0054] Figure 14 This diagram illustrates the state of the robot when it is stabilized by a whole-body stabilization controller after an active interruption, according to one embodiment of the present invention.
[0055] Figure 15 This diagram illustrates the state of the robot adjusting to a stable state after an active interruption, according to one embodiment of the present invention.
[0056] Figure 16 This diagram illustrates the state of the robot after stabilization control in the event of an active interruption, according to one embodiment of the present invention.
[0057] Figure 17 A schematic diagram of a humanoid robot according to an embodiment of the present invention is shown.
[0058] Figure 18 A schematic diagram of a humanoid robot according to another embodiment of the present invention is shown.
[0059] Figure 19 A block diagram of a robot stabilization control device according to an embodiment of the present invention is shown.
[0060] Figure 20 A schematic diagram of the structure of an electronic device according to an embodiment of the present invention is shown.
[0061] Figure 21 A schematic diagram of the structure of a robot according to an embodiment of the present invention is shown.
[0062] Figure 22 A schematic diagram of a computer-readable storage medium according to an embodiment of the present invention is shown. Detailed Implementation
[0063] In the description of this invention, the terms "first" and "second" are used for description only and do not indicate relative importance or imply the number of technical features. Therefore, the features referred to as "first" or "second" may explicitly or implicitly include at least one of those features. "A plurality of" means at least two, unless otherwise expressly defined.
[0064] First, the relevant terms involved in the exemplary embodiments of the present invention will be explained. It should be noted that the following explanations of terms are used to help understand the embodiments of the present invention and should not be construed as limiting the scope of protection of the present invention.
[0065] In the following embodiments, when the robot receives an active interruption command or a high-priority preemption command, it can determine that the control switching trigger condition is met and obtain the trigger information corresponding to the corresponding command. Similarly, when the robot detects changes in joint state, control communication state, task control command state, or posture deviation state that meet the corresponding anomaly judgment conditions, it can also determine that the control switching trigger condition is met and obtain the corresponding trigger information. Based on the trigger information, the trigger type corresponding to the control switching trigger condition can be determined as an active trigger type or an abnormal trigger type. The active trigger type corresponds to the situation where an active interruption command or a high-priority preemption command is received, while the abnormal trigger type corresponds to situations where abnormal joint state, control communication, task control command changes, or posture deviations occur during robot operation. For ease of explanation in conjunction with specific scenarios, the interrupt protection scenario corresponding to the active trigger type will be referred to as the active interruption scenario, and the interrupt protection scenario corresponding to the abnormal trigger type will be referred to as the passive interruption scenario.
[0066] The specific forms of the above terms in different embodiments can be determined according to the robot structure and control system configuration, and the present invention does not limit them. The technical solution of the present invention will be described in detail below with reference to the system architecture and specific embodiments.
[0067] Figure 1 A system architecture diagram is shown that can be applied to a robot stabilization control method according to an embodiment of the present invention.
[0068] like Figure 1 As shown, the system architecture 100 may include a terminal device 101, a robot 102, a network 103, and a server 104. Among them, the terminal device 101 can serve as the interaction terminal of the robot control system, used to display the running status, joint status, and stable control status of the robot 102, and can send task control commands, active interrupt commands, or other control commands to the robot 102 or the server 104.
[0069] Robot 102 has multiple controllable joints and can be equipped with sensors or state detection units to acquire the robot's operational status. For example, joint position and velocity can be acquired through joint encoders or joint servo controllers, torso posture and angular velocity can be acquired through inertial measurement units, and foot contact state and force can be acquired through foot force sensors or contact detection results. The control system of robot 102 generates corresponding joint control commands based on the acquired state information and drives the robot's movement through joint actuators.
[0070] Server 104 can deploy robot control programs, state processing programs, or policy network parameters used by the whole-body stability controller according to specific implementation needs. It can also be used to complete some state processing or control calculations. For the implementation of the whole-body stability controller, a policy network trained by reinforcement learning is adopted. The trained policy network can be deployed in the local processor of robot 102 or in a computing device that is communicatively connected to robot 102.
[0071] During the task execution by robot 102, the local controller of robot 102 can handle trigger monitoring, target joint determination, instruction source switching, and generation of control instructions for the stabilizing side joints, or server 104 can perform some of the processing. The key is that the processing results can be provided to the corresponding execution channel within the robot's control cycle.
[0072] In other embodiments, server 104 may include an edge computing device located in the same work area as robot 102, or a remote server or cloud computing device connected to robot 102 via a communication network. The robot control system can allocate corresponding processing tasks among the robot's local processor, edge computing device, and remote computing device according to the real-time requirements of different processing procedures.
[0073] For example, processes with relatively low real-time requirements, such as status recording, historical data analysis, control parameter configuration, and strategy network parameter management, can be performed by server 104. Processes related to real-time robot control, such as trigger condition judgment, target joint determination, instruction source switching, or stable side joint control instruction generation, can be performed by the robot 102's local processor or edge computing device, depending on communication latency and the robot's control cycle. For control processes performed by server 104, the corresponding processing results should meet the robot's current control cycle or the allowable control latency requirements.
[0074] The specific functional allocation among the terminal device 101, robot 102, and server 104 can be determined according to the deployment method of the robot control system. For example, status acquisition and joint command execution can be completed locally by robot 102, while control parameter configuration, running status display, or some control calculations can be completed by terminal device 101 or server 104. This invention does not limit this.
[0075] Network 103 serves as the medium for providing a communication link between terminal device 101, robot 102, and server 104. Network 103 may include various connection types, such as wired communication links, wireless communication links, or fiber optic cables. It should be understood that... Figure 1 The number and type of terminal devices, robots, networks, and servers shown are merely illustrative. Depending on the implementation needs, there can be any number and type of terminal devices, robots, networks, and servers.
[0076] In one embodiment, the robot control system of this invention may include a trigger monitoring and control switching module, a task controller, a whole-body stability controller, a control arbitration and command source selection module, an execution channel, robot joints or actuators, and a status acquisition and feedback module. The trigger monitoring and control switching module may include a trigger monitoring unit, a trigger information generation unit, a target joint determination unit, a command source switching unit, a control arbitration unit, and a return-to-switch condition judgment unit; the status acquisition and feedback module may include a posture information acquisition unit, a contact state acquisition unit, and a joint state acquisition unit. The task controller generates task-side joint control commands during the normal task execution phase; the whole-body stability controller generates stability-side joint control commands during the stability protection phase; the control arbitration and command source selection module determines the valid joint control commands to be sent to the execution channel based on the target joint and the current command source identifier; the execution channel transmits the valid joint control commands to the corresponding robot joints or actuators.
[0077] The task controller, the whole-body stabilization controller, and the control switching module can be deployed in the same processor or in different processing units. The task controller and the whole-body stabilization controller, as referred to in this invention, are primarily used to distinguish between two types of control functions and the corresponding sources of joint control commands; they are not required to be physically independent.
[0078] The state acquisition module can obtain data from the robot's sensors, the underlying joint controller, and the state estimation module. For example, joint position and joint velocity can be fed back by joint encoders or joint servo controllers; joint torque can be determined by torque sensors or motor state information; torso posture and torso angular velocity can be determined based on data collected by the inertial measurement unit; foot contact state and foot contact force can be determined by foot force sensors, joint state, or contact detection results.
[0079] The sampling periods for different state information can be different. The robot control system can save the latest values of various state information and read the corresponding state when trigger judgment or stabilization control is required; it can also complete state acquisition and state update within a unified control cycle. This invention does not limit the specific sampling frequency of each sensor or the specific acquisition order of each state quantity.
[0080] The control switching module can exchange joint control data with the task controller and the whole-body stability controller via shared memory, inter-process communication, control bus, or data interface within the control program. The control switching module may include control arbitration logic for selecting a valid command source. This control arbitration logic determines the valid data to be sent to the execution channel from task-side joint control data, stability-side joint control data, or transition joint control data, based on the target joint and the current command source identifier.
[0081] During normal task execution, the task controller generates task-side joint control commands based on the current task control instructions and the robot's operating status. The execution channels corresponding to the joints involved in the normal task use the task controller's output as valid input. The status acquisition module continuously updates status information related to interruption protection during robot operation, and the control switching module uses this information to monitor whether a change in the source of joint control commands is required.
[0082] In one specific implementation, the whole-body stability controller can be a WBT controller. When the WBT controller is used for interruption protection of the humanoid robot, in the event of active interruption, the corresponding target joint can be switched to WBT control to keep the robot in its current posture or restore it to standing from its current state; in the event of passive interruption, such as when an abnormality occurs in the upper body joint, the lower body joint used to maintain support and stability can be switched to WBT control to keep the robot standing stably.
[0083] This invention provides a robot stabilization control method through exemplary embodiments. (See reference...) Figure 2 As shown, the method may include steps S201 to S206.
[0084] Step S201: Monitor whether the control switching trigger conditions for the robot are met.
[0085] Step S202: When the control switch triggering condition is met, obtain triggering information that represents the control switch triggering condition.
[0086] Step S203: Based on the trigger information, at least one target joint is determined from the multiple joints of the robot.
[0087] Step S204: Switch the instruction source of the execution channel corresponding to at least one target joint from the task controller to the whole body stability controller. The execution channel is used to provide joint control instructions to the corresponding target joint. When there are joints that are not identified as target joints, keep the instruction source of the execution channel corresponding to the joints that are not identified as target joints unchanged.
[0088] Step S205: Based on the robot's current posture information and contact state information, the whole-body stabilization controller generates stabilization side joint control commands for at least one target joint.
[0089] Step S206: Output stable side joint control commands to at least one target joint through the execution channel to control the robot to maintain or restore a stable state.
[0090] In the above method, the target joint whose effective command source needs to be changed is first determined based on the trigger information corresponding to the control switching trigger condition, rather than directly switching all joints of the robot uniformly after detecting the trigger condition. After the target joint is determined, the effective command source of its corresponding execution channel is changed from the task controller to the whole-body stabilization controller. The whole-body stabilization controller then generates stabilization side joint control commands based on the robot's current posture and contact state, and applies them to the target joint through the corresponding execution channel.
[0091] When there are joints that are not identified as target joints, the instruction source for the execution channel corresponding to the joints that are not identified as target joints remains unchanged during this control switch. For example, if the upper body joints are abnormal while the lower body joints are used for stability protection, only the lower body joints that need to participate in stability control can be switched to the whole body stability controller, while other joints that are not identified as target joints continue to be processed according to the original control logic.
[0092] Further, refer to Figure 3 As shown, in a specific embodiment, the above-mentioned robot stabilization control process can be further refined into steps S301 to S308.
[0093] Step S301: Obtain the robot's task instruction status, joint status, control communication status, task control instruction change status, and posture deviation status, and monitor the control switching trigger conditions.
[0094] Step S302: Determine whether the control handover trigger condition is met. If the control handover trigger condition is not met, return to step S301 to continue acquiring the corresponding status and monitoring; if the control handover trigger condition is met, proceed to step S303.
[0095] Step S303: Obtain trigger information and determine the trigger type. When an active interrupt command or a high-priority preemption command is received, the trigger type is determined to be an active trigger type; when an abnormality occurs in the joint state, control communication state, task control command change state, or attitude deviation state, the trigger type is determined to be an abnormal trigger type.
[0096] Step S304: Determine the target joint based on the trigger type and trigger information. When an abnormal trigger type occurs and the upper body joint is abnormal, the target lower body joint that is not abnormal and participates in maintaining the current support contact relationship can be determined from the lower body joints; when the robot is in a standing state and all lower body joints are not abnormal, all lower body joints can be determined as target joints.
[0097] Step S305: Generate and execute an instruction source switching instruction based on the joint identification information of the target joint and the instruction source identification information corresponding to the whole body stability controller, and switch the instruction source of the execution channel corresponding to the target joint from the task controller to the whole body stability controller; when there are joints that are not identified as target joints, keep the instruction source of the execution channel corresponding to the joints that are not identified as target joints unchanged.
[0098] Step S306: Determine the stability control target based on the attitude information and contact state information at the time of control switch. When the robot meets the preset stability conditions, the current attitude and current support contact relationship at the time of control switch are determined as the stability maintenance target; when the robot does not meet the preset stability conditions, the preset safe state is determined as the stability recovery target.
[0099] Step S307: Based on the attitude information, contact state information, and stability control target of the current control cycle, the policy network outputs the total joint motion quantities and selects the target joint motion quantities from them. Then, a stabilizing side joint control command for the target joint is generated based on the target joint motion quantities. In embodiments employing whole-body stability constraints and contact consistency constraints, the corresponding stabilizing side joint control command can be further determined based on these constraints.
[0100] Step S308: Output the stabilizing side joint control command to the target joint through the execution channel.
[0101] The following provides a detailed explanation of steps S201 and S202.
[0102] In step S201, at least one of the following can be acquired during the robot's operation: task instruction status, joint status, control communication status, change status of task control instructions, and attitude deviation status. The acquired status is then used to monitor whether the control switching trigger condition is met.
[0103] Task instruction status reflects whether the robot has received an active interruption instruction or a high-priority preemption instruction. Active interruption instructions can be generated by the operator, robot safety protection logic, or the upper-level task management process, and are used to stop or interrupt the current task control. High-priority preemption instructions indicate that there is a control requirement with higher priority than the original task, requiring temporary cessation or restriction of the original task controller's effective control over the relevant joints.
[0104] Joint status can include at least one of joint position, joint velocity, joint torque, and joint temperature. Each joint status can have a corresponding safety range set. When at least one joint status exceeds its corresponding safety range, that joint status can be determined to meet the candidate abnormality condition.
[0105] The control communication status can include at least one of the control command reception status and the control communication link status. For example, if a control command that should arrive is not received within a preset time, it can be considered that the control command reception has timed out; when the communication link between the controller and the joint execution side is interrupted, the control communication status can be considered to meet the candidate abnormal conditions.
[0106] The change status of task control instructions reflects the degree of change in task control instructions between adjacent control cycles. The amount of change between corresponding task control instructions in adjacent control cycles can be calculated and compared with a preset instruction change threshold. When the amount of change exceeds the preset instruction change threshold, the task control instruction can be considered to have undergone an abnormal change.
[0107] The attitude deviation state can be determined by the deviation between the desired attitude corresponding to the desired action output by the task controller and the robot's current attitude. When the deviation exceeds a preset attitude deviation threshold, it can be considered that the robot's current execution state has deviated significantly from the action state expected by the task controller.
[0108] In the case of active triggering, when the task instruction status indicates that an active interruption instruction or a high-priority preemption instruction has been received, it can be directly determined that the control switch triggering condition is met, and the triggering information corresponding to the instruction can be obtained. Active triggering is not contingent on the robot itself having malfunctioned or become unstable.
[0109] In abnormal triggering situations, if any of the joint status, control communication status, change status of task control command, or attitude deviation status meets the corresponding abnormal judgment condition, it can be determined that the control switch trigger condition is met.
[0110] In some embodiments, to reduce the impact of instantaneous fluctuations on anomaly detection, after any state meets the candidate anomaly condition, the duration for which the state continues to meet the candidate anomaly condition can be obtained. When the duration reaches a preset confirmation duration, the control switch trigger condition is then determined to be met, and the state information corresponding to that state is determined as the trigger information.
[0111] The preset confirmation duration can be set separately for different abnormal states. For states such as joint torque and joint speed that may be affected by short-term fluctuations, multiple control cycles can be continuously judged; for situations where the control communication link has been explicitly reported as interrupted by the underlying control system, a confirmation method adapted to the communication anomaly can be adopted. This invention does not limit all types of anomalies to using the same preset confirmation duration.
[0112] The safety thresholds corresponding to joint states, the preset command change thresholds corresponding to task control commands, and the preset attitude deviation thresholds corresponding to attitude deviations can be predetermined based on the robot's structural parameters, the allowable operating range of the joints, the range of changes in corresponding state variables during normal task execution, and stability control requirements. Different anomaly detection thresholds can be configured for different joints, different tasks, or different robot operating states.
[0113] For example, corresponding joint state thresholds can be set according to the allowable joint position range, speed range, or torque range of the joint drive mechanism; preset command change thresholds can be set according to the range of changes in task control commands between adjacent control cycles when the robot is performing a task normally; and preset posture deviation thresholds can be set according to the range of deviations between the allowable actual posture and the desired posture when the robot is performing a corresponding task.
[0114] The preset confirmation time can be further configured to correspond to the anomaly type. For joint torque or joint speed that may have instantaneous peak values, the anomaly can be confirmed only after the candidate anomaly state has existed for several consecutive control cycles. For situations where the communication link has been clearly interrupted or the underlying controller directly reports a fault, the confirmation time can be shortened or the corresponding anomaly judgment conditions can be confirmed directly.
[0115] By determining whether the control switch trigger condition is met only after the candidate abnormal state has been continuously confirmed for a preset time, it is possible to distinguish between short-term state fluctuations and continuous abnormalities, thereby reducing unnecessary control switches triggered by instantaneous fluctuations in joint state, short-term communication delays, or short-term changes in task control instructions.
[0116] For example, in the case of joint status abnormality, the trigger information may include the joint identifier of the abnormality, the type of abnormality, and the corresponding status value; in the case of control communication abnormality, the trigger information may include the communication object of the abnormality and the joint range affected by the abnormality; in the case of task control command change abnormality, the trigger information may include the task control command that has changed abnormally and its corresponding joint range; in the case of attitude deviation abnormality, the trigger information may include the current attitude deviation and the task control object corresponding to the deviation.
[0117] If the active interrupt command or high-priority preemption command already contains joint identifiers, joint group identifiers, or controlled object information, the corresponding information can be directly written into the trigger information. If the joint range is not directly specified, the target joint can be determined in the subsequent target joint determination process, taking into account the current task control range and the robot's stability control requirements.
[0118] The specific data format of the trigger information in the control software is not limited. For example, a message structure can be used to store the trigger source, trigger type, joint identifier, and status data, or the trigger type and the set of affected joints can be stored separately. The trigger information should at least be able to allow subsequent processes to determine the joints involved in this control switch and the corresponding trigger reason.
[0119] In this way, active interruption commands, high-priority preemption commands, and different abnormal states that occur during robot operation can be incorporated into the same control handover process. Based on the corresponding trigger information, the target joint that needs to be stably taken over can be further determined, so that active control requirements and abnormal protection requirements can adopt the same subsequent target joint determination and stabilization control process.
[0120] The following is a detailed explanation of step S203.
[0121] In step S203, the trigger type can be determined first based on the trigger information, and then at least one target joint can be determined based on the trigger type and the trigger information. The trigger type is used to distinguish whether the current control switch is triggered by an active control demand or by an abnormal robot operating state.
[0122] When the trigger information indicates that an active interrupt command or a high-priority preemption command has been received, the trigger type can be determined as an active trigger type. When the trigger information indicates that there is an abnormality in the robot joint state, control communication state, task control command change state, or posture deviation state, the trigger type can be determined as an abnormal trigger type.
[0123] In some embodiments, a correspondence between different trigger types and target joint candidate ranges can be pre-configured. Based on the current trigger information and the robot's current state, the target joint corresponding to this control switch is determined from the respective target joint candidate ranges. This correspondence can be stored in the configuration parameters of the robot control system, or the control program can invoke the corresponding target joint determination logic based on the trigger type.
[0124] For example, for active triggering types, when the active interruption command or high-priority preemption command carries a joint identifier or joint group identifier, the target joint candidate range can be determined based on the identifier; when the command only specifies a task or control object, the target joint candidate range can be determined based on the joints involved in the task or control object. For abnormal triggering types, the affected joint range can be determined based on the object where the abnormality occurs, and the target joint can be determined from the affected joint range or other joint ranges used to maintain robot stability, combined with the current support contact relationship and whether each joint can be normally controlled.
[0125] Specifically, when a joint is in an abnormal state, the candidate range can be determined based on the joint in which the abnormality occurs and its location; when control communication is abnormal, the candidate range can be determined based on the joint range corresponding to the abnormal communication object; when the task control command changes abnormally, the candidate range can be determined based on the control object corresponding to the abnormal task control command; and when the posture deviation is abnormal, the candidate range can be determined based on the current support contact relationship and the available joints used to adjust the robot's posture.
[0126] For actively triggered types, when the active interrupt instruction or high-priority preemption instruction has specified the joint or joint group that needs to be stopped from being controlled by the original task, the corresponding joint can be used as the target joint. When the instruction only specifies the current task or controlled object without directly specifying a joint, the target joint can be determined based on the range of joints involved in the current task and the range of joints required for stable control.
[0127] For example, if a humanoid robot is performing an action that requires the joints of both its upper and lower body, and the upper-level task management process requires an immediate interruption of the current action and a return to a standing position, the target joint can be determined based on the range of joints involved in the current task and the range of joints required for the robot to remain standing. If only a portion of the task action needs to be stopped, the command source can be switched only for the joints related to the task action and requiring stable takeover.
[0128] For abnormal trigger types, the target joint need not be the joint that is experiencing the abnormality. In one embodiment of the present invention, when the trigger information indicates that at least one upper body joint is abnormal, the current support contact relationship is determined based on the robot's current contact state information, and at least one target lower body joint that is not abnormal and participates in maintaining the current support contact relationship is determined from the robot's lower body joints, and then the target lower body joint is determined as the target joint.
[0129] When an upper body joint malfunctions, the coordination between the upper and lower body movements during the original task control process may have been disrupted. If the lower body continues to move according to the original task control commands, the lower body movements may not match the robot's actual posture after the malfunction. Therefore, the lower body joints that can be normally controlled and participate in maintaining support can be handed over to the whole-body stability controller for control.
[0130] When the robot is standing and all lower body joints are functioning normally, all lower body joints can be designated as target joints. For bipedal humanoid robots, the lower body joints may include the left and right hip joints, left and right knee joints, and left and right ankle joints, which are actually involved in standing control.
[0131] If some lower body joints malfunction simultaneously, the lower body joints that cannot be controlled normally can be ruled out first. Then, based on the current support contact relationship, the target joints that can still be used to maintain stability can be determined. For example, when the robot is currently using bipedal support, the lower body joints that need to be taken over by the whole body stability controller can be determined based on whether the left and right feet are currently providing support and whether the corresponding leg joints can be controlled normally.
[0132] Taking bipedal support as an example, when both feet are in a supporting state, the hip, knee, and ankle joints related to bipedal support can be considered as candidate target joints. When the robot is in a single-leg support state, the target joint can be determined by combining the current supporting foot, the robot's current torso state, and the leg joints that can be normally controlled.
[0133] When an abnormal upper body joint is not identified as a target joint, the instruction source for its corresponding execution channel remains unchanged; other fault handling for the abnormal joint can be performed by the robot's existing fault handling or safety protection logic. The stabilization control process of this invention mainly utilizes a target joint that can be normally controlled to maintain or restore robot stability. Therefore, whether to identify the abnormal joint itself as a target joint can be determined based on whether the abnormal joint still has usable controllability.
[0134] When the triggering information involves multiple joints or multiple affected objects, a target joint set containing multiple target joints can be formed. The target joint set can be determined at once when control is switched; when the abnormal range or support contact relationship changes, the range of joints that need to be stabilized and taken over can also be redefined.
[0135] Taking a bipedal humanoid robot as an example, the abnormal upper body joints can be the shoulder joints or other upper body joints that are malfunctioning. When the robot is standing and the lower body joints are under normal control, the hip, knee, and ankle joints used to maintain stability can be identified as the target lower body joints. The robot establishes a support contact relationship with the contact surface through its left and right feet, and can determine the current support area based on the corresponding contact areas of the left and right feet. Therefore, the abnormal joint and the target joint taken over by the whole-body stability controller can be different joints.
[0136] The following is a detailed explanation of step S204.
[0137] In one embodiment, the task controller and the whole-body stabilization controller generate task-side joint control commands and stabilization-side joint control commands, respectively. The target joint determination unit provides the target joint identifier to the control arbitration and command source selection module, and the cut-off condition judgment unit provides the judgment result related to the control cut-off. The control arbitration and command source selection module selects a valid joint control command based on the target joint and the current command source identifier, and sends the selected joint control command to the execution channel to drive the corresponding target joint; the execution result of the target joint can also be fed back to the control arbitration and command source selection module.
[0138] In step S204, the instruction source for the execution channel corresponding to at least one target joint is switched from the task controller to the whole-body stability controller. To implement the switch, the joint identification information of the target joint and the instruction source identification information corresponding to the whole-body stability controller can be obtained, and an instruction source switching instruction can be generated based on the two.
[0139] The command source switching command can include at least the joint identifier of the target joint and the command source identifier after switching. After the control switching module executes this command, the joint control data corresponding to the target joint will no longer use the task-side joint control commands generated by the task controller, but will instead use the stability-side joint control commands generated by the whole-body stability controller.
[0140] In one software implementation, the control system stores the current command source identifier for the controlled joint or joint group. During normal task execution, the command source identifier points to the task controller; during a stabilization takeover, the command source identifier corresponding to the target joint is updated to the command source identifier of the whole-body stabilization controller. The control arbitration logic selects the joint control data to be written to the execution channel based on the current command source identifier.
[0141] Both the task controller and the whole-body stability controller can be running before the switchover. Once the target joint is determined, the control switching module mainly changes the selection relationship of the effective control data corresponding to the target joint, without requiring the whole-body stability controller to be restarted or the entire calculation process of the task controller to be stopped.
[0142] When there are joints that are not identified as target joints, the control switch performed on the target joint does not change the current instruction source of the execution channel corresponding to the joints that are not identified as target joints. For example, when a passive interruption only requires the lower body joints to enter stable control, the upper body joints that are not abnormally affected and do not require takeover can continue to be processed according to the original control strategy.
[0143] For multiple target joints identified simultaneously, the appropriate command source can be selected based on the set of target joints. When the robot's underlying control system transmits multi-joint control data by joint group or control interface, the command source can be switched by selecting the data item corresponding to the target joint within the multi-joint control data, without requiring an additional independent physical control link for each target joint.
[0144] In one control cycle implementation, the control arbitration logic reads the current command source identifier in each control cycle and selects the data to be issued from the task-side joint control data and the stabilization-side joint control data. When the command source identifier of the target joint is updated, subsequent control cycles use the stabilization-side joint control commands generated by the whole-body stabilization controller for the target joint.
[0145] When the command source switches back from the whole-body stabilization controller to the task controller, the aforementioned joint identifier and command source identifier mechanism can be reused, and the corresponding command source identifier can be reset to the identifier corresponding to the task controller. Therefore, the same set of execution channel command source selection mechanism can be used for stabilization takeover and subsequent switchback.
[0146] By employing the aforementioned command source switching method, stable control takeover can be implemented down to the execution channel corresponding to a specific target joint. When there are joints not identified as target joints, the command source for the execution channel corresponding to these unidentified joints remains unchanged. This reduces the impact of the control switch on the original control processes of other normal joints while implementing stable control over the target joint.
[0147] The following is a detailed explanation of step S205.
[0148] In step S205, the whole-body stability controller generates stabilizing side joint control commands for the target joint based on the robot's current posture information and contact state information. In one embodiment of the present invention, the stabilization control target can be determined first based on the posture information and contact state information at the time of target joint control switching, and then the stabilizing side joint control commands can be generated based on the robot state in the subsequent current control cycle.
[0149] Specifically, the robot's current posture can be determined based on the posture information at the time of control switching, and the current support contact relationship can be determined based on the contact state information at the time of control switching. Based on the current posture and the current support contact relationship, it can be determined whether the robot meets the preset stability conditions.
[0150] In some implementations, preset stability conditions can be determined based on one or more of the robot's current torso posture, support contact relationship, and center of mass state. For example, it can be determined whether the robot's torso roll angle, pitch angle, or posture deviation relative to a preset standing posture is within the corresponding allowable range, whether the current supporting foot maintains effective contact, and whether the projection of the robot's center of mass onto the contact surface is within the current support area. When the above states meet the corresponding stability requirements, it can be determined that the robot is currently in a stable state that can be directly maintained.
[0151] The corresponding allowable range can be preset according to the robot's structural form, support method, and current task status. For bipedal and monopedal support states, corresponding stability judgment conditions can be set separately. For example, in bipedal support state, the centroid projection position can be determined based on the support area formed by the two legs; in monopedal support state, the judgment can be made based on the support area corresponding to the current supporting leg.
[0152] When the robot meets the preset stability conditions, the current posture and current support contact relationship at the time of control switching can be determined as the stability maintenance target, and this stability maintenance target can be used as the stability control target. In subsequent control cycles, the whole-body stability controller generates stabilizing joint control commands based on the changes in the robot's actual state relative to the recorded stability maintenance target.
[0153] For example, when a humanoid robot is in a bipedal standing position and receives an active interrupt command, if the torso posture is within a preset allowable range, both feet maintain effective support, and the current state meets preset stability conditions, the torso posture and bipedal support contact relationship at the time of the switch can be recorded as the stability maintenance target. After the whole-body stability controller obtains control of the target joint, it generates subsequent joint control commands with the aim of maintaining this state.
[0154] When the robot does not meet the preset stability conditions, the preset safety state can be defined as the stability recovery target, and the stability recovery target can be used as the stability control target. For a bipedal humanoid robot, the preset safety state may include a preset standing posture and the bipedal support contact relationship corresponding to that standing posture.
[0155] For example, if the robot has already tilted its torso significantly when the stability protection is triggered, or if the original support relationship can no longer serve as the stability maintenance target, the state at the time of the switch can be used instead of the stability maintenance target. In this way, the preset safe state can be used as the stability recovery target, allowing the whole body stability controller to control the available target joints to adjust the robot to the corresponding stable state.
[0156] The stability target can be stored in the control system during the control handover. In subsequent control cycles, the current attitude information and current contact state information are continuously updated, while the stability target can remain unchanged until the triggering condition is removed or the control system redetermines the stability control target according to actual control needs.
[0157] The stabilization recovery target can pre-store multiple candidate safe states and select one as the current stabilization recovery target based on the robot's shape and the currently available support points. For example, for a robot capable of bipedal support, the bipedal standing safe state can be selected; for a situation where only one side of the support is currently available, the corresponding safe state can be selected based on the actual available support relationships. This invention does not limit the setting to a single preset safe state.
[0158] In this way, when the robot is in a stable state during the switch of control, the posture and support contact relationship at the time of the switch can be maintained as much as possible to reduce unnecessary posture adjustments; when the robot has deviated from the stable state, it can be controlled to restore the robot to a preset safe state that is compatible with the current available support conditions, so as to select the appropriate stabilization control method according to the actual state of the robot at the time of the switch of control.
[0159] After gaining control of the target joint, the whole-body stability controller can determine the current trunk state based on the current posture information and the current support contact relationship based on the current contact state information in each control cycle. Then, it generates stabilizing side joint control commands for the target joint based on the stability control target, the current trunk state, and the current support contact relationship.
[0160] When the stability control target is to maintain stability, the target trunk state and the target support contact relationship can be determined by the current state recorded during the control handover. When the stability control target is to recover stability, the target trunk state and the target support contact relationship can be determined by the preset safe state.
[0161] The following describes one method for determining the current support contact relationship. Taking a bipedal robot as an example, when the left and right feet make contact with the contact surface, the support area can be determined based on the contact area of the soles of the feet, and the current support contact relationship can be determined based on at least one of the following: the contact center, the contact force, and the state of the supporting feet.
[0162] In some embodiments, the current support contact relationship is determined based on the contact state information of the robot's current control cycle. This can be achieved by first determining at least one foot currently in a support state based on the contact state of each foot of the robot, then obtaining the contact force and contact area between each foot currently in a support state and the contact surface, and determining the support area based on the contact area. Finally, the current support contact relationship is determined based on the foot currently in a support state, the contact force, and the support area.
[0163] Taking a bipedal robot as an example, when both the left and right feet make effective support contact with the ground, the left and right feet can be identified as the current supporting feet, and a bipedal support area can be formed based on the corresponding contact areas of the left and right feet; when only one foot makes effective support contact, a single-foot support area can be determined based on the contact area of that supporting foot.
[0164] Whether the foot is in a supported state can be determined based on the foot contact detection results or whether the foot contact force meets the corresponding contact judgment conditions. For robots with foot contact detection capabilities, the actual contact area can be obtained directly; for robots that cannot directly measure the contact area, the corresponding contact area can be determined based on the foot geometry corresponding to the current supporting foot or the support area data stored in the control system.
[0165] Contact force can be used to further determine whether the current support contact is effective and the current support status of each support foot. The current support contact relationship can be updated in each control cycle. When the robot changes from bipedal support to monopedal support, or from monopedal support back to bipedal support, the current support contact relationship is updated accordingly with the current contact state information.
[0166] In some embodiments, the stabilization control target includes the target trunk state and the target support contact relationship. Whole-body stability constraints can be determined based on the current trunk state and the target trunk state, and contact consistency constraints can be determined based on the current support contact relationship and the target support contact relationship. Then, stabilizing side joint control commands for the target joint are generated based on the whole-body stability constraints and the contact consistency constraints.
[0167] Taking stability maintenance as an example, if the robot is in a stable bipedal standing state when control is switched, the target torso state can be the torso state at the time of the switch, and the target support contact relationship can be the bipedal support relationship. In subsequent control cycles, when the current torso state deviates from the target torso state, the deviation is used to determine the state that needs to be adjusted in the whole-body stability control; when the current foot contact state changes relative to the target bipedal support relationship, the corresponding contact state is used to determine the contact deviation that needs to be handled in the contact consistency control.
[0168] Taking stabilization recovery as an example, the target torso state can be determined by a preset safe posture, and the target support contact relationship can be determined by the support relationship corresponding to the preset safe state. The whole-body stabilization controller generates target joint control quantities to restore the robot to the preset safe state based on the differences between the current torso state and the target torso state, as well as the differences between the current support contact relationship and the target support contact relationship.
[0169] Full-body stability constraints can be applied to trunk posture, center of mass state, or joint motion state. When using a full-body stability controller based on optimization, the corresponding stability requirements can be written into the constraints or objective terms of the control solution process. When using a policy network to implement a full-body stability controller, state information related to trunk state and stability control objective can be used for policy reasoning, so that the policy network outputs joint motion quantities based on the current state.
[0170] Contact consistency constraints can be used to characterize the requirements of the target support contact relationship on the current support contact state. For example, if the target support contact relationship requires maintaining bipedal support, it can be determined whether the target support relationship is still satisfied based on the current contact state, contact force, and foot slippage state of the left and right feet. When it is necessary to change the support contact relationship during the stabilization recovery process, the corresponding contact state can be adjusted according to the target support contact relationship, without requiring the original contact state at the time of control switching to be maintained at all times.
[0171] Whole-body stability constraints and contact consistency constraints can be used together to solve for joint control variables. For robots with joint position control, the desired joint position can be obtained; for robots with joint velocity control or joint torque control, the desired joint velocity or desired joint torque can be obtained. This invention does not limit the whole-body stability constraints and contact consistency constraints to adopt specific mathematical forms.
[0172] By simultaneously considering the robot's current torso state and support contact relationship, the stabilizing joint control commands can be used not only to adjust the robot's body posture but also to take into account the support state between the foot and the contact surface. Whole-body stability constraints limit deviations of the torso state, center of mass state, or joint operation state from stability requirements, while contact consistency constraints constrain foot support, foot sliding, and contact state switching, thereby reducing the possibility of disrupting the original support relationship due to posture adjustments alone.
[0173] In step S206, the stabilizing side joint control commands generated by the whole-body stabilization controller are output to the target joint through the execution channel. The form of the joint control commands is adapted to the robot's underlying control interface.
[0174] For example, when the whole-body stability controller outputs the desired position of the target joint, the desired position can be used as the input to the position control interface; when it outputs the desired velocity, it can be used as the input to the velocity control interface; and when it outputs the desired torque, it can be used as the input to the torque control interface. When the whole-body stability controller outputs upper-level motion quantities while the lower-level joint interface uses other control quantities, the corresponding control quantity conversion can be completed between the whole-body stability controller and the execution channel.
[0175] During the continuous control of the target joint by the whole-body stabilization controller, each control cycle can reacquire the robot's current posture information, contact state information, and joint state information as needed, and regenerate the control commands for the stabilized side joints. As the robot's state changes with actual movement, the whole-body stabilization controller continuously adjusts the control quantities of the target joint accordingly.
[0176] The following describes a specific implementation of a reinforcement learning strategy network for a whole-body stability controller.
[0177] refer to Figure 4 As shown, during the deployment and inference phase, the policy network can serve as the control model in the whole-body stability controller. After inputting the policy observations, constructed from the robot's current posture information, contact state information, and joint state information, into the policy network, the policy network outputs the total joint motion quantities corresponding to multiple joints of the robot. The control system selects the target joint motion quantity corresponding to the target joint from the total joint motion quantities and generates at least one stabilizing side joint control command for the target joint based on the target joint motion quantity.
[0178] In one embodiment of the present invention, the whole-body stability controller includes a policy network trained through reinforcement learning. The robot control system acquires current joint state information and constructs policy observations based on the robot's current posture information, contact state information, and joint state information. The policy observations are then input into the policy network to obtain the total joint motion quantities.
[0179] Joint state information may include at least one of joint position and joint velocity. Policy observations may include at least one of trunk posture and trunk angular velocity, at least one of foot contact state and foot contact force, and at least one of joint position and joint velocity. Each state variable can be processed according to the input order and data processing method used during the training phase before being input into the policy network.
[0180] The total joint motion output by the policy network includes joint motions corresponding to multiple joints of the robot. Each joint motion includes at least one of the desired position, desired velocity, and desired torque of the corresponding joint. The total joint motion can maintain the original whole-body output form of the WBT control model.
[0181] Based on the target joint identified in the preceding steps, the target joint motion quantity corresponding to the target joint is selected from the total joint motion quantities, and the stabilizing side joint control command for the target joint is generated according to the target joint motion quantity. Joints not identified as target joints do not automatically adopt the motion quantities output by the policy network due to this target joint-level control switch. By retaining the original total joint motion quantity output of the WBT control model and selecting the motion quantity corresponding to the target joint from it, control can be implemented on the target joint that needs to be stably taken over without changing the overall output form of the policy network.
[0182] For example, if the upper body joints are abnormal and all the lower body joints are identified as target joints, the policy network can still output the full joint motion quantities corresponding to multiple joints throughout the robot's body. The control system extracts the motion quantities corresponding to the target joints of the lower body and uses them as stable control outputs; other joints are processed according to their respective currently valid instruction sources.
[0183] The policy network can be trained through reinforcement learning before deployment, and then deployed into the robot control system for inference. During the deployment phase, the policy network is used to infer the current policy observations for each control cycle to obtain the full joint motion quantities corresponding to the current control cycle. The policy network is not retrained during the current interruption protection process.
[0184] In one training implementation, the policy network can be trained using reinforcement learning in a robot simulation environment. The policy network may include an input layer, one or more intermediate network layers, and an action output layer. The input layer receives policy observations, the intermediate network layers perform feature processing on the policy observations, and the action output layer outputs joint motion quantities corresponding to multiple joints of the robot. The intermediate network layers may employ fully connected networks, recurrent neural networks, or other network structures capable of generating motion features based on the current policy observations; this invention does not specifically limit these structures.
[0185] During training, the robot's initial posture, joint states, foot contact states, and external disturbances can be adjusted to enable the policy network to perform stable control under different robot states. The rewards used in training can include one or more of the following: stable state rewards, posture deviation penalties, contact stability rewards, motion smoothness rewards, and joint control costs. For example, rewards can be increased when the robot's torso posture approaches the target posture, the center of mass remains within the support area, or the expected supporting foot maintains effective contact; penalties can be imposed when torso posture deviation increases, unexpected foot slippage occurs, joint motion changes are excessive, or joint control inputs are too large.
[0186] When using reinforcement learning training methods that include policy networks and value networks, the parameters of the policy network and value network can be updated respectively based on the rewards obtained during training and the estimation results of the value network.
[0187] Training round termination conditions can also be set during the training process. For example, if the robot falls, its torso posture deviates beyond a preset range, the expected support contact relationship fails continuously, or a single training round reaches a preset duration, the current training round ends, and the robot's state is reinitialized to enter the next training round. The above-mentioned reward items, training termination conditions, and their specific parameters can be set according to the robot's structure and stability control requirements.
[0188] This invention does not require the specific reinforcement learning algorithm employed by the policy network as a necessary condition for the control handover process. As long as the trained policy network can generate joint motion quantities for robot stability control based on the policy observations, it can serve as an implementation of a whole-body stability controller.
[0189] When the WBT control model is already used for robot motion tracking or whole-body motion control, the interruption protection process can invoke the already deployed WBT control model for inference. In the event of an active interruption, the effective control of the corresponding joint is transferred to WBT stabilization control based on the target joint determination result; in the event of a passive interruption, the target joint that needs to be stabilized by WBT is determined based on the abnormal location and the current support relationship.
[0190] By maintaining the output form of the full-joint motion quantities of the policy network and selecting the target joint motion quantities corresponding to the current target joint, the policy network's ability to coordinate and control based on the robot's whole-body state can be continued. At the same time, the actual stable control output is limited to the target joint that needs to be taken over, thus combining the policy network's whole-body state perception capability with the target joint-level control switching.
[0191] The following explains the control revert process after the control handover trigger condition is removed. (Reference) Figure 5 As shown, the process may include steps S501 to S508.
[0192] Step S501: Check whether the control switch trigger condition has been released.
[0193] In the case of active triggering, the release of the trigger condition can be manifested by the cancellation of the active interruption command or the termination of the high-priority control request. In the case of abnormal triggering, the release of the trigger condition can be manifested by the abnormal joint state returning to the allowable range, the resumption of control communication, the return of changes in task control commands to the allowable range, or the return of attitude deviation to the allowable range.
[0194] The release of the control handover trigger condition does not mean that the target joint is immediately returned to the task controller. After the trigger condition is released, it can be further determined whether the control handover condition is met based on the task controller output, the whole body stabilization controller output, and the robot's current state.
[0195] Step S502: Obtain the task-side joint control command generated by the task controller for the target joint, and the stability-side joint control command generated by the whole-body stability controller for the target joint.
[0196] While the whole-body stabilization controller is controlling the target joint, the task controller can continue to generate task-side joint control commands for the target joint based on the current task control commands and the robot's current operating state. However, before the reversal, these task-side joint control commands are not used as valid execution inputs for the target joint. This way, when determining whether a reversal is possible, the task controller can obtain the task-side control output generated by the task controller for the robot's current state.
[0197] The whole-body stabilization controller continues to generate stabilizing joint control commands based on the robot's current posture and contact state information during the same phase. The task-side joint control commands, stabilizing joint control commands, and robot state used for cutback determination can correspond to the same control cycle or, after time alignment, correspond to the same robot state.
[0198] Step S503: Based on the task-side joint control commands, the stabilization-side joint control commands, and the robot's current posture and contact state information, determine the state variables related to the control control reversal conditions.
[0199] Step S504: Determine whether the control reversal conditions are met.
[0200] In some embodiments, the command deviation between the task-side joint control command and the stabilization-side joint control command can be determined, and it can be determined whether the command deviation is less than a preset command deviation threshold; the current torso posture can be determined based on the robot's current posture information, and it can be determined whether the posture deviation of the current torso posture relative to the preset return posture is less than a preset return posture threshold; the current support contact relationship can be determined based on the robot's current contact state information, and it can be determined whether the current support contact relationship meets the preset return contact condition.
[0201] When the command deviation is less than a preset command deviation threshold, the attitude deviation is less than a preset return attitude threshold, and the current support contact relationship meets the preset return contact condition, the control return condition is determined to be met. The above three aspects are used to determine whether the current output of the task controller is close to the stable control output, whether the robot's current attitude allows the resumption of task control, and whether the current support state allows the resumption of task control.
[0202] Command deviation can be determined based on the difference between the same physical quantity in the task-side joint control command and the stabilization-side joint control command. When both types of joint control commands use joint position, the command deviation can be determined based on the difference between the corresponding joint position commands; when joint velocity or joint torque is used, the same type of control quantity can be compared.
[0203] When the target joint includes multiple joints, the control quantity difference corresponding to each target joint can be obtained separately, and the overall command deviation can be determined based on the multiple control quantity differences. For example, the overall command deviation can be determined based on the norm or weighted result of the control quantity differences of each target joint. This invention does not limit the use of a specific command deviation calculation method.
[0204] The preset return posture can be determined based on the robot posture required when the current task is re-executed. The preset return contact condition can be determined based on the support state required when the current task is re-executed. For example, if the current task requires the robot to continue execution in a bipedal standing position, meeting the corresponding bipedal support requirement can be included as part of the preset return contact condition.
[0205] The preset command deviation threshold, preset return posture threshold, and preset return contact condition can be predetermined based on the robot's structural parameters, control cycle, task type, and allowable state change range. In one embodiment, the task-side joint control commands, robot posture, and support contact state when the robot is normally performing the corresponding task can be acquired, and the corresponding return threshold or return condition can be set according to the change range of the corresponding parameters under normal operating conditions.
[0206] Different return-to-work parameters can be configured for different task types. For example, for tasks requiring high posture stability, a smaller preset return-to-work posture threshold can be set; for tasks allowing a larger range of posture changes, the preset return-to-work posture threshold can be increased accordingly. The preset command deviation threshold can also be determined based on the control type of the target joint and the allowable range of control variable changes.
[0207] In some implementations, the control switchback condition can be determined only after the aforementioned switchback judgment condition has been met for a preset number of consecutive control cycles, thereby reducing frequent switchbacks caused by state fluctuations within a single control cycle. The preset number can be determined based on the robot control cycle and the task's requirements for switchback response speed.
[0208] If the triggering condition has been released but none of the above-mentioned cut-off conditions have been met, the cut-off of the target joint command source will not be executed. The whole-body stability controller continues to control the target joint, the mission controller continues to update the mission-side joint control commands, and re-determines the control cut-off in subsequent control cycles.
[0209] By further judging the deviation between the task-side joint control command and the stabilization-side joint control command, the robot's current posture, and the current support contact relationship after the trigger condition is released, it is possible to avoid immediately restoring task control just because the trigger condition is released. The target joint will only enter the back-cut process when the output of the task side and the output of the stabilization side are relatively close and the robot's current state allows for back-cut, thereby reducing the possibility of the robot becoming unstable again during the back-cut process.
[0210] Step S505: When the control control reversal condition is met, determine the transition control parameters.
[0211] Step S506: Based on the transition control parameters, the control commands for the stable side joint and the control commands for the mission side joint are fused to obtain the transition joint control commands.
[0212] In some embodiments, the transition control parameters include transition duration, a first fusion weight, a second fusion weight, and the variation law of the fusion weight. The transition duration is the duration of the transition period. The first fusion weight is used to characterize the influence of the stable-side joint control command, and the second fusion weight is used to characterize the influence of the mission-side joint control command.
[0213] At the start of the transition, the first fusion weight can be greater than the second fusion weight, so that the transition joint control command is mainly affected by the stable side joint control command; as the transition proceeds, the first fusion weight is gradually reduced and the second fusion weight is gradually increased according to the fusion weight change law; at the end of the transition, the transition joint control command is made consistent with the task side joint control command or within the allowable deviation range.
[0214] Taking the same type of control quantity for the target joint as an example, the control command for the stable side joint is denoted as: The task-side joint control command is recorded as The first fusion weight is denoted as The second fusion weight is denoted as Then the transition joint control command You can follow Confirmed. This expression describes one implementation of weighted fusion of two types of joint control commands, without requiring the fusion weights to use a specific function.
[0215] The weighting variation pattern can adopt linear or other continuous variation methods. For multiple target joints, the weighting can be fused separately based on the stable side joint control commands and the task side joint control commands corresponding to each target joint; when the joint control commands contain multiple control quantities, control quantities of the same type can be fused separately.
[0216] In one implementation, the first fusion weight and the second fusion weight can be normalized so that the sum of the first fusion weight and the second fusion weight is 1. For example, at the beginning of the transition period, the first fusion weight can be set to close to 1 and the second fusion weight can be set to close to 0; as the transition time increases, the first fusion weight is gradually decreased and the second fusion weight is gradually increased; at the end of the transition period, the first fusion weight can be set to close to 0 and the second fusion weight can be set to close to 1.
[0217] The sum of the first fusion weight and the second fusion weight being 1 is only one specific implementation. In other embodiments, corresponding fusion weights can be set according to the amplitude, control form, or underlying control interface of the stable-side joint control command and the mission-side joint control command, without requiring the first fusion weight and the second fusion weight to satisfy a fixed normalization relationship. It is sufficient that the influence of the stable-side joint control command gradually decreases and the influence of the mission-side joint control command gradually increases during the transition process.
[0218] refer to Figure 6 As shown, during the control handover process, a transition period can be set between the whole-body stability controller and the mission controller. During this transition period, the first fusion weight is negatively correlated with the transition time, and the second fusion weight is positively correlated with the transition time, so that the influence of the stability-side joint control commands gradually decreases, while the influence of the mission-side joint control commands gradually increases.
[0219] For example, the control command for the stabilizing side joint is denoted as Record the joint control commands on the task side as The first fusion weight is denoted as The second fusion weight is denoted as Then the transition joint control command You can follow Confirmed. The fusion weights can vary linearly or in other continuously varying ways.
[0220] For multiple target joints, the control commands for the stabilizing side joints and the task side joints corresponding to each target joint can be fused separately. By setting up the above transition process, the large changes in control input that occur when a target joint directly switches back from the whole-body stabilization controller to the task controller can be reduced.
[0221] Step S507: During the transition period, output transition joint control commands to the target joint through the execution channel.
[0222] In one implementation, the control arbitration logic simultaneously obtains task-side joint control instructions and stability-side joint control instructions during the transition period, calculates the transition joint control instructions based on the transition control parameters, and uses the transition joint control instructions as valid inputs to the execution channel corresponding to the target joint during the transition period.
[0223] Step S508: After the transition period ends, the instruction source of the execution channel corresponding to the target joint is switched from the whole body stability controller to the task controller, so that the task controller regains control of the target joint.
[0224] At the end of the transition period, if the transition joint control command is consistent with the task-side joint control command or within the allowable deviation range, the subsequent control cycle directly uses the task controller output as the effective input, which can reduce the possibility of sudden changes in joint control quantity at the switching moment.
[0225] In some embodiments, the robot control system may also record operational information during the control handover, stabilization control, and control handover processes. The recorded operational information may include one or more of the following: trigger time, trigger type, trigger information, target joint set, instruction source identifiers before and after the control handover, stabilization-side joint control instructions, task-side joint control instructions, robot posture information, contact state information, control handover judgment result, and fusion weights used during transition control.
[0226] For example, when the control switching trigger condition is met, an operation record corresponding to this stabilization protection process can be established, and the trigger type, target joint, and control switching result can be recorded. During the control of the target joint by the whole body stabilization controller, the robot state and stabilization side joint control commands can be saved according to a preset control cycle or a preset recording cycle. After entering the control switching process, the task side joint control commands, stabilization side joint control commands, corresponding command deviations, and switching condition judgment results can continue to be recorded.
[0227] The operational information can be stored in the robot's local memory or sent to a computing device connected to the robot for storage. By saving the above operational information, it can be used for subsequent analysis of the triggering reasons for control switching, the result of target joint determination, and the stable control process. It can also be used for robot control parameter adjustment, abnormal state diagnosis, or stable control effect analysis.
[0228] refer to Figures 7 to 11 As shown, the following example illustrates the robot's stabilization control process using a bipedal humanoid robot experiencing a passive interruption due to external disturbance. In this embodiment, the robot performs its current task while supported by two legs, and the robot control system continuously acquires the robot's joint states, posture information, and foot contact state information. Figures 7 to 11 In the diagram, the arrows near the robot's feet indicate the contact force between the feet and the contact surface. The current support contact relationship of the robot can be determined by the contact state and contact force of the left and right feet. For a robot in a bipedal standing position, when both feet maintain effective contact with the contact surface, it can be determined that the robot is currently in a bipedal support state.
[0229] refer to Figure 7 As shown, before being disturbed by external forces, the robot is in a normal bipedal support state and executes the current task according to the task-side joint control commands output by the task controller. At this time, both feet generate contact forces to support the robot body. The robot control system determines the current support contact relationship based on the foot contact state and contact forces. The task controller performs normal control of the joints involved in the current task, and the whole-body stability controller can remain operational or in a standby state.
[0230] refer to Figure 8 As shown, during the robot's current task, external force can be applied to the robot's upper limbs. Figure 8 The arrows in the diagram indicate external forces applied to the robot's upper limbs. When these external forces act on the upper limbs, they can cause changes in the position, velocity, torque of the corresponding upper body joints, or the robot's posture relative to its normal operating state. The robot control system monitors the joint states and posture deviations. When the upper body joint state affected by the external force meets the corresponding anomaly detection condition, or when the posture deviation caused by the external force meets the corresponding anomaly detection condition, the control switchover trigger condition is determined to be met, and the corresponding state information is used as the trigger information. Figure 8 The external force shown is used to create a disturbance to the robot's operating state. The control system can determine whether the control switch trigger condition corresponding to the abnormal trigger type is met based on the abnormal joint state or posture deviation caused by the external force.
[0231] After determining that the trigger type is an abnormal trigger type, the trigger information indicates that the upper body of the robot is affected. At this point, the contact state and contact force of the robot's left and right feet are further obtained, and the current support contact relationship is determined based on the contact between the left and right feet and the contact surface. Figure 8 The arrows near the midfoot indicate the contact force at the foot tip. As shown in the diagram, even when the upper limbs are subjected to external force, the robot's left and right feet remain in contact with the contact surface. Therefore, when the lower body joints are normal and the robot is still in a bipedal support state, the hip, knee, and ankle joints involved in maintaining bipedal support can be identified as target joints; if all lower body joints are under normal control, all lower body joints can also be identified as target joints.
[0232] Once the target joint is determined, the effective command source for the corresponding lower body target joint's execution channel is switched from the task controller to the whole-body stabilization controller. In an implementation using a WBT controller, the lower body target joint can be transferred to WBT control. In this case, the upper body joints subjected to external forces can be handled according to the robot's original anomaly handling logic, while the lower body target joints used to maintain the robot's support stability are controlled by the WBT controller generating stabilization side joint control commands. This eliminates the requirement that the joint experiencing an anomaly must itself be the target joint for stabilization control.
[0233] refer to Figure 9 As shown, in Figure 8 After the external force is applied, the robot's upper limb posture changes relative to its normal state, while the robot's lower body remains supported by both feet. The WBT controller can generate stable side joint control commands based on the torso posture, torso angular velocity, foot contact state, foot contact force, and corresponding joint states obtained in the current control cycle, and adjust the robot's body posture through the target joints of the lower body. Figure 9 The arrows near the midfoot still indicate the contact force between the left and right feet and the contact surface. By analyzing the foot contact force and the foot contact state, it's possible to further determine whether the left and right feet maintain effective support and thus maintain the current bipedal support contact relationship. When implementing the WBT controller using a policy network, the policy network can output the total joint motion quantities based on the above observations and select the target joint motion quantities corresponding to the target joints of the lower body from the total joint motion quantities.
[0234] refer to Figure 10 As shown, during the stabilization control process, external force can be applied to the robot's upper limbs again. Figure 10The arrows in the diagram indicate a second external force applied to the robot's upper limbs. This second external force can cause a new posture change in the upper limbs or further alter existing deviations. The robot control system continues to acquire the robot's current joint states, posture information, and foot contact state information, and generates stabilizing side joint control commands in each control cycle based on the updated robot state. Since the effective command source for the lower body target joints has been switched to the WBT controller, even if the upper body is disturbed by external forces again, the lower body target joints can continue to adjust the movements of joints such as the hip, knee, and ankle joints according to the robot's current state to maintain the robot's body and bipedal support.
[0235] Figure 10 The arrows near the robot's feet also indicate foot contact forces. During the application of external forces, the contact forces of the left and right feet can be used to determine whether the current bipedal support relationship remains valid. While the left and right feet continue to maintain contact with the contact surface, stabilization control can adjust the robot's posture while maintaining the bipedal support relationship. If the contact state of one foot changes, the current support contact relationship can be redefined based on the updated contact state, and the stabilizing joint control commands can be adjusted accordingly. Therefore, Figure 8 and Figure 10 The arrows located at the robot's upper limbs represent the external force applied to the robot's upper limbs, while the arrows near the feet represent the contact force between the robot's feet and the contact surface. The two types of arrows have different physical meanings.
[0236] refer to Figure 11 As shown, after the external force ends, the WBT controller continues to control the target joints of the lower body based on the robot's current posture and contact state information. If the robot's current state meets the preset stability conditions, it can continue to use the current stable posture and the current bipedal support contact relationship as the stability maintenance target; if the robot has significantly deviated from the stable state after being disturbed by the aforementioned external force, it can also use the preset standing safe state as the stability recovery target, and gradually restore the robot to the preset standing state through the coordinated movement of the target joints of the lower body. Figure 11 This illustrates a state in which the robot recovers or maintains a stable standing position after stabilization control.
[0237] Depend on Figures 7 to 11 As shown in the process, when the upper body is disturbed by an external force, resulting in abnormal joint states or posture deviations, it is not necessary to stop controlling all joints of the robot. Instead, the target lower body joints that can still participate in stable control can be determined based on the robot's current support contact relationship, and these target lower body joints can be switched to the whole-body stability controller. In this way, during the disturbance of the upper body, the lower body joints that have not experienced abnormalities can continue to maintain the foot support relationship and adjust the robot's posture, allowing the robot to remain stable or return to a stable state.
[0238] refer to Figures 12 to 16 As shown below, the stable control process under active interruption conditions is explained using the example of a robot receiving an active interruption command while performing its current task. Active interruption can be triggered by an active interruption command issued by the operator or the upper-level control process, without requiring the robot to have experienced joint failure or attitude instability.
[0239] refer to Figure 12 As shown, before the active interruption occurs, the robot is controlled by the task controller and executes movements according to the task-side joint control commands corresponding to the current task. During the movement, the robot control system acquires the robot's current posture information, contact state information, and joint state information.
[0240] refer to Figure 13 As shown, when the robot continues to perform its current task, its upper and lower body joints can generate corresponding movements according to the current task. Upon receiving an active interruption command at this stage, the control system determines that the control handover triggering conditions are met, acquires the trigger information corresponding to the active interruption command, and determines the trigger type as an active trigger type based on the trigger information. If a joint or joint group is specified in the active interruption command, the corresponding joint can be designated as the target joint; if no specific joint is specified, the target joint can be determined based on the joint range involved in the current task and the joint range required for stable robot control.
[0241] refer to Figure 14 As shown, after identifying the target joint, the control command source for the target joint is switched from the task controller to the WBT controller. Once the WBT controller gains control of the target joint, it determines the stable control target based on the robot's current posture and contact state information. Figure 14 In the scenario shown, the robot remains in a support state that it can maintain, so the current posture and current support contact relationship at the time of active interruption can be used as the stability maintenance target.
[0242] refer to Figure 15 As shown, after switching the control command source, the WBT controller generates stabilizing side joint control commands for the target joint based on the robot's current posture information, contact state information, and joint state information. The robot no longer continues to execute the task actions before the active interruption, but instead adjusts the target joint accordingly under the control of the WBT controller to maintain the posture and support state at the time of the active interruption.
[0243] refer to Figure 16As shown, after a period of stable control, the robot can still maintain the same or essentially the same stable posture as when the active interruption occurred. The WBT controller can continue to update the stabilizing joint control commands of the target joint according to the robot's current state in subsequent control cycles to suppress large changes in the robot's posture or support state.
[0244] After the active interruption command is released, the control handover process described above can be used to determine whether the robot currently meets the handover conditions. If the handover conditions are met, the control commands for the stable-side joints and the task-side joints are transitioned, and after the transition is completed, the control of the target joint is returned to the task controller.
[0245] In some embodiments, the current task may be an action imitation or motion tracking task. The robot performs whole-body movements according to the reference movements given by the task control side. If an active interruption occurs during operation or a local anomaly is detected, the target joint can be switched to WBT stabilization control according to the method described above. After the triggering condition is released and the control reversal condition is met, the target joint is restored to the task control side.
[0246] In another scenario, if the robot receives an active interruption command while in a transition phase, a single-leg support phase, or has already experienced a significant posture deviation, and the robot is deemed unsuitable to maintain its current state based on its current posture and support contact relationship, a preset safe state can be used as the stability recovery target. For example, a preset standing posture and its corresponding bipedal support contact relationship can be used as the stability recovery target. The WBT controller generates target joint control commands based on the robot's current state acquired in each control cycle, gradually restoring the robot to a stable standing state.
[0247] The following explains other abnormal triggering scenarios.
[0248] In an embodiment where communication anomalies occur, if the control system detects a timeout in receiving control commands or an interruption in a certain task control link, it can determine trigger information based on the controlled object affected by the communication anomaly and further identify the target joint that needs to be stabilized and taken over. After the execution channel corresponding to the target joint is switched to the whole-body stabilization controller, the whole-body stabilization controller generates stabilization-side joint control commands based on the current attitude information and contact state information.
[0249] In embodiments where task control commands change abnormally, the amount of change in task control commands between adjacent control cycles can be monitored. When the amount of change exceeds a preset command change threshold and meets the corresponding abnormality confirmation condition, it is determined that the control handover trigger condition is met. Based on the joint range corresponding to the abnormal task control command and the need for stable control, the target joint is determined so that the abnormally changed task control output continues to be used as a valid execution input for the target joint.
[0250] In embodiments involving abnormal posture deviations, the posture deviation state can be determined based on the deviation between the desired posture corresponding to the desired action output by the task controller and the robot's current posture. When the posture deviation exceeds a preset posture deviation threshold and meets the corresponding anomaly confirmation conditions, the target joint is determined based on the task control range corresponding to the posture deviation and the robot's current support contact relationship, and the whole-body stability controller implements stabilization control.
[0251] All of the above-mentioned abnormal triggering methods can share the same target joint determination, command source switching, stable side joint control command generation, and control handover processing. The main differences lie in the basis for forming the trigger information and the scope of abnormal influence used when determining the target joint from the trigger information.
[0252] The following is combined with Figure 17 and Figure 18 The embodiments of the present invention will be described in different robot configurations.
[0253] Figure 17 and Figure 18 Two examples of humanoid robot appearances applicable to embodiments of the present invention are shown. Different humanoid robots may differ in shell structure, joint arrangement, sensor mounting methods, and actuator forms. Figure 17 and Figure 18 This is only used to illustrate one application of an embodiment of the present invention and does not limit the specific mechanical structure of the robot.
[0254] For bipedal or humanoid robots, the current support contact relationship can be determined based on the contact state, contact force, and contact area of the left and right feet. When the upper body joints are abnormal, the target joints for maintaining the stability of the current support can be determined from the normal lower body joints; when all lower body joints are normal and the robot is in a standing position, all lower body joints can be used as target joints.
[0255] For quadruped robots, the current support contact relationship can be determined based on whether the four feet are currently in a supporting state. When local task control or partial joint abnormalities require triggering stability protection, the target joint that needs to be taken over by the whole-body stability controller can be determined based on whether the foot currently providing support and the corresponding leg joint can be controlled normally.
[0256] For wheeled robots, the contact state between the wheels and the contact surface can be included in the contact state information, and combined with the robot's torso posture and wheel drive state to determine the target joints required for stable control. Wheel drive joints or leg joints can be determined as target joints based on the actual support and motion state.
[0257] In different robot configurations, the specific data format of the current supporting contact relationship and the number of target joints may differ, but all can adopt the processing method of determining the target joint based on the trigger information, changing the effective command source of the target joint, and then implementing stable control based on the robot's current posture information and contact state information.
[0258] An exemplary embodiment of the present invention also provides a robot stabilization control device. (See reference...) Figure 19 As shown, the robot stabilization control device 1900 may include a trigger monitoring module 1901, a target joint determination module 1902, an instruction source switching module 1903, a stabilization instruction generation module 1904, and a stabilization control module 1905.
[0259] The trigger monitoring module monitors whether the control switching trigger conditions for the robot are met, and acquires trigger information when the conditions are met. The target joint determination module determines at least one target joint from multiple joints of the robot based on the trigger information. The instruction source switching module switches the instruction source of the execution channel corresponding to the target joint from the task controller to the whole-body stabilization controller. The execution channel provides joint control instructions to the corresponding target joint. If there are joints not determined as target joints, the instruction source of the execution channel corresponding to the joints not determined as target joints remains unchanged. The stabilization instruction generation module generates stabilization-side joint control instructions for the target joint based on the robot's current posture information and contact state information through the whole-body stabilization controller. The stabilization control module outputs stabilization-side joint control instructions to the target joint through the execution channel to control the robot to maintain or restore a stable state.
[0260] In some embodiments, the robot stabilization control device may further include a trigger type determination function, a support contact relationship determination function, a control control reversal judgment function, and a transition control function. These functions may be implemented in different modules or executed by the same processor using the corresponding control program.
[0261] The command source switching module may include the aforementioned control arbitration logic. The control arbitration logic can select task-side joint control data or stability-side joint control data based on joint identification information and command source identification information, and generate or select transition joint control data based on transition control parameters during the handover transition.
[0262] When a whole-body stabilization controller includes a policy network, the policy network can be deployed on a central processing unit, graphics processing unit, neural network accelerator chip, or other processing unit with corresponding computing capabilities. The weight parameters of the policy network can be stored in the robot controller's memory and read by the corresponding processing unit to perform inference during runtime.
[0263] An exemplary embodiment of the present invention also provides an electronic device. (See reference...) Figure 20 As shown, the electronic device 2000 includes a processor 2001 and a memory 2002. The memory 2002 stores a computer program. When the computer program is executed by the processor 2001, the processor 2001 executes the above-mentioned robot stability control method.
[0264] The processor can be a central processing unit, a graphics processing unit, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination thereof. The memory can include random access memory (RAM), read-only memory (ROM), flash memory, magnetic storage, or other storage components capable of storing computer programs and control data.
[0265] An exemplary embodiment of the present invention also provides a robot. (See reference...) Figure 21 As shown, robot 2100 may include robot body 2101, processor 2102, and memory 2103. Robot body 2101 includes multiple joints; memory 2103 stores a computer program, which, when executed by processor 2102, causes processor 2102 to perform the aforementioned robot stabilization control method.
[0266] The robot can be a bipedal robot, a quadrupedal robot, a wheeled robot, or a humanoid robot. The robot body can be equipped with an inertial measurement unit, joint encoders, foot force sensors, or other state sensors to acquire the posture information, joint state information, and contact state information required by the embodiments of the present invention.
[0267] When the whole-body stability controller is implemented using a policy network, the policy network can be deployed in the processor within the robot body, or in a computing unit that is communicatively connected to the processor. The key is to obtain policy observations within the robot's control cycle and output the policy network to generate stable side joint control commands for the target joint.
[0268] An exemplary embodiment of the present invention also provides a computer-readable storage medium. (See reference...) Figure 22 As shown, the computer-readable storage medium 2200 stores a computer program 2201. When the computer program 2201 is executed by a processor, it causes the processor to perform the aforementioned robot stability control method. The computer-readable storage medium 2200 may include a read-only memory, random access memory, flash memory, magnetic storage, mobile storage medium, or other media capable of storing computer programs.
[0269] In this embodiment of the invention, the information that can be acquired or calculated in parallel does not have a fixed order. For example, attitude information and contact state information can be acquired within the same control cycle; task-side joint control commands and stabilization-side joint control commands can be generated in parallel; command deviation, attitude deviation, and current support contact relationship in the cutback judgment can be determined in different orders. This is as long as the corresponding data has been obtained when the relevant processing requires the use of the information.
[0270] For steps S201 to S206, some state acquisition or data preparation processes can be executed in parallel without changing the input-output relationship between each step. For steps S501 to S508, after the triggering condition is released, the two types of joint control commands and the robot's current state can be continuously updated according to the control cycle, and transition processing can be performed after the cutback condition is met.
[0271] The method steps in the above embodiments can be implemented by software or by a combination of software and hardware. The corresponding computer program can be stored in a non-volatile storage medium and executed by a processor to implement the above-described robot stability control method.
[0272] Finally, the above embodiments are used to illustrate the technical solutions of the present invention and do not constitute a limitation on the scope of protection of the present invention. Those skilled in the art can make corresponding adjustments to the above embodiments without departing from the scope defined by the claims of the present invention.
Claims
1. A robot stabilization control method, characterized in that, include: Monitor whether the control switching trigger condition for the robot is met, and when the control switching trigger condition is met, obtain trigger information characterizing the control switching trigger condition; Based on the triggering information, at least one target joint is determined from among the multiple joints of the robot; The instruction source of the execution channel corresponding to the at least one target joint is switched from the task controller to the whole body stability controller. The execution channel is used to provide joint control commands to the corresponding target joint. When there is a joint that is not identified as a target joint, the instruction source of the execution channel corresponding to the joint that is not identified as a target joint remains unchanged. Based on the robot's current posture and contact state information, the whole-body stability controller generates stabilizing side joint control commands for at least one target joint. The robot outputs the stabilizing side joint control command to the at least one target joint through the execution channel to control the robot to maintain or restore a stable state.
2. The robot stabilization control method according to claim 1, characterized in that, The step of determining at least one target joint from a plurality of joints of the robot based on the triggering information includes: Based on the triggering information, the triggering type corresponding to the control switching triggering condition is determined. The triggering type is used to characterize the reason category for the switching of the command source that triggers at least one joint of the robot. Based on the trigger type and the trigger information, at least one target joint is determined from a plurality of joints of the robot.
3. The robot stabilization control method according to claim 2, characterized in that, The trigger type includes active trigger type or abnormal trigger type; The step of determining the trigger type corresponding to the control switch trigger condition based on the trigger information includes: When the trigger information indicates that an active interrupt command or a high-priority preemption command has been received, the trigger type is determined to be the active trigger type; When the trigger information indicates that the robot's joint state, control communication state, task control command change state, or posture deviation state is abnormal, the trigger type is determined as the abnormal trigger type.
4. The robot stabilization control method according to claim 3, characterized in that, Determining the at least one target joint from a plurality of joints of the robot based on the trigger type and the trigger information includes: When the trigger type is the abnormal trigger type and the trigger information indicates that at least one upper body joint of the robot is abnormal, the current support contact relationship is determined according to the current contact state information of the robot. The current support contact relationship is used to characterize the foot end of the robot currently in the support state and the contact state between the foot end and the contact surface. From the lower body joints of the robot, identify at least one target lower body joint that is not abnormal and participates in maintaining the current support contact relationship; The at least one target lower body joint is identified as the at least one target joint.
5. The robot stabilization control method according to claim 3, characterized in that, Determining the at least one target joint from a plurality of joints of the robot based on the trigger type and the trigger information includes: When the trigger type is the abnormal trigger type, the trigger information indicates that at least one upper body joint of the robot is abnormal, the robot is in a standing state, and none of the lower body joints of the robot are abnormal, all the lower body joints of the robot are identified as the target joints.
6. The robot stabilization control method according to claim 1, characterized in that, The process of generating stabilizing side joint control commands for at least one target joint based on the robot's current posture and contact state information via the whole-body stabilization controller includes: Based on the robot's posture information and contact state information when the control of at least one target joint is switched, a stability control target is determined. The stability control target is used to characterize the target state that the robot needs to achieve or maintain after the whole body stability controller obtains control of at least one target joint. After the whole-body stability controller gains control of the at least one target joint, it generates stabilizing side joint control commands for the at least one target joint based on the robot's posture information, contact state information, and the stability control target in the current control cycle.
7. The robot stabilization control method according to claim 6, characterized in that, The step of determining a stable control target based on the robot's posture information and contact state information during the control switch at at least one target joint includes: The current posture of the robot is determined based on the posture information of the robot during the control switch, and the current support contact relationship is determined based on the contact state information of the robot during the control switch. When it is determined that the robot meets the preset stability conditions based on the current posture and the current support contact relationship, the current posture and the current support contact relationship are determined as the stability maintenance target, and the stability maintenance target is used as the stability control target; When it is determined that the robot does not meet the preset stability condition based on the current posture and the current support contact relationship, the preset safety state is determined as the stability recovery target, and the stability recovery target is used as the stability control target; The preset safety state includes a preset safety posture and a preset support contact relationship corresponding to the preset safety posture.
8. The robot stabilization control method according to claim 6, characterized in that, The step of generating stable side joint control commands for at least one target joint based on the robot's posture information, contact state information, and the stable control target in the current control cycle includes: The current torso state is determined based on the robot's posture information in the current control cycle, and the current support contact relationship is determined based on the robot's contact state information in the current control cycle. Based on the stability control target, the current trunk state, and the current support contact relationship, a stable side joint control command is generated for the at least one target joint.
9. The robot stabilization control method according to claim 8, characterized in that, The stability control target includes the target trunk state and the target support contact relationship; the step of generating stable side joint control commands for the at least one target joint based on the stability control target, the current trunk state, and the current support contact relationship includes: The whole-body stability constraint is determined based on the current torso state and the target torso state. The whole-body stability constraint is used to constrain at least one of the robot's torso state, center of mass state, and joint running state. A contact consistency constraint is determined based on the current support contact relationship and the target support contact relationship. The contact consistency constraint is used to constrain at least one of the robot's support contact state, foot sliding state, and contact state switching state. Based on the whole-body stability constraint and the contact consistency constraint, a stable side joint control command is generated for the at least one target joint.
10. The robot stabilization control method according to claim 8, characterized in that, Determining the current support contact relationship based on the robot's contact state information in the current control cycle includes: Based on the contact state of each foot of the robot, determine at least one foot that is currently in a supporting state; Obtain the contact force and contact area between each foot end currently in a supported state and the contact surface; The support area is determined based on the contact area corresponding to each foot that is currently in a supported state; The current support contact relationship is determined based on the foot ends currently in a supported state, the contact force, and the support area.
11. The robot stabilization control method according to claim 1, characterized in that, The step of switching the instruction source of the execution channel corresponding to the at least one target joint from the task controller to the whole-body stability controller includes: Obtain the joint identification information of the at least one target joint and the command source identification information corresponding to the whole body stability controller; An instruction source switching instruction is generated based on the joint identification information and the instruction source identification information. The instruction source switching instruction is used to indicate that the instruction source of the execution channel corresponding to the at least one target joint is switched from the task controller to the whole body stability controller. The instruction source switching instruction is executed so that the execution channel receives and outputs the stabilizing side joint control instruction generated by the whole body stability controller.
12. The robot stabilization control method according to claim 1, characterized in that, The method further includes: When it is detected that the control switching trigger condition has been released, the task-side joint control command generated by the task controller for the at least one target joint and the stability-side joint control command generated by the whole body stability controller for the at least one target joint are obtained. Based on the task-side joint control command, the stabilization-side joint control command, and the robot's current posture and contact state information, determine whether the control control switchback condition for switching back the command source of the execution channel corresponding to at least one target joint to the task controller is met. When the control reversal condition is met, the instruction source reversal process is performed on the execution channel corresponding to the at least one target joint, so that the task controller regains control of the at least one target joint.
13. The robot stabilization control method according to claim 12, characterized in that, The step of acquiring the mission-side joint control commands generated by the mission controller for the at least one target joint, and the stability-side joint control commands generated by the whole-body stability controller for the at least one target joint, includes: Obtain the current task control command and the current operating status of the robot; The task controller generates the task-side joint control command based on the current task control command and the robot's current operating state. Obtain the robot's current posture information and contact state information; The whole-body stabilization controller generates control commands for the stabilizing side joints based on the robot's current posture and contact status information.
14. The robot stabilization control method according to claim 12, characterized in that, The step of performing instruction source reversal processing on the execution channel corresponding to the at least one target joint includes: Determine transition control parameters, which characterize the degree of influence of the stable-side joint control command and the mission-side joint control command on the transition joint control command, and the change of the degree of influence during the transition period; Based on the transition control parameters, the stable-side joint control command and the mission-side joint control command are fused to obtain the transition joint control command; During the transition period, the transition joint control command is output to the at least one target joint through the execution channel; After the transition period ends, the command source for the execution channel corresponding to the at least one target joint will be switched from the whole-body stability controller to the task controller.
15. The robot stabilization control method according to claim 14, characterized in that, The transition control parameters include transition duration, first fusion weight, second fusion weight, and fusion weight variation law. The first fusion weight is used to characterize the degree of influence of the stable side joint control command on the transition joint control command, and the second fusion weight is used to characterize the degree of influence of the task side joint control command on the transition joint control command. The step of fusing the stabilizing joint control command and the mission-side joint control command according to the transition control parameters includes: According to the fusion weight change rule, the first fusion weight is gradually decreased and the second fusion weight is gradually increased during the transition time; Based on the first fusion weight and the second fusion weight, the stable-side joint control command and the mission-side joint control command are weighted and fused to obtain the transition joint control command.
16. The robot stabilization control method according to claim 12, characterized in that, The step of determining whether the control handover condition is met based on the task-side joint control command, the stabilization-side joint control command, and the robot's current posture and contact state information includes: Determine the command deviation between the task-side joint control command and the stability-side joint control command, and determine whether the command deviation is less than a preset command deviation threshold; The current torso posture is determined based on the robot's current posture information, and it is determined whether the posture deviation of the current torso posture relative to the preset back-cut posture is less than the preset back-cut posture threshold. The current support contact relationship is determined based on the robot's current contact state information, and it is determined whether the current support contact relationship meets the preset back-cut contact condition. When the command deviation is less than the preset command deviation threshold, the attitude deviation is less than the preset back-cut attitude threshold, and the current support contact relationship satisfies the preset back-cut contact condition, the control back-cut condition is determined to be satisfied.
17. The robot stabilization control method according to claim 1, characterized in that, The whole-body stabilization controller includes a policy network trained through reinforcement learning; the generation of stabilizing side joint control commands for at least one target joint based on the robot's current posture information and contact state information by the whole-body stabilization controller includes: Obtain the current joint state information of the robot, wherein the joint state information includes at least one of joint position and joint velocity; A strategy observation is constructed based on the robot's current posture information, contact state information, and joint state information. The strategy observation includes at least one of the robot's torso posture and torso angular velocity, at least one of foot contact state and foot contact force, and at least one of joint position and joint velocity. The policy observations are input into the policy network to obtain the total joint motion quantities. The total joint motion quantities include joint motion quantities corresponding to multiple joints of the robot. Each joint motion quantity includes at least one of the desired position, desired velocity, and desired torque of the corresponding joint. Select the target joint motion amount corresponding to the at least one target joint from the total joint motion amounts; Based on the target joint motion, a stable side joint control command is generated for the at least one target joint.
18. The robot stabilization control method according to claim 1, characterized in that, The monitoring determines whether the control handover triggering conditions for the robot are met, including: Acquire at least one of the following during the robot's operation: task instruction status, joint status, control communication status, change status of task control instructions, and posture deviation status; When the task instruction state indicates that an active interrupt instruction or a high-priority preemption instruction has been received, it is determined that the control switch trigger condition is met. When the joint state, the control communication state, the change state of the task control command, or the attitude deviation state meets the corresponding abnormal judgment condition, it is determined that the control switch trigger condition is met.
19. The robot stabilization control method according to claim 18, characterized in that, When the joint state, the control communication state, the change state of the task control command, or the attitude deviation state meets the corresponding anomaly determination condition, the control handover trigger condition is determined to be met, including: When any of the joint state, the control communication state, the change state of the task control command, or the attitude deviation state satisfies the corresponding candidate anomaly condition, the duration for which any state continuously satisfies the candidate anomaly condition is obtained. When the duration reaches the preset confirmation duration, it is determined that the control switch trigger condition is met, and the status information corresponding to any of the states is determined as the trigger information.
20. The robot stabilization control method according to claim 19, characterized in that: The joint state includes at least one of joint position, joint velocity, joint torque, and joint temperature, and the candidate abnormal conditions corresponding to the joint state include at least one of the joint position, joint velocity, joint torque, and joint temperature exceeding the corresponding safety threshold. The control communication state includes at least one of the control command receiving state and the control communication link state, and the candidate abnormal conditions corresponding to the control communication state include control command receiving timeout or control communication link interruption. The candidate abnormal conditions corresponding to the change state of the task control instruction include the amount of change of the task control instruction between adjacent control cycles exceeding a preset instruction change threshold. The attitude deviation state includes the deviation between the desired posture corresponding to the desired action output by the task controller and the current posture of the robot. The candidate abnormal conditions corresponding to the attitude deviation state include the deviation exceeding a preset attitude deviation threshold.
21. A robot stabilization control device, characterized in that, include: The trigger monitoring module is used to monitor whether the control switching trigger conditions for the robot are met, and to obtain trigger information representing the control switching trigger conditions when the control switching trigger conditions are met. A target joint determination module is used to determine at least one target joint from a plurality of joints of the robot based on the triggering information. The instruction source switching module is used to switch the instruction source of the execution channel corresponding to the at least one target joint from the task controller to the whole body stability controller. The execution channel is used to provide joint control instructions to the corresponding target joint, and when there is a joint that is not identified as a target joint, the instruction source of the execution channel corresponding to the joint that is not identified as a target joint remains unchanged. The stabilization command generation module is used to generate stabilization side joint control commands for at least one target joint based on the robot's current posture information and contact state information through the whole-body stabilization controller. The stabilization control module is used to output the stabilization side joint control command to the at least one target joint through the execution channel, so as to control the robot to maintain or restore a stable state.
22. An electronic device, characterized in that, include: processor; as well as A memory storing a computer program, which, when executed by the processor, causes the processor to perform the robot stabilization control method according to any one of claims 1 to 20.
23. A robot, characterized in that, include: The robot body includes multiple joints; processor; as well as A memory storing a computer program, which, when executed by the processor, causes the processor to perform the robot stabilization control method according to any one of claims 1 to 20.
24. The robot according to claim 23, characterized in that, The robot is a bipedal robot, a quadrupedal robot, or a wheeled robot.
25. The robot according to claim 23, characterized in that, The robot is a humanoid robot.
26. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, which, when executed by a processor, causes the processor to perform the robot stabilization control method according to any one of claims 1 to 20.