Robot control methods, devices, robots and computer program products

By using adaptive compliant control algorithms and sensor data processing technology, combined with joint admittance compliant control and hip joint balanced impedance control, the stability and safety issues of bionic humanoid robots under external forces have been solved, achieving compliance and safety stability of the robot in complex environments.

CN119681884BActive Publication Date: 2026-01-06UBTECH ROBOTICS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411975293.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2026-01-06
Estimated Expiration
2044-12-26

AI Technical Summary

Technical Problem

When faced with external forces, bionic humanoid robots are prone to losing their balance or causing environmental damage, and existing technologies cannot provide sufficient stability and safety.

Method used

By employing adaptive compliant control algorithms and sensor data processing technology, combined with joint admittance compliant control, hip joint balanced impedance control, and real-time collision detection, the robot adapts to external force influences through target joint movement, ensuring the robot's stability and safety in complex environments.

Benefits of technology

It improves the stability and safety of robots when faced with external forces, reduces the damage to the robot itself, and achieves compliant, safe, and balanced performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119681884B_ABST
    Figure CN119681884B_ABST
Patent Text Reader

Abstract

Embodiments of the present application are applicable to the technical field of robots, and provide a robot control method and device, a robot and a computer program product. The method comprises: when there is an external force acting on a robot, determining a state of the robot when the robot responds to the external force; and based on the state, controlling a target joint of the robot to perform a target motion, the target motion being used to adapt to the influence of the external force in the state, and the target motion at least comprising motion of the target joint moving to a target position under the action of the external force. By using the above method, the stability and safety of the robot when facing the external force can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, and in particular to a robot control method, device, robot, and computer program product. Background Technology

[0002] Bionic humanoid robots are susceptible to external interference and collisions with obstacles in their environment during operation, which can damage the robot itself or harm the surrounding environment. For example, when accompanying a person at home or interacting with others, a bionic humanoid robot may be pulled by external forces or collide with obstacles in its path, which can easily cause the robot to lose its balance and cause damage to itself or the environment.

[0003] In existing technologies, motion or collision detection can mitigate the adverse effects of these risks on robot operation. Currently, robot motion or collision detection primarily relies on rigid control and simple sensor systems. However, when robots interact with humans, face complex terrain and dynamic obstacles, or experience sudden collisions, these systems often fail to provide sufficient stability and cannot guarantee the robot's safety under external forces. Summary of the Invention

[0004] In view of this, embodiments of this application provide a robot control method, device, robot, and computer program product to improve the stability and safety of the robot when facing external forces.

[0005] The first aspect of this application provides a robot control method, including:

[0006] When an external force acts on the robot, determine the state of the robot in response to the external force;

[0007] Based on the state, the target joint of the robot is controlled to perform a target motion, which is used to adapt to the influence of the external force in the state. The target motion includes at least the motion of the target joint moving to the target position under the action of the external force.

[0008] A second aspect of this application provides a robot control device, including:

[0009] A determination module is used to determine the state of the robot in response to an external force when such force is applied to the robot.

[0010] A control module is configured to control the target joint of the robot to perform a target motion based on the state, the target motion being used to adapt to the influence of the external force in the state, and the target motion including at least the motion of the target joint moving to a target position under the action of the external force.

[0011] A third aspect of this application provides a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the robot performs the method described in the first aspect above, thereby achieving control of the robot.

[0012] A fourth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a computer, implements the method described in the first aspect above, thereby controlling a robot.

[0013] The fifth aspect of this application provides a computer program product, including a computer program that, when the computer program is run, causes the method described in the first aspect to be executed, thereby achieving control of a robot.

[0014] Compared with the prior art, the embodiments of this application have the following beneficial effects:

[0015] In this embodiment, by detecting external forces and confirming their application, the robot's current state in response to these forces can be determined. Based on this state, the robot's target joints are controlled to perform target movements, allowing them to adapt to the influence of the external forces and move to the target position under their influence. This allows the robot to move strategically according to the target position corresponding to different magnitudes or types of external forces, ensuring that the movement process adapts to the external forces, minimizing damage to the robot, and improving its stability and safety when facing external forces. Attached Figure Description

[0016] To more clearly illustrate the technical solutions in the embodiments of this application, 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 this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0017] Figure 1 This is a schematic diagram of a robot control method provided in an embodiment of this application;

[0018] Figure 2This is a schematic diagram of an external force detection process provided in an embodiment of this application;

[0019] Figure 3 This is a schematic diagram of a possible implementation of S102 in a robot control method provided in an embodiment of this application;

[0020] Figure 4 This is a schematic diagram of another possible implementation of S102 in a robot control method provided in this application embodiment;

[0021] Figure 5 This is a schematic diagram of another possible implementation of S102 in a robot control method provided in this application embodiment;

[0022] Figure 6 This is a schematic diagram of a robot control process provided in an embodiment of this application;

[0023] Figure 7 This is a schematic diagram of a collision detection process provided in an embodiment of this application;

[0024] Figure 8 This is a schematic diagram of a robot control device provided in an embodiment of this application;

[0025] Figure 9 This is a schematic diagram of the structure of a robot provided in an embodiment of this application. Detailed Implementation

[0026] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0027] When robots work in complex environments or interact with people, they may be interfered with by external forces or collide with obstacles in the environment, which may cause damage to the robot itself or the external environment, or cause the robot to lose its balance.

[0028] To address the aforementioned issues, this application provides a robot control method. This method integrates adaptive compliant control algorithms and sensor data processing technology. Based on joint admittance compliant control, balanced impedance compliant control, real-time collision detection, and a feedback-based adaptive adjustment mechanism, it ensures the robot's compliance, safety, and balance stability in complex environments, effectively improving the robot's stability and collision avoidance capabilities in dynamic environments.

[0029] Specifically, the robot control method provided in this application, through joint admittance compliance control, hip joint balanced impedance control, and motion touch detection and stopping control, can ensure that the robot achieves compliant, safe, and balanced stable performance in various complex movements and interactions. Taking a bionic humanoid robot as an example, during interaction with a human, the robot's legs can move following external forces. This method, through adaptive compliant admittance control of the leg joints, can achieve zero-force dragging of the robot. The bionic humanoid robot can support multiple standing postures. This method can adjust the robot's standing posture in real time. Through joint impedance compliance control, the robot can remain stable under external forces, while providing a compliant response during pushback. When performing actions, if the robot is disturbed or collided with by external forces, this method can control the robot to stop performing the current action and move with the disturbing force, reducing the impact and damage to the robot through compliant control.

[0030] The technical solution of this application will be described below through specific embodiments.

[0031] Reference Figure 1 The diagram illustrates a robot control method provided in an embodiment of this application, which may specifically include the following steps:

[0032] S101. When there is an external force acting on the robot, determine the state of the robot when it responds to the external force.

[0033] It should be noted that this method can be applied to robots, which may be bionic humanoid robots or humanoid robots, etc. The specific type of robot is not limited in the embodiments of this application. Specifically, the control unit or module in the robot can control the robot's response behavior when faced with external forces by executing the various steps of the method provided in the embodiments of this application, thereby ensuring the stability and safety of the robot.

[0034] In this embodiment, the presence of an external force acting on the robot can be determined by external force detection. External force detection on the robot can be achieved by processing joint data and sensor data.

[0035] like Figure 2 The diagram shown is a schematic representation of an external force detection process provided in an embodiment of this application. Figure 2When performing external force detection using the illustrated process, the robot's joint data and sensor data can be monitored in real time, whether the robot is moving or stationary. The joint data can refer to data such as the robot's joint positions. The sensor data can be obtained through an inertial measurement unit (IMU) and force sensors. Therefore, in one example, the sensor data may include attitude data such as joint angles detected by the IMU and joint torque data detected by the robot's joint force sensors.

[0036] For the monitored joint positions, the force calculation can be performed by combining the joint attitude angles from the sensor data to obtain the robot's joint torques. The calculation of the robot's joint torques based on the joint positions and attitude angles can be performed by the robot's control unit, which processes the relevant data to calculate the joint torques. Alternatively, the robot's data processing unit can perform this calculation and then transmit the calculated joint torques to the control unit for further processing.

[0037] If the calculated joint torque differs significantly from the joint torque detected by the force sensor, for example, if the difference between the two joint torques is greater than a certain preset value, it can be determined that there is an external force acting on the robot, and the robot is considered to be affected by an external force.

[0038] For example, when a user interacts with a bionic humanoid robot, whether it is in motion or at rest—for instance, by lifting the robot's arm or pulling it forward—the aforementioned external force detection process can identify the presence of an external force acting on the robot. Furthermore, when the robot collides with obstacles in its environment during movement, a corresponding external force will also be generated, and this type of force can also be detected using the same process.

[0039] In the embodiments of this application, the robot's state can be divided into different types, such as the first state, the second state, or the third state, according to the robot's movement process or the actual situation when it is stationary. In each state, the robot's behavior can be different.

[0040] For example, the first state can refer to the robot's sitting or lying position, which is the sitting or lying position of the bionic humanoid robot. In environments such as the home, the bionic humanoid robot can have sitting and lying positions, in which case the robot is in either a sitting or lying position. In this state, the robot's legs do not provide support and can be manually dragged to the desired position by the user. This state is also called the zero-force dragging state. In the zero-force dragging state, the robot should remain in its current position when not subjected to external force; when subjected to external force, the servo motors of each joint should move to the corresponding position according to the current force.

[0041] The second state can refer to the robot's standing state, which is the standing state of a bionic humanoid robot. When the robot is standing, if it is disturbed by external forces, the forces may cause it to lose its balance. The control unit needs to control the robot to maintain stability as much as possible and restore it to a stable standing posture. At the same time, during the process of the robot restoring a stable standing posture, it may generate a pushing force on the object that applied the external force. The control unit needs to control the force of the robot during the pushing to be moderate, so as not to cause impact or other damage to the object applying the force.

[0042] The third state can refer to the state of the robot when performing an action. Different types of robots may perform different actions depending on actual needs. In this application embodiment, the states of various robots when performing actions can be uniformly classified as the third state.

[0043] Therefore, when an external force acts on the robot, its current state can be determined first. For example, it can be determined whether the robot is in the first, second, or third state as shown in the example above. In this way, the control unit can control the robot to respond to external forces according to different states, ensuring the robot's stability and safety.

[0044] S102. Based on the state, control the target joint of the robot to perform a target motion, the target motion being used to adapt to the influence of the external force in the state, the target motion including at least the motion of the target joint moving to the target position under the action of the external force.

[0045] In this embodiment of the application, when an external force is detected acting on the robot in different states, the control unit can control the robot to perform the corresponding action, thereby avoiding damage to the robot caused by the external force.

[0046] Typically, robots perform specific actions through the action of relevant joints; that is, the control unit controls the robot to perform corresponding actions by controlling the movement of the joints. Therefore, when an external force is detected acting on the robot, the control unit, after determining the robot's current state, can control the target joint of the robot to perform the target movement, thereby responding to the external force.

[0047] The target joints mentioned above can be joints necessary to generate a specific target action. For example, when a bionic humanoid robot is standing, if it is subjected to a dragging external force, in order to respond to the force, the robot's hip joint needs to displace under the action of a joint servo motor and follow the external force to reach a designated position. In this example, the target joint includes the robot's hip joint.

[0048] In this embodiment, the target motion performed by the target joint should at least include the movement of the target joint to the target position under the control of the control unit. Depending on the robot's state, the target position under the influence of external forces can also be different. For example, when the robot is in a first state, such as a sitting or lying position, the target position can be the position that the force-applying party expects the robot to move to, corresponding to the applied external force. When the robot is in a second state, such as a standing position, the target position can be the position that follows the applied external force and returns to the initial state before being affected by the external force, that is, the position the robot was originally in at the initial moment when the external force was applied.

[0049] In this embodiment, by detecting external forces and confirming their application on the robot, the robot's current state in response to the force can be determined. Based on this state, the robot's target joints are controlled to perform target movements, allowing them to adapt to the influence of the external force and move to the target position under its influence. This allows the robot to move strategically according to the target position corresponding to different magnitudes or types of external forces, ensuring that the movement process adapts to the external force, minimizing damage to the robot, and improving its stability and safety when facing external forces.

[0050] Below, we will introduce the process of controlling the target joints of the robot to perform target movements according to the different states of the robot when it is subjected to external forces.

[0051] In one possible implementation of this application embodiment, when the robot is in the first state, if there is an external force acting on the robot, such as Figure 3 As shown, controlling the target joint of the robot to perform the target motion in S102 may specifically include the following steps S1021-S1022:

[0052] S1021. When the robot is in the first state, calculate the joint velocity and joint displacement of the target joint under the influence of the external force.

[0053] S1022. Control the target joint to move to the position corresponding to the joint displacement according to the joint speed.

[0054] In this embodiment, the first state may include the robot being in a sitting or lying position, i.e., the robot being in a sitting or lying position. The robot may include a humanoid robot or other robot capable of sitting or lying down. This state can also be referred to as a zero-force drag state. In the zero-force drag state, the robot should remain in its current position when not subjected to external forces. If affected by external forces, the servo motors of each joint of the robot should move to the corresponding position according to the current force conditions.

[0055] In a sitting or lying position, the robot moves according to the forces applied, which requires the movement of various joints, including the hip joint. Therefore, the target joint in this state includes the hip joint.

[0056] Taking the hip joint as an example, in the x-direction, the model of the robot's interaction with the external environment can be simplified to a mass-spring-damped model, and its dynamic equations can be expressed as:

[0057]

[0058] Where F is the external disturbance force, i.e., the magnitude of the detected external force, M is the mass parameter, D is the damping parameter, and K is the stiffness parameter. real x real This represents the actual velocity and position of the hip joint in the x-direction, v des x des This indicates the desired velocity and position of the hip joint in the x-direction.

[0059] Considering that the robot will not return to its original position after being affected by an external force in a zero-force dragging state, therefore, in the above equation, v des =0, stiffness parameter K=0, the above mass-spring-damping model can be further simplified to:

[0060]

[0061] Therefore, the acceleration of the hip joint under the influence of external force can be calculated using the above formula. for:

[0062]

[0063] Furthermore, the velocity of the hip joint under the influence of external force was calculated. The displacements Δx and Δx are respectively:

[0064]

[0065] Where t is the algorithm control period.

[0066] Therefore, the position x of the hip joint under the influence of external force real_F It can be represented as:

[0067] x real_F =x real +Δx

[0068] When the robot is in its first state, i.e., the zero-force drag state, when the external force F = 0, the robot should remain at its current position, i.e., v. real =0, and Δx = 0 can be calculated using the above formulas, which is consistent with the expected result.

[0069] The models and formulas described above illustrate the specific algorithm used by the robot's control unit to control the target joints to perform target motion when the robot is affected by external forces in its first state. This algorithm represents the specific process of joint admittance compliance control. In the first state, the control unit, through joint admittance compliance control, can control the target joints to perform target motion, thereby controlling the target joints to follow the external force and move to the target position corresponding to that force.

[0070] Based on the above introduction, taking the hip joint as an example, when the robot is in a sitting or lying position, the control unit can use the constructed dynamic equation to calculate the joint acceleration of the hip joint under the influence of external forces. The above dynamic equation can be constructed based on the mass-spring-damping model. When the robot is in a sitting or lying position, the coefficients representing the desired velocity and stiffness in the constructed dynamic equation can both be 0. Then, the joint velocity and joint displacement of the hip joint under the influence of external forces can be calculated based on the joint acceleration.

[0071] After calculating the joint velocity and joint displacement of the target joint under the influence of external force, the control unit can execute S1022 to control the corresponding target joint to move to the position corresponding to the joint displacement according to the calculated joint velocity.

[0072] It should be noted that when the robot is in the first state, the target joint required to respond to external forces may include other joints of the robot in addition to the hip joint, but this application does not limit this.

[0073] In another possible implementation of this application embodiment, when the robot is in the second state, if there is an external force acting on the robot, such as Figure 4As shown, controlling the target joint of the robot to perform the target motion in S102 may specifically include the following steps S1023-S1024:

[0074] S1023. When the robot is in the second state, control the target joint to move in response to the external force.

[0075] S1024. After the external force disappears, control the target joint to push back to the position of the initial state, where the initial state is the state at the moment when the external force initially acts on the robot.

[0076] In this embodiment, the second state may include the state in which the robot is in a standing or standing position, i.e., the robot is in a standing position. When the robot is standing, if it is disturbed by an external force, the external force may cause the robot to lose its balance. At this time, the control of the robot should ensure that the robot can maintain stability as much as possible and return to a stable standing posture, and that if a push occurs during the process, the force should be moderate and will not cause impact or damage to the force-applying party.

[0077] When the robot is in its second state, i.e., standing, the target joint that responds to external forces may also include the hip joint.

[0078] Taking the hip joint as an example, in the x-direction, in order to maintain balance and stability, the robot's control unit records the current position x. des This can be considered the desired position, meaning the robot in the second state should return to its initial position after being subjected to external forces. During this process, hip joint balanced impedance control is used for compliant robot control. Its dynamic model can be equivalent to a mass-spring-damped model, and the corresponding dynamic equations can be expressed as:

[0079]

[0080] Where F is the external disturbance force, i.e., the magnitude of the detected external force, M is the mass parameter, D is the damping parameter, and K is the stiffness parameter. real x real This represents the actual velocity and position of the hip joint in the x-direction, v des x des This indicates the desired velocity and position of the hip joint in the x-direction.

[0081] In order for the robot to remain stable, therefore, in the above equation, v des =0, and the acceleration of the hip joint under the influence of external force can be obtained through calculation. for:

[0082]

[0083] Furthermore, the velocity of the hip joint under the influence of external force was calculated. The displacements Δx and Δx are respectively:

[0084]

[0085] Where t is the algorithm control period.

[0086] Therefore, the position x of the hip joint under the influence of external force real_F It can be represented as:

[0087] x real_F =x real +Δx

[0088] According to the above formula, when the robot is in the second state, i.e. standing state, when an external force is present, the robot joint will be affected by the external force and will produce a corresponding displacement. When the external force disappears, since there is a displacement difference between the robot's current position and the desired position, it should generate an acceleration opposite to the external force, thereby pushing the joint back to its original position, which is consistent with the expected effect.

[0089] The aforementioned models and formulas illustrate the specific algorithm used by the robot's control unit to control the target joints to perform the target motion when the robot is affected by external forces in the second state. This algorithm is specifically the algorithm for the joint balance impedance control process. In the second state, the control unit, through joint balance impedance control, can control the target joints to perform the target motion, thereby controlling the target joints to move in response to the external force. After the external force disappears, by generating acceleration in the opposite direction to the external force, the robot is pushed back to its original position.

[0090] Based on the above description, taking the hip joint as an example again, when the robot is in a standing position, if an external force is detected acting on the robot, the control unit can control the target joint to respond to the external force and move accordingly. After the external force disappears, S1024 is executed to control the target joint to push back to its initial position. The aforementioned initial state is the state at the moment when the external force initially acts on the robot.

[0091] Specifically, the control unit can calculate the joint acceleration of the hip joint when it responds to external force and moves. Then, based on the acceleration that is equal in magnitude and opposite in direction to the joint acceleration, the control unit controls the hip joint movement and pushes it back to its initial position.

[0092] In another possible implementation of this application's embodiments, when the robot is in the third state, if there is an external force acting on the robot, such as Figure 5 As shown, controlling the target joint of the robot to perform the target motion in S102 may specifically include the following steps S1025-S1027:

[0093] S1025. When the robot is in the third state, determine the type of the external force, which includes a continuous external force or an instantaneous external force.

[0094] In this embodiment, the third state can refer to the state of the robot when performing an action. When the robot is in the third state, if an external force is detected acting on the robot, the control unit can first determine whether the external force is a continuous external force or an instantaneous external force. A continuous external force can refer to an external force that exists continuously, such as one that acts on the robot for a duration exceeding a certain threshold. An instantaneous external force can refer to an external force that exists only for a moment, such as the force generated by a collision. Instantaneous external forces typically last for a very short time, and by setting a time threshold, external forces with a duration less than that time threshold can be classified as instantaneous external forces.

[0095] For different types of external forces, the control unit can control the target joints of the robot to take different response methods.

[0096] S1026. When the external force is a continuous external force, control the target joint to follow the displacement of the continuous external force and control the robot to stop at the current position after the continuous external force disappears. The current position is the position at the moment when the continuous external force disappears.

[0097] In one possible implementation of this application, if the external force acting on the robot is a continuous external force, the control unit can determine that the external force is a dragging external force, that is, the external force generated by the force exerted by dragging the robot to move. At this time, the relevant target joint can switch to the admittance compliant zero-force dragging state and continuously perform displacement according to the external force signal.

[0098] Once the external force disappears, the control unit can stop the robot at its current position, which is the position at the moment the continuous external force disappeared.

[0099] S1027. When the external force is an instantaneous external force, control the robot to stop the action performed in the third state and resume the action performed in the third state after the instantaneous external force disappears.

[0100] In another possible implementation of this application, if the external force acting on the robot is an instantaneous force, the control unit can determine that the external force is a collision force, that is, the force generated by the robot colliding with an obstacle in the environment. In this case, the control unit can control the relevant target joint to stop its currently executing action and record the position at the time of stopping. The action currently being executed by the target joint can be the movement or action that the target joint was originally performing when the robot was in the third state.

[0101] Once the external force disappears, the control unit can control the movement of the target joint and resume the action that the robot was performing in the third state.

[0102] In one possible implementation of this application, when the control unit controls the robot to resume performing the actions performed in the third state after the instantaneous external force disappears, it can replan the robot's motion trajectory and control the robot to resume performing the actions performed in the third state along the replanned motion trajectory.

[0103] For example, if the robot's original action was to move along a certain trajectory, and a momentary external force is generated due to the robot colliding with an obstacle in the environment, the control unit can stop the robot and, after the external force disappears, replan the robot's trajectory. Then, the control unit can control the robot to continue moving along the newly planned trajectory. The processes of the control unit controlling the robot to stop and resume movement can both be achieved by controlling the target joints.

[0104] In another possible implementation of this application, after the robot resumes the actions performed in the third state along the planned motion trajectory, if the robot detects an external force acting on it again when it moves to the first position along the motion trajectory, it can be considered that there is an obstacle preventing the robot from continuing to move at the first position. At this time, the control unit can control the robot to stop moving and no longer plan a motion trajectory, but remain stationary near the first position. The aforementioned first position can be the position where the robot first detects an external force acting on it when it is in the third state. For example, the position when the robot collides with an obstacle.

[0105] It should be noted that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0106] To facilitate understanding, a complete example will be used to introduce the robot control method provided in the embodiments of this application.

[0107] like Figure 6 The diagram shown is a schematic representation of a robot control flow according to an embodiment of this application. Figure 6 The control flow shown indicates that when the robot is running, it can be controlled through methods such as... Figure 2 The external force detection process shown detects whether an external force is acting on the robot. If a corresponding external force is detected, the control unit can determine the robot's current state through robot state detection. For example, the first state, second state, or third state in the aforementioned embodiments.

[0108] like Figure 6 As shown, when the robot is in its first state, such as sitting or lying down, the control unit can execute actions such as... Figure 3 The joint admittance compliant control algorithm described in the corresponding embodiment section enables zero-force dragging of the robot. When the robot is in the second state of standing in various postures, the control unit can execute, for example... Figure 4 The joint balance impedance control algorithm described in the corresponding embodiment section enables compliant pushback of the robot. When the robot is in the third state because it is executing motion commands, the control unit can execute actions such as... Figure 5 The collision detection algorithm flow described in the corresponding embodiment section performs collision detection and controls the robot to perform corresponding actions based on the detection results.

[0109] like Figure 7 As shown, it is related to Figure 5 A specific example of the collision detection algorithm flow described in the corresponding implementation section, namely Figure 7 A schematic diagram of a collision detection process provided in an embodiment of this application is shown. According to... Figure 7 The collision detection process shown is performed when the robot executes motion commands, through... Figure 2 The external force detection process shown can determine whether an external force is acting on the robot and the specific type of external force.

[0110] When the external force is a continuous dragging force, the control unit can control the relevant target joints to execute a joint admittance compliant control algorithm, achieving zero-force dragging of the robot, thereby enabling the robot to move to the final position dragged by the external force. When the external force is an instantaneous force, such as the force generated by a collision, the control unit can control the robot to stop moving and record the position at the time of stopping. After the external force disappears, the robot's motion trajectory is replanned, and the robot is controlled to continue executing motion commands along the planned trajectory, such as reaching the desired position along the trajectory. If the robot detects an obstacle obstructing its movement, such as... Figure 7 As shown, the control unit can control the robot to stop related movements or stop the currently performed action, and keep it stationary next to the obstacle.

[0111] This application provides a comprehensive robot control method that includes joint admittance compliance control, joint balance impedance control, and collision detection algorithms for biomimetic humanoid robots. When the robot is subjected to external forces, relevant algorithms are used to achieve joint compliance control, and a feedback-based adaptive adjustment strategy is adopted to ensure the robot's compliant, safe, and stable performance.

[0112] Reference Figure 8The diagram illustrates a robot control device according to an embodiment of this application, which may specifically include a determining module 801 and a control module 802, wherein:

[0113] The determination module 801 is used to determine the state of the robot in response to the external force when there is an external force acting on the robot;

[0114] The control module 802 is used to control the target joint of the robot to perform a target motion based on the state. The target motion is used to adapt to the influence of the external force in the state. The target motion includes at least the motion of the target joint moving to a target position under the action of the external force.

[0115] In one possible implementation of this application embodiment, the state may include a first state; the control module 802 may specifically be used for:

[0116] When the robot is in the first state, calculate the joint velocity and joint displacement of the target joint under the influence of the external force;

[0117] Control the target joint to move to a position corresponding to the joint displacement according to the joint speed.

[0118] In this embodiment, the first state may include a sitting or lying position, and the target joint includes the hip joint; the control module 802 may specifically be used for:

[0119] When the robot is in a sitting or lying position, the joint acceleration of the hip joint under the influence of the external force is calculated using the constructed dynamic equation. The dynamic equation is constructed based on the mass-spring-damping model. When the robot is in a sitting or lying position, the coefficients characterizing the desired velocity and stiffness in the dynamic equation are both 0.

[0120] Based on the joint acceleration, calculate the joint velocity and joint displacement of the hip joint under the influence of the external force.

[0121] In another possible implementation of this application embodiment, the state may further include a second state; the control module 802 may specifically be used for:

[0122] When the robot is in the second state, the target joint is controlled to move in response to the external force;

[0123] When the external force disappears, the target joint is controlled to push back to its initial position, which is the state at the moment when the external force initially acted on the robot.

[0124] In this embodiment, the second state may include a standing state, and the target joint includes the hip joint; the control module 802 may specifically be used for:

[0125] When the robot is in a standing position, calculate the joint acceleration of the hip joint when it moves in response to the external force.

[0126] Based on an acceleration that is equal in magnitude and opposite in direction to the joint acceleration, the hip joint is controlled to move and return to the position of the initial state.

[0127] In another possible implementation of this application embodiment, the state may further include a third state; the control module 802 may specifically be used for:

[0128] When the robot is in the third state, the type of the external force is determined, including either a continuous external force or an instantaneous external force;

[0129] When the external force is a continuous external force, the target joint is controlled to follow the displacement of the continuous external force, and after the continuous external force disappears, the robot is controlled to stop at the current position, which is the position at the moment when the continuous external force disappears;

[0130] When the external force is instantaneous, the robot is controlled to stop the action performed in the third state and resume the action performed in the third state after the instantaneous external force disappears.

[0131] In this embodiment of the application, the control module 802 can also be used for:

[0132] After the instantaneous external force disappears, the motion trajectory is replanned;

[0133] Control the robot to resume the action performed in the third state along the motion trajectory.

[0134] In this embodiment of the application, the control module 802 can also be used for:

[0135] When the robot moves along the motion trajectory to the first position and an external force is detected on the robot again, the robot is controlled to stop moving. The first position is the position when the robot first detects an external force when it is in the third state.

[0136] In this embodiment of the application, the device may further include an external force detection module, which may be specifically used for:

[0137] The robot's joint positions and sensor data are monitored in real time. The sensor data includes joint attitude angles detected by an inertial measurement unit and joint torques detected by a force sensor.

[0138] The joint torque of the robot is calculated based on the joint position and the joint attitude angle.

[0139] When the difference between the calculated joint torque and the joint torque detected by the force sensor is greater than a preset value, it is determined that there is an external force acting on the robot.

[0140] This application provides a robot control device, which can be a robot control unit or a module within the control unit capable of implementing the steps and other functions described in the foregoing method embodiments. Using this device, the steps described in the foregoing method embodiments can be implemented.

[0141] As the apparatus embodiments are basically similar to the method embodiments, they are described in a relatively simple manner. For relevant details, please refer to the description in the method embodiment section.

[0142] Reference Figure 9 The diagram illustrates a structural schematic of a robot according to an embodiment of this application. Figure 9 As shown, the robot 900 in this embodiment includes: a processor 910, a memory 920, and a computer program 921 stored in the memory 920 and executable on the processor 910. When the processor 910 executes the computer program 921, it implements the steps in the various embodiments of the robot control method described above, for example... Figure 1 Steps S101 to S102 are shown. Alternatively, when the processor 910 executes the computer program 921, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 8 The functions of modules 801 to 802 are shown.

[0143] For example, the computer program 921 can be divided into one or more modules / units, which are stored in the memory 920 and executed by the processor 910 to complete this application. The one or more modules / units can be a series of computer program instruction segments capable of performing specific functions, which can be used to describe the execution process of the computer program 921 in the robot 900. For example, the computer program 921 can be divided into a determination module and a control module, with the specific functions of each module as follows:

[0144] A determination module is used to determine the state of the robot in response to an external force when such force is applied to the robot.

[0145] A control module is configured to control the target joint of the robot to perform a target motion based on the state, the target motion being used to adapt to the influence of the external force in the state, and the target motion including at least the motion of the target joint moving to a target position under the action of the external force.

[0146] The robot 900 may be a biomimetic humanoid robot or a humanoid robot as described in the foregoing embodiments, and the robot 900 may implement the steps in the foregoing method embodiments. The robot 900 may include, but is not limited to, a processor 910 and a memory 920. Those skilled in the art will understand that... Figure 9 This is merely one example of robot 900 and does not constitute a limitation on robot 900. It may include more or fewer parts than shown, or combine certain parts, or different parts. For example, robot 900 may also include input / output devices, network access devices, buses, etc.

[0147] The processor 910 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0148] The memory 920 can be an internal storage unit of the robot 900, such as the robot 900's hard drive or memory. The memory 920 can also be an external storage device of the robot 900, such as a plug-in hard drive, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, etc., equipped on the robot 900. Furthermore, the memory 920 can include both internal and external storage units of the robot 900. The memory 920 is used to store the computer program 921 and other programs and data required by the robot 900. The memory 920 can also be used to temporarily store data that has been output or will be output.

[0149] This application also discloses a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the methods described in the foregoing embodiments to control the robot.

[0150] This application also discloses a computer-readable storage medium storing a computer program. When the computer program is executed by a computer, it implements the methods described in the foregoing embodiments to control the robot.

[0151] This application also discloses a computer program product, including a computer program that, when run on a computer, causes the computer to execute the methods described in the foregoing embodiments to control the robot.

[0152] The embodiments described above are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A robot control method characterized by, Comprising: determining a state of the robot when an external force acting on the robot is present, the robot responding to the external force; controlling a target joint of the robot to perform a target motion based on the state, the target motion being for adapting to an influence of the external force in the state, the target motion at least including a motion of the target joint moving to a target position under the influence of the external force; wherein the state includes a first state, the first state including a sitting state or a lying state, the target joint including a hip joint; the controlling the target joint of the robot to perform a target motion based on the state includes: when the robot is in the sitting state or the lying state, calculating a joint acceleration of the hip joint under the influence of the external force using a constructed dynamic equation, the dynamic equation being constructed based on a mass-spring-damper model, coefficients representing a desired velocity and a stiffness in the dynamic equation being both 0 when the robot is in the sitting state or the lying state; calculating a joint velocity and a joint displacement of the hip joint under the influence of the external force according to the joint acceleration.

2. The method of claim 1, wherein, the state includes a second state; the controlling the target joint of the robot to perform a target motion based on the state includes: when the robot is in the second state, controlling the target joint to displace in response to the external force; when the external force disappears, controlling the target joint to push back to a position in an initial state, the initial state being a state at a time when the external force initially acts on the robot.

3. The method of claim 2, wherein, the second state includes a standing state, the target joint including a hip joint; the controlling the target joint to push back to a position in the initial state includes: when the robot is in the standing state, calculating a joint acceleration of the hip joint when displacing in response to the external force; controlling the hip joint to move and push back to the position in the initial state based on an acceleration equal in magnitude and opposite in direction to the joint acceleration.

4. The method of claim 1, wherein, the state includes a third state; the controlling the target joint of the robot to perform a target motion based on the state includes: when the robot is in the third state, determining a type of the external force, the type including a sustained external force or an instantaneous external force; when the external force is the sustained external force, controlling the target joint to displace following the sustained external force and to stop at a current position after the sustained external force disappears, the current position being a position at a time when the sustained external force disappears; when the external force is the instantaneous external force, controlling the robot to stop performing an action performed in the third state and to resume performing the action performed in the third state after the instantaneous external force disappears.

5. The method of claim 4, wherein, the resuming performing the action performed in the third state after the instantaneous external force disappears includes: replanning a motion trajectory after the instantaneous external force disappears; controlling the robot to resume performing the action performed in the third state along the motion trajectory.

6. The method of claim 5, wherein, after the controlling the robot to resume performing the action performed in the third state along the motion trajectory, further comprising: when the robot is moving along the motion trajectory to a first position, the first position being the position when the external force acting on the robot is detected for the first time when the robot is in the third state, and the external force acting on the robot is detected again.

7. The method according to any one of claims 1 to 6, characterized in that, before determining the state of the robot in response to the external force, further comprising: monitoring the joint position and sensor data of the robot in real time, the sensor data including joint attitude angles detected by an inertial measurement unit and joint torques detected by a force sensor; solving the joint torques of the robot according to the joint position and the joint attitude angles; when the difference between the solved joint torques and the joint torques detected by the force sensor is greater than a preset value, determining that there is an external force acting on the robot.

8. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, when the processor executes the computer program, causing the robot to implement the method of any one of claims 1 to 7.

9. A computer program product comprising a computer program, characterized in that, when the computer program is running, causing the method of any one of claims 1 to 7 to be executed.

Citation Information

Patent Citations

  • Power-assisted robot trajectory tracking control method, system, equipment and medium

    CN117647985A

  • Walking robot and control method thereof

    US20120165987A1